/* ==========================================================================
   Voyara – Travel Agency & Hotel HTML Template
   Table of contents (SCSS partials in assets/scss/ follow the same numbers)
   01 Fonts                         13 Journal (blog) cards
   02 Theme tokens & skins          14 Travel experts
   03 Base & typography             15 Packages, plans & deals
   04 Buttons & forms               16 CTA bands & app band
   05 Top bar & header              17 FAQ, tabs, itinerary, timeline
   06 Mega menus & mobile menu      18 Inner pages: page hero, sidebar, filters, toolbar
   07 Hero & trip search            19 Shop, cart, checkout, account
   08 Decorations                   20 Footer
   09 Tour cards                    21 Overlays: search, mini cart, popup, switcher, cookies
   10 Destination cards             22 Utilities, rails, chips, motion
   11 Hotels & rooms                23 Dark mode details
   12 Features, stats, reviews      24 Print
   25 Shared page overrides
   Page styles live in assets/css/pages/ (account, company, homes-2-9, homes-10-17,
   homes-18-24, hotel, journal, tours) and load only on the pages that use them.
   ========================================================================== */

/* 01 Fonts ---------------------------------------------------------------- */
/* Fraunces (display, variable weight + optical size), Manrope (text, variable weight), Caveat (handwritten notes).
   All three: SIL Open Font License 1.1, see assets/fonts/LICENSE-*.txt */
@font-face{font-family:"Fraunces";src:url("../fonts/Fraunces.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("../fonts/Fraunces-Italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url("../fonts/Manrope.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url("../fonts/Caveat.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
/* Fallbacks sized close to the web fonts, so text keeps its line breaks while the fonts load (less layout shift) */
@font-face{font-family:"Manrope Fallback";src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Liberation Sans");size-adjust:103%;ascent-override:103%;descent-override:29%;line-gap-override:0%}
@font-face{font-family:"Fraunces Fallback";src:local("Georgia"),local("Times New Roman"),local("Liberation Serif");size-adjust:104%;ascent-override:94%;descent-override:24%;line-gap-override:0%}

/* 02 Theme tokens ---------------------------------------------------------
   Skins only set the four *-base colours; everything else is mixed from them,
   so a custom colour (style switcher or your own) recolours the whole site.
   Add your own skin:  [data-skin="name"]{--brand-base:#..;--brand-2-base:#..;--deep-base:#..;--accent-base:#..}
   ------------------------------------------------------------------------- */
:root{
  --brand-base:#c4512f;     /* main colour: buttons, links, icons (terracotta) */
  --brand-2-base:#f2b544;   /* warm partner colour: highlights, stars, accents on dark (saffron) */
  --deep-base:#173a35;      /* dark sections, footer, headings (pine) */
  --accent-base:#2e9c8f;    /* second accent: chips, map pins, "available" (lagoon) */
  --on-brand:#fff;          /* text on brand buttons */

  --brand:var(--brand-base);
  --brand-2:var(--brand-2-base);
  --deep:var(--deep-base);
  --accent:var(--accent-base);
  --brand-600:color-mix(in srgb,var(--brand) 82%,#000);
  --brand-text:color-mix(in srgb,var(--brand) 84%,#000);      /* brand colour for text on light tints (WCAG AA) */
  --brand-2-text:color-mix(in srgb,var(--brand-2) 48%,#000);  /* saffron as text on light backgrounds */
  --accent-text:color-mix(in srgb,var(--accent) 66%,#000);
  --brand-soft:color-mix(in srgb,var(--brand) 10%,#fff);
  --brand-2-soft:color-mix(in srgb,var(--brand-2) 22%,#fff);
  --accent-soft:color-mix(in srgb,var(--accent) 13%,#fff);
  --ink:var(--deep);
  --text:color-mix(in srgb,var(--deep) 80%,#fff);
  --muted:color-mix(in srgb,var(--deep) 76%,#fff);
  --bg:color-mix(in srgb,var(--brand-2) 6%,#fdfaf6);
  --surface:#fff;
  --sand:color-mix(in srgb,var(--brand-2) 17%,#fbf4ea);     /* warm tinted sections */
  --blush:color-mix(in srgb,var(--brand) 7%,#fdf6f1);       /* rose tinted sections */
  --tint:color-mix(in srgb,var(--deep) 4%,#f6f2ec);
  --line:color-mix(in srgb,var(--deep) 12%,#fff);
  --shadow-sm:0 2px 10px color-mix(in srgb,var(--deep) 8%,transparent);
  --shadow:0 22px 44px -22px color-mix(in srgb,var(--deep) 32%,transparent);
  --shadow-lg:0 40px 80px -30px color-mix(in srgb,var(--deep) 40%,transparent);
  --radius:22px;
  --radius-sm:14px;
  --radius-xs:10px;
  --font:"Manrope","Manrope Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:"Fraunces","Fraunces Fallback",Georgia,serif;
  --font-hand:"Caveat","Comic Sans MS",cursive;
  --header-h:78px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
[data-radius="soft"]{--radius:12px;--radius-sm:9px;--radius-xs:7px}
[data-radius="sharp"]{--radius:3px;--radius-sm:2px;--radius-xs:2px}
[data-bs-theme="dark"]{
  --on-brand:#1a0d08;
  --brand:color-mix(in srgb,var(--brand-base) 70%,#fff);
  --brand-600:color-mix(in srgb,var(--brand) 84%,#fff);
  --brand-text:color-mix(in srgb,var(--brand-base) 55%,#fff);
  --brand-2-text:var(--brand-2);
  --accent-text:color-mix(in srgb,var(--accent) 65%,#fff);
  --brand-soft:color-mix(in srgb,var(--brand-base) 22%,transparent);
  --brand-2-soft:color-mix(in srgb,var(--brand-2) 16%,transparent);
  --accent-soft:color-mix(in srgb,var(--accent) 18%,transparent);
  --deep:color-mix(in srgb,var(--deep-base) 62%,#000);
  --ink:#f4ede4;
  --text:#cdc4b8;
  --muted:#a59d92;
  --bg:color-mix(in srgb,var(--deep-base) 32%,#0d0f0e);
  --surface:color-mix(in srgb,var(--deep-base) 40%,#161918);
  --sand:color-mix(in srgb,var(--deep-base) 36%,#131514);
  --blush:color-mix(in srgb,var(--brand-base) 9%,#141413);
  --tint:color-mix(in srgb,var(--deep-base) 46%,#121413);
  --line:color-mix(in srgb,var(--deep-base) 40%,#3a3d3b);
  --shadow-sm:0 2px 10px rgba(0,0,0,.35);
  --shadow:0 22px 44px -22px rgba(0,0,0,.7);
  --shadow-lg:0 40px 80px -30px rgba(0,0,0,.8);
  --bs-body-bg:var(--bg);
  --bs-body-color:var(--text);
  --bs-border-color:var(--line);
}
/* Colour skins (style switcher). Default = terracotta. */
[data-skin="lagoon"]  {--brand-base:#0e7c78;--brand-2-base:#f4c36a;--deep-base:#10302f;--accent-base:#e0704b}
[data-skin="olive"]   {--brand-base:#5e7426;--brand-2-base:#e9c46a;--deep-base:#262b18;--accent-base:#c2603a}
[data-skin="plum"]    {--brand-base:#7a3b69;--brand-2-base:#f0b36b;--deep-base:#2a1726;--accent-base:#2f9c8c}
[data-skin="navy"]    {--brand-base:#1e3a66;--brand-2-base:#f2a541;--deep-base:#111b2e;--accent-base:#d9614c}
[data-skin="ochre"]   {--brand-base:#a8661b;--brand-2-base:#f3cf7a;--deep-base:#2c2114;--accent-base:#3a8b7e}
[data-skin="forest"]  {--brand-base:#2e6a4e;--brand-2-base:#e8b94e;--deep-base:#14261d;--accent-base:#c75b39}
[data-skin="rose"]    {--brand-base:#be4466;--brand-2-base:#f5bf7a;--deep-base:#2d1820;--accent-base:#3a8f86}
[data-skin="berry"]   {--brand-base:#9c2e7e;--brand-2-base:#f6b26b;--deep-base:#2a1225;--accent-base:#2c8d84}
[data-skin="slate"]   {--brand-base:#3f5468;--brand-2-base:#e7b45a;--deep-base:#18212b;--accent-base:#c8603f}
[data-skin="mahogany"]{--brand-base:#8b3a2b;--brand-2-base:#eab676;--deep-base:#24160f;--accent-base:#3d8a7a}
[data-skin="aqua"]    {--brand-base:#0b7a8f;--brand-2-base:#f6bd60;--deep-base:#0f2a33;--accent-base:#e76f51}
[data-bs-theme="dark"][data-skin="navy"],[data-bs-theme="dark"][data-skin="slate"]{--brand:color-mix(in srgb,var(--brand-base) 50%,#fff)}

/* 03 Base & typography ---------------------------------------------------- */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;--bs-heading-color:var(--ink)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-display);color:var(--ink);font-weight:600;letter-spacing:-.015em;line-height:1.12;font-variation-settings:"opsz" 72}
h1 em,h2 em,h3 em,.display em{font-style:italic;font-weight:400;color:var(--brand-text)}
a{color:var(--brand-text);text-decoration:none;transition:color .2s}
:is(p,label,small,.small,.text-muted-2,.info-box,.accordion-body,.content-body,td) a:not([class]){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
:is(p,label,small,.small,.accordion-body,.content-body,td) a:not([class]):hover{text-decoration-thickness:2px}
code{color:var(--brand-text)}
a:hover{color:var(--brand-600)}
img{max-width:100%;height:auto}
img.is-broken{visibility:hidden}
::selection{background:color-mix(in srgb,var(--brand-2) 45%,transparent);color:var(--ink)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}
.skip-link{position:absolute;top:8px;left:8px;z-index:2000}
.display{font-family:var(--font-display);font-size:clamp(2.6rem,1.4rem + 4.6vw,5.4rem);font-weight:500;line-height:1.02;letter-spacing:-.03em;font-variation-settings:"opsz" 144}
.section{padding:clamp(4.5rem,9vw,7.5rem) 0;position:relative}
.section-sm{padding:clamp(3rem,6vw,4.5rem) 0}
.section-sand{background:var(--sand)}
.section-blush{background:var(--blush)}
.section-tint{background:var(--tint)}
.section-deep{background:var(--deep);color:color-mix(in srgb,#fff 72%,var(--deep))}
.section-deep h1,.section-deep h2,.section-deep h3,.section-deep h4{color:#fff}
.section-deep h1 em,.section-deep h2 em,.section-deep h3 em{color:var(--brand-2)}
.section-deep .section-lead,.section-deep .text-muted-2{color:color-mix(in srgb,#fff 65%,var(--deep))}
.section-head{margin-bottom:clamp(2.25rem,4vw,3.5rem)}
.section-head-center{max-width:760px;margin:0 auto clamp(2.25rem,4vw,3.5rem);text-align:center}
.section-head-center .section-lead{margin-inline:auto}
.section-head-split{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;margin-bottom:clamp(2rem,4vw,3rem)}
.section-head-split .section-title{margin-bottom:0}
.section-title{font-size:clamp(2.1rem,1.3rem + 2.6vw,3.4rem);margin:.7rem 0 1rem;font-weight:500;letter-spacing:-.025em}
.section-lead{font-size:1.08rem;max-width:560px;color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text)}
.eyebrow::before{content:"";width:28px;height:2px;border-radius:2px;background:currentColor;opacity:.7}
.eyebrow-center::after{content:"";width:28px;height:2px;border-radius:2px;background:currentColor;opacity:.7}
.eyebrow-light{color:var(--brand-2)}
.eyebrow-sm{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text);margin:0 0 .3rem}
.hand{font-family:var(--font-hand);font-weight:600;font-size:1.6rem;line-height:1;color:var(--brand-text);letter-spacing:0}
.text-muted-2{color:var(--muted)}
.lead-lg{font-size:clamp(1.1rem,1rem + .4vw,1.3rem);line-height:1.6}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.94rem}
.link-arrow i{transition:transform .25s}
.link-arrow:hover i{transform:translateX(4px)}
.check-list li{display:flex;gap:.65rem;padding:.35rem 0;color:var(--ink);font-weight:500}
.check-list i{color:var(--accent-text);font-size:1.15rem;line-height:1.5}
.x-list li{display:flex;gap:.65rem;padding:.35rem 0;color:var(--muted)}
.x-list i{color:var(--muted);font-size:1.15rem;line-height:1.5}
hr.dashed{border:0;border-top:2px dashed var(--line);opacity:1}

/* 04 Buttons & forms -------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-weight:700;border-radius:99px;padding:.68rem 1.35rem;font-size:.95rem;transition:transform .2s,box-shadow .2s,background-color .2s,color .2s,border-color .2s}
[data-radius="sharp"] .btn{border-radius:var(--radius-xs)}
.btn-lg{padding:.95rem 1.75rem;font-size:1.02rem}
.btn-sm{padding:.45rem .95rem;font-size:.85rem}
.btn-brand{background:var(--brand);color:var(--on-brand);border:0;box-shadow:0 12px 26px -12px color-mix(in srgb,var(--brand) 80%,transparent)}
.btn-brand:hover,.btn-brand:focus-visible,.btn-brand:active{background:var(--brand-600);color:var(--on-brand);transform:translateY(-2px)}
.btn-sun{background:var(--brand-2);color:#1d1408;border:0}
.btn-sun:hover,.btn-sun:focus-visible{background:color-mix(in srgb,var(--brand-2) 85%,#000);color:#1d1408;transform:translateY(-2px)}
.btn-ink{background:var(--deep);color:#fff;border:0}
.btn-ink:hover,.btn-ink:focus-visible{background:color-mix(in srgb,var(--deep) 80%,#000);color:#fff;transform:translateY(-2px)}
[data-bs-theme="dark"] .btn-ink{background:var(--ink);color:var(--deep)}
.btn-outline-ink{border:1.5px solid var(--line);color:var(--ink);background:var(--surface)}
.btn-outline-ink:hover,.btn-outline-ink:focus-visible{border-color:var(--ink);color:var(--ink);background:var(--surface);transform:translateY(-2px)}
.btn-soft{background:var(--brand-soft);color:var(--brand-text);border:0}
.btn-soft:hover{background:var(--brand);color:var(--on-brand)}
.btn-light{background:#fff;color:#1b1b1b;border:0}
.btn-light:hover{background:var(--brand-2);color:#1d1408;transform:translateY(-2px)}
.btn-outline-light{border:1.5px solid rgba(255,255,255,.5);color:#fff;background:transparent}
.btn-outline-light:hover{background:#fff;color:#1b1b1b;border-color:#fff}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-glass:hover{background:#fff;color:#1b1b1b}
.btn-link{color:var(--ink);text-decoration:none;padding-inline:0;font-weight:700}
.btn-link:hover{color:var(--brand-text)}
.btn-play{width:62px;height:62px;padding:0;border-radius:50%;background:#fff;color:var(--brand-text);font-size:1.6rem;box-shadow:0 0 0 10px rgba(255,255,255,.2)}
.btn-play:hover{transform:scale(1.06);color:var(--brand-text)}
.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:1.12rem;position:relative;transition:border-color .2s,background .2s,color .2s}
.icon-btn:hover{border-color:var(--brand);color:var(--brand-text)}
.form-control,.form-select{border-color:var(--line);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--ink);padding:.7rem 1rem}
.form-control::placeholder{color:color-mix(in srgb,var(--muted) 85%,var(--surface))}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--brand) 18%,transparent);background-color:var(--surface);color:var(--ink)}
.form-label{font-weight:700;color:var(--ink);font-size:.88rem}
.form-check-input{border-color:color-mix(in srgb,var(--deep) 30%,#fff)}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}
.form-check-input:focus{box-shadow:0 0 0 .22rem color-mix(in srgb,var(--brand) 18%,transparent);border-color:var(--brand)}
.form-range::-webkit-slider-thumb{background:var(--brand)}
.form-range::-moz-range-thumb{background:var(--brand)}
.form-range::-webkit-slider-runnable-track{background:var(--line)}
.input-icon{position:relative}
.input-icon>i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.input-icon>.form-control,.input-icon>.form-select{padding-left:2.6rem}
.was-validated .form-control:invalid,.form-control.is-invalid,.form-select.is-invalid{border-color:#c0392b}
.form-error{color:#b42318;font-size:.88rem;font-weight:600;min-height:1.2em;margin:.5rem 0 0}
[data-bs-theme="dark"] .form-error{color:#ff9d8f}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:99px;background:var(--surface);overflow:hidden}
.qty button{width:40px;height:44px;border:0;background:transparent;color:var(--ink);font-size:1.05rem}
.qty button:hover{color:var(--brand-text)}
.qty input{width:44px;border:0;text-align:center;font-weight:700;background:transparent;color:var(--ink);-moz-appearance:textfield;appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-sm button{width:32px;height:36px}.qty-sm input{width:34px}

/* 05 Top bar & header ------------------------------------------------------ */
.topbar{background:var(--deep);color:color-mix(in srgb,#fff 70%,var(--deep));font-size:.84rem;padding:.5rem 0;position:relative;z-index:1031}
.topbar-list li{display:flex;align-items:center;gap:.45rem}
.topbar-list i{color:var(--brand-2)}
.topbar a{color:#fff}
.topbar a:hover{color:var(--brand-2)}
.topbar-note span{opacity:.85}
.topbar-note a{text-decoration:underline;text-underline-offset:3px}
.topbar .dropdown-toggle{display:inline-flex;align-items:center;gap:.4rem;border:0;background:none;color:#fff;font-size:.84rem;font-weight:600;padding:0}
.topbar .dropdown-menu{font-size:.88rem;min-width:200px;padding:.4rem;border-radius:var(--radius-sm);box-shadow:var(--shadow)}
.topbar .dropdown-item{display:flex;gap:.75rem;border-radius:8px;padding:.45rem .7rem}
.topbar .dropdown-item b{width:2.2rem;color:var(--brand-text)}
.topbar-social a{width:28px;height:28px;display:grid;place-items:center;border-radius:50%}
.topbar-social a:hover{background:rgba(255,255,255,.1)}

.site-header{position:sticky;top:0;z-index:1030;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:background .3s,border-color .3s,box-shadow .3s}
.site-header>.container{min-height:var(--header-h)}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px -24px color-mix(in srgb,var(--deep) 60%,transparent)}
.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);flex:none}
.brand:hover{color:var(--ink)}
.brand-mark{width:40px;height:40px;flex:none}
.bm-bg{fill:var(--brand)}
.bm-ring{stroke:var(--brand-2);stroke-width:1.6;stroke-dasharray:2.2 2.6;stroke-linecap:round}
.bm-v{stroke:#fff;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.bm-dot{fill:var(--brand-2)}
.brand-name{font-family:var(--font-display);font-size:1.62rem;font-weight:600;letter-spacing:-.03em;line-height:1;font-variation-settings:"opsz" 144}
.brand-light,.brand-light:hover{color:#fff}
.main-nav{align-items:center;gap:.15rem}
.main-nav .nav-link{position:relative;padding:.55rem .85rem;border-radius:99px;font-weight:700;font-size:.95rem;color:var(--ink);transition:background .2s,color .2s}
.main-nav .nav-link:hover,.main-nav .nav-link.active,.main-nav .show>.nav-link{color:var(--brand-text);background:var(--brand-soft)}
.main-nav .dropdown-toggle::after{content:"\F282";font-family:bootstrap-icons;border:0;vertical-align:-.12em;margin-left:.3rem;font-size:.7rem;transition:transform .25s}
.main-nav .show>.dropdown-toggle::after{transform:rotate(180deg)}
.header-actions .btn{white-space:nowrap}
/* 1200-1399px: the container is 1140px wide, so the full menu and the "Plan my trip" label do not both fit; the button shows its icon only (the label stays for screen readers) */
@media (min-width:1200px) and (max-width:1399.98px){.main-nav .nav-link{padding:.55rem .62rem}.main-nav~.header-actions .btn{font-size:0;gap:0;padding:.68rem .9rem}.main-nav~.header-actions .btn .bi{font-size:1.05rem}}
.cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--brand);color:var(--on-brand);font-size:.7rem;font-weight:800;display:grid;place-items:center;border:2px solid var(--bg)}
.cart-count[hidden]{display:none}
.cart-btn.is-bump{animation:bump .5s}
@keyframes bump{30%{transform:scale(1.18)}60%{transform:scale(.94)}}
.theme-toggle .bi-sun{display:none}
[data-bs-theme="dark"] .theme-toggle .bi-sun{display:inline}
[data-bs-theme="dark"] .theme-toggle .bi-moon-stars{display:none}
/* Transparent header over a dark hero */
.site-header.is-over:not(.is-scrolled){background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;position:fixed;left:0;right:0;top:auto}
.has-topbar .site-header.is-over:not(.is-scrolled){top:auto}
.site-header.is-over:not(.is-scrolled) .brand,.site-header.is-over:not(.is-scrolled) .main-nav>.nav-link,.site-header.is-over:not(.is-scrolled) .main-nav>.dropdown>.nav-link{color:#fff}
.site-header.is-over:not(.is-scrolled) .main-nav .nav-link:hover,.site-header.is-over:not(.is-scrolled) .main-nav .nav-link.active,.site-header.is-over:not(.is-scrolled) .main-nav .show>.nav-link{background:rgba(255,255,255,.16);color:#fff}
.site-header.is-over:not(.is-scrolled) .icon-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#fff}
.site-header.is-over:not(.is-scrolled) .cart-count{border-color:transparent}
.site-header.is-over.is-scrolled{position:fixed;left:0;right:0;top:0}
.lp-trust{align-items:center;gap:.4rem;margin:0;font-size:.9rem;color:var(--muted)}
.lp-trust i{color:var(--brand-2)}
.lp-trust b{color:var(--ink)}
.lp-phone{align-items:center;gap:.4rem;font-weight:700;color:var(--ink)}
.site-header.is-over:not(.is-scrolled) .lp-trust,.site-header.is-over:not(.is-scrolled) .lp-trust b,.site-header.is-over:not(.is-scrolled) .lp-phone{color:#fff}
.bare-header{padding:1.1rem 0;border-bottom:1px solid var(--line);background:var(--surface)}
.bare-main{min-height:calc(100vh - 170px)}
.bare-footer{padding:1.5rem 0;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.bare-footer p{margin:0}

/* 06 Mega menus & mobile menu ------------------------------------------------ */
.dropdown-menu{--bs-dropdown-bg:var(--surface);--bs-dropdown-border-color:var(--line);--bs-dropdown-color:var(--text);--bs-dropdown-link-color:var(--ink);--bs-dropdown-link-hover-bg:var(--tint);--bs-dropdown-link-hover-color:var(--ink);--bs-dropdown-link-active-bg:var(--brand-soft);--bs-dropdown-link-active-color:var(--brand-text)}
.main-nav .dropdown-menu{margin-top:.85rem!important;border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:calc(100vh - 8.5rem);max-height:calc(100dvh - 8.5rem);overflow-y:auto;overscroll-behavior:contain;animation:ddIn .25s ease}
@keyframes ddIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dropdown-simple{padding:.5rem;min-width:240px}
.dropdown-simple .dropdown-item{border-radius:var(--radius-xs);padding:.5rem .8rem;font-weight:600;font-size:.92rem}
.dropdown-2col{display:none;grid-template-columns:1fr 1fr;gap:0 .25rem;min-width:420px}
.dropdown-2col.show{display:grid}
.dd-title{grid-column:1/-1;display:block;padding:.45rem .8rem .55rem;font-family:var(--font-display);font-size:1.05rem;color:var(--ink);font-weight:600}
.mega-menu{padding:1.25rem}
.mega-menu h6{font-family:var(--font);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 .6rem .6rem;font-weight:800}
.mega-menu .dropdown-item{border-radius:var(--radius-xs);padding:.42rem .6rem;font-size:.9rem;font-weight:600;white-space:normal}
.mm-count{display:inline-block;margin-left:.3rem;padding:.05rem .45rem;border-radius:99px;background:var(--brand);color:var(--on-brand);letter-spacing:0}
.mega-homes{display:none;grid-template-columns:1fr 220px;gap:1.5rem;width:min(1100px,96vw)}
.mega-homes.show{display:grid}
.homes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.1rem .4rem}
.homes-grid .dropdown-item{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem}
.home-no{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--brand) 45%,transparent);font-size:.72rem;font-weight:800;color:var(--brand-text)}
.homes-grid .dropdown-item:hover .home-no,.homes-grid .dropdown-item.active .home-no{background:var(--brand);border-color:var(--brand);border-style:solid;color:var(--on-brand)}
.mm-side{border-left:1px solid var(--line);padding-left:1.25rem}
.mm-side h6:not(:first-child){margin-top:1rem}
.mega-tours{display:none;grid-template-columns:1.35fr 1fr 1fr;gap:1.25rem;width:min(980px,96vw)}
.mega-tours.show{display:grid}
.types-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2rem}
.mega-type{display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;border-radius:var(--radius-xs);color:var(--ink);font-weight:600;font-size:.9rem}
.mega-type i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--sand);color:var(--brand-text);font-size:.95rem;flex:none}
.mega-type:hover{background:var(--tint);color:var(--ink)}
.mm-feat{background:var(--sand);border-radius:var(--radius-sm);padding:1rem}
.mm-feat h6{margin-left:0}
.mini-list{display:grid;gap:.6rem;margin-bottom:1rem}
.mini-item{display:flex;align-items:center;gap:.75rem;color:var(--ink)}
.mini-item img{width:58px;height:58px;border-radius:var(--radius-xs);object-fit:cover;flex:none}
.mini-item strong{display:block;font-size:.9rem;line-height:1.25;font-weight:700}
.mini-item small{color:var(--muted);font-size:.8rem}
.mini-item:hover strong{color:var(--brand-text)}
.mega-dest{display:none;grid-template-columns:2.4fr 1fr;gap:1.25rem;width:min(940px,96vw)}
.mega-dest.show{display:grid}
.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}
.dest-chip{display:flex;align-items:center;gap:.6rem;padding:.4rem;border-radius:99px;color:var(--ink)}
.dest-chip img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.dest-chip strong{display:block;font-size:.9rem;line-height:1.2}
.dest-chip small{font-size:.75rem;color:var(--muted)}
.dest-chip:hover{background:var(--tint);color:var(--ink)}
.mega-pages{width:min(1120px,96vw)}
.mm-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}
.mm-col h6:not(:first-child){margin-top:1rem}
.mobile-menu{--bs-offcanvas-width:min(380px,92vw);background:var(--bg)}
.mobile-nav{display:flex;flex-direction:column}
.mobile-nav a{padding:.8rem 0;border-bottom:1px dashed var(--line);font-family:var(--font-display);font-size:1.35rem;color:var(--ink)}
.mobile-more{margin-top:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .9rem;background:var(--surface)}
.mobile-more summary{font-weight:700;color:var(--ink);cursor:pointer}
.mobile-more div{display:flex;flex-direction:column;max-height:40vh;overflow:auto;margin-top:.5rem}
.mobile-more a{padding:.35rem 0;color:var(--text);font-size:.94rem}

/* 07 Hero & trip search -------------------------------------------------- */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero-photo{min-height:min(920px,100svh);display:flex;align-items:center;color:#fff;padding:calc(var(--header-h) + 3rem) 0 clamp(8rem,14vw,11rem)}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img,.hero-bg video{width:100%;height:100%;object-fit:cover}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,16,15,.55) 0%,rgba(10,16,15,.15) 40%,rgba(10,16,15,.6) 100%)}
@media (max-width:767.98px){.hero-photo::before{background:linear-gradient(180deg,rgba(10,16,15,.6),rgba(10,16,15,.5) 45%,rgba(10,16,15,.72))}}
.hero-photo h1,.hero-photo .display{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero-photo h1 em,.hero-photo .display em{color:var(--brand-2)}
.hero-photo .lead-lg{color:rgba(255,255,255,.88);max-width:560px}
.hero-kicker{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem .9rem .4rem .45rem;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.88rem;font-weight:600;color:#fff}
.hero-kicker b{padding:.15rem .6rem;border-radius:99px;background:var(--brand-2);color:#1d1408;font-size:.75rem;letter-spacing:.04em}
.hero-avatars{display:flex;align-items:center;gap:.75rem;font-size:.9rem}
.hero-avatars span:first-child{display:flex}
.hero-avatars img{width:38px;height:38px;border-radius:50%;border:2px solid #fff;object-fit:cover;margin-left:-10px}
.hero-avatars img:first-child{margin-left:0}
.hero-avatars b{display:block;color:inherit}
/* Trip search: [data-trip-search] (tabs + fields + guests popover). Submits to tours.html / hotels.html with GET params. */
.trip-search{position:relative;z-index:5;background:var(--surface);color:var(--text);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow-lg);padding:.6rem}
.ts-tabs{display:flex;gap:.25rem;padding:.2rem .2rem .6rem;flex-wrap:wrap}
.ts-tabs button{display:inline-flex;align-items:center;gap:.45rem;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:.9rem;padding:.5rem .9rem;border-radius:99px}
.ts-tabs button[aria-selected="true"]{background:var(--deep);color:#fff}
[data-bs-theme="dark"] .ts-tabs button[aria-selected="true"]{background:var(--ink);color:var(--deep)}
.ts-row{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr auto;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.ts-field{position:relative;display:flex;flex-direction:column;justify-content:center;padding:.75rem 1.1rem;min-width:0}
.ts-field+.ts-field{border-left:1px solid var(--line)}
.ts-field label,.ts-field .ts-label{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .15rem;cursor:pointer}
.ts-field label i,.ts-field .ts-label i{color:var(--brand-text);font-size:.95rem}
.ts-field input,.ts-field select,.ts-guests-btn{width:100%;border:0;background:transparent;padding:0;font-weight:700;font-size:1rem;color:var(--ink);text-align:left;min-height:28px}
.ts-field input:focus,.ts-field select:focus{outline:0}
.ts-field:focus-within{background:var(--tint);border-radius:var(--radius)}
.ts-submit{display:flex;align-items:center;padding:.4rem}
.ts-submit .btn{height:100%;min-height:58px;padding-inline:1.6rem;border-radius:calc(var(--radius) - 4px)}
.ts-guests{position:absolute;top:calc(100% + .6rem);left:0;z-index:20;width:300px;padding:1rem 1.1rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.ts-guests[hidden]{display:none}
.tg-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0}
.tg-row+.tg-row{border-top:1px dashed var(--line)}
.tg-row strong{display:block;color:var(--ink);font-size:.95rem}
.tg-row small{color:var(--muted);font-size:.8rem}
.ts-note{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;padding:.65rem .75rem .25rem;font-size:.84rem;color:var(--muted)}
.ts-note i{color:var(--accent-text);margin-right:.25rem}
.trip-search.is-compact .ts-tabs{display:none}
.trip-search.is-flat{box-shadow:var(--shadow)}
.hero-search-dock{position:relative;z-index:6;margin-top:calc(-1 * clamp(5rem,9vw,6.5rem))}
@media (max-width:991.98px){
  .ts-row{grid-template-columns:1fr 1fr}
  .ts-field:nth-child(3){border-left:0}
  .ts-field:nth-child(n+3){border-top:1px solid var(--line)}
  .ts-submit{grid-column:1/-1}
  .ts-submit .btn{width:100%}
}
@media (max-width:575.98px){
  .ts-row{grid-template-columns:1fr}
  .ts-field+.ts-field{border-left:0;border-top:1px solid var(--line)}
  .ts-guests{width:100%}
}

/* 08 Decorations ---------------------------------------------------------- */
/* Postmark stamp (build.py stamp() / {{stamp:Text}}). Spins slowly; still for reduced motion. */
.stamp{width:120px;height:120px;color:var(--brand-text);animation:spin 28s linear infinite;flex:none}
.stamp .st-ring{fill:none;stroke:currentColor;stroke-width:1.5;stroke-dasharray:3 4}
.stamp .st-inner{stroke-dasharray:none;stroke-width:1}
.stamp text{font-family:var(--font);font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;fill:currentColor}
.stamp .st-plane{fill:currentColor}
.stamp-light{color:var(--brand-2)}
.stamp-white{color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}
/* Dashed travel route with a plane following it: <svg class="route"><path pathLength="1000"/></svg> */
.route{position:absolute;pointer-events:none;overflow:visible}
.route path{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:6 9;stroke-linecap:round}
.route .rt-dot{fill:currentColor}
.route-plane{position:absolute;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--brand-text);font-size:.85rem;box-shadow:var(--shadow-sm)}
/* Handwritten note with an arrow */
.hand-note{display:inline-flex;align-items:flex-start;gap:.35rem;font-family:var(--font-hand);font-size:1.45rem;line-height:1;color:var(--brand-text);transform:rotate(-4deg)}
.hand-note svg{width:46px;height:34px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
/* Photo with a white frame and a piece of tape */
.polaroid{position:relative;display:inline-block;padding:.65rem .65rem 2.6rem;background:#fff;border-radius:6px;box-shadow:var(--shadow);transform:rotate(var(--rot,-3deg))}
.polaroid img{display:block;border-radius:2px;width:100%;object-fit:cover}
.polaroid figcaption,.polaroid .pol-cap{position:absolute;left:0;right:0;bottom:.55rem;text-align:center;font-family:var(--font-hand);font-size:1.35rem;color:#3a2f27;line-height:1.2}
.polaroid::before{content:"";position:absolute;top:-12px;left:50%;width:90px;height:26px;margin-left:-45px;background:color-mix(in srgb,var(--brand-2) 55%,rgba(255,255,255,.4));opacity:.85;transform:rotate(-4deg);box-shadow:0 2px 4px rgba(0,0,0,.08)}
/* Arch photo (hotel feel) */
.arch{border-radius:999px 999px var(--radius) var(--radius);overflow:hidden}
.arch img{width:100%;height:100%;object-fit:cover}
/* Paper grain on any section: add .has-grain */
.has-grain{position:relative}
.has-grain::after{content:"";position:absolute;inset:0;background:var(--grain);pointer-events:none;mix-blend-mode:multiply;opacity:.9}
[data-bs-theme="dark"] .has-grain::after{mix-blend-mode:screen;opacity:.35}
/* Torn-paper / wave edges: .edge-top or .edge-bottom on a section (uses the section background) */
.edge-bottom::before,.edge-top::before{content:"";position:absolute;left:0;right:0;height:28px;background:inherit;z-index:1;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28V12q10-9 20-1t20 0 20 0 20 0 20 0 20-1V28z'/%3E%3C/svg%3E") 0 0/120px 28px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28' preserveAspectRatio='none'%3E%3Cpath d='M0 28V12q10-9 20-1t20 0 20 0 20 0 20 0 20-1V28z'/%3E%3C/svg%3E") 0 0/120px 28px repeat-x}
.edge-top::before{top:-27px}
.edge-bottom::before{bottom:-27px;transform:scaleY(-1)}
/* Ticket shape: notches on both sides of a dashed tear line. Put .ticket on any card and .ticket-tear on the line. */
.ticket{--notch:12px;position:relative;-webkit-mask:radial-gradient(circle var(--notch) at 0 var(--tear,70%),#0000 98%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% var(--tear,70%),#0000 98%,#000) 100% 0/51% 100% no-repeat;mask:radial-gradient(circle var(--notch) at 0 var(--tear,70%),#0000 98%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% var(--tear,70%),#0000 98%,#000) 100% 0/51% 100% no-repeat}
.ticket-tear{border:0;border-top:2px dashed var(--line);margin:0;opacity:1}
/* Big outlined word behind a section title */
.ghost-word{position:absolute;left:0;right:0;top:0;text-align:center;font-family:var(--font-display);font-style:italic;font-size:clamp(5rem,16vw,15rem);line-height:.8;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--deep) 14%,transparent);pointer-events:none;user-select:none;white-space:nowrap;overflow:hidden}
[data-bs-theme="dark"] .ghost-word{-webkit-text-stroke-color:rgba(255,255,255,.08)}
.dot-grid{position:absolute;width:150px;height:110px;background:radial-gradient(color-mix(in srgb,var(--brand) 45%,transparent) 1.6px,transparent 1.7px) 0 0/16px 16px;pointer-events:none}
.sun-blob{position:absolute;width:420px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-2) 55%,transparent),transparent 65%);filter:blur(10px);opacity:.6;pointer-events:none;z-index:-1}

/* Photo collage: arch photo + polaroid + stamp + route (Home 1 story) */
.story-collage{position:relative;max-width:520px;margin:0 auto;padding:2rem 0 3rem}
.story-collage .sc-main{width:78%;aspect-ratio:38/45;margin-left:auto}
.story-collage .sc-pol{position:absolute;left:0;bottom:0;width:46%;z-index:2}
.story-collage .sc-stamp{position:absolute;left:4%;top:0;width:118px;height:118px}
.story-collage .sc-route{position:absolute;right:-8%;bottom:-.5rem;color:var(--brand)}
@media (max-width:575.98px){.story-collage .sc-route{right:0;width:160px}}
.hero-polaroid{width:260px;margin:0}
.hero-polaroid img{aspect-ratio:22/26}
.section-deep .room-card h3 a,.section-deep .room-card .room-facts{color:#fff}
.section-deep .room-card .room-facts i,.section-deep .room-card .eyebrow-sm,.section-deep .room-card .link-arrow{color:var(--brand-2)}

/* 09 Tour cards -------------------------------------------------------------- */
.tc-place{display:flex;align-items:center;gap:.35rem;margin:0 0 .3rem;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-text)}
.tc-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:0;font-size:.86rem;color:var(--muted)}
.tc-meta li{display:flex;align-items:center;gap:.35rem}
.tc-meta i{color:var(--ink);opacity:.7}
.rating{display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;color:var(--ink)}
.rating i{color:var(--brand-2)}
.rating small{color:var(--muted);font-size:.8rem}
.stars{display:inline-flex;gap:.12rem;color:var(--brand-2);font-size:.85rem}
.tc-price{margin:0;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.tc-price small{font-size:.72rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.tc-price .money{font-family:var(--font-display);font-size:1.45rem;font-weight:600;color:var(--ink)}
.tc-price .per{color:var(--muted);font-size:.78rem;font-family:var(--font)}
.tc-price del{color:var(--muted);font-size:.85rem;margin-right:.25rem}
.tc-badge{position:absolute;top:1rem;left:1rem;z-index:2;padding:.3rem .75rem;border-radius:99px;background:var(--brand-2);color:#1d1408;font-size:.75rem;font-weight:800;letter-spacing:.03em}
.tc-badge.is-sale{background:var(--brand);color:var(--on-brand)}
.wish-btn{position:absolute;top:.85rem;right:.85rem;z-index:2;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#2b2420;font-size:1.05rem;box-shadow:var(--shadow-sm);transition:transform .2s,color .2s}
.wish-btn:hover{transform:scale(1.1);color:var(--brand)}
.wish-btn[aria-pressed="true"]{color:#e0393e}
.wish-btn[aria-pressed="true"] i::before{content:"\F415"}
.tour-card{height:100%;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:transform .35s,box-shadow .35s}
.tour-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.tc-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.tc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tour-card:hover .tc-img img{transform:scale(1.06)}
.tc-days{position:absolute;left:1rem;bottom:-1px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:58px;padding-top:.2rem;border-radius:16px 16px 0 0;background:var(--surface);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1}
.tc-days b{font-family:var(--font-display);font-size:1.45rem;color:var(--ink);font-weight:600;letter-spacing:0;margin-bottom:.1rem}
.tc-body{padding:1.15rem 1.35rem .5rem;flex:1}
.tc-body h3{font-size:1.28rem;margin:0 0 .65rem;line-height:1.22}
.tc-body h3 a,.tr-body h3 a,.tk-main h3 a{color:var(--ink)}
.tc-body h3 a:hover,.tr-body h3 a:hover,.tk-main h3 a:hover{color:var(--brand-text)}
.tc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 1.35rem;padding:.9rem 0 1.2rem;border-top:1px dashed var(--line)}
/* list row */
.tour-row{display:grid;grid-template-columns:300px 1fr 210px;gap:1.5rem;padding:.9rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:box-shadow .3s}
.tour-row+.tour-row{margin-top:1rem}
.tour-row:hover{box-shadow:var(--shadow)}
.tr-img{position:relative;border-radius:calc(var(--radius) - 6px);overflow:hidden;aspect-ratio:4/3}
.tr-img img{width:100%;height:100%;object-fit:cover}
.tr-body{padding:.6rem 0;min-width:0}
.tr-body h3{font-size:1.35rem;margin:.1rem 0 .5rem}
.tr-text{color:var(--muted);font-size:.95rem;margin-bottom:.8rem}
.tr-side{position:relative;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.75rem;padding:.6rem .5rem .6rem 1.5rem;border-left:1px dashed var(--line)}
.tr-side .wish-btn{position:static;box-shadow:none;background:var(--tint)}
@media (max-width:991.98px){.tour-row{grid-template-columns:220px 1fr}.tr-side{grid-column:1/-1;flex-direction:row;align-items:center;border-left:0;border-top:1px dashed var(--line);padding:.9rem .25rem 0}}
@media (max-width:575.98px){.tour-row{grid-template-columns:1fr}.tr-side{flex-wrap:wrap}}
/* ticket card */
.ticket-card{position:relative;height:100%;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;--notch:13px;-webkit-mask:radial-gradient(circle var(--notch) at 0 calc(100% - 74px),#0000 98%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% calc(100% - 74px),#0000 98%,#000) 100% 0/51% 100% no-repeat;mask:radial-gradient(circle var(--notch) at 0 calc(100% - 74px),#0000 98%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% calc(100% - 74px),#0000 98%,#000) 100% 0/51% 100% no-repeat}
.tk-img{display:block;aspect-ratio:36/22;overflow:hidden;margin:.6rem .6rem 0;border-radius:calc(var(--radius) - 6px)}
.tk-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.ticket-card:hover .tk-img img{transform:scale(1.05)}
.ticket-card .wish-btn{top:1.4rem;right:1.4rem}
.tk-main{padding:1.1rem 1.35rem 1.2rem;flex:1}
.tk-main h3{font-size:1.25rem;margin:0 0 .9rem}
.tk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.tk-row span{display:flex;flex-direction:column;font-size:.92rem}
.tk-row small{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}
.tk-row b{color:var(--ink)}
.tk-stub{display:flex;align-items:center;justify-content:space-between;height:74px;padding:0 1.35rem;border-top:2px dashed var(--line);background:var(--sand)}
.tk-price{display:flex;flex-direction:column;line-height:1.1}
.tk-price small{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}
.tk-price .money{font-family:var(--font-display);font-size:1.45rem;color:var(--ink);font-weight:600}
.tk-price .per{font-size:.78rem;color:var(--muted)}
/* tall photo slide (rails, hero carousels) */
.slide-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;background:var(--sand)}
.sc-link{display:block;height:100%;color:#fff}
.sc-link img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.slide-card:hover img{transform:scale(1.06)}
.sc-over{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:.3rem;padding:4rem 1.35rem 1.35rem;background:linear-gradient(transparent,rgba(8,12,11,.82))}
.sc-over .tc-place{color:var(--brand-2);margin:0}
.sc-over strong{font-family:var(--font-display);font-size:1.4rem;font-weight:500;line-height:1.15}
.sc-price{font-size:.9rem;color:rgba(255,255,255,.85)}
.sc-price .money{font-weight:800;color:#fff}
.sc-price .per{color:rgba(255,255,255,.7)}

/* 10 Destination cards --------------------------------------------------------- */
.dest-card{display:flex;flex-direction:column;height:100%;color:var(--text)}
.dc-img{display:block;aspect-ratio:32/38;overflow:hidden;border-radius:999px 999px var(--radius) var(--radius);background:var(--sand)}
.dc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.dest-card:hover .dc-img img{transform:scale(1.06)}
.dc-body{display:flex;flex-direction:column;padding:1rem .25rem 0}
.dc-body small{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text)}
.dc-body strong{font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--ink);line-height:1.15;margin:.1rem 0 .25rem}
.dc-body>span{font-size:.92rem;color:var(--muted)}
.dc-foot{display:flex !important;justify-content:space-between;gap:.5rem;margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--line);font-size:.86rem;color:var(--ink)}
.dc-foot i{color:var(--brand-text);margin-right:.3rem}
.dc-foot .money{font-weight:800}
.dest-card:hover strong{color:var(--brand-text)}
.dest-tile{position:relative;display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;color:#fff;background:var(--sand)}
.dest-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.dest-tile:hover img{transform:scale(1.07)}
.dt-over{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;padding:4rem 1.25rem 1.2rem;background:linear-gradient(transparent,rgba(8,12,11,.78))}
.dt-over small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--brand-2)}
.dt-over strong{font-family:var(--font-display);font-size:1.7rem;font-weight:500;line-height:1.1}
.dt-more{font-size:.86rem;color:rgba(255,255,255,.85);max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .4s,margin .4s}
.dest-tile:hover .dt-more,.dest-tile:focus-visible .dt-more{max-height:2rem;opacity:1;margin-top:.2rem}
.dt-more .per{display:none}
@media (hover:none){.dt-more{max-height:2rem;opacity:1}}

/* 11 Hotels & rooms ----------------------------------------------------------- */
.hotel-card{height:100%;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:transform .35s,box-shadow .35s}
.hotel-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.hc-img{display:block;aspect-ratio:36/26;overflow:hidden}
.hc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.hotel-card:hover .hc-img img{transform:scale(1.05)}
.hc-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.35rem 1.25rem}
.hc-body h3{font-size:1.22rem;margin:.3rem 0 .35rem}
.hc-body h3 a,.hr-body h3 a{color:var(--ink)}
.hc-stars{margin:0}
.hc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.9rem;border-top:1px dashed var(--line)}
.score{display:flex;align-items:center;gap:.55rem}
.score b{display:grid;place-items:center;min-width:42px;height:36px;padding:0 .35rem;border-radius:10px 10px 10px 2px;background:var(--deep);color:#fff;font-size:.95rem}
[data-bs-theme="dark"] .score b{background:var(--accent);color:#06100f}
.score small{font-size:.78rem;color:var(--muted);line-height:1.25;max-width:110px}
.hotel-row{display:grid;grid-template-columns:280px 1fr 200px;gap:1.5rem;padding:.9rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.hotel-row+.hotel-row{margin-top:1rem}
.hr-img{border-radius:calc(var(--radius) - 6px);overflow:hidden;aspect-ratio:4/3}
.hr-img img{width:100%;height:100%;object-fit:cover}
.hr-body{padding:.4rem 0}
.hr-body h3{font-size:1.3rem;margin:.25rem 0 .3rem}
.hc-perks{font-size:.9rem;color:var(--muted);margin:.4rem 0 .6rem}
.hr-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.75rem;padding:.5rem .5rem .5rem 1.5rem;border-left:1px dashed var(--line)}
@media (max-width:991.98px){.hotel-row{grid-template-columns:220px 1fr}.hr-side{grid-column:1/-1;flex-direction:row;align-items:center;border-left:0;border-top:1px dashed var(--line);padding:.9rem .25rem 0}}
@media (max-width:575.98px){.hotel-row{grid-template-columns:1fr}.hr-side{flex-wrap:wrap}}
.room-card{height:100%;display:flex;flex-direction:column}
.rc-img{position:relative;display:block;aspect-ratio:36/43;overflow:hidden;border-radius:var(--radius);background:var(--sand)}
.rc-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.room-card:hover .rc-img img{transform:scale(1.05)}
.rc-price{position:absolute;right:1rem;bottom:1rem;display:flex;align-items:baseline;gap:.3rem;padding:.5rem .9rem;border-radius:99px;background:var(--surface);color:var(--ink);font-weight:800;box-shadow:var(--shadow-sm)}
.rc-price small{color:var(--muted);font-weight:600;font-size:.78rem}
.rc-body{padding:1.15rem .25rem 0}
.rc-body h3{font-size:1.45rem;font-weight:500;margin:0 0 .7rem}
.rc-body h3 a,.rr-body h3 a{color:var(--ink)}
.room-facts{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0 0 .9rem;font-size:.88rem;color:var(--muted)}
.room-facts li{display:flex;align-items:center;gap:.35rem}
.room-facts i{color:var(--brand-text)}
.room-row{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.room-row+.room-row{margin-top:clamp(3rem,6vw,5rem)}
.room-row:nth-child(even) .rr-img{order:2}
.rr-img{border-radius:var(--radius);overflow:hidden;aspect-ratio:45/32;display:block}
.rr-img img{width:100%;height:100%;object-fit:cover}
.rr-body h3{font-size:clamp(1.7rem,1.3rem + 1.2vw,2.3rem);font-weight:500;margin:.2rem 0 .7rem}
.rr-feats{font-size:.9rem;color:var(--muted)}
.rr-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px dashed var(--line)}
.rr-foot .tc-price{align-items:flex-start;margin-right:auto}
@media (max-width:767.98px){.room-row{grid-template-columns:1fr}.room-row:nth-child(even) .rr-img{order:0}}

/* 12 Features, stats, reviews ------------------------------------------------- */
.feature{display:flex;gap:1rem}
.feature-ico{flex:none;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1.5px dashed color-mix(in srgb,var(--brand) 50%,transparent);color:var(--brand-text);font-size:1.35rem}
.feature h3{font-size:1.18rem;margin:.2rem 0 .3rem}
.feature p{margin:0;color:var(--muted);font-size:.95rem}
.feature-card{height:100%;padding:1.75rem 1.6rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.feature-card .feature-ico{margin-bottom:1.1rem}
.feature-card h3{font-size:1.2rem;margin-bottom:.4rem}
.feature-card p{margin:0;color:var(--muted);font-size:.95rem}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat{padding:1.25rem 1rem;text-align:center}
.stat+.stat{border-left:1px dashed var(--line)}
.stat b{display:block;font-family:var(--font-display);font-size:clamp(2.3rem,1.6rem + 2vw,3.4rem);font-weight:500;color:var(--ink);line-height:1;letter-spacing:-.03em}
.stat span{display:block;margin-top:.5rem;font-size:.9rem;color:var(--muted)}
.section-deep .stat b{color:#fff}
.section-deep .stat+.stat{border-color:rgba(255,255,255,.15)}
@media (max-width:767.98px){.stat-strip{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0}}
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;position:relative}
.step{position:relative;text-align:center;padding:0 .5rem}
.step-num{position:relative;z-index:1;width:76px;height:76px;margin:0 auto 1.1rem;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:2px dashed var(--brand);color:var(--brand-text);font-size:1.6rem}
.step-num::after{counter-increment:step;content:counter(step);position:absolute;top:-4px;right:-4px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--brand-2);color:#1d1408;font-size:.78rem;font-weight:800;font-family:var(--font)}
.step h3{font-size:1.15rem;margin-bottom:.35rem}
.step p{color:var(--muted);font-size:.94rem;margin:0}
.steps::before{content:"";position:absolute;top:38px;left:12%;right:12%;border-top:2px dashed var(--line)}
@media (max-width:767.98px){.steps{grid-template-columns:1fr 1fr;row-gap:2rem}.steps::before{display:none}}
.review-card{height:100%;margin:0;padding:1.75rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column}
.review-card blockquote{margin:1rem 0 1.25rem;flex:1}
.review-card blockquote p{margin:0;color:var(--ink);font-size:1.02rem;line-height:1.65}
.review-card figcaption,.review-quote figcaption{display:flex;align-items:center;gap:.8rem}
.review-card figcaption img,.review-quote figcaption img{border-radius:50%;object-fit:cover;flex:none}
.review-card strong,.review-quote strong{display:block;color:var(--ink);font-size:.95rem}
.review-card small,.review-quote small{color:var(--muted);font-size:.82rem}
.review-quote{position:relative;margin:0;padding:2.5rem 0 0}
.rq-mark{position:absolute;top:-1.5rem;left:-.4rem;font-family:var(--font-display);font-size:7rem;line-height:1;color:var(--brand-2);opacity:.9}
.review-quote blockquote p{font-family:var(--font-display);font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);font-weight:400;line-height:1.35;color:var(--ink);font-style:italic}
.review-quote .stars{margin-left:auto}
.trust-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2.5rem}
.trust-badge{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--muted)}
.trust-badge b{font-family:var(--font-display);font-size:1.5rem;color:var(--ink);font-weight:600}
.trust-badge i{font-size:1.4rem;color:var(--accent-text)}
.logo-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem 3rem}
.logo-word{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--muted);transition:opacity .2s,color .2s;white-space:nowrap}
.logo-word i{font-size:1.2rem}
.logo-word:hover{opacity:1;color:var(--ink)}

/* Travel style tiles (Home 1) */
.style-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.style-tile{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.4rem .75rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-align:center;color:var(--ink);transition:transform .3s,box-shadow .3s,border-color .3s}
.style-tile i{width:58px;height:58px;display:grid;place-items:center;margin-bottom:.5rem;border-radius:50%;background:var(--sand);color:var(--brand-text);font-size:1.5rem;transition:background .3s,color .3s}
.style-tile span{font-weight:800;font-size:.98rem}
.style-tile small{color:var(--muted);font-size:.8rem}
.style-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent;color:var(--ink)}
.style-tile:hover i{background:var(--brand);color:var(--on-brand)}
@media (max-width:991.98px){.style-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:575.98px){.style-grid{grid-template-columns:repeat(2,1fr)}}

/* 13 Journal (blog) cards --------------------------------------------------------- */
.post-card{height:100%;display:flex;flex-direction:column}
.pc-img{position:relative;display:block;aspect-ratio:40/28;overflow:hidden;border-radius:var(--radius);background:var(--sand)}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.post-card:hover .pc-img img{transform:scale(1.05)}
.pc-cat{display:inline-block;padding:.28rem .75rem;border-radius:99px;background:var(--brand-2-soft);color:var(--ink);font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pc-img .pc-cat{position:absolute;left:1rem;top:1rem;background:var(--surface)}
.pc-body{padding:1rem .2rem 0}
.pc-body h3{font-size:1.3rem;font-weight:500;margin:.35rem 0 .7rem;line-height:1.25}
.pc-body h3 a,.post-row h2 a{color:var(--ink)}
.pc-body h3 a:hover,.post-row h2 a:hover{color:var(--brand-text)}
.pc-meta{font-size:.82rem;color:var(--muted);margin:0;display:flex;align-items:center;gap:.5rem}
.pc-meta img,.pc-author img{border-radius:50%;object-fit:cover}
.pc-author{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:700;color:var(--ink);margin:0}
.post-row{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:1.75rem;align-items:center}
.post-row+.post-row{margin-top:2rem;padding-top:2rem;border-top:1px dashed var(--line)}
.pr-thumb{border-radius:var(--radius);overflow:hidden;aspect-ratio:38/26;display:block}
.pr-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.post-row:hover .pr-thumb img{transform:scale(1.05)}
.post-row h2{font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);font-weight:500;margin:.6rem 0 .5rem}
.post-row p{color:var(--muted)}
@media (max-width:767.98px){.post-row{grid-template-columns:1fr}}

/* 14 Travel experts ------------------------------------------------------------------ */
.expert-card{height:100%;text-align:center}
.ec-img{position:relative;display:block;aspect-ratio:30/36;border-radius:var(--radius);overflow:hidden;background:var(--sand)}
.ec-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.expert-card:hover .ec-img img{transform:scale(1.05)}
.ec-count{position:absolute;right:.9rem;top:.9rem;width:70px;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--brand-2);color:#1d1408;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1.1;transform:rotate(8deg)}
.ec-count b{font-family:var(--font-display);font-size:1.45rem;letter-spacing:0}
.ec-body{padding-top:1rem}
.ec-body h3{font-size:1.25rem;margin:0 0 .2rem}
.ec-body h3 a{color:var(--ink)}
.ec-body p{margin:0;color:var(--muted);font-size:.9rem}
.ec-langs{margin-top:.35rem!important;font-size:.82rem!important}
.ec-langs i{color:var(--brand-text);margin-right:.3rem}
.expert-mini{display:flex;align-items:center;gap:.7rem;color:var(--ink)}
.expert-mini img{border-radius:50%;object-fit:cover;flex:none}
.expert-mini strong{display:block;font-size:.95rem}
.expert-mini small{color:var(--muted);font-size:.82rem}

/* 15 Packages, plans & deals ----------------------------------------------------------- */
.price-card{position:relative;height:100%;display:flex;flex-direction:column;padding:2rem 1.75rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.price-card h3{font-size:1.35rem;margin-bottom:.3rem}
.price-card>p{color:var(--muted);font-size:.94rem}
.pcard-price{display:flex;align-items:baseline;gap:.4rem;margin:.5rem 0 1.25rem}
.pcard-price b,.pcard-price .money{font-family:var(--font-display);font-size:2.8rem;color:var(--ink);letter-spacing:-.03em;line-height:1;font-weight:500}
.pcard-price span{color:var(--muted);font-size:.9rem}
.price-card ul{margin:0 0 1.75rem;flex:1}
.price-card li{display:flex;gap:.55rem;padding:.35rem 0;color:var(--ink);font-size:.95rem}
.price-card li i{color:var(--accent-text);font-size:1.1rem}
.price-card.is-featured{background:var(--deep);border-color:var(--deep);color:color-mix(in srgb,#fff 72%,var(--deep));box-shadow:var(--shadow-lg)}
.price-card.is-featured h3,.price-card.is-featured li,.price-card.is-featured .pcard-price b,.price-card.is-featured .pcard-price .money{color:#fff}
.price-card.is-featured li i{color:var(--brand-2)}
.price-card.is-featured>p,.price-card.is-featured .pcard-price span{color:color-mix(in srgb,#fff 65%,var(--deep))}
.plan-tag{position:absolute;top:-.85rem;left:1.75rem;padding:.3rem .8rem;border-radius:99px;background:var(--brand-2);color:#1d1408;font-size:.75rem;font-weight:800}
/* Deal card with countdown: data-countdown="2026-12-31T23:59:59" on .countdown */
.deal-card{position:relative;display:grid;grid-template-columns:1fr 1fr;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.deal-card>img{width:100%;height:100%;object-fit:cover;min-height:280px}
.deal-body{padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:center}
.deal-off{display:inline-flex;align-items:baseline;gap:.25rem;font-family:var(--font-display);font-size:3.2rem;line-height:1;color:var(--brand-text);font-weight:500}
.deal-off small{font-family:var(--font);font-size:1rem;font-weight:700;color:var(--muted)}
.countdown{display:flex;gap:.5rem}
.countdown span{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:.55rem .4rem;border-radius:var(--radius-xs);background:var(--deep);color:#fff;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.countdown b{font-family:var(--font-display);font-size:1.6rem;font-weight:500;letter-spacing:0;line-height:1.1}
[data-bs-theme="dark"] .countdown span{background:var(--tint)}
@media (max-width:767.98px){.deal-card{grid-template-columns:1fr}}

/* 16 CTA bands & app band --------------------------------------------------------- */
.cta-band{position:relative;overflow:hidden;border-radius:calc(var(--radius) + 10px);padding:clamp(2.5rem,6vw,4.5rem);color:#fff;isolation:isolate}
.cta-band>img.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,color-mix(in srgb,var(--deep) 90%,transparent) 20%,color-mix(in srgb,var(--deep) 30%,transparent))}
.cta-band h2{color:#fff;font-size:clamp(2rem,1.4rem + 2.4vw,3.3rem);font-weight:500}
.cta-band h2 em{color:var(--brand-2)}
.cta-band p{color:rgba(255,255,255,.85);max-width:540px}
.cta-band .stamp{position:absolute;right:clamp(1rem,4vw,3rem);top:clamp(1rem,4vw,2.5rem);width:140px;height:140px}
.app-band{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:clamp(2rem,5vw,3.5rem);border-radius:calc(var(--radius) + 10px);background:var(--brand);color:var(--on-brand);overflow:hidden;position:relative}
.app-band h2{color:var(--on-brand)}
.store-btn{display:inline-flex;align-items:center;gap:.7rem;padding:.6rem 1.1rem;border-radius:14px;background:#111;color:#fff;line-height:1.1}
.store-btn i{font-size:1.6rem}
.store-btn small{display:block;font-size:.68rem;opacity:.75}
.store-btn b{font-size:1rem}
.store-btn:hover{color:#fff;background:#000;transform:translateY(-2px)}
@media (max-width:767.98px){.app-band{grid-template-columns:1fr}}

/* 17 FAQ, tabs, itinerary, timeline --------------------------------------------------- */
.faq .accordion-item{border:0;border-bottom:1px dashed var(--line);background:transparent}
.faq .accordion-button{padding:1.2rem 0;background:transparent;box-shadow:none;font-family:var(--font-display);font-size:1.18rem;font-weight:500;color:var(--ink)}
.faq .accordion-button::after{background-image:none;content:"\F64D";font-family:bootstrap-icons;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--sand);color:var(--brand-text);font-size:1rem;transform:none;transition:transform .3s,background .3s}
.faq .accordion-button:not(.collapsed)::after{transform:rotate(45deg);background:var(--brand);color:var(--on-brand)}
.faq .accordion-body{padding:0 3rem 1.3rem 0;color:var(--muted)}
.pill-tabs{display:inline-flex;flex-wrap:wrap;gap:.3rem;padding:.3rem;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.pill-tabs button,.pill-tabs a{border:0;background:transparent;padding:.5rem 1.05rem;border-radius:99px;font-weight:700;font-size:.9rem;color:var(--muted)}
.pill-tabs .active,.pill-tabs [aria-selected="true"]{background:var(--deep);color:#fff}
[data-bs-theme="dark"] .pill-tabs .active,[data-bs-theme="dark"] .pill-tabs [aria-selected="true"]{background:var(--ink);color:var(--deep)}
.filter-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.filter-chips button{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;padding:.45rem 1rem;font-weight:700;font-size:.88rem;transition:all .2s}
.filter-chips button:hover{border-color:var(--brand)}
.filter-chips button.active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.is-filtered-out{display:none!important}
/* Day-by-day itinerary: <ol class="itinerary"><li><details>... */
.itinerary{list-style:none;margin:0;padding:0;position:relative}
.itinerary::before{content:"";position:absolute;left:23px;top:14px;bottom:14px;border-left:2px dashed var(--line)}
.itinerary>li{position:relative;padding-left:4rem;padding-bottom:1rem}
.it-day{position:absolute;left:0;top:0;width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);border:2px solid var(--brand);color:var(--brand-text);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.it-day b{font-family:var(--font-display);font-size:1.2rem;letter-spacing:0;color:var(--ink)}
.itinerary details{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}
.itinerary summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;list-style:none;cursor:pointer;font-family:var(--font-display);font-size:1.12rem;color:var(--ink)}
.itinerary summary::-webkit-details-marker{display:none}
.itinerary summary::after{content:"\F282";font-family:bootstrap-icons;font-size:.85rem;color:var(--muted);transition:transform .25s}
.itinerary details[open] summary::after{transform:rotate(180deg)}
.itinerary details>div{padding:0 1.1rem 1.1rem;color:var(--muted)}
.it-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.it-tags span{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:99px;background:var(--tint);font-size:.78rem;font-weight:700;color:var(--ink)}
.timeline{list-style:none;position:relative;margin:0;padding:0}
.timeline::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;border-left:2px dashed var(--line)}
.timeline li{position:relative;display:flex;gap:1.25rem;padding:0 0 1.75rem}
.tl-dot{flex:none;position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:800;font-size:.95rem;box-shadow:0 0 0 6px var(--bg)}
.timeline h3{font-size:1.15rem;margin:.6rem 0 .3rem}
.timeline p{margin:0;color:var(--muted)}

/* 18 Inner pages: page hero, sidebar, filters, toolbar --------------------------------- */
.page-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4rem,9vw,7rem) 0 clamp(3.5rem,7vw,5.5rem);color:#fff;text-align:center}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,16,15,.55),rgba(10,16,15,.62))}
.page-hero h1{color:#fff;font-size:clamp(2.4rem,1.6rem + 3vw,4.2rem);font-weight:500;margin:.6rem 0 .7rem}
.page-hero h1 em{color:var(--brand-2)}
.page-hero p{color:rgba(255,255,255,.88);max-width:620px;margin:0 auto;font-size:1.06rem}
.page-hero.is-plain{background:var(--sand);color:var(--text)}
.page-hero.is-plain::before{display:none}
.page-hero.is-plain h1{color:var(--ink)}
.page-hero.is-plain h1 em{color:var(--brand-text)}
.page-hero.is-plain p{color:var(--muted)}
.crumbs{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0;padding:.4rem 1rem;list-style:none;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.85rem;font-weight:600}
.crumbs li+li::before{content:"/";margin-right:.4rem;opacity:.6}
.crumbs a{color:#fff}
.crumbs [aria-current]{color:var(--brand-2)}
.page-hero.is-plain .crumbs{background:var(--surface);border-color:var(--line)}
.page-hero.is-plain .crumbs a{color:var(--ink)}
.page-hero.is-plain .crumbs [aria-current]{color:var(--brand-text)}
.widget{padding:1.4rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.widget+.widget{margin-top:1.25rem}
.widget-title{font-size:1.12rem;margin:0 0 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.filter-group+.filter-group{margin-top:1.1rem;padding-top:1.1rem;border-top:1px dashed var(--line)}
.filter-group h3,.filter-title{font-family:var(--font);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem}
.filter-group .form-check{margin-bottom:.35rem}
.filter-group .form-check-label{display:flex;justify-content:space-between;gap:.5rem;width:100%;font-size:.92rem;color:var(--ink);font-weight:600}
.filter-group .form-check-label small{color:var(--muted);font-weight:600}
.range-out{display:flex;justify-content:space-between;font-size:.85rem;font-weight:700;color:var(--ink)}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem;padding:.6rem .6rem .6rem 1.1rem;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.toolbar p{margin:0;font-size:.92rem}
.toolbar p b{color:var(--ink)}
.toolbar .form-select{width:auto;border-radius:99px;padding-block:.45rem;font-size:.9rem;font-weight:600}
.view-btns{display:inline-flex;gap:.25rem}
.view-btns button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--muted)}
.view-btns button.active{border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft)}
.filter-empty,.list-empty{padding:2.5rem 1rem;text-align:center;border-radius:var(--radius);border:2px dashed var(--line);color:var(--muted)}
.filter-empty i,.list-empty i{display:block;font-size:2.2rem;color:var(--brand-text);margin-bottom:.5rem}
.pager{display:flex;justify-content:center;gap:.4rem;margin-top:2.5rem}
.pager a,.pager span{min-width:44px;height:44px;display:grid;place-items:center;padding:0 .5rem;border-radius:50%;border:1.5px solid var(--line);color:var(--ink);font-weight:700;background:var(--surface)}
.pager .active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.pager a:hover{border-color:var(--brand)}
.filters-toggle{display:none}
@media (max-width:991.98px){
  .filters-toggle{display:inline-flex}
  .filters-panel{display:none}
  .filters-panel.is-open{display:block}
}
.content-body{font-size:1.04rem}
.content-body h2{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);margin:2.2rem 0 .9rem;font-weight:500}
.content-body h3{font-size:1.35rem;margin:1.8rem 0 .7rem}
.content-body p,.content-body li{color:var(--text)}
.content-body img{border-radius:var(--radius)}
.content-body blockquote{margin:2rem 0;padding:1.5rem 1.75rem;border-left:4px solid var(--brand-2);border-radius:0 var(--radius) var(--radius) 0;background:var(--sand);font-family:var(--font-display);font-size:1.3rem;font-style:italic;color:var(--ink)}
.info-box{display:flex;gap:.9rem;padding:1rem 1.2rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--ink);font-size:.94rem}
.info-box>i{color:var(--accent-text);font-size:1.3rem;line-height:1.4}
.info-box.is-warm{background:var(--brand-2-soft)}
.info-box.is-warm>i{color:var(--brand-2-text)}
/* Booking box (tour details, room details): [data-trip-calc] / [data-stay-calc] in main.js */
.book-box{position:sticky;top:calc(var(--header-h) + 1.25rem);padding:1.5rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.bb-price{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px dashed var(--line)}
.bb-price .money{font-family:var(--font-display);font-size:2rem;color:var(--ink);font-weight:500}
.bb-lines{list-style:none;margin:1rem 0;padding:1rem 0 0;border-top:1px dashed var(--line);font-size:.92rem}
.bb-lines li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0}
.bb-lines li.is-total{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--line);font-weight:800;color:var(--ink);font-size:1.05rem}
.bb-lines li.is-discount{color:var(--accent-text)}
.travellers{display:grid;gap:.5rem}
.travellers .tg-row{padding:.35rem 0}
.extras-list label{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:var(--radius-xs);font-size:.9rem;color:var(--ink);cursor:pointer}
.extras-list label+label{margin-top:.4rem}
.extras-list label span{margin-left:auto;color:var(--muted);font-weight:700;font-size:.85rem}
.extras-list input:checked~span{color:var(--brand-text)}
.dates-table{width:100%;border-collapse:separate;border-spacing:0 .5rem}
.dates-table td,.dates-table th{padding:.85rem 1rem;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dates-table th{background:transparent;border:0;padding-block:.2rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.dates-table td:first-child{border-left:1px solid var(--line);border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.dates-table td:last-child{border-right:1px solid var(--line);border-radius:0 var(--radius-sm) var(--radius-sm) 0;text-align:right}
.seats{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.85rem}
.seats::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.seats.is-low::before{background:var(--brand-2)}
.seats.is-full{color:var(--muted)}
.seats.is-full::before{background:var(--muted)}
.gallery-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:.6rem;height:clamp(320px,46vw,520px)}
.gallery-mosaic a{position:relative;display:block;border-radius:var(--radius-sm);overflow:hidden}
.gallery-mosaic a:first-child{grid-row:1/3;border-radius:var(--radius) var(--radius-sm) var(--radius-sm) var(--radius)}
.gallery-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gallery-mosaic a:hover img{transform:scale(1.05)}
.gm-more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(10,16,15,.5);color:#fff;font-weight:800}
@media (max-width:767.98px){.gallery-mosaic{grid-template-columns:1fr 1fr;height:auto}.gallery-mosaic a{aspect-ratio:1}.gallery-mosaic a:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}}
.facts-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.fact{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}
.fact i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--sand);color:var(--brand-text);font-size:1.1rem;flex:none}
.fact small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}
.fact b{color:var(--ink);font-size:.98rem}
.map-card{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--tint);min-height:380px}
.map-card iframe{display:block;width:100%;height:100%;min-height:380px;border:0;filter:saturate(.8) sepia(.12)}
[data-bs-theme="dark"] .map-card iframe{filter:invert(.9) hue-rotate(180deg) saturate(.5)}
.map-pin{position:absolute;left:1rem;bottom:1rem;display:flex;flex-direction:column;padding:1rem 1.25rem;border-radius:16px;background:var(--surface);box-shadow:var(--shadow);max-width:300px}
.map-pin strong{color:var(--ink)}
.map-pin span{font-size:.9rem;color:var(--muted)}

/* 19 Shop, cart, checkout, account ---------------------------------------------- */
.product-card{height:100%;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:transform .3s,box-shadow .3s}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.pr-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--sand)}
.pr-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.product-card:hover .pr-img img{transform:scale(1.05)}
.pr-quick{position:absolute;left:50%;bottom:1rem;z-index:2;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:0;border-radius:99px;background:var(--surface);color:var(--ink);font-size:.82rem;font-weight:700;box-shadow:var(--shadow-sm);opacity:0;transform:translate(-50%,8px);transition:opacity .25s,transform .25s}
.product-card:hover .pr-quick,.pr-quick:focus-visible{opacity:1;transform:translate(-50%,0)}
@media (hover:none){.pr-quick{opacity:1;transform:translate(-50%,0)}}
.pr-body{padding:1.1rem 1.25rem .4rem;flex:1}
.pr-cat{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-text)}
.pr-body h3{font-size:1.12rem;margin:.3rem 0 .4rem}
.pr-body h3 a{color:var(--ink)}
.pr-text{font-size:.88rem;color:var(--muted);margin-bottom:.5rem}
.pr-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.9rem 1.25rem 1.2rem}
.pr-price{display:flex;align-items:baseline;gap:.4rem}
.pr-price b{color:var(--ink);font-size:1.12rem}
.pr-price del{color:var(--muted);font-size:.85rem}
.shop-grid.is-list>div{flex:0 0 100%;max-width:100%}
.shop-grid.is-list .product-card{flex-direction:row}
.shop-grid.is-list .pr-img{width:220px;flex:none}
.shop-grid.is-list .pr-foot{flex-direction:column;justify-content:center;align-items:flex-end;border-left:1px dashed var(--line)}
@media (max-width:575.98px){.shop-grid.is-list .product-card{flex-direction:column}.shop-grid.is-list .pr-img{width:100%}}
.ct-table{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);overflow:hidden}
.ct-head,.ct-row{display:grid;grid-template-columns:2.4fr 1fr 1.2fr 1fr 48px;gap:1rem;align-items:center;padding:1rem 1.25rem}
.ct-head{background:var(--tint);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}
.ct-row+.ct-row{border-top:1px dashed var(--line)}
.ct-prod{display:flex;align-items:center;gap:.9rem;min-width:0}
.ct-prod img{border-radius:var(--radius-xs);object-fit:cover;flex:none}
.ct-prod strong{display:block;color:var(--ink);line-height:1.3}
.ct-prod small{color:var(--muted);font-size:.82rem}
.ct-total{font-weight:800;color:var(--ink)}
.ct-wish{grid-template-columns:2.4fr 1fr 1fr 1.6fr}
.ct-actions{display:flex;gap:.4rem;justify-content:flex-end}
@media (max-width:767.98px){.ct-head{display:none}.ct-row,.ct-wish{grid-template-columns:1fr auto;gap:.5rem 1rem}.ct-prod{grid-column:1/-1}.ct-row [data-label]::before{content:attr(data-label) ": ";color:var(--muted);font-weight:600;font-size:.82rem}}
.mc-remove{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--tint);color:var(--muted)}
.mc-remove:hover{background:#fde8e6;color:#b42318}
.totals{list-style:none;margin:0;padding:0}
.totals li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.95rem}
.totals li+li{border-top:1px dashed var(--line)}
.totals li.is-total{font-size:1.15rem;font-weight:800;color:var(--ink)}
.totals li.is-discount{color:var(--accent-text)}
.coupon-msg{font-size:.86rem;margin:.5rem 0 0;font-weight:600}
.coupon-msg.is-ok{color:var(--accent-text)}.coupon-msg.is-err{color:#b42318}
.pay-option{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface)}
.pay-option+.pay-option{margin-top:.5rem}
.pay-option:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.pay-option b{color:var(--ink)}
.pay-option small{display:block;color:var(--muted);font-size:.82rem}
.pay-option i{margin-left:auto;font-size:1.3rem;color:var(--muted)}
.co-items{list-style:none;margin:0;padding:0}
.co-items li{display:flex;align-items:center;gap:.8rem;padding:.6rem 0}
.co-items li+li{border-top:1px dashed var(--line)}
.co-items img{border-radius:var(--radius-xs);object-fit:cover}
.co-items strong{display:block;color:var(--ink);font-size:.92rem;line-height:1.3}
.co-items small{color:var(--muted)}
.co-items b{margin-left:auto;color:var(--ink)}
.acc-nav{display:flex;flex-direction:column;gap:.2rem}
.acc-nav a{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border-radius:var(--radius-xs);color:var(--ink);font-weight:600}
.acc-nav a:hover{background:var(--tint)}
.acc-nav a.active{background:var(--brand-soft);color:var(--brand-text)}
[data-acc-pane]{display:none}
[data-acc-pane].is-active{display:block}
.qv-modal .modal-content{border:0;border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.qv-modal .btn-close{position:absolute;top:1rem;right:1rem;z-index:2;background-color:var(--surface);border-radius:50%;padding:.6rem}
.qv-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.qv-body{padding:2rem}
.qv-body h2{font-size:1.6rem;margin:.4rem 0}
.qv-price{font-size:1.4rem;margin:.6rem 0}
.qv-price b{color:var(--ink)}
.qv-buy{display:flex;gap:.6rem;margin:1rem 0}
.qv-perks{display:grid;gap:.35rem;font-size:.88rem;color:var(--muted)}
.qv-perks i{color:var(--accent-text);margin-right:.4rem}
.qv-more{display:inline-block;margin-top:1rem;font-weight:700}
.sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:1024;padding:.7rem 0;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -12px 30px -18px color-mix(in srgb,var(--deep) 45%,transparent);transform:translateY(110%);transition:transform .35s}
.sticky-atc.is-on{transform:none}
.sticky-atc img{border-radius:var(--radius-xs);object-fit:cover}
.satc-name{flex:1;min-width:0}
.satc-name strong{display:block;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.satc-name small{color:var(--muted)}
.satc-price{color:var(--ink);font-size:1.1rem}

/* 20 Footer ---------------------------------------------------------------------- */
.site-footer{position:relative;background:var(--deep);color:color-mix(in srgb,#fff 66%,var(--deep));font-size:.95rem;margin-top:clamp(5rem,9vw,7rem)}
.footer-news{position:relative;top:calc(-1 * clamp(3rem,6vw,4.5rem));margin-bottom:calc(-1 * clamp(3rem,6vw,4.5rem) + 1rem)}
.fn-box{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem;align-items:center;padding:clamp(1.75rem,4vw,2.75rem);border-radius:calc(var(--radius) + 8px);background:var(--brand-2);color:#2a1d0a;box-shadow:var(--shadow-lg);background-image:var(--grain)}
.fn-copy .hand{color:#7a3d14}
.fn-box h2{color:#1d1408;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);font-weight:500;margin:.2rem 0 .4rem}
.fn-box p{margin:0;color:#4b3818}
.fn-form{display:flex;gap:.5rem;padding:.4rem;border-radius:99px;background:#fff}
.fn-form .form-control{border:0;background:transparent;color:#1d1408;border-radius:99px;padding-left:1.1rem}
.fn-form .form-control::placeholder{color:#8a7a62}
.fn-form .form-control:focus{box-shadow:none}
.fn-form .btn{flex:none}
.fn-box .form-done{background:#fff;color:#1d1408}
@media (max-width:767.98px){.fn-box{grid-template-columns:1fr}.fn-form{flex-wrap:wrap;border-radius:var(--radius)}.fn-form .btn{width:100%}}
.footer-main{padding-top:2rem}
.footer-title{font-family:var(--font);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:1.1rem}
.footer-links li{padding:.28rem 0}
.footer-links a,.footer-contact a{color:color-mix(in srgb,#fff 80%,var(--deep))}
.footer-links a:hover,.footer-contact a:hover{color:var(--brand-2)}
.footer-contact li{display:flex;gap:.65rem;padding:.3rem 0}
.footer-contact i{color:var(--brand-2)}
.footer-social{display:flex;gap:.5rem;margin-top:1.25rem}
.footer-social a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.18);color:#fff;transition:background .2s,border-color .2s,color .2s}
.footer-social a:hover{background:var(--brand-2);border-color:var(--brand-2);color:#1d1408}
.footer-pay{display:flex;align-items:center;gap:.6rem;margin-top:1rem;color:#fff;font-size:1.3rem}
.footer-pay span{font-size:.82rem;color:color-mix(in srgb,#fff 60%,var(--deep));margin-left:.25rem}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin-top:3rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.1);font-size:.86rem}
.footer-bottom p{margin:0}
.footer-bottom a{color:color-mix(in srgb,#fff 80%,var(--deep))}
.lp-footer{padding:2rem 0;background:var(--deep);color:color-mix(in srgb,#fff 66%,var(--deep));font-size:.9rem}
.lp-footer p{margin:0}
.lp-footer a{color:#fff}

/* 21 Overlays: search, mini cart, popup, switcher, cookies -------------------------- */
.preloader{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:var(--bg);transition:opacity .45s,visibility .45s}
.preloader.is-done{opacity:0;visibility:hidden}
.pl-mark .brand-mark{width:62px;height:62px;animation:plSpin 1.4s ease-in-out infinite}
@keyframes plSpin{50%{transform:rotate(-12deg) scale(.9)}}
.no-js .preloader{display:none}
.search-modal .modal-content{border:0;border-radius:var(--radius);background:var(--surface);padding:1rem 1.25rem;box-shadow:var(--shadow-lg)}
.search-modal form{display:flex;align-items:center;gap:.75rem}
.search-modal form>i{font-size:1.4rem;color:var(--brand-text)}
.search-modal .form-control{border:0;font-size:1.3rem;padding:.6rem 0;box-shadow:none;background:transparent}
.search-hints{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding-top:.9rem;margin-top:.5rem;border-top:1px dashed var(--line);font-size:.88rem;color:var(--muted)}
.search-hints a{padding:.25rem .75rem;border-radius:99px;background:var(--tint);color:var(--ink);font-weight:600}
.search-hints a:hover{background:var(--brand-soft);color:var(--brand-text)}
.search-live{margin-top:.75rem;border-top:1px dashed var(--line);padding-top:.5rem}
.search-live ul{margin:0}
.search-live li a{display:flex;align-items:center;gap:.75rem;padding:.55rem .5rem;border-radius:var(--radius-xs);color:var(--ink)}
.search-live li a:hover{background:var(--tint)}
.search-live li i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--sand);color:var(--brand-text);flex:none}
.search-live strong{display:block;font-size:.95rem}
.search-live small{color:var(--muted);font-size:.8rem}
.sl-empty{color:var(--muted);padding:.5rem}
.sl-all{display:inline-flex;align-items:center;gap:.35rem;margin:.5rem;font-weight:700;font-size:.9rem}
.news-popup .modal-content{border:0;border-radius:calc(var(--radius) + 4px);overflow:hidden;background:var(--surface)}
.news-popup .btn-close{position:absolute;top:1rem;right:1rem;z-index:2;background-color:var(--surface);border-radius:50%;padding:.6rem;opacity:.9}
.np-img{position:relative}
.np-img img{width:100%;height:100%;object-fit:cover;min-height:240px}
.np-stamp{position:absolute;right:-30px;bottom:1.5rem;color:#fff;width:110px;height:110px}
.np-body{padding:clamp(1.75rem,4vw,2.75rem)}
.np-body h2{font-size:1.9rem;margin:.7rem 0 .6rem;font-weight:500}
.np-body p{color:var(--muted)}
.np-body small{display:block;margin-top:.75rem;color:var(--muted)}
.form-done{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--ink);font-weight:600}
.form-done i{color:var(--accent-text);font-size:1.25rem}
/* "Sample data" tag on simulated widgets (availability, prices, weather). Remove it once real data is connected. */
.demo-tag{display:inline-block;margin-inline-start:.35rem;padding:.05rem .5rem;border:1px dashed currentColor;border-radius:99px;font-family:var(--font);font-size:.66rem;font-weight:700;letter-spacing:.06em;line-height:1.5;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.mini-cart{--bs-offcanvas-width:min(400px,94vw);background:var(--bg)}
.mc-ship{padding:.8rem 1rem;border-radius:var(--radius-sm);background:var(--sand);font-size:.86rem;margin-bottom:1rem}
.mc-ship[hidden]{display:none}
.mc-bar{height:6px;border-radius:9px;background:var(--surface);margin-top:.5rem;overflow:hidden}
.mc-bar i{display:block;height:100%;width:0;background:var(--brand);border-radius:9px;transition:width .4s}
.mc-items li{display:flex;align-items:center;gap:.8rem;padding:.75rem 0;border-bottom:1px dashed var(--line)}
.mc-items img{border-radius:var(--radius-xs);object-fit:cover}
.mc-items span{flex:1;min-width:0}
.mc-items strong{display:block;color:var(--ink);font-size:.92rem;line-height:1.3}
.mc-items small{color:var(--muted);font-size:.8rem}
.mc-empty{text-align:center;padding:2.5rem 0;color:var(--muted)}
.mc-empty i{font-size:2.6rem;color:var(--brand-text)}
.mc-empty[hidden]{display:none}
.mc-foot{padding:1.25rem;border-top:1px solid var(--line);background:var(--surface)}
.mc-foot b{color:var(--ink)}
.toast-c{position:fixed;left:50%;bottom:1.5rem;z-index:1090;display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem .75rem 1.1rem;border-radius:99px;background:var(--deep);color:#fff;font-size:.92rem;font-weight:600;box-shadow:var(--shadow-lg);transform:translate(-50%,150%);transition:transform .35s cubic-bezier(.2,.7,.2,1);max-width:calc(100% - 2rem)}
.toast-c.is-on{transform:translate(-50%,0)}
.toast-c i{color:var(--brand-2);font-size:1.15rem}
.toast-c a{color:var(--brand-2);text-decoration:underline;text-underline-offset:3px;margin-left:.25rem;white-space:nowrap}
@media (max-width:575.98px){.toast-c{bottom:5.5rem}}
.lightbox{position:fixed;inset:0;z-index:2100;display:none;align-items:center;justify-content:center;padding:4rem 1rem;background:rgba(8,10,10,.92)}
.lightbox.is-open{display:flex}
.lb-body{width:min(1100px,100%)}
.lb-body figure{margin:0;text-align:center}
.lb-body img{max-height:78vh;border-radius:var(--radius-sm)}
.lb-body figcaption{color:#ddd;margin-top:.75rem;font-size:.92rem}
.lb-btn{position:absolute;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.2rem}
.lb-btn:hover{background:#fff;color:#111}
.lb-close{top:1rem;right:1rem}.lb-prev{left:1rem;top:50%;margin-top:-24px}.lb-next{right:1rem;top:50%;margin-top:-24px}
.to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1020;width:50px;height:50px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--surface);color:var(--ink);font-size:1.1rem;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s}
.to-top svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.to-top circle{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--progress,0));stroke-linecap:round}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:1025;display:grid;grid-template-columns:1fr 2fr;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 24px -12px color-mix(in srgb,var(--deep) 25%,transparent)}
.mobile-cta a{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem;border-radius:99px;font-weight:700;color:var(--ink);border:1.5px solid var(--line)}
.mobile-cta a.is-main{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
@media (max-width:575.98px){body:not(.is-bare):not(.is-print-doc){padding-bottom:72px}.to-top{bottom:5.25rem}}
.chat-float{position:fixed;left:1.25rem;bottom:1.25rem;z-index:1020;display:flex;align-items:center;gap:.5rem;height:50px;padding:0 1.1rem 0 .9rem;border-radius:99px;background:#1f9d55;color:#fff;font-weight:700;font-size:.9rem;box-shadow:0 12px 26px -10px rgba(31,157,85,.7);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s}
.chat-float i{font-size:1.4rem}
.chat-float:hover{color:#fff;background:#178a48}
.chat-float.is-visible{opacity:1;visibility:visible;transform:none}
@media (max-width:575.98px){.chat-float{bottom:5.25rem;left:.9rem;padding:0;width:50px;justify-content:center}.chat-float span{display:none}}
.cookie-bar{position:fixed;left:50%;bottom:1.25rem;z-index:1040;transform:translateX(-50%);width:min(780px,calc(100% - 2rem));display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);font-size:.9rem}
.cookie-bar[hidden]{display:none}
.cookie-ico{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--brand-2-soft);color:var(--brand-2-text);font-size:1.4rem;flex:none}
.cookie-bar p{margin:0;flex:1}
.cookie-bar strong{color:var(--ink)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.cookie-set{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cookie-bar.is-open{flex-wrap:wrap}
.cookie-bar.is-open>p{flex-basis:calc(100% - 4rem)}
.cookie-prefs{flex-basis:100%;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}
.cookie-prefs[hidden]{display:none}
.cookie-cat{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--tint)}
.cookie-cat strong{display:block;color:var(--ink);font-size:.9rem}
.cookie-cat small{display:block;color:var(--muted);font-size:.8rem;line-height:1.4}
.cookie-cat .form-check-input{margin:0;cursor:pointer;flex:none}
@media (max-width:767.98px){.cookie-prefs{grid-template-columns:1fr;max-height:40vh;overflow-y:auto}.cookie-bar{flex-wrap:wrap;bottom:5.25rem}.cookie-ico{display:none}}
.switcher-toggle{position:fixed;right:0;top:40%;z-index:1045;width:48px;height:48px;border:0;border-radius:16px 0 0 16px;background:var(--deep);color:var(--brand-2);font-size:1.25rem;box-shadow:var(--shadow);display:grid;place-items:center;transition:right .35s cubic-bezier(.2,.7,.2,1)}
.switcher-toggle[aria-expanded="true"]{right:290px}
.switcher-toggle i{animation:spin 6s linear infinite}
.switcher{position:fixed;right:0;top:50%;z-index:1046;width:290px;max-height:92vh;overflow:auto;padding:1.25rem;background:var(--surface);border:1px solid var(--line);border-right:0;border-radius:var(--radius) 0 0 var(--radius);box-shadow:var(--shadow-lg);transform:translate(105%,-50%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.switcher.is-open{transform:translate(0,-50%)}
.switcher-title{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--ink);margin:0}
.switcher .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted);margin:1.1rem 0 .5rem}
.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem}
.swatches button{aspect-ratio:1;border-radius:50%;border:3px solid var(--surface);background:var(--sw);box-shadow:0 0 0 1px var(--line);transition:transform .2s}
.swatches button:hover{transform:scale(1.1)}
.swatches button.active{box-shadow:0 0 0 2px var(--ink)}
.custom-color{display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer}
.custom-color input{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;padding:2px;background:var(--surface);cursor:pointer}
.mode-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:.4rem}
.mode-btns>*{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:.86rem;font-weight:700}
.mode-btns>.active,.mode-btns>*:hover{border-color:var(--brand);color:var(--brand-text)}
[data-bs-theme="light"] .mode-btns [data-mode="light"],[data-bs-theme="dark"] .mode-btns [data-mode="dark"],.mode-btns [data-radius].active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}

/* 22 Utilities, rails, chips, motion ------------------------------------------------- */
/* Horizontal rail (carousel): <div class="rail" data-rail> items </div> + buttons [data-rail-prev]/[data-rail-next] with data-target="#id" */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:var(--rail-w,minmax(280px,1fr));gap:var(--rail-gap,1.25rem);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:4px 2px 1rem;scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior-x:contain}
.rail>*{scroll-snap-align:start}
.rail::-webkit-scrollbar{height:6px}
.rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:9px}
/* Rails with arrow buttons hide their scrollbar; overflow-y:hidden stops a second, vertical bar (the cards' shadows are taller than the rail). A rail without buttons keeps a slim bar so a mouse can scroll it. */
.rail{overflow-y:hidden;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.section:not(:has([data-rail-next])) .rail{scrollbar-width:thin}
.section:not(:has([data-rail-next])) .rail::-webkit-scrollbar{display:block;height:6px}
.table-responsive{overflow-y:hidden}
.rail-4{--rail-w:calc((100% - 3 * 1.25rem) / 4)}
.rail-3{--rail-w:calc((100% - 2 * 1.25rem) / 3)}
@media (max-width:991.98px){.rail-4,.rail-3{--rail-w:calc((100% - 1.25rem) / 2.2)}}
@media (max-width:575.98px){.rail-4,.rail-3{--rail-w:82%}}
.rail-nav{display:flex;gap:.5rem}
.rail-nav button{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:1.1rem;transition:all .2s}
.rail-nav button:hover:not(:disabled){background:var(--deep);border-color:var(--deep);color:#fff}
.rail-nav button:disabled{opacity:.4}
.section-deep .rail-nav button{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;border-radius:99px;font-size:.78rem;font-weight:700;background:var(--tint);color:var(--ink)}
.chip-ok{background:var(--accent-soft);color:var(--accent-text)}
.chip-warn{background:var(--brand-2-soft);color:var(--brand-2-text)}
.chip-brand{background:var(--brand-soft);color:var(--brand-text)}
.badge-soft{display:inline-block;padding:.3rem .75rem;border-radius:99px;background:var(--brand-soft);color:var(--brand-text);font-size:.78rem;font-weight:800}
.img-cover{width:100%;height:100%;object-fit:cover}
.rounded-xl{border-radius:var(--radius)!important}
.shadow-soft{box-shadow:var(--shadow)}
.bg-surface{background:var(--surface)}
.border-dashed{border:1.5px dashed var(--line)!important}
.ratio-photo{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--sand)}
.ratio-photo img{width:100%;height:100%;object-fit:cover}
.video-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
.float-y{animation:floatY 6s ease-in-out infinite}
@keyframes floatY{50%{transform:translateY(-12px)}}
.marquee{overflow:hidden;white-space:nowrap;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:inline-flex;gap:3rem;animation:marquee 40s linear infinite;padding-right:3rem}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
/* Bootstrap's g-5 gutter is wider than the container padding on phones; keep it inside */
@media (max-width:575.98px){.row.g-5,.row.gx-5{--bs-gutter-x:1.5rem}:root{--header-h:68px}.brand-name{font-size:1.4rem}.brand-mark{width:36px;height:36px}}

/* 23 Dark mode details --------------------------------------------------------------- */
[data-bs-theme="dark"] .wish-btn{background:rgba(20,22,21,.85);color:#f4ede4}
[data-bs-theme="dark"] .polaroid{background:#f4ede4}
[data-bs-theme="dark"] .site-footer,[data-bs-theme="dark"] .topbar,[data-bs-theme="dark"] .lp-footer{background:color-mix(in srgb,var(--deep-base) 40%,#080a09)}
[data-bs-theme="dark"] .section-deep{background:color-mix(in srgb,var(--deep-base) 45%,#090b0a)}
[data-bs-theme="dark"] .tc-badge{color:#1d1408}
[data-bs-theme="dark"] .mc-remove:hover{background:rgba(255,120,100,.15);color:#ff9d8f}
[data-bs-theme="dark"] .btn-light{background:#f4ede4}
[data-bs-theme="dark"] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23cdc4b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
[data-bs-theme="dark"] .stamp{color:var(--brand-2)}

/* 24 Print ------------------------------------------------------------------------- */
@media print{
  .switcher,.switcher-toggle,.chat-float,.to-top,.cookie-bar,.mobile-cta,.preloader,.topbar,.site-header,.site-footer,.no-print{display:none!important}
  body{background:#fff;padding:0!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* 25 Shared page overrides ---------------------------------------------------- */
/* Small adjustments of shared components that several page styles rely on. */
/* from account.css */
.it-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.it-tags a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:767.98px){
  .ct-head.ct-wish{display:none}
}
.hc-stars{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted)}
.hc-stars .stars{color:var(--brand-2-base)}
@media print{
  html,body{background:#fff!important}
  .sticky-atc{display:none!important}
}
.shop-grid .product-card .pr-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shop-grid.is-list .pr-text{-webkit-line-clamp:unset}
@media (max-width:575.98px){
  .toolbar{border-radius:var(--radius)}
}
@media (max-width:575.98px){
  body:has(.sticky-atc.is-on) .mobile-cta{display:none}
}
.sticky-atc .satc-name small{display:block}
.ct-table .ct-row{min-height:96px}
.co-items{max-height:340px;overflow:auto}
.timeline h3{font-size:1.08rem}
@media print{
  [data-order-page] .btn,[data-order-page] .d-grid{display:none!important}
}
@media (max-width:575.98px){
  .ct-row .ct-actions{grid-column:1/-1;justify-content:flex-start}
}
/* from company.css */
.section-deep .stat span{color:color-mix(in srgb,#fff 70%,var(--deep))}
@media (max-width:575.98px){
  #expertGrid{--bs-gutter-x:.9rem}
}
@media (max-width:575.98px){
  .map-pin{right:1rem}
}
.feature-card h3 .chip{vertical-align:middle;font-family:var(--font);font-size:.7rem}
/* from homes-18-24.css */
.section-deep .price-card:not(.is-featured) h3{color:var(--ink)}
.hero-kicker b{white-space:nowrap}
/* from homes-2-9.css */
@media (max-width:575.98px){
  [data-isl-grid]{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
}
/* from hotel.css */
@media (max-width:991.98px){
  .book-box{position:static}
}
[data-cap-note]{white-space:nowrap}
.section-deep .form-done{color:var(--ink)}
.hero-photo .demo-tag{color:rgba(255,255,255,.8)}
/* from tours.css */
.filter-group .form-check-label span{display:inline-flex;align-items:center;gap:.35rem}
.filter-group .form-check-label i{color:var(--brand-text)}
.range-out output{font-weight:800}
.view-btns a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--muted)}
.view-btns a:hover{border-color:var(--brand);color:var(--brand-text)}
.view-btns a.active{border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft)}
@media (max-width:575.98px){
  .toolbar{border-radius:var(--radius-sm);padding:.6rem}
  .toolbar>div{width:100%}
  .toolbar .form-select{width:100%}
}
.dates-table td small{font-size:.8rem}
.dates-table b{color:var(--ink)}
.table-responsive .dates-table{min-width:560px}
.book-box .form-label{margin-bottom:.35rem}
@media (max-width:991.98px){
  .book-box{position:static}
}
.filter-chips button small{opacity:.65;font-weight:700;margin-left:.15rem}
.dd-title{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.25rem 1.25rem;color:#fff;font-size:clamp(4rem,2rem + 9vw,9.5rem);font-weight:500;line-height:.9;letter-spacing:-.04em;margin:0 0 1rem}
.dd-title .hand{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.4rem);color:var(--brand-2);transform:rotate(-4deg);margin-bottom:.8rem;letter-spacing:0}
#hotelList,#tourList{display:grid;gap:1rem}
#hotelList>.hotel-row,#tourList>.tour-row{margin:0}
.review-card .score{margin-bottom:.75rem}
#book,#stayBox{scroll-margin-top:calc(var(--header-h) + 1rem)}
[data-video][hidden]{display:none!important}
