@font-face {
  font-family: 'Gotham';
  src: url('../fonts/GOTHAM-LIGHT.woff2') format('woff2');
  font-weight: 300; font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham';
  src: url('../fonts/GOTHAM-MEDIUM.woff2') format('woff2');
  font-weight: 500; font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham';
  src: url('../fonts/GOTHAM-BOLD.woff2') format('woff2');
  font-weight: 700; font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Glacial Indifference';
  src: url('../fonts/GlacialIndifference-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Glacial Indifference';
  src: url('../fonts/GlacialIndifference-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ======================
  Global / Resets
====================== */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; overflow-x: hidden; }

:root{
  --page-gutter: 16px;
  --page-max: 1180px;

  --list-card: clamp(170px, 18vw, 209px);
  --list-gap: 12px;

  --ink:   #1d2a27;
  --muted: #5c6b68;
  --line:  #e3ece9;
  --chip:  #eef3f2;
  --chip-ink: #355752;
  --accent: #FF8C00;
  --teal:   #52968B;

  --header-pad-y: 6px;
  --brand-img: 32px;
  --icon-btn: 34px;

  --cat-card: 220px;
  --cat-gap: 12px;

  --max-article: 900px;

  /* City & category shared */
  --city-card-gap: 14px;
  --city-card-h:   clamp(170px, 18vw, 210px);
  --rail-arrow-bleed: 10px;
}

body {
  font-family: 'Fira Sans', sans-serif;
  background:#fff;
  color: var(--ink);
}

/* Material Symbols */
.material-symbols-rounded,
.material-symbols-outlined{
  font-variation-settings:'FILL'0,'wght'400,'GRAD'0,'opsz'48;
  visibility:hidden;
}
.material-symbols-rounded:has(svg.heroicon-inline),
.material-symbols-outlined:has(svg.heroicon-inline){
  visibility:visible;
}

/* ======================
  Header
====================== */
.header-inner{
  /* keep the sticky header at least as wide as the hero frame for consistent left alignment */
  max-width:max(var(--page-max), 1236px);
  margin:0 auto;
  padding:var(--header-pad-y) var(--page-gutter);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
}
.brand{
  display:inline-flex; align-items:center; gap:6px;
  font-weight:400; letter-spacing:.2px; color:var(--ink);
  text-decoration:none;
  font-family:'Gotham', 'Fira Sans', sans-serif;
}
.brand img{
  width:var(--brand-img); height:var(--brand-img);
  border-radius:8px; object-fit:contain;
}
.brand span{
  font-family:'Glacial Indifference','Fira Sans',system-ui,sans-serif;
  font-weight:700 !important;
  font-size:.92rem;
}
.header-actions{
  justify-self:end;
  display:inline-flex; align-items:center; gap:6px;
}
.locale-menu{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.locale-menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--icon-btn);
  height:var(--icon-btn);
  border-radius:0;
  border:none;
  background:transparent;
  cursor:pointer;
  list-style:none;
}
.locale-menu-toggle::-webkit-details-marker{
  display:none;
}
.locale-panel{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:220px;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  padding:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  z-index:50;
}
.locale-menu[open] .locale-panel{
  display:flex;
}
.cart-menu{
  position:relative;
}
.cart-menu-toggle{
  list-style:none;
}
.cart-menu-toggle::-webkit-details-marker{
  display:none;
}
.cart-panel{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:min(340px, calc(100vw - 32px));
  min-width:280px;
  flex-direction:column;
  gap:12px;
  padding:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  z-index:60;
}
.cart-menu[open] .cart-panel{
  display:flex;
}
@media (max-width: 560px){
  .cart-panel{
    position:fixed;
    left:var(--page-gutter);
    right:var(--page-gutter);
    top:calc(var(--header-pad-y) + 44px);
    transform:none;
    width:auto;
  }
}
.cart-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font:700 13px 'Fira Sans',sans-serif;
  color:var(--ink);
}
.cart-panel-count{
  font:600 12px 'Fira Sans',sans-serif;
  color:var(--muted);
}
.cart-panel-body{
  display:grid;
  gap:10px;
  max-height:320px;
  overflow:auto;
}
.cart-panel-empty{
  padding:12px;
  border-radius:12px;
  background:var(--soft-green);
  color:var(--muted);
  font-size:13px;
}
.cart-panel-item{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:10px;
  align-items:center;
}
.cart-panel-thumb{
  width:54px;
  height:54px;
  border-radius:12px;
  background:#e8f0ef;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
}
.cart-panel-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cart-panel-info{
  min-width:0;
}
.cart-panel-title{
  margin:0;
  font-size:13px;
  font-weight:700;
  color:var(--ink);
  line-height:1.2;
}
.cart-panel-meta{
  margin-top:4px;
  font-size:12px;
  color:var(--muted);
  line-height:1.35;
}
.cart-panel-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.cart-panel-checkout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:#000;
  color:#fff;
  font:700 12px 'Fira Sans',sans-serif;
  text-decoration:none;
}
.cart-panel-checkout.is-disabled{
  opacity:.5;
  pointer-events:none;
}
.language-dropdown{
  position:relative;
  width:100%;
}
.language-dropdown summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  font:600 12px 'Fira Sans',sans-serif;
  color:var(--ink);
  cursor:pointer;
}
.language-dropdown summary .material-symbols-rounded{
  font-size:18px;
}
.language-dropdown summary::-webkit-details-marker{
  display:none;
}
.language-dropdown summary:hover{
  background:rgba(134, 134, 134, 0.115);
}
.language-options{
  display:none;
  position:absolute;
  right:0;
  margin-top:6px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  padding:6px 0;
  min-width:140px;
  z-index:20;
}
.language-dropdown[open] .language-options{
  display:block;
}
.language-option{
  width:100%;
  padding:8px 14px;
  border:none;
  background:transparent;
  text-align:left;
  font:600 13px 'Fira Sans',sans-serif;
  cursor:pointer;
}
.language-option.active{
  font-weight:700;
}
.language-option:hover{
  background:rgba(0,0,0,0.05);
}
@media (max-width: 768px){
  .locale-panel .currency-options,
  .locale-panel .language-options{
    position:static;
    margin-top:6px;
    box-shadow:none;
  }
}
.icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:var(--icon-btn); height:var(--icon-btn);
  border-radius:10px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  cursor:pointer;
  position:relative;
  overflow:visible;
  line-height:1;
}
.icon-btn.is-hidden{
  display:none !important;
}

/* Hide cart UI globally until onsite checkout is enabled */
.icon-btn .material-symbols-rounded{
  font-size:22px; color:var(--ink);
}
 .icon-btn .cart-badge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  background:#C5EF14;
  color:#000;
  font-size:10px;
  font-weight:600;
  letter-spacing:.02em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform:none;
  white-space:nowrap;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
  opacity:0;
  transform:scale(0.85);
  transition:opacity .2s ease, transform .2s ease;
}
.icon-btn .cart-badge.is-visible{
  opacity:1;
  transform:scale(1);
}

/* Meta navigation placed below hero images */
.meta-nav{
  max-width:1236px;
  margin:0.75rem auto 1.25rem;
  padding:0 var(--page-gutter);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.4rem;
  font-size:.95rem;
  color:#5f6670;
  letter-spacing:.01em;
}
.meta-nav a{
  color:#5f6670;
  font-weight:600;
  text-decoration:none;
}
.meta-nav a:focus-visible,
.meta-nav a:hover{
  text-decoration:underline;
}
.meta-nav__current{
  font-weight:700;
  color:#5f6670;
}
.meta-nav__sep{
  color:#5f6670;
  user-select:none;
}

.profile-menu{
  position:relative;
}
.profile-btn{
  width:44px;
  height:44px;
  border-radius:0;
  border:none;
  background:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
  overflow:hidden;
  transition:box-shadow .18s ease, transform .18s ease;
}
.profile-btn:focus-visible{
  outline:2px solid rgba(82,150,139,0.8);
  outline-offset:2px;
}
.profile-btn.has-photo .profile-placeholder{
  opacity:0;
  transform:scale(.4);
}
.profile-btn.has-photo .profile-photo{
  opacity:1;
}
.profile-placeholder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#000;
  font-size:28px;
  transition:opacity .18s ease, transform .18s ease;
}
.profile-btn .material-symbols-rounded{
  font-size:24px !important;
}
.profile-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  opacity:0;
  transition:opacity .18s ease;
}
.profile-dropdown{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:200px;
  background:#fff;
  border-radius:16px;
  padding:4px 0;
  box-shadow:0 12px 28px rgba(0,0,0,.25);
  display:flex;
  flex-direction:column;
  gap:4px;
  pointer-events:none;
  opacity:0;
  transform:translateY(-10px);
  transition:opacity .2s ease, transform .2s ease;
  z-index:10;
}
.profile-menu.open .profile-dropdown{
  pointer-events:auto;
  opacity:1;
  transform:translateY(0);
}
.profile-dropdown li{
  list-style:none;
}
.profile-dropdown-section{
  display:block;
  padding:8px 16px 4px;
  font:700 11px 'Fira Sans', sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.profile-dropdown a,
.profile-dropdown button{
  width:100%;
  text-align:left;
  padding:10px 16px;
  border:none;
  background:transparent;
  font-family:'Glacial Indifference','Fira Sans',sans-serif;
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  text-decoration:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
}
.profile-dropdown .material-symbols-rounded{
  font-size:18px;
}
.profile-dropdown a:hover,
.profile-dropdown button:hover{
  background:rgba(0,0,0,.05);
}
.profile-photo-input{
  position:absolute;
  width:0;
  height:0;
  opacity:0;
  pointer-events:none;
}

/* Language pill */
.lang-toggle{
  display:flex; align-items:center; gap:8px;
  padding:3px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.lang-toggle button{
  font-weight:600; font-size:12px;
  padding:5px 8px;
  border-radius:999px; border:0;
  background:transparent;
  cursor:pointer;
  color:var(--muted);
}
.lang-toggle button.active{
  background:#111;
  color:#fff;
}

/* Currency dropdown (header) */
.currency-dropdown{
  position:relative;
}
.currency-dropdown summary{
  list-style:none;
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  font:600 12px 'Fira Sans',sans-serif;
  color:var(--ink);
  cursor:pointer;
}
.currency-dropdown summary::-webkit-details-marker{
  display:none;
}
.currency-dropdown summary .material-symbols-rounded{
  font-size:18px;
}
.currency-options{
  display:none;
  position:absolute;
  right:0;
  margin-top:6px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  padding:6px 0;
  min-width:120px;
  z-index:20;
}
.currency-dropdown[open] .currency-options{
  display:block;
}
.currency-option{
  width:100%;
  padding:8px 14px;
  border:none;
  background:transparent;
  text-align:left;
  font:600 13px 'Fira Sans',sans-serif;
  cursor:pointer;
}
.currency-option.is-active{
  font-weight:700;
}
.currency-option:hover{
  background:rgba(0,0,0,0.05);
}

/* Center nav */
.primary-nav{
  justify-self:center;
  display:inline-flex; gap:6px;
  background:#fff;
  border:0.8px solid #91919100;
  border-radius:999px;
  padding:2px;
}
.mobile-nav{
  display:none;
  position:relative;
}
.mobile-nav-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  list-style:none;
}
.mobile-nav-toggle::-webkit-details-marker{
  display:none;
}
.mobile-nav-toggle .material-symbols-rounded{
  font-size:20px;
}
.mobile-nav-toggle .material-symbols-outlined{
  font-size:20px;
}
.locale-menu-toggle .material-symbols-rounded{
  font-size:24px;
}
.mobile-nav-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:190px;
  display:none;
  flex-direction:column;
  gap:2px;
  padding:8px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  z-index:50;
}
.mobile-nav-section{
  padding:6px 10px 2px;
  font:700 11px 'Fira Sans', sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.mobile-nav[open] .mobile-nav-menu{
  display:flex;
}
.mobile-nav-menu a{
  display:block;
  padding:8px 10px;
  border-radius:10px;
  text-decoration:none;
  color:#050505;
  font:600 13px 'Glacial Indifference','Fira Sans', sans-serif;
}
.mobile-nav-menu a:hover{
  background:rgba(134, 134, 134, 0.115);
}
@media (max-width: 768px){
  .header-inner{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    max-width:var(--page-max);
    margin:0 auto;
    padding:var(--header-pad-y) var(--page-gutter);
  }
  .header-actions{
    margin-left:auto;
    justify-self:auto;
  }
  .icon-btn,
  .locale-menu-toggle,
  .mobile-nav-toggle{
    border:none;
    background:transparent;
    box-shadow:none;
    padding:0;
  }
  .locale-menu-toggle{
    display:inline-flex;
  }
  .locale-panel{
    min-width:200px;
    padding:10px;
    align-items:flex-start;
  }
  .locale-panel .lang-toggle{
    width:100%;
    justify-content:space-between;
  }
  .primary-nav{
    display:none;
  }
  .mobile-nav{
    display:none;
  }
  .profile-menu{
    display:inline-flex;
  }
  .header-actions{
    justify-content:flex-end;
    width:100%;
  }
}

/* ======================
  Hero
====================== */
.hero-image{
  display:flex;
  justify-content:center;
  width:100%;
  margin:0 auto 2rem;
  padding:0 var(--page-gutter);
}
.hero-frame{
  position:relative;
  width:100%;
  max-width:1236px;
  height:275px;
  border-radius:36px;
  overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.15);
}
.hero-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media (max-width: 768px){
  .hero-image{
    margin:0 0 1.25rem;
    padding:0;
  }
  .hero-frame{
    max-width:100%;
    height:180px;
    border-radius:0;
  }
}

/* ======================
  Section Helpers
====================== */
.eyebrow, .kicker{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:6px 10px;
  background:var(--chip);
  color:var(--chip-ink);
  border-radius:9999px;
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:10px;
}
/* ======================
  Tour Cards
====================== */
.tour-card{
  width:var(--list-card);
  background:transparent;
  border-radius:16px;
  overflow:hidden;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:.4rem;
  transition:none;
}
.tour-card:hover{
  transform:none;
}
.tour-image-wrapper{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  border-radius:16px;
  overflow:hidden;
  margin:0;
  border:6px solid #fff;
  background:#fff;
  box-sizing:border-box;
}
.tour-image-wrapper img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:10px;
  display:block;
  transform:scale(1);
  transition:transform 1.6s ease;
  will-change:transform;
}
.tour-card:hover .tour-image-wrapper img{
  transform:scale(1.06);
}
.featured-cards-section .tour-image-wrapper{
  border:0;
  background:transparent;
}
.featured-cards-section .tour-image-wrapper img{
  border-radius:16px;
}
@media (max-width: 768px){
  .tour-image-wrapper{
    border:0;
    background:transparent;
  }
  .tour-image-wrapper img{
    border-radius:16px;
  }
  .tour-length-badge{
    top:10px;
    left:10px;
    padding:5px 9px;
    font-size:10px;
    letter-spacing:.08em;
  }
}
.tour-length-badge{
  position:absolute;
  top:12px; left:12px;
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  font:600 11px/1 'Glacial Indifference','Fira Sans',sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
  border:1px solid rgba(255,255,255,0.32);
  background:linear-gradient(0deg, rgba(0,0,0,.24), rgba(0,0,0,.24)), rgba(255,255,255,0.12);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}

.tour-sale-badge{
  position:absolute;
  right:12px;
  top:calc(12px + 30px + 6px);
  width:52px;
  height:52px;
  padding:4px;
  border-radius:50%;
  background:#C5EF14;
  color:#111;
  font-size:.95rem;
  font-weight:800;
  letter-spacing:.02em;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1;
  box-shadow:0 10px 18px rgba(0,0,0,.25), 0 2px 6px rgba(0,0,0,.18);
  z-index:3;
  pointer-events:none;
}
.tour-sale-badge .sale-pct{
  font-size:1.45rem;
  font-weight:900;
  line-height:1;
}
.tour-sale-badge .sale-off{
  font-size:.65rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1;
}
.tour-sale-badge--top{
  top:calc(12px + 30px + 6px);
  bottom:auto;
}

.tour-price-was{
  margin-left:6px;
  font-size:.72rem;
  color:rgba(5,5,5,.55);
  text-decoration:line-through;
  font-weight:400;
}

.tour-location{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:0.9rem 1rem 1rem;
  display:flex;
  align-items:center;
  gap:0.45rem;
  color:#fff;
  font:600 1rem "Glacial Indifference", "Fira Sans", sans-serif;
  letter-spacing:.03em;
  text-transform:none;
  text-shadow:0 1px 6px rgba(0,0,0,.65);
  pointer-events:none;
  z-index:2;
}
.tour-location::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.25) 55%, rgba(0, 0, 0, 0));
  z-index:0;
}
.tour-location-icon,
.tour-location-name{
  position:relative;
  z-index:1;
}
.tour-location-icon{
  width:1.3rem;
  height:1.3rem;
  flex-shrink:0;
  background-color:yellowgreen;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));
  mask:url("../fonts/location_pin.svg") no-repeat center/contain;
  -webkit-mask:url("../fonts/location_pin.svg") no-repeat center/contain;
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
}
.wishlist-btn{
  position:absolute;
  top:12px; right:12px;
  z-index:3;
  display:flex;
  align-items:center; justify-content:center;
  width:30px; height:30px;
  background:linear-gradient(0deg, rgba(0,0,0,.24), rgba(0,0,0,.24)), rgba(255,255,255,0.12);
  border-radius:999px;
  cursor:pointer;
  transition:.2s;
  border:1px solid rgba(255,255,255,0.32);
  color:#8c8c8c;
  box-shadow:0 2px 6px rgba(0,0,0,.12);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.wishlist-btn .wishlist-icon{
  width:18px;
  height:18px;
  display:block;
  fill:#111;
  stroke:#111;
  stroke-width:0;
}
.wishlist-btn.active,
.wishlist-btn[aria-pressed="true"]{
  background:#ff4d4d;
  color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.wishlist-btn.active .wishlist-icon{
  fill:#fff;
  stroke:#fff;
  stroke-width:0;
}
.wishlist-btn[aria-pressed="true"] .wishlist-icon{
  fill:#fff;
  stroke:#fff;
  stroke-width:0;
}
@media (hover:none){
  .wishlist-btn:hover{
    background:linear-gradient(0deg, rgba(0,0,0,.24), rgba(0,0,0,.24)), rgba(255,255,255,0.12);
    transform:none;
  }
}
.tour-card-content{
  padding:0 .85rem 1rem .85rem;
  display:flex; flex-direction:column;
  gap:.35rem;
  background:transparent;
  border-radius:0 0 16px 16px;
  box-shadow:none;
}
.wishlist-page{
  padding-bottom:3rem;
}
.wishlist-hero{
  max-width:max(var(--page-max), 1236px);
  margin:0 auto;
  padding:2.5rem var(--page-gutter) 1rem;
}
.wishlist-hero h1{
  font-size:clamp(32px, 5vw, 44px);
  line-height:1.2;
  margin-bottom:.35rem;
}
.wishlist-hero p{
  color:var(--muted);
  max-width:640px;
}
.wishlist-section{
  max-width:max(var(--page-max), 1236px);
  margin:0 auto;
  padding:0 var(--page-gutter);
}
.wishlist-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.5rem;
}
.wishlist-head h2{
  margin:0;
  font-size:clamp(24px, 4vw, 32px);
}
.wishlist-status{
  color:var(--muted);
  font-size:.95rem;
  text-align:right;
  width:100%;
}
.wishlist-grid{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.wishlist-grid .tour-card{
  width:100%;
  display:flex;
  align-items:flex-start;
  flex-direction:row;
  gap:1.25rem;
  padding:1.25rem;
  border-radius:24px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,0.05);
  cursor:default;
  overflow:visible;
}
.wishlist-grid .tour-card:focus-visible{
  outline:3px solid rgba(0,109,125,0.3);
  outline-offset:4px;
}
.wishlist-grid .tour-card:hover{
  transform:none;
  box-shadow:0 25px 60px rgba(0,0,0,0.08);
}
.wishlist-grid .tour-card-actions{
  min-width:200px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.6rem;
  justify-content:flex-start;
  flex-shrink:0;
}
.tour-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(var(--list-card), 1fr));
  gap:var(--list-gap);
  justify-content:start;
}
.wishlist-grid .tour-start-time{
  font-family:'Fira Sans',sans-serif;
  font-weight:500;
  font-size:.95rem;
  color:var(--muted);
  display:flex;
  gap:.25rem;
  align-items:center;
}
.wishlist-grid .tour-start-time-label{
  font-weight:600;
  color:var(--ink);
}
.wishlist-grid .tour-start-time-value{
  color:var(--muted);
}
.wishlist-grid .tour-calendar-wrapper{
  position:relative;
  width:100%;
}
.wishlist-grid .tour-calendar-wrapper .tour-calendar-warning{
  position:absolute;
  top:50%;
  right:calc(100% + 0.5rem);
  transform:translateY(-50%);
  font-size:.8rem;
  font-weight:600;
  color:#d43737;
  font-family:'Fira Sans',sans-serif;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  white-space:nowrap;
}
.wishlist-grid .tour-calendar-wrapper .tour-calendar-warning.is-visible{
  opacity:1;
}
.tour-calendar-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 0.5rem);
  width:min(280px, 100vw);
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 25px 60px rgba(0,0,0,0.18);
  padding:.75rem;
  z-index:20;
}
.tour-calendar-dropdown[hidden]{
  display:none;
}
.tour-calendar-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.35rem;
}
.tour-calendar-nav{
  border:none;
  background:transparent;
  cursor:pointer;
  padding:.25rem;
  border-radius:50%;
  transition:background .2s ease;
}
.tour-calendar-nav:hover{
  background:rgba(0,0,0,0.05);
}
.tour-calendar-month-label{
  font-family:'Glacial Indifference','Fira Sans',sans-serif;
  font-weight:600;
}
.tour-calendar-label{
  font:500 .9rem 'Glacial Indifference','Fira Sans',sans-serif;
  margin-left:.4rem;
  text-transform:none;
}
.tour-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr));
  gap:.35rem;
}
.tour-calendar-empty{
  font-family:'Fira Sans',sans-serif;
  font-size:.9rem;
  text-align:center;
  padding:.5rem;
  color:#555;
}
.tour-calendar-day{
  border:none;
  background:#f5f6f5;
  color:#1d2a27;
  border-radius:12px;
  height:2.4rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  font-family:'Glacial Indifference','Fira Sans',sans-serif;
  cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.tour-calendar-day.spacer{
  background:transparent;
  cursor:default;
}
.tour-calendar-day:hover:not(.is-disabled){
  background:#e3ece9;
}
.tour-calendar-day.is-disabled{
  opacity:.45;
  cursor:not-allowed;
}
.tour-calendar-day.is-selected{
  background:#1d2a27;
  color:#fff;
}
.wishlist-grid .tour-option-row{
  width:100%;
  display:flex;
  flex-direction:row;
  gap:.35rem;
  align-items:center;
  flex-wrap:wrap;
}
.wishlist-grid .tour-option-summary{
  width:fit-content;
  max-width:100%;
}
.wishlist-grid .tour-option-dropdown{
  flex-basis:100%;
}
.tour-option-summary{
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  padding:.55rem .75rem;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font:600 .85rem 'Fira Sans', sans-serif;
  cursor:pointer;
  gap:.6rem;
}
.tour-option-summary-icon{
  font-size:1rem;
  transition:transform .2s ease;
}
.tour-option-summary[aria-expanded="true"] .tour-option-summary-icon{
  transform:rotate(180deg);
}
.tour-option-summary:hover{
  border-color:#a7b5b0;
}
.tour-option-dropdown{
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,0.12);
  max-height:280px;
  overflow:auto;
  z-index:5;
}
.tour-option-dropdown[hidden]{
  display:none;
}
.tour-option-list{
  display:flex;
  flex-direction:column;
}
.option-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.65rem .85rem;
  border-bottom:1px solid var(--line);
  cursor:pointer;
}
.option-item:last-child{
  border-bottom:none;
}
.option-item.is-active{
  background:rgba(82,150,139,0.08);
}
.option-item.is-unavailable{
  opacity:.5;
  cursor:not-allowed;
  background:#f6f8f7;
  pointer-events:none;
}
.option-item.is-unavailable .option-item-title,
.option-item.is-unavailable .option-item-price{
  color:#7b8782;
}
.option-item-left{
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.option-item-title{
  font-family:'Glacial Indifference','Fira Sans', sans-serif;
  font-weight:600;
  font-size:.95rem;
}
.option-item-price{
  font-family:'Fira Sans', sans-serif;
  font-weight:500;
  color:#47504c;
  font-size:.85rem;
}
.option-bullet{
  width:12px;
  height:12px;
  border-radius:50%;
  border:2px solid #d1dbd6;
  display:inline-flex;
}
.option-item.is-active .option-bullet{
  border-color:#1d2a27;
  background:#1d2a27;
  box-shadow:0 0 0 2px rgba(255,255,255,0.8);
}
.option-item.is-unavailable .option-bullet,
.option-item.is-unavailable.is-active .option-bullet{
  border-color:#c7d0cc;
  background:transparent;
  box-shadow:none;
}
.tour-traveler-wrapper{
  width:100%;
  position:relative;
}
.tour-traveler-pill{
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  padding:.55rem .75rem;
  background:#fff;
  display:flex;
  align-items:center;
  gap:.4rem;
  font:600 .85rem 'Fira Sans', sans-serif;
  cursor:pointer;
}
.tour-traveler-dropdown{
  width:100%;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 15px 40px rgba(0,0,0,0.18);
  padding:.75rem;
  margin-top:.25rem;
}
.tour-traveler-grid{
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.tour-traveler-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.3rem 0;
  border-bottom:1px solid rgba(0,0,0,0.05);
}
.tour-traveler-row:last-child{
  border-bottom:none;
}
.tour-traveler-label{
  font-family:'Glacial Indifference','Fira Sans',sans-serif;
  font-weight:600;
}
.tour-traveler-labels{
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.tour-traveler-price{
  display:block;
  font-family:'Fira Sans',sans-serif;
  font-weight:500;
  font-size:.75rem;
  color:var(--muted);
}
.tour-traveler-controls{
  display:flex;
  align-items:center;
  gap:.35rem;
}
.tour-traveler-btn{
  border:1px solid var(--line);
  border-radius:999px;
  width:2rem;
  height:2rem;
  background:#fff;
  font-size:1.2rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.tour-traveler-count{
  font-family:'Fira Sans',sans-serif;
  font-weight:600;
  min-width:2ch;
  text-align:center;
}
.wishlist-empty{
  margin-top:2rem;
  padding:2rem;
  border:1px dashed var(--line);
  border-radius:20px;
  text-align:center;
  background:rgba(239,239,236,.4);
  font-size:1rem;
  color:var(--muted);
}
.wishlist-empty a{
  color:var(--ink);
  font-weight:600;
  text-decoration:none;
}
.cart-page{
  max-width:max(var(--page-max), 1236px);
  margin:0 auto;
  padding:2.5rem var(--page-gutter) 4rem;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.cart-hero h1{
  font-size:clamp(32px, 5vw, 44px);
  line-height:1.2;
  margin-bottom:.35rem;
}
.cart-hero p{
  color:var(--muted);
  max-width:640px;
}
.cart-summary{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:flex-end;
}
.cart-summary-card{
  flex:1;
  min-width:220px;
  border:1px solid var(--line);
  border-radius:20px;
  padding:1.1rem 1.25rem;
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}
.cart-summary-label{
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
  margin-bottom:.35rem;
}
.cart-summary-value{
  font-size:1.25rem;
  font-weight:700;
  color:var(--ink);
}
.cart-section{
  border:1px solid var(--line);
  border-radius:24px;
  padding:1.5rem;
  background:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
}
.cart-head{
  margin-bottom:1rem;
}
.cart-head h2{
  margin:0;
  font-size:clamp(26px, 4vw, 34px);
}
.cart-status{
  color:var(--muted);
  font-size:.95rem;
}
.cart-grid{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.cart-card{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:1rem;
  padding:1.25rem;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.06);
  align-items:flex-start;
  position:relative;
}
.cart-media img{
  width:120px;
  height:90px;
  object-fit:cover;
  border-radius:16px;
  display:block;
}
.cart-body{
  display:flex;
  flex-direction:column;
  gap:.45rem;
}
.cart-city{
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
}
.cart-title{
  margin:0;
  font-size:1.3rem;
  line-height:1.3;
}
.cart-price{
  margin:0;
  font-size:1rem;
  font-weight:700;
  color:var(--ink);
}
.cart-meta{
  margin:0;
  display:grid;
  gap:.35rem .8rem;
  grid-template-columns:repeat(auto-fit, minmax(150px,1fr));
}
.cart-meta-row{
  display:flex;
  flex-direction:column;
  gap:.1rem;
}
.cart-meta-pickup{
  grid-column: span 2;
}
.cart-meta-pickup-address{
  font-size:.85rem;
  font-weight:400;
  color:var(--muted);
}
.cart-meta-pickup-name{
  font-size:.95rem;
  font-weight:600;
  line-height:1.3;
  color:var(--ink);
}
.cart-meta-secondary{
  margin-top:.5rem;
}
.cart-meta dt{
  font-size:.65rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.cart-meta dd{
  margin:0;
  font-size:.95rem;
  font-weight:600;
  color:var(--ink);
}
.cart-actions{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  align-items:flex-end;
  margin-top:1rem;
}
.cart-final-price{
  margin:0;
  font-size:1.2rem;
  font-weight:700;
  color:var(--ink);
}
.cart-actions-note{
  margin:0;
  font-size:.75rem;
  color:var(--muted);
  text-align:center;
}
.cart-card-edit{
  text-decoration:none;
  border:1px solid var(--line);
  background:#f5f7f7;
  color:#1d2a27;
  padding:.55rem 1.1rem;
  border-radius:999px;
  font:600 .85rem 'Fira Sans', sans-serif;
  text-align:center;
}
.cart-card-edit:hover{
  border-color:#1d2a27;
  color:#0b1512;
}
.cart-card-link{
  text-decoration:none;
  background:#1d2a27;
  color:#fff;
  padding:.65rem 1.2rem;
  border-radius:999px;
  font:600 .9rem 'Fira Sans', sans-serif;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cart-card-link:hover{
  background:#0b1512;
}
.cart-card-remove{
  border:none;
  background:none;
  color:var(--muted);
  font-size:1.4rem;
  line-height:1;
  padding:0;
  cursor:pointer;
  position:absolute;
  top:12px;
  right:12px;
}
.cart-card-remove:hover,
.cart-card-remove:focus-visible{
  color:#e14637;
}
.cart-date-control{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.cart-date-value-text{
  font-weight:600;
}
.cart-date-edit{
  font-size:.75rem;
  padding:.25rem .85rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:#1d2a27;
  cursor:pointer;
}
.cart-date-picker{
  margin-top:.6rem;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  width:280px;
  max-width:100%;
  box-sizing:border-box;
}
.cart-date-picker[hidden]{
  display:none;
}
.cart-calendar-header{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
  font-size:.85rem;
  color:var(--muted);
  gap:8px;
}
.cart-calendar-title{
  font-weight:600;
  flex:1;
  text-align:center;
  white-space:nowrap;
}
.cart-calendar-nav{
  border:none;
  background:#eef3f2;
  width:32px;
  height:32px;
  border-radius:12px;
  cursor:pointer;
  font-size:1rem;
  color:#1d2a27;
  flex:0 0 auto;
}
.cart-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:2px;
  margin-top:4px;
}
.cart-calendar-weekday{
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  text-align:center;
}
.cart-calendar-cell{
  min-height:32px;
}
.cart-calendar-cell.is-empty{
  background:transparent;
}
.cart-calendar-date{
  border:none;
  background:#f5f7f7;
  border-radius:999px;
  height:34px;
  cursor:pointer;
  font-weight:600;
  width:100%;
}
.cart-calendar-date.is-selected{
  background:#1d2a27;
  color:#fff;
}
.cart-empty{
  margin-top:1.25rem;
  color:var(--muted);
  font-size:1rem;
}
.cart-empty a{
  color:#1d2a27;
  text-decoration:underline;
}
@media (max-width: 960px){
  .cart-card{
    grid-template-columns:1fr;
  }
  .cart-actions{
    flex-direction:row;
    width:100%;
    justify-content:space-between;
  }
  .cart-summary{
    flex-direction:column;
    align-items:flex-start;
  }
}
.wishlist-grid .tour-card-content{
  padding:0;
  gap:.6rem;
  flex:1;
}
.wishlist-grid .tour-image-wrapper{
  width:300px;
  height:210px;
  min-width:300px;
  border-radius:18px;
  border:6px solid #fff;
  box-shadow:0 10px 30px rgba(0,0,0,0.35);
  flex-shrink:0;
}
.wishlist-grid .tour-image-wrapper img{
  border-radius:14px;
}
.wishlist-grid [data-product-link]{
  cursor:pointer;
}
.wishlist-grid .tour-card-content .tour-title{
  font-size:1.25rem;
  line-height:1.2;
  min-height:auto;
  display:block;
  -webkit-line-clamp:2;
}
.wishlist-grid .tour-meta-row{
  font-size:.95rem;
  color:#3b4542;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.35rem;
}
.wishlist-grid .tour-meta-row .tour-city{
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:.25rem;
}
.wishlist-grid .tour-meta-row .tour-duration{
  font-weight:500;
  color:#47504c;
  display:inline-flex;
  align-items:center;
  gap:.25rem;
}
.wishlist-grid .tour-city-label{
  font-family:'Fira Sans', sans-serif;
  font-weight:700;
  letter-spacing:0.01em;
}
.wishlist-grid .tour-city-name{
  font-family:'Glacial Indifference','Fira Sans', sans-serif;
  font-weight:500;
}
.wishlist-grid .tour-duration-label{
  font-family:'Fira Sans', sans-serif;
  font-weight:700;
  letter-spacing:0.01em;
}
.wishlist-grid .tour-duration-value{
  font-family:'Glacial Indifference','Fira Sans', sans-serif;
  font-weight:500;
}
.wishlist-grid .tour-card-price{
  font-family:'Glacial Indifference','Fira Sans', sans-serif;
  font-weight:600;
  font-size:1.1rem;
  color:var(--ink);
}
.wishlist-grid .tour-card-price-row{
  display:flex;
  align-items:baseline;
  gap:.45rem;
}
.wishlist-grid .tour-card-price-separator{
  font-family:'Fira Sans',sans-serif;
  font-weight:600;
  font-size:.9rem;
  color:var(--muted);
}
.wishlist-grid .tour-card-passenger-summary{
  font-family:'Fira Sans',sans-serif;
  font-weight:700;
  font-size:.85rem;
  color:var(--ink);
  margin-top:0;
}
.wishlist-grid .tour-card-discount-note{
  font-family:'Fira Sans',sans-serif;
  font-weight:500;
  font-size:.8rem;
  color:var(--muted);
  margin-top:.1rem;
  font-style:italic;
  background:none;
  border:none;
  padding:0;
  cursor:help;
  position:relative;
  text-align:left;
}
.wishlist-grid .tour-card-viator-note{
  font-family:'Fira Sans',sans-serif;
  font-weight:500;
  font-size:.78rem;
  color:var(--muted);
  margin-top:.15rem;
}
.wishlist-grid .tour-card-discount-tooltip{
  position:absolute;
  left:0;
  top:calc(100% + .45rem);
  min-width:180px;
  max-width:260px;
  background:#1d2a27;
  color:#fff;
  border-radius:12px;
  padding:.5rem .65rem;
  font-style:normal;
  font-size:.75rem;
  line-height:1.35;
  box-shadow:0 18px 35px rgba(0,0,0,0.2);
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
  z-index:20;
}
.wishlist-grid .tour-card-discount-note:hover .tour-card-discount-tooltip,
.wishlist-grid .tour-card-discount-note:focus .tour-card-discount-tooltip,
.wishlist-grid .tour-card-discount-note:focus-visible .tour-card-discount-tooltip{
  opacity:1;
  transform:translateY(0);
}
.wishlist-grid .tour-card-option{
  font-family:'Fira Sans',sans-serif;
  font-weight:500;
  font-size:.85rem;
  color:var(--ink);
  margin-top:.2rem;
}
.tour-pill{
  border:1px solid var(--line);
  border-radius:999px;
  padding:.35rem .95rem;
  background:#fff;
  font:600 .85rem 'Fira Sans', sans-serif;
  color:#1d2a27;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.tour-pill:hover{
  background:#f5f6f5;
}
.tour-card-actions .tour-cart-pill{
  background:#cfe65a;
  color:#1d2a27;
  border-color:#b8cf4d;
}
.tour-card-actions .tour-cart-pill:hover{
  background:#bdda4d;
  border-color:#a7c043;
}
.tour-card-actions .tour-calendar-pill{
  border-color:#47504c;
  width:100%;
  justify-content:flex-start;
}
.tour-pill .material-symbols-rounded{
  font-size:1rem;
  line-height:1;
}
.wishlist-grid .tour-rating{
  display:flex;
  align-items:center;
  gap:.35rem;
  font-size:.9rem;
  color:#1d2a27;
  margin-left:0;
  justify-content:flex-start;
}
.wishlist-grid .tour-rating-label{
  font-family:'Fira Sans', sans-serif;
  font-weight:700;
  letter-spacing:0.01em;
}
.wishlist-grid .tour-rating-value{
  font-family:'Glacial Indifference','Fira Sans',sans-serif;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:.35rem;
}
.tour-rating-star{
  color:#050505;
  font-size:.85rem;
}

@media (max-width: 720px){
  .wishlist-grid .tour-card{
    flex-direction:column;
    align-items:stretch;
    padding:1rem;
  }
  .wishlist-grid .tour-image-wrapper{
    width:100%;
    min-width:0;
    height:auto;
    aspect-ratio:4 / 3;
  }
  .wishlist-grid .tour-image-wrapper img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .wishlist-grid .tour-card-actions{
    width:100%;
    min-width:0;
  }
  .wishlist-grid .tour-card-actions .tour-cart-pill{
    width:100%;
    justify-content:center;
    padding:.6rem 1rem;
    font-size:.95rem;
  }
}
@media (max-width: 768px){
  .listing-grid .wishlist-btn{
    -webkit-appearance:none;
    appearance:none;
    width:30px;
    height:30px;
    top:12px;
    right:12px;
    padding:0;
    border:none;
    border-radius:999px;
    line-height:0;
  }
  .listing-grid .wishlist-btn .wishlist-icon{
    width:18px;
    height:18px;
    stroke-width:0;
  }
}
.tour-title{
  font-weight:700;
  font-size:1rem;
  line-height:1.3;
  min-height:calc(1rem * 2 * 1.3);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-width:40ch;
  word-break:break-word;
}
.tour-meta-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.5rem;
  font-size:.85rem;
  color:#47504c;
  width:100%;
}
.tour-rating{
  display:flex; align-items:center; gap:.35rem;
  font-weight:400;
  font-size:.78rem;
  margin-left:auto;
  justify-content:flex-end;
}
.tour-rating .stars{
  color:#1d2a27;
  font-size:.8rem;
}
.tour-reviews{
  display:flex; align-items:center;
  gap:.35rem;
  font-size:.85rem;
  color:#555;
}
.tour-price{
  font-size:.78rem;
  font-weight:400;
}
.tour-price-value{
  font-weight:400;
}

/* ======================
  Featured Cards (C1)
====================== */
.section-title{
  font-weight:600;
  letter-spacing:.02em;
}
.featured-cards-section .wrap{
  max-width:var(--page-max);
  margin-inline:auto;
  padding-inline:var(--page-gutter);
}
.featured-cards-section{
  padding-top:1.6rem;
}
.featured-cards-section .ft-head{
  margin-bottom:16px;
}
.featured-cards-section .title-row{
  display:flex; align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.view-all-pill{
  display:inline-flex; align-items:center;
  gap:6px;
  padding:4px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font:500 12px 'Fira Sans';
  color:var(--ink);
  text-decoration:none;
  transition:.2s;
}
.view-all-pill:hover{
  background:#e8ece8;
  border-color:var(--muted);
}
.view-all-pill-tours{
  font:600 12px 'Glacial Indifference','Fira Sans', sans-serif;
  background:#000;
  color:#fff;
  border-color:#000;
  gap:0;
  padding:6px 16px;
  white-space:nowrap;
}
.view-all-pill-tours::after{
  content:"→";
  margin-left:4px;
  font-size:13px;
}
.view-all-pill-tours:hover{
  background:#111;
  border-color:#111;
}
.featured-cards-section .subhead{
  color:var(--muted);
  font-size:16px;
  margin:6px 0 10px;
  max-width:68ch;
}
.featured-cards-grid{
  width:100%;
  margin:32px 0 .5rem;
  display:grid;
  grid-template-columns:repeat(5, var(--list-card));
  gap:1.5rem;
  justify-content:space-between;
}
@media (max-width:1200px){
  .featured-cards-grid{ grid-template-columns:repeat(4,var(--list-card)); }
}
@media (max-width:960px){
  .featured-cards-grid{ grid-template-columns:repeat(3,var(--list-card)); }
}
@media (max-width:720px){
  .featured-cards-grid{ grid-template-columns:repeat(2,var(--list-card)); }
}
@media (max-width:480px){
  .featured-cards-grid{
    grid-template-columns:1fr;
    justify-content:flex-start;
    gap:var(--list-gap);
  }
}

/* ======================
   Explore by City (A1 – newest)
====================== */
.explore-by-city .wrap{
  max-width: var(--page-max);
  margin-inline:auto;
  padding-inline: var(--page-gutter);
}
.explore-by-city{
  padding:1.25rem var(--page-gutter);
  margin-top: 3rem;
}
.explore-by-city .view-all-pill{
  gap:6px;
  padding-left:16px;
  padding-right:4px;
  min-width:auto;
  justify-content:flex-start;
  background:#000;
  color:#fff;
  border-color:#000;
}
.explore-by-city .view-all-pill-label{
  text-transform:none;
  font:400 12px 'Fira Sans','Glacial Indifference', sans-serif;
  letter-spacing:0.02em;
}
.explore-by-city .view-all-pill-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#C5EF14;
  box-shadow:0 0 0 1px rgba(0,0,0,0.4);
  color:#050505;
}
.explore-by-city .view-all-pill-icon svg{
  width:10px;
  height:10px;
}

@media (max-width: 640px){
  .explore-by-city .view-all-pill{
    min-width:auto;
  }
}
@media (max-width: 768px){
  .explore-by-city .view-all-pill{
    font:600 12px 'Glacial Indifference','Fira Sans', sans-serif;
    background:transparent;
    color:#000;
    border-color:#000;
    gap:0;
    padding:6px 16px;
    white-space:nowrap;
  }
  .explore-by-city .view-all-pill::after{
    content:"→";
    margin-left:4px;
    font-size:13px;
  }
  .explore-by-city .view-all-pill-icon{
    display:none;
  }
}
.explore-by-city .cbc-head{
  text-align:left;
  margin-bottom:12px;
}
.explore-by-city .title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.explore-by-city .explore-title{
  font-family: 'Fira Sans', 'Glacial Indifference', sans-serif;
  font-size: 45.5px;
  line-height: 1.1;
  margin: 0;
}
.explore-by-city .explore-title strong{
  font-weight: 800;
}
.explore-by-city .explore-title > span{
  display:block;
}
.explore-by-city .explore-title .explore-light{
  font-weight: 500;
}
.explore-by-city .subhead{
  color:var(--muted);
  font-family: 'Glacial Indifference', 'Fira Sans', sans-serif;
  font-size:15px;
  white-space:normal;
  line-height:1.45;
  margin:6px 0 10px;
  max-width:68ch;
  text-align:left;
}
.explore-by-city .meta-bullets{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
  padding:0;
  list-style:none;
}
.explore-by-city .meta-bullets li{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:9999px;
  background:#fff;
  color:var(--ink);
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  border:1px solid var(--line);
}
.city-grid{
  display:grid;
  grid-template-columns: repeat(5, var(--list-card));
  gap: var(--list-gap);
  justify-content:space-between;
  width:100%;
  max-width:1236px;
  margin:32px auto .5rem;
}
.cities-grid{
  display:grid;
  grid-template-columns: repeat(5, var(--list-card));
  gap: var(--list-gap);
  justify-content:space-between;
  width:100%;
  max-width:1236px;
  margin:32px auto .5rem;
}
.city-card{
  width: var(--list-card);
  display:block;
  border-radius:12px;
  overflow:hidden;
  background:#ddd;
  cursor:pointer;
  position:relative;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  transition:box-shadow .25s;
}
.city-card:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
@media (max-width: 768px){
  .explore-by-city .city-grid{
    display:flex;
    overflow-x:auto;
    gap: var(--list-gap);
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling: touch;
    width:100%;
    max-width:100%;
    margin:20px 0 .5rem;
  }
  .explore-by-city .city-card{
    flex:0 0 var(--list-card);
    scroll-snap-align:start;
  }
  .explore-by-city{
    padding-left:0;
    padding-right:0;
  }
  .explore-by-city .wrap{
    margin-left:0;
    margin-right:0;
    padding-left:var(--page-gutter);
    padding-right:var(--page-gutter);
  }
  .explore-by-city .cbc-head{
    padding-right:0;
  }
}

@media (max-width: 768px){
  .cities-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content:stretch;
  }
  .cities-grid .city-card{
    width:100%;
  }
  .cities-grid .city-image img{
    height:160px;
  }
}
.city-image{
  position:relative;
}
.city-image img{
  width:100%;
  height: var(--city-card-h);
  object-fit:cover;
  transform:scale(1);
  transition:transform 1.6s ease;
  will-change:transform;
}
.city-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 30%),
    linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,0) 55%);
  transition:background .2s;
}
.city-card:hover .city-image img{
  transform:scale(1.06);
}
.city-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:1rem;
  pointer-events:none;
  z-index:2;
}
.city-overlay-text{
  display:flex;
  flex-direction:column;
  gap:0.35rem;
  max-width:100%;
  align-items:flex-start;
  text-align:left;
}
.city-pickup-note{
  font:400 .72rem "Glacial Indifference", "Fira Sans", sans-serif;
  color:rgba(255,255,255,.88);
  letter-spacing:.02em;
  text-transform:none;
  text-shadow:0 1px 6px rgba(0,0,0,.45);
  line-height:1.2;
}
.city-overlay h3{
  margin:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font:600 1rem "Glacial Indifference", "Fira Sans", sans-serif;
  color:#fff;
  letter-spacing:.04em;
  text-transform:none;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.city-icon{
  width:1.3rem;
  height:1.3rem;
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  background-color:#C5EF14;
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  mask:url("../fonts/pin_drop.svg") no-repeat center/contain;
  -webkit-mask:url("../fonts/pin_drop.svg") no-repeat center/contain;
}
.city-tour-count{
  position:absolute;
  top:0.8rem;
  left:1rem;
  z-index:3;
  display:inline-flex;
  align-items:flex-end;
  gap:0.4rem;
  font-family:"Fira Sans", sans-serif;
  pointer-events:none;
  text-shadow:0 1px 4px rgba(0,0,0,0.65);
}
.city-tour-count .count-number{
  font:700 19px "Fira Sans", sans-serif;
  color:#C5EF14;
  line-height:1;
}
.city-tour-count .count-label{
  font:400 16px "Glacial Indifference", sans-serif;
  color:#fff;
  line-height:1;
  text-transform:none;
}

/* Status lines */
#catStatus{
  margin:10px 0 0;
  font-size:13px;
  color:var(--muted);
  text-align:left;
}

/* City rail arrows (A1 – arrows pushed OUTSIDE content) */
.explore-by-city .city-rail{
  position:relative;
  overflow:visible;
}
.explore-by-city .city-more{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}
.explore-by-city .city-prev-btn,
.explore-by-city .city-next-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px; height:42px;
  background:#000;
  color:#fff;
  border:0;
  border-radius:9999px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  cursor:pointer;
  z-index:5;
}
.explore-by-city .city-prev-btn{ left:-24px; }
.explore-by-city .city-next-btn{ right:-24px; }
.explore-by-city .city-prev-btn:hover,
.explore-by-city .city-next-btn:hover{
  transform:translateY(-50%) scale(1.03);
}
.explore-by-city .city-prev-btn[hidden],
.explore-by-city .city-next-btn[hidden]{
  display:none !important;
}

@media (max-width:768px){
  .explore-by-city .city-prev-btn,
  .explore-by-city .city-next-btn{
    width:36px; height:36px;
  }
  .explore-by-city .city-prev-btn{ left:-8px; }
  .explore-by-city .city-next-btn{ right:-8px; }
}

/* ======================
   Browse by Category (B1 – mirrors City Cards)
====================== */

#browse-by-category.cat-wrap{
  max-width:var(--page-max);
  margin:60px auto;
  padding:0 var(--page-gutter);
  color:var(--ink);
  position:relative;
  overflow:visible;
}

#browse-by-category .cat-background{
  position:absolute;
  width:1248px;
  height:460px;
  background:rgba(239,239,236,0.54);
  border-radius:36px;
  left:50%;
  top:-24px;
  transform:translateX(-50%);
  z-index:0;
}
@media (max-width: 768px){
  #browse-by-category .cat-background{
    left:0;
    right:0;
    width:auto;
    top:-24px;
    bottom:-48px;
    height:auto;
    transform:none;
  }
}

/* Header row */
#browse-by-category .cat-head{
  margin-bottom:14px;
  position:relative;
  z-index:1;
}
#browse-by-category .cat-head-inner{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:28px;
  flex-wrap:wrap;
}
#browse-by-category .cat-head-visual{
  flex:0 0 auto;
  position:relative;
  overflow:hidden;
}
#browse-by-category .cat-head-visual img,
#browse-by-category .cat-head-visual video{
  display:block;
  width:521px;
  height:382px;
  object-fit:cover;
  border-radius:16px;
  border:6px solid #fff;
}
#browse-by-category .cat-head-visual video{
  background:#000;
  display:block;
}
@media (max-width: 768px){
  #browse-by-category .cat-head-inner{
    gap:16px;
  }
  #browse-by-category .cat-head-visual{
    width:100%;
  }
  #browse-by-category .cat-head-visual img,
  #browse-by-category .cat-head-visual video{
    width:100%;
    height:auto;
    aspect-ratio:521/382;
  }
}
#browse-by-category .cat-play-button{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:72px;
  height:72px;
  border-radius:50%;
  border:none;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  transition:opacity .2s ease;
}
#browse-by-category .cat-play-button .cat-play-icon{
  width:0;
  height:0;
  border-left:18px solid #fff;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  display:inline-block;
}
#browse-by-category .cat-play-button.is-hidden{
  opacity:0;
  pointer-events:none;
}
#browse-by-category .cat-head-text{
  flex:1 1 320px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
#browse-by-category .cat-head .eyebrow{
  margin-bottom:8px;
}
#browse-by-category .title-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
}
#browse-by-category .title-row h2{
  margin:0;
  line-height:1.05;
  font-size:45.5px;
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  text-align:left;
}
#browse-by-category .lighter-line{
  font-weight:400;
}
#browse-by-category .title-row .view-all{
  flex:0 0 auto;
}
#browse-by-category .cat-head .semi{
  font-weight:800;
}
#browse-by-category .subhead{
  margin:6px 0 10px;
  max-width:68ch;
  color:var(--muted);
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:15px;
}
#browse-by-category .cat-pill-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
#browse-by-category .cat-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border-radius:9999px;
  background:#000;
  color:#fff;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:14px;
  font-weight:400;
  letter-spacing:0.02em;
  text-align:center;
  width:100%;
  min-height:40px;
  border:none;
  text-decoration:none;
}
#browse-by-category .cat-pill-highlight{
  background:#c5ef14;
  color:#000;
  font-weight:700;
}
#browse-by-category .category-view-more{
  justify-content:flex-start;
  gap:10px;
  padding-right:2px;
  font-size:12px;
  height: 38px;
}
#browse-by-category .category-view-more-text{
  font-weight:700;
}
#browse-by-category .cat-pill-circle{
  width:32px;
  height:32px;
  border-radius:50%;
  background:#000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 10px rgba(0,0,0,.35);
  margin-left:auto;
}
#browse-by-category .cat-pill-circle .cat-pill-icon{
  font-size:20px;
  color:#c5ef14;
  line-height:1;
}
@media (max-width:960px){
  #browse-by-category .cat-pill-row{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:720px){
  #browse-by-category .cat-pill-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Category rail wrapper */
#browse-by-category .cat-rail{
  position:relative;
  overflow:visible;
}

/* Category grid — 5 columns */
#browse-by-category .cat-grid{
  display:grid;
  grid-template-columns:repeat(5, var(--list-card));
  gap:var(--city-card-gap);
  justify-content:center;
}

/* Category card — same as city card */
#browse-by-category .cat-card{
  position:relative;
  width:var(--list-card);
  border-radius:12px;
  overflow:hidden;
  background:#ddd;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
#browse-by-category .cat-card img{
  width:100%;
  height:var(--city-card-h);
  object-fit:cover;
}

/* scrim */
#browse-by-category .cat-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.38);
  z-index:1;
  pointer-events:none;
  transition:background .2s;
}
#browse-by-category .cat-card:hover::after{
  background:rgba(0,0,0,.48);
}

/* centered chip */
#browse-by-category .cat-card .label{
  position:absolute;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  padding:.4rem .9rem;
  border-radius:9px;
  border:1.5px solid var(--teal);
  background:transparent;
  color:#fff;
  font:600 0.8rem "Fira Sans";
  letter-spacing:.09em;
  text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
  z-index:2;
  max-width:90%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* bottom pager text */
#browse-by-category .cat-pager{
  margin-top:10px;
  text-align:center;
  color:var(--muted);
  font:600 13px "Fira Sans";
}

/* Category arrows — outside the grid */
#browse-by-category .nav-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px; height:40px;
  background:#000;
  color:#fff;
  border-radius:9999px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  cursor:pointer;
  z-index:2;
}
#browse-by-category .cat-prev-btn{
  left: calc(-1 * (var(--rail-arrow-bleed) + var(--page-gutter) + 24px));
}
#browse-by-category .cat-next-btn{
  right: calc(-1 * (var(--rail-arrow-bleed) + var(--page-gutter) + 24px));
}
#browse-by-category .nav-btn[disabled],
#browse-by-category .nav-btn[aria-disabled="true"]{
  display:none !important;
}

/* Responsive drops */
@media (max-width:1200px){
  #browse-by-category .cat-grid{ grid-template-columns:repeat(4, var(--list-card)); }
}
@media (max-width:960px){
  #browse-by-category .cat-grid{ grid-template-columns:repeat(3, var(--list-card)); }
}
@media (max-width:720px){
  #browse-by-category .cat-grid{ grid-template-columns:repeat(2, var(--list-card)); }
}
@media (max-width:480px){
  #browse-by-category .cat-grid{ grid-template-columns:1fr; }
}

/* ======================
   Get Inspired Section
====================== */
.inspired-sec{
  max-width:var(--page-max);
  margin:60px auto 50px;
  padding:0 var(--page-gutter);
}
.inspired-sec .head{
  text-align:left;
  margin-bottom:18px;
}
.inspired-sec .eyebrow{
  margin-bottom:8px;
}
.inspired-sec .title-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  flex-wrap:wrap;
}
.inspired-sec .subhead{
  max-width:68ch;
  margin:6px 0 12px;
  color:var(--muted);
}
.inspired-sec .grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.inspired-sec .card{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
  cursor:pointer;
  transition:.25s;
}
.inspired-sec .card:hover{
  box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.inspired-sec .card img{
  width:100%;
  height:160px;
  object-fit:cover;
}
.inspired-sec .card .content{
  padding:.85rem 1.1rem 1.2rem;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.inspired-sec .card .tag{
  font-size:.75rem;
  font-weight:600;
  color:var(--teal);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.inspired-sec .card h3{
  margin:0;
  font-size:1rem;
  font-weight:700;
  color:var(--ink);
}
@media(max-width:960px){
  .inspired-sec .grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px){
  .inspired-sec .grid{ grid-template-columns:1fr; }
}

/* ======================
   Values Section
====================== */
.values-thin{
  width:100%;
  background:#f7faf9;
  padding:55px var(--page-gutter);
  margin-top:80px;
  border-top:1px solid #dbe7e3;
  border-bottom:1px solid #dbe7e3;
}
.values-thin .wrap{
  max-width:var(--page-max);
  margin:0 auto;
  text-align:center;
}
.values-thin .eyebrow{
  margin-bottom:8px;
}
.values-thin h2{
  margin:0;
  font-size:1.6rem;
  font-weight:700;
  color:var(--ink);
}
.values-thin .subhead{
  max-width:70ch;
  margin:10px auto;
  color:var(--muted);
}
.values-thin .values-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.values-thin .values-grid .item{
  background:#fff;
  border-radius:12px;
  padding:1.2rem 1.4rem;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
  text-align:left;
}
.values-thin .values-grid .item h3{
  margin:0 0 .4rem;
  font-size:1.05rem;
  font-weight:700;
}
.values-thin .values-grid .item p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
@media(max-width:900px){
  .values-thin .values-grid{ grid-template-columns:1fr; }
}

/* ======================
   Gives Back Section
====================== */
.gives-back-thin{
  width:100%;
  background:#fff;
  padding:50px var(--page-gutter);
  margin-top:60px;
}
.gives-back-thin .wrap{
  max-width:var(--page-max);
  margin:0 auto;
  text-align:center;
}
.gives-back-thin .eyebrow{
  margin-bottom:8px;
}
.gives-back-thin h2{
  margin:0;
  font-size:1.6rem;
  font-weight:700;
  color:var(--ink);
}
.gives-back-thin .subhead{
  max-width:70ch;
  margin:10px auto;
  color:var(--muted);
}
.gives-back-thin .gb-grid{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.gives-back-thin .gb-card{
  background:#f7faf9;
  border-radius:12px;
  padding:1.3rem 1.5rem;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
  text-align:left;
}
.gives-back-thin .gb-card h3{
  margin:0 0 .4rem;
  font-size:1.05rem;
  font-weight:700;
}
.gives-back-thin .gb-card p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
@media(max-width:900px){
  .gives-back-thin .gb-grid{ grid-template-columns:1fr; }
}

/* ======================
   Ops Section
====================== */
.ops-section{
  max-width:var(--page-max);
  margin:80px auto 60px;
  padding:0 var(--page-gutter);
}
.ops-section .eyebrow{
  margin-bottom:8px;
}
.ops-section .title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.ops-section .subhead{
  max-width:70ch;
  margin:10px 0 15px;
  color:var(--muted);
}
.ops-section .ops-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.ops-section .ops-card{
  background:#fff;
  border-radius:12px;
  padding:1.2rem 1.5rem;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.ops-section .ops-card h3{
  margin:0 0 .4rem;
  font-size:1.05rem;
  font-weight:700;
}
.ops-section .ops-card p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
@media(max-width:900px){
  .ops-section .ops-grid{ grid-template-columns:1fr; }
}

/* ======================
  Reviews Rail (5in block)
====================== */
.reviews-5in {
  --page-max:1180px;
  font-family: 'Fira Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background: #ffffff;
  height: 4.0in; 
  min-height: 4.0in;
  overflow: clip;
}
.reviews-5in .inner {
  max-width: var(--page-max);
  margin: 0 auto;
  height: calc(100% - 0.25in);
  padding: 14px clamp(18px, 3vw, 26px);
  display: grid;
  grid-template-columns: 1.05fr 2fr;
  gap: clamp(12px, 2.2vw, 20px);
  align-items: start;
  position: relative;
}
@media (max-width: 900px){
  .reviews-5in .inner { grid-template-columns: 1fr; }
}

/* Left column */
.reviews-5in .left-col{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  height:100%;
}
.reviews-5in .kicker{
  display:inline-block;
  font-weight:700;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:4px 8px;
  background:#F0F6F5;
  color: var(--ink);
  border-radius:999px;
  border:1px solid var(--line);
}
.reviews-5in .title{
  margin:0;
  font-weight:800;
  line-height:1.06;
  font-size:clamp(19px, 2.6vw, 28px);
}
.reviews-5in .rating-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.reviews-5in .stars{ display:inline-flex; gap:3px; }
.reviews-5in .stars svg{ width:16px; height:16px; fill: var(--accent); }
.reviews-5in .score{ font-weight:700; }
.reviews-5in .count{ color: var(--muted); font-size:13px; }

.reviews-5in .left-gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:8px;
  align-items:start;
}
.reviews-5in .left-gallery .tile{
  position:relative;
  height: clamp(90px, 12vw, 140px);
  aspect-ratio: 2/3;
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  background:#eaeff0;
}
.reviews-5in .left-gallery img{
  width:100%; height:100%; object-fit:cover; display:block;
}

.reviews-5in .promo{
  margin-top:auto;
  margin-bottom:2px;
  background:#F0F6F5;
  border:1px dashed var(--line);
  border-radius:12px;
  padding:8px 10px;
  font-size:13px;
  line-height:1.25;
  display:flex;
  align-items:center;
  gap:8px;
}
.reviews-5in .promo .icon{ color:var(--teal); display:inline-flex; }
.reviews-5in .promo .cta{
  margin-left:6px;
  font-weight:700;
  color:var(--teal);
  text-decoration:none;
}

/* Right scroller */
.reviews-5in .rail{
  position:relative;
  height:100%;
  display:grid;
  grid-template-rows: 1fr auto;
  gap:6px;
  min-width:0;
}
.reviews-5in .scroller{
  height:100%;
  overflow-x:auto;
  overflow-y:hidden;
  display:grid;
  grid-auto-flow:column;
  --card-min: 250px;
  --card-max: 300px;
  grid-auto-columns: minmax(var(--card-min), var(--card-max));
  gap:12px;
  scroll-snap-type:x mandatory;
  padding-bottom:4px;
  -webkit-overflow-scrolling:touch;
}
.reviews-5in .card{
  scroll-snap-align:start;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 3px 12px rgba(0,0,0,.06);
  display:grid;
  grid-template-rows:auto 1fr auto;
}
.reviews-5in .card .media{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  border-top-left-radius:14px;
  border-top-right-radius:14px;
}
.reviews-5in .card .media img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.reviews-5in .chip{
  position:absolute;
  left:10px;
  bottom:10px;
  background: rgba(35,58,55,.9);
  color:#fff;
  font-size:11px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
}
.reviews-5in .card .body{
  padding:8px 10px 6px;
}
.reviews-5in .quote{
  margin:0 0 3px; font-weight:700; line-height:1.2; font-size:14px;
}
.reviews-5in .blurb{
  margin:0 0 6px;
  color: var(--muted);
  font-size:13px;
  line-height:1.28;
  display:-webkit-box; 
  -webkit-line-clamp:3; 
  -webkit-box-orient:vertical; 
  overflow:hidden;
}
.reviews-5in .read-more{
  display:inline-block; 
  font-weight:700; 
  font-size:13px; 
  color:var(--teal);
  text-decoration:none; 
  cursor:pointer;
}
.reviews-5in .card .footer{
  padding:6px 10px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px dashed var(--line);
}
.reviews-5in .who{ display:grid; gap:1px; }
.reviews-5in .who .name{ font-weight:700; font-size:13px; }
.reviews-5in .who .meta{ font-size:12px; color: var(--muted); }

.reviews-5in .mini-stars{ display:inline-flex; gap:2px; color: var(--teal); }
.reviews-5in .mini-stars svg{ width:13px; height:13px; }

/* Nav arrows */
.reviews-5in .nav-btn{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid #000;
  background:#000;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  z-index:10;
}
.reviews-5in .prev-btn{ left:6px; }
.reviews-5in .next-btn{ right:6px; }
.reviews-5in .nav-btn svg path{ fill:#fff; }

/* ======================
  Article Pages
====================== */
.article-container,
.article-page{
  max-width:var(--max-article);
  margin:2rem auto;
  padding:0 var(--page-gutter);
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
}
.article-meta-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin:1rem 0 1.5rem;
}
.article-meta-left{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.article-meta-row .dot{
  color:#999;
}
.article-author{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.author-avatar{
  width:28px;
  height:28px;
  border-radius:50%;
  object-fit:cover;
  display:block;
}
.author-name{
  font-weight:600;
}
.meta-strong{
  font-weight:600;
}

.article-hero{
  position:relative;
  overflow:hidden;
}
.article-hero img{
  width:100%;
  height: clamp(220px, 42vh, 460px);
  object-fit:cover;
  object-position:center 70%;
  display:block;
}
.article-hero .hero-dim{
  position:absolute;
  inset:0;
  background:none;
}
.article-hero-title{
  position:absolute;
  left:50%;
  bottom: clamp(14px, 4vw, 28px);
  transform:translateX(-50%);
  margin:0;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
  line-height:1.1;
  font-weight:800;
  font-family:"Fira Sans",sans-serif;
  font-size: clamp(28px, 5vw, 52px);
  width: min(90vw, var(--max-article));
  padding:0 var(--page-gutter);
}

.article-category-listing{
  margin:1rem 0 0;
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:space-between;
}
.article-category-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  flex:1;
}
.article-sort-control{
  flex:0 0 auto;
}
.sort-dropdown{
  position:relative;
}
.sort-dropdown summary{
  list-style:none;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  border-radius:9999px;
  border:1px solid var(--line);
  background:#fff;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.sort-dropdown summary .material-symbols-rounded{
  font-size:18px;
}
.sort-dropdown summary .sort-icon-svg{
  width:18px;
  height:18px;
  flex-shrink:0;
  color:currentColor;
}
.sort-options{
  display:none;
  position:absolute;
  right:0;
  margin-top:6px;
  border:1px solid rgba(0,0,0,0.15);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,0.12);
  padding:8px 0;
  min-width:220px;
  z-index:20;
}
.sort-dropdown[open] .sort-options{
  display:block;
}
.sort-option.active{
  font-weight:700;
}
.sort-option{
  width:100%;
  padding:8px 16px;
  border:none;
  background:transparent;
  text-align:left;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:14px;
  cursor:pointer;
}
.sort-option:hover{
  background:rgba(0,0,0,0.05);
}
.article-category-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border-radius:9999px;
  background:#000;
  color:#fff;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:14px;
  font-weight:400;
  letter-spacing:0.02em;
  text-decoration:none;
  border:none;
  cursor:pointer;
}
.article-category-pill--active{
  background:#C5EF14;
  color:#000;
  font-weight:700;
}

.article-place-row{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:6px;
}
.place-dropdown{
  position:relative;
}
.place-dropdown.active-filter summary{
  background:#C5EF14;
  border-color:#C5EF14;
  color:#050505;
}
.place-dropdown summary{
  list-style:none;
  cursor:pointer;
  padding:6px 14px;
  border-radius:9999px;
  border:1px solid rgba(0,0,0,0.25);
  background:#fff;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.04em;
}
.place-dropdown summary::-webkit-details-marker{
  display:none;
}
.place-options{
  display:none;
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  border:1px solid rgba(0,0,0,0.2);
  border-radius:10px;
  background:#fff;
  padding:8px;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  z-index:10;
  max-height:220px;
  overflow:auto;
  min-width:220px;
}
.place-dropdown[open] .place-options{
  display:block;
}
.place-option{
  display:flex;
  align-items:center;
  gap:8px;
  padding:4px 6px;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:14px;
  cursor:pointer;
}
.place-option input{
  accent-color:#050505;
}
.place-option:hover{
  background:rgba(0,0,0,0.04);
  border-radius:6px;
}
.place-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.place-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:9999px;
  border:1px solid #050505;
  padding:6px 12px;
  background:transparent;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:13px;
  color:#050505;
  cursor:pointer;
}
.place-pill span:first-child{
  white-space:nowrap;
}
.place-pill-close{
  font-size:16px;
  line-height:1;
}

.article-body{
  line-height:1.65;
  color:#222;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
}
.article-body h1,
.article-body h2,
.article-body h3,
.article-body h4,
.article-body h5,
.article-body h6,
.article-body .bt-article__dek,
.bt-article__dek,
.article-body .bt-article__callout-title{
  font-family:"Fira Sans",sans-serif;
}
.article-body .bt-article__header{
  margin:0 0 1rem;
}
.bt-article__header{
  margin:0 0 1rem;
}
.article-body .bt-article__dek,
.bt-article__dek{
  font-size:clamp(1.9rem, 4.2vw, 3rem);
  line-height:1.12;
  font-weight:800;
  letter-spacing:-0.01em;
  color:#111;
  margin:.25rem 0 1rem;
}
.article-body h2{
  font-size:1.35rem;
  margin:1.25rem 0 .5rem;
}
.article-body h3{
  font-size:1.15rem;
  margin:1rem 0 .4rem;
}
.article-body p{ margin:.75rem 0; }
.article-body aside{
  background:#F8FBFA;
  border-left:3px solid #52968B;
  padding:.75rem 1rem;
  border-radius:8px;
  margin:.75rem 0;
}
.article-body blockquote{
  margin:.75rem 0;
  padding:.5rem 1rem;
  border-left:3px solid #ddd;
  color:#555;
}
.article-body figure{ margin:1rem 0; }
.article-body figure img{
  width:100%;
  border-radius:10px;
  display:block;
}
.article-body figcaption{
  font-size:.85rem;
  color:#666;
  margin-top:.35rem;
}
.article-body .bt-article__image-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
  margin:1rem 0 1.5rem;
}
.article-body .bt-article__image-grid figure{
  margin:0;
}
.article-body .bt-article__image-grid img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.article-body .bt-article__image-grid figcaption{
  margin-top:.4rem;
}
.article-body .bt-article__image img{
  width:100%;
  max-height: clamp(260px, 45vh, 420px);
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.article-gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:.5rem;
  margin:1.25rem 0 2rem;
}
.article-gallery img{
  width:100%;
  height:140px;
  object-fit:cover;
  border-radius:10px;
}
@media (max-width: 800px){
  .article-gallery{ grid-template-columns:1fr 1fr; }
}

/* ======================
  Product Page Essentials
====================== */
.product-page{
  max-width:1100px;
  margin:0 auto;
  padding:1.5rem;
}
.tour-header{
  margin:1.5rem 2rem 0;
}
.tour-header .tour-title{
  font-weight:700;
  font-size:2rem;
  color:#222;
  margin:0;
}
.tour-gallery{
  display:flex;
  gap:1.5rem;
  margin-top:2rem;
  max-width:1000px;
  align-items:center;
}
.gallery-thumbs{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  width:80px;
  max-height:400px;
  overflow-y:auto;
  padding-left:2px;
}
.gallery-thumbs .thumb{
  width:100%;
  height:65px;
  object-fit:cover;
  border-radius:6px;
  cursor:pointer;
  border:2px solid transparent;
  transition:border-color .3s;
}
.gallery-thumbs .thumb.active{
  border-color:#FF8C00;
}
.gallery-main{
  position:relative;
  width:700px;
  height:400px;
}
.gallery-main .main-image{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:12px;
}

/* =========================
   Highlight Tag Shapes
========================= */
:root{
  --shape-tilt: -2.2deg;
  --shape-tilt-text: -3.2deg;
}
@media (max-width: 768px){
  :root{ --shape-tilt: -1.6deg; }
}

.shape-bg{
  position: relative;
  display: inline-block;
  padding: .02em .18em;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  z-index: 0;
}
.shape-bg::before{
  content:"";
  position:absolute;
  inset:-.10em -.18em;
  border-radius:12px 0 12px 0;
  background:var(--teal);
  transform:rotate(var(--shape-tilt));
  transform-origin:left center;
  z-index:-1;
}
.shape--accent::before{ background:var(--accent) !important; }
.shape--ink{ color:var(--ink) !important; }

#values-thin .section-title .shape-bg,
#gives-back-thin .section-title .shape-bg,
.ops-section .section-title .shape-bg{
  display:inline-block;
  transform:rotate(var(--shape-tilt-text));
  transform-origin:left center;
}
#values-thin .section-title .shape-bg::before{ background:var(--teal); }
#gives-back-thin .section-title .shape-bg::before{ background:var(--accent); }
.ops-section .section-title .shape-bg::before{ background:var(--accent); }

/* ======================
   End of File Hotfixes
====================== */

/* Featured grid should show max 5 cards */
.featured-cards-grid > :nth-child(n+6){
  display:none;
}

/* Shared video-card style (fix overflow behaviors) */
.video-card{
  position: relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 10px 26px rgba(28,56,52,.18);
  overflow:hidden;
  width:100%;
  max-width:520px;
  aspect-ratio:16 / 9;
  display:grid;
  place-items:center;
}
.video-card.has-poster{
  background:#fff url("images/video-poster.jpg") center/cover no-repeat;
}
.video-link{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background: linear-gradient(0deg, rgba(0,0,0,.18), rgba(0,0,0,.18));
  color:#fff;
  text-decoration:none;
}
.play{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  background:#111;
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 6px 14px rgba(0,0,0,.28);
}
.play svg{ width:18px; height:18px; fill:currentColor; }

/* ======================
  Get Inspired (articles)
====================== */
.browse-articles{
  width: 100%;
  margin-block: 32px;
  padding-block: 28px;
  min-block-size: 360px;
  background-color: transparent;
  color: #050505;
}

.browse-articles-inner{
  max-width: var(--page-max);
  margin: 0 auto;
  padding-inline: var(--page-gutter);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Header row */
.browse-articles .head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}


.inspiration-heading-group{
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
}

.inspiration-heading-row{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.inspiration-heading,
.inspiration-tagline{
  font-size:clamp(32px, 3.5vw, 44px);
  line-height:1.1;
  letter-spacing:.4px;
}

.inspiration-heading{
  margin:0;
  font-weight:300;
}

.inspiration-heading-line1,
.inspiration-heading-line2{
  display:block;
  margin:0;
}
.inspiration-heading-strong{
  font-weight:600;
}
.paint-underline{
  position:relative;
  display:inline-block;
}
.paint-underline::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:8px;
  background:linear-gradient(90deg,rgba(197,239,20,0.2),rgba(197,239,20,0.8),rgba(197,239,20,0.3));
  transform:skewX(-5deg) rotate(-1deg);
  border-radius:10px;
  z-index:-1;
}
.inspiration-heading .inspiration-bold{
  font-weight:700;
}

@media (max-width: 768px){
  .inspiration-heading{
    font-family: 'Fira Sans', 'Glacial Indifference', sans-serif;
    font-size: 45.5px;
    line-height: 1.1;
    letter-spacing: 0;
    font-weight: 500;
  }
  .inspiration-heading .inspiration-bold{
    font-weight: 800;
  }
  .inspiration-tagline{
    font-family: 'Fira Sans', 'Glacial Indifference', sans-serif;
    font-size: 45.5px;
    line-height: 1.1;
    letter-spacing: 0;
    font-weight: 500;
  }
  .inspiration-tagline strong{
    font-weight: 800;
  }
}

.inspiration-side{ 
  display:flex; flex-direction:column; gap:8px;
}
.inspiration-more{
  display:flex;
  justify-content:flex-start;
  margin-top:12px;
}

.inspiration-tagline{
  margin:0;
  font-weight:300;
}
.inspiration-tagline strong{ font-weight:700; }

.inspiration-subhead{
  margin:0;
  font-size:15px;
  max-width:540px;
  text-align:left;
  line-height:1.5;
  font-weight:400;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  color:var(--muted);
}

/* Layout: large feature card + sidebar cards */
.inspired-layout {
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:16px;
  column-gap:16px;
  align-items:flex-start;
  justify-items:start;
  justify-content:start;
}

/* Large article preview */
.big-article {
  width:100%;
}

.big-article .image-wrap{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  height:360px;
  box-shadow:0 16px 32px rgba(0,0,0,.18);
  border:none;
}
.big-article .image-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.34);
  z-index:1;
}
.big-article img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}

/* Caption box on large card */
.image-caption{
  position:absolute;
  left:24px;
  top:24px;
  right:24px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:12px;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
}
.image-caption-title{
  margin:0;
  font-size:39px;
  line-height:1.05;
  font-weight:800;
  color:#fff;
  letter-spacing:0.05em;
  font-family:'Fira Sans',sans-serif;
}
.image-caption-bold{
  font-weight:800;
}
.image-caption-highlight{
  font-weight:800;
  color:#fff;
  font-family:'Fira Sans',sans-serif;
}
.lapa-accent{
  color:#C5EF14;
}
.image-caption-body{
  margin:0;
  font-size:0.95rem;
  line-height:1.35;
  color:#e2e2e2;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
}

.mini-column{
  width:100%;
  justify-self:stretch;
  align-self:flex-start;
  display:flex;
  flex-direction:column;
  gap:0;
}

.mini-column .mini-article{
  background:transparent;
  box-shadow:none;
  min-height:100%;
}

.mini-article{
  width:100%;
  border-radius:24px;
  padding:0;
  height:360px;
}

.mini-article-link{
  display:block;
  height:100%;
  width:100%;
  text-decoration:none;
  color:inherit;
}

.mini-article-image{
  position:relative;
  height:360px;
  width:100%;
  border-radius:26px;
  overflow:hidden;
  border:none;
}

.mini-article-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.52);
  z-index:1;
}

.mini-article-caption{
  position:absolute;
  top:24px;
  bottom:24px;
  left:24px;
  right:24px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:8px;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
}
.caption-bottom-left{
  top:24px;
  bottom:24px;
  justify-content:flex-start;
  align-items:flex-start;
}

.mini-article-caption p{
  margin:0;
  font-size:0.95rem;
  line-height:1.4;
  color:#f6f6f6;
}

.mini-article-title{
  margin:0;
  font-size:24px;
  line-height:1.05;
  font-weight:800;
  color:#fff;
  letter-spacing:0.03em;
}
.mini-column .mini-article-title{
  font-size:30px;
  font-family:'Fira Sans',sans-serif;
}
.mini-article-title-in{
  font-weight:800;
}
.mini-article-title-light{
  font-weight:800;
}
.mini-article-title-highlight{
  color:#fff;
}
.mini-article-title .lapa-accent{
  color:#fff;
}
.mini-article-caption .article-destination,
.image-caption .article-destination{
  margin:0;
  color:#C5EF14;
  font-size:0.7rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:700;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
}
.mini-article-caption .article-meta,
.image-caption .article-meta{
  margin:0;
  margin-top:auto;
  font-size:0.75rem;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  color:#f6f6f6;
}
.browse-articles .mini-article-body{
  display:block;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  overflow:visible;
  flex:1 1 auto;
}
.browse-articles .article-read-more{
  display:inline-block;
  color:#C5EF14;
  font-family:"Glacial Indifference","Fira Sans",sans-serif;
  font-size:.85rem;
  font-weight:700;
  text-decoration:none;
}
.browse-articles .mini-article-link:hover .article-read-more,
.browse-articles .mini-article-link:focus .article-read-more{
  text-decoration:underline;
}
.mini-article-caption .dot,
.image-caption .dot{
  width:4px;
  height:4px;
  border-radius:50%;
  display:inline-block;
  background:#fff;
  opacity:0.7;
}

.mini-article-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  position:relative;
}
.mini-article-image img{
  transform:scale(1);
  transition:transform 1.6s ease;
  will-change:transform;
}
.mini-article:hover .mini-article-image img{
  transform:scale(1.06);
}


/* image fills the box – no extra white space */
/* CTA button */
.ghost-link{
  display:inline-flex;
  align-self:flex-start;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid var(--teal);
  color:var(--teal);
  font-weight:800;
  letter-spacing:.2px;
  text-decoration:none;
}
.ghost-link:hover{
  background:var(--teal);
  color:#fff;
}

/* Responsive collapse to 1-column */
@media (max-width: 960px){
  .inspired-layout {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 4px !important;
  }

  .mini-column {
    width:100%;
  }

  .image-caption{
    left:14px;
    right:14px;
    bottom:14px;
    width:auto;
  }

}
.image-caption-body{
  margin:0;
  font-size:0.95rem;
  line-height:1.35;
  color:#e2e2e2;
}

@media (max-width: 768px){
  .inspired-layout{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:12px !important;
  }
  .big-article .image-wrap,
  .mini-article,
  .mini-article-image{
    height:var(--city-card-h);
  }
  .mini-article,
  .mini-article-image{
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 16px 32px rgba(0,0,0,.18);
  }
  .mini-article-image::before{
    background:rgba(0,0,0,0.34);
  }
  .image-caption{
    left:12px;
    right:12px;
    top:12px;
  }
  .mini-article-caption{
    left:12px;
    right:12px;
    top:12px;
    bottom:12px;
    align-items:flex-start;
  }
  .image-caption-title{
    font-size:26px;
    line-height:1.15;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .mini-article-title{
    font-size:24px;
    line-height:1.15;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .mini-column .mini-article-title{
    font-size:24px;
  }
  .image-caption-body,
  .mini-article-body{
    font-size:0.85rem;
    line-height:1.3;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}

.inspiration-side {
    position: relative;
}

.inspiration-side .view-all-pill {
    position: absolute;
    top: 100px;        /* move down */
    left: -160px;       /* move slightly left */
    transform: none;  /* ensure no inherited transforms interfere */
}

/* Style the See More Articles pill just like the Featured Tours pill */
.inspiration-side .view-all-pill {
    font:600 12px 'Glacial Indifference','Fira Sans', sans-serif;
    background:transparent;
    color:#000;
    border:1px solid #000;
    padding:6px 16px;
    border-radius:999px;
    gap:4px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    white-space:nowrap;
}

/* Add the black arrow */
.inspiration-side .view-all-pill::after {
    content:"→";
    margin-left:4px;
    font-size:13px;
    color:#000;
}

/* Hide pickup selector UI when "Meeting point" is selected */
#pickupRow[data-view="MEETUP"] #pickupDropdownToggleBtn{
  display:none !important;
}
#pickupRow[data-view="MEETUP"] #pickupDropdownHost{
  display:none !important;
}


/* ======================
  Cookie Consent
====================== */
.cookie-notice{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  z-index: 500;
  padding: 20px 32px;
  background: #fff;
  border-top: 1.5px solid #e0e0de;
  box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.07);
  opacity: 0;
  transition: opacity .2s ease;
}
.cookie-notice.is-visible{
  opacity: 1;
}
.cookie-notice-inner{
  max-width: var(--page-max);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  width: 100%;
}
.cookie-notice-copy{
  flex: 1;
  min-width: 260px;
}
.cookie-notice-label{
  display: inline-flex;
  margin-bottom: 9px;
  padding: 3px 10px;
  border: 1.5px solid #e0e0de;
  border-radius: 6px;
  background: transparent;
  font: 700 10px/1 'Glacial Indifference', 'Fira Sans', sans-serif;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: #999;
}
.cookie-notice-title{
  margin: 0;
  margin-bottom: 5px;
  font: 700 16px/1.25 'Fira Sans', sans-serif;
  letter-spacing: -0.01em;
  color: #000;
}
.cookie-notice-text{
  margin: 0;
  max-width: 520px;
  font: 400 13px/1.75 'Glacial Indifference', 'Fira Sans', sans-serif;
  color: #3a3a3a;
}
.cookie-notice-link{
  color: #ff4d4d;
  font: 700 13px/1.75 'Glacial Indifference', 'Fira Sans', sans-serif;
  text-decoration: none;
  letter-spacing: .02em;
}
.cookie-notice-link:hover{
  color: #ff4d4d;
}
.cookie-notice-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cookie-btn{
  border-radius: 10px;
  padding: 9px 20px;
  font: 700 11px/1 'Glacial Indifference', 'Fira Sans', sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
  cursor: pointer;
  transition: all .2s ease;
}
.cookie-btn-outline{
  border: 1.5px solid #e0e0de;
  background: #fff;
  color: #444;
}
.cookie-btn-solid{
  border: 1.5px solid #0a0a0a;
  background: #0a0a0a;
  color: #fff;
  padding: 9px 22px;
}
.cookie-btn-outline:hover{
  border-color: #0a0a0a;
  color: #0a0a0a;
}
.cookie-btn-solid:hover{
  border-color: #ff4d4d;
  background: #ff4d4d;
}
@media (max-width: 640px){
  .cookie-notice{
    padding: 16px;
  }
  .cookie-notice-inner{
    flex-direction: row;
    align-items: stretch;
    gap: 16px;
  }
  .cookie-notice-actions{
    width: 100%;
    justify-content: flex-end;
  }
  .cookie-notice-actions .cookie-btn{
    flex: 1 1 140px;
  }
}

@media (max-width: 768px){
  .city-articles .browse-articles-inner{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }
  .city-articles .head{
    display:contents;
  }
  .city-articles .inspiration-heading-group{
    order:1;
  }
  .city-articles .inspired-layout{
    order:2;
  }
  .city-articles .inspiration-side,
  .city-articles .inspiration-more{
    order:3;
    width:100%;
    display:flex;
    justify-content:flex-start;
    margin-top:4px;
  }
  .city-articles .inspiration-side{
    position:static;
  }
  .city-articles .inspiration-side .view-all-pill,
  .city-articles .inspiration-more .view-all-pill{
    position:static;
    top:auto;
    left:auto;
    transform:none;
    width:auto;
    max-width:max-content;
    flex:0 0 auto;
    display:inline-flex;
    align-self:flex-start;
  }
}
@media (max-width: 768px){
  .city-articles .inspiration-more > .view-all-pill,
  .city-articles .inspiration-side > .view-all-pill{
    display:inline-flex !important;
    width:fit-content !important;
    max-width:none !important;
    flex:0 0 auto !important;
    align-self:flex-start !important;
    white-space:nowrap;
  }
  .city-articles .inspiration-more > .view-all-pill > span,
  .city-articles .inspiration-side > .view-all-pill > span{
    display:inline !important;
    width:auto !important;
  }
}
@media (max-width: 768px){
  .city-articles .inspiration-more > a.view-all.view-all-pill.view-all-pill-tours,
  .city-articles .inspiration-side > a.view-all.view-all-pill.view-all-pill-tours{
    display:inline-flex !important;
    inline-size:max-content !important;
    width:auto !important;
    max-width:max-content !important;
    flex:0 0 auto !important;
  }
}
