/* =====================================================================
   Rafting.ch — Interlaken | Shared stylesheet
   Edit the variables below to swap in your own design system.
   ===================================================================== */

:root {
  /* ---- Brand colour (deep alpine purple) ---- */
  --c-purple-900:#2b1339;   /* near-black purple: footer, dark sections, text */
  --c-purple-800:#351846;
  --c-purple-700:#422158;   /* PRIMARY brand purple */
  --c-purple-600:#422158;   /* primary brand */
  --c-purple-500:#6b4286;
  --c-purple-400:#6b4286;
  --c-purple-100:#ece5f1;   /* soft tint background */
  --c-purple-50:#f6f2f9;

  /* ---- Accents ---- */
  --c-accent:#fec20c;       /* glacier-sun yellow CTA */
  --c-accent-600:#d99f00;
  --c-teal:#54306c;         /* line-icon accent (purple) */
  --c-teal-700:#422158;

  /* ---- Neutrals (purple-tinted, never pure black; warm stone, never pure white) ---- */
  --c-bg:#F7F5F2;           /* warm stone page base */
  --c-white:#F7F5F2;        /* warm stone — every light surface */
  --c-stone-200:#edeae4;    /* deeper stone — section-divider tone */
  --c-ink:#1f1426;          /* body text */
  --c-muted:#6c6175;        /* secondary text */
  --c-line:#e1dbe7;
  --c-line-strong:rgba(43,19,57,.18);

  /* ---- Type ---- */
  --font-display:"Poppins ExtraBold", "Poppins", system-ui, sans-serif;
  --font-body:"Source Sans Pro", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* ---- Spacing ---- */
  --s-1:4px;  --s-2:8px;  --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;

  /* ---- Radius ---- */
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-pill:999px;

  /* ---- Shadow (soft, purple-tinted) ---- */
  --shadow-sm:0 4px 14px rgba(43,19,57,.08);
  --shadow-md:0 14px 34px rgba(43,19,57,.12);
  --shadow-lg:0 28px 60px rgba(43,19,57,.18);

  /* ---- Layout ---- */
  --maxw:1240px;
  --gutter:clamp(18px, 5vw, 56px);
  --nav-h:76px;

  /* ---- Motion ---- */
  --dur:.3s;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* =====================  Fonts  ===================== */
@font-face{font-family:"Poppins ExtraBold";src:url("https://canyoning-interlaken.com/wp-content/uploads/rafting/fonts/Poppins-ExtraBold.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:"Source Sans Pro";src:url("https://canyoning-interlaken.com/wp-content/uploads/rafting/fonts/SourceSansPro-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap;}

/* =====================  Reset  ===================== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;font-family:var(--font-body);color:var(--c-ink);
  background:var(--c-bg);line-height:1.62;
  font-size:1.0625rem;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.04;margin:0;font-weight:800;letter-spacing:-.02em;text-wrap:balance;}
p{margin:0;text-wrap:pretty;}
ul{margin:0;padding:0;list-style:none;}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:6px;}

/* =====================  Utilities  ===================== */
.container{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
.section{padding-block:clamp(56px,9vw,120px);}
.section--tight{padding-block:clamp(40px,6vw,72px);}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-weight:700;font-size:.82rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--c-purple-600);
  margin:0;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--c-accent);border-radius:2px;}
.eyebrow--light{color:#D9CCFB;}
.eyebrow--light::before{background:var(--c-accent);}
.lead{font-size:clamp(1.05rem,1.6vw,1.28rem);color:var(--c-muted);max-width:60ch;}
.h-xl{font-size:clamp(2.6rem,6.4vw,5.1rem);}
.h-lg{font-size:clamp(2.1rem,4.6vw,3.5rem);}
.h-md{font-size:clamp(1.6rem,3vw,2.4rem);}
.h-sm{font-size:clamp(1.25rem,2vw,1.55rem);}
.text-muted{color:var(--c-muted);}
.text-center{text-align:center;}
.mx-auto{margin-inline:auto;}
.skip-link{position:absolute;left:-999px;top:0;z-index:200;background:var(--c-purple-900);color:#F7F5F2;padding:12px 18px;border-radius:0 0 12px 0;}
.skip-link:focus{left:0;}

/* =====================  Buttons  ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 26px;border-radius:var(--r-pill);font-weight:700;
  font-size:1rem;border:2px solid transparent;transition:transform .15s ease, background .2s ease, box-shadow .2s ease;
  text-align:center;line-height:1.1;white-space:nowrap;
}
.btn svg{width:18px;height:18px;}
.btn--primary{background:var(--c-accent);color:var(--c-purple-900);box-shadow:0 12px 28px rgba(254,194,12,.40);}
.btn--primary:hover{background:var(--c-accent-600);transform:translateY(-2px);}
.btn--dark{background:var(--c-purple-700);color:#F7F5F2;}
.btn--dark:hover{background:var(--c-purple-600);transform:translateY(-2px);}
.btn--outline{background:transparent;border-color:var(--c-line-strong);color:var(--c-ink);}
.btn--outline:hover{border-color:var(--c-purple-600);color:var(--c-purple-600);}
.btn--light{background:#F7F5F2;color:var(--c-purple-700);}
.btn--light:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn--ghost-light{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.35);color:#F7F5F2;}
.btn--ghost-light:hover{background:rgba(255,255,255,.18);}
.btn--block{width:100%;}
.btn--sm{padding:10px 18px;font-size:.92rem;}

/* =====================  Chips / badges  ===================== */
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{
  display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:var(--r-pill);
  background:var(--c-white);border:1px solid var(--c-line);font-size:.88rem;font-weight:600;
  box-shadow:var(--shadow-sm);
}
.chip svg{width:15px;height:15px;color:var(--c-teal);}
.chip--ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#F7F5F2;box-shadow:none;}
.chip--ghost svg{color:var(--c-accent);}
.tag{display:inline-block;padding:5px 13px;border-radius:var(--r-pill);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.tag--raft{background:#F7F5F22c7;color:var(--c-accent-600);}
.tag--canyon{background:#ece5f1;color:var(--c-purple-700);}
.tag--accent{background:#FCEBDD;color:var(--c-accent-600);}

/* =====================  Navigation (solid brand purple)  ===================== */
.nav{position:sticky;top:0;z-index:100;background:var(--c-purple-700);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 12px 32px rgba(43,19,57,.22);}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;height:var(--nav-h);}
.brand{display:flex;align-items:center;color:#F7F5F2;}
.wordmark{font-family:var(--font-display);font-weight:800;font-size:clamp(1.14rem,1.5vw,1.4rem);letter-spacing:.07em;color:#F7F5F2;line-height:1;white-space:nowrap;transition:opacity var(--dur) var(--ease);}
.brand:hover .wordmark{opacity:.88;}
.brand__logo{display:block;width:auto;height:34px;transition:opacity var(--dur) var(--ease);}
.brand:hover .brand__logo{opacity:.88;}
@media (max-width:560px){.brand__logo{height:28px;}}
.nav__cta{display:flex;align-items:center;gap:10px;}
.nav__cta .elementor-widget-text-editor{order:-1;}
.nav__social{display:flex;align-items:center;gap:2px;}
.nav__social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:rgba(247,245,242,.78);transition:color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease);}
.nav__social a:hover{color:var(--c-purple-900);background:var(--c-accent);transform:translateY(-2px);}
.nav__social svg{width:17px;height:17px;display:block;}
.nav__sep{width:1px;height:22px;background:rgba(255,255,255,.18);margin-left:10px;display:inline-block;}
.nav__toggle,.nav__toggle-label{display:none;}
/* buttons on the dark bar */
.nav .elementor-widget-button.btn--primary .elementor-button{box-shadow:0 8px 22px rgba(0,0,0,.28);}
.nav .elementor-widget-button.btn--outline .elementor-button{border-color:rgba(255,255,255,.35);color:#F7F5F2;background:transparent;}
.nav .elementor-widget-button.btn--outline .elementor-button:hover{border-color:var(--c-accent);color:var(--c-accent);}

@media (max-width:1180px){.nav__social{display:none;}.nav__sep{display:none;}}
@media (max-width:560px){.nav__cta .btn,.nav__cta .elementor-widget-button .elementor-button{padding:10px 16px;font-size:.88rem;}}

/* =====================  Hero (home)  ===================== */
.hero{position:relative;padding-block:clamp(40px,6vw,72px) clamp(48px,7vw,90px);overflow:hidden;}
.hero::after{content:"";position:absolute;top:-20%;right:-12%;width:46vw;height:46vw;background:radial-gradient(circle,rgba(95,56,190,.16),transparent 65%);z-index:0;}
.hero__inner{position:relative;z-index:1;}
.hero__head{max-width:920px;}
.hero__head h1{font-size:clamp(2.7rem,6.6vw,5.4rem);margin:18px 0 0;}
.hero__head .lead{margin-top:22px;font-size:clamp(1.1rem,1.7vw,1.32rem);}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.hero__media{position:relative;margin-top:40px;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:2100/1080;background:var(--c-purple-100);}
.hero__media img{width:100%;height:100%;object-fit:cover;}
.hero__floating{
  position:absolute;left:24px;bottom:24px;z-index:2;display:flex;gap:10px;flex-wrap:wrap;
}
.hero__rating{
  position:absolute;right:24px;bottom:24px;z-index:2;background:rgba(43,19,57,.62);
  backdrop-filter:blur(8px);color:#F7F5F2;border-radius:var(--r-md);padding:13px 18px;display:flex;align-items:center;gap:12px;
}
.hero__rating .stars{color:var(--c-accent);font-size:1rem;letter-spacing:1px;}
.hero__rating strong{font-size:1.15rem;font-family:var(--font-display);}
.hero__rating small{display:block;color:rgba(255,255,255,.75);font-size:.78rem;}
@media (max-width:560px){
  .hero__rating,.hero__floating{position:static;margin-top:14px;}
  .hero__media{aspect-ratio:4/3;}
}

/* =====================  Stat / trust bar  ===================== */
.statbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c-line);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-line);}
.statbar .stat{background:var(--c-white);padding:28px 24px;text-align:center;}
.stat__num{font-family:var(--font-display);font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:800;color:var(--c-purple-600);line-height:1;}
.stat__label{display:block;margin-top:8px;font-size:.9rem;color:var(--c-muted);font-weight:600;}
@media (max-width:720px){.statbar{grid-template-columns:repeat(2,1fr);}}

/* =====================  Section heads  ===================== */
.sec-head{max-width:720px;}
.sec-head--center{margin-inline:auto;text-align:center;}
.sec-head h2{margin:16px 0 0;}
.sec-head .lead{margin-top:16px;}
.sec-head--center .lead{margin-inline:auto;}
.sec-head--split{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;max-width:none;}

/* =====================  Cards / tour grid  ===================== */
.grid{display:grid;gap:26px;}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--2{grid-template-columns:repeat(2,1fr);}
@media (max-width:980px){.grid--3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:680px){.grid--3,.grid--2{grid-template-columns:1fr;}}

.card{background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease, box-shadow .18s ease;box-shadow:var(--shadow-sm);}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.card__media{position:relative;aspect-ratio:4/3;overflow:hidden;}
.card__media img{width:100%;height:100%;object-fit:cover;}
.card__media .tag{position:absolute;top:14px;left:14px;box-shadow:var(--shadow-sm);}
.card__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.card__meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.85rem;color:var(--c-muted);font-weight:600;}
.card__meta span{display:inline-flex;align-items:center;gap:6px;}
.card__meta svg{width:15px;height:15px;color:var(--c-teal);}
.card h3{font-size:1.3rem;}
.card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--c-line);}
.price{font-family:var(--font-display);font-weight:800;color:var(--c-ink);font-size:1.45rem;line-height:1;}
.price small{display:block;font-family:var(--font-body);font-weight:600;font-size:.72rem;color:var(--c-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;}
.card__link{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--c-purple-600);}
.card__link svg{width:17px;height:17px;transition:transform .15s;}
.card:hover .card__link svg{transform:translateX(3px);}

/* =====================  Image placeholder  ===================== */
.ph{
  position:relative;display:grid;place-items:center;
  background:
    repeating-linear-gradient(135deg,rgba(66,33,88,.06) 0 14px,rgba(66,33,88,.10) 14px 28px),
    linear-gradient(160deg,var(--c-purple-100),var(--c-purple-50));
  color:var(--c-purple-700);overflow:hidden;
}
.ph::after{content:attr(data-label);font-family:"Hanken Grotesk",monospace;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-purple-600);opacity:.8;padding:6px 12px;background:rgba(255,255,255,.6);border-radius:8px;text-align:center;}

/* =====================  Split feature (rafting/canyoning)  ===================== */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
@media (max-width:760px){.duo{grid-template-columns:1fr;}}
.duo__card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:430px;display:flex;align-items:flex-end;color:#F7F5F2;isolation:isolate;}
.duo__card img,.duo__card .ph{position:absolute;inset:0;width:100%;height:100%;z-index:-2;}
.duo__card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(43,19,57,.92) 0%,rgba(43,19,57,.62) 45%,rgba(43,19,57,.3) 75%,rgba(43,19,57,.12) 100%);}
.duo__body{padding:32px;}
.duo__body h3{font-size:1.9rem;color:#F7F5F2;}
.duo__body p{color:rgba(255,255,255,.82);margin-top:10px;max-width:42ch;}
.duo__body .btn{margin-top:20px;}

/* =====================  Feature list / why us  ===================== */
.feat{display:flex;gap:18px;padding:26px;background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);}
.feat__icon{flex:none;width:50px;height:50px;border-radius:14px;background:var(--c-purple-50);color:var(--c-purple-600);display:grid;place-items:center;}
.feat__icon svg{width:24px;height:24px;}
.feat h3{font-size:1.18rem;margin-bottom:8px;}
.feat p{color:var(--c-muted);font-size:.98rem;}

/* =====================  Process timeline  ===================== */
.timeline{display:grid;gap:0;counter-reset:step;}
.tl-step{display:grid;grid-template-columns:auto 1fr;gap:24px;padding-bottom:36px;position:relative;}
.tl-step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:#F7F5F2;background:var(--c-purple-600);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none;z-index:1;}
.tl-step:not(:last-child)::after{content:"";position:absolute;left:25px;top:52px;bottom:0;width:2px;background:var(--c-line-strong);}
.tl-step__body h3{font-size:1.25rem;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.tl-step__body .time{font-family:var(--font-body);font-weight:600;font-size:.82rem;color:var(--c-purple-700);background:var(--c-purple-100);padding:3px 10px;border-radius:var(--r-pill);}
.tl-step__body p{color:var(--c-muted);margin-top:8px;max-width:60ch;}

/* =====================  Reviews  ===================== */
.review{background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;break-inside:avoid;}
.review .stars{color:var(--c-accent);letter-spacing:2px;font-size:1.05rem;}
.review p{font-size:1.02rem;}
.review__who{display:flex;align-items:center;gap:12px;margin-top:auto;}
.review__avatar{width:42px;height:42px;border-radius:50%;background:var(--c-purple-100);color:var(--c-purple-600);display:grid;place-items:center;font-weight:800;font-family:var(--font-display);flex:none;}
.review__who b{display:block;font-size:.96rem;}
.review__who small{color:var(--c-muted);}
.reviews-masonry{columns:3;column-gap:26px;}
.reviews-masonry .review{margin-bottom:26px;}
@media (max-width:980px){.reviews-masonry{columns:2;}}
@media (max-width:640px){.reviews-masonry{columns:1;}}
.gbadge{display:inline-flex;align-items:center;gap:16px;background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:18px 24px;box-shadow:var(--shadow-sm);}
.gbadge__score{font-family:var(--font-display);font-weight:800;font-size:2.4rem;line-height:1;color:var(--c-ink);}
.gbadge .stars{color:var(--c-accent);font-size:1.1rem;letter-spacing:2px;}

/* =====================  Purple band  ===================== */
.band{background:var(--c-purple-700);color:#F7F5F2;position:relative;overflow:hidden;}
.band--deep{background:linear-gradient(150deg,var(--c-purple-800),var(--c-purple-600));}
.band h2,.band h3{color:#F7F5F2;}
.band p{color:rgba(255,255,255,.8);}
.band::before{content:none;}
.band__inner{position:relative;z-index:1;}

/* =====================  Comparison table  ===================== */
.cmp{width:100%;border-collapse:separate;border-spacing:0;background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;}
.cmp th,.cmp td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--c-line);font-size:.97rem;vertical-align:middle;}
.cmp thead th{background:var(--c-purple-50);font-family:var(--font-display);font-size:1rem;color:var(--c-purple-700);}
.cmp tbody th{font-weight:700;color:var(--c-ink);}
.cmp tr:last-child td,.cmp tr:last-child th{border-bottom:none;}
.cmp td svg{width:18px;height:18px;color:var(--c-teal);}
.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.cmp .muted{color:var(--c-muted);}

/* =====================  FAQ accordion (CSS only)  ===================== */
.faq{display:flex;flex-direction:column;gap:12px;}
.faq details{background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;transition:box-shadow .2s;}
.faq details[open]{box-shadow:var(--shadow-sm);border-color:var(--c-line-strong);}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-family:var(--font-display);font-weight:700;font-size:1.08rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .ico{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--c-line-strong);display:grid;place-items:center;transition:transform .2s, background .2s, color .2s;color:var(--c-purple-600);}
.faq details[open] summary .ico{transform:rotate(45deg);background:var(--c-purple-600);color:#F7F5F2;border-color:var(--c-purple-600);}
.faq summary .ico svg{width:15px;height:15px;}
.faq__a{padding:0 24px 22px;color:var(--c-muted);}
.faq__a p+p{margin-top:12px;}

/* =====================  Key info list  ===================== */
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;}
@media (max-width:680px){.info-grid{grid-template-columns:1fr;}}
.info-row{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--c-line);}
.info-row dt{color:var(--c-muted);font-weight:600;}
.info-row dd{margin:0;font-weight:700;text-align:right;}

/* =====================  Two-column includes  ===================== */
.incl{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
@media (max-width:760px){.incl{grid-template-columns:1fr;}}
.incl__col{border-radius:var(--r-lg);padding:30px;border:1px solid var(--c-line);}
.incl__col--yes{background:#f6f2f9;border-color:#ddd0e6;}
.incl__col--no{background:#F7F5F28e3;border-color:#f1e2ad;}
.incl__col h3{font-size:1.2rem;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.incl li{display:flex;gap:12px;padding:9px 0;align-items:flex-start;font-size:.98rem;}
.incl li svg{flex:none;width:20px;height:20px;margin-top:2px;}
.incl--yes svg{color:var(--c-purple-600);}
.incl--no svg{color:var(--c-accent-600);}

/* =====================  Pricing tiers  ===================== */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:860px){.tiers{grid-template-columns:1fr;max-width:440px;margin-inline:auto;}}
.tier{background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:30px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);}
.tier--feature{background:linear-gradient(160deg,var(--c-purple-700),var(--c-purple-600));color:#F7F5F2;border:none;box-shadow:var(--shadow-md);position:relative;}
.tier--feature .tier__price,.tier--feature h3{color:#F7F5F2;}
.tier--feature .tier__feat li{color:rgba(255,255,255,.86);}
.tier--feature .tier__feat svg{color:var(--c-accent);}
.tier__label{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent-600);}
.tier--feature .tier__label{color:#FCD9BF;}
.tier h3{font-size:1.35rem;}
.tier__price{font-family:var(--font-display);font-weight:800;font-size:2.4rem;line-height:1;margin:6px 0;}
.tier__price small{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--c-muted);}
.tier--feature .tier__price small{color:rgba(255,255,255,.7);}
.tier__feat{margin:14px 0 22px;display:flex;flex-direction:column;gap:10px;}
.tier__feat li{display:flex;gap:10px;font-size:.95rem;}
.tier__feat svg{flex:none;width:18px;height:18px;color:var(--c-teal);margin-top:2px;}
.tier .btn{margin-top:auto;}

/* =====================  Forms  ===================== */
.form{display:grid;gap:18px;}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:560px){.form__row{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:7px;}
.field label{font-weight:700;font-size:.92rem;}
.field label .req{color:var(--c-accent-600);}
.field input,.field select,.field textarea{
  font:inherit;padding:13px 15px;border-radius:var(--r-sm);border:1.5px solid var(--c-line-strong);
  background:#F7F5F2;color:var(--c-ink);transition:border .15s, box-shadow .15s;width:100%;
}
.field textarea{min-height:140px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--c-purple-600);outline:none;box-shadow:0 0 0 3px rgba(95,56,190,.16);}
.field__hint{font-size:.82rem;color:var(--c-muted);}

/* =====================  Contact info cards  ===================== */
.ic{display:flex;gap:16px;padding:24px;background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);}
.ic__icon{flex:none;width:48px;height:48px;border-radius:14px;background:var(--c-purple-50);color:var(--c-purple-600);display:grid;place-items:center;}
.ic__icon svg{width:23px;height:23px;}
.ic h3{font-size:1.05rem;margin-bottom:4px;}
.ic a,.ic p{color:var(--c-muted);font-size:.98rem;}
.ic a:hover{color:var(--c-purple-600);}

/* =====================  Map placeholder  ===================== */
.mapbox{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-line);aspect-ratio:16/9;min-height:260px;}

/* =====================  Blog  ===================== */
.post{background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .18s, box-shadow .18s;}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.post__media{aspect-ratio:16/10;}
.post__body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1;}
.post__date{font-size:.82rem;color:var(--c-muted);font-weight:600;}
.post h3{font-size:1.22rem;}
.post p{color:var(--c-muted);font-size:.96rem;}
.post .card__link{margin-top:auto;}
.post--feature{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;}
.post--feature .post__media{aspect-ratio:auto;min-height:100%;}
.post--feature .post__body{padding:clamp(26px,4vw,48px);justify-content:center;}
.post--feature h3{font-size:clamp(1.6rem,3vw,2.3rem);}
@media (max-width:760px){.post--feature{grid-template-columns:1fr;}.post--feature .post__media{min-height:240px;}}

/* =====================  Footer  ===================== */
.footer{background:var(--c-purple-900);color:rgba(247,245,242,.7);padding-block:clamp(56px,7vw,88px) 28px;}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr .85fr 1.15fr;gap:clamp(26px,3vw,44px);}
@media (max-width:1020px){.footer__top{grid-template-columns:1fr 1fr;gap:38px 32px;}.footer__about{grid-column:1/-1;}}
@media (max-width:560px){.footer__top{grid-template-columns:1fr;}}
/* every text colour carries !important — the Elementor kit stylesheet loads after this file */
.footer__brandrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;}
.footer__brandrow img{width:46px;height:46px;border-radius:50%;display:block;}
.footer__brandrow .wordmark{font-size:1.25rem;color:#F7F5F2 !important;}
.footer__about p{font-size:.95rem;line-height:1.7;max-width:36ch;margin:0;color:rgba(247,245,242,.62) !important;}
.footer__social{display:flex;gap:10px;margin-top:22px;}
.footer__social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;color:#F7F5F2 !important;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);}
.footer__social a:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-purple-900) !important;transform:translateY(-3px);}
.footer__social svg{width:17px;height:17px;display:block;}
.footer h4{color:#F7F5F2 !important;font-family:var(--font-display);font-weight:800;font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;margin:6px 0 18px;}
.footer__col a{display:block;padding:7px 0;color:rgba(247,245,242,.6) !important;font-size:.95rem;line-height:1.45;transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);}
.footer__col a:hover{color:var(--c-accent) !important;transform:translateX(3px);}
.footer__contact .row{display:flex;gap:11px;padding:7px 0;align-items:flex-start;font-size:.95rem;line-height:1.5;color:rgba(247,245,242,.66) !important;}
.footer__contact .row svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--c-accent);}
.footer__contact .row a{display:inline;padding:0;color:rgba(247,245,242,.82) !important;}
.footer__contact .row a:hover{color:var(--c-accent) !important;transform:none;}
.footer__contact .row span{color:inherit;}
.footer__bottom{margin-top:clamp(40px,5vw,60px);padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:.85rem;color:rgba(247,245,242,.48) !important;}
.footer__bottom span{color:rgba(247,245,242,.48) !important;}
.footer__powered b{color:rgba(247,245,242,.8) !important;font-weight:600;}

/* =====================  Misc page header  ===================== */
.pagehead{padding-block:clamp(48px,7vw,90px) clamp(36px,5vw,60px);position:relative;overflow:hidden;}
.pagehead::after{content:"";position:absolute;top:-40%;right:-8%;width:40vw;height:40vw;background:radial-gradient(circle,rgba(95,56,190,.14),transparent 65%);}
.pagehead__inner{position:relative;z-index:1;max-width:780px;}
.pagehead h1{font-size:clamp(2.4rem,5.4vw,4rem);margin:16px 0 0;}
.pagehead .lead{margin-top:18px;}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--c-muted);font-weight:600;}
.breadcrumb a:hover{color:var(--c-purple-600);}
.breadcrumb svg{width:14px;height:14px;opacity:.5;}

/* =====================  Prose  ===================== */
.prose h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:48px 0 16px;}
.prose h3{font-size:1.35rem;margin:32px 0 12px;}
.prose p{margin-bottom:16px;color:var(--c-ink);}
.prose ul.bullet{margin:16px 0;display:flex;flex-direction:column;gap:10px;}
.prose ul.bullet li{display:flex;gap:12px;align-items:flex-start;color:var(--c-ink);}
.prose ul.bullet li svg{flex:none;width:20px;height:20px;color:var(--c-teal);margin-top:3px;}
.prose .lead{margin-bottom:8px;}

/* anchor offset for sticky nav */
:target{scroll-margin-top:calc(var(--nav-h) + 20px);}

/* yellow highlight word (on dark sections) */
.hl{color:var(--c-accent);}

/* yellow wave divider */
.wave-sep{width:min(240px,46%);height:12px;margin-inline:auto;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='12' viewBox='0 0 48 12'><path d='M0 6 Q12 0 24 6 T48 6' fill='none' stroke='%23FEC20C' stroke-width='2.5' stroke-linecap='round'/></svg>") repeat-x left center/48px 12px;}
.wave-sep--wide{width:min(420px,70%);}

/* tagline under duo CTA cards */
.duo__tagline{font-family:var(--font-display);font-weight:800;color:var(--c-accent);font-size:1.12rem;letter-spacing:.01em;margin-top:6px;}

/* travel-time tiles (getting here) */
.tt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media (max-width:880px){.tt-grid{grid-template-columns:repeat(2,1fr);}}
.tt{background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:24px 22px 20px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;}
.tt::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c-accent);}
.tt__time{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,2.6vw,2.2rem);color:var(--c-purple-700);line-height:1;}
.tt__city{font-weight:700;font-size:1.05rem;margin-top:8px;}
.tt__modes{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:.86rem;color:var(--c-muted);font-weight:600;}
.tt__modes span{display:inline-flex;align-items:center;gap:7px;}
.tt__modes svg{width:15px;height:15px;color:var(--c-accent-600);flex:none;}

/* compact alternative-tour cards */
.alt-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:860px){.alt-row{grid-template-columns:1fr;}}
.alt{display:flex;flex-direction:column;gap:8px;background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow-sm);transition:transform .15s ease, box-shadow .15s ease;}
.alt:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.alt__kicker{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent-600);}
.alt h4{font-family:var(--font-display);font-size:1.08rem;margin:0;}
.alt .card__meta{gap:10px;font-size:.8rem;}
.alt__go{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;color:var(--c-purple-600);}
.alt__go svg{width:15px;height:15px;}

/* section background variants */
.section--lav{background:linear-gradient(180deg,var(--c-purple-50),var(--c-purple-100));}
.section--stone2{background:var(--c-stone-200);}
.section--stone2 .card,.section--stone2 .feat,.section--stone2 .chip{border-color:#ddd6cd;}

/* duo card: keep placeholder label clear of the copy */
.duo__card .ph::after{position:absolute;top:16px;right:16px;left:auto;}

/* helper spacing */
.mt-2{margin-top:var(--s-2);}.mt-4{margin-top:var(--s-4);}.mt-5{margin-top:var(--s-5);}
.mt-6{margin-top:var(--s-6);}.mt-7{margin-top:var(--s-7);}.mb-0{margin-bottom:0;}
.stack{display:flex;flex-direction:column;gap:var(--s-5);}
.row-wrap{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}


/* ===== Homepage-specific ===== */

/* ----------  Homepage hero  ---------- */
.fullhero{position:relative;display:flex;flex-direction:column;color:#F7F5F2;overflow:hidden;}
.fullhero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
/* crisp image: soft top + bottom veils for type legibility, nothing else */
.fullhero::after{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(33,14,46,.36) 0%,rgba(33,14,46,.08) 22%,rgba(33,14,46,0) 48%,rgba(33,14,46,.42) 76%,rgba(33,14,46,.88) 100%),
  linear-gradient(78deg,rgba(33,14,46,.4) 0%,rgba(33,14,46,.12) 28%,rgba(33,14,46,0) 46%);}
.fullhero__inner{position:relative;z-index:2;width:100%;min-height:clamp(620px,calc(100vh - var(--nav-h)),940px);display:flex;flex-direction:column;justify-content:space-between;gap:clamp(34px,5vw,60px);padding-top:clamp(28px,3.6vw,56px);padding-bottom:clamp(26px,4vw,54px);}
/* big round brand badge — hero top-right corner */
.fullhero__logo{position:absolute;top:clamp(14px,1.8vw,30px);right:var(--gutter);width:clamp(96px,14vw,250px);height:auto;z-index:3;filter:drop-shadow(0 16px 38px rgba(23,8,34,.5));animation:heroLogo .9s .25s both var(--ease);}
/* headline block — two columns split on the rock edge, exactly like the brand reference:
   "Rafting and" (yellow) hugs the boundary from the left, "Canyoning tours" (white) sits on the rock,
   "in Switzerland" centres under the first part, the sub copy aligns with the rock column */
.hero-headwrap{width:100%;}
.hero-head{display:grid;grid-template-columns:42fr 58fr;grid-template-areas:"a b" "l2 sub";column-gap:clamp(16px,1.7vw,32px);row-gap:clamp(16px,2.4vw,46px);width:100%;align-items:center;}
.hero-head h1{display:contents;}
.ht-a{grid-area:a;justify-self:end;color:var(--c-accent);animation:heroRise .7s .1s both var(--ease);}
.ht-b{grid-area:b;justify-self:start;color:#F7F5F2;animation:heroRise .7s .18s both var(--ease);}
.ht-a,.ht-b{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,2.95vw,3.7rem);line-height:1.04;letter-spacing:-.01em;white-space:nowrap;text-shadow:0 2px 30px rgba(23,8,34,.55);}
.ht-l2{grid-area:l2;justify-self:center;align-self:center;font-family:var(--font-display);font-weight:800;font-size:clamp(1.2rem,2.05vw,2.5rem);line-height:1.1;color:var(--c-accent);white-space:nowrap;text-shadow:0 2px 24px rgba(23,8,34,.55);animation:heroRise .7s .26s both var(--ease);}
.hero-sub{grid-area:sub;justify-self:start;align-self:center;font-family:var(--font-body);font-weight:400;font-size:clamp(1.02rem,1.5vw,1.45rem);line-height:1.45;letter-spacing:.005em;color:rgba(252,250,247,.97);max-width:27ch;margin:0;text-shadow:0 1px 18px rgba(23,8,34,.6);animation:heroRise .7s .34s both var(--ease);}
/* bottom row: CTA pills left, Google rating right */
.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;}
.hero-ctas{display:flex;gap:clamp(10px,1.4vw,16px);flex-wrap:wrap;}
.hbtn{position:relative;display:inline-flex;align-items:center;gap:14px;padding:13px 15px 13px 28px;border-radius:var(--r-pill);font-family:var(--font-display);font-weight:800;font-size:clamp(.98rem,1.1vw,1.08rem);letter-spacing:.01em;line-height:1.1;overflow:hidden;isolation:isolate;white-space:nowrap;transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.hbtn>*{position:relative;z-index:1;}
.hbtn::before{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);transform:translateX(-160%) skewX(-14deg);}
.hbtn:hover{transform:translateY(-4px) scale(1.02);}
.hbtn:hover::before{animation:ctaSweep .8s var(--ease) forwards;}
.hbtn__arrow{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;transition:transform .35s var(--ease);}
.hbtn__arrow svg{width:16px;height:16px;transition:transform .35s var(--ease);}
.hbtn:hover .hbtn__arrow{transform:rotate(0deg);}
.hbtn:hover .hbtn__arrow svg{transform:translateX(3px);}
.hero-foot .hbtn--yellow,.hero-foot .hbtn--yellow span{color:var(--c-purple-900);}
.hero-foot .hbtn--yellow .hbtn__arrow{color:var(--c-accent);}
.hero-foot .hbtn--purple,.hero-foot .hbtn--purple>span:first-child{color:#F7F5F2;}
.hero-foot .hbtn--purple .hbtn__arrow{color:var(--c-purple-900);}
.hero-foot .hbtn--white,.hero-foot .hbtn--white>span:first-child{color:var(--c-purple-700);}
.hero-foot .hbtn--white .hbtn__arrow{color:#F7F5F2;}
.hbtn--yellow{background:var(--c-accent);color:var(--c-purple-900);box-shadow:0 14px 34px rgba(254,194,12,.32);}
.hbtn--yellow:hover{box-shadow:0 22px 46px rgba(254,194,12,.46);}
.hbtn--yellow .hbtn__arrow{background:var(--c-purple-900);color:var(--c-accent);}
.hbtn--yellow::before{animation:ctaSheen 4.8s 1.8s infinite;}
.hbtn--purple{background:rgba(33,14,46,.92);color:#F7F5F2;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);box-shadow:0 14px 34px rgba(23,8,34,.4);}
.hbtn--purple:hover{background:rgba(33,14,46,.94);box-shadow:0 22px 46px rgba(23,8,34,.55);}
.hbtn--purple .hbtn__arrow{background:var(--c-accent);color:var(--c-purple-900);}
.hbtn--white{background:#F7F5F2;color:var(--c-purple-700);box-shadow:0 14px 34px rgba(23,8,34,.38);}
.hbtn--white:hover{box-shadow:0 22px 46px rgba(23,8,34,.5);}
.hbtn--white .hbtn__arrow{background:var(--c-purple-700);color:#F7F5F2;}
.hero-ctas .hbtn:nth-child(1){animation:heroRise .6s .45s both var(--ease);}
.hero-ctas .hbtn:nth-child(2){animation:heroRise .6s .55s both var(--ease);}
.hero-ctas .hbtn:nth-child(3){animation:heroRise .6s .65s both var(--ease);}
/* Google rating pill */
.grating{display:inline-flex;align-items:center;gap:14px;padding:9px 22px 9px 10px;border-radius:var(--r-pill);background:rgba(23,8,34,.55);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 40px rgba(23,8,34,.35);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease);animation:heroRise .6s .78s both var(--ease);}
.grating:hover{transform:translateY(-3px);background:rgba(23,8,34,.72);}
.grating__g{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;box-shadow:0 4px 12px rgba(0,0,0,.25);}
.grating__g svg{width:21px;height:21px;display:block;}
.grating__score{font-family:var(--font-display);font-weight:800;font-size:1.5rem;color:#F7F5F2;line-height:1;}
.grating__text{display:flex;flex-direction:column;gap:4px;line-height:1;}
.grating__stars{color:var(--c-accent);font-size:.9rem;letter-spacing:3px;}
.grating__label{font-size:.82rem;font-weight:600;color:rgba(247,245,242,.8);white-space:nowrap;}
.grating__label b{color:#F7F5F2;}
/* hero motion */
@keyframes heroRise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
@keyframes heroLogo{from{opacity:0;transform:translateY(-14px) scale(.88) rotate(-6deg);}to{opacity:1;transform:none;}}
@keyframes ctaSweep{from{transform:translateX(-160%) skewX(-14deg);}to{transform:translateX(320%) skewX(-14deg);}}
@keyframes ctaSheen{0%,62%{transform:translateX(-160%) skewX(-14deg);}100%{transform:translateX(320%) skewX(-14deg);}}
@media (prefers-reduced-motion:reduce){
  .ht-a,.ht-b,.ht-l2,.hero-sub,.fullhero__logo,.hero-ctas .hbtn,.grating{animation:none;}
  .hbtn--yellow::before{animation:none;}
  .hbtn:hover{transform:none;}
}
/* hero responsive — phones get a centred composition: badge on top, stacked title, slim CTAs */
@media (max-width:880px){
  .fullhero{min-height:auto;}
  .fullhero::after{background:
    linear-gradient(180deg,rgba(33,14,46,.6) 0%,rgba(33,14,46,.34) 30%,rgba(33,14,46,.12) 50%,rgba(33,14,46,.5) 76%,rgba(33,14,46,.94) 100%);}
  /* header already shows the wordmark — drop the redundant (low-contrast) hero badge on phones */
  .fullhero__logo{display:none;}
  .fullhero__inner{flex:0 1 auto;min-height:0;justify-content:flex-start;gap:clamp(18px,5vw,26px);padding-top:clamp(40px,12vw,72px);padding-bottom:34px;}
  /* phone: collapse the desktop two-column split into one clean flowing headline */
  .hero-head{display:block;text-align:left;column-gap:0;row-gap:0;}
  .hero-head h1{display:block;margin:0;font-family:var(--font-display);font-weight:800;line-height:1.06;letter-spacing:-.012em;}
  .ht-a,.ht-b,.ht-l2{display:inline;justify-self:auto;align-self:auto;font-size:clamp(2rem,8.4vw,2.9rem);line-height:1.06;}
  .hero-sub{display:block;justify-self:auto;align-self:auto;margin-top:14px;font-size:clamp(1rem,4vw,1.22rem);line-height:1.45;max-width:34ch;}
  .hero-foot{justify-content:flex-start;}
  .hero-ctas{justify-content:flex-start;}
  .grating{margin-inline:0;}
}
@media (max-width:680px){
  .hero-ctas{width:100%;flex-direction:column;gap:10px;}
  .hbtn{width:100%;justify-content:space-between;padding:12px 12px 12px 24px;}
  .hbtn__arrow{width:32px;height:32px;}
  .hero-foot{flex-direction:column;align-items:stretch;gap:14px;}
  .grating{align-self:flex-start;padding:8px 18px 8px 9px;gap:11px;}
  .grating__g{width:36px;height:36px;}
  .grating__score{font-size:1.3rem;}
  .grating__label{white-space:normal;text-align:left;line-height:1.3;}
}
/* solid brand-purple sections */
.section--purple{background:var(--c-purple-700);}
.section--purple .sec-head h2{color:#F7F5F2;}
.section--purple .sec-head .lead{color:rgba(255,255,255,.78);}
.section--purple .eyebrow{color:#ffd766;}
.section--purple .eyebrow::before{background:var(--c-accent);}
.section--purple .reviews-rail{scrollbar-color:rgba(255,255,255,.45) transparent;}
.hl{color:var(--c-accent);}
.reviews-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 18px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:thin;}
.reviews-rail .review{min-width:332px;max-width:332px;scroll-snap-align:start;}
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:880px){.types{grid-template-columns:1fr;}}
.ribbon{position:absolute;top:14px;right:14px;z-index:2;background:var(--c-accent);color:var(--c-purple-900);font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:7px 13px;border-radius:var(--r-pill);box-shadow:var(--shadow-sm);display:inline-flex;gap:6px;align-items:center;}
.ribbon svg{width:14px;height:14px;}
.locrow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:880px){.locrow{grid-template-columns:1fr;}}
.adv-h3{text-align:center;font-size:clamp(1.4rem,2.4vw,2rem);margin-bottom:6px;}
.adv-h3 .pin{display:inline-flex;align-items:center;gap:8px;justify-content:center;}
.adv-h3 .pin svg{width:22px;height:22px;color:var(--c-accent-600);}
.guides-imgs{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;}
@media(max-width:760px){.guides-imgs{grid-template-columns:1fr 1fr;}}
/* editorial intro */
.intro-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;}
@media(max-width:860px){.intro-grid{grid-template-columns:1fr;}}
.intro-side{border-left:3px solid var(--c-accent);padding-left:clamp(20px,2.5vw,34px);display:flex;flex-direction:column;gap:18px;align-items:flex-start;}
/* final CTA — full-bleed photo under deep purple */
.cta-splash{position:relative;overflow:hidden;color:#F7F5F2;background:var(--c-purple-900);}
.cta-splash__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:0;}
.cta-splash::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,rgba(43,19,57,.95),rgba(66,33,88,.84) 55%,rgba(43,19,57,.93));}
.cta-splash__word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-weight:800;font-size:clamp(7rem,24vw,22rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(254,194,12,.16);z-index:1;pointer-events:none;user-select:none;white-space:nowrap;}
.cta-splash__inner{position:relative;z-index:2;text-align:center;padding-block:clamp(76px,12vw,150px);}
.cta-splash h2{color:#F7F5F2;font-size:clamp(2.7rem,6.8vw,5.4rem);}
.cta-splash .lead{color:rgba(247,245,242,.85);margin-inline:auto;margin-top:18px;}
.cta-splash__chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:28px;}
.cta-splash .btn--primary{padding:18px 38px;font-size:1.08rem;}


/* ===== Tour-detail specific ===== */

/* tour-detail specific */
.tour-hero{position:relative;color:#F7F5F2;overflow:hidden;background:var(--c-purple-900);}
.tour-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;}
.tour-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,11,43,.92),rgba(23,11,43,.35));}
.tour-hero__inner{position:relative;z-index:1;padding-block:clamp(56px,9vw,120px) clamp(40px,6vw,72px);}
.tour-hero h1{font-size:clamp(2.3rem,5.2vw,4rem);max-width:18ch;margin-top:16px;}
.tour-layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start;}
@media (max-width:980px){.tour-layout{grid-template-columns:1fr;}}
.booking-card{position:sticky;top:calc(var(--nav-h) + 20px);background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-md);}
@media (max-width:980px){.booking-card{position:static;}}
.booking-card .price{font-size:2.2rem;}
.booking-card hr{border:none;border-top:1px solid var(--c-line);margin:18px 0;}
.booking-card .row{display:flex;justify-content:space-between;padding:7px 0;font-size:.95rem;}
.booking-card .row span:first-child{color:var(--c-muted);}
.editme{background:#FFF8E9;border:1px dashed #E3B341;color:#8A6206;border-radius:var(--r-md);padding:14px 18px;font-size:.9rem;font-weight:600;display:flex;gap:10px;align-items:flex-start;}
.editme svg{width:18px;height:18px;flex:none;margin-top:2px;}
.highlight-card{background:var(--c-purple-50);border-radius:var(--r-lg);padding:30px;}


/* ===== Native-build adjustments ===== */
/* placeholder label as a child element (Elementor can't set data-attributes on free tier) */
.ph{min-height:220px;}
.ph .ph__label{font-family:"Source Sans Pro",monospace;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-purple-600);opacity:.85;padding:6px 12px;background:rgba(255,255,255,.6);border-radius:8px;text-align:center;}
/* Elementor container resets so our design classes drive layout */
.rc-page .elementor-widget{margin-bottom:0;}
/* ensure our buttons keep styling inside elementor button widget wrapper */
.btn .elementor-button-text{color:inherit;}

/* ===================== Elementor bridge layer ===================== */
.elementor-widget-heading.h-xl .elementor-heading-title{font-size:clamp(2.6rem,6.4vw,5.1rem);}
.elementor-widget-heading.h-lg .elementor-heading-title{font-size:clamp(2.1rem,4.6vw,3.5rem);}
.elementor-widget-heading.h-md .elementor-heading-title{font-size:clamp(1.6rem,3vw,2.4rem);}
.elementor-widget-heading.h-sm .elementor-heading-title{font-size:clamp(1.25rem,2vw,1.55rem);}
.elementor-widget-heading .elementor-heading-title{color:inherit;}
.elementor-widget-heading.adv-h3 .elementor-heading-title{font-size:clamp(1.4rem,2.4vw,2rem);}
.elementor-widget-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:var(--r-pill);font-weight:700;font-size:1rem;border:2px solid transparent;font-family:var(--font-body);line-height:1.1;white-space:nowrap;background:var(--c-purple-700);color:#F7F5F2;transition:transform .15s ease,background .2s ease,box-shadow .2s ease;}
.elementor-widget-button .elementor-button:hover{transform:translateY(-2px);}
.elementor-widget-button.btn--primary .elementor-button{background:var(--c-accent);color:var(--c-purple-900);box-shadow:0 12px 28px rgba(254,194,12,.40);}
.elementor-widget-button.btn--primary .elementor-button:hover{background:var(--c-accent-600);}
.elementor-widget-button.btn--dark .elementor-button{background:var(--c-purple-700);color:#F7F5F2;}
.elementor-widget-button.btn--dark .elementor-button:hover{background:var(--c-purple-600);}
.elementor-widget-button.btn--outline .elementor-button{background:transparent;border-color:var(--c-line-strong);color:var(--c-ink);}
.elementor-widget-button.btn--outline .elementor-button:hover{border-color:var(--c-purple-600);color:var(--c-purple-600);}
.elementor-widget-button.btn--light .elementor-button{background:#F7F5F2;color:var(--c-purple-700);}
.elementor-widget-button.btn--light .elementor-button:hover{box-shadow:var(--shadow-md);}
.elementor-widget-button.btn--ghost-light .elementor-button{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.35);color:#F7F5F2;}
.elementor-widget-button.btn--ghost-light .elementor-button:hover{background:rgba(255,255,255,.18);}
.elementor-widget-button.btn--block{width:100%;}
.elementor-widget-button.btn--block .elementor-button{width:100%;}
.elementor-widget-button.btn--sm .elementor-button{padding:10px 18px;font-size:.92rem;}
.elementor-widget-button.card__link .elementor-button{background:none;border:none;padding:0;color:var(--c-purple-600);box-shadow:none;font-weight:700;border-radius:0;}
.elementor-widget-button.card__link .elementor-button:hover{transform:none;}
.elementor-widget-button .elementor-button-icon{display:none;}
.elementor-widget-text-editor{margin-bottom:0;}
.elementor-element.eyebrow{display:inline-flex;}
.card__media .elementor-widget-image,.duo__card .elementor-widget-image,.post__media .elementor-widget-image{width:100%;height:100%;}
.card__media .elementor-widget-image img,.duo__card .elementor-widget-image img,.post__media .elementor-widget-image img{width:100%;height:100%;object-fit:cover;}
.elementor-element.section{padding-inline:0;}
/* ===== Header / footer patches ===== */
.nav .nav__inner{min-height:var(--nav-h);}
.nav.e-con,.nav .e-con{padding-top:0;padding-bottom:0;}
/* the Elementor button widget wrapper carries the same .btn classes — neutralise it */
.elementor-widget-button.btn{background:none;border:none;padding:0;box-shadow:none;display:inline-block;white-space:normal;}
.elementor-widget-button.btn:hover{background:none;transform:none;box-shadow:none;}
.nav__inner .elementor-widget-xpro-horizontal-menu{width:auto;flex:none;}
.rc-nav .xpro-elementor-horizontal-navbar-nav{display:flex;flex-wrap:nowrap;align-items:center;width:max-content;gap:clamp(0px,.8vw,8px);}
.rc-nav .xpro-elementor-horizontal-navbar-nav>li>a{position:relative;display:block;padding:9px 13px;font-weight:600;font-size:.97rem;letter-spacing:.015em;color:rgba(247,245,242,.82);font-family:var(--font-body);transition:color var(--dur) var(--ease);}
.rc-nav .xpro-elementor-horizontal-navbar-nav>li>a::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;border-radius:2px;background:var(--c-accent);transform:scaleX(0);transform-origin:left center;transition:transform .28s var(--ease);}
.rc-nav .xpro-elementor-horizontal-navbar-nav>li>a:hover,.rc-nav .xpro-elementor-horizontal-navbar-nav>li.current-menu-item>a{color:#F7F5F2;}
.rc-nav .xpro-elementor-horizontal-navbar-nav>li>a:hover::after,.rc-nav .xpro-elementor-horizontal-navbar-nav>li.current-menu-item>a::after{transform:scaleX(1);}
/* xpro hamburger + off-canvas panel on the purple bar */
.rc-nav .xpro-elementor-horizontal-menu-toggler{color:#F7F5F2;display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:11px;background:transparent;transition:border-color var(--dur) var(--ease);}
.rc-nav .xpro-elementor-horizontal-menu-toggler:hover{border-color:var(--c-accent);}
/* FA glyph may not load — draw the bars in CSS */
.rc-nav .xpro-elementor-horizontal-menu-toggler i{display:block;width:20px;height:14px;font-size:0;background:
  linear-gradient(#F7F5F2,#F7F5F2) left top/100% 2px no-repeat,
  linear-gradient(#F7F5F2,#F7F5F2) left center/72% 2px no-repeat,
  linear-gradient(#F7F5F2,#F7F5F2) left bottom/100% 2px no-repeat;}
.rc-nav .xpro-elementor-horizontal-menu-toggler i::before{content:none;}
@media (max-width:1024px){
  /* collapsed header: RAFTING.CH left, Book now right, hamburger far right */
  .nav__inner{gap:12px;}
  .nav__inner>.brand{order:1;}
  .nav__inner>.nav__cta{order:2;margin-left:auto;}
  .nav__inner>.rc-nav{order:3;}
  .rc-nav .xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet{background:var(--c-purple-800) !important;}
  .rc-nav .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar{background:transparent !important;width:100% !important;}
  .rc-nav .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav{display:block;width:100% !important;}
  .rc-nav .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li{width:100%;}
  .rc-nav .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li>a.xpro-elementor-nav-link{background:transparent !important;color:#F7F5F2 !important;font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:.01em;padding:18px 8px;width:100%;border-bottom:1px solid rgba(255,255,255,.1);}
  .rc-nav .xpro-elementor-horizontal-navbar-nav>li>a::after{content:none;}
  .rc-nav .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li>a.xpro-elementor-nav-link:hover,
  .rc-nav .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav>li.current-menu-item>a.xpro-elementor-nav-link{color:var(--c-accent) !important;}
  .rc-nav .xpro-elementor-horizontal-menu-close{background:transparent !important;border:1px solid rgba(255,255,255,.3);border-radius:11px;color:#F7F5F2 !important;}
  .rc-nav .xpro-elementor-horizontal-menu-close i{display:none;}
  .rc-nav .xpro-elementor-horizontal-menu-close::after{content:"\2715";font-size:18px;line-height:1;color:#F7F5F2;}
}
/* dark-band text guards — the Elementor kit/global styles load after this sheet and
   repaint headings/copy in brand purple; pin the light colours on every dark section */
.band h2,.band h3,.cta-splash h2,.tour-hero h1,.section--purple h2{color:#F7F5F2 !important;}
.band p,.band .lead{color:rgba(255,255,255,.82) !important;}
.cta-splash .lead{color:rgba(247,245,242,.86) !important;}
.cta-splash .chip--ghost,.band .chip--ghost{color:#F7F5F2 !important;}
.cta-splash .eyebrow,.band .eyebrow--light{color:#D9CCFB !important;}
/* ===== Full-bleed hero / splash + cover image ===== */
.fullhero,.cta-splash{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.fullhero__bg,.cta-splash__bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.fullhero__bg .elementor-widget-container,.cta-splash__bg .elementor-widget-container{height:100%;}
.fullhero__bg img,.cta-splash__bg img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===================== Tour landing — Bokun rail, sticky book bar & new sections ===================== */
/* hero: vivid branded overlay (full-opacity photo + purple gradient for legible white type) */
/* hero photo lives on the image-widget WRAPPER (the bare <img> can't fill the 0-height widget box) */
.tour-hero__bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;margin:0;}
.tour-hero__bg .elementor-widget-container{height:100%;}
.tour-hero__bg img{position:static;width:100%;height:100%;object-fit:cover;object-position:center 34%;display:block;opacity:1;}
.tour-hero__inner{z-index:2;}
.tour-hero::after{z-index:1;background:
  linear-gradient(102deg,rgba(33,14,46,.9) 0%,rgba(43,19,57,.64) 38%,rgba(43,19,57,.32) 68%,rgba(43,19,57,.44) 100%),
  linear-gradient(to top,rgba(33,14,46,.6) 0%,rgba(33,14,46,0) 38%);}
.tour-hero h1{color:#F7F5F2 !important;}
.tour-hero__crumb{color:rgba(247,245,242,.72);}
.tour-hero__crumb a{color:#F7F5F2;}
.tour-hero__crumb a:hover{color:var(--c-accent);}
.tour-hero .chips{margin-top:4px;}

/* top region grid: content left, sticky Bokun rail right (rail spans both content rows) */
.tour-grid{display:grid;grid-template-columns:1fr 372px;gap:clamp(28px,3vw,48px);align-items:start;}
.tg-intro{grid-column:1;grid-row:1;}
.tg-intro .lead{max-width:60ch;}
.tg-main{grid-column:1;grid-row:2;display:flex;flex-direction:column;}
.tg-main h2{font-size:clamp(1.55rem,2.8vw,2.2rem);margin:38px 0 16px;}
.tg-main h2:first-child{margin-top:8px;}

/* Bokun rail (sticky) */
.bokun-rail{grid-column:2;grid-row:1 / span 2;position:sticky;top:calc(var(--nav-h) + 18px);background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-md);scroll-margin-top:calc(var(--nav-h) + 18px);}
.bokun-rail__head{display:flex;flex-direction:column;gap:2px;}
.bokun-rail__eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent-600);}
.bokun-rail__head h3{font-size:1.25rem;}
.bokunWidget{min-height:520px;}
.bokun-rail__trust{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding-top:14px;border-top:1px solid var(--c-line);}
.bokun-rail__trust li{display:flex;gap:9px;align-items:flex-start;font-size:.92rem;font-weight:600;}
.bokun-rail__trust svg{flex:none;width:17px;height:17px;color:var(--c-purple-600);margin-top:2px;}
.bokun-rail__note{font-size:.82rem;color:var(--c-muted);margin-top:8px;}

/* inline google reviews badge */
.gbadge--inline{padding:10px 16px;gap:9px;}
.gbadge--inline .stars{color:var(--c-accent);font-size:.95rem;letter-spacing:2px;}
.gbadge__link{color:var(--c-purple-600);font-weight:700;}

/* compact, professional review cards on the tour landing */
.reviews-tight .review{padding:16px 18px;gap:8px;border-radius:var(--r-md);}
.reviews-tight .review .stars{font-size:.9rem;letter-spacing:1.5px;}
.reviews-tight .review p{font-size:.92rem;line-height:1.5;}
.reviews-tight .review__who{gap:10px;}
.reviews-tight .review__avatar{width:34px;height:34px;font-size:.82rem;}
.reviews-tight .review__who b{font-size:.86rem;}
.reviews-tight .review__who small{font-size:.76rem;}
@media(max-width:600px){.reviews-tight>*{width:100% !important;}}
/* shortcode-rendered reviews (live Google): clean CSS grid, 2-up desktop / 1-up phone */
.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr;}}

/* weather / good-to-know notes */
.notes{margin-top:24px;}
.notes p{margin-bottom:11px;color:var(--c-ink);}
.notes strong{color:var(--c-purple-700);}

/* body column width */
.tour-body{max-width:940px;}

/* fit-grid: "perfect / maybe" + "included / not included" big-icon cards */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:10px 0 6px;}
@media(max-width:760px){.fit-grid{grid-template-columns:1fr;}}
.fitbox{border-radius:var(--r-xl);padding:clamp(24px,3vw,34px);border:1px solid var(--c-line);background:#F7F5F2;box-shadow:var(--shadow-sm);}
.fitbox--yes{background:#f6f2f9;border-color:#ddd0e6;}
.fitbox--no{background:#fbf6ea;border-color:#f0e3b4;}
.fitbox__head{display:flex;align-items:center;gap:18px;margin-bottom:18px;}
.fitbox__bigicon{flex:none;width:60px;height:60px;display:grid;place-items:center;}
.fitbox__bigicon svg{width:54px;height:54px;}
.fitbox--yes .fitbox__bigicon{color:var(--c-purple-700);}
.fitbox--no .fitbox__bigicon{color:var(--c-accent-600);}
.fitbox__head h3{font-size:1.3rem;margin:0;}
.fitbox__list{display:flex;flex-direction:column;gap:13px;}
.fitbox__list li{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;color:var(--c-ink);}
.fitbox__list li svg{flex:none;width:19px;height:19px;margin-top:3px;}
.fitbox--yes .fitbox__list li svg{color:var(--c-purple-600);}
.fitbox--no .fitbox__list li svg{color:var(--c-accent-600);}
.fitbox__list a{color:var(--c-purple-600);font-weight:700;text-decoration:underline;}

/* prep grid (what to bring / before you arrive) — tinted box, dash bullets */
.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);background:var(--c-purple-50);border:1px solid var(--c-purple-100);border-radius:var(--r-lg);padding:clamp(24px,3vw,38px);}
@media(max-width:680px){.prep-grid{grid-template-columns:1fr;gap:24px;}}
.prep-col h3{font-size:1.15rem;margin:0 0 14px;}
ul.dash{display:flex;flex-direction:column;gap:11px;margin:6px 0;}
ul.dash li{position:relative;padding-left:22px;color:var(--c-ink);font-size:.98rem;line-height:1.55;}
ul.dash li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:2px;background:var(--c-accent-600);border-radius:2px;}
ul.dash strong{color:var(--c-purple-700);}

/* make it a full day — combo cards */
.combo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;}
@media(max-width:680px){.combo-grid{grid-template-columns:1fr;}}
.combo{background:#F7F5F2;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;transition:transform .15s ease,box-shadow .15s ease;}
.combo:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.combo__icon{width:46px;height:46px;border-radius:13px;background:var(--c-purple-50);color:var(--c-purple-600);display:grid;place-items:center;}
.combo__icon svg{width:23px;height:23px;}
.combo h4{font-family:var(--font-display);font-weight:800;font-size:1.18rem;margin:8px 0 0;}
.combo p{color:var(--c-muted);font-size:.96rem;}

/* sticky bottom book bar (all viewports; slides up on scroll, hides while the rail is in view) */
.book-bar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px clamp(16px,5vw,48px);background:var(--c-purple-700);color:#F7F5F2;box-shadow:0 -10px 34px rgba(43,19,57,.32);transform:translateY(115%);transition:transform .32s var(--ease);}
.book-bar.is-visible{transform:none;}
.book-bar__price{font-family:var(--font-display);font-weight:800;font-size:1.12rem;line-height:1.1;color:#F7F5F2;}
.book-bar__price small{display:block;font-family:var(--font-body);font-weight:600;font-size:.76rem;color:rgba(247,245,242,.72);letter-spacing:.01em;}
.book-bar .btn{flex:none;white-space:nowrap;}
body.has-book-bar{padding-bottom:68px;}
@media(prefers-reduced-motion:reduce){.book-bar{transition:none;}}

/* ---- tour landing: responsive (phone-first attention) ---- */
@media (max-width:980px){
  .tour-grid{display:flex;flex-direction:column;gap:24px;}
  .bokun-rail{position:static;order:0;padding:18px;}
  .tg-main h2{margin-top:30px;}
}
@media (max-width:560px){
  .tour-hero__inner{padding-block:clamp(40px,12vw,64px) clamp(28px,8vw,44px);}
  .tour-hero::after{background:linear-gradient(to top,rgba(33,14,46,.86) 0%,rgba(33,14,46,.5) 46%,rgba(33,14,46,.58) 100%);}
  .tour-hero .row-wrap{width:100%;}
  .tour-hero .row-wrap .elementor-widget-button,.tour-hero .row-wrap .btn{width:100%;}
  .tour-hero .row-wrap .elementor-widget-button .elementor-button{width:100%;}
  .bokunWidget{min-height:480px;}
  .fitbox__bigicon{width:48px;height:48px;}
  .fitbox__bigicon svg{width:42px;height:42px;}
  .book-bar{padding:9px 14px;gap:10px;}
  .book-bar__price{font-size:1rem;}
  .book-bar__price small{font-size:.7rem;}
  .book-bar .btn{padding:11px 15px;font-size:.9rem;}
  body.has-book-bar{padding-bottom:62px;}
}

/* ============ tour photo gallery: editorial mosaic ============ */
.tour-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:205px;
  gap:14px;
  grid-auto-flow:row dense;
  margin:30px 0 10px;
}
.tour-gallery a{
  position:relative;display:block;overflow:hidden;
  border-radius:18px;background:var(--c-purple-50);
  box-shadow:var(--shadow-sm);cursor:zoom-in;
  -webkit-tap-highlight-color:transparent;
}
.tour-gallery img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--ease);
}
.tour-gallery a::after{ /* hover tint */
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(43,19,57,0) 45%,rgba(43,19,57,.42) 100%);
  opacity:0;transition:opacity .4s var(--ease);pointer-events:none;
}
.tour-gallery a:hover img,.tour-gallery a:focus-visible img{transform:scale(1.06);}
.tour-gallery a:hover::after,.tour-gallery a:focus-visible::after{opacity:1;}
.tour-gallery a:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;}
.tour-gallery .g-tall{grid-row:span 2;}
.tour-gallery .g-wide{grid-column:span 2;}
.tour-gallery .g-big{grid-column:span 2;grid-row:span 2;}
@media (max-width:900px){
  .tour-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:165px;gap:10px;}
  .tour-gallery .g-big{grid-column:span 2;grid-row:span 2;}
  .tour-gallery .g-wide{grid-column:span 2;grid-row:span 1;}
  .tour-gallery .g-tall{grid-column:span 1;grid-row:span 2;}
}
@media (max-width:480px){
  .tour-gallery{grid-template-columns:1fr;grid-auto-rows:auto;gap:10px;}
  .tour-gallery a{aspect-ratio:4/3;}
  .tour-gallery .g-big,.tour-gallery .g-wide,.tour-gallery .g-tall{grid-column:auto;grid-row:auto;}
  .tour-gallery .g-tall,.tour-gallery .g-big{aspect-ratio:4/5;}
}

/* ============ lightbox ============ */
.rl-lightbox{
  position:fixed;inset:0;z-index:1000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(20,9,28,.94);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.rl-lightbox.is-open{opacity:1;visibility:visible;}
.rl-lightbox__stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.rl-lightbox__img{
  max-width:90vw;max-height:84vh;border-radius:10px;
  box-shadow:0 30px 80px rgba(0,0,0,.55);object-fit:contain;
  opacity:0;transform:scale(.97);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.rl-lightbox.is-open .rl-lightbox__img{opacity:1;transform:none;}
.rl-lb-btn{
  position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,transform .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;
}
.rl-lb-btn:hover{background:rgba(255,255,255,.24);}
.rl-lb-btn:active{transform:scale(.94);}
.rl-lb-btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.rl-lb-prev{left:20px;top:50%;transform:translateY(-50%);}
.rl-lb-next{right:20px;top:50%;transform:translateY(-50%);}
.rl-lb-prev:hover{transform:translateY(-50%) scale(1.06);}
.rl-lb-next:hover{transform:translateY(-50%) scale(1.06);}
.rl-lb-close{top:20px;right:20px;width:46px;height:46px;}
.rl-lb-counter{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  color:#fff;font-family:"Source Sans Pro",sans-serif;font-size:.9rem;letter-spacing:.04em;
  background:rgba(0,0,0,.4);padding:6px 14px;border-radius:999px;z-index:2;
}
@media (max-width:560px){
  .rl-lb-prev{left:8px;} .rl-lb-next{right:8px;}
  .rl-lb-btn{width:44px;height:44px;}
  .rl-lb-btn svg{width:22px;height:22px;}
  .rl-lightbox__img{max-width:95vw;max-height:78vh;}
}
@media (prefers-reduced-motion:reduce){
  .rl-lightbox,.rl-lightbox__img,.rl-lb-btn{transition:none;}
}