/*!
 * Apex Hajj Umrah Travel & Tour — front-end styles
 * Design system ported from the Burak UI kit (tokens, components, detail + home pages)
 * followed by the WordPress layer. Colours are overridable via Theme Settings → Colors.
 */

/* =========================================================
   DESIGN TOKENS  (mirrors the Burak home page)
   ========================================================= */
:root{
  --ink:#12181b;          /* primary dark (hero, footer) */
  --ink-2:#1a2124;        /* dark section bg */
  --ink-3:#252d31;        /* dark card */
  --ink-4:#323b40;        /* dark card border / hover */
  --lime:#c8f031;         /* accent */
  --lime-d:#b3db1c;
  --paper:#ffffff;
  --mist:#f4f5f3;         /* light gray section */
  --line:#e7e9e6;
  --text:#14191c;
  --muted:#7d858a;
  --muted-d:#9aa3a8;
  --r-xl:28px; --r-lg:20px; --r-md:14px; --r-sm:10px; --pill:999px;
  --shadow:0 18px 40px -22px rgba(18,24,27,.28);
  --shadow-h:0 26px 50px -24px rgba(18,24,27,.42);
  --wrap:1200px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,dl,dd{margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font,'Outfit'),system-ui,sans-serif;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
img,svg{display:block;max-width:100%}
img{height:auto}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* =========================================================
   BASE LAYOUT
   ========================================================= */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.sec{padding:110px 0}
.sec.tight{padding:80px 0}
.sec.mist{background:var(--mist)}
.sec.dark{background:var(--ink-2);color:#fff}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

/* Headings: light weight with semibold emphasis — the home page signature */
.h1{font-size:64px;line-height:1.05;font-weight:300;letter-spacing:-.02em}
.h2{font-size:40px;line-height:1.15;font-weight:300;letter-spacing:-.015em}
.h3{font-size:22px;line-height:1.25;font-weight:500}
.h1 b,.h2 b{font-weight:600}
.h1 em{font-style:normal;font-weight:600;color:var(--lime)}
.eyebrow{font-size:13px;color:var(--muted);margin-bottom:14px}
.eyebrow b{color:var(--text);font-weight:600}
.dark .eyebrow b{color:#fff}
.lead{color:var(--muted);font-size:16px;max-width:52ch}
.lead b{color:var(--text);font-weight:500}
.dark .lead{color:var(--muted-d)} .dark .lead b{color:#fff}
.head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:56px}
.head.center{flex-direction:column;align-items:center;text-align:center}
.head .side{max-width:360px}

/* Buttons: pill + circular arrow chip */
.btn{display:inline-flex;align-items:center;gap:12px;padding:6px 6px 6px 20px;border-radius:var(--pill);font-weight:500;font-size:14px;cursor:pointer;border:0;transition:transform .25s var(--ease),background .25s}
.btn .arr{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;transition:transform .3s var(--ease)}
.btn:hover .arr{transform:rotate(45deg)}
.btn-lime{background:var(--lime);color:var(--ink)} .btn-lime .arr{background:var(--ink);color:var(--lime)}
.btn-lime:hover{background:var(--lime-d)}
.btn-dark{background:var(--ink);color:#fff} .btn-dark .arr{background:var(--lime);color:var(--ink)}
.btn-white{background:#fff;color:var(--ink)} .btn-white .arr{background:var(--ink);color:#fff}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line);padding:10px 18px}
.btn-ghost:hover{border-color:var(--text)}
.btn.full{width:100%;justify-content:space-between}
.circ{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:.25s var(--ease);background:#fff;flex:none}
.card:hover .circ,.circ.on{background:var(--lime);border-color:var(--lime);transform:rotate(45deg)}

/* =========================================================
   HEADER
   ========================================================= */
.hdr{position:absolute;top:0;left:0;right:0;z-index:20}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:22px;color:#fff}
.logo i{width:32px;height:32px;border-radius:50%;background:var(--lime);display:grid;place-items:center;color:var(--ink);font-style:normal}
.nav{display:flex;gap:6px;align-items:center}
.nav>div{position:relative}
.nav a.l{color:#fff;opacity:.78;font-size:14px;padding:10px 14px;border-radius:var(--pill);display:flex;align-items:center;gap:4px;cursor:pointer}
.nav a.l:hover,.nav a.l.on{opacity:1}
.nav a.l.on{background:rgba(255,255,255,.08)}
.dd{position:absolute;top:100%;left:0;min-width:200px;background:#fff;border-radius:var(--r-md);padding:8px;box-shadow:var(--shadow-h);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s var(--ease)}
.nav>div:hover .dd{opacity:1;visibility:visible;transform:none}
.dd a{display:block;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--text);cursor:pointer}
.dd a:hover{background:var(--mist)}
.burger{display:none;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);border:0;color:#fff;place-items:center;cursor:pointer}
.drawer{display:none}

/* =========================================================
   PAGE HERO (inner pages)
   ========================================================= */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:190px 0 150px;text-align:center}
.hero .art{position:absolute;inset:0;opacity:.55}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,24,27,.75) 0%,rgba(18,24,27,.35) 45%,rgba(18,24,27,.95) 100%)}
.hero .wrap{position:relative;z-index:2}
.crumb{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--pill);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:13px;margin-bottom:26px;backdrop-filter:blur(6px)}
.crumb a{opacity:.7} .crumb span{color:var(--lime)}
.hero p{color:#c3cacd;max-width:54ch;margin:22px auto 0}
.hero.has-panel{padding-bottom:210px}
.panel-wrap{position:relative;z-index:5;margin-top:-120px}

/* Search / filter panel (same as home "Select Your Journey") */
.panel{background:#fff;border-radius:var(--r-lg);padding:28px 28px 26px;box-shadow:var(--shadow-h)}
.panel h4{font-weight:400;font-size:18px;margin-bottom:18px}
.panel h4 b{font-weight:600}
.fields{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:14px;align-items:end}
.fld label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
.ctl{display:flex;align-items:center;gap:8px;background:var(--mist);border:1px solid transparent;border-radius:var(--pill);padding:0 16px;height:46px;font-size:14px;transition:border .2s}
.ctl:focus-within{border-color:var(--lime);background:#fff}
.ctl input,.ctl select{border:0;background:transparent;outline:0;width:100%;height:100%;appearance:none;cursor:pointer}
.ctl svg{flex:none;color:var(--muted)}

/* =========================================================
   CARDS
   ========================================================= */
.card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease);display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-h)}
.media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#2a3236}
.media .art{position:absolute;inset:0;transition:transform .6s var(--ease)}
.card:hover .media .art{transform:scale(1.05)}
.tag{position:absolute;top:14px;left:14px;background:rgba(18,24,27,.72);color:#fff;font-size:12px;padding:5px 12px;border-radius:var(--pill);backdrop-filter:blur(6px)}
.tag.lime{background:var(--lime);color:var(--ink);font-weight:600}
.body{padding:22px 22px 22px;display:flex;flex-direction:column;flex:1}
.body p{color:var(--muted);font-size:14px;margin:8px 0 14px}
.feat{list-style:none;display:grid;gap:7px;font-size:13px;color:var(--muted);margin-bottom:18px}
.feat li{display:flex;gap:8px;align-items:center}
.feat svg{color:var(--text)}
.feat.cols{grid-template-columns:1fr 1fr}
.foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--line)}
.price{font-size:13px;color:var(--muted)}
.price b{font-size:24px;color:var(--text);font-weight:500;margin-left:4px}
.stars{display:flex;gap:2px;color:#f2b300}
.meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.dist{display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--mist);padding:5px 10px;border-radius:var(--pill);color:var(--text)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px}
.chip{font-size:12px;border:1px solid var(--line);padding:4px 10px;border-radius:var(--pill);color:var(--muted);display:inline-flex;gap:5px;align-items:center}
.btnrow{display:flex;gap:10px;margin-top:auto}
.btnrow .btn{flex:1;justify-content:center;padding:12px 14px}

/* Dark feature cards (Why Choose) */
.dcard{background:var(--ink-3);border:1px solid var(--ink-4);border-radius:var(--r-lg);padding:30px;min-height:240px;display:flex;flex-direction:column;transition:.3s var(--ease)}
.dcard:hover{border-color:var(--lime);transform:translateY(-4px)}
.ico{width:52px;height:52px;border-radius:50%;background:var(--ink-4);display:grid;place-items:center;color:#fff;margin-bottom:auto}
.dcard:hover .ico,.ico.on{background:var(--lime);color:var(--ink)}
.dcard h3{font-size:18px;font-weight:500;margin:40px 0 8px}
.dcard p{color:var(--muted-d);font-size:13px}

/* Light feature cards */
.lcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;transition:.3s var(--ease)}
.lcard:hover{border-color:var(--text);box-shadow:var(--shadow)}
.lcard .ico{background:var(--mist);color:var(--text);margin-bottom:26px}
.lcard:hover .ico{background:var(--lime)}
.lcard h3{font-size:18px;font-weight:500;margin-bottom:6px}
.lcard p{color:var(--muted);font-size:14px}

/* Image block with floating stat (from home About) */
.pic{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:520px;background:#2a3236}
.pic .art{position:absolute;inset:0}
.float{position:absolute;left:20px;bottom:20px;background:#fff;border-radius:var(--r-lg);padding:20px 24px;box-shadow:var(--shadow-h)}
.float strong{font-size:44px;font-weight:500;line-height:1;display:block}
.float span{font-size:13px;color:var(--muted)} .float span b{color:var(--text);font-weight:500}
.trust{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}
.avs{display:flex}
.avs i{width:32px;height:32px;border-radius:50%;border:2px solid #fff;margin-left:-8px;display:block}
.avs i:first-child{margin-left:0}
.avs i{background:#c99a76 radial-gradient(circle at 50% 38%,rgba(0,0,0,.15) 30%,transparent 32%)}
.avs i:nth-child(2){background-color:#8d6547}.avs i:nth-child(3){background-color:#e2b894}.avs i:nth-child(4){background-color:#a67b58}
.trust b svg{display:inline;color:var(--lime);vertical-align:-1px}
.trust b{display:block;color:var(--text);font-weight:600}
.dark .trust b,.hero .trust b{color:#fff}

/* Timeline (real sequence → numbered by year) */
.tl{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.tl::before{content:"";position:absolute;top:22px;left:0;right:0;height:1px;background:var(--line)}
.tl .step{position:relative;padding-top:60px}
.tl .dot{position:absolute;top:12px;left:0;width:21px;height:21px;border-radius:50%;background:#fff;border:6px solid var(--ink)}
.tl .step:last-child .dot{border-color:var(--lime);background:var(--ink)}
.tl .yr{font-size:30px;font-weight:300}
.tl h4{font-weight:500;margin:6px 0 4px}
.tl p{font-size:13px;color:var(--muted)}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-4)}
.stats div{padding:34px 24px 0 0}
.stats div+div{padding-left:24px;border-left:1px solid var(--ink-4)}
.stats strong{font-size:56px;font-weight:300;line-height:1;display:block}
.stats strong sup{color:var(--lime);font-size:28px;font-weight:500}
.stats span{color:var(--muted-d);font-size:14px}

/* Process (real sequence) */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.proc .p{background:#fff;border-radius:var(--r-lg);padding:28px;position:relative;border:1px solid var(--line)}
.proc .p::before{counter-increment:s;content:"Step " counter(s);font-size:12px;color:var(--muted);display:block;margin-bottom:40px}
.proc .p:nth-child(4){background:var(--ink);color:#fff;border-color:var(--ink)}
.proc .p:nth-child(4) p{color:var(--muted-d)}
.proc h4{font-weight:500;font-size:18px;margin-bottom:6px}
.proc p{font-size:13px;color:var(--muted)}
.proc .n{position:absolute;top:22px;right:22px}

/* Team */
.team .media{aspect-ratio:3/4}
.team .who{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.95);border-radius:var(--r-md);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;z-index:2}
.team .who b{font-weight:500;display:block} .team .who span{font-size:12px;color:var(--muted)}
.face{position:absolute;inset:0}

/* Testimonials (home style: one dark photo card in middle) */
.tcard{background:#fff;border-radius:var(--r-lg);padding:26px;min-height:320px;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.tcard .av{width:36px;height:36px;border-radius:50%;margin-bottom:22px}
.tcard h4{font-weight:500;font-size:15px;margin-bottom:8px}
.tcard p{font-size:14px;color:var(--muted)}
.tcard .by{margin-top:auto;font-size:14px;font-weight:500}
.tcard .by span{display:block;font-size:12px;color:var(--muted);font-weight:400}
.tcard.photo{position:relative;overflow:hidden;color:#fff;background:var(--ink)}
.tcard.photo .face{opacity:.9}
.tcard.photo>*:not(.face){position:relative;z-index:2}
.tcard.photo p{color:#d8dde0}
.tcard.photo .by span{color:#b5bdc1}
.slnav{display:flex;gap:8px}
.slnav button{width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;background:var(--ink);color:#fff;display:grid;place-items:center}
.slnav button+button{background:var(--lime);color:var(--ink)}

/* FAQ (home style: open item becomes dark) */
.faq{display:grid;gap:6px}
.q{border-radius:var(--r-md);transition:background .3s var(--ease)}
.q button{width:100%;display:flex;gap:14px;align-items:center;background:none;border:0;text-align:left;padding:18px 20px;cursor:pointer;font-weight:500;font-size:15px}
.q .pm{width:22px;height:22px;border-radius:50%;border:1px solid var(--muted);display:grid;place-items:center;flex:none;transition:.3s}
.q .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.q .a>div{overflow:hidden;padding:0 20px 0 56px;color:#c3cacd;font-size:14px}
.q.open{background:var(--ink);color:#fff}
.q.open button{color:var(--lime)}
.q.open .pm{border-color:var(--lime);transform:rotate(45deg)}
.q.open .a{grid-template-rows:1fr}
.q.open .a>div{padding-bottom:20px}
.faqgrid{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:start}

/* CTA band */
.cta{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--ink);color:#fff;padding:72px 64px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.cta .art{position:absolute;inset:0;opacity:.35}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 35%,rgba(18,24,27,.2))}
.cta>*{position:relative;z-index:2}
.cta .acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}

/* Tabs / categories */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.tabs button{border:1px solid var(--line);background:#fff;border-radius:var(--pill);padding:10px 18px;font-size:14px;cursor:pointer;transition:.25s}
.tabs button:hover{border-color:var(--text)}
.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.dark .tabs button{background:transparent;border-color:var(--ink-4);color:#fff}
.dark .tabs button.on{background:var(--lime);color:var(--ink);border-color:var(--lime)}

/* Includes strip */
.incl{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.incl div{background:#fff;border-radius:var(--r-md);padding:22px 16px;text-align:center;border:1px solid var(--line)}
.incl .ico{margin:0 auto 14px;background:var(--mist);color:var(--text)}
.incl b{font-weight:500;font-size:14px}

/* Contact */
.cgrid{display:grid;grid-template-columns:7fr 5fr;gap:24px;align-items:stretch}
.form{background:#fff;border-radius:var(--r-xl);padding:40px;box-shadow:var(--shadow)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form .ctl{border-radius:var(--r-sm)}
.form textarea{width:100%;min-height:120px;border:1px solid transparent;background:var(--mist);border-radius:var(--r-sm);padding:14px 16px;outline:0;resize:vertical}
.form textarea:focus{border-color:var(--lime);background:#fff}
.form .note{font-size:12px;color:var(--muted)}
.info{background:var(--ink);color:#fff;border-radius:var(--r-xl);padding:40px;display:flex;flex-direction:column;gap:6px}
.info a.it{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--ink-4)}
.info a.it .ico{margin:0;background:var(--ink-3)}
.info a.it:hover .ico{background:var(--lime);color:var(--ink)}
.info small{display:block;color:var(--muted-d);font-size:12px}
.office .media{aspect-ratio:16/9}
.map{border-radius:var(--r-xl);overflow:hidden;height:420px;position:relative;background:#e9ece8}
.map svg{width:100%;height:100%}
.pin{position:absolute;transform:translate(-50%,-100%)}
.pin .bub{background:var(--ink);color:#fff;font-size:12px;padding:6px 12px;border-radius:var(--pill);white-space:nowrap;margin-bottom:6px}
.pin .pt{width:16px;height:16px;border-radius:50%;background:var(--lime);border:4px solid var(--ink);margin:0 auto}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);opacity:0;visibility:hidden;background:var(--ink);color:#fff;padding:14px 20px;border-radius:var(--pill);font-size:14px;display:flex;gap:10px;align-items:center;transition:.4s var(--ease);z-index:200}
.toast.show{transform:translate(-50%,0);opacity:1;visibility:visible}
.toast i{width:22px;height:22px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center}

/* Blog */
.featpost{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow)}
.featpost .media{aspect-ratio:auto;min-height:420px}
.featpost .body{padding:48px}
.bmeta{display:flex;gap:14px;font-size:12px;color:var(--muted);align-items:center}
.bmeta .cat{color:var(--text);background:var(--mist);padding:4px 10px;border-radius:var(--pill)}
.bsearch{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:28px}
.bsearch .ctl{width:320px;background:#fff;border:1px solid var(--line)}
.blayout{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start}
.side-box{background:#fff;border-radius:var(--r-lg);padding:24px;border:1px solid var(--line);margin-bottom:18px}
.side-box h5{font-size:16px;font-weight:500;margin-bottom:14px}
.side-box a.c{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}
.side-box a.c:hover{color:var(--lime-d)}
.side-box a.c span{color:var(--muted)}
.news{background:var(--ink);color:#fff;border:0}
.news .ctl{background:var(--ink-3);margin:14px 0 10px;color:#fff}
.pager{display:flex;gap:8px;justify-content:center;margin-top:40px}
.pager button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer}
.pager button.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Services grid */
.svc{background:#fff;border-radius:var(--r-lg);padding:26px;border:1px solid var(--line);display:flex;flex-direction:column;min-height:230px;transition:.3s var(--ease)}
.svc:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-4px)}
.svc .top{display:flex;justify-content:space-between;align-items:start;margin-bottom:auto}
.svc .ico{margin:0;background:var(--mist);color:var(--text)}
.svc:hover .ico{background:var(--lime);color:var(--ink)}
.svc h3{font-size:18px;font-weight:500;margin:30px 0 6px}
.svc p{font-size:13px;color:var(--muted)}
.svc:hover p{color:var(--muted-d)}
.svc:hover .circ{background:var(--lime);border-color:var(--lime);transform:rotate(45deg)}

/* Mission / vision */
.mv{border-radius:var(--r-xl);padding:40px;min-height:280px;display:flex;flex-direction:column}
.mv.a{background:var(--lime)} .mv.b{background:var(--ink);color:#fff}
.mv h3{font-size:30px;font-weight:300;margin:auto 0 10px} .mv h3 b{font-weight:600}
.mv p{font-size:15px;opacity:.8}
.mv .ico{background:rgba(0,0,0,.08);color:inherit;margin:0}
.mv.b .ico{background:var(--ink-3)}

/* Hotel benefit split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.checks{list-style:none;display:grid;gap:14px;margin:28px 0 32px}
.checks li{display:flex;gap:14px;align-items:start}
.checks li i{width:26px;height:26px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;flex:none;font-style:normal}
.checks b{font-weight:500;display:block}
.checks span{font-size:14px;color:var(--muted)}
.dark .checks span{color:var(--muted-d)}

/* Footer */
.ftr{background:var(--ink);color:#fff;padding:90px 0 24px;position:relative;overflow:hidden}
.ftr .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;position:relative;z-index:2}
.ftr p{color:var(--muted-d);font-size:14px;margin-top:18px}
.ftr h6{font-size:13px;font-weight:500;color:var(--muted-d);margin-bottom:16px}
.ftr ul{list-style:none;display:grid;gap:12px;font-size:14px}
.ftr ul a{cursor:pointer;opacity:.85} .ftr ul a:hover{color:var(--lime);opacity:1}
.soc{display:flex;gap:10px;margin-top:40px}
.soc a{width:38px;height:38px;border-radius:50%;background:var(--ink-3);display:grid;place-items:center}
.soc a:first-child,.soc a:hover{background:var(--lime);color:var(--ink)}
.big{font-size:260px;font-weight:600;line-height:.8;color:rgba(255,255,255,.04);text-align:center;margin-top:30px;letter-spacing:-.04em;user-select:none}
.copy{text-align:center;font-size:12px;color:var(--muted-d);border-top:1px solid var(--ink-4);padding-top:20px;position:relative;z-index:2}

.page{position:relative;animation:pg .5s var(--ease)}
@keyframes pg{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.mt{margin-top:28px}
.center{text-align:center}

/* =========================================================
   RESPONSIVE — container queries (tablet ≤ 1000, mobile ≤ 640)
   Elementor equivalent: Tablet 1024 / Mobile 767 breakpoints
   ========================================================= */
@media (max-width:1024px){
  .wrap{padding:0 24px}
  .sec{padding:80px 0}
  .h1{font-size:48px} .h2{font-size:32px}
  .g4,.proc,.incl{grid-template-columns:repeat(2,1fr)}
  .incl{grid-template-columns:repeat(3,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .nav,.hdr .btn{display:none}
  .burger{display:grid}
  .fields{grid-template-columns:1fr 1fr}
  .fields .btn{grid-column:1/-1;justify-content:space-between}
  .tl{grid-template-columns:1fr;gap:0}
  .tl::before{top:0;bottom:0;left:10px;right:auto;width:1px;height:auto}
  .tl .step{padding:0 0 30px 44px}
  .tl .dot{top:6px}
  .stats{grid-template-columns:1fr 1fr}
  .stats div:nth-child(3){border-left:0;padding-left:0}
  .faqgrid,.cgrid,.split,.featpost,.blayout{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr;padding:48px 32px}
  .cta .acts{justify-content:flex-start}
  .head{flex-direction:column;align-items:start}
  .big{font-size:150px}
  .drawer.open{display:block;position:absolute;top:84px;left:16px;right:16px;background:#fff;border-radius:var(--r-lg);padding:12px;box-shadow:var(--shadow-h);z-index:30}
  .drawer a{display:block;padding:12px 14px;border-radius:10px;cursor:pointer}
  .drawer a.on{background:var(--mist);font-weight:600}
  .drawer .btn{margin-top:8px;width:100%;justify-content:space-between}
}
@media (max-width:767px){
  .wrap{padding:0 18px}
  .sec{padding:64px 0} .sec.tight{padding:48px 0}
  .h1{font-size:38px} .h2{font-size:28px}
  .g2,.g3,.g4,.proc,.stats,.ftr .cols{grid-template-columns:1fr}
  .incl{grid-template-columns:1fr 1fr}
  .stats div,.stats div+div{border-left:0;padding-left:0;padding-top:24px}
  .hero{padding:140px 0 90px}
  .hero.has-panel{padding-bottom:150px}
  .panel-wrap{margin-top:-90px}
  .panel{padding:20px}
  .fields,.form .row{grid-template-columns:1fr}
  .pic{min-height:380px}
  .form,.info{padding:26px}
  .featpost .body{padding:26px}
  .featpost .media{min-height:240px}
  .bsearch .ctl{width:100%}
  .cta{padding:40px 22px}
  .head{margin-bottom:36px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-right:-18px}
  .tabs button{flex:none}
  .map{height:300px}
  .big{font-size:90px}
  .feat.cols{grid-template-columns:1fr}
}
/* =========================================================
   DETAIL PAGES
   ========================================================= */
.dhero{position:relative;background:var(--ink);color:#fff;padding:150px 0 56px;overflow:hidden}
.dhero>.art{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
.dhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,24,27,.8),rgba(18,24,27,.97))}
.dhero .wrap{position:relative;z-index:2}
.dhero .h1{font-size:52px;max-width:20ch}
.dtop{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}
.dchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.dchips span{display:inline-flex;gap:6px;align-items:center;font-size:13px;padding:7px 12px;border-radius:var(--pill);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.dchips span.l{background:var(--lime);color:var(--ink);border-color:var(--lime);font-weight:600}
.rate{display:flex;align-items:center;gap:12px}
.rate strong{font-size:44px;font-weight:300;line-height:1}
.rate small{display:block;color:var(--muted-d);font-size:12px;margin-top:4px}

.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:12px}
.gal>*{position:relative;border:0;border-radius:var(--r-lg);overflow:hidden;background:#2a3236;padding:0}
.gal .gmain{grid-row:span 2}
.gal button{cursor:pointer}
.gal .art{position:absolute;inset:0;width:100%;height:100%;transition:transform .5s var(--ease)}
.gal button:hover .art{transform:scale(1.06)}
.gal .more::after{content:attr(data-more);position:absolute;inset:0;background:rgba(18,24,27,.62);color:#fff;display:grid;place-items:center;font-weight:500}

.subnav{position:sticky;top:var(--sticky-top,0px);z-index:15;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin-top:40px}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.subnav button{border:0;background:none;padding:18px 14px;font-size:14px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.subnav button:hover{color:var(--text)}
.subnav button.on{color:var(--text);border-color:var(--lime);font-weight:500}

.dsec{padding:56px 0 100px}
.dlayout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start}
.dblock{padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--sticky-top,0px) + 80px)}
.dblock:first-child{padding-top:0}
.dblock:last-child{border-bottom:0}
.dblock>h2{font-size:28px;font-weight:300;margin-bottom:16px;line-height:1.2}
.dblock>h2 b{font-weight:600}
.dblock>p{color:var(--muted);max-width:68ch;margin-bottom:12px}

.hl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.hl>div{background:var(--mist);border-radius:var(--r-md);padding:18px}
.hl .ico{width:40px;height:40px;background:#fff;margin-bottom:16px;color:var(--text)}
.hl small{display:block;color:var(--muted);font-size:12px}
.hl b{font-weight:500;font-size:15px}

.itin .day{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;transition:border-color .25s}
.itin .day.open{border-color:var(--text)}
.itin .day>button{display:flex;gap:16px;align-items:center;padding:16px 18px;width:100%;background:none;border:0;text-align:left;cursor:pointer;font-size:15px}
.itin .dn{flex:none;min-width:84px;text-align:center;background:var(--mist);border-radius:var(--pill);padding:6px 10px;font-size:12px;font-weight:600;transition:background .25s}
.itin .day.open .dn{background:var(--lime)}
.itin .day>button b{font-weight:500;flex:1}
.itin .chev{transition:transform .3s var(--ease);color:var(--muted)}
.itin .day.open .chev{transform:rotate(180deg)}
.itin .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.itin .a>div{overflow:hidden;padding:0 20px 0 118px;color:var(--muted);font-size:14px}
.itin .day.open .a{grid-template-rows:1fr}
.itin .day.open .a>div{padding-bottom:18px}

.incx{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.incx>div{border-radius:var(--r-lg);padding:24px}
.incx .y{background:var(--mist)} .incx .n{border:1px solid var(--line)}
.incx h4{font-weight:500}
.incx ul{list-style:none;display:grid;gap:10px;margin-top:14px;font-size:14px}
.incx li{display:flex;gap:10px;align-items:center}
.incx li i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;font-style:normal}
.incx .y i{background:var(--lime);color:var(--ink)} .incx .n i{background:#f6e4e1;color:#b3402f}

.minis{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mini{display:flex;gap:14px;border:1px solid var(--line);border-radius:var(--r-md);padding:12px;align-items:center;cursor:pointer;transition:.25s}
.mini:hover{border-color:var(--text)}
.mini .th{width:96px;height:84px;border-radius:10px;overflow:hidden;position:relative;flex:none}
.mini .th .art{position:absolute;inset:0;width:100%;height:100%}
.mini b{font-weight:500;display:block;line-height:1.3}
.mini small{color:var(--muted);font-size:12px;display:block;margin-top:4px}
.mini .circ{margin-left:auto}
.mini:hover .circ{background:var(--lime);border-color:var(--lime);transform:rotate(45deg)}

.policy{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.policy>div{background:var(--mist);border-radius:var(--r-md);padding:20px}
.policy .ico{width:40px;height:40px;background:#fff;margin-bottom:14px;color:var(--text)}
.policy b{font-weight:500;display:block;margin-bottom:4px}
.policy p{font-size:13px;color:var(--muted)}

.book{position:sticky;top:calc(var(--sticky-top,0px) + 72px);background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-h);padding:28px;border:1px solid var(--line);scroll-margin-top:calc(var(--sticky-top,0px) + 20px)}
.book .from{font-size:13px;color:var(--muted)}
.book .from b{font-size:36px;font-weight:500;color:var(--text);letter-spacing:-.01em}
.book .fld{margin-top:14px}
.book .ctl{border-radius:var(--r-sm)}
.book .rsel{margin-top:14px;font-size:13px;color:var(--muted);background:var(--mist);border-radius:var(--r-sm);padding:10px 14px}
.book .rsel b{color:var(--text);font-weight:500}
.qty{display:flex;align-items:center;justify-content:space-between;background:var(--mist);border-radius:var(--r-sm);height:46px;padding:0 6px 0 16px;font-size:14px}
.qty>div{display:flex;gap:6px}
.qty button{width:34px;height:34px;border-radius:50%;border:0;background:#fff;cursor:pointer;font-size:18px;line-height:1}
.qty button:hover{background:var(--lime)}
.qty button:disabled{opacity:.4;cursor:not-allowed;background:#fff}
.sum{margin:20px 0 12px;padding-top:16px;border-top:1px dashed var(--line);display:grid;gap:8px;font-size:14px}
.sum div{display:flex;justify-content:space-between;color:var(--muted)}
.sum .tot{color:var(--text);font-size:18px;font-weight:600;padding-top:10px;margin-top:4px;border-top:1px solid var(--line)}
.book .fine{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;display:flex;gap:6px;justify-content:center;align-items:center}
.help{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:20px;margin-top:14px;display:flex;gap:14px;align-items:center}
.help .ico{margin:0;background:var(--lime);color:var(--ink);width:46px;height:46px;flex:none}
.help small{display:block;color:var(--muted-d);font-size:12px}
.stack{display:grid;gap:10px}
.btn-wide{width:100%;justify-content:space-between}

.room{display:grid;grid-template-columns:170px 1fr auto;gap:20px;align-items:center;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;margin-bottom:12px;transition:border-color .25s,box-shadow .25s}
.room.sel{border-color:var(--lime-d);box-shadow:0 0 0 3px rgba(200,240,49,.35)}
.room .th{height:120px;border-radius:var(--r-md);overflow:hidden;position:relative}
.room .th .art{position:absolute;inset:0;width:100%;height:100%}
.room h4{font-weight:500;font-size:17px}
.room .chips{margin:10px 0 0}
.room .rp{text-align:right}
.room .rp b{font-size:24px;font-weight:500;display:block}
.room .rp small{font-size:12px;color:var(--muted);display:block;margin-bottom:10px}
.room .pick{padding:10px 16px}
.room.sel .pick{background:var(--lime);border-color:var(--lime)}

.amen{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.amen span{display:flex;gap:10px;align-items:center;font-size:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md)}
.minimap{height:280px;border-radius:var(--r-lg);overflow:hidden;position:relative;background:#e9ece8;margin-bottom:16px}
.minimap svg{width:100%;height:100%}
.walk{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.walk>div{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:var(--r-md);padding:14px}
.walk .ico{width:40px;height:40px;margin:0;background:var(--mist);color:var(--text);flex:none}
.walk b{font-weight:500;display:block;font-size:14px}
.walk small{font-size:12px;color:var(--muted)}

.score{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;background:var(--mist);border-radius:var(--r-lg);padding:28px;margin-bottom:16px}
.score .big2{font-size:64px;font-weight:300;line-height:1}
.score small{color:var(--muted);font-size:12px}
.bars{display:grid;gap:12px}
.bars>div{display:grid;grid-template-columns:100px 1fr 38px;gap:12px;align-items:center;font-size:13px}
.bars i{height:6px;border-radius:9px;background:#dcdfdc;overflow:hidden;display:block}
.bars i::before{content:"";display:block;height:100%;width:var(--w);background:var(--ink);border-radius:9px}
.rv{border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.rv .top{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.rv .top i{width:40px;height:40px;border-radius:50%;flex:none}
.rv .top b{font-weight:500;display:block;font-size:14px}
.rv .top small{color:var(--muted);font-size:12px}
.rv .stars{margin-left:auto}
.rv p{font-size:14px;color:var(--muted)}

.ttl{position:relative;padding-left:34px}
.ttl::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:1px;background:var(--line)}
.ttl>div{position:relative;padding-bottom:22px}
.ttl>div::before{content:"";position:absolute;left:-30px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--ink)}
.ttl>div:first-child::before,.ttl>div:last-child::before{background:var(--lime)}
.ttl time{font-size:12px;color:var(--muted);display:block}
.ttl b{font-weight:500}
.ttl p{font-size:14px;color:var(--muted)}

.dchecks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dchecks li{display:flex;gap:10px;align-items:start;font-size:14px}
.dchecks i{width:22px;height:22px;border-radius:50%;background:var(--lime);display:grid;place-items:center;flex:none;font-style:normal}

/* Blog article */
.art-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;gap:48px;align-items:start}
.toc{position:sticky;top:calc(var(--sticky-top,0px) + 30px)}
.toc h5,.shr h5{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:12px}
.toc a{display:block;padding:8px 0 8px 14px;border-left:2px solid var(--line);font-size:14px;color:var(--muted);cursor:pointer;transition:.2s}
.toc a:hover{color:var(--text)}
.toc a.on{border-color:var(--lime-d);color:var(--text);font-weight:500}
.shr{margin-top:30px}
.share{display:flex;gap:8px}
.share button{cursor:pointer}
.share button:hover{background:var(--lime);border-color:var(--lime)}
.prose{font-size:17px;line-height:1.75;max-width:720px}
.prose .lede{font-size:21px;line-height:1.55;color:var(--text);font-weight:300;margin-bottom:28px}
.prose h2{font-size:28px;font-weight:500;margin:44px 0 14px;line-height:1.25;scroll-margin-top:calc(var(--sticky-top,0px) + 30px)}
.prose p{margin-bottom:18px;color:#3d464b}
.prose ol,.prose ul{margin:0 0 20px 22px;color:#3d464b}
.prose li{margin-bottom:8px;padding-left:4px}
.prose li b{color:var(--text);font-weight:600}
.prose blockquote{border-left:4px solid var(--lime);background:var(--mist);padding:22px 26px;border-radius:0 var(--r-md) var(--r-md) 0;font-size:21px;line-height:1.5;font-weight:300;margin:32px 0}
.prose blockquote cite{display:block;font-size:13px;color:var(--muted);font-style:normal;margin-top:10px}
.prose figure{margin:0 0 32px}
.prose .fimg{height:400px;border-radius:var(--r-xl);overflow:hidden;position:relative}
.prose .fimg .art{position:absolute;inset:0;width:100%;height:100%}
.prose figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.tip{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:24px;display:flex;gap:16px;margin:30px 0;font-size:15px;line-height:1.6}
.tip .ico{margin:0;background:var(--lime);color:var(--ink);flex:none}
.tip b{display:block;margin-bottom:4px;color:var(--lime);font-weight:500}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:36px 0 0;padding-top:28px;border-top:1px solid var(--line)}
.author{display:flex;gap:20px;background:var(--mist);border-radius:var(--r-lg);padding:26px;align-items:center;margin-top:28px}
.author .ph{width:84px;height:84px;border-radius:50%;overflow:hidden;position:relative;flex:none}
.author b{font-weight:500;font-size:18px}
.author p{font-size:14px;color:var(--muted);margin-top:4px}
.cmts{margin-top:48px}
.cmt{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.cmt>i{width:40px;height:40px;border-radius:50%;flex:none}
.cmt b{font-weight:500;font-size:14px}
.cmt small{color:var(--muted);font-size:12px;margin-left:8px}
.cmt p{font-size:14px;color:#3d464b;margin-top:4px}
.cform{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;margin-top:24px}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.cform .ctl{border-radius:var(--r-sm)}
.cform textarea{width:100%;min-height:100px;border:1px solid transparent;background:var(--mist);border-radius:var(--r-sm);padding:14px 16px;outline:0;margin-bottom:12px}
.cform textarea:focus{border-color:var(--lime);background:#fff}

/* Service detail */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tier{border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column}
.tier.hi{background:var(--ink);color:#fff;border-color:var(--ink)}
.tier .badge{align-self:flex-start;font-size:11px;font-weight:600;background:var(--lime);color:var(--ink);padding:4px 10px;border-radius:var(--pill);margin-bottom:10px}
.tier h4{font-weight:500;font-size:18px}
.tier>p{font-size:13px;color:var(--muted);margin-top:4px}
.tier.hi>p{color:var(--muted-d)}
.tier .pp{font-size:38px;font-weight:300;margin:18px 0 4px;line-height:1}
.tier .pp small{font-size:13px;color:var(--muted)}
.tier ul{list-style:none;display:grid;gap:8px;margin:16px 0 22px;font-size:13px}
.tier li{display:flex;gap:8px;align-items:center}
.tier li svg{color:var(--lime-d)}
.tier .btn{margin-top:auto;justify-content:space-between}
.tier:not(.hi) .btn{background:var(--mist)}
.mproc{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mproc>div{border-top:2px solid var(--ink);padding-top:16px}
.mproc>div:last-child{border-color:var(--lime)}
.mproc span{font-size:12px;color:var(--muted)}
.mproc b{display:block;font-weight:500;margin:6px 0 4px}
.mproc p{font-size:13px;color:var(--muted)}
.slist{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:10px;margin-bottom:14px}
.slist h5{font-size:13px;font-weight:500;color:var(--muted);padding:10px 12px 6px}
.slist a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:var(--r-sm);font-size:14px;cursor:pointer;transition:.2s}
.slist a svg:last-child{margin-left:auto;opacity:.4}
.slist a:hover{background:var(--mist)}
.slist a.on{background:var(--ink);color:#fff}
.slist a.on svg:first-child{color:var(--lime)}
.qform{background:var(--lime);border-radius:var(--r-lg);padding:24px}
.qform h5{font-size:20px;font-weight:500;line-height:1.2}
.qform p{font-size:13px;margin:6px 0 14px;opacity:.75}
.qform .ctl{background:#fff;border-radius:var(--r-sm);margin-bottom:10px}
.qform .err{font-size:12px;color:#8a1f10;margin-bottom:8px;display:none}
.pic.sm{min-height:320px}
.dfaq .q.open{background:var(--ink)}

.mbar{display:none}
@media (max-width:1024px){
  .dhero{padding:130px 0 44px}
  .dhero .h1{font-size:40px}
  .gal{grid-template-columns:1fr 1fr;grid-template-rows:260px 130px}
  .gal .gmain{grid-row:auto;grid-column:1/-1}
  .gal>*:nth-child(n+4){display:none}
  .gal>*:nth-child(3)::after{content:attr(data-count);position:absolute;inset:0;background:rgba(18,24,27,.62);color:#fff;display:grid;place-items:center;font-weight:500}
  .dlayout,.art-layout{grid-template-columns:1fr;gap:24px}
  .book,.toc{position:static}
  .toc{display:none}
  .hl,.amen{grid-template-columns:1fr 1fr}
  .walk,.policy,.tiers{grid-template-columns:1fr}
  .mproc{grid-template-columns:1fr 1fr;row-gap:20px}
  .mbar{display:flex;position:sticky;bottom:0;z-index:40;background:var(--ink);color:#fff;padding:12px 18px;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--ink-4)}
  .mbar small{display:block;color:var(--muted-d);font-size:11px}
  .mbar b{font-size:20px;font-weight:500}
  .dsec{padding:40px 0 70px}
}
@media (max-width:767px){
  .dhero{padding:116px 0 36px}
  .dhero .h1{font-size:32px}
  .rate strong{font-size:34px}
  .gal{grid-template-rows:210px 100px;gap:8px}
  .subnav{margin-top:24px}
  .incx,.minis,.dchecks,.cform .row{grid-template-columns:1fr}
  .room{grid-template-columns:1fr;gap:12px}
  .room .th{height:170px}
  .room .rp{text-align:left;display:flex;justify-content:space-between;align-items:center}
  .room .rp small{margin:0}
  .score{grid-template-columns:1fr;gap:18px}
  .itin .a>div{padding-left:18px}
  .itin .dn{min-width:72px}
  .prose{font-size:16px}
  .prose .lede{font-size:18px}
  .prose .fimg{height:240px}
  .author{flex-direction:column;align-items:flex-start}
  .dblock>h2{font-size:24px}
  .book{padding:22px}
}

.card[data-go]{cursor:pointer}
.pic .art,.media .art,.hero .art,.cta .art,.face{width:100%;height:100%}
/* =========================================================
   HOME PAGE
   ========================================================= */
.hhero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:170px 0 230px}
.hhero>.art{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.hhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,24,27,.96) 28%,rgba(18,24,27,.5) 68%,rgba(18,24,27,.78)),linear-gradient(180deg,rgba(18,24,27,0) 55%,var(--ink))}
.hgrid{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:end}
.hh{font-size:76px;line-height:1;letter-spacing:-.03em;max-width:12ch}
.hcopy p{color:#c3cacd;max-width:48ch;margin:24px 0 32px;font-size:17px}
.hacts{display:flex;flex-wrap:wrap;gap:12px}
.hhero .trust{color:#aab2b6;margin-top:36px}
.hhero .crumb svg{color:var(--lime)}
.hhero .trust b{color:#fff}
.deps{background:rgba(26,33,36,.74);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-xl);padding:24px 24px 18px}
.deps .dh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.deps h3{font-size:18px;font-weight:500}
.deps .dh span{font-size:12px;color:var(--muted-d)}
.dep{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.08);cursor:pointer}
.dep .dt{background:#fff;color:var(--ink);border-radius:var(--r-md);text-align:center;padding:9px 0 8px;line-height:1}
.dep .dt b{display:block;font-size:22px;font-weight:600}
.dep .dt small{font-size:11px;color:var(--muted)}
.dep h4{font-weight:500;font-size:15px;transition:color .2s}
.dep:hover h4{color:var(--lime)}
.dep .sub{font-size:12px;color:var(--muted-d);display:flex;gap:6px;align-items:center;margin-top:2px}
.seat{height:4px;border-radius:9px;background:var(--ink-4);margin-top:9px;overflow:hidden}
.seat::before{content:"";display:block;height:100%;width:var(--w);background:#fff;border-radius:9px}
.dep .left{font-size:12px;color:var(--muted-d);text-align:right;white-space:nowrap}
.dep .left b{display:block;font-size:20px;color:#fff;font-weight:500;line-height:1.1}
.dep.low .left b{color:var(--lime)}
.dep.low .seat::before{background:var(--lime)}
.deps .dfoot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:var(--muted-d)}
.deps .dfoot a{color:#fff;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.deps .dfoot a:hover{color:var(--lime)}
.jp .jtop{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.jp h4{margin:0}
.jtabs{display:flex;gap:4px;background:var(--mist);padding:4px;border-radius:var(--pill)}
.jtabs button{border:0;background:none;padding:8px 16px;border-radius:var(--pill);font-size:14px;cursor:pointer;display:inline-flex;gap:7px;align-items:center;color:var(--muted);transition:background .25s,color .25s}
.jtabs button:hover{color:var(--text)}
.jtabs button.on{background:var(--ink);color:#fff}
.jtabs button.on svg{color:var(--lime)}
.jp .fields[hidden]{display:none}
.svc4{grid-template-columns:repeat(4,1fr)}
.hsplit .pic{min-height:560px}
.pic .float2{position:absolute;right:20px;top:20px;background:var(--lime);color:var(--ink);border-radius:var(--r-lg);padding:16px 20px;max-width:210px;font-size:13px}
.pic .float2 b{display:block;font-size:15px;font-weight:600;margin-bottom:2px}
@media (max-width:1024px){
  .hgrid{grid-template-columns:1fr;gap:40px}
  .hh{font-size:58px}
  .hhero{padding:140px 0 210px}
  .hhero::after{background:linear-gradient(180deg,rgba(18,24,27,.72),rgba(18,24,27,.96))}
  .svc4{grid-template-columns:repeat(2,1fr)}
  .hsplit .pic{min-height:420px}
}
@media (max-width:767px){
  .hh{font-size:42px}
  .hcopy p{font-size:16px}
  .hhero{padding:118px 0 150px}
  .jtabs{width:100%;overflow-x:auto;scrollbar-width:none}
  .jtabs button{flex:none}
  .deps{padding:18px 18px 14px}
  .dep{grid-template-columns:52px 1fr auto;gap:12px}
  .svc4{grid-template-columns:1fr}
  .svc4 .svc{min-height:0}
  .svc4 .svc h3{margin-top:22px}
  .pic .float2{display:none}
}


/* =========================================================
   WORDPRESS LAYER
   Adapts the Burak kit to real WordPress markup: menus,
   <img> media, forms (CF7 + fallback), filters, pagination,
   lightbox, blog, core blocks and accessibility helpers.
   ========================================================= */
:root{--sticky-top:0px;--hdr-h:84px}
body.admin-bar{--wp-admin:32px}
@media (max-width:782px){body.admin-bar{--wp-admin:46px}}
.site-main{display:block;outline:0}
/* Pages without a dark hero get a solid header (set by main.js) and breathing room. */
.hdr.is-solid{position:relative;background:var(--ink)}
.apex-no-hero .site-main>.sec:first-child,.apex-no-hero .builder-content>.sec:first-child{padding-top:70px}
.builder-content>p:empty{display:none}
ul.menu,.ftr ul,.share,.soc,.info-list,.cat-list,.pager ul{list-style:none;margin:0;padding:0}
a:hover{color:inherit}
.muted{color:var(--muted)}
.center-row{justify-content:center}
.narrow{max-width:820px}
.mt{margin-top:28px}
.h4{font-size:18px;font-weight:400;line-height:1.3}
.h4 b,.h3 b{font-weight:600}
.h3 a{transition:color .2s}
.h3 a:hover{color:var(--lime-d)}
.empty{grid-column:1/-1;text-align:center;padding:40px;color:var(--muted);background:#fff;border-radius:var(--r-lg);border:1px dashed var(--line)}

/* Accessibility */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus,.skip-link:focus{background:var(--lime);color:var(--ink);clip:auto!important;clip-path:none;display:block;height:auto;left:12px;top:12px;padding:12px 18px;width:auto;z-index:100000;border-radius:var(--pill);font-weight:600}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Media: real images replace the kit's SVG scenes */
img.art,img.face,.art-fallback{object-fit:cover;width:100%;height:100%}
.art-fallback{display:block;background:linear-gradient(135deg,#2a3236,#3b4549 60%,#56614a)}
.media>img.art,.pic>img.art,.hero>img.art,.hhero>img.art,.dhero>img.art,.cta>img.art,.gal img.art,.room .th img,.mini .th img{position:absolute;inset:0}
.media.media-wide{aspect-ratio:16/10}
.room .th,.mini .th{display:block}
.featpost .media{display:block}

/* ---------- Header ---------- */
.hdr{top:var(--wp-admin,0px);transition:background .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}
.hdr .wrap{gap:20px}
.logo{flex:none}
.logo-img{max-height:46px;width:auto}
.nav{flex:1;justify-content:center}
.nav .menu{display:flex;gap:6px;align-items:center}
.nav .menu>li{position:relative}
.nav .menu>li>a{color:#fff;opacity:.78;font-size:14px;padding:10px 14px;border-radius:var(--pill);display:flex;align-items:center;gap:4px;transition:opacity .2s,background .2s}
.nav .menu>li>a:hover,.nav .menu>li:focus-within>a{opacity:1}
.nav .menu>li.current-menu-item>a,.nav .menu>li.current-menu-ancestor>a,.nav .menu>li.current_page_parent>a{opacity:1;background:rgba(255,255,255,.08)}
.nav .menu-item-has-children>a::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:4px}
.nav .sub-menu{list-style:none;margin:0;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-radius:var(--r-md);padding:8px;box-shadow:var(--shadow-h);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s var(--ease);z-index:30}
.nav .menu>li:hover>.sub-menu,.nav .menu>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.nav .sub-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--text)}
.nav .sub-menu a:hover,.nav .sub-menu .current-menu-item>a{background:var(--mist)}
.hdr-actions{display:flex;align-items:center;gap:14px;flex:none}
.hdr-phone{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;opacity:.85}
.hdr-phone:hover{opacity:1;color:var(--lime)}
.burger .i-close{display:none}
.burger[aria-expanded="true"] .i-open{display:none}
.burger[aria-expanded="true"] .i-close{display:block}
/* sticky / solid states */
.apex-sticky-header .hdr.is-stuck{position:fixed;background:rgba(18,24,27,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px -20px rgba(0,0,0,.6)}
.apex-sticky-header .hdr.is-stuck .wrap{height:70px}
.apex-header-solid .hdr,.hdr.is-solid{position:relative;background:var(--ink)}
.apex-sticky-header .hdr.is-solid,.apex-sticky-header .hdr.is-solid.is-stuck{position:sticky;top:var(--wp-admin,0px)}
body:not(:has(.site-main .hero,.site-main .hhero,.site-main .dhero)) .hdr{position:relative;background:var(--ink)}
body.apex-sticky-header:not(:has(.site-main .hero,.site-main .hhero,.site-main .dhero)) .hdr{position:sticky;top:var(--wp-admin,0px)}
.apex-header-solid .hero,.apex-header-solid .hhero,.apex-header-solid .dhero{padding-top:110px}
.apex-header-solid.apex-sticky-header .hdr{position:sticky;top:var(--wp-admin,0px)}
body.apex-sticky-header{--sticky-top:calc(var(--wp-admin,0px) + 70px)}
/* drawer */
.drawer[hidden]{display:none!important}
.drawer .menu a{display:block;padding:12px 14px;border-radius:10px;color:var(--text)}
.drawer .menu a:hover,.drawer .current-menu-item>a{background:var(--mist);font-weight:600}
.drawer .sub-menu{list-style:none;margin:0 0 6px 14px;padding-left:10px;border-left:1px solid var(--line)}
.drawer .sub-menu a{font-size:14px;padding:9px 12px}
.drawer .btn{margin-top:8px}

/* ---------- Heroes ---------- */
.hero .h1 b,.dhero .h1 b,.hh b{font-weight:600}
.hh em,.hero .h1 em{font-style:normal;font-weight:600;color:var(--lime)}
.crumb ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;align-items:center}
.crumb li{display:inline-flex;gap:8px;align-items:center}
.crumb svg{opacity:.5}
.crumb [aria-current]{color:var(--lime)}
.hero .crumb{justify-content:center}
.dhero .crumb{margin-bottom:20px}
.dhero .lead{color:#c3cacd;margin-top:14px}
.dhero .gal{margin-top:40px}
.dchips span svg{flex:none}
.rate .stars{margin-top:4px}
.post-hero .h1{max-width:24ch}

/* ---------- Panels & fields ---------- */
.panel .h4{margin-bottom:18px}
.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.panel-head .h4{margin:0}
.found{font-size:13px;color:var(--muted)}
.fields-filter{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.fields-filter .filter-actions{grid-column:auto}
.fields>.btn,.filter-actions .btn{height:46px;padding:6px 6px 6px 20px}
.filter-actions{display:flex;align-items:center;gap:14px}
.filter-actions .reset{font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.filter-actions .reset:hover{color:var(--text)}
.ctl select{background-image:none;padding-right:0}
.ctl input[type=number]{cursor:text}
.ctl input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}
.jp form[hidden]{display:none}
.jp .fields{grid-template-columns:repeat(4,1fr) auto}
.filter-panel.is-loading{opacity:.85}
.cards-grid{transition:opacity .25s}
.cards-grid.is-loading{opacity:.35;pointer-events:none}
.results-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.results-sec .tabs a,.tabs a{border:1px solid var(--line);background:#fff;border-radius:var(--pill);padding:10px 18px;font-size:14px;transition:.25s}
.tabs a:hover{border-color:var(--text)}
.tabs a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.dark .tabs a{background:transparent;border-color:var(--ink-4);color:#fff}
.card[hidden]{display:none}

/* ---------- Cards ---------- */
.card .h3{font-size:19px}
.price s{font-size:13px;margin-left:6px;opacity:.7}
.stars .off{opacity:.25}
.stars svg{display:block}
.meta .loc{display:inline-flex;gap:6px;align-items:center}
.feat li span{min-width:0}
.btnrow .btn-ghost{justify-content:center}
.svc{position:relative}
.svc .stretched::after{content:"";position:absolute;inset:0;border-radius:inherit}
.svc h3 a{color:inherit}
.bmeta{flex-wrap:wrap}
.byline{font-size:13px;color:var(--muted)}
.card .bmeta+.h3{margin-top:10px}
.tcard .av{object-fit:cover;display:grid;place-items:center;background:var(--mist);font-weight:600}
.tcard .stars{margin-bottom:12px}
.tcard h3{font-weight:500;font-size:15px;margin-bottom:8px}
.tcard blockquote{margin:0 0 20px;font-size:14px;color:var(--muted)}
.tcard blockquote p{margin:0 0 8px}
.tcard.photo blockquote{color:#d8dde0}
.tcard.photo .face{position:absolute;inset:0;opacity:.35}
.tcard.photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,24,27,.3),rgba(18,24,27,.92));z-index:1}
.slider{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 26px;outline:0}
.slider::-webkit-scrollbar{display:none}
.slider>*{scroll-snap-align:start}
.slnav button:disabled{opacity:.35;cursor:default}
.dcard h3,.lcard h3{font-size:18px;font-weight:500}

/* ---------- Sections ---------- */
.q h3{font:inherit;margin:0}
.q .a>div p{margin:0 0 8px}
.q:not(.open) .a>div{visibility:hidden}
.faq .q:not(.open):hover{background:var(--mist)}
.dark .faq .q:not(.open):hover{background:var(--ink-3)}
.faq-pic{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:320px;margin-top:28px}
.faq-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta .h2{color:#fff}
.cta p{color:#c3cacd;margin-top:14px}
.incl .ico{margin:0 auto 14px}
.stats strong{font-variant-numeric:tabular-nums}
.info-list{display:grid;gap:4px}
.info .it,.info-list .it{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--ink-4)}
.info-list .it:last-child{border-bottom:0}
.info .it .ico,.info-list .ico{margin:0;background:var(--ink-3);flex:none}
.info-list a.it:hover .ico{background:var(--lime);color:var(--ink)}
.info-list small{display:block;color:var(--muted-d);font-size:12px}
.map-embed{border-radius:var(--r-xl);overflow:hidden;height:420px;background:#e9ece8}
.map-embed iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.3)}
.float strong sup{color:var(--lime-d);font-size:22px}

/* ---------- Forms (native fallback + Contact Form 7) ---------- */
.apex-form{display:block}
.apex-form .row,.apex-form .wpcf7-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.apex-form .fld{margin-bottom:14px}
.apex-form .row .fld{margin-bottom:0}
.apex-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.apex-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=file]),.apex-form select,.apex-form textarea{width:100%;height:46px;border:1px solid transparent;background:var(--mist);border-radius:var(--r-sm);padding:0 14px;outline:0;font-size:14px;transition:border-color .2s,background .2s;appearance:none;-webkit-appearance:none}
.apex-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%237d858a' stroke-width='1.6'%3E%3Cpath d='m2 4 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.apex-form textarea{height:auto;min-height:110px;padding:12px 14px;resize:vertical}
.apex-form input:focus,.apex-form select:focus,.apex-form textarea:focus{border-color:var(--lime-d);background:#fff}
.apex-form input[type=file]{font-size:13px;width:100%;padding:10px;background:var(--mist);border-radius:var(--r-sm)}
.apex-form .submit-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:6px}
.apex-form .submit-row .note,.apex-form .note{font-size:12px;color:var(--muted)}
.book .apex-form .btn,.book .wpcf7-submit{width:100%;justify-content:space-between}
.form-msg{padding:12px 16px;border-radius:var(--r-sm);font-size:14px;margin-bottom:14px}
.form-msg.is-ok{background:#eef8d2;color:#3b4a0b}
.form-msg.is-error{background:#fbe9e6;color:#8a1f10}
.inline-form{display:flex;gap:8px;background:var(--ink-3);border-radius:var(--pill);padding:5px}
.inline-form input{flex:1;min-width:0;background:transparent!important;border:0!important;color:#fff;height:44px!important;padding:0 16px!important}
.inline-form input::placeholder{color:var(--muted-d)}
/* CF7 */
.wpcf7 form .wpcf7-response-output{margin:14px 0 0;padding:12px 16px;border-radius:var(--r-sm);font-size:14px;border-width:1px}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--lime-d);background:#eef8d2}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:#e5b3a9;background:#fbe9e6}
.wpcf7-not-valid-tip{font-size:12px;color:#b3402f;margin-top:4px}
.wpcf7-form-control-wrap{display:block}
.wpcf7-spinner{margin:0 0 0 10px}
.wpcf7-submit{display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:var(--ink);border:0;border-radius:var(--pill);padding:13px 24px;font-weight:500;font-size:14px;cursor:pointer;transition:background .25s}
.wpcf7-submit:hover{background:var(--lime-d)}
.apex-form-newsletter .wpcf7-form{display:flex;gap:8px;background:var(--ink-3);border-radius:var(--pill);padding:5px;align-items:center;flex-wrap:wrap}
.apex-form-newsletter .wpcf7-form>p{margin:0;display:contents}
.apex-form-newsletter .wpcf7-form input[type=email]{background:transparent;border:0;color:#fff}
.apex-form-newsletter .wpcf7-response-output{flex-basis:100%}

/* ---------- Pagination ---------- */
.pager{margin-top:40px}
.pager ul{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.pager .page-numbers{min-width:42px;height:42px;padding:0 12px;border-radius:var(--pill);border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:14px;transition:.2s}
.pager a.page-numbers:hover{border-color:var(--text)}
.pager .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.pager .page-numbers.dots{border:0;background:none}
.post-navigation{margin-top:32px}
.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.post-navigation a{display:block;border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;font-weight:500;transition:border-color .2s}
.post-navigation a:hover{border-color:var(--text)}
.post-navigation .nav-next{text-align:right;grid-column:2}
.post-navigation small{display:block;font-size:12px;color:var(--muted);font-weight:400}

/* ---------- Detail pages ---------- */
.subnav{top:var(--sticky-top);z-index:25}
.subnav a{padding:18px 14px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s}
.subnav a:hover{color:var(--text)}
.subnav a.on{color:var(--text);border-color:var(--lime-d);font-weight:500}
.subnav .sub-cta{margin-left:auto;align-self:center;padding:8px 16px;border:0;border-radius:var(--pill);background:var(--lime);color:var(--ink);font-weight:500}
.subnav .sub-cta:hover{color:var(--ink);background:var(--lime-d)}
.dblock{scroll-margin-top:calc(var(--sticky-top) + 70px)}
.dblock h3{font-size:inherit}
.itin .day h3{margin:0;font:inherit}
.itin .day>h3>button{display:flex;gap:16px;align-items:center;padding:16px 18px;width:100%;background:none;border:0;text-align:left;cursor:pointer;font-size:15px;color:inherit}
.itin .day>h3>button b{font-weight:500;flex:1}
.q>h3>button{color:inherit}
.itin .a>div p{margin:0 0 8px}
.gal{display:grid}
.gal-2{grid-template-columns:2fr 1fr;grid-template-rows:180px 180px}
.gal-2 .gmain{grid-row:span 2}
.gal-2>*:nth-child(2){grid-row:span 2}
.gal-3{grid-template-columns:2fr 1fr}
.gal-4>*:nth-child(4){grid-column:span 2}
.gal button{display:block;width:100%;height:100%}
.room h3{font-weight:500;font-size:17px}
.room .muted{display:flex;gap:6px;align-items:center;font-size:13px;margin-top:4px}
.room .pick[aria-checked="true"]{background:var(--lime);border-color:var(--lime)}
.book{top:calc(var(--sticky-top) + 72px);scroll-margin-top:calc(var(--sticky-top) + 20px)}
.book .h4{font-size:20px;font-weight:500;margin:6px 0 16px}
.book .from s{font-size:14px;opacity:.6;margin:0 4px}
.book .from span{font-size:12px}
.book .qty{margin-bottom:12px}
.book .qty output{min-width:26px;text-align:center;font-weight:600;align-self:center}
.book .sum{margin:6px 0 16px;padding:14px 0 0}
.book .sum>div{align-items:baseline}
.book .sum small{font-size:12px;color:var(--muted)}
.book .sum .tot{border:0;padding:0;margin:0;font-size:22px}
.book .rsel{margin:0 0 12px}
a.help:hover .ico{transform:rotate(-8deg)}
.help .ico{transition:transform .25s}
.related{padding-top:0}
.rv{margin-bottom:12px}
.rv .top i{display:grid;place-items:center;background:var(--mist);font-style:normal;font-weight:600}
.rv-title{font-weight:500;font-size:15px;margin-bottom:6px}
.rv p{margin:0 0 6px}
.review-form{margin-top:18px}
.review-form summary{list-style:none;display:inline-flex;cursor:pointer}
.review-form summary::-webkit-details-marker{display:none}
.review-form[open] summary{margin-bottom:16px}
.review-form .apex-form{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.dfaq .q{border:1px solid var(--line);margin-bottom:8px}
.dfaq .q.open{border-color:var(--ink)}
.mbar{bottom:0}
.mbar .btn{padding:6px 6px 6px 18px}
/* lightbox */
.lightbox{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;margin:0;overflow:hidden}
.lightbox::backdrop{background:rgba(10,14,16,.94)}
.lightbox[open]{display:grid;grid-template-columns:64px 1fr 64px;align-items:center}
.lightbox figure{margin:0;display:grid;place-items:center;height:100vh;padding:60px 0}
.lightbox img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:var(--r-md)}
.lightbox figcaption{color:#c3cacd;font-size:13px;margin-top:12px}
.lightbox button{width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer;margin:auto;transition:background .2s}
.lightbox button:hover{background:var(--lime);color:var(--ink)}
.lb-close{position:absolute;top:20px;right:20px;z-index:2}
html.lb-open{overflow:hidden}

/* ---------- Blog & article ---------- */
.blayout>.grid{align-content:start}
.side-box .widget-title,.side-widgets .widget-title,.side-box h2{font-size:16px;font-weight:500;margin-bottom:14px}
.side-box ul{list-style:none;margin:0;padding:0}
.side-box li a{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.side-box li:last-child a{border-bottom:0}
.side-box li a:hover{color:var(--lime-d)}
.cat-list span{color:var(--muted)}
.side-box.news p{font-size:13px;color:var(--muted-d)}
.side-box.news .inline-form{margin-top:14px}
.widget{margin-bottom:18px}
.search-form{display:flex;gap:8px;background:var(--mist);border-radius:var(--pill);padding:5px 5px 5px 18px;align-items:center}
.search-form input[type=search]{flex:1;min-width:0;border:0;background:transparent;outline:0;height:40px}
.search-form button{width:40px;height:40px;border-radius:50%;border:0;background:var(--ink);color:var(--lime);display:grid;place-items:center;cursor:pointer}
.search-again{max-width:520px;margin:0 auto 40px}
.toc-h{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:12px}
.toc ol{list-style:none;margin:0;padding:0}
.toc[hidden]{display:none}
.share li a{width:38px;height:38px}
.share a:hover{background:var(--lime);border-color:var(--lime)}
.share button.circ{cursor:pointer}
.tags a{font-size:13px;border:1px solid var(--line);padding:5px 12px;border-radius:var(--pill);color:var(--muted)}
.tags a:hover{border-color:var(--text);color:var(--text)}
.author img{border-radius:50%;flex:none}
.prose>*:first-child{margin-top:0}
.prose h3{font-size:22px;font-weight:500;margin:32px 0 12px}
.prose h4{font-size:18px;font-weight:500;margin:26px 0 10px}
.prose a{text-decoration:underline;text-decoration-color:var(--lime-d);text-underline-offset:3px;text-decoration-thickness:2px}
.prose a:hover{color:var(--lime-d)}
.prose img{border-radius:var(--r-lg)}
.prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15px}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.prose th{font-weight:600;background:var(--mist)}
.prose pre{background:var(--ink);color:#e6ebe8;padding:18px;border-radius:var(--r-md);overflow-x:auto;margin:0 0 20px;font-size:14px}
.prose code{background:var(--mist);padding:2px 6px;border-radius:6px;font-size:.9em}
.prose pre code{background:none;padding:0}
.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.prose .wp-block-button__link{background:var(--lime);color:var(--ink);border-radius:var(--pill);padding:12px 22px;text-decoration:none;font-weight:500}
.prose .wp-block-quote,.prose .wp-block-pullquote blockquote{border-left:4px solid var(--lime)}
.cmts .h3{margin-bottom:10px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list .children{list-style:none;margin:0 0 0 30px;padding:0}
.comment-body{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.comment-author img{border-radius:50%;float:left;margin-right:12px}
.comment-author .fn{font-weight:500;font-style:normal;font-size:14px}
.comment-author .says{display:none}
.comment-metadata{font-size:12px;color:var(--muted);width:100%;margin-left:52px;margin-top:-18px}
.comment-content{width:100%;font-size:14px;color:#3d464b;padding-left:52px}
.reply a{font-size:12px;font-weight:500;margin-left:52px;color:var(--lime-d)}
.comment-respond{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;margin-top:24px}
.comment-form p{margin-bottom:12px}
.comment-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;border:1px solid transparent;background:var(--mist);border-radius:var(--r-sm);padding:12px 14px;outline:0}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--lime-d);background:#fff}
.comment-form .submit{background:var(--ink);color:#fff;border:0;border-radius:var(--pill);padding:12px 24px;cursor:pointer}
.comment-form .submit:hover{background:var(--lime);color:var(--ink)}
.comment-form-cookies-consent{display:flex;gap:8px;align-items:center}
.comment-form-cookies-consent label{margin:0}

/* WordPress core alignment & blocks */
.alignleft{float:left;margin:6px 24px 16px 0}
.alignright{float:right;margin:6px 0 16px 24px}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignwide{margin-left:-60px;margin-right:-60px;max-width:calc(100% + 120px)}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:100vw}
.wp-caption,.wp-block-image figcaption{font-size:13px;color:var(--muted)}
.wp-caption-text{margin-top:8px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}
.sticky .card{outline:2px solid var(--lime)}
.bypostauthor>.comment-body .fn::after{content:" ★";color:var(--lime-d)}
.page-links{margin-top:24px;display:flex;gap:6px;font-size:14px}

/* ---------- Footer ---------- */
.news-band{position:relative;z-index:2;display:grid;grid-template-columns:1fr minmax(280px,440px);gap:30px;align-items:center;background:var(--ink-2);border:1px solid var(--ink-4);border-radius:var(--r-xl);padding:32px 36px;margin-bottom:70px}
.news-band p{margin-top:6px}
.ftr .cols-4{grid-template-columns:2fr 1fr 1fr 1.3fr}
.ftr .cols-3{grid-template-columns:2fr 1fr 1.3fr}
.ftr .cols-2{grid-template-columns:2fr 1.3fr}
.ftr-h{font-size:13px;font-weight:500;color:var(--muted-d);margin-bottom:16px}
.ftr .menu{display:grid;gap:12px;font-size:14px}
.ftr .menu a{opacity:.85;transition:.2s}
.ftr .menu a:hover{color:var(--lime);opacity:1}
.ftr .info-list .it{border-color:var(--ink-4);padding:10px 0;font-size:14px}
.ftr .info-list .ico{width:40px;height:40px}
.soc a{transition:.2s}
.soc li:not(:first-child) a:not(:hover){background:var(--ink-3);color:#fff}
.ftr .big{white-space:nowrap;overflow:hidden;font-size:clamp(70px,17vw,240px)}

/* ---------- Motion ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ---------- Responsive (WordPress layer) ---------- */
@media (max-width:1024px){
  :root{--hdr-h:72px}
  .hdr .wrap{height:72px}
  .hdr-phone,.hdr-cta{display:none}
  .drawer{position:absolute;top:calc(100% - 4px);left:16px;right:16px;background:#fff;border-radius:var(--r-lg);padding:12px;box-shadow:var(--shadow-h);z-index:30;max-height:calc(100vh - 110px);overflow:auto}
  .jp .fields{grid-template-columns:1fr 1fr}
  .jp .fields .btn,.filter-actions{grid-column:1/-1}
  .filter-actions .btn{flex:1;justify-content:space-between}
  .fields-filter{grid-template-columns:1fr 1fr}
  .slider{grid-auto-columns:calc((100% - 24px)/2)}
  .ftr .cols-4,.ftr .cols-3{grid-template-columns:1fr 1fr}
  .ftr .about-col{grid-column:1/-1}
  .news-band{grid-template-columns:1fr}
  .alignwide{margin-left:0;margin-right:0;max-width:100%}
  .blog-side{order:2}
  .gal-2,.gal-3{grid-template-columns:1fr 1fr;grid-template-rows:260px 130px}
  .gal-2>*:nth-child(2){grid-row:auto}
  .gal>*[data-count]:nth-child(3)::after{content:attr(data-count)}
  body.apex-sticky-header{--sticky-top:calc(var(--wp-admin,0px) + 64px)}
  .apex-sticky-header .hdr.is-stuck .wrap{height:64px}
  .mbar{position:fixed;left:0;right:0}
  body.has-mbar{padding-bottom:70px}
}
@media (max-width:767px){
  .jp .fields,.fields-filter,.apex-form .row,.apex-form .wpcf7-form .row{grid-template-columns:1fr}
  .slider{grid-auto-columns:88%}
  .ftr .cols-4,.ftr .cols-3,.ftr .cols-2{grid-template-columns:1fr}
  .news-band{padding:24px}
  .inline-form{flex-wrap:wrap;border-radius:var(--r-lg)}
  .inline-form .btn{width:100%;justify-content:space-between}
  .post-navigation .nav-links{grid-template-columns:1fr}
  .post-navigation .nav-next{grid-column:auto;text-align:left}
  .subnav .sub-cta{display:none}
  .lightbox[open]{grid-template-columns:1fr;grid-template-rows:1fr auto}
  .lightbox figure{padding:60px 12px 0;height:auto}
  .lb-prev,.lb-next{position:absolute;bottom:24px}
  .lb-prev{left:24%}.lb-next{right:24%}
  .alignleft,.alignright{float:none;margin:0 0 16px}
  .gallery{grid-template-columns:1fr 1fr}
  .results-head{align-items:start}
  .map-embed{height:300px}
}
@media print{
  .hdr,.ftr,.subnav,.mbar,.book .apex-form,.slnav,.lightbox{display:none!important}
  .hero,.hhero,.dhero{background:none;color:#000;padding:20px 0}
  .dlayout{grid-template-columns:1fr}
}
.apex-form .row>*,.apex-form .fld{min-width:0}
.apex-form input[type=date],.apex-form input[type=month]{min-width:0;max-width:100%}
.feat li,.chip,.dchips span,.sub,.meta .loc,.room .muted{align-items:flex-start}
.feat svg,.chip svg,.meta svg,.room .muted svg,.sub svg{flex:none;margin-top:2px}
.cgrid+.map-embed,.map-embed{margin-top:24px}
/* Blog refinements */
.blayout>.featpost,.blayout .featpost{margin-bottom:24px;grid-column:1/-1}
.featpost .h2{font-size:clamp(26px,2.6vw,34px);margin:14px 0 10px}
.featpost .body{justify-content:center}
.search-form{padding:5px;gap:6px}
.search-form .ctl{flex:1;min-width:0;background:transparent;padding:0 10px;height:40px}
.search-form .btn{padding:10px 16px;flex:none}
.side-box .search-form{flex-direction:column;align-items:stretch;border-radius:var(--r-md)}
.side-box .search-form .btn{justify-content:center}
.side-box li{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.side-box li:last-child{border-bottom:0}
.side-box li a{border:0;flex:1;color:var(--text)}
.side-box .tagcloud{display:flex;flex-wrap:wrap;gap:6px}
.side-box .tagcloud a{font-size:13px!important;border:1px solid var(--line);border-radius:var(--pill);padding:4px 11px}
.side-box .tagcloud a:hover{border-color:var(--text)}
.byline{display:inline-flex;align-items:center;gap:8px}
.byline img{border-radius:50%;flex:none}
/* Stats as a definition list: number (dd) shown above label (dt) */
dl.stats{margin:0}
.stats>div{display:flex;flex-direction:column-reverse;justify-content:flex-end}
.stats dd{margin:0;font-size:56px;font-weight:300;line-height:1;font-variant-numeric:tabular-nums}
.stats dd sup{color:var(--lime);font-size:28px;font-weight:500}
.stats dt{color:var(--muted-d);font-size:14px;margin-top:8px}
.split .trust,.hacts+.trust{margin-top:22px}
@media (max-width:767px){.stats dd{font-size:44px}}
.minimap iframe{width:100%;height:100%;border:0;display:block}

/* =========================================================
   v1.1 — ISSUE FIXES
   Appended last so it wins the cascade without touching the
   original rules above. Keep new overrides inside this block.
   ========================================================= */

/* ---------------------------------------------------------
   0. Global: make [hidden] actually hide.
   `img,svg{display:block}` above beat the UA `[hidden]` rule,
   so every lightbox slide rendered at once (gallery "slider"
   looked broken). This one line fixes it everywhere.
   --------------------------------------------------------- */
[hidden]{display:none!important}

/* ---------------------------------------------------------
   1. FOOTER — social icons + newsletter subscribe form
   --------------------------------------------------------- */
.ftr .soc,.info .soc{display:flex;flex-flow:row wrap;align-items:center;gap:10px;margin-top:32px;list-style:none;padding:0}
.ftr .soc li{margin:0;display:block}
.ftr .soc a,.info .soc a{width:40px;height:40px;border-radius:50%;background:var(--ink-3);color:#fff;display:grid;place-items:center;flex:none;transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.ftr .soc li:first-child>a{background:var(--lime);color:var(--ink)}
.ftr .soc a:hover,.ftr .soc a:focus-visible,.info .soc a:hover,.info .soc a:focus-visible{background:var(--lime);color:var(--ink);transform:translateY(-3px)}
.ftr .soc svg{width:18px;height:18px}

.news-band{align-items:center}
.news-band>div:first-child{min-width:0}
.ftr .apex-form,.side-box .apex-form{display:block}
.ftr .inline-form,.side-box .inline-form{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;background:var(--ink-3);border:1px solid var(--ink-4);border-radius:var(--pill);padding:5px}
.side-box .inline-form{background:var(--mist);border-color:var(--line)}
.inline-form input[type=email]{width:auto!important;flex:1 1 auto;min-width:0;height:44px!important;font-size:14px}
.ftr .inline-form input[type=email]{color:#fff}
.side-box .inline-form input[type=email]{color:var(--text)}
.inline-form input[type=email]::placeholder{color:var(--muted-d);opacity:1}
.inline-form .btn{flex:0 0 auto;white-space:nowrap}
.ftr .form-msg,.side-box .form-msg{flex-basis:100%;margin:0 0 10px}
.ftr .form-msg.is-ok{background:rgba(200,240,49,.16);color:var(--lime)}
.ftr .form-msg.is-error{background:rgba(255,120,100,.14);color:#ffb4a8}
@media (max-width:600px){
  .ftr .inline-form{flex-wrap:wrap;border-radius:var(--r-lg);padding:10px;gap:10px}
  .ftr .inline-form input[type=email]{flex:1 1 100%;background:rgba(255,255,255,.06)!important;border-radius:var(--pill);padding:0 18px!important}
  .ftr .inline-form .btn{width:100%;justify-content:space-between}
}

/* ---------------------------------------------------------
   2. BUTTONS — complete hover / focus / active states
   Every variant now changes on hover (dark & white had none)
   and the arrow chip inverts with it.
   --------------------------------------------------------- */
.btn{transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn .arr{transition:background .25s var(--ease),color .25s var(--ease),transform .3s var(--ease)}
.btn .arr svg{transition:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:2px solid var(--lime-d);outline-offset:3px}

.btn-lime:hover,.btn-lime:focus-visible{background:var(--lime-d);color:var(--ink);box-shadow:0 14px 28px -18px var(--lime-d)}
.btn-lime:hover .arr,.btn-lime:focus-visible .arr{background:var(--ink);color:var(--lime-d)}

.btn-dark:hover,.btn-dark:focus-visible{background:var(--lime);color:var(--ink);box-shadow:0 14px 28px -18px rgba(18,24,27,.6)}
.btn-dark:hover .arr,.btn-dark:focus-visible .arr{background:var(--ink);color:var(--lime)}

.btn-white:hover,.btn-white:focus-visible{background:var(--lime);color:var(--ink);box-shadow:0 14px 28px -18px rgba(0,0,0,.5)}
.btn-white:hover .arr,.btn-white:focus-visible .arr{background:var(--ink);color:var(--lime)}

.btn-ghost{transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.btn-ghost:hover,.btn-ghost:focus-visible{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-ghost:hover .arr{background:var(--lime);color:var(--ink)}
.dark .btn-ghost,.ftr .btn-ghost{color:#fff;border-color:var(--ink-4)}
.dark .btn-ghost:hover,.ftr .btn-ghost:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}

.btn:disabled,.btn[aria-disabled="true"],.btn.is-busy{opacity:.55;pointer-events:none;transform:none;box-shadow:none}

/* secondary interactive elements that were missing a hover */
.tabs a:hover{border-color:var(--text);background:var(--mist)}
.dark .tabs a:hover{background:var(--ink-3);border-color:var(--ink-4)}
.qty button{transition:background .2s var(--ease),color .2s var(--ease)}
.qty button:hover:not(:disabled){background:var(--lime);color:var(--ink)}
.circ{transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
a.circ:hover,button.circ:hover{background:var(--lime);border-color:var(--lime);color:var(--ink);transform:rotate(45deg)}
.pager a:hover,.page-numbers:hover{border-color:var(--text)}

/* ---------------------------------------------------------
   3. DETAIL PAGES — section spacing & small layout repairs
   --------------------------------------------------------- */
.dblock{scroll-margin-top:calc(var(--sticky-top,0px) + 92px)}
.dblock:empty{display:none}
.dblock>.hl{margin-top:0}
.dmain>.dblock:first-child{padding-top:0}
.dblock .prose>*:last-child{margin-bottom:0}
.subnav .wrap{-webkit-overflow-scrolling:touch}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{display:inline-flex;align-items:center;flex:none}
@media (max-width:1024px){
  .dlayout{grid-template-columns:1fr;gap:32px}
  .dside{order:-1}
  .book{position:static}
  .hl{grid-template-columns:repeat(2,1fr)}
  .policy{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .dhero .h1{font-size:32px}
  .incx,.minis,.policy,.hl{grid-template-columns:1fr}
  .dsec{padding:32px 0 80px}
  .dblock{padding:32px 0}
}

/* ---------------------------------------------------------
   4. MOBILE HEADER — drawer, CTA and burger
   `.nav,.hdr .btn{display:none}` above also hid the drawer's
   own CTA (the drawer lives inside .hdr). Restored here.
   --------------------------------------------------------- */
@media (max-width:1024px){
  .hdr .wrap{height:var(--hdr-h,72px);gap:12px}
  .logo{font-size:19px;min-width:0}
  .logo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .logo-img{max-height:38px}
  .hdr-actions{gap:8px}
  .burger{display:grid;flex:none}

  .drawer,.drawer.open{display:block;position:fixed;top:calc(var(--wp-admin,0px) + var(--hdr-h,72px));left:0;right:0;bottom:0;margin:0;padding:18px 18px 32px;border-radius:0;background:#fff;box-shadow:none;max-height:none;overflow-y:auto;overscroll-behavior:contain;z-index:60;-webkit-overflow-scrolling:touch}
  .drawer[hidden]{display:none!important}
  .drawer .menu{display:grid;gap:2px}
  .drawer .menu>li>a{font-size:16px;font-weight:500;padding:13px 14px}
  .drawer .sub-menu a{color:var(--muted);font-weight:400}
  .drawer .btn{display:inline-flex;width:100%;justify-content:space-between;margin-top:18px}
  .drawer-contact{display:grid;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
  .drawer-contact a{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);padding:6px 14px}
  .drawer-contact a:hover{color:var(--text)}
  body.apex-drawer-open{overflow:hidden}
  .hdr:has(.drawer:not([hidden])){background:var(--ink);position:fixed;top:var(--wp-admin,0px);left:0;right:0}
  .hdr.is-drawer-open{background:var(--ink);position:fixed;top:var(--wp-admin,0px);left:0;right:0}
}
@media (max-width:767px){
  :root{--hdr-h:64px}
  .hdr .wrap{height:64px}
  .burger{width:40px;height:40px}
}

/* ---------------------------------------------------------
   5. BOOKING POPUP (dialog) opened from listing cards
   --------------------------------------------------------- */
.apex-modal{border:0;padding:0;background:transparent;width:min(580px,calc(100vw - 28px));max-width:none;max-height:calc(100vh - 40px);overflow:visible}
.apex-modal::backdrop{background:rgba(10,14,16,.74);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.apex-modal[open]{animation:apex-pop .28s var(--ease)}
@keyframes apex-pop{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.apex-modal .mbox{background:#fff;border-radius:var(--r-xl);padding:30px;position:relative;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:var(--shadow-h)}
.apex-modal .m-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:0;background:var(--mist);color:var(--text);display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s}
.apex-modal .m-close:hover{background:var(--lime);transform:rotate(90deg)}
.apex-modal .m-head{padding-right:48px}
.apex-modal .m-eyebrow{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.apex-modal h2{font-size:25px;font-weight:300;line-height:1.2;margin-top:6px}
.apex-modal h2 b{font-weight:600}
.apex-modal .m-price{margin-top:12px;font-size:14px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.apex-modal .m-price b{font-size:26px;font-weight:500;color:var(--text)}
.apex-modal .m-body{margin-top:22px}
.apex-modal .m-foot{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.apex-modal .m-foot a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.apex-modal .m-foot a:hover{color:var(--lime-d)}
.apex-spin{display:grid;place-items:center;padding:46px 0;gap:14px;color:var(--muted);font-size:14px}
.apex-spin::before{content:"";width:30px;height:30px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--lime-d);animation:apex-rot .8s linear infinite}
@keyframes apex-rot{to{transform:rotate(360deg)}}
html.apex-modal-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.apex-modal[open]{animation:none}.apex-spin::before{animation-duration:2s}}
@media (max-width:600px){
  .apex-modal{width:100vw;max-height:100vh}
  .apex-modal .mbox{border-radius:var(--r-xl) var(--r-xl) 0 0;padding:24px 20px 28px;max-height:92vh}
  .apex-modal{align-self:flex-end}
}

/* ---------------------------------------------------------
   6. Elementor custom elements (heading / text / button)
   --------------------------------------------------------- */
.apex-el-heading{margin:0}
.apex-el-heading.is-light{font-weight:300;letter-spacing:-.015em}
.apex-el-heading b,.apex-el-heading strong{font-weight:600}
.apex-el-heading em{font-style:normal;font-weight:600;color:var(--lime-d)}
.apex-el-heading .eyebrow{display:block}
.apex-el-text{color:var(--muted);font-size:16px;max-width:64ch}
.apex-el-text.size-lg{font-size:18px}
.apex-el-text.size-sm{font-size:14px}
.apex-el-text p{margin:0 0 14px}
.apex-el-text p:last-child{margin-bottom:0}
.apex-el-text b,.apex-el-text strong{color:var(--text);font-weight:500}
.dark .apex-el-text,.apex-el-text.on-dark{color:var(--muted-d)}
.dark .apex-el-text b,.apex-el-text.on-dark b{color:#fff}
.apex-el-buttons{display:flex;flex-wrap:wrap;gap:12px}
.apex-el-buttons.align-center{justify-content:center}
.apex-el-buttons.align-right{justify-content:flex-end}
.apex-el-buttons.full .btn{width:100%;justify-content:space-between}
.align-center>.apex-el-heading,.align-center>.apex-el-text{margin-left:auto;margin-right:auto;text-align:center}

/* ---------------------------------------------------------
   7. HOME HERO — image carousel
   --------------------------------------------------------- */
.hslides{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.hslides .hslide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease);will-change:opacity}
.hslides .hslide.on{opacity:1}
.hslides .hslide>img,.hslides .hslide>.art-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hslides.kb .hslide.on>img{animation:apex-kb 9s linear forwards}
@keyframes apex-kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero-dots{position:absolute;left:0;right:0;bottom:26px;z-index:6;display:flex;justify-content:center;gap:8px}
.hhero .hero-dots{bottom:auto;top:auto;justify-content:flex-start;position:relative;margin-top:34px}
.hero-dots button{width:26px;height:4px;border-radius:var(--pill);border:0;padding:0;background:rgba(255,255,255,.3);cursor:pointer;transition:background .25s,width .25s}
.hero-dots button:hover{background:rgba(255,255,255,.55)}
.hero-dots button[aria-current="true"]{background:var(--lime);width:44px}
.hero-arrows{position:absolute;right:32px;bottom:34px;z-index:6;display:flex;gap:8px}
.hero-arrows button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:background .25s,color .25s,border-color .25s}
.hero-arrows button:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}
@media (max-width:1024px){.hero-arrows{display:none}}
@media (prefers-reduced-motion:reduce){.hslides .hslide{transition:none}.hslides.kb .hslide.on>img{animation:none}}

/* ---------------------------------------------------------
   8. DETAIL GALLERY — working slider + lightbox
   --------------------------------------------------------- */
.galwrap{position:relative;margin-top:40px}
.dhero .galwrap .gal{margin-top:0}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:none;place-items:center;cursor:pointer;box-shadow:var(--shadow);transition:background .2s,color .2s}
.gal-nav:hover{background:var(--lime)}
.gal-nav.prev{left:10px}
.gal-nav.next{right:10px}
.gal-count{position:absolute;right:14px;bottom:14px;z-index:4;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:var(--pill);background:rgba(18,24,27,.72);color:#fff;font-size:12px;backdrop-filter:blur(6px);pointer-events:none}
.gal-1{grid-template-columns:1fr;grid-template-rows:380px}
.gal-1 .gmain{grid-row:auto}
.gal-5{grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px}

/* Mobile: the grid becomes a real swipeable slider */
@media (max-width:767px){
  .galwrap{margin-top:26px}
  .gal{display:flex!important;grid-template-columns:none;grid-template-rows:none;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .gal::-webkit-scrollbar{display:none}
  .gal>*{flex:0 0 88%;height:230px;scroll-snap-align:center;display:block}
  .gal>*:nth-child(n+4){display:block}
  .gal .gmain{grid-row:auto;grid-column:auto}
  .gal>*::after,.gal .more::after{content:none!important}
  .gal-nav{display:grid;width:38px;height:38px}
  .gal-1{grid-template-rows:none}
}

/* Lightbox: thumbnail strip + counter */
.lightbox figure{position:relative}
.lb-thumbs{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;padding:0 16px;overflow-x:auto;scrollbar-width:none}
.lb-thumbs::-webkit-scrollbar{display:none}
.lb-thumbs button{width:62px!important;height:44px!important;border-radius:8px!important;padding:0;overflow:hidden;flex:none;opacity:.45;background:none!important;transition:opacity .2s,outline-color .2s;outline:2px solid transparent;outline-offset:2px}
.lb-thumbs button img{width:100%;height:100%;object-fit:cover}
.lb-thumbs button:hover{opacity:.8;background:none!important}
.lb-thumbs button[aria-current="true"]{opacity:1;outline-color:var(--lime)}
.lightbox figcaption{position:relative;z-index:1}
@media (max-width:767px){
  .lb-thumbs{display:none}
  .lightbox figure{padding:60px 12px 90px}
}

/* ---------------------------------------------------------
   Misc repairs
   --------------------------------------------------------- */
.card .btnrow{display:flex;gap:10px;margin-top:16px}
.card .btnrow .btn{flex:1;justify-content:center;text-align:center}
.card-tour .btnrow .btn{flex:1}
.gal button:focus-visible,.hero-dots button:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.mbar .btn{flex:none}

/* =========================================================
   v1.1.1 — TOUR DETAIL PAGE LAYOUT
   ========================================================= */

/* `.policy` was locked to 3 columns, but Meeting point usually has only
   two cards (point + start time) — so a third of the row sat empty.
   auto-fit makes 2 cards fill the width and 3 still line up. */
.policy{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.policy>div{display:flex;flex-direction:column}
.policy p{margin-top:auto}

/* Meeting point: cards beside the map on wide screens, stacked below it
   on tablets and phones. */
.dblock#meeting .policy{margin-bottom:16px}
.minimap{margin-bottom:0}
.minimap+*{margin-top:16px}

/* Facts strip: 4 items looked cramped against the booking panel. */
.facts{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}

/* Subnav CTA was getting squeezed to a dot on narrow viewports. */
.subnav .sub-cta{flex:none;white-space:nowrap;margin-left:auto}
.subnav .wrap{align-items:center}

@media (max-width:1024px){
  .policy{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
}
@media (max-width:560px){
  .policy{grid-template-columns:1fr}
  .minimap{height:230px}
}

/* =========================================================
   v1.2 — LIST MARKER + SELECTOR MISMATCH FIXES
   ========================================================= */

/* "Your pilgrimage in four simple steps" was showing the browser's own
   1. 2. 3. 4. markers next to the CSS-generated "Step 1…4" labels, because
   `<ol class="proc">` never had list-style removed. Same for `.mproc`
   ("How it works") on service detail pages. */
.proc,.mproc{list-style:none;margin:0;padding:0}
.proc>li,.mproc>li{list-style:none}

/* The markup renders <h3>, but the CSS only styled `.proc h4`, so the step
   titles fell back to the global heading size. */
.proc h3,.proc h4{font-weight:500;font-size:18px;margin-bottom:6px;line-height:1.3}

/* `.mproc` items are <li>, but the CSS targeted `.mproc>div` — the whole
   block rendered unstyled (no rule, no top border, no accent on the last). */
.mproc>li{border-top:2px solid var(--ink);padding-top:16px}
.mproc>li:last-child{border-color:var(--lime)}
.mproc>li>b{display:block;font-weight:500;margin:6px 0 4px}
.mproc>li>p{font-size:13px;color:var(--muted)}

/* Safety net: any ordered list the theme styles itself should not also draw
   native markers. */
.crumb ol,.comment-list,.proc,.mproc{list-style:none}

/* =========================================================
   v1.2.2 — STICKY SUBNAV, DRAWER STACKING, MOBILE GALLERY
   ========================================================= */

/* 1. The open mobile drawer was being painted UNDER the sub-navigation.
   `.hdr` has z-index:20 and is positioned, so it opens a stacking context —
   the drawer's own z-index:60 only competes inside that context, and
   `.subnav` (z-index:25) sat above the whole header. Raise the header itself
   while the drawer is open. */
.hdr.is-drawer-open{z-index:90}
.hdr:has(.drawer:not([hidden])){z-index:90}
.drawer{z-index:1}

/* 2. `position:sticky` silently stops working if an ancestor scrolls, and the
   subnav must also clear the WP admin bar. Pin it explicitly.
   Note: `--sticky-top` already includes `--wp-admin` when the sticky header is
   on (see body.apex-sticky-header above), so only add it when it is off —
   otherwise the bar would sit 32px too low for logged-in admins. */
.site-main,.builder-content{overflow:visible}
.subnav{position:sticky;position:-webkit-sticky;top:var(--sticky-top, 0px);z-index:25}
body.admin-bar:not(.apex-sticky-header) .subnav{top:calc(var(--sticky-top, 0px) + var(--wp-admin, 0px))}
.dsec{overflow:visible}

/* 3. Gallery tiles on phones: the flex slider needs an explicit track height,
   and tiles 4–5 were still hidden by the tablet rule. */
@media (max-width:767px){
  .galwrap{min-height:230px}
  .gal{min-height:230px;align-items:stretch}
  .gal>*{flex:0 0 86%!important;height:230px!important;min-width:0;display:block!important}
  .gal>*:nth-child(3)::after,.gal .more::after{content:none!important}
  .gal .art,.gal img,.gal .art-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}

/* =========================================================
   v1.2.3 — MOBILE HEADER
   ========================================================= */

/* Collapsible submenus. Every child used to be expanded, so the drawer ran
   several screens long before "Contact" was reachable. */
.drawer .has-sub{position:relative}
.drawer .has-sub>a{padding-right:54px}
.drawer .sub-toggle{position:absolute;top:3px;right:4px;width:44px;height:44px;border:0;background:none;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:var(--muted);transition:background .2s var(--ease),color .2s var(--ease)}
.drawer .sub-toggle:hover{background:var(--mist);color:var(--text)}
.drawer .sub-toggle svg{transition:transform .25s var(--ease)}
.drawer .has-sub.is-open>.sub-toggle{color:var(--text)}
.drawer .has-sub.is-open>.sub-toggle svg{transform:rotate(180deg)}
.drawer .sub-menu{margin-top:2px}

@media (max-width:1024px){
  /* The sticky booking bar sat on top of the open drawer, covering its own
     Book Now button. */
  body.apex-drawer-open .mbar{display:none!important}

  /* Highlight the burger while the drawer is open (the open/close icon swap
     is already handled at line 819). */
  .burger[aria-expanded="true"]{background:var(--lime);color:var(--ink)}

  /* Breathing room at the end of a long drawer on short screens. */
  .drawer{padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
}

/* =========================================================
   v1.2.4 — SUBNAV MUST NEVER SIT OVER THE OPEN DRAWER
   ========================================================= */

/* Raising `.hdr` above `.subnav` fixes the common case, but it only works
   while nothing else creates a competing stacking context. Belt and braces:
   push the sub-navigation (and the sticky booking bar) out of the way
   entirely whenever the drawer is open. */
body.apex-drawer-open .subnav{z-index:0}
body.apex-drawer-open .subnav,
body.apex-drawer-open .mbar{visibility:hidden}

/* The drawer is a child of `.hdr`, so it can only ever paint as high as the
   header itself — keep that explicit. */
.hdr.is-drawer-open{z-index:90}
.hdr.is-drawer-open .drawer{z-index:1}
