/* ============================================================================
 * ETBL Taxonomy Archive Stylesheet  —  etbl-taxonomy.css
 * Design source: Final Html Designs/tour-destination-cairo-page.html
 * Loaded ONLY on is_tax(['tour-destination','tour_category','tour-duration']).
 * Styles the taxonomy page's OWN content (hero/subnav/itinerary/pricing/FAQ/
 * reviews/tour-cards etc., rendered inside .etbl-tax). Site chrome (util-bar/
 * nav/mega/search/drawer/footer) is now unified globally in the child theme's
 * header.php/footer.php + assets/css/etbl-home.css (2026-07-18) — it renders
 * OUTSIDE .etbl-tax via the normal get_header()/get_footer(), so this file no
 * longer owns or duplicates any chrome CSS. The theme's own header/footer/
 * page-title are still hidden below (gated by body class).
 * ==========================================================================*/

/* ── Suppress the theme's own header/footer/page-title on these pages only ── */
body.etbl-tax-page .traveltour-header-wrap,
body.etbl-tax-page .traveltour-mobile-header,
body.etbl-tax-page .traveltour-header-transparent-substitute,
body.etbl-tax-page .traveltour-top-bar-wrap,
body.etbl-tax-page .traveltour-sticky-menu-placeholder,
body.etbl-tax-page .traveltour-footer-wrapper,
body.etbl-tax-page .traveltour-copyright-wrapper,
body.etbl-tax-page .tourmaster-page-title-wrap,
body.etbl-tax-page .traveltour-page-title-wrap,
body.etbl-tax-page .gdlr-core-page-title-wrap,
body.etbl-tax-page .gdlr-core-page-title-item,
body.etbl-tax-page #breadcrumbs{display:none!important}

/* ===== mockup style (design tokens + chrome + content, lines 10-702) ===== */
:root{--navy:#0B1C33;--navy-2:#102844;--navy-soft:#21456B;--ink:#0B1C33;--orange:#FF6A2B;--orange-d:#E85518;--gold:#C9A96E;--gold-d:#B0894A;--gold-l:#E3CB9E;--sand:#F5F1E9;--cloud:#FCFAF6;--paper:#fff;--line:#E7E0D4;--line-2:#EFEAE0;--muted:#586675;--muted-2:#8593A1;--wa:#25D366;--star:#F5A623;--green:#1E9E5A;--sh-xs:0 2px 8px rgba(11,28,51,.06);--sh-sm:0 6px 22px rgba(11,28,51,.08);--sh-md:0 14px 44px rgba(11,28,51,.13);--sh-lg:0 26px 74px rgba(11,28,51,.22);--sh-orange:0 12px 34px rgba(255,106,43,.4);--util-h:38px;--nav-h:74px;}
/* Bare-element rules scoped to .etbl-tax so they never touch the theme chrome
   that get_header()/get_footer() still emit (hidden) on these pages. */
.etbl-tax *,.etbl-tax *::before,.etbl-tax *::after{box-sizing:border-box}
.etbl-tax{font-family:'Montserrat',system-ui,sans-serif;background:var(--cloud);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6}
.etbl-tax h1,.etbl-tax h2,.etbl-tax h3,.etbl-tax h4{margin:0;letter-spacing:-.02em;line-height:1.15;font-weight:800}
.etbl-tax a{text-decoration:none;color:inherit}.etbl-tax img,.etbl-tax svg{display:block;max-width:100%}
.wrap{max-width:1300px;margin:0 auto;padding:0 34px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-d);margin-bottom:12px}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--orange)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;padding:14px 24px;border-radius:100px;cursor:pointer;border:1px solid transparent;transition:.22s}
.btn svg{width:17px;height:17px;flex:0 0 17px!important;min-width:17px!important}
.btn-o{background:var(--orange);color:#fff;}.btn-o:hover{background:var(--orange-d);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--orange);color:var(--orange-d)}
.btn-wa{background:var(--wa);color:#fff;}.btn-wa:hover{filter:brightness(.96)}
.btn-lg{padding:16px 28px;font-size:16px}

/* SHARED CHROME (util-bar/nav/mega/search-overlay/drawer/footer) removed
   2026-07-18 — it now lives once, globally, in assets/css/etbl-home.css
   (loaded on every page via header.php), not per-page-type here. */
.dloc{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-l);margin-bottom:5px}
.dlink{display:inline-flex;align-items:center;gap:6px;font-family:'Montserrat';font-weight:700;font-size:13.5px;color:#fff;transition:gap .2s}
.dest-card:hover .dlink{gap:11px}
.flags-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.flag-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:.2s;text-align:left}
.flag-card:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--sh-sm)}
.flag-card.active{border-color:var(--orange);background:var(--sand)}
.flag-card .fc-flag{font-size:26px;line-height:1}
.flag-card .fc-name{font-family:'Montserrat';font-weight:700;font-size:14px;color:var(--navy);line-height:1.1}
.flag-card .fc-cur{font-size:12px;color:var(--muted);margin-top:2px}
/* Footer + mobile drawer + related responsive rules removed 2026-07-18 — same
   reason as the header block above: now global-only in etbl-home.css. */
.crumb{padding:16px 0;font-size:12.5px;color:var(--muted-2)}.crumb a:hover{color:var(--orange-d)}.crumb b{color:var(--navy)}

/* HERO (kept: gallery + title) */
.gal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:420px}
.gal a{border-radius:14px;overflow:hidden;position:relative}.gal a:first-child{grid-row:1/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:.5s}.gal a:hover img{transform:scale(1.05)}
.h1wrap{margin-top:22px}
.h1wrap h1{font-size:clamp(26px,3.2vw,36px);font-weight:800;color:var(--navy);line-height:1.12;margin-bottom:14px}
.facts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.fact{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--line-2);padding:8px 14px;border-radius:100px}
.fact svg{width:15px;height:15px;color:var(--orange)}
.rate{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--muted)}
.rate .st{color:var(--star);letter-spacing:1px}.rate b{color:var(--navy)}

/* subnav */
.subnav{position:sticky;top:74px;z-index:40;background:rgba(252,250,246,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);margin-top:14px}
.subnav-in{display:flex;align-items:center;gap:6px;overflow-x:auto}
.subnav a:not(.btn){white-space:nowrap;padding:14px 15px;font-size:13.5px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent}
.subnav .btn-o{color:#fff}
.subnav a:not(.btn):hover,.subnav a.on{color:var(--orange-d);border-color:var(--orange)}
.subnav .sp{margin-left:auto;display:flex;align-items:center;gap:14px;flex-shrink:0}
.subnav .sp .pr{font-size:13px;color:var(--muted)}.subnav .sp .pr b{color:var(--navy);font-size:16px}
.subnav .sp .btn{padding:9px 18px;font-size:13.5px}

/* 2-COL LAYOUT */
.pkg{display:grid;grid-template-columns:1fr 372px;gap:44px;align-items:start;padding:34px 0 50px}
.pkg-side{position:sticky;top:86px}
.block{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line-2)}
.block:last-child{border-bottom:none}
.block h2{font-size:clamp(22px,2.6vw,28px);font-weight:800;color:var(--navy);margin-bottom:8px}
.block h2 em{font-style:italic;font-weight:500;color:var(--orange)}
.block .lede{color:var(--muted);font-size:15.5px;margin-bottom:22px;max-width:64ch}
.hl{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.hl li{display:flex;gap:11px;font-size:14.5px;color:var(--navy)}
.hl svg{width:19px;height:19px;color:var(--orange);flex-shrink:0;margin-top:2px}

/* why chips row */
.whyrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.whyrow .c{background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:18px}
.whyrow .it{width:42px;height:42px;border-radius:11px;background:linear-gradient(140deg,rgba(255,106,43,.16),rgba(201,169,110,.14));border:1px solid rgba(201,169,110,.22);display:grid;place-items:center;color:var(--orange-d);margin-bottom:12px}
.whyrow .it svg{width:21px;height:21px}
.whyrow h3{font-size:14.5px;font-weight:800;color:var(--navy);margin-bottom:5px}
.whyrow p{font-size:12.5px;color:var(--muted);margin:0}

/* route strip */
.routebar{background:linear-gradient(160deg,#0F2135,#0B1C33);border-radius:16px;padding:20px 24px;color:#fff;margin-bottom:24px}
.routebar h3{font-size:12px;font-weight:700;color:var(--gold-l);letter-spacing:.06em;margin-bottom:4px}
.routebar svg{width:100%;height:60px}

/* ITINERARY TIMELINE (photo per day) */
.tl2{position:relative;padding-left:2px}
.tl2::before{content:'';position:absolute;left:28px;top:24px;bottom:30px;width:2px;background:linear-gradient(var(--gold),var(--line-2))}
.tl2-day{position:relative;padding-left:74px;margin-bottom:20px}
.tl2-mark{position:absolute;left:0;top:2px;width:57px;height:57px;border-radius:50%;background:var(--navy);color:#fff;border:3px solid var(--gold-l);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:var(--sh-sm);z-index:1}
.tl2-mark small{font-size:8px;font-weight:700;letter-spacing:.1em;opacity:.72}
.tl2-mark b{font-size:19px;font-weight:800;margin-top:1px}
.tl2-card{background:#fff;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;transition:.2s}
.tl2-card[open]{box-shadow:var(--sh-sm);border-color:var(--gold-l)}
.tl2-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:15px 18px}
.tl2-card summary::-webkit-details-marker{display:none}
.tl2-sum{flex:1}
.tl2-chev{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--sand);display:grid;place-items:center;transition:.25s;color:var(--orange-d)}
.tl2-chev svg{width:14px;height:14px;transition:.25s}
.tl2-card[open] .tl2-chev{background:var(--orange);color:#fff}
.tl2-card[open] .tl2-chev svg{transform:rotate(180deg)}
.tl2-open{padding:0 18px 16px}
.tl2-img{aspect-ratio:24/8;overflow:hidden;border-radius:12px;margin-bottom:13px}
.tl2-img img{width:100%;height:100%;object-fit:cover}
.tl2-ey{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);margin-bottom:7px}
.tl2-ey svg{width:12px;height:12px;color:var(--orange)}
.tl2-b h3{font-size:17px;font-weight:800;color:var(--navy);margin-bottom:7px}
.tl2-b p{font-size:13.5px;color:var(--muted);line-height:1.6;margin:0 0 12px}
.tl2-b p b{color:var(--navy)}
.tl2-meta{display:flex;flex-wrap:wrap;gap:14px;padding-top:11px;border-top:1px solid var(--line-2);font-size:12px;color:var(--muted);font-weight:500}
.tl2-meta span{display:inline-flex;align-items:center;gap:6px}.tl2-meta svg{width:13px;height:13px;color:var(--gold-d)}

/* inclusions */
.incl{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.incl h3{font-size:14.5px;font-weight:800;margin-bottom:13px;display:flex;align-items:center;gap:8px;color:var(--navy)!important}
.incl ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.incl li{display:flex;gap:9px;font-size:13.5px;color:var(--navy)}
.incl li svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.incl .yes svg{color:var(--green)}.incl .no svg{color:var(--muted-2)}.incl .no li{color:var(--muted)}

/* prices */
.pk{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pk-c{border:1px solid var(--line-2);border-radius:16px;padding:20px 18px;background:#fff;position:relative}
.pk-c.feat{border-color:var(--gold);box-shadow:var(--sh-sm)}
.pk-c .tag{position:absolute;top:-10px;left:18px;background:var(--gold);color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:100px}
.pk-c h3{font-size:16px;font-weight:800;color:var(--navy)}.pk-c .stars{color:var(--star);font-size:12px;margin:3px 0 12px}
.pk-c .hotels{font-size:11.5px;color:var(--muted);line-height:1.5;margin-bottom:14px}
.pk-c .pr{display:flex;align-items:baseline;gap:5px;padding:12px 0;border-top:1px solid var(--line-2)}
.pk-c .pr .v{font-size:23px;font-weight:800;color:var(--navy)}.pk-c .pr small{font-size:11px;color:var(--muted)}
.pk-c .pr2{font-size:12px;color:var(--muted);margin-bottom:14px}.pk-c .btn{width:100%;font-size:13.5px;padding:11px}

/* policy */
.pol{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pol-c{background:var(--sand);border-radius:14px;padding:18px}
.pol-c h3{font-size:13.5px;font-weight:800;margin-bottom:11px;color:var(--navy)}
.pol-c ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:12.5px;color:var(--muted)}.pol-c li b{color:var(--navy)}

/* faq */
.faq details{border:1px solid var(--line-2);border-radius:13px;background:#fff;margin-bottom:9px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:700;font-size:14.5px;color:var(--navy);display:flex;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--orange-d);font-weight:800;font-size:19px}
.faq details[open] summary::after{content:'−'}
.faq .a{padding:0 18px 16px;color:var(--muted);font-size:13.5px;line-height:1.65}

/* reviews */
.rev{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rev-c{background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:20px}
.rev-c .st{color:var(--star);letter-spacing:2px;font-size:13px;margin-bottom:9px}
.rev-c p{font-size:13.5px;color:var(--navy);line-height:1.6;margin:0 0 14px}
.rev-c .who{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line-2);padding-top:12px}
.rev-c .av{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.rev-c .nm{font-size:13px;font-weight:700;color:var(--navy)}.rev-c .ro{font-size:11.5px;color:var(--muted-2)}

/* STICKY QUOTE FORM (right) */
.qcard{background:#fff;border:1px solid var(--line-2);border-radius:20px;box-shadow:var(--sh-md);overflow:hidden}
.qtop{padding:18px 20px 15px;background:linear-gradient(180deg,var(--sand),#fff);border-bottom:1px solid var(--line-2)}
.qtop .from{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.qtop .amt{display:flex;align-items:baseline;gap:6px}.qtop .amt .v{font-size:28px;font-weight:800;color:var(--navy)}.qtop .amt small{font-size:12px;color:var(--muted);font-weight:600}
.qtop .note{font-size:11.5px;color:var(--muted);margin-top:3px}
.qform{padding:16px 20px 18px;display:flex;flex-direction:column;gap:10px}
.qform .t{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:2px}
.qform label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin-bottom:5px;display:block}
.qform input,.qform select,.qform textarea{width:100%;font-family:'Montserrat',sans-serif;font-size:13.5px;color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.qform textarea{min-height:56px;resize:vertical}
.qrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qform .btn{width:100%;margin-top:2px}
.qtrust{background:var(--sand);border-top:1px solid var(--line-2);padding:12px 20px;font-size:11px;color:var(--muted);text-align:center}
.qtrust b{color:var(--navy)}
.qmini{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:7px}
.qmini li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--navy);font-weight:500}
.qmini svg{width:14px;height:14px;color:var(--green);flex-shrink:0}

/* price hotel/cruise lines */
.pk-in{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;color:var(--muted);line-height:1.4;margin-bottom:7px}
.pk-in svg{width:14px;height:14px;color:var(--gold-d);flex-shrink:0;margin-top:1px}
.pk-in b{color:var(--navy);font-weight:700}
.pk-rule{height:1px;background:var(--line-2);margin:4px 0 12px}
/* why book band */
.wbsec{padding:46px 0;background:var(--sand);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.wbsec h2{font-size:26px;font-weight:800;color:var(--navy);text-align:center}.wbsec h2 em{font-style:italic;font-weight:500;color:var(--orange)}
.wbsec .whyrow{margin-top:26px}
@media(max-width:900px){.wbsec .whyrow{grid-template-columns:1fr}}

/* related + footer */
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
/* CANONICAL TOUR CARD (matches homepage / design system) */
.tcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;box-shadow:var(--sh-sm);transition:.28s}
.tcard:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.tcard-m{position:relative;aspect-ratio:16/10;overflow:hidden}
.tcard-m img{width:100%;height:100%;object-fit:cover;transition:.5s}.tcard:hover .tcard-m img{transform:scale(1.05)}
.tbadge{position:absolute;top:12px;left:12px;background:var(--orange);color:#fff;font-size:11px;font-weight:700;padding:5px 11px;border-radius:100px}
.tcard-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.tcard-meta{font-size:12.5px;font-weight:600;color:var(--muted)}
.tcard-b h3{font-size:16px;font-weight:800;color:var(--navy);line-height:1.25}
.tcard-route{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--navy)}
.tcard-route svg{width:13px;height:13px;color:var(--orange);flex-shrink:0}
.tcard-tags{display:flex;gap:6px;flex-wrap:wrap}
.tcard-foot{display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid var(--line-2);margin-top:auto}
.tcard-price .l{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}
.tcard-price .v{font-size:18px;font-weight:800;color:var(--navy)}.tcard-price .v small{font-size:11px;color:var(--muted);font-weight:600}
.tcard-cta{background:rgba(255,106,43,.1);color:var(--orange-d);padding:9px 15px;border-radius:100px;font-weight:700;font-size:12.5px;transition:.2s;white-space:nowrap}
.tcard-cta:hover{background:var(--orange);color:#fff;gap:8px}
.relsec{padding:44px 0}
.relsec h2{font-size:26px;font-weight:800;color:var(--navy);margin-bottom:20px}.relsec h2 em{font-style:italic;font-weight:500;color:var(--orange)}
/* mobile */
.mbar{display:none}
@media(max-width:980px){
  .pkg{grid-template-columns:1fr;gap:0}
  .pkg-side{position:static;margin-top:10px}
  .whyrow,.pk,.pol,.rev,.rel,.incl{grid-template-columns:1fr}
  .gal{height:280px}
  .subnav{top:74px}.subnav .sp{display:none}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;align-items:center;gap:12px;padding:10px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line-2);box-shadow:0 -8px 30px rgba(11,28,51,.1)}
  .mbar .p .l{font-size:10px;color:var(--muted-2);font-weight:700;text-transform:uppercase}.mbar .p .v{font-size:18px;font-weight:800;color:var(--navy)}
  .mbar .btn{flex:1}
  body{padding-bottom:68px}
}
@media(max-width:520px){.rev{grid-template-columns:1fr}}

/* chip component (shared) */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--green);background:rgba(30,158,90,.1);padding:5px 10px;border-radius:100px;line-height:1.2}
.chip svg{width:12px;height:12px;flex-shrink:0}

/* ═══ LISTING / PILLAR PAGE ═══ */
.lhero{position:relative;color:#fff;padding:72px 0 60px;background:linear-gradient(90deg, rgb(9 20 36 / 75%) 0%, rgb(11 28 51 / 75%) 100%),var(--hero-bg,url("https://images.unsplash.com/photo-1539768942893-daf53e448371?q=80&w=2200&auto=format&fit=crop")) center center/cover no-repeat}@media(max-width:680px){.lhero{background:linear-gradient(180deg,rgba(9,20,36,.96),rgba(11,28,51,.88)),var(--hero-bg-mob,var(--hero-bg,url("https://images.unsplash.com/photo-1539768942893-daf53e448371?q=80&w=1200&auto=format&fit=crop"))) center/cover no-repeat}}
.lhero .eyebrow{color:var(--gold-l)}.lhero .eyebrow::before{background:var(--gold)}
.lhero h1{font-size:clamp(30px,4.4vw,52px);font-weight:800;line-height:1.08;letter-spacing:-.02em;max-width:25ch}
.lhero h1 em{font-style:italic;font-weight:500;color:var(--orange-l)}
.lhero .sub{color:#c3cdd8;font-size:16.5px;max-width:62ch;margin:16px 0 26px}
.lh-ctas{display:flex;gap:12px;flex-wrap:wrap}
.lh-stats{display:flex;gap:38px;flex-wrap:wrap;margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.lh-stat .v{font-size:30px;font-weight:800;color:#fff;line-height:1}.lh-stat .v span{color:var(--orange)}
.lh-stat .l{font-size:12px;color:#8fa0b3;font-weight:600;margin-top:5px}
.lh-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.lh-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#dbe3ec;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:8px 14px;border-radius:100px}
.lh-chip svg{width:14px;height:14px;color:var(--gold-l)}
.lsec{padding:60px 0;border-bottom:1px solid var(--line-2)}
.lsec-head{max-width:760px;margin-bottom:30px}
.lsec-head.center{margin:0 auto 30px;text-align:center}
.lsec-head h2{font-size:clamp(25px,3.3vw,36px);font-weight:800;color:var(--navy);line-height:1.12}
.lsec-head h2 em{font-style:italic;font-weight:500;color:var(--orange)}
.lsec-head p{color:var(--muted);font-size:15.5px;margin:12px 0 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ftabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.ftab{font-family:'Montserrat';font-size:13.5px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);padding:9px 17px;border-radius:100px;cursor:pointer;transition:.18s}
.ftab:hover{border-color:var(--orange);color:var(--orange-d)}
.ftab.act{background:var(--navy);color:#fff;border-color:var(--navy)}
.lresult{margin:0 0 20px;font-size:14px;color:var(--muted);background:var(--sand);border:1px solid var(--line-2);border-radius:12px;padding:12px 16px;text-align:center}
.lresult b{color:var(--navy)}.lresult a{color:var(--orange-d);font-weight:700}
.custom-band{margin-top:30px;background:var(--sand);border:1px solid var(--line-2);border-radius:18px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.custom-band p{margin:0;font-size:15px;color:var(--navy);font-weight:600;max-width:52ch}
.custom-band .r{display:flex;gap:10px;flex-wrap:wrap}
.cmp-wrap{overflow-x:auto;border:1px solid var(--line-2);border-radius:16px;background:#fff}
.cmp{width:100%;border-collapse:collapse;font-size:13px;min-width:860px}
.cmp th{background:var(--navy);color:#fff;font-weight:700;text-align:left;padding:13px 14px;white-space:nowrap;font-size:12px;letter-spacing:.03em}
.cmp td{padding:12px 14px;border-top:1px solid var(--line-2);color:var(--muted);white-space:nowrap}
.cmp td:first-child{white-space:normal;min-width:210px}
.cmp tr:hover td{background:var(--cloud)}
.cmp a{font-weight:700;color:var(--navy)}.cmp a:hover{color:var(--orange-d)}
.cmp .y{color:var(--green);font-weight:800}.cmp .n{color:var(--muted-2)}
.cmp .pr{font-weight:800;color:var(--navy)}
.cmp .bdg{display:inline-block;font-size:9.5px;font-weight:700;color:var(--gold-d);background:rgba(201,169,110,.15);padding:2px 8px;border-radius:100px;margin-left:6px;vertical-align:1px}
.type-c{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:22px}
.type-c h3{font-size:16px;font-weight:800;color:var(--navy);margin:12px 0 8px}
.type-c p{font-size:13.5px;color:var(--muted);margin:0 0 12px}
.type-c .rec{font-size:12.5px;color:var(--navy);background:var(--sand);border-radius:10px;padding:9px 12px;margin-bottom:10px}
.type-c .fr{font-size:13.5px;font-weight:800;color:var(--orange-d)}
.site-c{background:#fff;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;box-shadow:var(--sh-xs)}
.site-c .m{aspect-ratio:16/9;overflow:hidden}.site-c .m img{width:100%;height:100%;object-fit:cover;transition:.5s}
.site-c:hover .m img{transform:scale(1.05)}
.site-c .b{padding:18px 20px}
.site-c .tag{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d)}
.site-c h3{font-size:16.5px;font-weight:800;color:var(--navy);margin:7px 0 8px}
.site-c p{font-size:13.5px;color:var(--muted);margin:0}
.offer{margin-top:26px;display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
.offer-c{border-radius:16px;padding:22px 24px}
.offer-c.gold{background:linear-gradient(140deg,rgba(201,169,110,.18),rgba(255,106,43,.1));border:1px solid rgba(201,169,110,.35)}
.offer-c.plain{background:var(--sand);border:1px solid var(--line-2)}
.offer-c h3{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:8px}
.offer-c p{font-size:13.5px;color:var(--muted);margin:0 0 12px}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.team-c{background:#fff;border:1px solid var(--line-2);border-radius:18px;padding:24px;display:flex;gap:18px}
.team-c img{width:86px;height:86px;border-radius:16px;object-fit:cover;flex-shrink:0}
.team-c h3{font-size:17px;font-weight:800;color:var(--navy)}
.team-c .role{font-size:12px;font-weight:700;color:var(--gold-d);letter-spacing:.04em;text-transform:uppercase;margin:3px 0 8px}
.team-c p{font-size:13px;color:var(--muted);margin:0 0 10px}
.team-c .langs{display:flex;gap:6px}
.team-c .langs span{font-size:11px;font-weight:700;color:var(--navy-soft);background:var(--sand);padding:4px 10px;border-radius:100px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.step-c{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:20px 18px;position:relative}
.step-c .n{width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px;margin-bottom:12px}
.step-c h3{font-size:14.5px;font-weight:800;color:var(--navy);margin-bottom:6px}
.step-c p{font-size:12.5px;color:var(--muted);margin:0}
.lcta{background:linear-gradient(160deg,#0F2135,#0B1C33);color:#fff;padding:64px 0;text-align:center}
.lcta h2{font-size:clamp(26px,3.4vw,40px);font-weight:800}
.lcta h2 em{font-style:italic;font-weight:500;color:var(--orange-l)}
.lcta p{color:#c3cdd8;font-size:15.5px;max-width:58ch;margin:14px auto 26px}
.lcta .note{font-size:12.5px;color:#8fa0b3;margin-top:18px}
@media(max-width:1080px){.grid3{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.grid3,.team-grid,.offer,.steps{grid-template-columns:1fr}.lh-stats{gap:24px}}

/* ═══ REVIEWS (ported from homepage) ═══ */
/* ══════════ REVIEWS ══════════ */
.reviews{background:var(--sand)}
.rev-top{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center;margin-bottom:52px}
.rev-score{background:#fff;border-radius:var(--r);padding:34px;box-shadow:var(--sh-sm);border:1px solid var(--line-2);text-align:center}
.rev-score-n{font-family:'Montserrat';font-size:64px;font-weight:800;color:var(--navy);line-height:1;display:flex;align-items:flex-start;justify-content:center;gap:6px}
.rev-score-n span{font-size:26px;color:var(--star);margin-top:8px}
.rev-stars{color:var(--star);font-size:20px;letter-spacing:3px;margin:12px 0 8px}
.rev-score p{font-size:13.5px;color:var(--muted);margin:0}
.rev-platforms{display:flex;gap:8px;justify-content:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--line-2)}
.rev-plat{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--navy);background:var(--sand);padding:7px 13px;border-radius:100px}
.rev-demo-note{font-size:11px;color:var(--muted-2);margin-top:14px;font-style:italic}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rev-card{background:#fff;border-radius:var(--r);padding:28px 26px;box-shadow:var(--sh-sm);border:1px solid var(--line-2);display:flex;flex-direction:column}
.rc-stars{color:var(--star);font-size:16px;letter-spacing:2px;margin-bottom:14px}
.rev-card p{font-size:15px;color:var(--navy);line-height:1.66;margin:0 0 20px;flex:1}
.rc-by{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line-2)}
.rc-av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--navy-soft),var(--navy));color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Montserrat';font-weight:700;font-size:15px}
.rc-nm{font-weight:700;font-size:14.5px;color:var(--navy)}
.rc-meta{font-size:12.5px;color:var(--muted-2)}
.rev-repnote{text-align:center;font-size:12px;font-style:italic;color:var(--muted-2);margin:30px 0 0}
.rev-score p b,.rev-intro p b{color:var(--navy);font-weight:800}
.rev-ta-link{display:inline-block;margin:8px 0 2px;font-size:12.5px;font-weight:700;color:var(--orange-d);transition:.18s}
.rev-ta-link:hover{color:var(--orange);text-decoration:underline}
@media(max-width:1080px){.rev-grid{grid-template-columns:1fr} .rev-top,.country-in{grid-template-columns:1fr;gap:30px}}

/* ═══ PLANNING RESOURCES ═══ */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.res-c{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:16px 18px;transition:.18s}
.res-c:hover{border-color:var(--orange);box-shadow:var(--sh-sm);transform:translateY(-2px)}
.res-c .ri{width:40px;height:40px;border-radius:11px;background:var(--sand);display:grid;place-items:center;color:var(--gold-d);flex-shrink:0}
.res-c .ri svg{width:19px;height:19px}
.res-c .rt{font-size:14px;font-weight:700;color:var(--navy);line-height:1.3}
.res-c .rd{font-size:12px;color:var(--muted);margin-top:2px}
.res-c .arr{margin-left:auto;color:var(--orange-d);font-weight:800;flex-shrink:0}
@media(max-width:1080px){.res-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.res-grid{grid-template-columns:1fr}}

/* team card profile link */
.team-c{position:relative;padding-bottom:48px}
.team-view{position:absolute;right:22px;bottom:16px;font-size:13px;font-weight:700;color:var(--orange-d);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;transition:.18s}
.team-view:hover{color:var(--orange)}

/* story + quote (shared components) */
.story{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:center}
.story .img{border-radius:18px;overflow:hidden}.story .img img{width:100%;height:100%;object-fit:cover;display:block;min-height:380px}
.story p{font-size:15.5px;color:var(--muted);line-height:1.75;margin:0 0 16px}
.story p b{color:var(--navy)}
.quote{background:linear-gradient(160deg,#0F2135,#0B1C33);border-radius:20px;padding:32px 34px;color:#fff;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.pil{background:#fff;border:1px solid var(--line-2);border-radius:18px;padding:26px 26px 22px;position:relative}
.pil .n{font-size:44px;font-weight:800;color:var(--sand);position:absolute;top:12px;right:20px;line-height:1;-webkit-text-stroke:1px var(--line)}
.pil h3{font-size:17px;font-weight:800;color:var(--navy);margin:10px 0 10px;padding-right:56px}
.pil p{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 14px}
.pil .tk{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;font-weight:700;color:var(--green);background:rgba(30,158,90,.08);border-radius:10px;padding:9px 12px}

/* ── .legal — long-form prose layout for legal/policy pages (privacy, terms, cancellation) — added 2026-07-19 ── */
.legal{max-width:800px;margin:0 auto}
.legal .eff-date{display:inline-block;background:var(--sand);border:1px solid var(--line-2);border-radius:100px;padding:7px 18px;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:28px}
.legal h2{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:800;color:var(--navy);margin:38px 0 14px;padding-top:22px;border-top:1px solid var(--line-2)}
.legal h2:first-of-type{margin-top:0;padding-top:0;border-top:none}
.legal h3{font-family:'Montserrat',sans-serif;font-size:16.5px;font-weight:700;color:var(--navy);margin:22px 0 10px}
.legal p{font-size:15px;color:var(--muted);line-height:1.75;margin:0 0 14px}
.legal ul{margin:0 0 16px;padding-left:22px}
.legal li{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:6px}
.legal strong{color:var(--navy)}
.legal a{color:var(--orange-d);font-weight:700;text-decoration:none}
.legal a:hover{text-decoration:underline}
@media(max-width:640px){.legal h2{font-size:19px}.legal h3{font-size:15.5px}}.pil .tk svg{width:13px;height:13px;flex-shrink:0;margin-top:2px}
.quote img{width:84px;height:84px;border-radius:16px;object-fit:cover}
.quote blockquote{margin:0;font-size:17px;font-weight:600;line-height:1.55;font-style:italic}
.quote .by{margin-top:10px;font-size:12.5px;color:#8fa0b3}.quote .by b{color:var(--gold-l);font-style:normal}
@media(max-width:1080px){.story{grid-template-columns:1fr}}
@media(max-width:680px){.quote{grid-template-columns:1fr;padding:24px}}

/* ═══ USA MARKET PAGE ═══ */
.season{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.season-c{background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:16px 18px;border-top:3px solid var(--line)}
.season-c.good{border-top-color:var(--green)}.season-c.peak{border-top-color:var(--orange)}.season-c.warn{border-top-color:#d9b23a}.season-c.no{border-top-color:#39424e}
.season-c h4{font-size:13.5px;font-weight:800;color:var(--navy);margin:0 0 6px}
.season-c p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.6}
.visa{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.visa-c{background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:18px 20px}
.visa-c h4{font-size:14px;font-weight:800;color:var(--navy);margin:0 0 7px;display:flex;gap:8px;align-items:center}
.visa-c h4 svg{width:16px;height:16px;color:var(--gold-d);flex-shrink:0}
.visa-c p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}
.visa-c b{color:var(--navy)}
.esc{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:start}
.esc ul{list-style:none;margin:16px 0 20px;padding:0}
.esc li{display:flex;gap:10px;font-size:14.5px;color:var(--navy);padding:7px 0;font-weight:600}
.esc li svg{width:16px;height:16px;color:var(--green);flex-shrink:0;margin-top:3px}
.esc p{font-size:15px;color:var(--muted);line-height:1.75;margin:0 0 14px}
.esc-side{background:var(--sand);border:1px solid var(--line-2);border-radius:18px;padding:24px 26px}
.esc-side h3{font-size:15px;font-weight:800;color:var(--navy);margin:0 0 14px}
.esc-side .who{padding:12px 0;border-bottom:1px dashed var(--line)}
.esc-side .who:last-child{border-bottom:none}
.esc-side .who b{display:block;font-size:13.5px;color:var(--navy)}
.esc-side .who span{font-size:12.5px;color:var(--muted)}
@media(max-width:1080px){.season{grid-template-columns:repeat(2,1fr)}.esc{grid-template-columns:1fr}}
@media(max-width:680px){.season,.visa{grid-template-columns:1fr}}

/* UK itinerary framework cards */
.itin{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:22px 24px}
.itin .tag{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d)}
.itin h3{font-size:16.5px;font-weight:800;color:var(--navy);margin:6px 0 14px}
.itin ul{list-style:none;margin:0 0 16px;padding:0}
.itin li{display:flex;gap:10px;font-size:13px;color:var(--muted);padding:6px 0;border-bottom:1px dashed var(--line-2);line-height:1.5}
.itin li:last-child{border-bottom:none}
.itin li b{color:var(--navy);flex-shrink:0;min-width:66px;font-size:12px}

/* planner step accordion */
.pstep{background:#fff;border:1px solid var(--line-2);border-radius:16px;margin-bottom:12px;overflow:hidden}
.pstep summary{display:flex;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;list-style:none;font-size:15.5px;font-weight:800;color:var(--navy)}
.pstep summary::-webkit-details-marker{display:none}
.pstep summary .pn{width:34px;height:34px;border-radius:10px;background:var(--navy);color:var(--gold-l);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}
.pstep summary .chev{margin-left:auto;color:var(--muted);transition:transform .25s;flex-shrink:0}
.pstep[open] summary .chev{transform:rotate(90deg)}
.pstep .pb{padding:2px 22px 20px 72px;font-size:14px;color:var(--muted);line-height:1.75}
.pstep .pb b{color:var(--navy)}
.pstep .pb ul{margin:10px 0 0;padding:0;list-style:none}
.pstep .pb li{padding:7px 0;border-bottom:1px dashed var(--line-2)}
.pstep .pb li:last-child{border-bottom:none}
.pstep .pb li b{display:inline}
@media(max-width:680px){.pstep .pb{padding-left:22px}}

/* responsive grid utilities (v1.3) — replace inline grid-template-columns */
.gcols2{grid-template-columns:repeat(2,1fr)}
.gcols3{grid-template-columns:repeat(3,1fr)}
.gcols4{grid-template-columns:repeat(4,1fr)}
.gcols5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
@media(max-width:1080px){.gcols5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.gcols5{grid-template-columns:1fr}}
@media(max-width:1080px){.gcols3,.gcols4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.gcols2,.gcols3,.gcols4{grid-template-columns:1fr}}

/* planner hero form */
.phero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.pform{background:#fff;border-radius:20px;padding:26px 26px 24px;color:var(--navy)}
.pform h3{font-size:17px;font-weight:800;margin:0 0 4px;color:var(--navy)}
.pform .fs{font-size:12.5px;color:var(--muted);margin:0 0 16px}
.pform label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.pform .fin{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:10px;background:#fff;padding:11px 13px;font-family:Montserrat,sans-serif;font-size:14px;color:var(--navy);outline:none;transition:border-color .2s}
.pform .fin:focus{border-color:var(--orange)}
.pform .frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}
.pform .fcol{margin-bottom:13px}
.pform textarea.fin{min-height:74px;resize:vertical}
.pform .btn{width:100%;justify-content:center;text-align:center;font-size:15px;padding:14px}
.pform .fnote{font-size:11.5px;color:var(--muted);text-align:center;margin:10px 0 0}
.pform .fnote b{color:var(--green)}
@media(max-width:1080px){.phero-grid{grid-template-columns:1fr;gap:28px}}
@media(max-width:680px){.pform{padding:20px 18px 18px}.pform .frow{grid-template-columns:1fr}}

/* travel-guides hub */
.mfav{width:84px;height:84px;border-radius:50%;background:var(--navy);color:var(--gold-l,#E8D5AE);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;flex-shrink:0;letter-spacing:.02em}
.art-c{background:#fff;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.art-c:hover{transform:translateY(-3px);border-color:var(--gold,#C9A96E)}
.art-c .m{aspect-ratio:16/9.5;overflow:hidden}
.art-c .m img{width:100%;height:100%;object-fit:cover}
.art-c .b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.art-c .tag{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-d)}
.art-c h3{font-size:15.5px;font-weight:800;color:var(--navy);margin:0;line-height:1.4}
.art-c p{font-size:13px;color:var(--muted);line-height:1.65;margin:0;flex:1}
.art-c .meta{font-size:11.5px;color:var(--muted);border-top:1px dashed var(--line-2);padding-top:10px}
.mr{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid var(--line-2);border-radius:14px}
.mr .n{width:28px;height:28px;border-radius:9px;background:var(--sand,#FAF6EF);color:var(--navy);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;flex-shrink:0}
.mr b{font-size:14px;color:var(--navy);display:block;line-height:1.45}
.mr span{font-size:12px;color:var(--muted);display:block;margin-top:3px}
.topics{display:flex;flex-wrap:wrap;gap:10px}
.topic{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;background:#fff;border:1.5px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;color:var(--navy);text-decoration:none;transition:border-color .2s,color .2s}
.topic:hover{border-color:var(--orange);color:var(--orange-d)}

/* profile hero */
.prof-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:44px;align-items:center}
.prof-photo{border-radius:20px;overflow:hidden;aspect-ratio:4/4.6;background:rgba(255,255,255,.06)}
.prof-photo img{width:100%;height:100%;object-fit:cover;display:block}
.prof-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:12px;font-weight:700;color:#fff;margin-bottom:14px}
.prof-badge svg{width:13px;height:13px;flex-shrink:0;color:var(--green,#3E9B4F)}
@media(max-width:1080px){.prof-grid{grid-template-columns:1fr;gap:26px}.prof-photo{max-width:340px}}

/* magdy hero initials */
.prof-init{border-radius:20px;aspect-ratio:4/4.6;background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.prof-init .big{width:120px;height:120px;border-radius:50%;background:var(--navy);border:2px solid var(--gold,#C9A96E);color:var(--gold-l,#E8D5AE);display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:800;letter-spacing:.02em}
.prof-init .ank{font-size:26px;color:rgba(255,255,255,.35)}
.prof-init .cap{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
@media(max-width:1080px){.prof-init{max-width:340px}}

/* month cards */
.mon-c{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:18px;border-top:3px solid var(--line);display:flex;flex-direction:column;gap:9px;text-decoration:none;transition:transform .2s,border-color .2s}
.mon-c:hover{transform:translateY(-3px)}
.mon-c.pk{border-top-color:var(--navy)}
.mon-c.sh{border-top-color:var(--gold,#C9A96E)}
.mon-c.lo{border-top-color:var(--orange)}
.mon-c .mh{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mon-c h3{font-size:16.5px;font-weight:800;color:var(--navy);margin:0}
.mon-c .sb{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.mon-c.pk .sb{background:var(--navy);color:var(--gold-l,#E8D5AE)}
.mon-c.sh .sb{background:var(--sand,#FAF6EF);color:var(--navy);border:1px solid var(--gold,#C9A96E)}
.mon-c.lo .sb{background:var(--orange);color:#fff}
.mon-c .tt{display:flex;gap:12px;font-size:11.5px;color:var(--muted);border-bottom:1px dashed var(--line-2);padding-bottom:9px}
.mon-c .tt b{color:var(--navy);font-size:13px;display:block}
.mon-c p{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0;flex:1}
.mon-c .rl{font-size:12.5px;font-weight:700;color:var(--orange-d)}

/* city guide cards */
.city-c{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .2s,border-color .2s}
.city-c:hover{transform:translateY(-3px);border-color:var(--gold,#C9A96E)}
.city-c .ch{display:flex;align-items:center;justify-content:space-between;gap:8px}
.city-c h3{font-size:18px;font-weight:800;color:var(--navy);margin:0}
.city-c .cb{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;background:var(--navy);color:var(--gold-l,#E8D5AE);padding:4px 9px;border-radius:999px;white-space:nowrap}
.city-c .ni{font-size:11.5px;color:var(--muted);border-bottom:1px dashed var(--line-2);padding-bottom:9px}
.city-c .ni b{color:var(--orange-d)}
.city-c p{font-size:13px;color:var(--muted);line-height:1.65;margin:0;flex:1}
.city-c .kv{font-size:12px;color:var(--muted)}
.city-c .kv b{color:var(--navy)}
.city-c .fact{font-size:12px;font-style:italic;color:var(--navy);background:var(--sand,#FAF6EF);border-left:3px solid var(--gold,#C9A96E);border-radius:0 8px 8px 0;padding:8px 11px}
.city-c .rl{font-size:12.5px;font-weight:700;color:var(--orange-d)}

/* city card media */
.city-c{padding:0;overflow:hidden}
.city-c .cm{aspect-ratio:16/8.5;overflow:hidden;position:relative}
.city-c .cm img{width:100%;height:100%;object-fit:cover;display:block}
.city-c .cm .cb{position:absolute;top:12px;right:12px;margin:0}
.city-c .cbody{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.city-c .ph{width:100%;height:100%;background:linear-gradient(160deg,var(--navy),#1D3A5F);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:rgba(255,255,255,.55)}
.city-c .ph svg{width:30px;height:30px}
.city-c .ph span{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

/* duration filter tabs */
.ftabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.ftab{padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer;transition:all .2s}
.ftab.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* why-famous stat cards */
.stat-c{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:20px;border-top:3px solid var(--gold,#C9A96E)}
.stat-c .sv{font-family:Montserrat,sans-serif;font-size:26px;font-weight:800;color:var(--navy);line-height:1;margin:0 0 4px}
.stat-c .sl{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--orange-d);margin:0 0 8px}
.stat-c p{font-size:12.5px;color:var(--muted);line-height:1.65;margin:0}

/* area price tiers */
.tier{display:flex;flex-direction:column;gap:6px;border-top:1px dashed var(--line-2);padding-top:10px;margin-top:4px}
.tier .tr2{display:flex;gap:8px;font-size:12px;color:var(--muted);align-items:baseline}
.tier .tr2 b{color:var(--navy);min-width:44px;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.tier .tr2 .pr{color:var(--orange-d);font-weight:700;white-space:nowrap}

/* pricing tiers */
.price-c{background:#fff;border:1.5px solid var(--line-2);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;position:relative}
.price-c.hot{border-color:var(--orange)}
.price-c .pop{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;white-space:nowrap}
.price-c h3{font-size:17px;font-weight:800;color:var(--navy);margin:0}
.price-c .dur{font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--orange-d)}
.price-c .amt{font-family:Montserrat,sans-serif;font-size:32px;font-weight:800;color:var(--navy);line-height:1}
.price-c .amt small{font-size:12px;font-weight:600;color:var(--muted)}
.price-c ul{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:7px}
.price-c li{font-size:12.5px;color:var(--muted);line-height:1.55;padding-left:20px;position:relative}
.price-c li::before{content:'';position:absolute;left:0;top:5px;width:12px;height:12px;background:var(--green,#3E9B4F);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
/* vs table highlight */
.cmp td.win{color:var(--navy);font-weight:600}
.cmp td.lose{color:#b3543f}

/* attraction cards (destination pages) */
.attr-c{background:#fff;border:1px solid var(--line-2);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px}
.attr-c .an{width:30px;height:30px;border-radius:9px;background:rgba(255,106,43,.1);color:var(--orange-d);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}
.attr-c h3{font-size:15px;font-weight:800;color:var(--navy);margin:2px 0 0}
.attr-c p{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0}

/* ── Color fidelity: theme element rules override the mockup's inherited light
 *    text on dark sections. Re-declare under .etbl-tax (higher specificity). ── */
.etbl-tax .lhero .eyebrow{color:var(--gold-l)}
.etbl-tax .lhero h1,.etbl-tax .lhero h1 em{color:#fff}
.etbl-tax .lhero .sub{color:#c3cdd8}
.etbl-tax .lhero .lh-stat .v{color:#fff}
.etbl-tax .lhero .lh-stat .v span{color:var(--orange)}
.etbl-tax .lhero .lh-stat .l{color:#8fa0b3}
.etbl-tax .lhero .lh-chip{color:#dbe3ec}
.etbl-tax .lcta h2,.etbl-tax .lcta h2 em{color:#fff}
.etbl-tax .lcta p{color:#c3cdd8}
.etbl-tax .lcta .note{color:#8fa0b3}
.etbl-tax .quote blockquote{color:#fff}
.etbl-tax .quote .by{color:#8fa0b3}
.etbl-tax .quote .by b{color:var(--gold-l)}
.etbl-tax .routebar h3{color:var(--gold-l)}

/* ── Content element overrides: the theme styles bare <blockquote> with a grey
 *    bg. Re-assert the mockup value. (Chrome-button overrides removed
 *    2026-07-18 — nav-search/burger/searchov-close/drawer-x are global now,
 *    handled once in etbl-home.css.) ── */
.etbl-tax .quote blockquote{background:none;border:0;box-shadow:none;padding:0;margin:0;color:#fff}
.etbl-tax .rev-card p,.etbl-tax .faq .a,.etbl-tax .tl2-card,.etbl-tax .esc-side .who span{background:none}

/* ── static (non-interactive) locale chips + newsletter link-button ── */
.etbl-tax .locale-static{cursor:default}
.etbl-tax .news-sub{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff;border:none;border-radius:11px;padding:0 20px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:.2s}
.etbl-tax .news-sub:hover{background:var(--orange-d)}

/* ── sort control (tours section) ── */
.etbl-sortbar{display:flex;align-items:center;gap:10px;margin:0 0 20px}
.etbl-sortbar label{font-size:13px;font-weight:700;color:var(--muted)}
.etbl-sortbar select{font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:700;color:var(--navy);background-color:#fff;border:1.5px solid var(--line);border-radius:100px;padding:9px 36px 9px 16px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1C33' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:13px}
.etbl-sortbar select:focus{outline:none;border-color:var(--orange)}

/* ── archive pagination ── */
.etbl-pagination{margin:34px 0 4px;display:flex;justify-content:center}
.etbl-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.etbl-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:100px;border:1px solid var(--line);background:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--navy);transition:.2s}
.etbl-pagination a.page-numbers:hover{border-color:var(--orange);color:var(--orange-d)}
.etbl-pagination .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}
.etbl-pagination .page-numbers.dots{border:none;background:none}

/* ── dynamic tour card: no-price navy "quote" variant + thumb fallback ── */
.tcard.tcard-quote{background:var(--navy)}
.tcard.tcard-quote .tcard-m img{opacity:.9}
.etbl-tax .tcard.tcard-quote h3{color:#fff}
.etbl-tax .tcard.tcard-quote .tcard-meta{color:var(--gold-l,#E8D5AE)}
.etbl-tax .tcard.tcard-quote .tcard-route{color:#fff}
.etbl-tax .tcard.tcard-quote p{color:rgba(255,255,255,.75)}
.tcard.tcard-quote .tcard-cta{align-self:flex-start;background:var(--orange);color:#fff}
.tcard-m .tcard-ph{width:100%;height:100%;background:linear-gradient(135deg,#183656,#0B1C33)}

/* ══════════ FIX PASS 2026-07-06 #3 ══════════════════════════════════════════
 * FIX2 sticky header+section-nav, hide fixed promo bar; FIX3 nav casing;
 * FIX4 mega no-wrap; FIX1 footer newsletter row. All scoped/gated. */

/* FIX 2a — hide the mystickymenu FIXED promo bar (z:9999999) so the sticky
 *          header pins at true top:0 with nothing overlapping it. */
body.etbl-tax-page .mysticky-welcomebar-fixed,
body.etbl-tax-page #mysticky-welcomebar,
body.etbl-tax-page div[class*="mysticky-welcomebar"],
body.etbl-tax-page .mysticky-welcomebar-wrap{display:none!important}
body.etbl-tax-page{margin-top:0!important}

/* FIX 2b — the theme content wrappers use overflow:hidden which BREAKS
 *          position:sticky; restore visible overflow on converted pages only. */
body.etbl-tax-page .traveltour-body-outer-wrapper,
body.etbl-tax-page .traveltour-body-wrapper,
body.etbl-tax-page .traveltour-body-wrapper-inner{overflow:visible!important}

/* FIX 2c — section nav (subnav) pinned directly beneath the (now global) sticky
 *          header; header height = nav (74px). */
.etbl-tax .subnav{position:sticky;top:75px;z-index:40;margin-top:0}

/* FIX 3/4/1 (nav casing + no-wrap, mega no-wrap, footer newsletter row) removed
 * 2026-07-18 — promoted to global unscoped rules in etbl-home.css since the
 * header/mega-menu/footer are shared chrome now, not per-taxonomy-page copies. */

/* FIX 2d — mobile section nav: single row, tabs scroll horizontally, CTA reachable
 *          (mockup hides .sp <=980px; keep the quote CTA reachable per spec). */
@media(max-width:980px){
  .etbl-tax .subnav-in{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .etbl-tax .subnav .sp{display:flex;flex:0 0 auto}
  .etbl-tax .subnav .sp .pr{display:none}
  .etbl-tax .subnav .sp .btn{padding:8px 14px;font-size:13px;white-space:nowrap}
}

/* ══════════ MOBILE COLLAPSIBLE PROSE (.etbl-prose--collapsible) ══════════════
 * Reusable, pure-CSS (hidden-checkbox hack) — NO JS dependency. Full prose is
 * ALWAYS in the DOM (mobile-first indexing safe). Collapsed at first paint (no
 * flash/CLS). DESKTOP: fully expanded, no toggle (visually identical to before).
 * Tune how much shows via --etbl-prose-collapsed-h. */
.etbl-tax .etbl-prose--collapsible{--etbl-prose-collapsed-h:168px}
.etbl-tax .etbl-prose-cb{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.etbl-tax .etbl-prose-body{position:relative}
.etbl-tax .etbl-prose-inner{min-height:0}
.etbl-tax .etbl-prose-toggle{display:none}   /* desktop: no toggle, full prose */

@media(max-width:680px){
  /* Grid reveal: collapsed row = the tunable teaser height; expanded row = 1fr =
   * the inner's CONTENT height → expansion NEVER clips, regardless of intro length
   * (no magic max-height). Pure-CSS, collapsed at first paint (no flash/CLS). */
  .etbl-tax .etbl-prose--collapsible .etbl-prose-body{display:grid;grid-template-rows:var(--etbl-prose-collapsed-h);transition:grid-template-rows .4s ease}
  .etbl-tax .etbl-prose--collapsible .etbl-prose-inner{overflow:hidden;min-height:0}
  .etbl-tax .etbl-prose--collapsible .etbl-prose-body::after{content:'';position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(rgba(252,250,246,0),var(--cloud) 92%);pointer-events:none;transition:opacity .25s}
  .etbl-tax .etbl-prose-cb:checked ~ .etbl-prose-body{grid-template-rows:1fr}
  .etbl-tax .etbl-prose-cb:checked ~ .etbl-prose-body::after{opacity:0}
  .etbl-tax .etbl-prose-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--orange-d);cursor:pointer;background:none;border:0;padding:6px 2px;-webkit-tap-highlight-color:transparent}
  .etbl-tax .etbl-prose-toggle:hover{color:var(--orange)}
  .etbl-tax .etbl-prose-chev{width:16px;height:16px;transition:transform .25s}
  .etbl-tax .etbl-prose-lbl--less{display:none}
  .etbl-tax .etbl-prose-cb:checked ~ .etbl-prose-toggle .etbl-prose-lbl--more{display:none}
  .etbl-tax .etbl-prose-cb:checked ~ .etbl-prose-toggle .etbl-prose-lbl--less{display:inline}
  .etbl-tax .etbl-prose-cb:checked ~ .etbl-prose-toggle .etbl-prose-chev{transform:rotate(180deg)}
  .etbl-tax .etbl-prose-cb:focus-visible ~ .etbl-prose-toggle{outline:2px solid var(--orange);outline-offset:3px;border-radius:6px}
}

/* ══════════ FULL-WIDTH "Build your own" CTA band (.etbl-buildcard) ═══════════
 * Navy band closing the sailings grid — text left, button right, vertically
 * centered; stacks single-column ≤680px. Full container width (not a grid cell). */
/* Gap to the tour-card grid above — single tunable value; matches the page's
 * block-margin rhythm (.custom-band uses 30px; card-grid gap is 20px). */
.etbl-tax .etbl-buildcard{--etbl-buildcard-gap:30px;background:var(--navy);border-radius:16px;padding:24px 30px;margin-top:var(--etbl-buildcard-gap);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.etbl-tax .etbl-buildcard .bc-text{flex:1 1 340px;min-width:0}
.etbl-tax .etbl-buildcard .bc-meta{display:block;color:var(--gold-l,#E8D5AE);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.etbl-tax .etbl-buildcard h3{color:#fff;font-size:19px;margin:6px 0 6px}
.etbl-tax .etbl-buildcard p{color:rgba(255,255,255,.78);font-size:13.5px;line-height:1.6;margin:0;max-width:70ch}
.etbl-tax .etbl-buildcard .bc-btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:680px){
  .etbl-tax .etbl-buildcard{--etbl-buildcard-gap:20px;flex-direction:column;align-items:flex-start;gap:16px}
  .etbl-tax .etbl-buildcard .bc-btn{width:100%;justify-content:center}
}

/* ══════════════════════════════════════════════════════════════════════════════
   HERO RESTRUCTURE (2026-07-08, ver 1.5.2): stats + chips hoisted out of the
   hero for a shorter hero and faster mobile scroll-depth to the tour cards.
   Reusable shared classes so the other 15 taxonomy templates can adopt them
   without duplicating CSS.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ─── .etbl-statsbar — thin strip immediately below the hero ─────────────────── */
.etbl-tax .etbl-statsbar{
	background:var(--cloud);
	border-bottom:1px solid var(--line-2);
	padding:16px 0;
}
.etbl-tax .etbl-statsbar-list{
	list-style:none;margin:0;padding:0;
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px 28px;
	align-items:center;
}
.etbl-tax .etbl-statsbar-item{
	display:flex;flex-direction:column;gap:2px;
	padding-left:22px;
	border-left:1px solid var(--line-2);
	min-width:0;
}
.etbl-tax .etbl-statsbar-item:first-child{border-left:0;padding-left:0}
.etbl-tax .etbl-statsbar-v{
	font-family:'Montserrat',sans-serif;
	font-weight:800;font-size:22px;line-height:1.05;
	color:var(--navy);letter-spacing:-.01em;
}
.etbl-tax .etbl-statsbar-v span{color:var(--orange)}
.etbl-tax .etbl-statsbar-l{
	font-size:12.5px;color:var(--muted);line-height:1.35;font-weight:500;
}
@media(max-width:1080px){
	.etbl-tax .etbl-statsbar-list{gap:10px 16px}
	.etbl-tax .etbl-statsbar-item{padding-left:14px}
	.etbl-tax .etbl-statsbar-v{font-size:19px}
	.etbl-tax .etbl-statsbar-l{font-size:11.5px}
}
@media(max-width:680px){
	.etbl-tax .etbl-statsbar{padding:11px 0}
	.etbl-tax .etbl-statsbar-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
	.etbl-tax .etbl-statsbar-item{padding-left:12px}
	.etbl-tax .etbl-statsbar-item:nth-child(odd){border-left:0;padding-left:0}
	.etbl-tax .etbl-statsbar-v{font-size:17px}
	.etbl-tax .etbl-statsbar-l{font-size:10.75px;line-height:1.25}
}

/* ─── .etbl-chipsband — trust chips just before the reviews section ──────────── */
.etbl-tax .etbl-chipsband{padding:28px 0 4px}
.etbl-tax .etbl-chipsband-list{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;gap:10px;
	align-items:center;justify-content:center;
}
.etbl-tax .etbl-chipsband-chip{
	display:inline-flex;align-items:center;gap:8px;
	padding:9px 15px;background:#fff;color:var(--navy);
	border:1px solid var(--line-2);border-radius:999px;
	font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;line-height:1.2;
}
.etbl-tax .etbl-chipsband-chip svg{width:14px;height:14px;color:var(--orange);flex-shrink:0}
@media(max-width:680px){
	.etbl-tax .etbl-chipsband{padding:22px 0 2px}
	.etbl-tax .etbl-chipsband-list{gap:8px}
	.etbl-tax .etbl-chipsband-chip{padding:7px 12px;font-size:12px}
	.etbl-tax .etbl-chipsband-chip svg{width:12px;height:12px}
}

/* ─── Responsive Maro quote — desktop card beside intro, mobile card INSIDE intro collapsible ─
   The intro quote is server-rendered in two DOM positions: (a) a sibling in
   the .story grid (visible >680px, side-by-side desktop layout), and (b) inside
   .etbl-prose-inner (visible ≤680px, part of the intro collapsible teaser so
   it hides with the collapsed intro and reveals when the user taps the intro's
   "Read more"). Exactly one is displayed per breakpoint via CSS; both remain
   in the DOM for crawlers (E-E-A-T). */
.etbl-tax .story--responsive-quote .quote--mobile-only{display:none}
@media(max-width:680px){
	.etbl-tax .story--responsive-quote .quote--desktop-only{display:none}
	.etbl-tax .story--responsive-quote .quote--mobile-only{display:grid;margin-top:18px}
}

/* ══════════════════════════════════════════════════════════════════════════════
   HERO RESTRUCTURE R4 (2026-07-08, ver 1.5.5): mobile Maro quote restored INSIDE
   the intro collapsible (undoing R3's standalone band which was a spec misread).
   Hero R3 simplification kept: no Read-more collapse in the hero.
   Retains R1 statsbar/chipsband + R2 chipsband--inline placement.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ─── .etbl-chipsband--inline — chipsband placed INSIDE a section's .wrap ───── */
.etbl-tax .etbl-chipsband--inline{padding:0 0 26px;margin:0 0 24px;border-bottom:1px solid var(--line-2)}
.etbl-tax .etbl-chipsband--inline .etbl-chipsband-list{justify-content:flex-start}
@media(max-width:680px){
	.etbl-tax .etbl-chipsband--inline{padding:0 0 20px;margin:0 0 18px}
	.etbl-tax .etbl-chipsband--inline .etbl-chipsband-list{justify-content:center}
}

/* .rev-intro h2 (reviews intro, ported-from-homepage component) was never
   covered by any taxonomy-page rule — same theme h1..h6 color/size collision.
   Sized to this page's own .lsec-head h2 scale, not the homepage's. */
.rev-intro h2{color:var(--navy)!important;font-size:clamp(25px,3.3vw,36px)!important}

/* ══════════════════════════════════════════════════════════════════════════════
   SINGLE ARTICLE TEMPLATE (2026-07-19) — single.php child-theme override.
   Reuses .lhero/.lsec/.wrap/.tcard/.grid3 from the shared system; this block
   adds only what's genuinely new: article meta pills, prose typography for
   the_content(), tag chips, the real author box, and prev/next nav.
   ══════════════════════════════════════════════════════════════════════════════ */

.art-wrap{max-width:1100px;margin:0 auto}
.art-narrow{max-width:800px;margin:0 auto}
.art-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}
.art-meta .m{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#dbe3ec;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:7px 13px;border-radius:100px}
.art-meta .m svg{width:13px;height:13px;color:var(--gold-l)}
.art-meta .cat{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700}

.art-body{font-size:16px;line-height:1.85;color:var(--muted)}
.art-body h2{font-family:'Montserrat',sans-serif;font-size:26px;font-weight:800;color:var(--navy);margin:42px 0 16px;line-height:1.25}
.art-body h2:first-child{margin-top:0}
.art-body h3{font-family:'Montserrat',sans-serif;font-size:20px;font-weight:700;color:var(--navy);margin:30px 0 12px}
.art-body h4{font-family:'Montserrat',sans-serif;font-size:17px;font-weight:700;color:var(--navy);margin:24px 0 10px}
.art-body p{margin:0 0 20px}
.art-body a{color:var(--orange-d);font-weight:600;text-decoration:underline;text-decoration-color:rgba(232,85,24,.35);text-underline-offset:3px}
.art-body a:hover{text-decoration-color:var(--orange-d)}
.art-body strong{color:var(--navy);font-weight:700}
.art-body ul,.art-body ol{margin:0 0 22px;padding-left:24px}
.art-body li{margin-bottom:9px}
.art-body ul li::marker{color:var(--orange-d)}
.art-body blockquote{margin:28px 0;padding:20px 24px;background:var(--sand);border-left:4px solid var(--orange);border-radius:0 12px 12px 0;font-style:italic;color:var(--navy)}
.art-body blockquote p{margin:0}
.art-body img{max-width:100%;height:auto;border-radius:14px;margin:8px 0 26px;display:block;box-shadow:var(--sh-sm)}
.art-body figure{margin:8px 0 26px}
.art-body figcaption{font-size:12.5px;color:var(--muted-2);text-align:center;margin-top:8px}
.art-body table{width:100%;border-collapse:collapse;margin:8px 0 28px;font-size:14px;overflow-x:auto;display:block}
.art-body table th{background:var(--navy);color:#fff;padding:11px 14px;text-align:left;font-weight:700;font-size:13px}
.art-body table td{padding:10px 14px;border-bottom:1px solid var(--line-2);color:var(--muted)}
.art-body table tr:nth-child(even) td{background:var(--sand)}
.art-body hr{border:none;border-top:1px solid var(--line-2);margin:36px 0}
.art-body .last-updated{display:none} /* legacy inline marker from the old prepend-filter, now rendered properly in .art-meta — hidden if it ever reappears in stored content */

.art-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line-2)}
.art-tag{font-size:12.5px;font-weight:600;color:var(--navy);background:var(--sand);border:1px solid var(--line-2);padding:7px 14px;border-radius:100px;text-decoration:none;transition:.18s}
.art-tag:hover{background:var(--orange);border-color:var(--orange);color:#fff}

.art-author{margin-top:36px;background:linear-gradient(160deg,#0F2135,#0B1C33);border-radius:20px;padding:32px;color:#fff;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
.art-author-photo{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid var(--gold-l);flex-shrink:0}
.art-author-label{font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold-l);margin-bottom:8px}
.art-author-name{font-size:19px;font-weight:800;margin-bottom:4px}
.art-author-name a{color:#fff;text-decoration:none}
.art-author-role{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:14px}
.art-author-bio{font-size:14px;line-height:1.75;color:rgba(255,255,255,.85);margin-bottom:16px}
.art-author-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--gold-l);text-decoration:none}
.art-author-link:hover{text-decoration:underline}
@media(max-width:600px){.art-author{grid-template-columns:1fr;text-align:center}.art-author-photo{margin:0 auto}}

.art-related{margin-top:56px}
.art-related-head{font-size:22px;font-weight:800;color:var(--navy);margin-bottom:20px}

.art-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.art-nav a{display:block;background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:18px 20px;text-decoration:none;transition:.2s}
.art-nav a:hover{border-color:var(--orange);box-shadow:var(--sh-sm)}
.art-nav .lbl{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.art-nav .ttl{font-size:14px;font-weight:700;color:var(--navy);line-height:1.4}
.art-nav-next{text-align:right}
.art-nav-next .lbl{justify-content:flex-end}
@media(max-width:640px){.art-nav{grid-template-columns:1fr}.art-nav-next{text-align:left}.art-nav-next .lbl{justify-content:flex-start}}

.art-comments{margin-top:48px}

/* ══════════════════════════════════════════════════════════════════════════════
   SINGLE ARTICLE TEMPLATE — REVISION 2 (2026-07-19, same day as first ship).
   Header/date-badge/title/feature-image now reuse the original parent-theme
   markup directly (no new CSS needed for those — already loaded theme-wide).
   This block covers only the NEW pieces: light-background meta pills (the
   old dark-hero .m styling doesn't fit on the now-white background), the
   TOC sidebar layout, and a smaller Related Guides heading per feedback.
   ══════════════════════════════════════════════════════════════════════════════ */

.art-meta .m.m-lt{color:var(--navy);background:var(--sand);border:1px solid var(--line-2)}
.art-meta .m.m-lt svg{color:var(--orange-d)}

.art-layout{display:block}
.art-layout.has-toc{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start;max-width:1100px;margin:0 auto}
.art-layout.has-toc .art-main{min-width:0}
.art-wrap .art-layout:not(.has-toc) .art-main{max-width:800px;margin:0 auto}

.art-toc{position:sticky;top:24px}
.art-toc-in{background:var(--sand);border:1px solid var(--line-2);border-radius:14px;padding:18px 20px;max-height:calc(100vh - 48px);overflow-y:auto}
.art-toc-h{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted-2);margin-bottom:12px}
.art-toc nav ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.art-toc nav li{counter-increment:toc;margin-bottom:2px}
.art-toc nav a{display:block;font-size:13px;line-height:1.5;color:var(--muted);text-decoration:none;padding:7px 8px;border-radius:8px;border-left:2px solid transparent}
.art-toc nav a:hover{background:#fff;color:var(--orange-d);border-left-color:var(--orange)}
@media(max-width:960px){.art-layout.has-toc{grid-template-columns:1fr;max-width:800px}}

.art-related-head{font-size:19px;font-weight:700}

/* ══════════════════════════════════════════════════════════════════════════════
   SINGLE ARTICLE — REVISION 3 (2026-07-19, same day): .art-wrap widened to
   1100px so the TOC sidebar has room; everything else (feature image, meta,
   tags, author, related, nav, comments) now sits inside .art-narrow (800px,
   centered) so it reads exactly like before — no full-bleed stretching.
   Also: contained/rounded feature image (no distortion, fixed max-height,
   object-fit:cover), scroll-margin on headings so TOC clicks don't land
   under the sticky header, and a slightly more refined TOC hover/active look.
   ══════════════════════════════════════════════════════════════════════════════ */

.art-feature-img{border-radius:16px;overflow:hidden;max-height:520px;box-shadow:var(--sh-sm)}
.art-feature-img img{width:100%;height:100%;object-fit:cover;display:block;margin:0}

.art-body h2,.art-body h3{scroll-margin-top:130px}

.art-toc-in{padding:20px 22px}
.art-toc-h{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--orange-d);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.art-toc nav a{font-weight:500;padding:8px 10px}
.art-toc nav li{margin-bottom:1px}
.art-toc nav a:hover{background:rgba(232,85,24,.06);color:var(--orange-d);border-left-color:var(--orange);font-weight:600}

/* ══════════════════════════════════════════════════════════════════════════════
   SINGLE ARTICLE — REVISION 4 (2026-07-19, same day): dropped the old
   theme's date-badge/author/category header block entirely per feedback —
   replaced with a custom title block (category badge, wide h1, meta row
   with a designed author chip) placed above the feature image instead of
   split around it.
   ══════════════════════════════════════════════════════════════════════════════ */

.art-cat-badge{display:inline-block;background:var(--orange);color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px;padding:6px 15px;border-radius:100px;text-decoration:none;margin-bottom:16px}
.art-cat-badge:hover{background:var(--orange-d)}

.etbl-tax h1.art-title{font-family:'Montserrat',sans-serif;font-size:clamp(28px,4vw,42px);font-weight:800;color:var(--navy);line-height:1.16;letter-spacing:-.01em;margin:0;max-width:50ch}

.art-author-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--navy);text-decoration:none;background:var(--sand);border:1px solid var(--line-2);padding:5px 15px 5px 6px;border-radius:100px;transition:.18s}
.art-author-chip img{width:26px;height:26px;border-radius:50%;object-fit:cover;display:block}
.art-author-chip:hover{border-color:var(--orange);color:var(--orange-d)}

/* ══════════════════════════════════════════════════════════════════════════════
   SINGLE ARTICLE — REVISION 5 (2026-07-19, same day): TOC gets a header icon
   + chevron, and on mobile it collapses into a fixed bottom bar instead of a
   long inline list. Pure CSS (checkbox-hack) toggle — no JS dependency.
   ══════════════════════════════════════════════════════════════════════════════ */

.art-toc-cb{position:absolute;opacity:0;pointer-events:none;width:0;height:0}

.art-toc-h{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;margin-bottom:0;padding-bottom:0;border-bottom:none}
.art-toc-h span{flex:1;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--orange-d)}
.art-toc-ic{width:16px;height:16px;color:var(--orange-d);flex-shrink:0}
.art-toc-chev{width:16px;height:16px;color:var(--muted-2);flex-shrink:0;transition:transform .2s;display:none}

.art-toc nav{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}

@media(min-width:961px){
  .art-toc-in{padding:18px 20px}
}

@media(max-width:960px){
  .art-layout.has-toc{grid-template-columns:1fr;max-width:800px}
  .art-toc{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:60;order:0;margin-bottom:0}
  .art-toc-in{background:#fff;border:1px solid var(--line-2);border-radius:16px 16px 0 0;box-shadow:0 -6px 24px rgba(15,33,53,.14);padding:14px 18px;max-height:none}
  .art-toc-chev{display:block}
  .art-toc nav{margin-top:0;padding-top:0;border-top:none;max-height:0;overflow:hidden;transition:max-height .25s ease}
  .art-toc-cb:checked ~ .art-toc-in nav{max-height:56vh;overflow-y:auto;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}
  .art-toc-cb:checked ~ .art-toc-in .art-toc-chev{transform:rotate(180deg)}
  .art-toc-cb:checked ~ .art-toc-in{box-shadow:0 -12px 32px rgba(15,33,53,.22)}
  /* keep the fixed bar clear of the WhatsApp bubble on the right */
  .art-toc-in{padding-right:74px}
}

/* ══════════════════════════════════════════════════════════════════════════════
   SINGLE ARTICLE — REVISION 6 (2026-07-19, same day). Three mobile fixes:
   1) Site-wide .mobile-bar (footer.php, z-index:70, ~68px tall, fixed to
      every page) was sitting on top of and hiding .art-toc (z-index:60) —
      lift the TOC bar to clear it instead of overlapping.
   2) Title was too large on small phones — added a tighter clamp floor.
   3) The 4 meta pills (author/published/updated/reading-time) were wrapping
      onto separate lines — force a single row on mobile, shrunk down, with
      horizontal scroll as a fallback so nothing gets cut off or wraps.
   ══════════════════════════════════════════════════════════════════════════════ */

@media(max-width:960px){
  .art-toc{bottom:56px}
}

@media(max-width:480px){
  .etbl-tax h1.art-title{font-size:26px;font-weight:700}
}

@media(max-width:640px){
  .art-narrow .art-meta{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:2px;margin-top:14px!important}
  .art-narrow .art-meta::-webkit-scrollbar{display:none}
  .art-narrow .art-meta .m.m-lt,.art-narrow .art-meta .art-author-chip{flex-shrink:0;font-size:11px;padding:5px 10px}
  .art-narrow .art-meta .art-author-chip{padding:4px 10px 4px 4px;gap:6px}
  .art-narrow .art-meta .art-author-chip img{width:20px;height:20px}
  .art-narrow .art-meta .m.m-lt svg{width:12px;height:12px}
}
