:root{
  /* BRIGHT BHUTAN THEME (orange + gold only) */
  --bg: #481d07;                 /* deep warm base to make bright colors pop */
  --panel: rgba(255,255,255,.07);
  --text: rgba(255,255,255,.94);
  --muted: rgba(255,255,255,.72);
  --line: rgba(255, 208, 1, 0.813);
  --shadow: 0 18px 50px rgba(0,0,0,.40);
  --radius: 18px;
  --radius2: 26px;
  --max: 1100px;

  /* Bhutan flag-inspired brights */
  --brand: #FF8F00;              /* Bhutan orange */
  --brand2: #FFD200;             /* Bhutan gold */
  --hot: #FF3B1F;                /* bright warm red accent (still Bhutan-adjacent) */
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; scrollbar-gutter: stable; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background:
    radial-gradient(1200px 800px at 10% 0%, rgba(255,143,0,.32), transparent 58%),
    radial-gradient(900px 700px at 90% 15%, rgba(255,210,0,.28), transparent 55%),
    radial-gradient(700px 500px at 50% 110%, rgba(255,59,31,.18), transparent 55%),
    var(--bg);
  color: var(--text);
}

a{ color: inherit; text-decoration: none; }
.container{ width: min(var(--max), calc(100% - 32px)); margin: 0 auto; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0;
}

/* Announcement */
.announce{
  background: rgba(255,255,255,.08);
  border-bottom: 1px solid var(--line);
}
.announce__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: 10px 0;
  gap: 14px;
}
.link{ color: var(--brand2); font-weight: 700; }
.link:hover{ text-decoration: underline; }

/* Header */
.header{
  position: sticky; top:0; z-index: 50;
  backdrop-filter: blur(14px);
  background: rgba(18,6,0,.70);
  border-bottom: 1px solid var(--line);
  overflow: visible; /* helps prevent dropdown clipping */
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: 8px 0;
  overflow: visible; /* helps prevent dropdown clipping */
}

.brand{
  display:flex; align-items:center; gap:10px;
  font-weight: 800; letter-spacing: .2px;
}
.brand__mark{
  display:grid; place-items:center;
  width: 38px; height:38px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,143,0,.40), rgba(255,210,0,.34));
  border: 1px solid rgba(255, 208, 1, 0.813);
}
.brand--footer .brand__mark{ width: 34px; height: 34px; border-radius: 12px; }

/* Nav */
.nav__toggle{
  display:none;
  width: 40px; height: 40px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.06);
  color: var(--text);
}
.nav__toggleIcon{
  display:block;
  width: 18px; height: 2px;
  background: var(--text);
  margin: 0 auto;
  position: relative;
}
.nav__toggleIcon::before,
.nav__toggleIcon::after{
  content:"";
  position:absolute; left:0;
  width: 18px; height: 2px;
  background: var(--text);
}
.nav__toggleIcon::before{ top:-6px; }
.nav__toggleIcon::after{ top:6px; }

.nav__menu{
  display:flex; align-items:center; gap: 18px;
  list-style:none; margin:0; padding:0;
}
.nav__menu a{ color: var(--muted); font-weight: 600; }
.nav__menu a:hover{ color: var(--text); }

/* =========================
   DROPDOWN (Header nav)
   - FIXED: no hover gap + hover bridge so it won't disappear
========================= */
.nav__menu .dropdown{ position: relative; }

/* Trigger styling (Info ▾) */
.nav__menu .dropdown > a{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 10px 10px;
  border-radius: 14px;
  color: var(--muted);
  font-weight: 600;
}
.nav__menu .dropdown > a:hover{
  color: var(--text);
  background: rgba(255,255,255,.06);
}

/* Hover “bridge” so moving the mouse down doesn't close the menu */
.nav__menu .dropdown::after{
  content:"";
  position:absolute;
  left:0;
  top:100%;
  width:100%;
  height:12px; /* bridge zone */
}

/* Floating panel (does NOT expand header) */
.nav__menu .dropdown__menu{
  position: absolute;
  top: 100%;        /* NO GAP (was calc(100% + 10px)) */
  left: 0;
  margin-top: 8px;  /* visual spacing without breaking hover */

  list-style: none;
  margin-left: 0;
  padding: 8px;

  min-width: 260px;

  border-radius: 16px;
  border: 1px solid rgba(255,210,0,.18);
  background: rgba(18,6,0,.94);
  box-shadow: var(--shadow);
  z-index: 999;

  display: none;
}

.nav__menu .dropdown:hover .dropdown__menu{
  display: block;
}

.nav__menu .dropdown__menu a{
  display:block;
  padding: 10px 12px;
  border-radius: 14px;
  color: rgba(255,255,255,.78);
  font-weight: 700;
  font-size: 13px;
}
.nav__menu .dropdown__menu a:hover{
  background: rgba(255,255,255,.06);
  color: rgba(255,210,0,.95);
}
.nav__menu .dropdown__menu li + li{
  border-top: 1px solid rgba(255,210,0,.10);
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.06);
  color: var(--text);
  font-weight: 700;
  cursor:pointer;
}
.btn--sm{ padding: 8px 10px; border-radius: 12px; font-size: 13px; }
.btn--primary{
  border: 1px solid rgba(255, 208, 1, 0.813);
  background: linear-gradient(135deg, rgba(255,143,0,.44), rgba(255,210,0,.32));
}
.btn--primary:hover{ filter: brightness(1.08); }
.btn--soft:hover{ background: rgba(255,255,255,.10); }

button[type="submit"]{
  margin-top: 24px;
}

/* Hero */
.hero{
  position: relative;
  padding: 58px 0 26px;
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:-40px -40px auto -40px;
  height: 520px;
  background:
    radial-gradient(900px 500px at 20% 20%, rgba(255,143,0,.30), transparent 62%),
    radial-gradient(700px 500px at 70% 10%, rgba(255,210,0,.26), transparent 58%),
    radial-gradient(650px 420px at 65% 65%, rgba(255,59,31,.14), transparent 55%);
  pointer-events:none;
}
.hero__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items: start;
}

.badge{
  display:inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 208, 1, 0.813);
  background: linear-gradient(135deg, rgba(255, 145, 0, 0.597), rgba(179, 147, 4, 0.908));
  color: rgba(255,255,255,.82);
  font-weight: 700;
  font-size: 13px;
}
h1 { font-size: clamp(32px, 3.6vw, 54px); line-height: 1.02; margin: 14px 0 10px; }
h2{ font-size: clamp(24px, 2.4vw, 34px); margin: 0 0 6px; }
h3{ margin: 0 0 6px; }
.muted{ color: var(--muted); }
.tiny{ font-size: 13px; }

/* Search card */
.search{
  margin-top: 18px;
  padding: 14px;
  border-radius: var(--radius2);
  border: 1px solid rgba(255, 208, 1, 0.813);
  background: rgba(255,255,255,.06);
  box-shadow: var(--shadow);
}
.search__row{
  display:grid;
  grid-template-columns: 1.4fr .8fr 1fr auto;
  gap: 12px;
  align-items:end;
}
.search__btn{ min-width: 140px; }
.search__meta{ margin-top: 12px; display:flex; gap: 10px; flex-wrap: wrap; }
.pill{
  border: 1px solid rgba(255, 208, 1, 0.21);
  background: rgba(255,255,255,.06);
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 13px;
  color: rgba(255,255,255,.78);
}

/* Inputs */
.field{ display:flex; flex-direction: column; gap: 6px; }
.field__label{ font-size: 13px; color: rgba(255,255,255,.76); font-weight: 800; }

input, select, textarea{
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(255, 208, 1, 0.327);
  background: rgba(0,0,0,.18);
  padding: 12px 12px;
  color: var(--text);
  outline: none;
}
textarea{ resize: vertical; }
input:focus, select:focus, textarea:focus{
  border-color: rgba(255, 208, 1, 0.813);
}

/* Trust */
.hero__trust{
  display:flex; gap: 12px; flex-wrap: wrap;
  margin-top: 16px;
}
.trustItem{
  border: 1px solid rgba(255, 208, 1, 0.813);
  border-radius: var(--radius);
  background: rgba(111, 61, 7, 0.842);
  padding: 12px 14px;
  min-width: 170px;
}
.trustItem__num{ font-weight: 900; font-size: 18px; color: rgb(255, 208, 0); }
.trustItem__text{ color: var(--muted); font-size: 13px; }

/* Hero featured card */
.hero__card{
  border: 1px solid rgba(255, 208, 1, 0.813);
  border-radius: var(--radius2);
  background: rgba(255,255,255,.06);
  overflow:hidden;
  box-shadow: var(--shadow);
}
.heroCard__img{
  height: 260px;
  background: url("https://res.cloudinary.com/dqrbf3hi6/image/upload/v1773459421/buda-point_pleavn.jpg") center/cover no-repeat;
  border-bottom: 1px solid rgba(255, 208, 1, 0.813);
}

.heroCard__body{ padding: 14px; }
.heroCard__top{ display:flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.price{
  font-weight: 800;
  color: rgba(255,210,0,.95);
  white-space: nowrap;
}
.miniList{ margin: 10px 0 12px; padding-left: 18px; color: var(--muted); }
.miniList li{ margin: 6px 0; }

/* Sections */
.section{ padding: 52px 0; }
.section--alt{
  background: linear-gradient(180deg, transparent, rgba(255,210,0,.06), transparent);
  border-top: 1px solid rgba(255, 208, 1, 0.813);
  border-bottom: 1px solid rgba(255, 208, 1, 0.813);
}
.sectionHead{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap: 18px;
  margin-bottom: 16px;
}

/* Filters */
.filters{ display:flex; gap: 10px; flex-wrap: wrap; }
.chip{
  border-radius: 999px;
  border: 1px solid rgba(255, 208, 1, 0.813);
  background: rgba(255,255,255,.06);
  padding: 10px 12px;
  color: rgba(255,255,255,.78);
  font-weight: 800;
  cursor:pointer;
}
.chip.is-active{
  color: rgba(0,0,0,.88);
  border-color: rgba(255, 208, 1, 0.813);
  background: linear-gradient(135deg, #ff8f00d9, rgba(255,210,0,.85));
}

/* Cards grid */
.grid{ display:grid; gap: 14px; }
.cards{ grid-template-columns: repeat(3, 1fr); }
.season-grid{ grid-template-columns: repeat(4, 1fr); }
.season-container{ width: min(1400px, calc(100% - 32px)); }

.card{
  border: 1px solid rgba(255, 208, 1, 0.813);
  border-radius: var(--radius2);
  background: rgba(111, 0, 0, 0.209);
  box-shadow: var(--shadow);
}

/* Tour cards */
.tour{ overflow:hidden; }
.tour__img{
  height: 250px;
  border-bottom: 1px solid hsla(255, 208, 1, 0.813);
  background:
    radial-gradient(620px 240px at 20% 25%, rgba(255,143,0,.38), transparent 62%),
    radial-gradient(520px 240px at 75% 35%, rgba(255,210,0,.30), transparent 58%),
    linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.02));
}
.tour__body{ padding: 14px; }
.tour__meta{
  display:flex; align-items:center; justify-content:space-between; gap: 10px;
  margin-top: 8px; color: var(--muted); font-weight: 800;
}
.tour__group{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 7px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.tour__groupRange{
  font-size: .8rem;
  font-weight: 800;
  color: var(--brand2);
  white-space: nowrap;
}
.tour__groupRange::before{
  content: "👥 ";
  font-style: normal;
}
.tour__groupLabel{
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.3;
}
.tag{
  border: 1px solid rgba(255, 208, 1, 0.813);
  background: rgba(0,0,0,.10);
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  color: rgba(255,210,0,.92);
}

/* Two column sections */
.twoCol{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items:start;
}

/* Feature list */
.featureList{ margin-top: 14px; display:grid; gap: 12px; }
.feature{
  display:flex; gap: 12px;
  border: 1px solid rgba(255, 208, 1, 0.685);
  background: rgba(255,255,255,.06);
  padding: 14px;
  border-radius: var(--radius2);
}
.feature__icon{
  width: 0px; height: 68px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(255,143,0,.22), rgba(255,210,0,.16));
  border: 1px solid rgba(255, 208, 1, 0.685);
}

/* Stats card */
.statsCard{ padding: 16px; }
.stats{ display:grid; gap: 10px; margin: 12px 0 14px; }
.stat{
  display:flex; align-items:baseline; justify-content:space-between; gap: 12px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255, 208, 1, 0.685);
  background: rgba(0,0,0,.16);
}
.stat__k{ color: rgba(255,255,255,.76); font-weight: 800; font-size: 13px; }
.stat__v{ font-weight: 900; color: rgba(255, 208, 1, 0.685); }

/* Reviews */
.reviews{ grid-template-columns: repeat(3, 1fr); }
.review{
  border: 1px solid rgba(255, 208, 1, 0.685);
  border-radius: var(--radius2);
  background: rgba(255,255,255,.06);
  padding: 14px;
}
.review__top{ display:flex; align-items:baseline; justify-content:space-between; gap: 10px; }
.stars{ color: rgba(255, 208, 1, 0.685); letter-spacing: 1px; }
.review__by{ color: var(--muted); font-weight: 700; margin-top: 10px; }

/* FAQ */
.accordion{ display:grid; gap: 10px; }
.acc{
  border: 1px solid rgba(255, 208, 1, 0.585);
  border-radius: var(--radius2);
  background: rgba(255,255,255,.06);
  padding: 12px 14px;
}
.acc summary{ cursor:pointer; font-weight: 900; }
.acc__body{ margin-top: 10px; }

/* Forms */
.form{ padding: 16px; }
.form__row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.output{
  margin-top: 12px;
  border-top: 1px solid rgba(255, 208, 1, 0.585);
  padding-top: 12px;
}
.output__top{ display:flex; align-items:center; justify-content:space-between; gap: 12px; }
pre{
  white-space: pre-wrap;
  word-wrap: break-word;
  margin: 10px 0 0;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,210,0,.26);
  background: rgba(0,0,0,.16);
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono";
}

/* Callout */
.callout{
  margin-top: 14px;
  padding: 14px;
  border-radius: var(--radius2);
  border: 1px solid rgba(255,210,0,.26);
  background: linear-gradient(135deg, rgba(255,143,0,.20), rgba(255,210,0,.14));
}

/* Footer */
.footer{
  padding: 9px 0;
  border-top: 1px solid rgba(255, 208, 1, 0.585);
  background: rgba(18,6,0,.78);
}

.footer__inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,210,0,.92);
  margin-bottom: 12px;
}

.footer__brand{ max-width: 520px; }

.footer__quicklinks{
  display:flex;
  gap: 14px;
  flex-wrap: wrap;
  color: rgba(255,255,255,.78);
  font-weight: 800;
}
.footer__quicklinks a:hover{ color: rgba(255,210,0,.92); }

.footer__nav{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 26px;
}

.footer__col{
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.footer__col strong{
  color: rgba(255,210,0,.92);
  margin-bottom: 6px;
  font-size: 14px;
  letter-spacing: .2px;
}

.footer__col a{
  color: rgba(255,255,255,.75);
  font-weight: 650;
  font-size: 12px;
}
.footer__col a:hover{ color: rgba(255,210,0,.95); }

/* Footer responsive */
@media (max-width: 920px){
  .footer__inner{
    flex-direction: column;
    align-items: flex-start;
  }
  .footer__nav{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 560px){
  .footer__nav{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Responsive */
@media (max-width: 920px){
  .hero__grid{ grid-template-columns: 1fr; }
  .search__row{ grid-template-columns: 1fr 1fr; }
  .search__btn{ grid-column: 1 / -1; }
  .cards{ grid-template-columns: 1fr 1fr; }
  .twoCol{ grid-template-columns: 1fr; }
  .reviews{ grid-template-columns: 1fr; }
}

@media (max-width: 720px){
  .nav__toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .nav__menu{
    position:absolute;
    right: 16px;
    top: 64px;
    flex-direction: column;
    align-items: stretch;
    width: min(340px, calc(100vw - 32px));
    padding: 12px;
    border-radius: var(--radius2);
    border: 1px solid rgba(255,210,0,.18);
    background: rgba(18,6,0,.94);
    box-shadow: var(--shadow);
    display:none;
  }
  .nav__menu.is-open{ display:flex; }
  .nav__menu li{ width: 100%; }
  .nav__menu a{ display:block; padding: 10px 10px; border-radius: 14px; }
  .nav__menu a:hover{ background: rgba(255,255,255,.06); }
  .cards{ grid-template-columns: 1fr; }
  .form__row{ grid-template-columns: 1fr; }

  /* =========================
     DROPDOWN (mobile)
     - inline inside the mobile panel
  ========================= */
  .nav__menu .dropdown::after{
    display:none; /* bridge not needed in mobile panel */
  }

  .nav__menu .dropdown__menu{
    position: static;
    min-width: 0;
    width: 100%;
    margin-top: 6px;
    padding: 6px;
    border-radius: 14px;
    background: rgba(0,0,0,.14);
    border: 1px solid rgba(255,210,0,.14);
    box-shadow: none;
    display: none; /* collapsed by default */
  }
  .nav__menu .dropdown:hover .dropdown__menu{
    display: block;
  }
}

/* Optional: keep your stars color consistent */
.stars{ color: rgba(255,210,0,.92); letter-spacing: 1px; }

/* Header arrow buttons (left/right) */
.reviewsNav{
  display:flex;
  gap:10px;
  align-items:center;
}

/* Reuse your existing .btn styles; this just sizes the arrow buttons */
.reviewsBtn{
  min-width: 42px;
  height: 42px;
  border-radius: 999px;
}

/* Horizontal scroll track */
.reviewsTrack{
  margin-top: 14px;
  display:flex;
  gap: 14px;
  overflow-x:auto;
  padding: 6px 2px 10px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.reviewsTrack:focus{
  outline: 2px solid rgba(255,210,0,.92);
  outline-offset: 6px;
  border-radius: 14px;
}

/* Each review card */
.reviewCard{
  flex: 0 0 clamp(260px, 34vw, 360px);
  scroll-snap-align: start;

  border: 1px solid rgba(255,210,0,.92);
  border-radius: var(--radius2);
  background: rgba(255,255,255,.06);
  box-shadow: var(--shadow);

  padding: 14px;
  cursor: pointer;
}

.reviewCard:hover{
  border-color: rgba(255,210,0,.92);
}

/* Top row in card (title + stars) */
.reviewTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}

/* Truncated preview text (4 lines) */
.reviewText{
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Bottom byline */
.reviewBy{
  margin-top: 10px;
  font-size: 13px;
  opacity: .85;
  color: var(--muted);
  font-weight: 700;
}

/* =========================================================
   MODAL (dialog) for full review
========================================================= */
.reviewDialog{
  border: 0;
  padding: 0;
  border-radius: 16px;
  max-width: 720px;
  width: calc(100% - 28px);
  background: rgba(20,20,20,.98);
  color: var(--text);
}

.reviewDialog::backdrop{
  background: rgba(0,0,0,.55);
}

.reviewDialog__inner{
  padding: 16px;
}

.reviewDialog__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}

/* Close button inside modal */
.reviewDialog__close{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: transparent;
  color: var(--text);
  cursor: pointer;
}
.reviewDialog__close:hover{
  background: rgba(255,255,255,.08);
}

/* =========================================================
   Photos Gallery
========================================================= */
.gallery-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.gallery-grid img{
  width: 95%;
  height: 250px;
  object-fit: fill;
  border-radius: 8px;
}
/* =========================================================
   Search Results Banner
========================================================= */
#searchBanner {
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
  font-size: .9rem;
}

.searchBanner__filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px 10px 0 0;
  padding: 10px 16px;
  color: var(--text);
}

#searchBanner:not(:has(.searchBanner__fest)) .searchBanner__filter {
  border-radius: 10px;
}

.searchBanner__clear {
  background: none;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 6px;
  color: var(--muted);
  cursor: pointer;
  font-size: .8rem;
  padding: 3px 10px;
  white-space: nowrap;
  transition: background .15s, color .15s;
}

.searchBanner__clear:hover {
  background: rgba(255,255,255,.08);
  color: var(--text);
}

.searchBanner__fest {
  background: rgba(255, 210, 0, .08);
  border: 1px solid rgba(255, 210, 0, .22);
  border-top: none;
  border-radius: 0 0 10px 10px;
  padding: 9px 16px;
  color: var(--text);
  line-height: 1.5;
}

.searchBanner__fest a {
  color: var(--brand2);
  text-decoration: none;
}

.searchBanner__fest a:hover {
  text-decoration: underline;
}

/* =========================================================
   First-reviewer / no-reviews-yet section
========================================================= */
.firstReview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
  margin-top: 24px;
}

@media (max-width: 660px) {
  .firstReview { grid-template-columns: 1fr; }
}

.firstReview__promise h3 {
  margin: 0 0 16px;
  font-size: 1.05rem;
}

.firstReview__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.firstReview__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .95rem;
  color: var(--text);
  line-height: 1.45;
}

.firstReview__icon {
  color: var(--brand2);
  flex-shrink: 0;
  font-size: .8rem;
  margin-top: 3px;
}

.firstReview__cta {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,210,0,.18);
  border-radius: var(--radius);
  padding: 28px 24px;
}

.firstReview__note {
  margin: 14px 0 0;
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.5;
}

/* =========================================================
   Breadcrumbs
========================================================= */
.breadcrumb {
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  margin: 0 auto;
  max-width: var(--max);
  padding: 10px 24px;
  font-size: .82rem;
}

.breadcrumb__item {
  display: flex;
  align-items: center;
  color: var(--muted);
}

/* chevron separator — generated before every item except the first */
.breadcrumb__item + .breadcrumb__item::before {
  content: "›";
  margin: 0 7px;
  opacity: .45;
  font-size: .9em;
}

.breadcrumb__item a {
  color: var(--muted);
  text-decoration: none;
  transition: color .15s;
}

.breadcrumb__item a:hover {
  color: var(--brand2);
  text-decoration: underline;
}

/* current page — slightly brighter, not a link */
.breadcrumb__item span[aria-current="page"] {
  color: rgba(255,255,255,.88);
  font-weight: 500;
}

/* =========================================================
   WhatsApp Floating Button (#11)
========================================================= */
.whatsappBtn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
  transition: transform .2s, box-shadow .2s;
  text-decoration: none;
}
.whatsappBtn:hover {
  transform: scale(1.08) translateY(-2px);
  box-shadow: 0 8px 28px rgba(0,0,0,.45);
}
@media (max-width: 480px) {
  .whatsappBtn { bottom: 16px; right: 16px; width: 50px; height: 50px; }
}

/* =========================================================
   Footer Social Links (#17)
========================================================= */
.footer__social {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer__social strong {
  display: block;
  margin-bottom: 4px;
}
.footer__social a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: .9rem;
  transition: color .15s;
}
.footer__social a:hover {
  color: var(--brand2);
}
.footer__social svg {
  flex-shrink: 0;
  opacity: .75;
}

/* =========================================================
   Pricing Transparency Section (#9)
========================================================= */
.priceLine {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  font-size: .92rem;
}
.priceLine:last-of-type { border-bottom: none; }
.priceLine__label { color: var(--muted); flex: 1; }
.priceLine__val   { font-weight: 600; white-space: nowrap; color: var(--text); }
.priceLine--total { border-top: 2px solid var(--line); margin-top: 4px; padding-top: 12px; }
.priceLine--total .priceLine__label,
.priceLine--total .priceLine__val { font-size: 1.05rem; color: var(--brand); font-weight: 700; }
.priceLine--per .priceLine__val { color: var(--muted); font-size: .9rem; }

.simpleList {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.simpleList li {
  font-size: .92rem;
  color: var(--muted);
  padding-left: 4px;
}
.simpleList li::before { content: ""; }

/* =========================================================
   Post-Booking / Pre-Departure Section (#6)
========================================================= */
.postBookGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.postBookCard {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
}
.postBookCard__icon {
  font-size: 1.6rem;
  margin-bottom: 10px;
  display: block;
}
.postBookCard h3 { font-size: 1rem; margin: 0 0 6px; }
.postBookCard p  { font-size: .87rem; color: var(--muted); margin: 0; }

/* =========================================================
   Pre-Departure Checklist page
========================================================= */
.checkList {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.checkList li {
  font-size: .92rem;
  color: var(--muted);
  padding-left: 24px;
  position: relative;
  line-height: 1.55;
}
.checkList li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--brand);
  font-weight: 700;
}

/* =========================================================
   Festival modal meta2 (crowd / lead / best-for) (#10)
========================================================= */
.festMeta2 {
  background: rgba(255,143,0,.07);
  border: 1px solid rgba(255,143,0,.2);
  border-radius: var(--radius);
  padding: 12px 16px;
  margin: 14px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.festMeta2__row {
  display: flex;
  gap: 10px;
  font-size: .88rem;
  align-items: baseline;
}
.festMeta2__label {
  color: var(--muted);
  min-width: 90px;
  flex-shrink: 0;
}
.festMeta2__val { color: var(--text); }
.festMeta2__row--best .festMeta2__val { font-style: italic; }

/* =========================================================
   Trip Planner magic (#2)
========================================================= */
/* Activity tip that appears when item is checked */
.actTip {
  margin-top: 8px;
  padding: 8px 12px;
  background: rgba(255,210,0,.1);
  border-left: 3px solid var(--brand2);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-size: .84rem;
  color: var(--text);
  line-height: 1.5;
}

/* Difficulty and altitude pill variants */
.pillMini--diff {
  background: rgba(255,143,0,.15);
  color: var(--brand);
}
.pillMini--alt {
  background: rgba(100,160,220,.12);
  color: #7ab8e8;
}

/* Festival anchor banner in planner */
.festBanner {
  background: rgba(255,143,0,.08);
  border: 1px solid rgba(255,143,0,.25);
  border-radius: var(--radius);
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: .92rem;
}
.festBanner strong { font-size: 1rem; }
.festBanner__lead {
  color: var(--hot);
  font-weight: 600;
}
.festBanner__best { color: var(--muted); }
