/* =========================================================
   FORT PATIALA MARRIAGE PALACE — STYLESHEET
   Aesthetic: Royal Rajasthani/Punjabi fort — brick red arches,
   gold ornament, deep maroon, warm cream. Serif display type
   evokes carved stone signage; clean sans body for legibility.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cinzel+Decorative:wght@700;900&family=Jost:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root{
  --maroon-950:#2a0f0c;
  --maroon-900:#3a1310;
  --brick-800:#7c2f22;
  --brick-700:#9c3d29;
  --brick-600:#b54c33;
  --terracotta-500:#c76a45;
  --gold-300:#e8cf9a;
  --gold-400:#d4af6a;
  --gold-500:#c19a4e;
  --gold-600:#a37e37;
  --cream-50:#fdf9f2;
  --cream-100:#faf2e3;
  --cream-200:#f3e6cd;
  --ink-900:#2a1a13;
  --ink-700:#4a3527;
  --shadow-brick: 0 20px 50px -20px rgba(58,19,16,.55);
  --radius-arch: 200px 200px 12px 12px;
  --ease: cubic-bezier(.22,.9,.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  font-family:'Jost', sans-serif;
  color:var(--ink-900);
  background:var(--cream-50);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.container{width:min(1180px, 92%);margin-inline:auto;}

h1,h2,h3,h4{
  font-family:'Cinzel', serif;
  font-weight:600;
  color:var(--maroon-900);
  line-height:1.15;
}
.eyebrow{
  font-family:'Cinzel', serif;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--gold-600);
  display:inline-flex;
  align-items:center;
  gap:.6em;
  margin-bottom:1rem;
}
.eyebrow::before,.eyebrow::after{content:"";width:28px;height:1px;background:var(--gold-500);}

/* ---------- decorative jaali / brick texture ---------- */
.texture-brick{
  background-color:var(--brick-700);
  background-image:
    linear-gradient(rgba(42,15,12,.35), rgba(42,15,12,.55)),
    repeating-linear-gradient(0deg, rgba(0,0,0,.08) 0 2px, transparent 2px 34px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.06) 0 2px, transparent 2px 68px);
}
.jaali-divider{
  height:34px;
  background-image: repeating-linear-gradient(45deg, transparent 0 8px, rgba(196,146,66,.35) 8px 9px),
                     repeating-linear-gradient(-45deg, transparent 0 8px, rgba(196,146,66,.35) 8px 9px);
  background-size: 22px 22px;
  opacity:.7;
}

/* ---------- topbar ---------- */
.topbar{
  background:var(--maroon-950);
  color:var(--gold-300);
  font-size:.8rem;
  letter-spacing:.02em;
}
.topbar .container{
  display:flex;justify-content:space-between;align-items:center;
  padding:.5rem 0;flex-wrap:wrap;gap:.4rem;
}
.topbar a{transition:color .2s;}
.topbar a:hover{color:#fff;}
.topbar .tb-left{display:flex;gap:1.4rem;flex-wrap:wrap;}
.topbar .tb-left span{opacity:.65;margin-right:.35em;}
.topbar .tb-right{display:flex;gap:1rem;align-items:center;}
.topbar .tb-right a{
  width:28px;height:28px;border:1px solid rgba(232,207,154,.4);border-radius:50%;
  display:grid;place-items:center;
}
.topbar .tb-right a:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--maroon-950);}
@media (max-width:640px){
  .topbar{font-size:.72rem;}
  .topbar .tb-left{gap:.5rem 1rem;}
  .topbar .container{padding:.45rem 0;}
}
@media (max-width:420px){
  .topbar .tb-left span:nth-child(3){display:none;} /* hide office number on very small phones, still in footer */
}

/* ---------- main nav ---------- */
.site-header{position:sticky;top:0;z-index:1000;}
.navbar{
  background:linear-gradient(180deg, var(--maroon-900), var(--maroon-950));
  border-bottom:1px solid rgba(212,175,106,.25);
}
.navbar .container{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;}
.brand{display:flex;align-items:center;gap:.7rem;}
.brand .crest{
  width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--gold-300), var(--gold-600) 70%);
  display:grid;place-items:center;color:var(--maroon-950);font-family:'Cinzel Decorative';font-weight:900;
  box-shadow:0 0 0 3px rgba(212,175,106,.25);
  flex-shrink:0;
}
.brand-text h1{font-size:1.1rem;color:var(--cream-100);letter-spacing:.04em;}
.brand-text span{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-400);margin-top:.15rem;}

.nav-links{display:flex;align-items:center;gap:2.1rem;}
.nav-links a{
  font-family:'Cinzel', serif;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--cream-200);position:relative;padding:.3rem 0;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold-400);
  transition:width .3s var(--ease);
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--gold-300);}
.nav-cta{
  background:linear-gradient(135deg, var(--gold-400), var(--gold-600));
  color:var(--maroon-950)!important;padding:.6rem 1.3rem;border-radius:30px;
  font-weight:600;box-shadow:0 8px 20px -8px rgba(212,175,106,.6);
}
.nav-cta::after{display:none;}
.nav-cta:hover{filter:brightness(1.08);}

.nav-toggle{display:none;flex-direction:column;gap:5px;width:30px;}
.nav-toggle span{height:2px;background:var(--gold-300);border-radius:2px;}

@media (max-width:900px){
  .nav-toggle{display:flex;}
  .nav-links{
    position:fixed;inset:0 0 0 auto;height:100vh;width:min(78%,320px);
    background:var(--maroon-950);flex-direction:column;align-items:flex-start;
    padding:5.5rem 2rem 2rem;gap:1.6rem;transform:translateX(100%);
    transition:transform .4s var(--ease);border-left:1px solid rgba(212,175,106,.25);
  }
  .nav-links.open{transform:translateX(0);}
  .nav-cta{margin-top:.5rem;}
}

/* ---------- hero slider ---------- */
.hero{position:relative;height:92vh;min-height:560px;max-height:900px;overflow:hidden;background:var(--maroon-950);}
@supports (height: 100svh){ .hero{height:92svh;} }
.hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.4s var(--ease);
  background-size:cover;background-position:center;
}
.hero-slide.active{opacity:1;}
.hero-slide::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,8,6,.35) 0%, rgba(20,8,6,.35) 45%, rgba(20,8,6,.88) 100%);
}
.hero-content{
  position:relative;z-index:3;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;color:var(--cream-100);padding:0 1.2rem;
}
.hero-content .eyebrow{color:var(--gold-300);}
.hero-content .eyebrow::before,.hero-content .eyebrow::after{background:var(--gold-300);}
.hero-content h1{
  font-size:clamp(2.1rem, 6vw, 4.6rem);color:#fff;text-shadow:0 8px 30px rgba(0,0,0,.5);
  max-width:16ch;

}
.hero-content h1 em{
  font-style:normal;color:var(--gold-300);
}
.hero-content p{max-width:52ch;margin:1.2rem auto 2rem;font-size:1.08rem;color:var(--cream-200);}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;}

.btn{
  display:inline-flex;align-items:center;gap:.5em;padding:.9rem 1.9rem;border-radius:2px;
  font-family:'Cinzel',serif;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s;
}
.btn-gold{background:linear-gradient(135deg, var(--gold-400), var(--gold-600));color:var(--maroon-950);box-shadow:0 12px 26px -10px rgba(212,175,106,.7);}
.btn-gold:hover{transform:translateY(-3px);}
.btn-outline{border:1.5px solid var(--gold-300);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.08);transform:translateY(-3px);}
.btn-maroon{background:var(--maroon-900);color:var(--gold-300);}
.btn-maroon:hover{background:var(--maroon-950);transform:translateY(-3px);}

.hero-dots{position:absolute;z-index:4;bottom:34px;left:50%;transform:translateX(-50%);display:flex;gap:.6rem;}
.hero-dots button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);transition:all .3s;}
.hero-dots button.active{background:var(--gold-400);width:26px;border-radius:5px;}
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;
  border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;display:grid;place-items:center;
  transition:all .25s;
}
.hero-arrow:hover{background:var(--gold-400);border-color:var(--gold-400);color:var(--maroon-950);}
.hero-arrow.prev{left:24px;}
.hero-arrow.next{right:24px;}
@media (max-width:700px){.hero-arrow{display:none;}}

/* ---------- section basics ---------- */
section{padding:5.5rem 0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 3rem;}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);}
.section-head p{color:var(--ink-700);margin-top:.8rem;}
.bg-cream{background:var(--cream-100);}
.bg-maroon{background:var(--maroon-950);color:var(--cream-200);}
.bg-maroon h2, .bg-maroon .eyebrow{color:var(--gold-300);}
.bg-maroon .eyebrow::before,.bg-maroon .eyebrow::after{background:var(--gold-500);}

/* ---------- about/intro split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:2rem;}}
.split-media{position:relative;}
.split-media .frame{
  position:relative;border-radius:var(--radius-arch);overflow:hidden;box-shadow:var(--shadow-brick);
  border:6px solid var(--cream-50);outline:2px solid var(--gold-500);outline-offset:-2px;
}
.split-media .frame img{aspect-ratio:4/5;object-fit:cover;}
.split-media .badge{
  position:absolute;bottom:-24px;right:-18px;background:var(--maroon-950);color:var(--gold-300);
  padding:1.1rem 1.4rem;border-radius:14px;box-shadow:0 20px 40px -16px rgba(0,0,0,.5);
  border:1px solid rgba(212,175,106,.4);text-align:center;min-width:120px;
}
@media (max-width:480px){
  .split-media .badge{right:8px;bottom:-18px;padding:.8rem 1.1rem;min-width:100px;}
}
.split-media .badge strong{display:block;font-family:'Cinzel',serif;font-size:1.6rem;color:var(--gold-300);}
.split-media .badge span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85;}
.split-body p{color:var(--ink-700);margin-bottom:1rem;}
.split-body .checklist{margin-top:1.4rem;display:grid;gap:.7rem;}
.split-body .checklist li{display:flex;gap:.7rem;align-items:flex-start;color:var(--ink-900);}
.split-body .checklist svg{flex-shrink:0;margin-top:.2rem;color:var(--gold-600);}

/* ---------- feature/amenity grid ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
@media (max-width:980px){.feature-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.feature-grid{grid-template-columns:1fr;}}
.feature-card{
  background:var(--cream-50);border:1px solid var(--cream-200);border-radius:14px;padding:2rem 1.6rem;
  text-align:center;transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.feature-card:hover{transform:translateY(-8px);box-shadow:0 24px 40px -22px rgba(58,19,16,.35);border-color:var(--gold-400);}
.feature-card .icon{
  width:64px;height:64px;margin:0 auto 1.1rem;border-radius:50%;
  background:linear-gradient(135deg, var(--brick-600), var(--brick-800));
  display:grid;place-items:center;color:var(--gold-300);
}
.feature-card h3{font-size:1.02rem;margin-bottom:.5rem;}
.feature-card p{font-size:.9rem;color:var(--ink-700);}

/* ---------- gallery ---------- */
.gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;
}
.gallery-grid a{
  position:relative;overflow:hidden;border-radius:8px;aspect-ratio:1/1;display:block;
}
.gallery-grid a img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.gallery-grid a:hover img{transform:scale(1.12);}
.gallery-grid a::after{
  content:"\002B";content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(42,15,12,.7), transparent 55%);
  opacity:0;transition:opacity .35s;
}
.gallery-grid a:hover::after{opacity:1;}
.gallery-grid a .zoom-tag{
  position:absolute;bottom:12px;left:12px;color:#fff;font-family:'Cinzel',serif;font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translateY(8px);
  transition:all .35s;z-index:2;
}
.gallery-grid a:hover .zoom-tag{opacity:1;transform:translateY(0);}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

.masonry{columns:4 220px;column-gap:.9rem;}
.masonry a{display:block;margin-bottom:.9rem;break-inside:avoid;border-radius:8px;overflow:hidden;position:relative;}
.masonry a img{width:100%;transition:transform .6s var(--ease);}
.masonry a:hover img{transform:scale(1.08);}

/* lightbox */
.lightbox{
  position:fixed;inset:0;background:rgba(20,8,6,.94);z-index:2000;display:none;
  align-items:center;justify-content:center;padding:2rem;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:82vh;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.lightbox .lb-close, .lightbox .lb-nav{
  position:absolute;color:var(--gold-300);width:48px;height:48px;border:1px solid rgba(212,175,106,.4);
  border-radius:50%;display:grid;place-items:center;transition:all .25s;
}
.lightbox .lb-close:hover, .lightbox .lb-nav:hover{background:var(--gold-400);color:var(--maroon-950);}
.lightbox .lb-close{top:24px;right:24px;}
.lightbox .lb-nav.prev{left:24px;top:50%;transform:translateY(-50%);}
.lightbox .lb-nav.next{right:24px;top:50%;transform:translateY(-50%);}

/* ---------- CTA banner ---------- */
.cta-banner{
  position:relative;padding:4.5rem 0;text-align:center;color:#fff;overflow:hidden;
}
.cta-banner h2{color:#fff;font-size:clamp(1.6rem,3.6vw,2.4rem);}
.cta-banner p{max-width:52ch;margin:1rem auto 2rem;color:var(--cream-200);}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ---------- testimonial / quote ---------- */
.quote-block{max-width:820px;margin:0 auto;text-align:center;}
.quote-block .mark{font-family:'Cinzel Decorative';font-size:3.4rem;color:var(--gold-500);line-height:.5;display:block;margin-bottom:1rem;}
.quote-block p{font-size:1.25rem;color:var(--cream-100);font-style:italic;}
.quote-block .who{margin-top:1.4rem;font-family:'Cinzel',serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-400);}

/* ---------- info/contact cards ---------- */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media (max-width:860px){.info-grid{grid-template-columns:1fr;}}
.info-card{
  background:var(--cream-50);border:1px solid var(--cream-200);border-radius:14px;padding:1.8rem;
  display:flex;gap:1.1rem;align-items:flex-start;
}
.info-card .icon{
  width:48px;height:48px;border-radius:50%;background:var(--maroon-950);color:var(--gold-300);
  display:grid;place-items:center;flex-shrink:0;
}
.info-card h3{font-size:1rem;margin-bottom:.3rem;}
.info-card p, .info-card a{color:var(--ink-700);font-size:.94rem;}
.info-card a:hover{color:var(--brick-700);}

/* ---------- forms ---------- */
.form-wrap{
  background:var(--cream-50);border:1px solid var(--cream-200);border-radius:20px;
  padding:2.6rem;box-shadow:0 30px 60px -30px rgba(58,19,16,.3);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
@media (max-width:640px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:.4rem;}
.field.full{grid-column:1/-1;}
.field label{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-700);font-family:'Cinzel',serif;}
.field input, .field select, .field textarea{
  border:1.5px solid var(--cream-200);background:#fff;border-radius:8px;padding:.8rem 1rem;
  font-family:'Jost',sans-serif;font-size:.96rem;color:var(--ink-900);transition:border-color .25s;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--gold-500);}
.field textarea{resize:vertical;min-height:120px;}
.form-submit{margin-top:1.6rem;display:flex;justify-content:center;}
.form-note{margin-top:1rem;text-align:center;font-size:.85rem;color:var(--ink-700);}
.alert{padding:1rem 1.2rem;border-radius:10px;margin-bottom:1.6rem;font-size:.92rem;}
.alert-success{background:#e7f3e6;color:#2c5f2d;border:1px solid #bfe0bd;}
.alert-error{background:#fbe9e7;color:#8a2f1f;border:1px solid #f2c4bb;}

/* ---------- map ---------- */
.map-wrap{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-brick);border:6px solid var(--cream-50);outline:2px solid var(--gold-500);outline-offset:-2px;}
.map-wrap iframe{width:100%;height:420px;border:0;display:block;}

/* ---------- footer ---------- */
.site-footer{background:var(--maroon-950);color:var(--cream-200);padding-top:4rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:3rem;}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{font-family:'Cinzel',serif;color:var(--gold-300);font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.1rem;}
.footer-brand p{color:var(--cream-200);opacity:.75;margin-top:.9rem;font-size:.92rem;max-width:32ch;}
.footer-grid ul li{margin-bottom:.65rem;font-size:.92rem;opacity:.85;}
.footer-grid ul li a:hover{color:var(--gold-300);}
.footer-social{display:flex;gap:.7rem;margin-top:1.1rem;}
.footer-social a{
  width:38px;height:38px;border:1px solid rgba(212,175,106,.35);border-radius:50%;
  display:grid;place-items:center;transition:all .25s;
}
.footer-social a:hover{background:var(--gold-400);color:var(--maroon-950);}
.footer-bottom{
  border-top:1px solid rgba(212,175,106,.18);padding:1.4rem 0;text-align:center;
  font-size:.82rem;opacity:.7;
}

/* ---------- page hero (inner pages) ---------- */
.page-hero{
  position:relative;padding:8rem 0 5rem;text-align:center;color:#fff;background-size:cover;background-position:center;
}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(42,15,12,.55), rgba(42,15,12,.9));}
.page-hero .container{position:relative;z-index:2;}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem);}
.breadcrumb{margin-top:.8rem;font-size:.85rem;color:var(--gold-300);letter-spacing:.05em;}
.breadcrumb a:hover{text-decoration:underline;}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* ---------- floating whatsapp/call buttons ---------- */
.float-actions{position:fixed;right:20px;bottom:20px;z-index:900;display:flex;flex-direction:column;gap:.7rem;}
.float-actions a{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.5);transition:transform .25s;
}
.float-actions a:hover{transform:scale(1.08);}
.float-actions .fa-call{background:var(--maroon-900);}
.float-actions .fa-wa{background:#25d366;}

/* misc */
.tag-row{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:1rem;}
.tag-pill{
  border:1px solid var(--gold-500);color:var(--gold-600);padding:.35rem .9rem;border-radius:20px;
  font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;font-family:'Cinzel',serif;
}
.bg-maroon .tag-pill{color:var(--gold-300);border-color:rgba(212,175,106,.45);}
