/*
Theme Name: Wild Adventure Ranthambore
Theme URI: https://www.wildadventureranthambore.com
Author: Wild Adventure Ranthambore
Author URI: https://www.wildadventureranthambore.com
Description: Custom safari-tourism theme for Wild Adventure Ranthambore — tiger safari booking, blog, testimonials and a quick-enquiry system built in.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: war
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ============================================================
   WILD ADVENTURE RANTHAMBORE — Design System v4 (WordPress)
   Palette sampled from the brand logo:
     Marigold #E39E1E   Jade #3F8A63   Near-black #0B0F09
   Display : Anton (hero poster headline) + Archivo (section headings)
   Body    : Mulish
   Utility : IBM Plex Mono (permit numbers, eyebrows, ledger data)
   ============================================================ */

:root{
  --ink:#0b0f09;
  --bg2:#151b10;
  --bg3:#1e2617;
  --forest:#25402f;
  --forest-light:#345a41;
  --khaki:#e9e2cc;
  --bone:#f6efe0;
  --marigold:#e39e1e;
  --marigold-light:#f3ba4d;
  --marigold-dark:#b87d12;
  --jade:#3f8a63;
  --jade-light:#5cb384;
  --jade-dark:#2b6247;
  --rust:#c4551f;
  --border: rgba(246,239,224,0.10);
  --border-o: rgba(227,158,30,0.35);
  --border-j: rgba(63,138,99,0.40);
  --text: #f1e9d8;
  --text-muted: #a4a08c;
  --shadow: 0 20px 50px -18px rgba(0,0,0,.6);
  --shadow-o: 0 0 44px rgba(227,158,30,.16);
  --shadow-j: 0 0 44px rgba(63,138,99,.20);
  --radius: 16px;
  --cut: 22px;
  --ff-poster:'Anton', sans-serif;
  --ff-h:'Archivo', sans-serif;
  --ff-b:'Mulish', sans-serif;
  --ff-m:'IBM Plex Mono', monospace;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
}
body{
  margin:0;
  font-family:var(--ff-b);
  color:var(--text);
  background:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:var(--ff-h);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.01em;
  margin:0 0 .5em;
  color:#fff;
}
p{margin:0 0 1em;}
.container{max-width:1200px;margin:0 auto;padding:0 28px;}
.container--narrow{max-width:820px;}
::selection{background:var(--marigold);color:var(--ink);}
:focus-visible{outline:2px solid var(--marigold);outline-offset:3px;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:var(--marigold);border-radius:3px;}

/* ---------- Fade-up scroll reveal ---------- */
.fu{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);}
.fu.vis{opacity:1;transform:translateY(0);}
.fu.d1{transition-delay:.08s;} .fu.d2{transition-delay:.16s;} .fu.d3{transition-delay:.24s;} .fu.d4{transition-delay:.32s;}

/* ---------- Eyebrow ---------- */
.eyebrow{
  font-family:var(--ff-m);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--marigold);
  display:inline-flex;align-items:center;gap:.7em;margin-bottom:1em;
  background:rgba(227,158,30,.08);border:1px solid var(--border-o);padding:.5em 1em;border-radius:999px;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--marigold);animation:blink 1.6s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.25;}}
.section-head p{color:var(--text-muted);font-size:1.05rem;}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--ff-m);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.7em;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.btn-primary{background:var(--marigold);color:var(--ink);font-weight:700;}
.btn-primary:hover{background:var(--marigold-light);transform:translateY(-3px);box-shadow:0 14px 34px rgba(227,158,30,.35);}
.btn-outline{border-color:var(--border-o);color:var(--marigold);background:rgba(227,158,30,.06);}
.btn-outline:hover{background:rgba(227,158,30,.14);border-color:var(--marigold);transform:translateY(-3px);}
.btn-outline-dark{border-color:var(--border);color:var(--text);}
.btn-outline-dark:hover{background:rgba(255,255,255,.06);border-color:var(--bone);transform:translateY(-3px);}
.btn-block{width:100%;justify-content:center;}
.btn-small{padding:.7em 1.3em;font-size:.7rem;}

/* ---------- Top notice bar ---------- */
.notice-bar{background:var(--bg2);color:var(--khaki);font-family:var(--ff-m);font-size:.72rem;letter-spacing:.05em;text-align:center;padding:.6em 1em;border-bottom:1px solid var(--border);}
.notice-bar a{color:var(--marigold);font-weight:600;}

/* ---------- Nav ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(15,10,5,.7);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:all .3s ease;}
.site-header.scrolled{background:rgba(15,10,5,.96);border-bottom-color:var(--border);box-shadow:0 10px 30px rgba(0,0,0,.4);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;max-width:1200px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:.7em;}
.brand img{height:46px;width:auto;}
.nav-links{display:flex;gap:1.8em;align-items:center;font-size:.92rem;}
.nav-links a{position:relative;padding:.3em 0;color:rgba(241,233,216,.82);transition:color .2s;}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--marigold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.nav-links a:hover{color:#fff;}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-links a.active{color:var(--marigold);}
.nav-cta{display:flex;align-items:center;gap:1.2em;}
.nav-phone{font-family:var(--ff-m);font-size:.82rem;display:none;color:var(--text-muted);}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:8px;cursor:pointer;padding:8px 10px;}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--bone);margin:4px 0;}
@media(min-width:860px){.nav-phone{display:inline;}}
@media(max-width:960px){
  .nav-links{position:fixed;top:64px;left:0;right:0;background:var(--bg2);flex-direction:column;padding:1.5em 28px;gap:1em;border-bottom:1px solid var(--border);transform:translateY(-140%);transition:transform .3s ease;box-shadow:0 20px 40px rgba(0,0,0,.5);}
  .nav-links.open{transform:translateY(0);}
  .nav-toggle{display:block;}
  .nav-links .btn{width:100%;justify-content:center;}
}
body{padding-top:70px;}

/* ---------- Hero / Banner v4 — full-bleed poster style with diagonal cut ---------- */
.hero{
  position:relative;min-height:94vh;display:flex;align-items:center;justify-content:center;text-align:center;
  overflow:hidden;padding:150px 0 110px;
  clip-path:polygon(0 0, 100% 0, 100% 92%, 0 100%);
}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 20%, rgba(227,158,30,.14) 0%, transparent 60%),
    linear-gradient(180deg, rgba(11,15,9,.55) 0%, rgba(11,15,9,.7) 40%, rgba(11,15,9,.97) 100%);
}
.hero-grid{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse at 50% 30%, black 25%, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 30%, black 25%, transparent 70%);
}
.hero-inner{position:relative;z-index:2;padding:0 28px;max-width:900px;margin:0 auto;width:100%;}
.hero h1{
  font-family:var(--ff-poster);font-weight:400;text-transform:uppercase;
  font-size:clamp(2.6rem,7vw,5.4rem);line-height:1.0;letter-spacing:.01em;color:var(--bone);margin-bottom:.4em;
}
.hero h1 .typed{color:var(--marigold);display:block;}
.hero-sub{font-size:1.15rem;max-width:52ch;color:var(--text-muted);margin:0 auto 1.8em;}
.hero-actions{display:flex;gap:1em;flex-wrap:wrap;justify-content:center;margin-bottom:0;}
.ledger{display:flex;flex-wrap:wrap;justify-content:center;gap:0;border-top:1px solid var(--border);margin-top:3em;padding-top:2em;max-width:720px;margin-left:auto;margin-right:auto;}
.ledger-item{flex:1 1 150px;padding:0 1.6em;border-right:1px solid var(--border);}
.ledger-item:last-child{border-right:none;}
.ledger-num{font-family:var(--ff-poster);font-weight:400;font-size:2.1rem;color:var(--marigold);display:block;}
.ledger-label{font-family:var(--ff-m);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);}

.page-hero{
  position:relative;min-height:48vh;display:flex;align-items:flex-end;overflow:hidden;padding:150px 0 60px;
  clip-path:polygon(0 0, 100% 0, 100% 94%, 0 100%);
}
.page-hero .hero-bg,.page-hero .hero-grid{position:absolute;inset:0;}
.page-hero .hero-bg{background-size:cover;background-position:center;}
.page-hero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(11,15,9,.4) 0%, rgba(11,15,9,.75) 60%, rgba(11,15,9,.97) 100%);}
.page-hero .hero-inner{position:relative;z-index:2;padding:0 28px;max-width:1200px;margin:0 auto;width:100%;text-align:left;}
.page-hero h1{font-family:var(--ff-poster);font-weight:400;text-transform:uppercase;font-size:clamp(2.2rem,5vw,3.6rem);color:var(--bone);}

/* hero visual card + floating badges (used on some page templates) */
.hero-visual{position:relative;padding:24px;}
.hero-card-main{border-radius:20px;overflow:hidden;border:1px solid var(--border-o);box-shadow:var(--shadow-o), var(--shadow);position:relative;}
.hero-card-main img{height:460px;object-fit:cover;width:100%;}
.float-badge{position:absolute;background:rgba(26,19,10,.9);backdrop-filter:blur(10px);border:1px solid var(--border-o);border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600;box-shadow:var(--shadow-o), var(--shadow);animation:floaty 4.5s ease-in-out infinite;z-index:3;color:var(--bone);}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.fb-a{top:-18px;right:14px;animation-delay:.3s;} .fb-b{bottom:-16px;left:-14px;animation-delay:1.1s;}
.fb-ico{width:32px;height:32px;border-radius:9px;background:rgba(227,158,30,.16);display:flex;align-items:center;justify-content:center;color:var(--marigold);font-size:1rem;flex-shrink:0;}
@media(max-width:900px){.float-badge{display:none;}}

/* ---------- Section scaffolding ---------- */
section{padding:100px 0;}
.section-tight{padding:64px 0;}
.section-dark{background:var(--bg2);}
.section-khaki{background:linear-gradient(180deg, var(--bg2), var(--ink));}
.section-head{max-width:640px;margin-bottom:3em;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* ---------- Grids ---------- */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(max-width:980px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr;}}
.grid-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:24px;}
.grid-bento .service-card.featured{grid-column:span 2;grid-row:span 2;}
.grid-bento .service-card.featured img{height:100%;flex:1;}
.grid-bento .service-card.featured .service-card-body h3{font-size:1.5rem;}
@media(max-width:980px){.grid-bento{grid-template-columns:repeat(2,1fr);}.grid-bento .service-card.featured{grid-column:span 2;grid-row:span 1;}}
@media(max-width:640px){.grid-bento{grid-template-columns:1fr;}.grid-bento .service-card.featured{grid-column:span 1;}}

/* ---------- Service / content cards (cut-corner ticket shape) ---------- */
.service-card{background:var(--bg2);border:1px solid var(--border);clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%);overflow:hidden;display:flex;flex-direction:column;transition:all .35s ease;position:relative;}
.service-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(227,158,30,.06), transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none;}
.service-card:hover{transform:translateY(-6px);border-color:var(--border-o);box-shadow:var(--shadow), var(--shadow-o);}
.service-card:hover::before{opacity:1;}
.service-card.jade:hover{border-color:var(--border-j);box-shadow:var(--shadow), var(--shadow-j);}
.service-card img{height:200px;object-fit:cover;}
.service-card-body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1;position:relative;z-index:1;}
.service-card-body h3{font-size:1.2rem;color:#fff;}
.service-card-body p{font-size:.92rem;color:var(--text-muted);flex:1;}
.service-card-link{font-family:var(--ff-m);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--marigold);margin-top:.6em;display:inline-flex;align-items:center;gap:.4em;background:none;border:none;cursor:pointer;padding:0;}
.service-card-link::after{content:"→";transition:transform .2s ease;}
.service-card:hover .service-card-link::after{transform:translateX(4px);}

/* ---------- Safari Permit ticket card ---------- */
.permit{position:relative;background:var(--bg2);border:1px solid var(--border-o);clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%);padding:26px 26px 22px;display:flex;flex-direction:column;gap:14px;transition:all .3s ease;}
.permit:hover{transform:translateY(-4px);box-shadow:var(--shadow-o), var(--shadow);}
.permit.jade{border-color:var(--border-j);}
.permit.jade:hover{box-shadow:var(--shadow-j), var(--shadow);}
.permit.jade .permit-head,.permit.jade .stars{color:var(--jade-light);}
.permit.jade .permit-avatar{background:linear-gradient(135deg,var(--jade),var(--jade-dark));}
.permit::before,.permit::after{content:"";position:absolute;width:18px;height:18px;background:var(--ink);border:1px solid var(--border-o);border-radius:50%;top:50%;transform:translateY(-50%);}
.permit.jade::before,.permit.jade::after{border-color:var(--border-j);}
.permit::before{left:-10px;} .permit::after{right:-10px;}
.permit-head{display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--ff-m);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--marigold);border-bottom:1px dashed var(--border);padding-bottom:10px;}
.permit-quote{font-family:var(--ff-h);font-weight:600;font-size:1.05rem;line-height:1.5;color:var(--bone);}
.permit-foot{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--border);}
.permit-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--marigold),var(--rust));color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--ff-m);font-size:.8rem;font-weight:700;flex-shrink:0;}
.permit-name{font-weight:700;font-size:.92rem;color:#fff;}
.permit-meta{font-family:var(--ff-m);font-size:.7rem;color:var(--text-muted);}
.stars{color:var(--marigold);letter-spacing:2px;font-size:.85rem;}

/* ---------- Counter strip ---------- */
.counter-strip{background:linear-gradient(135deg,var(--bg2),var(--bg3));border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:56px 0;}
.counter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
@media(max-width:760px){.counter-grid{grid-template-columns:repeat(2,1fr);}}
.cnum{font-family:var(--ff-poster);font-weight:400;font-size:2.6rem;color:var(--marigold);}
.clabel{font-family:var(--ff-m);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:.4em;}

/* ---------- CTA banner ---------- */
.cta-band{background:linear-gradient(135deg, var(--forest), var(--forest-light));color:var(--bone);border-radius:var(--radius);padding:52px 44px;display:flex;align-items:center;justify-content:space-between;gap:2em;flex-wrap:wrap;background-image:radial-gradient(circle at 88% 15%, rgba(227,158,30,.25), transparent 55%);border:1px solid var(--border-o);position:relative;overflow:hidden;}
.cta-band.jade{background:linear-gradient(135deg, var(--jade-dark), var(--jade));background-image:radial-gradient(circle at 88% 15%, rgba(227,158,30,.2), transparent 55%);border-color:var(--border-j);}
.cta-band h3{font-size:1.7rem;max-width:20ch;color:#fff;}
.cta-band p{color:rgba(246,239,224,.82);margin-bottom:0;}
.cta-band-btn{font-family:var(--ff-m);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.7em;border-radius:999px;border:none;cursor:pointer;background:var(--marigold);color:var(--ink);font-weight:700;transition:transform .25s ease, box-shadow .25s ease;}
.cta-band-btn:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(227,158,30,.35);}

/* ---------- Forms ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:.5em;}
.field label{font-family:var(--ff-m);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);}
.field input,.field select,.field textarea{font-family:var(--ff-b);font-size:.96rem;padding:.85em 1em;border:1px solid var(--border);border-radius:10px;background:var(--bg2);color:var(--text);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--marigold);outline:none;}
.field select option{background:var(--bg2);}
.lead-card{background:var(--bg2);border:1px solid var(--border-o);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow-o), var(--shadow);}
.form-note{font-size:.82rem;color:var(--text-muted);margin-top:.8em;}
.form-success{display:none;background:var(--forest);color:var(--bone);padding:1em 1.2em;border-radius:10px;font-size:.92rem;margin-top:1em;}
.form-success.show{display:block;}

/* ---------- Zone strip / marquee ---------- */
.zone-chip{flex:0 0 auto;font-family:var(--ff-m);font-size:.78rem;border:1px solid var(--border-o);background:rgba(227,158,30,.06);padding:.7em 1.2em;border-radius:999px;white-space:nowrap;color:var(--text);transition:all .25s;}
.zone-chip:hover{background:rgba(227,158,30,.16);border-color:var(--marigold);transform:translateY(-2px);}
.marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg, transparent, black 8%, black 92%, transparent);mask-image:linear-gradient(90deg, transparent, black 8%, black 92%, transparent);}
.marquee-track{display:flex;gap:14px;width:max-content;animation:marquee 26s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@media(prefers-reduced-motion: reduce){.marquee-track{animation:none;}}

/* ---------- Blog cards ---------- */
.blog-card{border:1px solid var(--border);background:var(--bg2);display:flex;flex-direction:column;clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%);overflow:hidden;transition:all .3s ease;}
.blog-card:hover{transform:translateY(-6px);border-color:var(--border-o);box-shadow:var(--shadow), var(--shadow-o);}
.blog-card img{height:200px;object-fit:cover;}
.blog-card.featured{grid-column:span 2;}
.blog-card.featured img{height:280px;}
.blog-card.featured h3{font-size:1.5rem;}
@media(max-width:640px){.blog-card.featured{grid-column:span 1;}.blog-card.featured img{height:200px;}}
.blog-card-body{padding:20px 20px 24px;display:flex;flex-direction:column;gap:.6em;flex:1;}
.blog-tag{font-family:var(--ff-m);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--marigold);}
.blog-card-body h3{font-size:1.14rem;color:#fff;}
.blog-card-body p{font-size:.9rem;color:var(--text-muted);flex:1;}
.blog-read{font-family:var(--ff-m);font-size:.72rem;text-transform:uppercase;color:var(--marigold);}

/* ---------- Article / single post ---------- */
.article-body{max-width:720px;margin:0 auto;padding:64px 28px;font-size:1.08rem;color:rgba(241,233,216,.88);}
.article-body h2{font-size:1.6rem;margin-top:1.6em;color:#fff;}
.article-body h3{font-size:1.25rem;margin-top:1.4em;color:#fff;}
.article-body ul{padding-left:1.3em;}
.article-body li{margin-bottom:.5em;}
.article-body blockquote{font-family:var(--ff-h);font-weight:600;font-size:1.2rem;border-left:2px solid var(--marigold);padding-left:1.2em;margin:2em 0;color:var(--marigold-light);}
.article-body img{border-radius:12px;margin:1.5em 0;}
.article-meta{font-family:var(--ff-m);font-size:.74rem;color:var(--marigold);letter-spacing:.05em;margin-bottom:.8em;}
.article-cta{max-width:720px;margin:0 auto;padding:0 28px 40px;}
.article-tags{display:flex;gap:.6em;flex-wrap:wrap;margin-top:2em;}
.article-tags span, .article-tags a{font-family:var(--ff-m);font-size:.68rem;border:1px solid var(--border);padding:.4em .8em;border-radius:999px;color:var(--text-muted);}

/* ---------- Footer ---------- */
.site-footer{background:#0a0603;color:var(--khaki);padding:72px 0 28px;border-top:1px solid var(--border);}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:52px;}
@media(max-width:1080px){.footer-grid{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4,.footer-col h4{font-family:var(--ff-m);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marigold);margin-bottom:1.2em;}
.footer-grid ul{list-style:none;padding:0;margin:0 0 0.5em;display:flex;flex-direction:column;gap:.7em;font-size:.9rem;color:rgba(246,239,224,.7);}
.footer-grid ul a:hover{color:var(--marigold);}
.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1em;font-size:.78rem;color:rgba(246,239,224,.5);}
.footer-brand img{height:42px;width:auto;margin-bottom:1em;}
.footer-brand p{max-width:34ch;color:rgba(246,239,224,.68);font-size:.94rem;}
.footer-social{display:flex;gap:10px;margin-top:1.2em;}
.footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--ff-m);font-size:.72rem;color:var(--text-muted);transition:all .2s;}
.footer-social a:hover{border-color:var(--marigold);color:var(--marigold);}

/* ---------- Sticky WhatsApp ---------- */
.sticky-cta{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.sticky-cta a{background:var(--marigold);color:var(--ink);font-family:var(--ff-m);font-size:.78rem;font-weight:700;padding:.9em 1.3em;border-radius:999px;box-shadow:var(--shadow-o), var(--shadow);display:flex;align-items:center;gap:.5em;animation:floaty 3.5s ease-in-out infinite;}

/* ---------- Misc ---------- */
.badge-row{display:flex;flex-wrap:wrap;gap:24px;align-items:center;opacity:.85;font-family:var(--ff-m);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media(max-width:860px){.two-col{grid-template-columns:1fr;}}
.stat-block{display:flex;gap:28px;flex-wrap:wrap;margin-top:2em;}
.stat-block div{font-family:var(--ff-m);}
.stat-num{font-size:2.1rem;color:var(--marigold);display:block;font-weight:700;font-family:var(--ff-h);}
.stat-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);}
.glow-frame{border-radius:var(--radius);box-shadow:var(--shadow-o), var(--shadow);border:1px solid var(--border-o);overflow:hidden;}

/* ---------- Quick Enquiry Modal ---------- */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(6,4,2,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .28s ease;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-card{background:var(--bg2);border:1px solid var(--border-o);clip-path:polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);width:100%;max-width:480px;padding:36px 34px 30px;position:relative;box-shadow:var(--shadow-o), var(--shadow);transform:translateY(24px) scale(.97);transition:transform .3s cubic-bezier(.16,1,.3,1);max-height:90vh;overflow-y:auto;}
.modal-overlay.open .modal-card{transform:translateY(0) scale(1);}
.modal-close{position:absolute;top:16px;right:18px;background:none;border:1px solid var(--border);color:var(--text-muted);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.modal-close:hover{border-color:var(--marigold);color:var(--marigold);}
.modal-card h3{font-size:1.35rem;margin-bottom:.2em;}
.modal-card .modal-sub{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5em;}
.modal-card .field{margin-bottom:14px;}
.modal-success{display:none;text-align:center;padding:20px 0;}
.modal-success.show{display:block;}
.modal-success .ico{width:56px;height:56px;border-radius:50%;background:rgba(63,138,99,.15);border:1px solid var(--border-j);color:var(--jade-light);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 16px;}
.modal-success h4{font-size:1.15rem;color:#fff;}
.modal-success p{color:var(--text-muted);font-size:.9rem;}

/* ---------- Book Safari page ---------- */
.safari-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:3em;}
@media(max-width:900px){.safari-picker{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.safari-picker{grid-template-columns:1fr;}}
.picker-card{background:var(--bg2);border:1.5px solid var(--border);clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);padding:22px 20px;cursor:pointer;transition:all .25s ease;position:relative;}
.picker-card input{position:absolute;opacity:0;pointer-events:none;}
.picker-card .pic-ico{font-size:1.6rem;margin-bottom:.6em;}
.picker-card h4{font-size:1rem;margin-bottom:.3em;color:#fff;}
.picker-card p{font-size:.8rem;color:var(--text-muted);margin:0;}
.picker-card:hover{border-color:var(--border-o);transform:translateY(-3px);}
.picker-card.checked{border-color:var(--marigold);background:rgba(227,158,30,.08);box-shadow:var(--shadow-o);}
.steps-row{display:flex;align-items:center;gap:0;margin-bottom:3em;flex-wrap:wrap;}
.step-item{display:flex;align-items:center;gap:.7em;font-family:var(--ff-m);font-size:.78rem;color:var(--text-muted);}
.step-num{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border-o);color:var(--marigold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.step-item.active{color:var(--bone);}
.step-item.active .step-num{background:var(--marigold);color:var(--ink);border-color:var(--marigold);}
.step-divider{flex:1;height:1px;background:var(--border);min-width:24px;margin:0 12px;}
.trust-row{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin-top:3em;}
.trust-item{display:flex;align-items:center;gap:.6em;font-family:var(--ff-m);font-size:.78rem;color:var(--text-muted);}
.trust-item .ti-ico{width:34px;height:34px;border-radius:50%;background:rgba(63,138,99,.12);border:1px solid var(--border-j);color:var(--jade-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.faq-item{border-bottom:1px solid var(--border);padding:20px 0;}
.faq-item summary{cursor:pointer;font-family:var(--ff-h);font-weight:700;color:#fff;font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--marigold);font-size:1.3rem;transition:transform .25s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{color:var(--text-muted);margin-top:1em;font-size:.94rem;}

/* ---------- Gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
.gallery-grid img{width:100%;height:220px;object-fit:cover;clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);transition:transform .3s ease;}
.gallery-grid img:hover{transform:scale(1.04);}

/* ---------- WP core content defaults ---------- */
.entry-content ul, .entry-content ol{padding-left:1.3em;}
.wp-block-quote, blockquote{font-family:var(--ff-h);font-weight:600;font-size:1.2rem;border-left:2px solid var(--marigold);padding-left:1.2em;margin:2em 0;color:var(--marigold-light);}
.alignwide{max-width:1000px;}
.alignfull{max-width:none;}
