/*
Theme Name: Bruda Club V5
Theme URI: https://bruda-club.com
Author: Bruda Club
Description: Adventure Brand · Đà Lạt, Vietnam
Version: 2.0.0
License: GNU General Public License v2 or later
Text Domain: bruda-club
*/

/* ============================================================
   RESET & ROOT
   ============================================================ */
:root{
  /* Adventure Brand palette (v7 redesign) */
  --paper:#F2EDDF;         /* primary background */
  --card-bg:#FFFFFF;       /* card surface */
  --border:#E2D8C0;        /* hairline borders */
  --orange:#D9822B;        /* primary orange */
  --orange-dark:#B06A24;   /* pressed / hover orange */
  --gold:#EBB44C;          /* accent gold */
  --ink:#17301F;           /* primary text */
  --ink-2:#3E6B4C;         /* secondary text */
  --ink-muted:#8A9484;     /* muted text */
  --dark:#17301F;          /* dark surface: hero overlay + footer */

  /* Legacy variable names kept so the rest of this stylesheet
     (and older page templates not yet redesigned) inherit the
     new palette automatically instead of the old dark-green one. */
  --bg:var(--ink);--header-bg:var(--dark);--btn:var(--orange);--btn-hover:var(--orange-dark);
  --text:var(--ink);--white:#ffffff;--muted:var(--ink-muted);--accent:var(--orange);
  --accent-green:var(--ink-2);--dark-card:#1c3323;
  /* Families are defined once here and again at the top of typography.css,
     which is the file that owns the type system. Keep the two in step. */
  --font-display:'Fraunces','Iowan Old Style',Georgia,'Times New Roman',serif;--font-body:'Be Vietnam Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--shadow-sm:0 2px 12px rgba(23,48,31,0.08);--shadow-md:0 16px 40px rgba(23,48,31,0.14);--max-w:1200px;--section-pad:100px 24px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{
  font-family:var(--font-body);
  color:var(--ink);
  line-height:1.7;
  font-size:16px;
  overflow-x:hidden;
  max-width:100%;
  background:var(--paper);
}




  50%  { transform: translate(8%,   10%)  scale(1.15);opacity: 0.18; }
  100% { transform: translate(0%,   0%)   scale(1.0); opacity: 0.30; }
}

/* Ensure page content sits above the fixed overlays */
.hero, .page-hero, .section, .philosophy,
.cta-banner, .accommodation, .how-it-works, .vision-section,
.reviews-section, .site-footer, .bw-wizard-section {
  position: relative;
  z-index: 1;
}

/* ──────────────────────────────────────────────────────────
   SECTIONS — all transparent so body gradient flows through
   ────────────────────────────────────────────────────────── */
/* Sections transparent — body parallax gradient shows through */
.section--dark,
.section--dark-card,
.section--header {
  background: transparent;
}
/* These sections need solid bg so their cards/content doesn't look wrong */
.reviews-section { background: transparent; }
.cta-banner      { background: transparent; }
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--btn-hover)}
h1,h2,h3,h4,h5{font-family:var(--font-display);line-height:1.2;font-weight:700}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}
ul{list-style:none}

/* LAYOUT */
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px;width:100%;box-sizing:border-box}
.section{padding:var(--section-pad)}
.section--card{background:var(--card-bg);color:var(--text)}
.text-center{text-align:center}

/* BUTTONS */
.btn{display:inline-block;background:var(--btn);color:var(--bg) !important;font-family:var(--font-body);font-weight:700;font-size:0.95rem;letter-spacing:0.04em;padding:14px 32px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:background 0.2s,transform 0.15s,box-shadow 0.2s;text-decoration:none;text-transform:uppercase;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-appearance:none}
.btn:hover{background:var(--btn-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(240,104,31,0.4);color:var(--white) !important}
.btn--outline{background:transparent;border:2px solid var(--btn);color:var(--btn) !important}
.btn--outline:hover{background:var(--btn);color:var(--bg) !important}
.btn--outline:active{background:var(--btn);color:var(--white) !important;outline:none}
.btn--outline:focus{background:transparent;color:var(--btn) !important;outline:none}
.btn--outline:focus-visible{outline:2px solid rgba(240,104,31,0.5);outline-offset:3px}
.btn--ghost{background:rgba(255,255,255,0.12);color:var(--white) !important;border:1px solid rgba(255,255,255,0.25)}
.btn--ghost:hover{background:rgba(255,255,255,0.22);transform:translateY(-2px)}
button{-webkit-appearance:none;touch-action:manipulation}

/* HEADER DESKTOP */
.site-header{position:fixed;top:0;left:0;right:0;z-index:9999;background:transparent;border-bottom:none;box-shadow:none;width:100%;transition:background 0.5s ease,border-color 0.5s ease,box-shadow 0.5s ease,transform 0.3s ease;will-change:transform}
.site-header--transparent{background:transparent;border-bottom-color:transparent;box-shadow:none}
.site-header.header--scrolled{background:rgba(13,30,16,0.92) !important;backdrop-filter:blur(14px) !important;-webkit-backdrop-filter:blur(14px) !important;border-bottom:1px solid rgba(111,191,115,0.15) !important;box-shadow:0 2px 20px rgba(0,0,0,0.3) !important;}
body{padding-top:0}
.site-header.header--hidden{-webkit-transform:translateY(-100%);transform:translateY(-100%)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}
.site-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--white);letter-spacing:0.02em;text-decoration:none;flex-shrink:0}
.site-logo span{color:var(--accent)}
.site-logo img{height:44px;width:auto;display:block}
.site-nav{display:flex;gap:32px;align-items:center}
.site-nav a{color:rgba(255,255,255,0.8);font-size:0.9rem;font-weight:500;letter-spacing:0.03em;text-transform:uppercase;transition:color 0.2s;text-decoration:none;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--accent)}
.nav-cta{margin-left:8px}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;-webkit-tap-highlight-color:transparent}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:all 0.3s}

/* HERO */
.hero{position:relative;min-height:88vh;min-height:88svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:visible;background:transparent;padding-top:72px}
.hero__bg-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0.42;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 45%,transparent 88%);mask-image:linear-gradient(to bottom,black 0%,black 45%,transparent 88%);}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,transparent 40%,rgba(9,20,9,0.70) 80%,rgba(9,20,9,0.96) 100%);pointer-events:none;z-index:1}
.hero__content{position:relative;z-index:2;max-width:820px;padding:0 24px}
.hero__eyebrow{display:inline-block;font-size:0.78rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;padding:6px 18px;border:1px solid rgba(111,191,115,0.45);border-radius:100px}
.hero__title{font-size:clamp(2.4rem,6vw,5.2rem);font-weight:700;color:var(--white);margin-bottom:24px;line-height:1.08}
.hero__subtitle{font-size:clamp(1rem,2vw,1.2rem);color:rgba(255,255,255,0.75);margin-bottom:40px;max-width:560px;margin-left:auto;margin-right:auto}
.hero__subtitle em{color:var(--accent);font-style:italic}
.hero__cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero__scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,0.4);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;z-index:2}
.hero__scroll-line{width:1px;height:38px;background:linear-gradient(to bottom,rgba(111,191,115,0.8),transparent);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:0.4;transform:scaleY(0.6)}}

/* PAGE HERO */
.page-hero{position:relative;min-height:80vh;min-height:80svh;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:visible;background:transparent;padding-bottom:72px}
.page-hero__bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0.55}
.page-hero::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(10,26,10,0.08) 0%,rgba(19,42,19,0.50) 100%);pointer-events:none;z-index:1}
.page-hero__content{position:relative;z-index:2;padding:0 24px;max-width:700px}
.page-hero__content h1{font-size:clamp(3rem,7vw,5.8rem);color:var(--accent);line-height:1;margin-bottom:16px}
.page-hero__content p{color:rgba(255,255,255,0.72);font-size:1.1rem;max-width:520px;margin:0 auto}
.page-hero--team::after{background:linear-gradient(to bottom,rgba(10,26,10,0.05) 0%,rgba(19,42,19,0.62) 100%)}

/* ENTRY CARDS */
.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.entry-card{background:#253a26 !important;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform 0.3s,box-shadow 0.3s;display:flex;flex-direction:column;border:1px solid rgba(111,191,115,0.15)}
.entry-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.entry-card__img{aspect-ratio:4/3;object-fit:cover;width:100%}
.entry-card__body{padding:28px 24px 24px;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;color:var(--white)}
.entry-card__title{font-family:var(--font-display);font-size:1.4rem;color:var(--white)}
.entry-card__subtitle{font-size:0.9rem;color:rgba(255,255,255,0.6);font-style:italic;margin-bottom:4px}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about__label{font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.about__title{font-size:clamp(1.8rem,3vw,2.6rem);color:var(--white);margin-bottom:20px}
.about__text{color:rgba(255,255,255,0.72);font-size:1.05rem;margin-bottom:16px}
.about__phase{display:inline-block;background:rgba(111,191,115,0.15);border:1px solid rgba(111,191,115,0.3);border-radius:var(--radius-sm);padding:8px 16px;font-size:0.9rem;color:var(--accent);font-weight:600;margin-top:8px}

/* SECTION HEADER */
.section-header{text-align:center;margin-bottom:48px}
.section-header h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:12px}
.section-header p{color:rgba(255,255,255,0.6);font-size:1.05rem;max-width:560px;margin:0 auto}
.section-header--dark p{color:rgba(47,62,52,0.75)}
.section-header--dark h2{color:var(--text)}

/* REVIEWS */
.reviews-section{padding:var(--section-pad);background:transparent;}

/* ── COVERFLOW CAROUSEL ────────────────────────────── */
.cf-outer{
  position:relative;
  margin:48px 0 0;
  padding:40px 0 60px;
  overflow:hidden;
  cursor:grab;
  user-select:none;
}
.cf-outer:active{cursor:grabbing;}

.cf-track{
  display:flex;
  align-items:center;
  gap:0;
  width:100%;
  will-change:transform;
  transition:transform .45s cubic-bezier(0.25,0.8,0.25,1);
}

/* Each slide */
.cf-slide{
  flex:0 0 360px;
  padding:0 14px;
  transition:transform .45s cubic-bezier(0.25,0.8,0.25,1),
             opacity .45s ease,
             filter .45s ease;
  transform:scale(0.82) translateY(10px);
  opacity:0.45;
  filter:brightness(0.7);
  pointer-events:none;
}
.cf-slide.is-active{
  transform:scale(1) translateY(0);
  opacity:1;
  filter:brightness(1);
  pointer-events:auto;
  z-index:2;
}
.cf-slide.is-adjacent{
  transform:scale(0.90) translateY(5px);
  opacity:0.72;
  filter:brightness(0.85);
  pointer-events:auto;
}

/* The card itself */
.cf-card{
  background:var(--dark-card);
  border:1px solid rgba(111,191,115,0.18);
  border-radius:var(--radius-lg);
  padding:32px 28px 28px;
  display:flex;flex-direction:column;gap:18px;
  transition:border-color .3s,box-shadow .3s;
  min-height:280px;
}
.cf-slide.is-active .cf-card{
  border-color:rgba(111,191,115,0.5);
  box-shadow:0 24px 60px -16px rgba(0,0,0,0.5),
             0 0 0 1px rgba(111,191,115,0.2);
}

.cf-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.cf-stars{display:flex;gap:3px;color:var(--accent);}
.cf-duration{
  font-family:var(--font-display);
  font-size:0.75rem;font-style:italic;
  color:rgba(255,255,255,0.45);
  letter-spacing:0.02em;
}

.cf-text{
  font-family:var(--font-display);
  font-size:1.0rem;font-style:italic;
  color:rgba(255,255,255,0.88);
  line-height:1.65;flex:1;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cf-slide.is-active .cf-text{
  -webkit-line-clamp:8;
  color:rgba(255,255,255,0.95);
}

.cf-author{display:flex;align-items:center;gap:12px;margin-top:4px;}
.cf-avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  background:rgba(111,191,115,0.15);
  border:1.5px solid rgba(111,191,115,0.35);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:0.85rem;font-weight:700;
  color:var(--accent);
}
.cf-meta{display:flex;flex-direction:column;gap:2px;}
.cf-meta strong{color:#fff;font-size:0.9rem;font-weight:700;}
.cf-meta span{color:rgba(255,255,255,0.5);font-size:0.78rem;}

/* Arrows */
.cf-arrow{
  position:absolute;top:50%;transform:translateY(-60%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.8);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;z-index:10;
  -webkit-tap-highlight-color:transparent;
}
.cf-arrow:hover{background:rgba(111,191,115,0.15);border-color:var(--accent);color:var(--accent);}
.cf-arrow--prev{left:max(12px, calc(50% - 220px));}
.cf-arrow--next{right:max(12px, calc(50% - 220px));}

/* Dots */
.cf-dots{
  display:flex;align-items:center;justify-content:center;gap:6px;
  position:absolute;bottom:18px;left:0;right:0;
}
.cf-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,0.2);border:none;cursor:pointer;
  transition:all .25s;padding:0;
  -webkit-tap-highlight-color:transparent;
}
.cf-dot.is-active{
  width:22px;border-radius:3px;
  background:var(--accent);
}

@media(max-width:600px){
  .cf-slide{flex:0 0 82vw;padding:0 8px;}
  .cf-arrow--prev{left:8px;}
  .cf-arrow--next{right:8px;}
}
@media(min-width:900px){
  .cf-slide{flex:0 0 420px;}
}

.reviews-full-grid{display:flex;flex-direction:column;gap:20px;margin-top:0;align-items:center}
.review-card{background:#253a26;border:1px solid rgba(111,191,115,0.18);border-radius:var(--radius-lg);padding:32px 28px;display:flex;flex-direction:column;gap:16px;max-width:720px;width:100%;transition:border-color 0.3s}
.review-card--large{max-width:760px}
.review-card:hover{border-color:rgba(111,191,115,0.4)}
.review-stars{display:flex;gap:4px}
.review-star{width:16px;height:16px;fill:var(--accent)}
.review-text{font-family:var(--font-display);font-size:1.05rem;font-style:italic;color:rgba(255,255,255,0.88);line-height:1.6;flex:1}
.review-author{display:flex;align-items:center;gap:12px;margin-top:4px}
.review-avatar{width:40px;height:40px;border-radius:50%;background:rgba(111,191,115,0.2);border:1px solid rgba(111,191,115,0.3);display:flex;align-items:center;justify-content:center;font-size:0.9rem;font-weight:700;color:var(--accent);font-family:var(--font-display);flex-shrink:0}
.review-meta strong{display:block;font-size:0.9rem;color:var(--white)}
.review-meta span{font-size:0.78rem;color:var(--muted)}
.review-photo-wrap{margin:8px 0;border-radius:var(--radius-md);overflow:hidden;width:120px}
.review-photo{width:120px;height:120px;object-fit:cover;border-radius:var(--radius-md);display:block;cursor:default}

/* GALLERY */
.gallery-grid{columns:2;column-gap:12px;width:100%;box-sizing:border-box}
.gallery-item{break-inside:avoid;margin-bottom:12px;border-radius:var(--radius-md);overflow:hidden;background:var(--dark-card);display:block}
.gallery-item img{width:100%;height:auto;display:block}

/* LIGHTBOX */
.bc-lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(0,0,0,0.92);align-items:center;justify-content:center;padding:16px;box-sizing:border-box;-webkit-transform:translateZ(0);transform:translateZ(0)}
.bc-lightbox.open{display:flex}
.bc-lightbox__img{display:block;max-width:calc(100vw - 32px);max-height:calc(100vh - 80px);width:auto;height:auto;object-fit:contain;border-radius:6px;margin:auto;pointer-events:none}
.bc-lightbox-close{position:fixed;top:14px;right:18px;background:rgba(0,0,0,0.5);border:none;color:#fff;font-size:2rem;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer;z-index:10000;display:flex;align-items:center;justify-content:center}
.bc-lightbox-close:hover{background:rgba(255,255,255,0.15)}

/* ACCOMMODATION */
.accommodation{padding:var(--section-pad);background:transparent}
.accom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;align-items:stretch}
.accom-card{background:#2d4a28;border-radius:var(--radius-lg);padding:28px 22px;text-align:center;color:#fff;transition:transform 0.3s,box-shadow 0.3s;position:relative;display:flex;flex-direction:column;height:100%;box-sizing:border-box;min-height:360px}
.accom-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.accom-card--featured{background:#344b30;color:#fff;border:2px solid var(--accent)}
.accom-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--bg);font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 14px;border-radius:100px}
.accom-icon{font-size:2.5rem;margin-bottom:16px}
.accom-card h3{font-size:1.3rem;margin-bottom:8px}
.accom-price{font-size:2.2rem;font-family:var(--font-display);font-weight:700;color:var(--accent);margin:12px 0 4px}
.accom-price-label{font-size:0.85rem;opacity:0.65}
.accom-card p{font-size:0.95rem;opacity:0.75;margin-top:16px;flex-grow:1}

/* BOOKING TOOL */
#booking{scroll-margin-top:100px;-webkit-scroll-margin-top:100px;}
#booking-tool{background:var(--dark-card);border-radius:var(--radius-lg);padding:40px 36px;border:1px solid rgba(111,191,115,0.2);box-shadow:var(--shadow-md);width:100%;box-sizing:border-box}
#booking-tool h3{font-size:1.6rem;margin-bottom:8px;color:var(--white)}
.booking-subtitle{color:var(--muted);font-size:0.9rem;margin-bottom:32px}
.booking-steps{display:flex;gap:0;margin-bottom:36px;position:relative}
.booking-steps::before{content:'';position:absolute;top:18px;left:calc(18px + 1px);right:calc(18px + 1px);height:2px;background:rgba(111,191,115,0.2);z-index:0}
.step-indicator{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;z-index:1}
.step-indicator__dot{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.08);border:2px solid rgba(111,191,115,0.2);display:flex;align-items:center;justify-content:center;font-size:0.85rem;font-weight:700;color:var(--muted);transition:all 0.3s}
.step-indicator.active .step-indicator__dot{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.step-indicator.done .step-indicator__dot{background:rgba(111,191,115,0.25);border-color:var(--accent);color:var(--accent)}
.step-indicator__label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);text-align:center}
.step-indicator.active .step-indicator__label{color:var(--accent)}
.booking-panel{display:none}
.booking-panel.active{display:block}
.date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted)}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,0.07);border:1px solid rgba(111,191,115,0.2);border-radius:var(--radius-sm);padding:12px 16px;color:var(--white);font-family:var(--font-body);font-size:16px;transition:border-color 0.2s;width:100%;-webkit-appearance:none;appearance:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:rgba(111,191,115,0.08)}
.form-group input::placeholder{color:rgba(255,255,255,0.3)}
.form-group select option{background:#253a26;color:var(--white)}
.quick-durations{margin-bottom:24px}
.quick-durations__label{font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.quick-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.quick-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:16px 10px;border-radius:var(--radius-md);background:rgba(255,255,255,0.05);border:1px solid rgba(111,191,115,0.2);color:rgba(255,255,255,0.8);cursor:pointer;transition:all 0.2s;font-family:var(--font-body);min-height:90px;text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.quick-btn:hover,.quick-btn.selected{background:rgba(111,191,115,0.12);border-color:var(--accent);color:var(--accent)}
.quick-btn__nights{font-family:var(--font-display);font-size:1.8rem;font-weight:700;line-height:1;color:var(--accent)}
.quick-btn__label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted)}
.quick-btn__name{font-size:0.8rem;font-weight:600;margin-top:4px}
.quick-btn__discount{font-size:0.7rem;font-weight:700;color:var(--accent);background:rgba(111,191,115,0.15);padding:2px 8px;border-radius:100px;margin-top:4px}
.discount-badge{display:inline-block;background:var(--accent);color:var(--bg);font-size:0.7rem;font-weight:700;padding:2px 8px;border-radius:100px;margin-left:6px}
.nights-display{text-align:center;padding:16px;background:rgba(111,191,115,0.08);border-radius:var(--radius-sm);border:1px solid rgba(111,191,115,0.2);margin-bottom:24px;font-size:0.95rem;color:var(--muted);min-height:52px;display:flex;align-items:center;justify-content:center}
.nights-display strong{color:var(--accent)}
.accom-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.accom-option{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:var(--radius-md);border:2px solid rgba(111,191,115,0.15);cursor:pointer;transition:all 0.25s;background:rgba(255,255,255,0.04);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.accom-option:hover{border-color:rgba(111,191,115,0.4);background:rgba(111,191,115,0.06)}
.accom-option.selected{border-color:var(--accent);background:rgba(111,191,115,0.12)}
.accom-option__icon .bc-icon{width:28px;height:28px}
.accom-option__info{flex:1}
.accom-option__name{font-weight:700;font-size:0.95rem;margin-bottom:2px}
.accom-option__desc{font-size:0.8rem;color:var(--muted);line-height:1.4}
.accom-option__price{text-align:right;flex-shrink:0}
.accom-option__price strong{display:block;font-family:var(--font-display);font-size:1.3rem;color:var(--accent)}
.accom-option__price small{font-size:0.7rem;color:var(--muted);display:block;margin-top:1px}
.currency-switcher{display:flex;gap:8px;margin-bottom:6px}
.currency-btn{padding:6px 14px;border-radius:100px;background:rgba(255,255,255,0.06);border:1px solid rgba(111,191,115,0.2);color:var(--muted);font-size:0.8rem;font-weight:700;cursor:pointer;transition:all 0.2s;font-family:var(--font-body);letter-spacing:0.04em;-webkit-tap-highlight-color:transparent}
.currency-btn.active,.currency-btn:hover{background:rgba(111,191,115,0.15);border-color:var(--accent);color:var(--accent)}
.currency-note{font-size:0.74rem;color:var(--muted);margin-bottom:20px;letter-spacing:0.06em}
.guests-selector{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.05);border:1px solid rgba(111,191,115,0.2);border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:20px}
.guests-label{font-size:0.82rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted)}
.guests-controls{display:flex;align-items:center;gap:16px}
.guests-btn{width:34px;height:34px;border-radius:50%;background:rgba(111,191,115,0.12);border:1px solid rgba(111,191,115,0.3);color:var(--accent);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;font-family:var(--font-body);line-height:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.guests-btn:hover{background:rgba(111,191,115,0.25);border-color:var(--accent)}
.guests-count{font-size:1.4rem;font-weight:700;font-family:var(--font-display);color:var(--white);min-width:24px;text-align:center}
.booking-summary{background:rgba(255,255,255,0.04);border-radius:var(--radius-md);padding:24px;margin-bottom:24px;border:1px solid rgba(111,191,115,0.12)}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.06);font-size:0.95rem}
.summary-row:last-child{border-bottom:none}
.summary-row__label{color:var(--muted)}
.summary-row__value{font-weight:600;color:var(--white)}
.summary-row--total .summary-row__label{color:var(--white);font-weight:700}
.summary-row--total .summary-row__value{font-size:1.4rem;color:var(--accent);font-family:var(--font-display)}
.summary-discount{color:var(--accent);font-size:0.8rem;font-weight:700}
.contact-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.booking-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px}

/* ICONS */
.bc-icon{display:inline-block;width:40px;height:40px;flex-shrink:0;pointer-events:none}
.bc-icon svg{width:100%;height:100%;stroke:var(--accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.pillar-icon .bc-icon{width:36px;height:36px;margin-bottom:12px}
.step-card .bc-icon{width:28px;height:28px}

/* HOW IT WORKS */
.how-it-works{padding:var(--section-pad);background:transparent}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.step-card{text-align:center;padding:32px 24px;background:rgba(255,255,255,0.04);border-radius:var(--radius-md);border:1px solid rgba(111,191,115,0.12)}
.step-num{width:48px;height:48px;background:var(--btn);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:var(--bg);margin:0 auto 20px}
.step-card h3{font-size:1.1rem;margin-bottom:10px}
.step-card p{color:rgba(255,255,255,0.6);font-size:0.95rem;margin:0}

/* DURATION */
.durations{padding:var(--section-pad);background:var(--dark-card)}
.duration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.duration-card{background:rgba(255,255,255,0.05);border:1px solid rgba(111,191,115,0.2);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;cursor:default}
.duration-nights{font-size:3rem;font-family:var(--font-display);font-weight:700;color:var(--accent);line-height:1;margin-bottom:4px}
.duration-label{font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted)}
.duration-card h3{font-size:1.2rem;margin:16px 0 8px}
.duration-card p{font-size:0.9rem;color:rgba(255,255,255,0.6);margin:0}
.duration-discount{display:inline-block;background:var(--accent);color:var(--bg);font-size:0.75rem;font-weight:700;padding:3px 10px;border-radius:100px;margin-top:12px}

/* FAQ */
.faq-accordion{max-width:768px;margin:40px auto 0;display:flex;flex-direction:column}
.faq-accordion-item{border-bottom:1px solid rgba(111,191,115,0.12)}
.faq-accordion-item:first-child{border-top:1px solid rgba(111,191,115,0.12)}
.faq-question{width:100%;background:none;border:none;text-align:left;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--white);transition:color 0.2s;-webkit-tap-highlight-color:transparent}
.faq-question:hover,.faq-question.open{color:var(--accent)}
.faq-chevron{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.3s}
.faq-question.open .faq-chevron{transform:rotate(180deg)}
.faq-answer{display:none;padding:0 0 20px;color:rgba(255,255,255,0.68);font-size:0.95rem;line-height:1.75}
.faq-answer.open{display:block}

/* TEAM */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.team-card{text-align:center;background:var(--dark-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(111,191,115,0.12);transition:transform 0.3s}
.team-card:hover{transform:translateY(-4px)}
.team-card__img{width:100%;aspect-ratio:3/4;object-fit:cover}
.team-card__body{padding:24px 20px}
.team-card h3{font-size:1.3rem;margin-bottom:4px}
.team-card__role{font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.team-card p{font-size:0.9rem;color:rgba(255,255,255,0.65);margin:0}
.team-social{display:flex;gap:12px;justify-content:center;margin-top:12px}
.team-social a{font-size:0.78rem;color:var(--muted);text-decoration:none;transition:color 0.2s;border:1px solid rgba(111,191,115,0.2);border-radius:4px;padding:3px 10px}
.team-social a:hover{color:var(--accent);border-color:var(--accent)}

/* PHASE */
.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.phase-card{background:rgba(255,255,255,0.04);border:1px solid rgba(111,191,115,0.15);border-radius:var(--radius-lg);padding:36px 28px;transition:all 0.3s;position:relative;overflow:hidden}
.phase-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:0.4;transition:opacity 0.3s}
.phase-card:hover{border-color:rgba(111,191,115,0.4)}
.phase-card:hover::before{opacity:1}
.phase-num{font-size:0.72rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.phase-tag{font-family:var(--font-display);font-size:1.6rem;font-style:italic;color:var(--white);margin-bottom:12px;line-height:1}
.phase-card h3{font-size:1.05rem;margin-bottom:16px;color:rgba(255,255,255,0.9)}
.phase-card p{color:rgba(255,255,255,0.6);font-size:0.9rem;line-height:1.65;margin:0}
.phase-card ul{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.phase-card ul li{color:rgba(255,255,255,0.6);font-size:0.88rem;padding-left:14px;position:relative}
.phase-card ul li::before{content:'—';position:absolute;left:0;color:var(--accent);font-size:0.75rem}

/* PILLARS */
.pillars-header{margin-bottom:56px}
.pillars-header h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:12px}
.pillars-header p{color:rgba(255,255,255,0.65);font-size:1.05rem}
.pillars-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.pillar-card{background:rgba(255,255,255,0.05);border:1px solid rgba(111,191,115,0.15);border-radius:var(--radius-md);padding:32px 28px;transition:background 0.3s,border-color 0.3s}
.pillar-card:hover{background:rgba(111,191,115,0.08);border-color:rgba(111,191,115,0.35)}
.pillar-icon{font-size:2rem;margin-bottom:16px;display:block}
.pillar-card h3{font-size:1.25rem;margin-bottom:8px;color:var(--white)}
.pillar-card p{color:rgba(255,255,255,0.6);font-size:0.95rem;margin:0}

/* PHILOSOPHY */
.philosophy{padding:100px 24px;background:transparent;text-align:center}
.philosophy blockquote{max-width:680px;margin:0 auto;font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.5;color:var(--white);font-style:italic}
.philosophy blockquote strong{color:var(--accent);font-style:normal}
.philosophy cite{display:block;margin-top:24px;font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);font-style:normal;font-family:var(--font-body)}

/* VISION */
.vision-section{padding:80px 24px;background:transparent;text-align:center}
.vision-inner{max-width:680px;margin:0 auto}
.vision-inner h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:28px;color:var(--accent)}
.vision-list{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 36px;max-width:420px}
.vision-list-item{width:100%;text-align:center;font-size:1rem;color:rgba(255,255,255,0.72);padding:14px 24px;border-radius:var(--radius-md);background:rgba(111,191,115,0.06);border:1px solid rgba(111,191,115,0.15);line-height:1.5}
.vision-list-item strong{color:var(--accent);font-weight:700}
.vision-tagline{font-family:var(--font-display);font-size:1.3rem;font-style:italic;color:var(--white);margin-top:20px}

/* SERVICE TABLE */
.service-table-section{padding:var(--section-pad);background:var(--dark-card)}
.service-table{width:100%;border-collapse:collapse;margin-top:32px;font-size:0.9rem}
.service-table th{text-align:left;padding:12px 16px;font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid rgba(111,191,115,0.25)}
.service-table th:last-child,.service-table td:last-child{text-align:right}
.service-table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.05);color:rgba(255,255,255,0.78);vertical-align:top}
.service-table tr:hover td{background:rgba(111,191,115,0.04)}
.service-table .service-cat-row td{background:rgba(111,191,115,0.08);color:var(--accent);font-weight:700;font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;padding-top:20px}
.service-price{color:var(--accent);font-weight:700;white-space:nowrap}
.service-time{color:var(--muted);font-size:0.82rem;white-space:nowrap}
.service-note{font-size:0.8rem;color:var(--muted);font-style:italic;margin-top:20px;text-align:center}
.service-currency-bar{display:flex;align-items:center;gap:0;margin-bottom:28px;background:rgba(255,255,255,0.04);border:1px solid rgba(111,191,115,0.2);border-radius:100px;padding:4px;overflow:hidden;width:fit-content;max-width:100%}
.service-currency-bar span{font-size:0.78rem;color:var(--muted);letter-spacing:0.06em;padding:0 14px 0 6px;white-space:nowrap}
.service-currency-btn{padding:8px 16px;border-radius:100px;background:transparent;border:none;color:var(--muted);font-size:0.82rem;font-weight:700;cursor:pointer;transition:all 0.2s;font-family:var(--font-body);letter-spacing:0.04em;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;}
.service-currency-btn.active{background:var(--accent);color:var(--bg)}
.service-currency-btn:hover:not(.active){color:var(--white);background:rgba(111,191,115,0.1)}

/* BIKE SERVICES */
.bike-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.service-card{padding:32px 24px;background:rgba(255,255,255,0.04);border-radius:var(--radius-md);border:1px solid rgba(111,191,115,0.15);transition:all 0.3s}
.service-card:hover{background:rgba(111,191,115,0.08);border-color:rgba(111,191,115,0.4)}
.service-card__icon{font-size:2rem;margin-bottom:16px}
.service-card h3{font-size:1.15rem;margin-bottom:10px}
.service-card p{color:rgba(255,255,255,0.6);font-size:0.95rem;margin:0}
.bike-service-img-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.bike-service-img-wrap img{width:100%;height:auto;display:block}

/* CONTACT */
.contact-page-grid{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:900px){.contact-page-grid{grid-template-columns:1fr 1fr;gap:56px;align-items:start}.contact-page-info{position:relative;z-index:2;isolation:isolate}.contact-page-form{position:relative;z-index:1}}
.contact-detail{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(111,191,115,0.1);position:relative;z-index:1;isolation:isolate}a.contact-detail{cursor:pointer;transition:opacity 0.2s;display:flex;position:relative;z-index:10;isolation:isolate}a.contact-detail:hover{opacity:0.8}
.contact-detail:last-child{border-bottom:none;margin-bottom:24px}
.contact-detail__label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);margin-bottom:2px;font-weight:700}
.contact-detail p{margin:0;font-size:0.95rem;color:rgba(255,255,255,0.8)}
.contact-details-list{margin-bottom:32px;position:relative;z-index:10}
.contact-form-card{background:var(--dark-card);border-radius:var(--radius-lg);padding:32px 28px;border:1px solid rgba(111,191,115,0.18)}
.contact-form-title{font-size:1.4rem;margin-bottom:6px}
.contact-form-subtitle{color:var(--muted);font-size:0.87rem;margin-bottom:24px}
.contact-form-fields{display:flex;flex-direction:column;gap:16px}
.map-embed{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);margin-top:0;height:260px;position:relative;z-index:0}
@media(min-width:900px){.map-embed{height:300px}}
.map-embed iframe{width:100%;height:100%;border:none;display:block}

/* STORY */
.story-section{padding:var(--section-pad);background:transparent;text-align:center}
.story-intro{font-size:1.15rem;color:rgba(255,255,255,0.75);max-width:640px;margin:20px auto 0}
.story-narrative{max-width:720px;margin:0 auto;padding:var(--section-pad)}
.story-narrative__eyebrow{font-size:0.78rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.story-narrative h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:36px;color:var(--white)}
.story-narrative p{color:rgba(255,255,255,0.72);font-size:1.08rem;line-height:1.85;margin-bottom:20px}
.story-narrative p strong{color:var(--white)}
.story-highlight{border-left:3px solid var(--accent);padding-left:24px;margin:36px 0}
.story-highlight p{font-family:var(--font-display);font-size:1.2rem;font-style:italic;color:rgba(255,255,255,0.88);margin:0}

/* DAILY FLOW */
.daily-flow{padding:var(--section-pad);background:transparent}
.flow-list{max-width:600px;margin:40px auto 0}
.flow-item{display:flex;align-items:flex-start;gap:20px;padding:20px 0;border-bottom:1px solid rgba(111,191,115,0.1)}
.flow-item:last-child{border-bottom:none}
.flow-time{font-size:0.78rem;font-weight:700;letter-spacing:0.08em;color:var(--accent);text-transform:uppercase;min-width:70px;padding-top:2px}
.flow-item p{color:rgba(255,255,255,0.75);font-size:0.95rem;margin:0}

/* FOOTER */
.site-footer{background:rgba(6,16,8,0.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:64px 24px 32px;border-top:1px solid rgba(111,191,115,0.10);}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;max-width:var(--max-w);margin:0 auto 48px}
.footer-brand p{color:rgba(255,255,255,0.55);font-size:0.92rem;margin-top:12px;max-width:280px;line-height:1.6}
.footer-nav h4{font-size:0.78rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.footer-nav ul{display:flex;flex-direction:column;gap:10px}
.footer-nav a{color:rgba(255,255,255,0.6);font-size:0.9rem;text-decoration:none;transition:color 0.2s}
.footer-nav a:hover{color:var(--white)}
.footer-bottom{max-width:var(--max-w);margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;color:rgba(255,255,255,0.35)}
.instagram-link{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,0.6);text-decoration:none;font-size:0.9rem;transition:color 0.2s}
.instagram-link:hover{color:var(--accent)}
.instagram-link .bc-icon{width:20px;height:20px}
.instagram-link .bc-icon svg{stroke:currentColor}

/* CTA BANNER */
.cta-banner{padding:100px 24px;background:transparent;text-align:center;position:relative;}
.cta-banner::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(111,191,115,0.12) 0%,transparent 70%)}
.cta-banner h2{position:relative;font-size:clamp(2.2rem,5vw,4rem);margin-bottom:20px}
.cta-banner p{position:relative;color:rgba(255,255,255,0.65);font-size:1.1rem;max-width:500px;margin:0 auto 36px}
.cta-banner .btn{position:relative}

/* ANIMATIONS */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeInUp 0.7s ease both}
.fade-in--delay-1{animation-delay:0.1s}
.fade-in--delay-2{animation-delay:0.2s}
.fade-in--delay-3{animation-delay:0.3s}
.fade-in--delay-4{animation-delay:0.4s}

/* MISC */
.all-inclusive-note{text-align:center;color:var(--muted);font-size:0.9rem;margin-bottom:36px;letter-spacing:0.04em}
.accom-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,0.72);z-index:2000;align-items:center;justify-content:center;padding:20px}
.accom-modal-overlay.open{display:flex}

/* ============================================================
   RESPONSIVE TABLET (max 1024px)
   ============================================================ */
@media (max-width: 1024px) {
  .entry-grid,.duration-grid{grid-template-columns:1fr 1fr}
  .accom-grid{grid-template-columns:1fr !important;gap:16px;}
  .pillars-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .phase-grid{grid-template-columns:1fr 1fr}
}

/* ============================================================
   RESPONSIVE MOBILE (max 768px)
   ============================================================ */
@media (max-width: 768px) {
  :root{--section-pad:64px 20px}

  /* Mobile Nav */
  /* Mobile nav — now handled by premium CSS block below (max-height animation) */
  .site-nav.open{pointer-events:auto;}
  .site-nav a{font-size:1rem}
  .nav-cta{margin-left:0}

  /* Mobile Header — logo centered with grid */
  .site-header .container{
    display:grid;
    grid-template-columns:auto 1fr 48px;
    align-items:center;
    padding-top:12px;
    padding-bottom:12px;
    gap:8px;
  }
  .lang-switcher{
    grid-column:1;
  }
  .site-logo{
    grid-column:2;
    justify-self:center;
    position:static !important;
    transform:none !important;
    -webkit-transform:none !important;
    left:auto !important;
    top:auto !important;
  }
  .site-header .container::before{
    content:none;
    display:none;
  }
  .nav-toggle{
    grid-column:3;
    display:flex;
    justify-content:flex-end;
    margin:0;
  }
  .site-nav{
    grid-column:1/-1;
  }

  /* Grid collapse */
  .entry-grid,.accom-grid,.duration-grid,.steps-grid,.team-grid,.bike-services-grid,.pillars-grid,.phase-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .date-inputs{grid-template-columns:1fr}
  .gallery-grid{columns:1;gap:0}

  #booking-tool{padding:28px 20px;box-sizing:border-box}
  .booking-steps::before{display:none}

  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}

  .hero__title{font-size:2.4rem}
  .page-hero__content h1{font-size:2.8rem}

  .service-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:0.82rem}
  .service-table thead{display:none}
  .service-table tbody{display:block}
  .service-table tr{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
  .service-table .service-cat-row{display:block;padding:16px 0 8px}
  .service-table .service-cat-row td{display:block;border-bottom:none}
  .service-table td{display:block;padding:2px 0;border-bottom:none;color:rgba(255,255,255,0.75)}
  .service-table td:empty{display:none}
  .service-table td:first-child{color:var(--white);font-weight:600;font-size:0.88rem;margin-bottom:2px}

  .quick-btns{grid-template-columns:repeat(3,1fr)}
  .hero__cta{flex-direction:column;align-items:center}
  .booking-nav{flex-direction:column-reverse}
  .guests-selector{flex-wrap:wrap;gap:12px}
  .currency-switcher{justify-content:center}
  .accom-option{flex-wrap:wrap}

  input,select,textarea{font-size:16px !important}
  .contact-form-card{padding:24px 18px}
}

/* ============================================================
   RESPONSIVE SMALL (max 480px)
   ============================================================ */
@media (max-width: 480px) {
  .booking-nav .btn{width:100%;text-align:center}
  #booking-tool{padding:20px 14px}
  .accom-option{padding:14px}
  .step-indicator__label{font-size:0.65rem}
}

/* iOS Safe Area */
@supports(padding:max(0px)){
  .site-footer{padding-bottom:max(32px,env(safe-area-inset-bottom))}
}
/* Hide any WordPress-injected duplicate logos */
.wp-block-site-logo,
.custom-logo-link,
.custom-logo,
.site-logo-link img:not(.site-logo img),
.wp-site-logo,
body > img[class*="logo"],
#wpadminbar .site-icon { display:none !important; }

/* Ensure only our header logo shows */
.site-header .site-logo { display:block !important; }

/* ============================================================
   PILLAR CARDS AS LINKS
   ============================================================ */
.pillar-card--link{
  display:block;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
.pillar-card--link:hover{
  background:rgba(111,191,115,0.12);
  border-color:rgba(111,191,115,0.5);
  transform:translateY(-3px);
  transition:all 0.25s;
}
.pillar-card--link h3{color:var(--white);}
.pillar-card--link:hover h3{color:var(--accent);}

/* ============================================================
   FLIP CARDS (Accommodation)
   ============================================================ */
.flip-card{
  perspective:1000px;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  height:100%;
}
.flip-card__inner{
  position:relative;
  width:100%;
  height:100%;
  transition:-webkit-transform 0.55s cubic-bezier(0.4,0.2,0.2,1),transform 0.55s cubic-bezier(0.4,0.2,0.2,1);
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
}
.flip-card.flipped .flip-card__inner{
  -webkit-transform:rotateY(180deg);
  transform:rotateY(180deg);
}
.flip-card__front,
.flip-card__back{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.flip-card__front{
  position:relative;
  z-index:1;
  height:100%;
  display:flex;
  flex-direction:column;
}
.flip-card__back{
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  -webkit-transform:rotateY(180deg);
  transform:rotateY(180deg);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--dark-card);
  display:flex;
  align-items:center;
  justify-content:center;
}
.flip-card__back img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.flip-card__back-label{
  position:absolute;
  bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);
  color:#fff;
  padding:20px 16px 14px;
  font-weight:700;
  font-size:1.1rem;
  font-family:var(--font-display);
}
.flip-hint{
  display:block;
  margin-top:12px;
  font-size:0.72rem;
  color:var(--muted);
  letter-spacing:0.06em;
  text-transform:uppercase;
}

/* Accommodation currency bar */
.accom-currency-bar{
  display:inline-flex;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(111,191,115,0.2);
  border-radius:100px;
  padding:4px;
  gap:0;
}
.accom-cur-btn{
  padding:7px 20px;
  border-radius:100px;
  border:none;
  background:transparent;
  color:var(--muted);
  font-size:0.82rem;
  font-weight:700;
  cursor:pointer;
  font-family:var(--font-body);
  transition:all 0.2s;
  letter-spacing:0.04em;
}
.accom-cur-btn.active{
  background:var(--accent);
  color:var(--bg);
}
.accom-cur-btn:hover:not(.active){
  color:var(--white);
}

/* ============================================================
   REVIEWS FULL PAGE
   ============================================================ */
.review-full-card{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-bottom:80px;
  border-bottom:1px solid rgba(111,191,115,0.1);
  padding-bottom:80px;
}
.review-full-card:last-child{
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0;
}
.review-full-photo{
  width:100%;
  border-radius:var(--radius-lg);
  overflow:hidden;
  margin-bottom:36px;
}
.review-full-photo img{
  width:100%;
  height:auto;
  display:block;
  /* No max-height - show full image */
}
.review-full-body{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.review-full-text{
  font-family:var(--font-display);
  font-size:1.2rem;
  font-style:italic;
  color:rgba(255,255,255,0.9);
  line-height:1.75;
  border-left:3px solid var(--accent);
  padding-left:24px;
  margin:0;
}
.review-full-author{
  display:flex;
  align-items:center;
  gap:14px;
}
.review-full-meta{
  display:block;
  font-size:0.85rem;
  color:var(--muted);
  margin-top:3px;
}

/* Review truncated on front page */
.review-text--truncated{
  overflow:hidden;
}
.review-more-btn{
  display:inline-block;
  font-size:0.78rem;
  font-weight:700;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:0.08em;
  text-decoration:none;
  padding:4px 0;
  border-bottom:1px solid rgba(111,191,115,0.3);
  transition:border-color 0.2s;
  margin-top:4px;
}
.review-more-btn:hover{border-color:var(--accent);}

@media(max-width:768px){
  .review-full-text{font-size:1rem;}
  .review-full-photo img{max-height:none;}
  /* Flip card mobile fix - use opacity swap instead of 3D */
  .flip-card__inner{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;}
  .flip-card__front{-webkit-backface-visibility:hidden;backface-visibility:hidden;}
  .flip-card__back{-webkit-backface-visibility:hidden;backface-visibility:hidden;}
}

/* Double-tap pillar cards */
.pillar-card--link{transition:all 0.25s;position:relative;}
.pillar-card--link::after{
  content:'Tap again to visit';
  position:absolute;
  bottom:12px;
  left:50%;
  transform:translateX(-50%);
  background:var(--accent);
  color:var(--bg);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.08em;
  padding:4px 12px;
  border-radius:100px;
  opacity:0;
  transition:opacity 0.2s;
  white-space:nowrap;
  pointer-events:none;
}
.pillar-card--link.tapped{
  background:rgba(111,191,115,0.15);
  border-color:var(--accent);
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(111,191,115,0.2);
}
.pillar-card--link.tapped::after{opacity:1;}
.pillar-card--link.tapped h3{color:var(--accent);}

/* Bike hub currency mobile */
@media(max-width:768px){
  .service-currency-bar{
    font-size:0.75rem;
  }
  .service-currency-btn{
    padding:6px 12px;
    font-size:0.75rem;
    min-height:40px;
  }
  .service-currency-bar span{
    padding:0 8px 0 4px;
    font-size:0.72rem;
  }
}

/* ============================================================
   MOBILE BOOKING TOOL — aesthetic fixes
   ============================================================ */
@media(max-width:768px){

  /* Step indicators - equal spacing */
  .booking-steps{
    padding:0 4px;
  }
  .step-indicator__label{
    font-size:0.6rem;
    text-align:center;
    word-break:break-word;
  }
  .step-indicator__dot{
    width:32px;
    height:32px;
    font-size:0.78rem;
  }

  /* Quick duration buttons - equal height, centered */
  .quick-btns{
    grid-template-columns:repeat(3,1fr);
    gap:8px;
  }
  .quick-btn{
    min-height:84px;
    padding:12px 8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:3px;
    box-sizing:border-box;
  }
  .quick-btn__nights{
    font-size:1.6rem;
    line-height:1;
  }
  .quick-btn__label{
    font-size:0.62rem;
    line-height:1.2;
  }
  .quick-btn__name{
    font-size:0.68rem;
    line-height:1.2;
    text-align:center;
  }
  .quick-btn__discount{
    font-size:0.62rem;
    padding:2px 6px;
  }

  /* Nights display */
  .nights-display{
    font-size:0.88rem;
    padding:14px 12px;
    line-height:1.5;
    text-align:center;
    flex-direction:column;
    gap:4px;
    min-height:60px;
  }

  /* Accommodation options */
  .accom-option{
    padding:14px 12px;
    gap:10px;
    align-items:center;
  }
  .accom-option__name{
    font-size:0.9rem;
  }
  .accom-option__desc{
    font-size:0.75rem;
  }
  .accom-option__price strong{
    font-size:1.1rem;
  }
  .accom-option__price small{
    font-size:0.65rem;
  }

  /* Currency switcher centered */
  .currency-switcher{
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
  }
  .currency-btn{
    padding:6px 16px;
    font-size:0.78rem;
    min-height:38px;
  }

  /* Guests selector */
  .guests-selector{
    padding:12px 16px;
  }
  .guests-label{font-size:0.78rem;}

  /* Summary rows */
  .summary-row{
    padding:8px 0;
    font-size:0.88rem;
  }
  .summary-row--total .summary-row__value{
    font-size:1.2rem;
  }

  /* Contact fields */
  .form-group label{
    font-size:0.72rem;
  }

  /* Navigation buttons */
  .booking-nav{
    gap:8px;
  }
  .booking-nav .btn{
    padding:12px 20px;
    font-size:0.85rem;
    text-align:center;
  }

  /* Booking tool container */
  #booking-tool{
    padding:24px 16px;
    border-radius:var(--radius-md);
  }

  /* Date inputs */
  .date-inputs{
    gap:10px;
  }
}

/* ============================================================
   VIDEO SECTION — compact standard embed
   ============================================================ */
.video-section{
  background:var(--bg);
  padding:48px 0;
}
.video-wrapper{
  max-width:640px;
  margin:0 auto;
  width:100%;
  padding:0 24px;
  box-sizing:border-box;
}
.vimeo-container{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  background:#000;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
}
.vimeo-container iframe{
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  border:none;
  display:block;
}
@media(max-width:768px){
  .video-section{padding:32px 0;}
  .vimeo-container{border-radius:var(--radius-md);}
}

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.legal-intro{
  color:var(--muted);
  font-size:0.95rem;
  font-style:italic;
  border-left:3px solid rgba(111,191,115,0.3);
  padding-left:20px;
  margin-bottom:48px;
  line-height:1.7;
}
.legal-block{
  margin-bottom:40px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(111,191,115,0.1);
}
.legal-block:last-of-type{border-bottom:none;}
.legal-block h3{
  font-family:var(--font-display);
  font-size:1.15rem;
  color:var(--accent);
  margin-bottom:12px;
  font-weight:700;
}
.legal-block p{
  color:rgba(255,255,255,0.75);
  font-size:0.95rem;
  line-height:1.85;
  margin-bottom:12px;
}
.legal-block p:last-child{margin-bottom:0;}
.legal-block a{color:var(--accent);}
.legal-block a:hover{color:var(--btn-hover);}
.legal-block strong{color:var(--white);}
.legal-block code{
  background:rgba(111,191,115,0.1);
  padding:2px 6px;
  border-radius:4px;
  font-size:0.85rem;
  color:var(--accent);
}
.legal-list{
  list-style:none;
  margin:12px 0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.legal-list li{
  color:rgba(255,255,255,0.72);
  font-size:0.95rem;
  padding-left:16px;
  position:relative;
}
.legal-list li::before{
  content:'—';
  position:absolute;
  left:0;
  color:var(--accent);
  font-size:0.8rem;
}

/* ============================================================
   COOKIE CONSENT BANNER
   ============================================================ */
#cookie-banner{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:9000;
  transform:translateY(100%);
  transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
  background:var(--header-bg);
  border-top:1px solid rgba(111,191,115,0.25);
  box-shadow:0 -4px 32px rgba(0,0,0,0.35);
}
#cookie-banner.visible{
  transform:translateY(0);
}
.cookie-inner{
  max-width:var(--max-w);
  margin:0 auto;
  padding:20px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.cookie-text strong{
  display:block;
  color:var(--white);
  font-size:0.95rem;
  margin-bottom:4px;
}
.cookie-text p{
  color:var(--muted);
  font-size:0.82rem;
  margin:0;
  line-height:1.5;
}
.cookie-text a{
  color:var(--accent);
  text-decoration:underline;
}
.cookie-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}
@media(max-width:600px){
  .cookie-inner{flex-direction:column;align-items:flex-start;}
  .cookie-actions{width:100%;justify-content:space-between;}
  .cookie-actions .btn{flex:1;text-align:center;}
}

/* Booking non-binding notice */
.booking-notice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:rgba(111,191,115,0.07);
  border:1px solid rgba(111,191,115,0.2);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  margin-bottom:20px;
  color:var(--muted);
  font-size:0.82rem;
  line-height:1.6;
}
.booking-notice svg{stroke:var(--accent);}
.booking-notice strong{color:var(--white);}

/* Instagram clickable div */
.contact-detail--link:hover{
  opacity:0.8;
  border-color:rgba(111,191,115,0.3);
}
.contact-detail--link:focus{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
/* Header Instagram icon */
.nav-instagram{
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,0.7);
  text-decoration:none;
  transition:color 0.2s;
  padding:4px;
  flex-shrink:0;
}
.nav-instagram:hover{color:var(--accent);}
.nav-instagram svg{display:block;}

/* Mobile: show Instagram icon in nav */
@media(max-width:768px){
  .nav-instagram{
    padding:8px 0;
    font-size:0.95rem;
    gap:10px;
    color:rgba(255,255,255,0.8);
  }
  .nav-instagram::after{
    content:'Instagram';
    font-size:0.9rem;
    font-weight:500;
    letter-spacing:0.03em;
    text-transform:uppercase;
  }
}

/* ═══════════════════════════════════════════════════════════
   BOOKING WIZARD V5 — Bruda Club
   Orange accent: #f0681f · Beige ticket: #c8a97e
   ═══════════════════════════════════════════════════════════ */

/* ── TOKENS ── */
.bw-panel,.bw-modal__panel,.bw-inline{
  --bw-bg:        transparent;
  --bw-panel:     transparent;
  --bw-card:      #344030;
  --bw-card2:     #3e4d38;
  --bw-ink:       #f0f7f1;
  --bw-ink-soft:  rgba(240,247,241,0.80);
  --bw-ink-mute:  rgba(240,247,241,0.45);
  --bw-accent:    #f0681f;
  --bw-accent2:   #d9560f;
  --bw-beige:     #c8a97e;
  --bw-beige2:    #dfc09a;
  --bw-line:      rgba(111,191,115,0.10);
  --bw-line2:     rgba(111,191,115,0.15);
  --bw-r:         12px;
  --bw-r-sm:      8px;
  /* The wizard used to run its own two families on top of the site's two.
     It now shares them; the "mono" slot is kept because a lot of rules below
     reference it, but it points at the body font. */
  --bw-font-display: var(--font-display);
  --bw-font-body:    var(--font-body);
  --bw-font-mono:    var(--font-body);
}

/* ── WRAPPER ── */
.bw-inline{width:100%;max-width:var(--max-w);margin:0 auto;}

/* ── PANEL ── */
.bw-panel{
  background:rgba(13,28,16,0.55);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(111,191,115,0.18);
  border-radius:20px;overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,0.6), 0 8px 24px rgba(0,0,0,0.4);
  position:relative;isolation:isolate;
  min-height:540px;display:flex;flex-direction:column;
}
.bw-panel::before{display:none;}
.bw-panel > *{position:relative;z-index:1;}

/* ── MASTHEAD ── */
.bw-masthead{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 28px 16px;
  border-bottom:1px solid var(--bw-line);
  gap:12px;
}
.bw-masthead-logo{display:flex;align-items:center;}

/* ── CURRENCY ── */
.bw-currency{
  display:flex;gap:0;
  border:1px solid var(--bw-line2);border-radius:6px;overflow:hidden;
}
.bw-cur-btn{
  background:none;border:none;border-right:1px solid var(--bw-line2);
  color:var(--bw-ink-mute);
  font-family:var(--bw-font-mono);font-size:10px;font-weight:600;letter-spacing:0.14em;
  padding:7px 11px;cursor:pointer;
  transition:background .15s,color .15s;
  -webkit-tap-highlight-color:transparent;
}
.bw-cur-btn:last-child{border-right:none;}
.bw-cur-btn:hover{color:var(--bw-ink);}
.bw-cur-btn.active{background:var(--bw-accent);color:#fff;}

/* ── PROGRESS ── */
.bw-progress{height:3px;background:rgba(255,255,255,0.06);}
.bw-progress[hidden]{display:none;}
.bw-progress__bar{
  height:100%;
  background:linear-gradient(90deg, rgba(111,191,115,0.6), var(--bw-accent));
  width:0;transition:width .55s cubic-bezier(0.2,0.8,0.2,1);
  border-radius:0 2px 2px 0;
}

/* ── STEPS ── */
.bw-steps{position:relative;flex:1;display:flex;flex-direction:column;}
.bw-step{
  animation:bw-step-in .42s cubic-bezier(0.2,0.8,0.2,1);
  display:flex;flex-direction:column;flex:1;
}
.bw-step[hidden]{display:none;}
@keyframes bw-step-in{
  from{opacity:0;transform:translateY(10px);filter:blur(3px);}
  to{opacity:1;transform:none;filter:none;}
}
.bw-step__content{flex:1;padding:28px 28px 20px;}

/* ── TYPOGRAPHY ── */
.bw-eyebrow{
  font-family:var(--bw-font-mono);font-size:10px;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--bw-accent);
  margin:0 0 14px;
  display:flex;align-items:center;gap:10px;
}
.bw-eyebrow::before{content:"";width:20px;height:1px;background:currentColor;}
.bw-headline{
  font-family:var(--bw-font-display);font-weight:600;
  font-size:clamp(1.7rem,4vw,2.3rem);
  color:var(--bw-ink);margin:0 0 12px;
  line-height:1.1;letter-spacing:-0.02em;
  text-wrap:balance;
}
.bw-headline em{font-style:italic;color:var(--bw-accent);}
.bw-subline{color:var(--bw-ink-soft);font-size:15px;line-height:1.55;margin:0 0 22px;max-width:50ch;}
.bw-eyebrow-step{font-family:var(--bw-font-mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--bw-accent);}
.bw-mini-label{font-family:var(--bw-font-mono);font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--bw-ink-mute);margin:0 0 8px;}
.bw-hint{color:var(--bw-ink-mute);font-size:13px;font-style:italic;margin:8px 0 0;}

/* ── SPLASH ── */
.bw-step--splash{justify-content:center;}
.bw-step--splash .bw-step__content{
  padding:0;
  display:flex;flex-direction:column;
  flex:1;
  justify-content:center;   /* vertical centering */
}
.bw-splash-content{
  padding:40px 28px 48px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;
  flex:1;
  justify-content:center;   /* push content to true center */
}
.bw-splash-logo-img{height:64px;width:auto;margin-bottom:22px;}
.bw-splash-title{
  font-family:var(--bw-font-display);font-size:clamp(2rem,5vw,2.8rem);font-weight:600;
  color:var(--bw-ink);letter-spacing:-0.025em;line-height:1.06;
  margin:0 0 14px;text-wrap:balance;
}
.bw-splash-title em{font-style:italic;color:var(--bw-accent);}
.bw-splash-sub{color:var(--bw-ink-soft);font-size:15px;line-height:1.6;max-width:42ch;margin:0 auto 28px;}
.bw-splash-btn{
  background:var(--bw-accent);color:#fff;
  border:none;border-radius:100px;
  padding:16px 36px;
  font-family:var(--bw-font-mono);font-size:11.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  cursor:pointer;
  display:inline-flex;align-items:center;gap:12px;
  transition:transform .15s,box-shadow .2s,background .18s;
  box-shadow:0 8px 28px -8px rgba(240,104,31,0.5);
  position:relative;overflow:hidden;
}
.bw-splash-btn::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.18) 0%,transparent 60%);
}
.bw-splash-btn:hover{background:var(--bw-accent2);transform:translateY(-2px);box-shadow:0 14px 36px -8px rgba(240,104,31,0.5);}
.bw-splash-btn svg{position:relative;}

/* ── ENTRY CARDS ── */
.bw-entry-grid{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.bw-entry-card--jungle{border-color:rgba(240,104,31,0.35);}
.bw-entry-card--jungle .bw-entry-sub{flex:1;}
@media(max-width:480px){.bw-entry-grid{grid-template-columns:1fr;}}
.bw-entry-card{
  background:var(--bw-card);
  border:1px solid rgba(240,104,31,0.22);
  border-radius:var(--bw-r);
  padding:16px 20px;
  cursor:pointer;text-align:left;
  display:flex;flex-direction:row;align-items:center;gap:16px;
  box-shadow:0 2px 0 rgba(240,104,31,0.05) inset, 0 4px 18px rgba(0,0,0,0.3);
  transition:transform .2s, box-shadow .2s, border-color .2s, background .2s;
  -webkit-tap-highlight-color:transparent;
  position:relative;overflow:hidden;
}
.bw-entry-card-body{flex:1;display:flex;flex-direction:column;gap:4px;}
.bw-entry-card:hover{
  transform:translateY(-3px);
  background:var(--bw-card2);
  border-color:rgba(240,104,31,0.5);
  box-shadow:0 12px 36px rgba(0,0,0,0.5), 0 0 0 1px rgba(240,104,31,0.12);
}
.bw-entry-card:active{transform:translateY(0) scale(0.98);}
.bw-entry-card::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--bw-accent),transparent);
  opacity:0;transition:opacity .25s;
}
.bw-entry-card:hover::after{opacity:0.6;}
.bw-entry-icon{
  width:48px;height:48px;border-radius:50%;
  border:1.5px solid var(--bw-accent);
  display:flex;align-items:center;justify-content:center;
  color:var(--bw-accent);flex-shrink:0;
  transition:background .2s,color .2s,transform .3s;
}
.bw-entry-card:hover .bw-entry-icon{background:var(--bw-accent);color:#fff;transform:rotate(-10deg) scale(1.05);}
.bw-entry-title{
  font-family:var(--bw-font-display);font-weight:600;font-size:16px;
  color:var(--bw-ink);line-height:1.2;letter-spacing:-0.01em;
  display:block;
}
.bw-entry-sub{font-size:12px;color:var(--bw-ink-soft);line-height:1.4;display:block;}
.bw-entry-price{
  font-family:var(--bw-font-mono);font-size:11px;color:var(--bw-accent);
  font-weight:600;letter-spacing:0.04em;
}
.bw-entry-price small{font-size:10px;opacity:0.7;}
.bw-entry-price{margin-left:auto;white-space:nowrap;text-align:right;flex-shrink:0;}

/* ── INFO BLOCK ── */
.bw-info-block{
  margin:16px 0 20px;padding:14px 16px;
  border:1px dashed rgba(111,191,115,0.22);border-radius:6px;
  background:rgba(111,191,115,0.03);
  display:flex;flex-direction:column;gap:10px;
}
.bw-info-row{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14px;color:var(--bw-ink-soft);line-height:1.45;
}
.bw-info-row svg{color:var(--bw-accent);flex-shrink:0;margin-top:2px;}

/* ── PRICE HERO ── */
.bw-price-hero{
  display:flex;align-items:baseline;gap:8px;
  margin:16px 0 0;
}
.bw-price-big{
  font-family:var(--bw-font-display);font-size:42px;font-weight:600;
  color:var(--bw-accent);letter-spacing:-0.03em;line-height:1;
}
.bw-price-label{
  font-family:var(--bw-font-mono);font-size:11px;
  color:var(--bw-ink-mute);letter-spacing:0.1em;text-transform:uppercase;
}

/* ── OPTION TILES ── */
.bw-grid{display:grid;gap:12px;}
.bw-grid--2{grid-template-columns:repeat(2,1fr);}
.bw-grid--3{grid-template-columns:repeat(3,1fr);}
.bw-grid--6{grid-template-columns:repeat(6,1fr);gap:12px;}
@media(max-width:520px){
  .bw-grid--2,.bw-grid--3{grid-template-columns:1fr;}

  .bw-grid--6{grid-template-columns:repeat(3,1fr);}
}
.bw-opt{
  background:var(--bw-card);
  border:1.5px solid rgba(240,104,31,0.22);
  border-radius:var(--bw-r-sm);
  padding:14px 12px;
  cursor:pointer;text-align:left;
  display:flex;flex-direction:column;gap:7px;
  box-shadow:0 2px 0 rgba(240,104,31,0.04) inset, 0 4px 20px rgba(0,0,0,0.3);
  transition:transform .18s, box-shadow .18s, border-color .18s, background .18s;
  -webkit-tap-highlight-color:transparent;
  position:relative;overflow:hidden;
}
.bw-opt:hover{transform:translateY(-2px);background:var(--bw-card2);border-color:rgba(240,104,31,0.6);box-shadow:0 4px 20px rgba(240,104,31,0.15);}
.bw-opt:active{transform:scale(0.98);}
.bw-opt.sel{
  background:rgba(240,104,31,0.25);border-color:var(--bw-accent);
  box-shadow:0 6px 28px -4px rgba(240,104,31,0.4), 0 0 0 1px rgba(240,104,31,0.2);
}
.bw-opt.sel .bw-opt__title{color:#fff;}
.bw-opt.sel .bw-opt__sub{color:rgba(255,255,255,0.7);}
.bw-opt.sel .bw-opt__icon{border-color:#fff;color:#fff;background:rgba(255,255,255,0.15);}
.bw-opt.sel::after{
  content:"✓";position:absolute;top:8px;right:8px;
  width:18px;height:18px;border:1.5px solid var(--bw-accent);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--bw-accent);font-size:9px;font-weight:700;
  animation:bw-stamp .38s cubic-bezier(0.2,0.8,0.2,1);
  line-height:18px;text-align:center;
}
@keyframes bw-stamp{
  0%{transform:scale(0) rotate(-30deg);opacity:0;}
  60%{transform:scale(1.2) rotate(6deg);opacity:1;}
  100%{transform:scale(1) rotate(0);opacity:1;}
}
.bw-opt__icon{
  width:26px;height:26px;border-radius:50%;
  border:1.25px solid var(--bw-accent);
  background:rgba(240,104,31,0.08);
  display:flex;align-items:center;justify-content:center;
  color:var(--bw-accent);flex-shrink:0;
  transition:all .2s;
}
.bw-opt__title{
  font-family:var(--bw-font-display);font-weight:500;font-size:15px;
  color:var(--bw-ink);letter-spacing:-0.01em;
}
.bw-opt__sub{font-size:12px;color:var(--bw-ink-soft);line-height:1.4;}
.bw-opt__price{
  font-family:var(--bw-font-mono);font-size:11px;color:var(--bw-accent);
  font-weight:600;margin-top:auto;
}
/* Number picker variant */
.bw-opt--num{
  align-items:center;justify-content:center;
  min-height:82px;padding:10px 6px;gap:5px;text-align:center;
}
.bw-opt--num .bw-opt__num{
  font-family:var(--bw-font-display);font-size:36px;font-weight:600;
  color:var(--bw-ink);line-height:1;letter-spacing:-0.04em;
}
.bw-opt--num .bw-opt__title{
  font-size:9px;font-family:var(--bw-font-mono);letter-spacing:0.12em;
  text-transform:uppercase;color:var(--bw-ink-mute);
}
.bw-opt--num.sel .bw-opt__num{color:#fff;}
/* Sidequest variant */
.bw-opt--sidequest{flex-direction:row;align-items:center;gap:12px;padding:14px 14px;}
.bw-opt--sidequest .bw-opt__title{font-size:14px;margin-bottom:2px;}
/* Room variant */
.bw-opt--room-simple{min-height:120px;align-items:center;text-align:center;}
.bw-opt--room-simple .bw-opt__price{font-size:18px;font-family:var(--bw-font-display);font-weight:600;color:var(--bw-accent);}

/* ── FORM ── */
.bw-form{display:flex;flex-direction:column;gap:16px;margin-top:12px;}
.bw-field{display:flex;flex-direction:column;gap:6px;}
.bw-field label{
  font-family:var(--bw-font-mono);font-size:10px;letter-spacing:0.16em;
  text-transform:uppercase;color:rgba(255,255,255,0.6);font-weight:500;
}
.bw-field input,.bw-field textarea{
  background:transparent;border:none;
  border-bottom:1.5px solid var(--bw-line2);
  color:#fff;padding:10px 2px;font-size:16px;
  font-family:var(--bw-font-display);font-weight:400;outline:none;width:100%;
  -webkit-appearance:none;transition:border-color .2s;
}
.bw-field input:focus,.bw-field textarea:focus{border-color:var(--bw-accent);}
.bw-field input::placeholder,.bw-field textarea::placeholder{color:rgba(255,255,255,0.25);}
.bw-field textarea{resize:vertical;min-height:62px;}
.bw-field input[type="date"]{color-scheme:dark;}
.bw-field input.bw-invalid,.bw-field textarea.bw-invalid{border-color:#e05c4c !important;}
.bw-req{color:var(--bw-accent);}
.bw-opt-label{color:rgba(255,255,255,0.42);font-size:10px;font-weight:400;}
.bw-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:400px){.bw-date-grid{grid-template-columns:1fr;}}

/* ── PRICE PREVIEW — subtle inline label, no big box ── */
.bw-price-preview{
  margin:14px 0 4px;padding:0;
  border:none;background:none;
  font-family:var(--bw-font-mono);font-size:11px;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--bw-ink-mute);
  display:flex;align-items:baseline;gap:8px;
}
.bw-price-preview[hidden]{display:none;}
.bw-price-preview strong{
  font-family:var(--bw-font-display);font-size:20px;font-weight:600;
  color:var(--bw-accent);letter-spacing:-0.02em;
  text-transform:none;
}

/* ── TICKET (Your Booking review) ── */
.bw-ticket{
  position:relative;margin-top:20px;
  background:linear-gradient(135deg, rgba(200,169,126,0.12) 0%, rgba(200,169,126,0.06) 100%);
  border:1px solid rgba(200,169,126,0.35);border-radius:10px;
  padding:18px 20px;overflow:visible;
}
/* tear holes */
.bw-ticket::before,.bw-ticket::after{
  content:"";position:absolute;width:16px;height:16px;border-radius:50%;
  background:#091409;top:50%;transform:translateY(-50%);
  box-shadow:inset 0 1px 3px rgba(0,0,0,0.4);border:1px solid rgba(200,169,126,0.2);
}
.bw-ticket::before{left:-8px;}
.bw-ticket::after{right:-8px;}
.bw-ticket__rows{display:flex;flex-direction:column;gap:0;}
.bw-ticket__row{
  display:flex;justify-content:space-between;
  border-bottom:1px dotted rgba(200,169,126,0.22);
  padding:8px 0;font-size:13px;
}
.bw-ticket__row:last-of-type{border-bottom:none;}
.bw-ticket__lbl{font-family:var(--bw-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--bw-ink-mute);}
.bw-ticket__val{font-family:var(--bw-font-display);font-size:13px;color:var(--bw-ink);}
.bw-ticket__total{
  display:flex;justify-content:space-between;align-items:baseline;
  border-top:1.5px solid rgba(200,169,126,0.35);
  margin-top:10px;padding-top:12px;
}
.bw-ticket__total-lbl{
  font-family:var(--bw-font-mono);font-size:10px;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--bw-beige);font-weight:600;
}
.bw-ticket__total-val{
  font-family:var(--bw-font-display);font-size:34px;font-weight:600;
  color:var(--bw-beige);letter-spacing:-0.03em;line-height:1;
}
.bw-ticket__note{
  font-family:var(--bw-font-mono);font-size:10px;letter-spacing:0.06em;
  color:var(--bw-ink-mute);margin:12px 0 0;text-align:center;line-height:1.55;
}

/* ── FOOTER NAV ── */
.bw-footer{
  display:flex;align-items:center;gap:10px;
  padding:20px 28px 24px;
  border-top:1px solid var(--bw-line);
}
.bw-back{
  background:rgba(255,255,255,0.05);
  border:1.5px solid rgba(255,255,255,0.18);
  color:var(--bw-ink);border-radius:100px;
  font-family:var(--bw-font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.14em;
  text-transform:uppercase;padding:12px 20px;cursor:pointer;
  display:flex;align-items:center;gap:8px;
  transition:background .18s,border-color .18s,transform .15s;
  -webkit-tap-highlight-color:transparent;white-space:nowrap;
}
.bw-back:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.35);transform:translateX(-2px);}
.bw-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.bw-next{
  background:var(--bw-accent);color:#fff;
  border:none;border-radius:100px;
  padding:13px 28px;
  font-family:var(--bw-font-mono);font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  cursor:pointer;flex:1;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  transition:transform .15s,box-shadow .2s,background .18s;
  -webkit-tap-highlight-color:transparent;
  box-shadow:0 6px 20px -8px rgba(240,104,31,0.55);
  position:relative;overflow:hidden;
}
.bw-next::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.15) 0%,transparent 60%);
  pointer-events:none;
}
.bw-next:hover{background:var(--bw-accent2);transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(240,104,31,0.5);}
.bw-next:active{transform:translateY(0) scale(0.98);}
.bw-next svg{position:relative;width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s;}
.bw-next:hover svg{transform:translateX(3px);}
.bw-next:disabled{opacity:0.6;cursor:not-allowed;transform:none;}

/* ── SUCCESS ── */
.bw-success{
  padding:40px 28px 32px;
  display:flex;flex-direction:column;align-items:center;gap:0;
}
.bw-stamp{
  width:130px;height:130px;border-radius:50%;
  border:2px solid var(--bw-accent);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;position:relative;
  animation:bw-stamp-in .75s cubic-bezier(0.2,0.8,0.2,1);
}
.bw-stamp::before{
  content:"";position:absolute;inset:-10px;border-radius:50%;
  border:1px dashed rgba(240,104,31,0.4);
  animation:bw-stamp-ring 3s ease-in-out infinite;
}
.bw-stamp__inner{
  width:100px;height:100px;border-radius:50%;
  border:1px solid rgba(240,104,31,0.5);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  transform:rotate(-8deg);
}
.bw-stamp__top{font-family:var(--bw-font-mono);font-size:8px;letter-spacing:0.35em;font-weight:600;text-transform:uppercase;color:var(--bw-accent);}
.bw-stamp__middle{font-family:var(--bw-font-display);font-size:24px;font-weight:600;letter-spacing:-0.02em;line-height:1;color:var(--bw-accent);}
.bw-stamp__date{font-family:var(--bw-font-mono);font-size:8px;letter-spacing:0.2em;color:rgba(240,104,31,0.6);}
@keyframes bw-stamp-in{
  0%{opacity:0;transform:scale(.25) rotate(-45deg);}
  65%{opacity:1;transform:scale(1.08) rotate(5deg);}
  100%{opacity:1;transform:scale(1) rotate(0);}
}
@keyframes bw-stamp-ring{
  0%,100%{transform:rotate(0);opacity:.4;}
  50%{transform:rotate(180deg);opacity:.15;}
}

/* ── IG BUTTON ── */
.bw-ig-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 20px;border-radius:100px;
  background:transparent;border:1px solid var(--bw-line2);
  color:var(--bw-ink);text-decoration:none;cursor:pointer;
  font-family:var(--bw-font-mono);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;font-weight:500;
  transition:border-color .2s,color .2s;
}
.bw-ig-btn:hover{border-color:var(--bw-accent);color:var(--bw-accent);}

/* ── SHAKE ── */
@keyframes bw-shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-6px);}75%{transform:translateX(6px);}}
.bw-shake{animation:bw-shake .35s ease;}

/* ── MODAL ── */
.bw-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;}
.bw-modal[hidden]{display:none;}
.bw-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.65);backdrop-filter:blur(4px);}
.bw-modal__panel{position:relative;z-index:1;width:100%;max-width:860px;max-height:92vh;overflow-y:auto;}
.bw-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;border-radius:50%;width:32px;height:32px;font-size:18px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.bw-close:hover{background:rgba(255,255,255,0.2);}

/* ── MOBILE ── */
@media(max-width:520px){
  .bw-masthead{padding:14px 16px 12px;}
  .bw-step__content{padding:20px 16px 16px;}
  .bw-footer{padding:16px 16px 22px;}
  .bw-splash-content{padding:32px 16px 40px;}
  .bw-success{padding:32px 16px 28px;}
  .bw-panel{border-radius:18px;}
}

/* Review photo in coverflow */
.cf-photo{
  width:44px;height:44px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  border:1.5px solid rgba(111,191,115,0.35);
}
.cf-ig{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.cf-ig-link{
  display:inline-flex;align-items:center;gap:4px;
  color:var(--accent);font-size:0.75rem;font-weight:600;
  text-decoration:none;letter-spacing:0.02em;
  transition:opacity .2s;
}
.cf-ig-link:hover{opacity:0.75;}

/* Wizard section: mobile — flush to header, no gap */
@media(max-width:768px){
  .bw-wizard-section{padding-top:0 !important;padding-bottom:0 !important;}
  .bw-panel{min-height:460px;}
  .bw-step__content{min-height:300px;}
}



/* ═══════════════════════════════════════════════════════════
   BC-SLIDER — swipeable image slider with prev/next/dots
   ═══════════════════════════════════════════════════════════ */
.bc-slider{
  position:relative;
  width:100%;aspect-ratio:4/3;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:transparent;
  user-select:none;
  -webkit-user-select:none;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.bc-slider__track{
  display:flex;
  height:100%;
  transition:transform .45s cubic-bezier(0.25,0.46,0.45,0.94);
  will-change:transform;
  -webkit-overflow-scrolling:touch;
}
.bc-slider__slide{
  min-width:100%;
  width:100%;
  height:100%;
  flex-shrink:0;
  overflow:hidden;
  flex-basis:100%;
}
.bc-slider__slide img{
  width:100%;height:100%;
  object-fit:cover;display:block;
  pointer-events:none;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
/* arrows */
.bc-slider__btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;
  background:rgba(0,0,0,0.45);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:background .2s,border-color .2s,transform .15s;
  z-index:4;
  -webkit-tap-highlight-color:transparent;
  padding:0;
}
.bc-slider__btn:hover{background:rgba(0,0,0,0.7);border-color:rgba(255,255,255,0.4);transform:translateY(-50%) scale(1.08);}
.bc-slider__btn--prev{left:10px;}
.bc-slider__btn--next{right:10px;}
/* dots */
.bc-slider__dots{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;align-items:center;z-index:4;
}
.bc-slider__dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,0.35);
  cursor:pointer;border:none;padding:0;
  transition:background .2s,transform .2s,width .2s;
  flex-shrink:0;
}
.bc-slider__dot.active{
  background:#fff;transform:scale(1.3);
}



/* ===== GALLERY PAGE SLIDER (larger than homepage) ===== */
.bc-slider--gallery{
  aspect-ratio:16/9;
  border-radius:var(--radius-lg);
  max-width:100%;
  background:#000;
}
/* Blurred background fills the letterbox area */
.bc-slider--gallery .bc-slider__slide{
  position:relative;
}
.bc-slider--gallery .bc-slider__slide::before{
  content:'';
  position:absolute;inset:0;
  background-image:var(--slide-bg);
  background-size:cover;
  background-position:center;
  filter:blur(18px) brightness(0.45) saturate(0.7);
  transform:scale(1.08);
  z-index:0;
}
/* Main image: contain so nothing gets cropped */
.bc-slider--gallery .bc-slider__slide img{
  position:relative;
  z-index:1;
  width:100%;height:100%;
  object-fit:contain;
  object-position:center center;
}
.bc-slider--gallery .bc-slider__btn{
  width:48px;height:48px;
  z-index:5;
}
.bc-slider--gallery .bc-slider__btn--prev{left:16px;}
.bc-slider--gallery .bc-slider__btn--next{right:16px;}
.bc-slider--gallery .bc-slider__dots{z-index:5;}
.bc-slider--gallery .bc-slider__dot{
  width:8px;height:8px;
}
.bc-slider--gallery .bc-slider__dot.active{
  width:10px;height:10px;
}
@media(max-width:768px){
  .bc-slider--gallery{aspect-ratio:4/3;}
}

/* ===== TYPEWRITER CURSOR ===== */
.tw-cursor{display:inline-block;color:var(--accent);font-weight:300;animation:twBlink 0.7s step-end infinite;margin-left:1px}
@keyframes twBlink{0%,100%{opacity:1}50%{opacity:0}}
.tw-cursor--philosophy{color:var(--accent);font-style:normal}

/* ===== HERO VIDEO BG (behind overlay) ===== */
.hero__video-bg{pointer-events:none !important;z-index:0 !important;position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;}
.hero__video-bg iframe{position:absolute;top:-10%;left:-10%;width:120%;height:120%;object-fit:cover;pointer-events:none}
/* Make the existing hero overlay sit above the video */
.hero::after{z-index:2;background:linear-gradient(to bottom,transparent 0%,transparent 40%,rgba(9,20,9,0.70) 80%,rgba(9,20,9,0.96) 100%) !important;}
.hero__content{z-index:3}
.hero__scroll{z-index:3}

/* ===== TRANSPARENT HEADER — push hero to top ===== */
.hero{margin-top:0}

/* ===== PHILOSOPHY TYPEWRITER ===== */
.philosophy blockquote{min-height:14em}

/* ===== ROOM CARDS — detailed view ===== */
.bw-room-img{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:64px;
  background:rgba(240,104,31,0.08);
  border-radius:8px;
  margin-bottom:10px;
  color:var(--bw-accent);
  border:1px solid rgba(240,104,31,0.18);
}
.bw-opt--room:hover .bw-room-img,
.bw-opt--room.is-selected .bw-room-img{
  background:rgba(240,104,31,0.16);
  border-color:var(--bw-accent);
}
.bw-room-detail{
  display:flex!important;
  flex-direction:column;
  gap:4px;
  text-align:left;
  font-size:0.78rem!important;
  color:var(--bw-ink-soft)!important;
  margin:6px 0 10px!important;
  line-height:1.5;
}
.bw-room-feature{display:block;}
.bw-rooms.bw-grid--3{gap:12px;}
.bw-opt--room{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding:14px 14px 12px!important;
}

/* ===== ENTRY CARD IMAGE ZOOM ON HOVER ===== */
.entry-card__img-wrap{
  overflow:hidden;
  position:relative;
}
.entry-card__img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94);
}
.entry-card:hover .entry-card__img{
  transform:scale(1.06);
}

/* ===== WIZARD ROOM CARDS — dark glass, line-art icons ===== */
.bw-room-img{
  background:transparent!important;
  border:none!important;
  height:48px!important;
  color:rgba(232,245,236,0.5)!important;
  margin-bottom:6px!important;
}
.bw-opt--room:hover .bw-room-img,
.bw-opt--room.sel .bw-room-img{ color:var(--bw-accent); }
.bw-room-detail{
  font-size:0.75rem!important;
  color:var(--bw-ink-soft)!important;
  line-height:1.6!important;
  gap:2px!important;
}
.bw-room-feature{
  display:flex;
  align-items:flex-start;
  gap:6px;
}
.bw-rooms.bw-grid--3{gap:12px;}
.bw-opt--room{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding:14px 14px 12px!important;
}

/* ===== PHILOSOPHY — text visibility ===== */
.philosophy blockquote{min-height:auto!important}
#philosophy-text{display:block;min-height:1em;}

/* ================================================================
   PREMIUM MOBILE ENHANCEMENT — v6.1
   Deep forest green palette · Moodier contrast · Polished mobile
   ================================================================ */

/* ── 1. RICHER BASE PALETTE ────────────────────────────────────── */
:root {
  --dark-card: #253a26;   /* match review card green */
  --shadow-sm:  0 2px 16px rgba(0,0,0,0.32);
  --shadow-md:  0 8px 40px rgba(0,0,0,0.40);
  --shadow-lg:  0 16px 60px rgba(0,0,0,0.50);
}

/* All sections transparent — bubble bg flows through */
.cta-banner::before {
  background: radial-gradient(ellipse at center, rgba(240,104,31,0.10) 0%, transparent 65%);
}

/* Hero overlay — lightened so bubbles show through */

/* Entry cards — richer paper against dark bg */
.entry-card { box-shadow: 0 4px 24px rgba(0,0,0,0.45); }

/* ── 2. SCROLL REVEAL — sections fade + slide up ──────────────── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1),
              transform 0.65s cubic-bezier(0.22,1,0.36,1);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal--delay-1 { transition-delay: 0.10s; }
.reveal--delay-2 { transition-delay: 0.20s; }
.reveal--delay-3 { transition-delay: 0.30s; }

/* ── 3. BUTTON TAP FEEDBACK ───────────────────────────────────── */
.btn {
  position: relative;
  overflow: hidden;
  transition: background 0.2s, transform 0.12s, box-shadow 0.2s;
}
.btn:active {
  transform: scale(0.96);
  box-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
/* Ripple element injected by JS */
.btn-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.22);
  transform: scale(0);
  animation: btnRipple 0.55s linear forwards;
  pointer-events: none;
}
@keyframes btnRipple {
  to { transform: scale(4); opacity: 0; }
}

/* ── 4. MOBILE NAV — polished ─────────────────────────────────── */
@media (max-width: 768px) {
  /* Smooth open: slide + fade instead of display:none toggle */
  .site-nav {
    display: flex !important;          /* always in flow */
    flex-direction: column;
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: linear-gradient(180deg, #1a3d28 0%, #122018 100%);
    border-bottom: 1px solid rgba(111,191,115,0.20);
    border-top: 1px solid rgba(111,191,115,0.12);
    padding: 0 28px;
    gap: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: max-height 0.38s cubic-bezier(0.22,1,0.36,1),
                opacity 0.28s ease,
                padding 0.28s ease;
    box-shadow: 0 12px 40px rgba(0,0,0,0.55);
  }
  .site-nav.open {
    max-height: 600px;
    opacity: 1;
    pointer-events: auto;
    padding: 12px 28px 24px;
  }

  /* Each nav link — generous touch target with divider */
  .site-nav a:not(.nav-instagram):not(.nav-cta) {
    display: block;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.92);
    padding: 14px 0;
    border-bottom: 1px solid rgba(111,191,115,0.14);
    transition: color 0.2s, padding-left 0.2s;
  }
  .site-nav a:not(.nav-instagram):not(.nav-cta):last-of-type {
    border-bottom: none;
  }
  .site-nav a:not(.nav-instagram):not(.nav-cta):hover,
  .site-nav a:not(.nav-instagram):not(.nav-cta)[aria-current="page"] {
    color: var(--accent);
    padding-left: 6px;
  }

  /* Instagram icon in nav */
  .nav-instagram {
    margin: 12px 0 4px;
  }

  /* CTA button in nav */
  .nav-cta {
    display: block !important;
    font-size: 1.05rem !important;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent) !important;
    padding: 14px 0 !important;
    border: none !important;
    background: none !important;
    border-bottom: 1px solid rgba(111,191,115,0.14);
    margin: 0 !important;
    width: 100% !important;
    text-align: center;
    transform: none;
    position: static;
  }

  /* Hamburger → X animation */
  .nav-toggle span {
    transition: transform 0.3s, opacity 0.3s, width 0.3s;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* Hero parallax wrapper */
  .hero__bg-img {
    will-change: transform;
  }

  /* Tighter section padding on mobile */
  .philosophy { padding: 80px 24px; }
  .cta-banner  { padding: 80px 24px; }
}

/* ── 5. HERO PARALLAX (JS-driven, class added inline) ─────────── */
.hero__bg-img.parallax-active {
  transition: none; /* rAF handles it, no CSS transition fighting */
}

/* ── HERO VIDEO MODE — lighter overlay so video breathes ── */
.hero--video-mode::after{background:linear-gradient(to bottom,transparent 0%,transparent 45%,rgba(9,20,9,0.72) 82%,rgba(9,20,9,0.97) 100%) !important;}
/* Video iframe fills hero like a proper background */
.hero__video-bg {
  overflow: hidden;
}
.hero__video-bg > div {
  padding: 0 !important;
  position: absolute !important;
  top: 0; left: 0; width: 100%; height: 100%;
}
.hero__video-bg iframe {
  position: absolute;
  /* Overscan to cover any letterboxing */
  top: 50% !important;
  left: 50% !important;
  width: 177.78vh !important;   /* 16:9 at full height */
  height: 100vh !important;
  min-width: 100% !important;
  min-height: 56.25vw !important;
  transform: translate(-50%, -50%) !important;
  object-fit: cover;
}
/* CTA button repositions to bottom center at same height as scroll indicator */
.hero--video-mode .hero__cta {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  transition: opacity 0.8s ease;
  white-space: nowrap;
}

/* ================================================================
   LANGUAGE SWITCHER
   ================================================================ */
.lang-switcher {
  position: relative;
  display: flex;
  align-items: center;
  z-index: 1001;
  flex-shrink: 0;
}

.lang-trigger {
  display: flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: 1px solid rgba(111,191,115,0.25);
  color: rgba(255,255,255,0.75);
  padding: 6px 10px;
  border-radius: 100px;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
}
.lang-trigger:hover {
  border-color: var(--accent);
  color: var(--white);
  background: rgba(111,191,115,0.08);
}
.lang-trigger svg {
  flex-shrink: 0;
  opacity: 0.8;
}

.lang-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: var(--header-bg);
  border: 1px solid rgba(111,191,115,0.18);
  border-radius: var(--radius-sm);
  box-shadow: 0 12px 40px rgba(0,0,0,0.55);
  min-width: 160px;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.lang-switcher.open .lang-dropdown {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.lang-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: none;
  border: none;
  color: rgba(255,255,255,0.65);
  padding: 11px 16px;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 0.85rem;
  text-align: left;
  transition: background 0.15s, color 0.15s;
  border-bottom: 1px solid rgba(111,191,115,0.07);
  -webkit-tap-highlight-color: transparent;
}
.lang-btn:last-child { border-bottom: none; }
.lang-btn:hover {
  background: rgba(111,191,115,0.08);
  color: var(--white);
}
.lang-btn.active {
  color: var(--accent);
}
.lang-code {
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  min-width: 24px;
}
.lang-label {
  font-size: 0.82rem;
  opacity: 0.85;
}
.lang-btn.active .lang-label { opacity: 1; }

/* Mobile — switcher compact */
@media (max-width: 768px) {
  .lang-trigger {
    padding: 5px 8px;
    font-size: 0.68rem;
    gap: 4px;
  }
  .lang-trigger svg { width: 15px; height: 15px; }
  .lang-dropdown {
    left: 0;
    right: auto;
  }
}


/* Wizard section: gap below hero on desktop */
@media(min-width:769px){
  .bw-wizard-section{padding-top:180px !important;}
}
/* ── WIZARD WIDER ON MOBILE ── */
/* ── MOBILE WIZARD — iOS & Android optimised ── */
@media (max-width: 768px) {
  /* Full-width, edge-to-edge on all pages */
  .bw-wizard-section,
  .bw-wizard-section .container,
  .bw-wizard-section.section,
  .section .bw-inline-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .bw-inline {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
  }
  /* Panel: no radius, no border, full viewport height */
  .bw-panel {
    border-radius: 0 !important;
    border: none !important;
    min-height: 100svh !important;   /* svh = safe viewport height (iOS notch safe) */
    box-shadow: none !important;
  }
  /* Inline on other pages: stretch full bleed */
  .section .bw-inline {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  /* Step content: comfortable padding on small screens */
  .bw-step__content  { padding: 22px 18px 16px; }
  .bw-footer         { padding: 16px 18px 20px; }
  .bw-masthead       { padding: 14px 18px 12px; }
  .bw-splash-content { padding: 32px 20px 44px; }
  .bw-success        { padding: 36px 20px 32px; }
  /* Touch targets — minimum 44px on iOS */
  .bw-opt--num       { min-height: 72px; }
  .bw-back,
  .bw-next           { min-height: 48px; padding-top: 14px; padding-bottom: 14px; }
  /* Number grid: 3 per row instead of 6 on small phones */
  .bw-grid--6        { grid-template-columns: repeat(3, 1fr) !important; gap: 10px; }
  /* Entry cards: compact on narrow screens */
  .bw-entry-card     { padding: 13px 14px; gap: 12px; }
  .bw-entry-icon     { width: 38px; height: 38px; flex-shrink: 0; }
  .bw-entry-title    { font-size: 0.92rem; }
  .bw-entry-sub      { font-size: 0.75rem; }
  /* Price: hide on very narrow */
  @media (max-width: 380px) {
    .bw-entry-price  { display: none; }
  }
  /* Headline: slightly smaller */
  .bw-headline       { font-size: clamp(1.5rem, 5vw, 2rem); }
  /* Date input: full width */
  .bw-date-grid      { grid-template-columns: 1fr; }
  /* Ticket tears: hide on mobile (look broken edge-to-edge) */
  .bw-ticket::before,
  .bw-ticket::after  { display: none; }
  /* Smooth momentum scroll inside the panel on iOS */
  .bw-panel          { -webkit-overflow-scrolling: touch; }
  /* Prevent bounce scroll on body while wizard is open */
  body.wizard-open   { overflow: hidden; }  /* no position:fixed — prevents scroll jump */
}
/* Very small phones (iPhone SE etc.) */
@media (max-width: 360px) {
  .bw-opt--num .bw-opt__num { font-size: 22px; }
  .bw-splash-logo-img        { height: 52px; }
  .bw-headline               { font-size: 1.45rem; }
}
@media (max-width: 480px) {
  .bw-panel {
    padding: 20px 18px 18px !important;
    min-height: 480px !important;
  }
  .bw-step {
    padding: 16px 0 0 !important;
  }
  .bw-splash-content {
    padding: 32px 16px;
    min-height: 320px;
  }
  .bw-splash-logo img {
    height: 56px !important;
  }
}

/* Hero CTA fully removed — no CSS needed */
.hero__cta { display: none !important; }
.hero--video-mode .hero__cta { display: none !important; }

/* ================================================================
   ACTIVITIES PAGE
   ================================================================ */

/* ── Featured activity card ── */
.act-featured {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(111,191,115,0.2);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  margin-bottom: 32px;
  position: relative;
}
.act-featured__body h3 {
  font-size: clamp(1.5rem,3vw,2rem);
  color: var(--white);
  margin: 12px 0 16px;
}
.act-featured__body p {
  color: rgba(255,255,255,0.72);
  font-size: 1.05rem;
  line-height: 1.8;
  max-width: 600px;
  margin-bottom: 24px;
}
.act-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
  background: rgba(240,104,31,0.12);
  border: 1px solid rgba(240,104,31,0.3);
  border-radius: 100px;
  padding: 4px 14px;
  margin-bottom: 16px;
}
.act-details {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.act-details li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,0.65);
  font-size: 0.95rem;
}
.act-detail-icon {
  font-size: 1rem;
  width: 20px;
  flex-shrink: 0;
}

/* ── Activity card grid ── */
.act-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.act-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(111,191,115,0.15);
  border-radius: var(--radius-md);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.25s, background 0.25s;
}
.act-card:hover {
  border-color: rgba(111,191,115,0.35);
  background: rgba(111,191,115,0.04);
}
.act-card--custom {
  border-style: dashed;
  border-color: rgba(240,104,31,0.3);
}
.act-card--custom:hover {
  border-color: rgba(240,104,31,0.55);
  background: rgba(240,104,31,0.04);
}
.act-card h3 {
  font-size: 1.2rem;
  color: var(--white);
  margin: 0;
}
.act-card p {
  color: rgba(255,255,255,0.65);
  font-size: 0.95rem;
  line-height: 1.7;
  margin: 0;
  flex: 1;
}
.act-meta {
  display: flex;
  align-items: center;
}
.act-duration {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.4);
  font-family: var(--font-mono, monospace);
  letter-spacing: 0.04em;
}

/* ── Shared footer (price + CTA) ── */
.act-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 4px;
  padding-top: 20px;
  border-top: 1px solid rgba(111,191,115,0.1);
}
.act-price {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  white-space: nowrap;
}
.act-price small {
  font-size: 0.75rem;
  font-weight: 400;
  color: rgba(255,255,255,0.45);
  display: block;
  margin-top: 3px;
}

/* ── Info grid ── */
.act-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.act-info-grid .flow-item strong {
  display: block;
  color: var(--white);
  font-size: 0.95rem;
  margin-bottom: 4px;
}
.act-info-grid .flow-item p {
  color: rgba(255,255,255,0.55);
  font-size: 0.88rem;
  margin: 0;
}
.act-info-grid .flow-time {
  font-size: 1.3rem;
  min-width: 32px;
  padding-top: 0;
  line-height: 1.6;
}

/* ── Mobile ── */
@media (max-width: 640px) {
  .act-grid { grid-template-columns: 1fr; }
  .act-featured { padding: 24px 18px; }
  .act-info-grid { grid-template-columns: 1fr; }
  .act-footer { flex-direction: column; align-items: flex-start; }
  .act-footer .btn { width: 100%; text-align: center; }
}

/* Act card icon slot */
.act-card__icon {
  color: var(--accent);
  margin-bottom: 4px;
  flex-shrink: 0;
}
.act-card__icon svg {
  display: block;
}

/* ================================================================
   HOVER ZOOM EFFECTS — cards & images
   ================================================================ */

/* About-grid image zoom */
.about-grid > img {
  overflow: hidden;
  transition: transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.4s ease;
}
.about-grid > img:hover {
  transform: scale(1.03);
  box-shadow: 0 16px 48px rgba(0,0,0,0.5);
}

/* Entry card — image zooms, card lifts */
.entry-card { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.entry-card:hover { transform: translateY(-8px); box-shadow: 0 20px 50px rgba(0,0,0,0.45); }
.entry-card__img-wrap { overflow: hidden; }
.entry-card__img {
  transition: transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94);
}
.entry-card:hover .entry-card__img { transform: scale(1.07); }

/* Pillar cards lift + subtle border glow */
.pillar-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s, border-color 0.3s;
}
.pillar-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.38);
}

/* Activity cards */
.act-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.25s, background 0.25s;
}
.act-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(0,0,0,0.38);
}
.act-featured {
  transition: box-shadow 0.3s ease;
}
.act-featured:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.42);
}

/* Accom / flip cards */
.accom-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.accom-card:hover { transform: translateY(-4px); }

/* Review / coverflow cards */
.cf-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cf-slide.is-active .cf-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.42);
}

/* Step cards */
.step-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.step-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}

/* ================================================================
   ORANGE PRIMARY — v6.3
   Green stays in backgrounds. Orange takes all interactive roles.
   ================================================================ */

/* ── BUTTON outline variant — orange border ── */
.btn--outline {
  background: transparent;
  border: 2px solid var(--accent);
  color: var(--accent);
}
.btn--outline:hover {
  background: var(--accent);
  color: var(--white) !important;
  box-shadow: 0 6px 20px rgba(240,104,31,0.4);
}
.btn--outline:active {
  background: var(--accent);
  color: var(--white) !important;
  outline: none;
}
.btn--outline:focus {
  background: transparent;
  color: var(--accent) !important;
  outline: none;
}
.btn--outline:focus-visible {
  outline: 2px solid rgba(240,104,31,0.5);
  outline-offset: 3px;
}
.btn--ghost {
  background: transparent;
  border: 1px solid rgba(240,104,31,0.35);
  color: rgba(255,255,255,0.65);
}
.btn--ghost:hover {
  border-color: var(--accent);
  color: var(--white) !important;
  background: rgba(240,104,31,0.08);
  box-shadow: none;
}

/* ── NAV active & hover — orange ── */
.site-nav a:hover,
.site-nav a[aria-current="page"] {
  color: var(--accent) !important;
}

/* ── HERO eyebrow — orange border ── */
.hero__eyebrow {
  border-color: rgba(240,104,31,0.45) !important;
}

/* ── SCROLL LINE — orange ── */
.hero__scroll-line {
  background: linear-gradient(to bottom, rgba(240,104,31,0.8), transparent) !important;
}

/* ── SECTION LABELS — orange dot prefix ── */
.about__label {
  color: var(--accent) !important;
}
.about__label::before {
  content: '— ';
  color: var(--accent);
  opacity: 0.6;
}

/* ── FIRST LINE ORANGE on major h2 headings ── */
/* Uses em tag convention already in use */
.section-header h2 em,
.about__title em,
.page-hero__content h1 em,
.cta-banner h2 em,
.bw-headline em,
.act-featured h3 em {
  color: var(--accent);
  font-style: italic;
}

/* Section header h2 — first word/line orange via gradient text trick */
.section-header h2::first-line,
.pillars-header h2::first-line {
  color: var(--accent);
}

/* ── SECTION DIVIDER — removed, no orange hairlines ── */

/* ── CARD BORDERS hover — orange ── */
.entry-card:hover {
  border-color: rgba(240,104,31,0.3);
}
.pillar-card:hover {
  border-color: rgba(240,104,31,0.25);
}
.act-card:hover {
  border-color: rgba(240,104,31,0.3) !important;
}
.step-card:hover {
  border-color: rgba(240,104,31,0.25);
}
.cf-arrow:hover {
  background: rgba(240,104,31,0.12) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}
.cf-dot.is-active {
  background: var(--accent) !important;
}

/* ── REVIEW stars & avatars — orange ── */
.cf-stars { color: var(--accent) !important; }
.review-star { fill: var(--accent) !important; }
.review-avatar,
.cf-avatar {
  background: rgba(240,104,31,0.15) !important;
  border-color: rgba(240,104,31,0.3) !important;
  color: var(--accent) !important;
}

/* ── ACCOM card featured border — orange ── */
.accom-card--featured {
  border-color: var(--accent) !important;
}
.accom-badge {
  background: var(--accent) !important;
}
.accom-price {
  color: var(--accent) !important;
}

/* ── PHASE / highlight pill — orange ── */
.about__phase {
  background: rgba(240,104,31,0.1) !important;
  border-color: rgba(240,104,31,0.3) !important;
  color: var(--accent) !important;
}

/* ── ACTIVITIES — featured badge ── */
.act-badge {
  color: var(--accent) !important;
  background: rgba(240,104,31,0.12) !important;
  border-color: rgba(240,104,31,0.3) !important;
}
.act-card__icon { color: var(--accent) !important; }

/* ── LANG SWITCHER — orange active ── */
.lang-btn.active { color: var(--accent) !important; }
.lang-trigger:hover {
  border-color: var(--accent) !important;
}

/* ── BOOKING TOOL border ── */
#booking-tool {
  border-color: rgba(240,104,31,0.2) !important;
}

/* ── WIZARD progress bar — orange ── */
.bw-progress__bar { background: var(--accent) !important; }
.bw-next, #bw-submit, #bw-day-submit, #bw-bike-submit, #bw-shift-submit {
  background: var(--accent) !important;
}
.bw-next:hover, #bw-submit:hover { background: var(--btn-hover) !important; }

/* ── MOBILE PADDING — more breathing room on cards ── */
@media (max-width: 480px) {
  .entry-card__body        { padding: 20px 20px 24px !important; }
  .pillar-card             { padding: 24px 20px !important; }
  .act-card                { padding: 22px 20px !important; }
  .act-featured            { padding: 24px 20px !important; }
  .step-card               { padding: 24px 20px !important; }
  .cf-card                 { padding: 24px 20px !important; }
  .flow-item               { padding: 10px 4px !important; }
  .section--dark .container,
  .section--header .container { padding-left: 20px !important; padding-right: 20px !important; }
  .about-grid              { gap: 28px !important; }
  .bw-panel                { padding: 24px 20px 20px !important; }
  .page-hero__content      { padding: 0 20px !important; }
}

/* ── KEEP GREEN for backgrounds only ── */
/* Jungle section backgrounds stay green-dark — do NOT override */
/* --bg, --header-bg, --dark-card stay as set in :root */

/* ════════════════════════════════════════════════════════════
   WIZARD CLEAN OVERRIDES — no !important wars, no old v4 CSS
   ════════════════════════════════════════════════════════════ */

/* ── Entry card dark styling (homepage The Bruda Club section) ── */
.entry-card {
  background: #253a26;
  border: 1px solid rgba(111,191,115,0.15);
  box-shadow: 0 4px 24px rgba(0,0,0,0.45);
}
.entry-card:hover {
  border-color: rgba(240,104,31,0.45);
  box-shadow: 0 16px 40px rgba(240,104,31,0.15), 0 4px 20px rgba(0,0,0,0.5);
}
.entry-card__body {
  background: transparent;
  color: rgba(255,255,255,0.9);
}
.entry-card__title  { color: #ffffff; }
.entry-card__subtitle { color: rgba(240,104,31,0.8); }

/* ── Bw-opt tile: screenshot color = dark green-orange mix ── */
/* Base = #2a3d28 (darker jungle green with orange warmth) */
/* Selected = full screenshot orange-on-dark look  */

.bw-opt {
  background: #2a3d28;
  border: 1.5px solid rgba(240,104,31,0.28);
}
.bw-opt:hover {
  background: #344a30;
  border-color: rgba(240,104,31,0.55);
  box-shadow: 0 4px 20px rgba(240,104,31,0.18);
}
/* SELECTED: strong orange like the screenshot jungle card */
.bw-opt.sel {
  background: rgba(240,104,31,0.22);
  border-color: #f0681f;
  box-shadow: 0 0 0 1px rgba(240,104,31,0.35), 0 6px 24px rgba(240,104,31,0.25);
}
.bw-opt.sel .bw-opt__num   { color: #fff; }
.bw-opt.sel .bw-opt__title { color: #fff; }
.bw-opt.sel .bw-opt__sub   { color: rgba(255,255,255,0.75); }
.bw-opt.sel .bw-opt__icon  { border-color: #fff; color: #fff; background: rgba(255,255,255,0.15); }

/* Entry cards: same dark-orange-green as tiles */
.bw-entry-card {
  background: #2a3d28;
  border: 1px solid rgba(240,104,31,0.28);
}
.bw-entry-card:hover {
  background: #344a30;
  border-color: rgba(240,104,31,0.55);
  box-shadow: 0 8px 28px rgba(0,0,0,0.45), 0 0 0 1px rgba(240,104,31,0.15);
}
/* Jungle card slightly highlighted as flagship */
.bw-entry-card--jungle {
  border-color: rgba(240,104,31,0.45);
  background: rgba(240,104,31,0.08);
}
.bw-entry-card--jungle:hover {
  background: rgba(240,104,31,0.14);
}

/* ── Sidequest option sub-text ── */
.bw-opt--sidequest .bw-opt__sub { font-size: 0.8rem; color: var(--bw-ink-mute); }
.bw-opt--sidequest.sel .bw-opt__sub { color: rgba(255,255,255,0.75); }

/* ── Room simple ── */
.bw-opt--room-simple .bw-opt__price {
  font-size: 1.4rem; font-weight: 800; color: var(--bw-accent); margin: 8px 0 2px;
}
.bw-opt--room-simple .bw-opt__icon { margin-bottom: 8px; }
.bw-opt--room-simple.sel .bw-opt__icon { color: var(--bw-accent); }

/* ── Mini label (category headers) ── */
.bw-mini-label {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--bw-ink-mute); margin: 12px 0 6px;
}

/* ── Entry grid layout: all cards full-width rows ── */
.bw-entry-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}
.bw-entry-card {
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 15px 18px;
}
.bw-entry-card-body { flex: 1; min-width: 0; }
.bw-entry-title {
  font-family: var(--bw-font-display);
  font-size: 1rem; font-weight: 700;
  color: var(--bw-ink); display: block;
}
.bw-entry-sub {
  font-size: 0.8rem; color: var(--bw-ink-mute); display: block; line-height: 1.4;
}
.bw-entry-price {
  margin-left: auto; white-space: nowrap;
  font-size: 0.88rem; font-weight: 700; color: var(--bw-accent);
  flex-shrink: 0;
}
.bw-entry-price small { font-size: 0.75rem; font-weight: 400; color: var(--bw-ink-mute); }
.bw-entry-icon {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1.5px solid var(--bw-accent);
  display: flex; align-items: center; justify-content: center;
  color: var(--bw-accent); flex-shrink: 0;
  transition: background .2s, color .2s, transform .25s;
}
.bw-entry-card:hover .bw-entry-icon { background: var(--bw-accent); color: #fff; transform: scale(1.08); }

/* ── Panels / shadows ── */
.bw-panel { box-shadow: none; }

/* ── iOS INPUT FIXES — prevent zoom on focus (font-size >= 16px required) ── */
@media (max-width: 768px) {
  .bw-field input,
  .bw-field textarea,
  .bw-field select {
    font-size: 16px !important;      /* iOS zooms in if < 16px */
    touch-action: manipulation;      /* remove 300ms tap delay */
  }
  .bw-opt,
  .bw-entry-card,
  .bw-next,
  .bw-back,
  .bw-splash-btn,
  .bw-cur-btn {
    touch-action: manipulation;      /* instant taps on iOS/Android */
    -webkit-tap-highlight-color: transparent;
  }
}

/* ── iOS SAFE AREA — notch / Dynamic Island / home bar ── */
@supports (padding: env(safe-area-inset-bottom)) {
  @media (max-width: 768px) {
    .bw-footer {
      padding-bottom: calc(20px + env(safe-area-inset-bottom));
    }
    .bw-panel {
      padding-bottom: env(safe-area-inset-bottom);
    }
    .bw-splash-content {
      padding-top: calc(36px + env(safe-area-inset-top));
    }
  }
}

/* ═══════════════════════════════════════════════════════════
   EXTEND STAY INLINE FORM (inside jungle date step)
   ═══════════════════════════════════════════════════════════ */
.bw-extend{
  margin-top:22px;
  background:rgba(111,191,115,0.07);
  border:1px solid rgba(111,191,115,0.18);
  border-radius:10px;
  overflow:hidden;
}
.bw-extend__header{
  display:flex;align-items:center;gap:9px;
  padding:12px 16px;
  font-family:var(--bw-font-mono);font-size:10px;
  letter-spacing:0.16em;text-transform:uppercase;
  color:rgba(111,191,115,0.80);font-weight:600;
  border-bottom:1px solid rgba(111,191,115,0.12);
}
.bw-extend__header svg{color:rgba(111,191,115,0.70);flex-shrink:0;}
.bw-extend__body{padding:4px 16px 16px;}

/* Price preview row */
.bw-extend__preview{
  margin-top:12px;
  padding:10px 14px;
  background:rgba(240,104,31,0.07);
  border:1px solid rgba(240,104,31,0.20);
  border-radius:7px;
}
.bw-extend__preview[hidden]{display:none;}
.bw-extend__preview-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:8px;
}
.bw-extend__preview-row span{
  font-family:var(--bw-font-mono);font-size:11px;
  color:var(--bw-ink-mute);letter-spacing:0.06em;
}
.bw-extend__preview-row strong{
  font-family:var(--bw-font-display);font-size:20px;
  font-weight:600;color:var(--bw-accent);letter-spacing:-0.02em;
}

/* Food addon inside extend */
.bw-extend__food[hidden]{display:none;}
.bw-extend__food .bw-opt{padding:10px 12px;}
.bw-extend__food .bw-opt__title{font-size:13px;}
.bw-extend__food .bw-opt__sub{font-size:11px;}

/* Second ticket block for homestay extension */
.bw-ticket--extend{
  margin-top:14px;
}
.bw-ticket--extend[hidden]{display:none;}
.bw-ticket__extend-label{
  display:flex;align-items:center;gap:7px;
  font-family:var(--bw-font-mono);font-size:10px;
  letter-spacing:0.16em;text-transform:uppercase;
  color:rgba(111,191,115,0.75);font-weight:600;
  margin-bottom:12px;
}
.bw-ticket__extend-label svg{color:rgba(111,191,115,0.65);}

/* ═══════════════════════════════════════════════════════════
   DISCOUNT BADGE (6+ nights → 15% off)
   ═══════════════════════════════════════════════════════════ */
.bw-discount-badge{
  display:flex;align-items:center;gap:7px;
  margin-top:8px;
  font-family:var(--bw-font-mono);font-size:10.5px;
  letter-spacing:0.1em;text-transform:uppercase;font-weight:600;
  color:#6fbf73;
  animation:bw-step-in .35s ease;
}
.bw-discount-badge[hidden]{display:none;}
.bw-discount-badge svg{flex-shrink:0;color:#6fbf73;}

/* ── Discount row inside ticket ── */
.bw-ticket__discount{
  display:flex;align-items:center;gap:8px;
  padding:8px 0;
  border-bottom:1px dotted rgba(111,191,115,0.25);
  font-family:var(--bw-font-mono);font-size:10px;
  letter-spacing:0.1em;text-transform:uppercase;
  color:#6fbf73;font-weight:600;
}
.bw-ticket__discount[hidden]{display:none;}


/* Footer: transparent — body gradient flows through */

/* ═══════════════════════════════════════════════════════════
   EU DATE PICKER — DD.MM.YYYY display over native input
   ═══════════════════════════════════════════════════════════ */
.bw-date-eu {
  position: relative;
}

/* Native input: visually hidden but occupies no space —
   stays interactive for validation and showPicker() */
.bw-date-eu__native {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
  border: none !important;
  padding: 0 !important;
  /* Prevent iOS zoom on focus (font-size 16px already guaranteed) */
  font-size: 16px !important;
}

/* Styled EU display — looks like the normal bw-field input */
.bw-date-eu__display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: transparent;
  border-bottom: 1.5px solid var(--bw-line2);
  padding: 10px 2px;
  cursor: pointer;
  transition: border-color .2s;
  position: relative;
  z-index: 1;
  min-height: 44px; /* iOS touch target */
}
.bw-date-eu__display:hover,
.bw-date-eu__display:focus-within {
  border-color: var(--bw-accent);
}
.bw-date-eu__text {
  font-family: var(--bw-font-display);
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.28); /* placeholder colour */
  letter-spacing: 0.02em;
  transition: color .2s;
}
.bw-date-eu__display.has-value .bw-date-eu__text {
  color: #fff; /* filled colour */
}
.bw-date-eu__display svg {
  color: var(--bw-ink-mute);
  flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════
   TOUR TYPE TOGGLER  (Private / Join a group)
   ═══════════════════════════════════════════════════════════ */
.bw-toggler{
  display:inline-flex;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:100px;
  padding:4px;
  gap:4px;
  margin:16px 0 4px;
}
.bw-toggler__btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 18px;border-radius:100px;
  font-family:var(--bw-font-mono);font-size:10.5px;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--bw-ink-mute);
  background:none;border:none;cursor:pointer;
  transition:background .18s,color .18s;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  white-space:nowrap;
}
.bw-toggler__btn.active{
  background:var(--bw-accent);
  color:#fff;
  box-shadow:0 4px 14px -4px rgba(240,104,31,0.45);
}
.bw-toggler__btn:not(.active):hover{
  color:var(--bw-ink);
  background:rgba(255,255,255,0.07);
}
.bw-toggler__hint{
  font-size:12px;color:var(--bw-ink-mute);
  font-style:italic;margin:0 0 4px;
  min-height:18px;transition:color .2s;
}

/* ═══════════════════════════════════════════════════════════
   TIME INPUT — native picker with EU display + Flexible btn
   ═══════════════════════════════════════════════════════════ */
.bw-time-input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.bw-time-native-row {
  flex: 1;
  min-width: 100px;
}
.bw-time-eu {
  position: relative;
}
.bw-time-eu__native {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
  border: none !important;
  padding: 0 !important;
  font-size: 16px !important;
  color-scheme: dark;
}
.bw-time-eu__display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: transparent;
  border-bottom: 1.5px solid var(--bw-line2);
  padding: 10px 2px;
  cursor: pointer;
  transition: border-color .2s, opacity .2s;
  min-height: 44px;
}
.bw-time-eu__display:hover {
  border-color: var(--bw-accent);
}
/* Flexible button — pill style */
.bw-flexible-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  background: var(--bw-card);
  border: 1.5px solid rgba(240,104,31,0.22);
  border-radius: 100px;
  font-family: var(--bw-font-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bw-ink-soft);
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  white-space: nowrap;
  flex-shrink: 0;
}
.bw-flexible-btn:hover {
  border-color: rgba(240,104,31,0.5);
  color: var(--bw-ink);
}
.bw-flexible-btn.active {
  background: rgba(240,104,31,0.22);
  border-color: var(--bw-accent);
  color: #fff;
}

/* Date + Time side by side row */
.bw-date-time-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin:20px 0 8px;
  align-items:start;
}
@media(max-width:520px){
  .bw-date-time-row{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════════════
   TOUR NOTE  (Private / Open group info line)
   ═══════════════════════════════════════════════════════════ */
.bw-tour-note{
  display:flex;align-items:center;gap:8px;
  margin:0 0 14px;
  font-size:12.5px;color:var(--bw-ink-soft);
  font-style:italic;
}
.bw-tour-note svg{color:var(--bw-accent);flex-shrink:0;}

/* Activities page — tour type note under section header */
.about__note--tour-type{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14px;line-height:1.55;
  color:rgba(255,255,255,0.65);
  margin:8px 0 24px;
}
.about__note--tour-type svg{color:var(--accent);flex-shrink:0;margin-top:3px;}
.about__note--tour-type strong{color:rgba(255,255,255,0.9);}

.page-hero__note{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:12px;
  font-size:13px;line-height:1.5;
  color:rgba(255,255,255,0.60);
}
.page-hero__note svg{flex-shrink:0;color:var(--accent);}
.page-hero__note strong{color:rgba(255,255,255,0.85);}

/* ── CARD SOLID BACKGROUNDS — survive the parallax gradient ──
   All interactive cards get explicit solid colours so they
   never become "see-through" windows into the body gradient.  */
.entry-card,
.entry-card:hover          { background: #1e3a26 !important; }

.pillar-card,
.pillar-card:hover         { background: rgba(30,58,38,0.96) !important; }

.review-card              { background: #1e3a26 !important; }
.review-full-card          { background: transparent; }

.team-card                 { background: #1e3a26 !important; }
.contact-form-card         { background: #1e3a26 !important; }
.gallery-item              { background: #1e3a26 !important; }
#booking-tool              { background: #1e3a26 !important; }

/* Homestay / activity cards */
.accom-card                { background: rgba(24,52,28,0.92) !important; color: #fff !important; }
.service-card              { background: #1e3a26 !important; }
.act-card                  { background: #1e3a26 !important; }

/* FAQ, steps, flow items */
.faq-item                  { background: #1e3a26 !important; }
.flow-item                 { background: transparent !important; }
.phase-card                { background: #1e3a26 !important; }

/* Wizard panel */
.bw-panel                  { background: rgba(13,28,16,0.55) !important; }

/* booking section on contact/homestay pages — transparent like others */
#booking { background: transparent !important; }

/* All remaining section inline styles removed — force transparent */
.section { background: transparent; }
.section--card { background: var(--card-bg) !important; color: var(--text) !important; }

/* accom-card: ensure white text on duo room body text */
.accom-card,
.accom-card p,
.accom-card h3,
.accom-card ul,
.accom-card li { color: #fff !important; }
.accom-card p  { opacity: 0.78; }

/* ── WHERE YOU SLEEP — mobile ── */
@media (max-width: 768px) {
  .accom-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    gap: 14px !important;
  }
  .flip-card { min-height: 300px !important; }
  .accom-card { min-height: 280px !important; padding: 24px 18px !important; font-size: 0.92rem; }
  .accom-card h3 { font-size: 1.1rem; }
  .accommodation { padding: 60px 16px !important; }
}

/* ── FOOTER SEAMLESS — no border, no background block ── */
.site-footer::before {
  content: '';
  display: block;
  height: 1px;
  background: none;
}
/* Subtle footer divider via fading line instead of solid border */
.site-footer::before {
  content: '';
  display: block;
  height: 1px;
  background: linear-gradient(to right,
    transparent 0%,
    rgba(111,191,115,0.12) 30%,
    rgba(111,191,115,0.12) 70%,
    transparent 100%
  );
  margin-bottom: 64px;
  margin-top: -64px;
}









/* ════════════════════════════════════════════════════════════
   MOUNTAIN MIST — subtle drifting fog in two greens
   Three independent layers at different speeds and depths.
   #1B4332 = lighter mist  |  #091409 = deeper shadow
   ════════════════════════════════════════════════════════════ */

.bc-mist {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  filter: contrast(1.15) brightness(1.05);
}

.bc-mist__layer {
  position: absolute;
  width: 200%;          /* oversized so drift never shows edge */
  height: 200%;
  top: -50%;
  left: -50%;
  border-radius: 50%;   /* soft elliptical shape */
}

/* ── Layer 1: slow deep mist — large, low opacity ── */
/* ── Layer 1: warm yellow-green — strong, big sweeping movement ── */
.bc-mist__layer--1 {
  background: radial-gradient(
    ellipse 95% 80% at 20% 25%,
    rgba(120, 180,  90, 0.45) 0%,
    rgba( 85, 145,  60, 0.20) 40%,
    transparent 72%
  );
  animation: mistDrift1 24s ease-in-out infinite alternate;
  filter: blur(22px);
}

/* ── Layer 2: warm amber — strong orange glow, sweeps opposite ── */
.bc-mist__layer--2 {
  background: radial-gradient(
    ellipse 85% 70% at 75% 70%,
    rgba(100, 160,  75, 0.28) 0%,
    rgba( 70, 125,  50, 0.12) 42%,
    transparent 70%
  );
  animation: mistDrift2 31s ease-in-out infinite alternate-reverse;
  filter: blur(25px);
}

/* ── Layer 4: dark olive-green — bottom-left, heavy shadow mist ── */
.bc-mist__layer--4 {
  background: radial-gradient(
    ellipse 110% 90% at 95% 92%,
    rgba(30, 48, 12, 0.70) 0%,
    rgba(18, 32,  8, 0.35) 45%,
    transparent 72%
  );
  animation: mistDrift4 36s ease-in-out infinite alternate;
  filter: blur(28px);
}

/* ── Layer 3: cool green-white shimmer — wide, traverses top ── */
.bc-mist__layer--3 {
  background: radial-gradient(
    ellipse 100% 50% at 50% 15%,
    rgba(210, 240, 200, 0.22) 0%,
    rgba(170, 210, 160, 0.08) 48%,
    transparent 75%
  );
  animation: mistDrift3 42s ease-in-out infinite alternate;
  filter: blur(35px);
}

/* ── Drift paths — large dramatic sweeps, scale changes for breathing ── */

/* ── Layer 5: warm yellow-green accent — small, bottom-left to top-right ── */
.bc-mist__layer--5 {
  background: radial-gradient(
    ellipse 35% 28% at 5% 90%,
    rgba(190, 215,  80, 0.55) 0%,
    rgba(155, 180,  55, 0.25) 45%,
    transparent 72%
  );
  animation: mistDrift5 28s ease-in-out infinite alternate;
  filter: blur(20px);
}
@keyframes mistDrift5 {
  0%   { transform: translate(0%,    0%)  scale(1.00); opacity: 0.65; }
  35%  { transform: translate(22%,  -28%) scale(1.15); opacity: 0.90; }
  65%  { transform: translate(40%,  -50%) scale(1.05); opacity: 0.75; }
  100% { transform: translate(55%,  -70%) scale(1.10); opacity: 0.82; }
}

@keyframes mistDrift1 {
  0%   { transform: translate(-10%, -10%) scale(0.80); opacity: 0.65; }
  20%  { transform: translate(8%,    6%)  scale(1.22); opacity: 1.00; }
  45%  { transform: translate(22%,  20%)  scale(1.08); opacity: 0.85; }
  65%  { transform: translate(10%,  28%)  scale(0.82); opacity: 0.95; }
  85%  { transform: translate(26%,  12%)  scale(1.28); opacity: 0.78; }
  100% { transform: translate(14%,  22%)  scale(0.92); opacity: 0.90; }
}

@keyframes mistDrift2 {
  0%   { transform: translate(0%,    0%)  scale(1.00); opacity: 0.65; }
  25%  { transform: translate(-18%, -12%) scale(1.14); opacity: 0.90; }
  50%  { transform: translate(-8%,  -22%) scale(0.88); opacity: 0.75; }
  75%  { transform: translate(-24%, -8%)  scale(1.10); opacity: 0.88; }
  100% { transform: translate(-14%, -18%) scale(0.95); opacity: 0.70; }
}

@keyframes mistDrift4 {
  0%   { transform: translate(0%,    0%)  scale(1.00); opacity: 0.60; }
  30%  { transform: translate(-25%, -28%) scale(1.28); opacity: 0.92; }
  60%  { transform: translate(-40%, -45%) scale(1.10); opacity: 0.72; }
  80%  { transform: translate(-28%, -32%) scale(1.35); opacity: 0.90; }
  100% { transform: translate(-15%, -20%) scale(1.08); opacity: 0.68; }
}

/* ================================================================
   ADVENTURE BRAND REDESIGN — PHASE 1 (foundation layer)
   Color system, header/footer, hero, homepage sections.
   Appended last on purpose so it wins the cascade over the legacy
   dark-jungle rules above. Sub-pages (Adventure, The Reset, The
   Base, App detail, Reviews, FAQ, About, Contact) are phase 2.
   ================================================================ */

/* the jungle mist overlay reads as clutter on a light, minimal
   page — switch it off for the new design */
.bc-mist{display:none !important;}

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn{box-shadow:0 1px 2px rgba(23,48,31,0.08);}
.btn:hover{box-shadow:0 10px 28px rgba(217,130,43,0.35);}
.btn--ghost{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.35);}

/* ── LANGUAGE SWITCHER (sits in the now-light header) ──────────── */
.lang-trigger{border-color:var(--border);color:var(--ink-2);}
.lang-trigger:hover{border-color:var(--orange);color:var(--ink);background:rgba(217,130,43,0.08);}
.lang-dropdown{background:#fff;border-color:var(--border);box-shadow:var(--shadow-md);}

/* ── HEADER — permanent light, frosted glass bar ────────────────
   (there is no scroll-state JS in this theme, so the header must
   read correctly against every background it ever sits over —
   hero photo, hero video and plain cream sections alike) */
.site-header,
.site-header--transparent,
.site-header.header--scrolled{
  background:rgba(242,237,223,0.86) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  border-bottom:1px solid var(--border) !important;
  box-shadow:0 1px 0 rgba(23,48,31,0.04) !important;
}
.site-logo{color:var(--ink);}
.site-logo span{color:var(--orange);}
.site-nav a{color:var(--ink-2) !important;}
.site-nav a:hover,
.site-nav a[aria-current="page"]{color:var(--orange) !important;}
.nav-toggle span{background:var(--ink);}
.nav-instagram{color:var(--ink-2);}
.nav-instagram:hover{color:var(--orange);}
.nav-cta{color:var(--ink) !important;}

@media (max-width:768px){
  .site-nav{
    background:#fff !important;
    border-bottom:1px solid var(--border) !important;
    border-top:1px solid var(--border) !important;
    box-shadow:0 16px 40px rgba(23,48,31,0.12) !important;
  }
  .site-nav a:not(.nav-instagram):not(.nav-cta){
    color:var(--ink) !important;
    border-bottom:1px solid var(--border) !important;
  }
  .site-nav a:not(.nav-instagram):not(.nav-cta):hover,
  .site-nav a:not(.nav-instagram):not(.nav-cta)[aria-current="page"]{
    color:var(--orange) !important;
  }
  .nav-cta{
    color:var(--orange) !important;
    border-bottom:1px solid var(--border) !important;
  }
}

/* ── HERO — stays dark by design (photo + video) ────────────────── */
.hero__eyebrow{color:var(--gold);border-color:rgba(235,180,76,0.55);}
.hero__subtitle em{color:var(--gold);}

/* ── FOUR EXPERIENCES (entry cards) ─────────────────────────────── */
.entry-grid{grid-template-columns:repeat(4,1fr);}
.entry-card{
  background:var(--card-bg) !important;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
}
.entry-card:hover{box-shadow:var(--shadow-md);}
.entry-card__body{color:var(--ink);}
.entry-card__title{color:var(--ink);}
.entry-card__subtitle{color:var(--ink-2) !important;}
.entry-card__body p{color:var(--ink-2) !important;}
@media (max-width:1024px){ .entry-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .entry-grid{grid-template-columns:1fr;} }

/* ── SECTION HEADERS (now light by default) ─────────────────────── */
.section-header h2{color:var(--ink);}
.section-header p{color:var(--ink-2) !important;}

/* ── ABOUT ───────────────────────────────────────────────────────── */
.about__title{color:var(--ink);}
.about__text{color:var(--ink-2) !important;}
.about__phase{background:rgba(217,130,43,0.10);border-color:rgba(217,130,43,0.28);color:var(--orange-dark);}

/* ── BRAND VALUES STRIP (replaces the old four-pillars grid) ─────── */
.values-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:48px;}
.value-chip{
  display:flex;align-items:center;gap:14px;
  background:var(--card-bg);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:18px 20px;
  transition:border-color 0.25s,transform 0.25s;
}
.value-chip:hover{border-color:var(--orange);transform:translateY(-2px);}
.value-chip .bc-icon{width:28px;height:28px;flex-shrink:0;}
.value-chip .bc-icon svg{stroke:var(--orange);}
.value-chip span{font-weight:700;color:var(--ink);font-size:0.98rem;letter-spacing:0.01em;}

/* ── REVIEWS COVERFLOW ──────────────────────────────────────────── */
.cf-card{background:var(--card-bg);border:1px solid var(--border);}
.cf-slide.is-active .cf-card{border-color:var(--orange);box-shadow:var(--shadow-md);}
.cf-stars{color:var(--gold);}
.cf-duration{color:var(--ink-muted);}
.cf-text{color:var(--ink) !important;}
.cf-slide.is-active .cf-text{color:var(--ink) !important;}
.cf-avatar{background:rgba(217,130,43,0.12);border-color:rgba(217,130,43,0.3);color:var(--orange-dark);}
.cf-meta strong{color:var(--ink) !important;}
.cf-meta span{color:var(--ink-muted) !important;}
.cf-arrow{background:var(--card-bg);border-color:var(--border);color:var(--ink-2);box-shadow:var(--shadow-sm);}
.cf-arrow:hover{background:#fff;border-color:var(--orange);color:var(--orange);}
.cf-dot{background:var(--border);}
.cf-dot.is-active{background:var(--orange);}

/* ── PHILOSOPHY — a quiet, warm manifesto moment (not a dark hero) ── */
.philosophy blockquote{
  background:var(--card-bg);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:56px 48px;
  color:var(--ink);box-shadow:var(--shadow-sm);
}
.philosophy blockquote strong{color:var(--orange-dark);}
.philosophy cite{color:var(--ink-muted);}
@media (max-width:600px){ .philosophy blockquote{padding:40px 24px;} }

/* ── CTA BANNER — a bold color break instead of a dark one ───────── */
.cta-banner{
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dark) 100%);
  border-radius:var(--radius-lg);
  max-width:var(--max-w);margin:0 auto;
}
.cta-banner::before{background:none;}
.cta-banner h2{color:#fff;}
.cta-banner p{color:rgba(255,255,255,0.85) !important;}
.cta-banner .btn{background:#fff;color:var(--orange-dark) !important;}
.cta-banner .btn:hover{background:var(--ink);color:#fff !important;}

/* ── FIND US MAP ─────────────────────────────────────────────────── */
.map-embed{border:1px solid var(--border);}

/* ── FOOTER — the other section allowed to stay dark ──────────────── */
.site-footer{
  background:var(--dark) !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  border-top:none !important;
}
.site-footer::before{display:none !important;}
.footer-nav a:hover{color:var(--gold);}
.footer-nav h4{color:var(--gold);}
.instagram-link:hover{color:var(--gold) !important;}
.footer-contact{color:rgba(242,237,223,0.55);font-size:0.9rem;line-height:1.8;}
.footer-contact a{color:rgba(242,237,223,0.75);}
.footer-contact a:hover{color:var(--gold);}

/* ================================================================
   ADVENTURE BRAND REDESIGN — PHASE 2 (homepage rewrite)
   The 10-section homepage: hero, brand intro, choose-your-path,
   featured Adventure, philosophy, Reset, App, Base, reviews, final CTA.
   ================================================================ */

/* ── HERO CTA ROW ─────────────────────────────────────────────── */
.hero__cta{margin-top:8px;}
.hero__link{
  display:inline-flex;align-items:center;gap:8px;
  color:rgba(255,255,255,0.85);font-size:0.85rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,0.35);padding-bottom:4px;
  transition:color 0.2s,border-color 0.2s;
}
.hero__link:hover{color:var(--gold);border-color:var(--gold);}

/* ── HEADLINE TREATMENT ──────────────────────────────────────── */
.section-header h2,.intro-section h2,.reset-section h2,.base-section h2,.app-section h2,.showcase-header h2,.path-header h2,.final-cta h2{
  text-transform:uppercase;letter-spacing:0.01em;
}

/* ── SECTION 2 — BRAND INTRODUCTION ──────────────────────────── */
.intro-section{padding:var(--section-pad);}
.intro-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:center;}
.intro-eyebrow{font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;}
.intro-section h2{font-size:clamp(1.8rem,3.2vw,2.6rem);color:var(--ink);margin-bottom:24px;max-width:520px;}
.intro-section p{color:var(--ink-2);font-size:1.05rem;max-width:520px;}
.intro-highlight{
  margin-top:32px;padding:28px 32px;background:var(--card-bg);
  border-left:4px solid var(--orange);border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
}
.intro-highlight p{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--ink);margin:0;line-height:1.4;}
.intro-highlight p:last-child{color:var(--orange-dark);font-weight:700;font-style:normal;}
.intro-image{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}
.intro-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:32px;}.intro-image{order:-1;}.intro-image img{aspect-ratio:16/10;}}

/* ── SECTION 3 — CHOOSE YOUR PATH ────────────────────────────── */
.path-section{padding:var(--section-pad);}
.path-header{text-align:center;margin-bottom:48px;}
.path-header span{font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);}
.path-header h2{font-size:clamp(1.8rem,3.5vw,2.8rem);color:var(--ink);margin:12px 0;}
.path-header p{color:var(--ink-2);font-size:1.05rem;max-width:520px;margin:0 auto;}

.path-featured{
  display:grid;grid-template-columns:1.2fr 1fr;gap:0;
  background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:24px;transition:box-shadow 0.3s;
}
.path-featured:hover{box-shadow:var(--shadow-md);}
.path-featured__img{aspect-ratio:16/11;object-fit:cover;width:100%;height:100%;display:block;}
.path-featured__body{padding:40px;display:flex;flex-direction:column;justify-content:center;gap:14px;}
.path-featured__tag{font-size:0.75rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);}
.path-featured__body h3{font-family:var(--font-display);font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--ink);text-transform:uppercase;}
.path-featured__body p{color:var(--ink-2);font-size:1.05rem;}
@media(max-width:800px){.path-featured{grid-template-columns:1fr;}.path-featured__img{aspect-ratio:16/10;}.path-featured__body{padding:28px;}}

.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.path-card{
  background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform 0.25s,box-shadow 0.25s;
}
.path-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.path-card__img{aspect-ratio:4/3;object-fit:cover;width:100%;}
.path-card__body{padding:24px;display:flex;flex-direction:column;gap:8px;flex:1;}
.path-card__body h3{font-family:var(--font-display);font-size:1.2rem;color:var(--ink);text-transform:uppercase;}
.path-card__body p{color:var(--ink-2);font-size:0.92rem;flex:1;}
@media(max-width:800px){.path-grid{grid-template-columns:1fr;}}

/* ── SECTION 4 — FEATURED ADVENTURE ──────────────────────────── */
.showcase-section{padding:var(--section-pad);background:rgba(217,130,43,0.06);}
.showcase-header{text-align:center;margin-bottom:48px;}
.showcase-header span{font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);}
.showcase-header h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--ink);margin:12px 0;line-height:1.1;}
.showcase-header p{color:var(--ink-2);font-size:1.05rem;max-width:560px;margin:0 auto;}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px;}
.product-card{
  background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform 0.25s,box-shadow 0.25s;
}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.product-card__img{aspect-ratio:4/3;object-fit:cover;width:100%;}
.product-card__body{padding:26px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.product-card__label{display:inline-block;align-self:flex-start;background:rgba(217,130,43,0.12);color:var(--orange-dark);font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 12px;border-radius:100px;}
.product-card__body h3{font-family:var(--font-display);font-size:1.25rem;color:var(--ink);text-transform:uppercase;}
.product-card__body p{color:var(--ink-2);font-size:0.92rem;flex:1;}
.showcase-cta{text-align:center;}
@media(max-width:900px){.product-grid{grid-template-columns:1fr;}}

/* ── SECTION 5 — PHILOSOPHY MANIFESTO ────────────────────────── */
.manifesto-section{background:var(--dark);padding:120px 24px;}
.manifesto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:var(--max-w);margin:0 auto;}
.manifesto-part{text-align:center;}
.manifesto-part h3{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,2.8rem);color:#F2EDDF;margin-bottom:8px;}
.manifesto-part .manifesto-sub{color:var(--gold);font-size:0.95rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:18px;}
.manifesto-part p{color:rgba(242,237,223,0.65);font-size:0.98rem;line-height:1.7;max-width:320px;margin:0 auto;}
.manifesto-close{text-align:center;margin-top:80px;}
.manifesto-close h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.8rem);color:#F2EDDF;text-transform:uppercase;line-height:1.3;}
@media(max-width:800px){.manifesto-grid{grid-template-columns:1fr;gap:56px;}.manifesto-section{padding:80px 24px;}.manifesto-close{margin-top:56px;}}

/* ── SECTION 6 — THE RESET ───────────────────────────────────── */
.reset-section{padding:var(--section-pad);}
.reset-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:64px;align-items:center;}
.reset-media{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:100%;min-height:420px;}
.reset-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);display:block;}
.reset-media__main{grid-row:1/3;}
.reset-eyebrow{font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;}
.reset-section h2{font-size:clamp(1.8rem,3.2vw,2.6rem);color:var(--ink);margin-bottom:20px;line-height:1.2;}
.reset-section > .container > .reset-grid > .reset-content p{color:var(--ink-2);font-size:1.05rem;margin-bottom:24px;}
.reset-facts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.fact-chip{background:var(--card-bg);border:1px solid var(--border);border-radius:100px;padding:8px 16px;font-size:0.82rem;font-weight:600;color:var(--ink-2);}
.reset-price{display:inline-flex;align-items:baseline;gap:6px;margin-bottom:28px;}
.reset-price strong{font-family:var(--font-display);font-size:1.6rem;color:var(--ink);}
/* Direct child only — the .price-value span inside <strong> must keep the
   big display styling when js/prices.js rewrites it. */
.reset-price > span{color:var(--ink-muted);font-size:0.85rem;}
.reset-extras{margin-top:28px;padding-top:24px;border-top:1px solid var(--border);}
.reset-extras__label{font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px;}
.reset-extras__list{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--ink-2);font-size:0.9rem;}
@media(max-width:900px){.reset-grid{grid-template-columns:1fr;gap:32px;}.reset-media{order:-1;min-height:280px;}}

/* ── SECTION 7 — THE APP ─────────────────────────────────────── */
.app-section{position:relative;padding:var(--section-pad);background:var(--dark);overflow:hidden;}
.app-section__bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:0.28;}
.app-section::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(23,48,31,0.4),rgba(23,48,31,0.92));}
.app-section .container{position:relative;z-index:1;}
.app-eyebrow{font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.app-section h2{font-size:clamp(1.8rem,3.5vw,2.8rem);color:#F2EDDF;margin-bottom:16px;max-width:640px;}
.app-section > .container > p{color:rgba(242,237,223,0.7);font-size:1.05rem;max-width:560px;margin-bottom:48px;}
.app-features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:44px;}
.app-feature{background:rgba(242,237,223,0.06);border:1px solid rgba(242,237,223,0.15);border-radius:var(--radius-md);padding:24px 20px;}
.app-feature h4{color:var(--gold);font-size:0.95rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px;}
.app-feature p{color:rgba(242,237,223,0.65);font-size:0.9rem;}
@media(max-width:900px){.app-features{grid-template-columns:repeat(2,1fr);}}

/* ── SECTION 8 — THE BASE (compact) ──────────────────────────── */
.base-section{padding:80px 24px;}
.base-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;}
.base-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);aspect-ratio:4/3;}
.base-eyebrow{font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.base-section h2{font-size:clamp(1.6rem,2.8vw,2.2rem);color:var(--ink);margin-bottom:16px;}
.base-section > .container > .base-grid > .base-content > p{color:var(--ink-2);font-size:1rem;margin-bottom:22px;}
.base-services{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:26px;}
.base-service{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:0.92rem;font-weight:600;}
.base-service::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;}
@media(max-width:900px){.base-grid{grid-template-columns:1fr;gap:28px;}.base-services{grid-template-columns:1fr;}}

/* ── PRICE CURRENCY SWITCHER (VND / EUR / USD) ──────────────────
   Rendered by bruda_price_switcher(), wired up by js/prices.js.        */
.price-switcher{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0;}
.price-switcher__label{font-size:0.78rem;letter-spacing:0.06em;color:var(--ink-muted);white-space:nowrap;}
.price-switcher__group{display:flex;background:var(--card-bg);border:1px solid var(--border);border-radius:100px;padding:4px;}
.price-switcher__btn{
  padding:8px 16px;min-height:40px;border:none;border-radius:100px;background:transparent;
  color:var(--ink-2);font-family:var(--font-body);font-size:0.8rem;font-weight:700;letter-spacing:0.04em;
  cursor:pointer;white-space:nowrap;transition:background 0.2s,color 0.2s;-webkit-tap-highlight-color:transparent;
}
.price-switcher__btn:hover:not(.is-active){background:rgba(217,130,43,0.1);color:var(--ink);}
.price-switcher__btn.is-active{background:var(--orange);color:#fff;}
/* On dark sections the label and idle buttons need to lift off the bg. */
.section--dark .price-switcher__label,
.service-table-section .price-switcher__label{color:var(--ink-muted);}
@media(max-width:600px){
  .price-switcher{gap:8px;}
  .price-switcher__btn{padding:6px 12px;font-size:0.75rem;min-height:38px;}
}

/* ── BIKE RENTAL (Adventure page, image left / copy right) ───── */
.rental-section{background:rgba(217,130,43,0.06);}
.rental-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.rental-media img{width:100%;object-fit:cover;border-radius:var(--radius-lg);aspect-ratio:4/3;box-shadow:var(--shadow-sm);}
.rental-eyebrow{font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.rental-content h2{font-size:clamp(1.6rem,2.8vw,2.2rem);color:var(--ink);margin-bottom:16px;}
.rental-content > p{color:var(--ink-2);font-size:1rem;margin-bottom:22px;}
.rental-price{display:inline-flex;align-items:baseline;gap:8px;margin-bottom:10px;}
.rental-price strong{font-family:var(--font-display);font-size:2rem;color:var(--orange);}
.rental-price > span{color:var(--ink-muted);font-size:0.85rem;}
.rental-flat{color:var(--ink-2);font-size:0.95rem;margin-bottom:24px;}
.rental-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:28px;}
.rental-fact{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:0.92rem;font-weight:600;}
.rental-fact::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;}
.rental-note{margin-top:20px;color:var(--ink-muted);font-size:0.88rem;}
@media(max-width:900px){.rental-grid{grid-template-columns:1fr;gap:28px;}.rental-facts{grid-template-columns:1fr;}}

/* ── SECTION 9 — REVIEWS (3 featured) ────────────────────────── */
.featured-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.review-card{
  background:var(--card-bg) !important;border:1px solid var(--border) !important;
  box-shadow:var(--shadow-sm);
}
.review-card:hover{border-color:var(--orange) !important;}
.review-text{color:var(--ink) !important;}
.review-meta strong{color:var(--ink) !important;}
.review-meta span{color:var(--ink-muted) !important;}
.review-star{fill:var(--gold) !important;}
@media(max-width:900px){.featured-reviews{grid-template-columns:1fr;}}

/* ── SECTION 10 — FINAL CTA ───────────────────────────────────── */
.final-cta{position:relative;padding:140px 24px;text-align:center;overflow:hidden;}
.final-cta__bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;}
.final-cta::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,48,31,0.55),rgba(23,48,31,0.85));}
.final-cta .container{position:relative;z-index:1;}
.final-cta h2{font-size:clamp(2rem,4.5vw,3.6rem);color:#fff;margin-bottom:16px;text-transform:uppercase;line-height:1.15;}
.final-cta p{color:rgba(255,255,255,0.8);font-size:1.1rem;max-width:480px;margin:0 auto 32px;}
.final-cta__ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;}
.final-cta__close{color:var(--gold);font-size:0.85rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;}
}

@keyframes mistDrift3 {
  0%   { transform: translate(-10%, 0%)   scale(1.00); opacity: 0.55; }
  33%  { transform: translate(14%,  -6%)  scale(1.18); opacity: 0.85; }
  66%  { transform: translate(-6%,  8%)   scale(0.90); opacity: 0.65; }
  100% { transform: translate(18%,  -2%)  scale(1.08); opacity: 0.78; }
}

/* ── Mobile: faster mist for Android & iOS ── */
@media (max-width: 768px) {
  .bc-mist__layer--1 { animation-duration: 9s !important; }
  .bc-mist__layer--2 { animation-duration: 12s !important; }
  .bc-mist__layer--3 { animation-duration: 16s !important; }
  .bc-mist__layer--4 { animation-duration: 14s !important; }
  .bc-mist__layer--5 { animation-duration: 10s !important; }
}

/* Content above mist */
.hero, .page-hero, .section, .philosophy,
.cta-banner, .accommodation, .how-it-works, .vision-section,
.reviews-section, .site-footer, .bw-wizard-section {
  position: relative;
  z-index: 1;
}

/* ══ SEAMLESS BACKGROUND — hero, wizard, page all share body gradient ══ */
.hero,
.bw-wizard-section,
.section,
.section--dark,
.section--header,
.how-it-works,
.philosophy,
.cta-banner,
.accommodation,
.reviews-section,
.vision-section,
.site-footer {
  background: transparent !important;
}

/* Wizard section: breathing room on desktop, flush on mobile */
.bw-wizard-section {
  padding-top: 180px !important;
  padding-bottom: 60px !important;
  margin-top: 0;
}
@media(max-width:768px){
  .bw-wizard-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ── WordPress Admin Bar — transparent so header stays clean ── */
#wpadminbar {
  background: transparent !important;
}
#wpadminbar * {
  background: transparent !important;
}
#wpadminbar:hover,
#wpadminbar .ab-top-menu > li:hover > .ab-item,
#wpadminbar .ab-top-menu > li.hover > .ab-item {
  background: rgba(0,0,0,0.3) !important;
}
/* Admin bar dropdowns need readable bg */
#wpadminbar .ab-sub-wrapper,
#wpadminbar .ab-submenu,
#wpadminbar .menupop .ab-sub-wrapper {
  background: rgba(10, 26, 12, 0.92) !important;
}

/* ── Header visibility on mobile over video ── */
@media (max-width: 768px) {
  /* When video plays, give header a subtle backdrop so nav is readable */
  .hero--video-mode ~ * .site-header,
  body.video-playing .site-header {
    background: rgba(9, 20, 9, 0.55) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  /* Nav dropdown always readable on mobile */
  .site-nav.open {
    background: linear-gradient(180deg, #1a3d28 0%, #122018 100%) !important;
    opacity: 1 !important;
  }
}

/* ── Video/bg never intercepts clicks ── */
#hero-video-bg, #hero-video-bg *, .hero__video-bg, .hero__video-bg * {
  pointer-events: none !important;
}
.hero__bg-img { pointer-events: none !important; }
/* Hero itself is fine — don't set pointer-events:none on it */

/* ── Nav always on top and clickable ── */
.site-header { pointer-events: auto !important; z-index: 9999 !important; }
.site-nav { pointer-events: auto !important; }
.site-nav a { pointer-events: auto !important; touch-action: manipulation; }
.nav-toggle { pointer-events: auto !important; touch-action: manipulation; }
.site-header .container { pointer-events: auto !important; }


/* ════ CARD COLORS — olive-green duo, global ════ */
.entry-card,
.review-card,
.team-card,
.accom-card,
.contact-form-card,
#booking-tool,
.phase-card,
.act-card {
  background: #2d4a28 !important;
}
/* Lighter variant for alternation */
.review-card:nth-child(even),
.team-card:nth-child(even),
.entry-card:nth-child(even),
.accom-card:nth-child(even) {
  background: #344b30 !important;
}
:root { --dark-card: #2d4a28; }

/* ── iOS image rendering fixes ── */

  .hero__bg-img {
    height: 100%;
    min-height: -webkit-fill-available;
  }
}

/* ── iOS: prevent flash of unstyled content ── */

  .entry-card, .review-card, .team-card {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}



/* ── iOS Safari: hero image full display ── */

}

/* ── iOS Safari fixes ── */
@supports (-webkit-touch-callout: none) {
  /* Hero: use fill-available so image fills Safari viewport correctly */
  .hero {
    min-height: -webkit-fill-available;
  }
  /* Logo: always visible on iOS */
  .site-logo, .site-logo img { display: block !important; opacity: 1 !important; visibility: visible !important; }
  /* Hero bg image: no mask (mask clips on iOS), cover full area */
  .hero__bg-img {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 0.45;
  }
  /* Slider: smooth touch scrolling */
  .bc-slider__track { -webkit-overflow-scrolling: touch; }
  .bc-slider__slide img { -webkit-backface-visibility: hidden; }
  /* Cards: GPU compositing for consistent colors */
  .entry-card, .review-card, .team-card {
    -webkit-transform: translateZ(0);
  }
}




/* ── DESKTOP: Hero and widget on same background ── */
@media (min-width: 769px) {
  /* Hero overlay: fade bottom smoothly into body bg */
  .hero::after {
    background: linear-gradient(
      to bottom,
      transparent 0%,
      transparent 40%,
      rgba(9,20,9,0.65) 75%,
      rgba(9,20,9,0.96) 100%
    ) !important;
  }
  /* Video: full width */
  .hero__video-bg,
  .hero__video-bg > div {
    left: 0 !important;
    width: 100% !important;
  }
  /* Widget: breathing room from hero, keep olive bg */
  .bw-wizard-section {
    padding-top: 180px !important;
    background: transparent !important;
  }
  section.bw-wizard-section[style] {
    padding-top: 180px !important;
  }
  /* Panel: semi-transparent on desktop too */
  .bw-panel {
    background: rgba(13,28,16,0.55) !important;
    border-radius: 20px !important;
  }
}

/* ── iOS: single tap on nav links (no 300ms delay) ── */
.site-nav a,
.site-nav a * {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}


}

/* ═══════════════════════════════════════
   FINAL OVERRIDES — these always win
   ═══════════════════════════════════════ */

/* Widget: 180px gap on desktop, flush on mobile */
@media (min-width: 769px) {
  .bw-wizard-section,
  section.bw-wizard-section,
  .section.bw-wizard-section,
  .section--dark.bw-wizard-section {
    padding-top: 180px !important;
  }
}
@media (max-width: 768px) {
  .bw-wizard-section,
  section.bw-wizard-section,
  .section.bw-wizard-section,
  .section--dark.bw-wizard-section {
    padding-top: 0 !important;
  }
}

/* Header: always on top, transition only on background */
#site-header {
  transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, transform 0.25s ease !important;
  will-change: transform !important;
}

/* btn--outline: never orange text on click */
.btn--outline:focus,
.btn--outline:active,
.nav-cta:focus,
.nav-cta:active {
  outline: none !important;
  color: var(--white) !important;
  background: var(--btn) !important;
}

/* Widget: visible gap below hero on desktop */
@media (min-width: 769px) {
  .bw-wizard-section {
    margin-top: 80px !important;
  }
}

/* Header must always be fixed - never relative */
#site-header,
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
}

/* Mobile nav: Request a Stay + Instagram first */
@media (max-width: 768px) {
  .site-nav {
    display: flex;
    flex-direction: column;
  }
  .site-nav .nav-cta {
    order: -2;
  }
  .site-nav .nav-instagram {
    order: -1;
  }
}

/* ================================================================
   ADVENTURE BRAND REDESIGN — PHASE 3 (subpages)
   Adventure, The Reset, The Base, App, Reviews, FAQ, About, Contact.
   Reuses existing components (steps, team, contact, service-table,
   faq-accordion) with the light Adventure Brand palette, plus a
   handful of new page-specific components.
   ================================================================ */

/* ── shared page hero (used by every subpage) ─────────────────── */
.page-hero__content h1{color:var(--ink);text-transform:uppercase;}
.page-hero__content p{color:var(--ink-2) !important;}
.page-hero__eyebrow{display:inline-block;font-size:0.78rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.page-hero__cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:28px;}

/* ── steps / how it works ─────────────────────────────────────── */
.step-card{background:var(--card-bg) !important;border:1px solid var(--border) !important;}
.step-card h3{color:var(--ink);}
.step-card p{color:var(--ink-2) !important;}
.step-num{background:var(--orange);color:#fff;}

/* ── team / meet the brudas ───────────────────────────────────── */
.team-card,
.team-card:nth-child(even){background:var(--card-bg) !important;border:1px solid var(--border) !important;}
.team-card h3{color:var(--ink);}
.team-card__role{color:var(--orange-dark) !important;}
.team-card p{color:var(--ink-2) !important;}
.team-card__motto{color:var(--orange) !important;}

/* ── faq accordion ────────────────────────────────────────────── */
.faq-accordion-item{border-color:var(--border) !important;}
.faq-accordion-item:first-child{border-color:var(--border) !important;}
.faq-question{color:var(--ink) !important;}
.faq-question:hover,.faq-question.open{color:var(--orange) !important;}
.faq-answer{color:var(--ink-2) !important;}
.faq-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:40px 0 8px;}
.faq-nav a{background:var(--card-bg);border:1px solid var(--border);color:var(--ink-2);font-size:0.85rem;font-weight:600;padding:8px 18px;border-radius:100px;text-decoration:none;transition:all 0.2s;}
.faq-nav a:hover{border-color:var(--orange);color:var(--orange);}
.faq-category{margin-top:64px;scroll-margin-top:110px;}
.faq-category__title{font-size:1.4rem;color:var(--ink);text-transform:uppercase;margin-bottom:8px;}

/* ── service table (bike repair price list) ───────────────────── */
.service-table-section{background:var(--paper) !important;}
.service-table th{color:var(--orange-dark) !important;border-color:var(--border) !important;}
.service-table td{color:var(--ink-2) !important;border-color:var(--border) !important;}
.service-table tr:hover td{background:rgba(217,130,43,0.05) !important;}
.service-table .service-cat-row td{background:rgba(217,130,43,0.08) !important;color:var(--orange-dark) !important;}
.service-price{color:var(--ink) !important;font-weight:700;}
.service-currency-bar{background:var(--card-bg) !important;border-color:var(--border) !important;}
.service-currency-bar span{color:var(--ink-muted) !important;}
.service-currency-btn{color:var(--ink-2) !important;}
.service-currency-btn.active{background:var(--orange) !important;color:#fff !important;}
.service-currency-btn:hover:not(.active){background:rgba(217,130,43,0.1) !important;color:var(--ink) !important;}
.service-note{color:var(--ink-muted);font-size:0.85rem;margin-top:16px;}

/* ── contact page ──────────────────────────────────────────────── */
.contact-form-card{background:var(--card-bg) !important;border:1px solid var(--border) !important;}
.contact-form-title{color:var(--ink);}
.contact-form-subtitle{color:var(--ink-muted) !important;}
.contact-detail{border-color:var(--border) !important;}
.contact-detail__label{color:var(--orange-dark) !important;}
.contact-detail p{color:var(--ink-2) !important;}
.contact-detail p a{color:var(--ink) !important;}
.form-group label{color:var(--ink-2);font-size:0.85rem;font-weight:600;margin-bottom:6px;display:block;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--ink);font-family:var(--font-body);font-size:0.95rem;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--orange);}

/* ── product cards reused: label chip already styled globally ── */
.product-card__included{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px;}
.product-card__included span{background:var(--paper);border:1px solid var(--border);color:var(--ink-2);font-size:0.76rem;font-weight:600;padding:4px 10px;border-radius:100px;}
.product-card__price{font-family:var(--font-display);font-size:1.3rem;color:var(--ink);margin-top:auto;padding-top:8px;}
/* :not(.price-amount) so the converted price keeps the display font —
   .price-amount is the wrapper js/prices.js rewrites. */
.product-card__price > span:not(.price-amount){display:block;font-family:var(--font-body);font-size:0.72rem;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:0.08em;}

/* ── four short points (RIDE / EXPLORE / CONNECT / REMEMBER) ──── */
.points-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px;}
.point-item{text-align:center;padding:8px;}
.point-item h3{font-size:1.1rem;letter-spacing:0.08em;color:var(--orange-dark);text-transform:uppercase;margin-bottom:8px;}
.point-item p{color:var(--ink-2);font-size:0.92rem;}
@media(max-width:800px){.points-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.points-grid{grid-template-columns:1fr;}}

/* ── "who is it for" / plain copy blocks ──────────────────────── */
.copy-block{max-width:720px;margin:0 auto;text-align:center;}
.copy-block p{color:var(--ink-2);font-size:1.05rem;margin-bottom:14px;}
.copy-block strong{color:var(--ink);}

/* ── pricing card (The Reset) ─────────────────────────────────── */
.pricing-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;max-width:460px;margin:40px auto 0;text-align:center;box-shadow:var(--shadow-sm);}
.pricing-card__name{font-size:0.8rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);margin-bottom:6px;}
.pricing-card__item{font-family:var(--font-display);font-size:1.3rem;color:var(--ink);margin-bottom:20px;}
.pricing-card__amount{font-family:var(--font-display);font-size:2.6rem;color:var(--ink);}
.pricing-card__amount > span:not(.price-amount){font-family:var(--font-body);font-size:0.9rem;color:var(--ink-muted);}
.pricing-card__row{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--border);color:var(--ink-2);font-size:0.92rem;}
.pricing-card__note{color:var(--ink-muted);font-size:0.82rem;margin-top:16px;}

/* ── optional add-ons list ────────────────────────────────────── */
.addons-label{text-align:center;font-size:0.78rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);margin:40px 0 20px;}
.addons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.addon-chip{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 16px;text-align:center;}
.addon-chip h4{font-size:0.95rem;color:var(--ink);margin-bottom:6px;}
.addon-chip p{color:var(--ink-2);font-size:0.85rem;}
@media(max-width:800px){.addons-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.addons-grid{grid-template-columns:1fr;}}

/* ── day timeline (A Day at The Reset) ────────────────────────── */
.timeline{max-width:700px;margin:48px auto 0;}
.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--border);}
.timeline-item:last-child{border-bottom:1px solid var(--border);}
.timeline-item__time{font-size:0.78rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--orange-dark);}
.timeline-item p{color:var(--ink-2);margin:0;}

/* ── simple photo mosaic (gallery sections) ───────────────────── */
.photo-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:12px;margin-top:40px;}
.photo-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md);display:block;}
.photo-mosaic .span-2{grid-column:span 2;grid-row:span 2;}
@media(max-width:900px){.photo-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;} .photo-mosaic .span-2{grid-column:span 2;grid-row:span 1;}}

/* ── bike type / fact chips (The Base) ────────────────────────── */
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;}
.chip-row span{background:var(--card-bg);border:1px solid var(--border);color:var(--ink-2);font-size:0.85rem;font-weight:600;padding:8px 16px;border-radius:100px;}

/* ── app hero mockup placeholder (no real screenshots yet) ────── */
.app-mock-note{background:rgba(242,237,223,0.08);border:1px dashed rgba(242,237,223,0.3);border-radius:var(--radius-md);padding:16px 20px;color:rgba(242,237,223,0.6);font-size:0.85rem;text-align:center;max-width:420px;margin:24px auto 0;}

/* ── reviews page grid (mixed featured + small) ───────────────── */
.reviews-masonry{columns:1;column-gap:24px;margin-top:48px;}
.reviews-masonry .review-card{break-inside:avoid;margin-bottom:24px;display:inline-block;width:100%;}
@media(min-width:700px){.reviews-masonry{columns:2;}}
@media(min-width:1100px){.reviews-masonry{columns:3;}}
.review-card__tag{display:inline-block;background:rgba(217,130,43,0.1);color:var(--orange-dark);font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:3px 10px;border-radius:100px;margin-bottom:10px;}

/* ================================================================
   ADVENTURE BRAND REDESIGN — PHASE 4 (booking wizard rebuild)
   Retints the existing --bw-* token system to the light palette and
   adds the new step components (choose / plan / personalize /
   contact / review). The old dark-glass wizard visuals are gone;
   the underlying .bw-panel / .bw-step / .bw-entry-card / .bw-opt /
   .bw-form component classes are reused on purpose.
   ================================================================ */

.bw-panel,.bw-modal__panel,.bw-inline{
  --bw-bg:transparent;
  --bw-panel:transparent;
  --bw-card:#FFFFFF;
  --bw-card2:#FBF6EA;
  --bw-ink:#17301F;
  --bw-ink-soft:#3E6B4C;
  --bw-ink-mute:#8A9484;
  --bw-accent:#D9822B;
  --bw-accent2:#B06A24;
  --bw-beige:#E2D8C0;
  --bw-beige2:#F2EDDF;
  --bw-line:rgba(23,48,31,0.10);
  --bw-line2:rgba(23,48,31,0.14);
}
.bw-panel{
  background:#FFFFFF !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  border:1px solid var(--border) !important;
  box-shadow:0 24px 60px -20px rgba(23,48,31,0.18) !important;
  max-width:900px;margin:0 auto;
}
.bw-masthead{border-color:var(--border) !important;}
.bw-progress{background:var(--border) !important;}
.bw-entry-card,.bw-opt{box-shadow:none !important;border-width:1.5px !important;}
.bw-entry-card:hover,.bw-opt:hover{box-shadow:0 8px 24px -8px rgba(217,130,43,0.25) !important;}
.bw-opt.sel .bw-opt__title,.bw-opt.sel .bw-opt__sub{color:#fff !important;}
.bw-field input,.bw-field textarea,.bw-field select{
  background:var(--paper) !important;color:var(--ink) !important;
  border:1px solid var(--border) !important;
}
.bw-field input::placeholder,.bw-field textarea::placeholder{color:var(--ink-muted) !important;}
.bw-field input[type="date"]{color-scheme:light;}
.bw-back{border-color:var(--border) !important;color:var(--ink-2) !important;}
.bw-back:hover{background:var(--paper) !important;border-color:var(--ink-muted) !important;}
.bw-close{background:rgba(23,48,31,0.08) !important;border-color:var(--border) !important;color:var(--ink) !important;}
.bw-close:hover{background:rgba(23,48,31,0.15) !important;}
.bw-hint{color:var(--ink-muted) !important;}

/* ── PROGRESS STEP LABELS ── */
.bw-progress-labels{display:flex;justify-content:space-between;padding:14px 28px 0;gap:4px;}
.bw-progress-labels span{font-size:0.66rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);flex:1;text-align:center;transition:color 0.2s;}
.bw-progress-labels span:first-child{text-align:left;}
.bw-progress-labels span:last-child{text-align:right;}
.bw-progress-labels span.is-active,.bw-progress-labels span.is-done{color:var(--orange-dark);}
@media(max-width:600px){.bw-progress-labels span{font-size:0;}
  .bw-progress-labels span::before{content:attr(data-short);font-size:0.62rem;}
}

/* ── "YOUR CHOICE" preselection banner ── */
.bw-choice-banner{display:none;align-items:center;justify-content:space-between;gap:12px;margin:0 28px 8px;padding:12px 16px;background:rgba(217,130,43,0.08);border:1px solid rgba(217,130,43,0.25);border-radius:var(--radius-md);}
.bw-choice-banner.is-visible{display:flex;}
.bw-choice-banner__label{font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.bw-choice-banner__name{font-family:var(--font-display);font-size:1.05rem;color:var(--ink);}
.bw-choice-banner button{background:none;border:none;color:var(--orange-dark);font-weight:700;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;text-decoration:underline;}

/* ── STEPPER (guest / bike count) ── */
.bw-stepper{display:flex;align-items:center;gap:14px;}
.bw-stepper__val{font-family:var(--font-display);font-size:1.4rem;color:var(--ink);min-width:24px;text-align:center;}

/* ── ADD-ON CARDS (Step 3) ── */
.bw-addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;}
.bw-addon{
  display:flex;align-items:flex-start;gap:12px;text-align:left;cursor:pointer;
  background:var(--bw-card);border:1.5px solid var(--border);border-radius:var(--radius-md);
  padding:14px 16px;transition:border-color .2s,background .2s;
}
.bw-addon:hover{border-color:var(--orange);}
.bw-addon.sel{background:rgba(217,130,43,0.08);border-color:var(--orange);}
.bw-addon__check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.bw-addon.sel .bw-addon__check{background:var(--orange);border-color:var(--orange);color:#fff;}
.bw-addon__title{font-weight:700;color:var(--ink);font-size:0.92rem;display:block;}
.bw-addon__sub{color:var(--ink-2);font-size:0.82rem;display:block;margin-top:2px;}
@media(max-width:560px){.bw-addon-grid{grid-template-columns:1fr;}}

/* ── CONSENT CHECKBOXES ── */
.bw-consent{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:4px 0;}
.bw-consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--orange);flex-shrink:0;}
.bw-consent span{color:var(--ink-2);font-size:0.85rem;line-height:1.5;}
.bw-consent a{color:var(--orange-dark);}
.bw-consent.bw-invalid span{color:#b3392f;}

/* ── PRICE PREVIEW BLOCK ── */
.bw-price-preview{margin-top:20px;padding:16px 18px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-md);}
.bw-price-preview__label{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px;}
.bw-price-preview__value{font-family:var(--font-display);font-size:1.5rem;color:var(--ink);}
.bw-price-preview__note{color:var(--ink-muted);font-size:0.78rem;margin-top:4px;}

/* ── REVIEW / SUMMARY (Step 5) ── */
.bw-summary-block{border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 22px;margin-bottom:16px;background:var(--bw-card);}
.bw-summary-block__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.bw-summary-block__head h4{font-size:0.78rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--orange-dark);}
.bw-summary-block__edit{background:none;border:none;color:var(--ink-muted);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;cursor:pointer;text-decoration:underline;}
.bw-summary-row{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:0.92rem;color:var(--ink-2);border-top:1px solid var(--border);}
.bw-summary-row:first-of-type{border-top:none;}
.bw-summary-row strong{color:var(--ink);font-weight:600;}

/* ── SUCCESS STEP ── */
.bw-success{color:var(--ink);}
.bw-success h2,.bw-success .bw-headline{color:var(--ink);}
.bw-success p{color:var(--ink-2);}

/* ── SENDING / LOADING STATE ── */
.bw-next.is-loading{opacity:0.75;pointer-events:none;}

/* ── MOBILE STICKY FOOTER ── */
@media(max-width:700px){
  .bw-footer{position:sticky;bottom:0;background:#FFFFFF;box-shadow:0 -8px 24px rgba(23,48,31,0.08);z-index:5;}
}

/* ── invalid-state coverage for selects + opt-groups ── */
.bw-field select.bw-invalid{border-color:#e05c4c !important;}
.bw-opt-group.bw-invalid .bw-opt{border-color:#e05c4c !important;}
.bw-req{color:var(--orange-dark);}
.bw-opt-label{color:var(--ink-muted);font-weight:400;text-transform:none;letter-spacing:0;}

/* ================================================================
   ADVENTURE BRAND REDESIGN — PHASE 5 (final polish & launch QA)
   Design-system corrections: peach chip color, restrained uppercase,
   a non-orange-band CTA banner, 6-item desktop nav (FAQ/Contact move
   to mobile-only), reduced motion, and a couple of accessibility/
   consistency fixes called out in the launch QA pass.
   ================================================================ */

:root{ --peach:#FCE8D2; }

/* ── NAV: 6 items on desktop, FAQ + Contact join on mobile only ── */
.nav-mobile-only{display:none;}
@media(max-width:768px){
  .nav-mobile-only{display:block !important;}
}

/* ── active nav indicator: small orange underline, no color block ── */
.site-nav a{position:relative;}
.site-nav a[aria-current="page"]{color:var(--ink) !important;}
.site-nav a[aria-current="page"]::after{
  content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--orange);
}

/* ── restrained uppercase: only hero/manifesto/CTA moments shout,
   regular section headlines read in sentence case ── */
.section-header h2,.intro-section h2,.reset-section h2,.base-section h2,
.app-section h2,.showcase-header h2,.path-header h2{
  text-transform:none;
}
.hero__title,.manifesto-part h3,.manifesto-close h2,.final-cta h2,.page-hero__content h1{
  text-transform:uppercase;
}

/* ── CTA banner: paper card with an orange CTA, not a full orange band
   (orange must stay an accent, not a section background) ── */
.cta-banner{
  background:var(--card-bg) !important;
  border:1px solid var(--border);
}
.cta-banner::before{display:none;}
.cta-banner h2{color:var(--ink) !important;}
.cta-banner p{color:var(--ink-2) !important;}
.cta-banner .btn{background:var(--orange) !important;color:#fff !important;}
.cta-banner .btn:hover{background:var(--orange-dark) !important;}

/* ── peach instead of orange-tint for soft info chips/tags ── */
.fact-chip,.chip-row span,.product-card__label,.review-card__tag,
.path-featured__tag,.about__phase{
  background:var(--peach) !important;color:var(--orange-dark) !important;border-color:transparent !important;
}

/* ── font consolidation: wizard eyebrows/labels use the body font,
   not the old mono/serif wizard fonts (max. two families sitewide) ── */
.bw-eyebrow,.bw-eyebrow-step,.bw-mini-label,.bw-cur-btn,.bw-splash-btn{
  font-family:var(--font-body) !important;
}

/* ── legal / privacy pages: same light-theme text fix as everywhere else ── */
.legal-block p{color:var(--ink-2) !important;}
.legal-block strong{color:var(--ink) !important;}
.legal-block h3{color:var(--orange-dark) !important;}

/* ── lock background scroll while the mobile nav is open ── */
body.nav-open{overflow:hidden;}

/* ── reduced motion: respect the OS-level preference ── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* ================================================================
   ADVENTURE BRAND REDESIGN — PHASE 6 (definitive card/footer fix)
   This theme file has several old "olive-green card" and "seamless
   transparent background" rules left over from the original dark
   design (around the CARD COLORS and SEAMLESS BACKGROUND blocks
   earlier in this file). Because they also use !important and sit
   later in the cascade than some of the earlier redesign passes,
   they were still winning in a few places — dark cards with dark
   text, and a fully transparent (invisible-on-cream) footer. This
   block is appended last on purpose so these are the final word.
   ================================================================ */

.entry-card,
.review-card,
.team-card,
.accom-card,
.contact-form-card,
.phase-card,
.act-card,
#booking-tool{
  background:var(--card-bg) !important;
}
.review-card:nth-child(even),
.team-card:nth-child(even),
.entry-card:nth-child(even),
.accom-card:nth-child(even){
  background:var(--card-bg) !important;
}

.site-footer{
  background:var(--dark) !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}
.site-footer::before{display:none !important;}
