/* ============================================
   EXTRA — added for the multi-bottle site structure
   (Passport 75 / Passport 59 / Bundle)
   ============================================ */

/* Small "Soon" badge inline in the desktop nav */
.nav-soon {
  font-size: 0.65em;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-primary);
  border: 1px solid oklch(from var(--color-primary) l c h / 0.4);
  border-radius: var(--radius-full);
  padding: 0.1em 0.5em;
  margin-left: 0.35em;
  vertical-align: middle;
}

/* Inline links inside prose (FAQ answers, story body) */
.faq__answer-inner a,
.story__body a,
.section-head__desc a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.faq__answer-inner a:hover,
.story__body a:hover,
.section-head__desc a:hover {
  color: var(--color-primary-hover);
}

/* ============ MORE BOTTLES TEASER (on index.html) ============ */
.more-bottles__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-6);
  margin-top: var(--space-10);
}
@media (max-width: 720px) {
  .more-bottles__grid { grid-template-columns: 1fr; }
}
.more-bottles__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-8);
  background: var(--color-surface);
  border-radius: var(--radius-xl);
  border: 1px solid oklch(from var(--color-text) l c h / 0.08);
  text-decoration: none;
  color: var(--color-text);
  transition: border-color var(--transition-interactive), transform var(--transition-interactive);
}
.more-bottles__card:hover {
  border-color: oklch(from var(--color-primary) l c h / 0.5);
  transform: translateY(-2px);
}
.more-bottles__badge {
  display: inline-flex;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
  background: var(--color-primary-highlight);
  border-radius: var(--radius-full);
  padding: 0.3em 0.9em;
  margin-bottom: var(--space-2);
}
.more-bottles__card h3 {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
}
.more-bottles__card p {
  color: var(--color-text-muted, var(--color-text));
  opacity: 0.75;
  font-size: var(--text-sm);
  line-height: 1.6;
}
.more-bottles__link {
  margin-top: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
}

/* ============ COMING SOON HERO (passport-59.html) ============ */
.coming-soon__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
  background: var(--color-primary-highlight);
  border-radius: var(--radius-full);
  padding: 0.4em 1em;
}
.coming-soon__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 3/4;
  max-width: 420px;
  width: 100%;
  border-radius: var(--radius-xl);
  border: 1px dashed oklch(from var(--color-text) l c h / 0.18);
  background: var(--color-surface);
  color: var(--color-text);
  opacity: 0.6;
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 700;
  text-align: center;
  padding: var(--space-8);
}

/* ============ BUNDLE PAGE ============ */
.bundle-pair {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--space-6);
  margin: var(--space-12) 0;
}
@media (max-width: 720px) {
  .bundle-pair { grid-template-columns: 1fr; }
  .bundle-pair__plus { transform: rotate(90deg); }
}
.bundle-pair__bottle {
  text-align: center;
}
.bundle-pair__bottle img {
  border-radius: var(--radius-xl);
  aspect-ratio: 3/4;
  object-fit: cover;
  width: 100%;
}
.bundle-pair__bottle h3 {
  margin-top: var(--space-4);
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 700;
}
.bundle-pair__bottle p {
  font-size: var(--text-sm);
  opacity: 0.75;
  margin-top: var(--space-1);
}
.bundle-pair__plus {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--color-primary);
  opacity: 0.5;
  text-align: center;
}
.bundle-stat-row {
  display: flex;
  justify-content: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  margin: var(--space-10) 0;
  text-align: center;
}
.bundle-stat-row .stat-num {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: 800;
  color: var(--color-primary);
}
.bundle-stat-row .stat-label {
  font-size: var(--text-sm);
  opacity: 0.7;
}

/* Simple no-JS "+ N more resorts" expander (passport-59.html, bundle.html) */
.plus-resorts {
  margin-top: var(--space-4);
  font-size: var(--text-sm);
}
.plus-resorts summary {
  cursor: pointer;
  color: var(--color-primary);
  font-weight: 600;
  list-style: none;
}
.plus-resorts summary::-webkit-details-marker { display: none; }
.plus-resorts summary::after { content: " +"; }
.plus-resorts[open] summary::after { content: " –"; }
.plus-resorts p {
  margin-top: var(--space-3);
  opacity: 0.75;
  line-height: 1.8;
}

/* ============ OUR STORY page ============ */
.story-more-link {
  display: inline-block;
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}
.story-more-link:hover { color: var(--color-primary-hover); }

.story-chapters {
  max-width: 640px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
.story-chapter {
  display: flex;
  gap: var(--space-6);
}
.story-chapter__num {
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 800;
  color: var(--color-primary);
  opacity: 0.4;
  width: 2.5ch;
}
.story-chapter__eyebrow {
  display: block;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}
.story-chapter__title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  margin-bottom: var(--space-3);
  line-height: 1.25;
}
.story-chapter__body {
  color: var(--color-text-muted);
  line-height: 1.8;
  font-size: var(--text-base);
}
@media (max-width: 640px) {
  .story-chapter { gap: var(--space-4); }
  .story-chapter__num { font-size: var(--text-lg); width: 2ch; }
}

/* ============ COMMUNITY page ============ */
.hashtag-badge {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-lg);
  color: var(--color-primary);
  background: var(--color-primary-highlight);
  border-radius: var(--radius-full);
  padding: 0.5em 1.2em;
  margin-top: var(--space-4);
}
.ugc-callout {
  max-width: 640px;
  margin: var(--space-10) auto 0;
  padding: var(--space-8);
  background: var(--color-surface);
  border: 1px solid oklch(from var(--color-text) l c h / 0.08);
  border-radius: var(--radius-xl);
  text-align: center;
}
.ugc-callout h3 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 700;
  margin-bottom: var(--space-2);
}
.ugc-callout p {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: 1.7;
}
.ugc-rights-note {
  max-width: 640px;
  margin: var(--space-8) auto 0;
  padding: var(--space-6);
  border: 1px dashed oklch(from var(--color-text) l c h / 0.18);
  border-radius: var(--radius-lg);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  line-height: 1.7;
  text-align: left;
}
.ugc-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-10);
}
@media (max-width: 720px) {
  .ugc-gallery { grid-template-columns: repeat(2, 1fr); }
}
.ugc-gallery__tile {
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  border: 1px dashed oklch(from var(--color-text) l c h / 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-3);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  opacity: 0.6;
}

/* ============ PRICE DISPLAY (was/now) ============ */
.price-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}
.price-was {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  text-decoration: line-through;
  text-decoration-color: oklch(from var(--color-text) l c h / 0.4);
  opacity: 0.6;
}
.price-now {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 800;
  color: var(--color-primary);
}

/* --- 3D bottle viewer --- */
.product__main {
  background: radial-gradient(70% 60% at 50% 50%, #2d6b7a 0%, #12181d 62%, #0a0c0f 100%);
}
.product__main iframe#bottle3d {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  border: 0; background: transparent;
}
.bottle3d__hint {
  position: absolute; left: 0; right: 0; bottom: 14px; margin: 0; text-align: center;
  font-size: var(--text-xs); color: rgba(243,239,232,.65);
  letter-spacing: 0.14em; text-transform: uppercase; pointer-events: none;
}

/* Align the 3D box with the top of the product text, and keep it in view while scrolling */
@media (min-width: 1024px) {
  .product__layout { align-items: start; }
  .product__main { position: sticky; top: 96px; align-self: start; }
}

/* v4: box sits level with the top of the product text and is 25% bigger inside */
@media (min-width: 1024px) {
  .product__layout { align-items: start !important; }
  .product__main { align-self: start !important; margin-top: 0 !important; }
}

/* --- spinning detail strip --- */
.spin-strip { margin: var(--space-16) auto 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); max-width: 620px; }
.spin-strip__item { margin: 0; display: flex; flex-direction: column; gap: var(--space-3); align-items: center; }
.spin-strip__item video { width: 100%; height: auto; aspect-ratio: 332 / 850; object-fit: cover; display: block; border-radius: var(--radius-lg); background: transparent; }
.spin-strip__item figcaption { font-size: var(--text-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--color-text-muted); }

.price-each { font-size: var(--text-sm); color: var(--color-text-muted); }


/* sticker offer */
.stickers__feature { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: var(--space-12); align-items: center; max-width: 960px; margin-inline: auto; }
.stickers__photo { border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 18px 50px rgba(0,0,0,.28); }
.stickers__photo img { display: block; width: 100%; height: auto; }
.stickers__copy { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.stickers__copy .section-head__title, .stickers__copy .section-head__desc { margin: 0; text-align: left; }
.stickers__offer { margin-top: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-divider); border-radius: var(--radius-xl); background: var(--color-surface); display: flex; flex-direction: column; gap: var(--space-4); }
.stickers__offer h3 { margin: 0 0 var(--space-1, 4px); font-size: var(--text-lg); }
.stickers__offer p { margin: 0; color: var(--color-text-muted); font-size: var(--text-sm); }
.stickers__buy { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.stickers__price { font-size: var(--text-xl); font-weight: 600; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) { .stickers__feature { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); } .stickers__photo { max-width: 280px; margin-inline: auto; } }

/* phone-width header fit */
html,body{overflow-x:clip}
@media (max-width:460px){
  .header__inner{gap:var(--space-2)}
  .header__actions{gap:var(--space-1,4px);min-width:0}
  .header__logo{min-width:0}
}

/* v9: finish picker overlay inside the 3D box (phones and tablets) */
.finish-overlay { display: none; }
@media (max-width: 1023px) {
  .finish-main { display: none; }
  .finish-overlay {
    position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); z-index: 3;
    display: flex; align-items: center; gap: 12px; padding: 8px 14px;
    background: rgba(10,12,15,.72); border: 1px solid rgba(255,255,255,.14); border-radius: 999px;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  }
  .finish-overlay__label { font-size: var(--text-xs); letter-spacing: .12em; text-transform: uppercase; color: rgba(243,239,232,.85); white-space: nowrap; }
  .finish-overlay .product__variant { width: 40px; height: 40px; flex: none; }
  .finish-overlay .product__variant--active { border-color: #7fc4d4; box-shadow: 0 0 0 2px rgba(127,196,212,.35); }
  .bottle3d__hint { bottom: 12px; }
}

/* v9: brighter mountain background on phones and tablets */
@media (max-width: 1023px) {
  .hero__bg img { opacity: 0.95; filter: brightness(1.35) contrast(1.15) saturate(1.1); }
  .hero__bg::after {
    background: linear-gradient(to bottom, rgba(10,12,15,.18) 0%, rgba(10,12,15,.30) 45%, rgba(10,12,15,.55) 78%, #0a0c0f 100%);
  }
  .hero__title, .hero__subtitle, .hero__eyebrow { text-shadow: 0 2px 14px rgba(0,0,0,.65); }
}
@media (max-width: 1023px) { .hero__subtitle { color: rgba(243,239,232,.92); } .hero__title em { color: #8fd0e0; } }

/* v12: hero bottle = live 3D spin (or your video), on phones too */
.hero__product { width: 100%; }
.hero__product .hero__video {
  display: block; width: 100%; max-width: 440px; aspect-ratio: 4 / 5; height: auto; border: 0; background: transparent;
  filter: none; border-radius: 0; max-height: none; object-fit: contain;
}
.hero__product .hero__video[hidden] { display: none; }
@media (max-width: 1023px) {
  .hero__product { display: flex !important; justify-content: center; }
  .hero__content { gap: var(--space-4); }
  .hero__text { display: contents; }
  .hero__eyebrow { order: 1; } .hero__title { order: 2; } .hero__subtitle { order: 3; }
  .hero__product { order: 4; } .hero__actions { order: 5; }
  .hero__content > .hero__text > * { }
  .hero__product .hero__video { max-width: 360px; }
  .hero__actions { margin-top: 0; }
}
@media (max-width: 1023px) {
  .hero__content { padding-top: calc(var(--space-16) + 24px); padding-bottom: var(--space-8); }
  .hero__product .hero__video { max-width: 250px; }
}
@media (max-width: 1023px) {
  .hero__content { gap: 12px; }
  .hero__subtitle { font-size: 15px; line-height: 1.45; margin: 0; }
  .hero__title { margin: 0; }
  .hero__product .hero__video { max-width: 230px; }
}

/* v15: bottle-first hero. Mountains clearly visible; spinning bottle sits between the headline and the buttons. */
.hero__bg img { opacity: .95; filter: brightness(1.22) contrast(1.08) saturate(1.1); }
.hero__bg::after { background: linear-gradient(to bottom, rgba(10,12,15,.10) 0%, rgba(10,12,15,.16) 72%, var(--color-bg) 100%); }
.hero__title, .hero__subtitle, .hero__eyebrow { text-shadow: 0 2px 14px rgba(0,0,0,.7); }
@media (max-width: 1023px) {
  .hero { min-height: 0; align-items: flex-start; }
  .hero__content { padding-top: 70px; padding-bottom: 18px; gap: 6px; }
  .hero__eyebrow { font-size: 11px; }
  .hero__title { font-size: 28px; line-height: 1.1; letter-spacing: -.02em; }
  .hero__title br { display: none; }
  .hero__subtitle { font-size: 14px; line-height: 1.4; }
  .hero__product { margin: 0; }
  .hero__product .hero__video { max-width: none; width: 100%; height: clamp(260px, calc(100svh - 395px), 350px); aspect-ratio: auto; }
  .hero__actions { margin-top: 2px; }
}

.hero__subtitle { color: rgba(243,239,232,.92); } .hero__title em { color: #8fd0e0; }

/* v16: hero bottle = pre-rendered spin frames, finish buttons right under it */
.hero__product { display: flex !important; justify-content: center; width: 100%; }
.spin { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; }
.spin__stage { position: relative; height: 520px; aspect-ratio: 130 / 370; max-width: 100%; }
.spin__img, .spin__canvas, .spin__stage .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; display: block; border: 0; background: transparent; aspect-ratio: auto; filter: none; border-radius: 0; }
.spin__stage .hero__video[hidden], .spin__canvas[hidden] { display: none; }
.spin__cap { margin: 0; text-align: center; font: 600 11px/1.3 var(--font-body, system-ui, sans-serif); letter-spacing: .1em; text-transform: uppercase; color: rgba(243,239,232,.96); text-shadow: 0 1px 12px rgba(0,0,0,.85); }
.spin__finish { display: flex; align-items: center; gap: 12px; padding: 6px 14px; background: rgba(10,12,15,.62); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.spin__label { font-size: var(--text-xs); letter-spacing: .12em; text-transform: uppercase; color: rgba(243,239,232,.9); white-space: nowrap; }
.spin__finish .product__variant { width: 34px; height: 34px; flex: none; }
.spin__finish .product__variant--active, .finish-overlay .product__variant--active { border-color: #7fc4d4; box-shadow: 0 0 0 2px rgba(127,196,212,.35); }
.spin__note { margin: 0; font-size: 10px; letter-spacing: .08em; color: rgba(243,239,232,.62); text-shadow: 0 1px 8px rgba(0,0,0,.8); text-align: center; }
@media (max-width: 1023px) {
  .hero__content { padding-top: 66px; padding-bottom: 14px; gap: 4px; }
  .spin { gap: 6px; }
  .spin__stage { height: clamp(220px, calc(100svh - 500px), 330px); }
}

/* v16: 3D viewer floats (no box); finish buttons sit right under the bottle on every screen */
.product__main { background: transparent !important; overflow: visible; border-radius: 0; }
.product__main iframe#bottle3d { inset: 0 0 auto 0; height: calc(100% - 100px); }
.bottle3d__hint { display: none; }
.finish-overlay {
  position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); z-index: 3;
  display: flex !important; align-items: center; gap: 12px; padding: 6px 14px;
  background: rgba(10,12,15,.62); border: 1px solid rgba(255,255,255,.18); border-radius: 999px;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.finish-overlay .product__variant { width: 34px; height: 34px; flex: none; }
.product__finish-note { position: absolute; left: 0; right: 0; bottom: 10px; margin: 0; text-align: center; font-size: var(--text-xs); color: rgba(243,239,232,.72); letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 1023px) { .product__main { aspect-ratio: 3 / 4; } }
.spin__stage::after { content: ''; position: absolute; left: 6%; right: 6%; bottom: 6%; height: 12px; border-radius: 50%; background: radial-gradient(ellipse at center, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 70%); z-index: -1; pointer-events: none; }

.product__finish-note { font-size: 10px; letter-spacing: .05em; bottom: 8px; white-space: nowrap; }
.finish-overlay { bottom: 38px; }
.finish-overlay__label { white-space: nowrap; font-size: var(--text-xs); letter-spacing: .12em; text-transform: uppercase; color: rgba(243,239,232,.9); }

/* v18: cleaner hero (just bottle + changing caption), bigger bottle */
.spin__stage { height: 560px; }
@media (max-width: 1023px) { .spin__stage { height: clamp(240px, calc(100svh - 400px), 400px); } .hero__content { gap: 8px; } }
.product__layout { margin-bottom: 0; }
@media (min-width: 1024px) {
  .hero__title { font-size: clamp(52px, 5.4vw, 72px); line-height: 1.0; }
  .spin__stage { height: 520px; }
}

.spin__stage { touch-action: pan-y; cursor: grab; -webkit-user-select: none; user-select: none; outline: none; }
.spin__stage.is-dragging { cursor: grabbing; }
.spin__img, .spin__canvas { pointer-events: none; -webkit-user-drag: none; }

/* v21: the home-page bottle is the same 3D viewer as the one in the bottle section (frames are the fallback) */
.spin__stage { overflow: visible; }
.spin__3d { position: absolute; top: 0; left: 50%; height: 100%; aspect-ratio: 0.9 / 1; width: auto; transform: translateX(-50%); border: 0; background: transparent; opacity: 0; pointer-events: none; transition: opacity .5s ease; z-index: 2; color-scheme: normal; }
.spin__3d.is-ready { opacity: 1; pointer-events: auto; }
.spin__stage { --spin-h: 520px; height: var(--spin-h); }
@media (max-width: 1023px) { .spin__stage { --spin-h: clamp(240px, calc(100svh - 400px), 400px); } }
.spin__3d { width: min(calc(100vw - 32px), calc(var(--spin-h) * .9)); }


/* --- Filmed bottles: two real turntable videos --- */
.realfilm__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,3vw,32px);max-width:540px;margin:clamp(20px,4vw,40px) auto 0}
.realfilm__card{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.realfilm__frame{position:relative;display:block;width:100%;aspect-ratio:9/16;padding:0;border:0;border-radius:var(--radius-lg,16px);overflow:hidden;background:#d9d3c8;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 18px 40px -22px rgba(0,0,0,.45)}
.realfilm__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.realfilm__state{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.55);opacity:0;transition:opacity .2s;pointer-events:none}
.realfilm__state::before{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent #fff;left:3px}
.realfilm__frame.is-paused .realfilm__state{opacity:1}
.realfilm__card figcaption{text-align:center;font-size:var(--text-sm,14px);color:var(--color-text-muted);letter-spacing:.04em}
@media (max-width:480px){.realfilm__grid{gap:10px}.realfilm__frame{border-radius:12px}}

/* Passport 59 page */
.viewer59 { position: relative; width: min(100%, 520px); aspect-ratio: 3 / 4; margin: var(--space-10, 40px) auto 0; }
.viewer59 iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; color-scheme: normal; }

/* bundle v26 */
.bhero-duo{display:flex;gap:clamp(8px,3vw,28px);justify-content:center;align-items:flex-end;width:100%}
.bhero-duo a{display:block;flex:0 1 38%;max-width:220px}
.bhero-duo img{width:100%;height:auto;aspect-ratio:390/1110;object-fit:contain;display:block;filter:drop-shadow(0 18px 28px rgba(0,0,0,.45))}
.bundle-pair__bottle img{aspect-ratio:390/1110;object-fit:contain;max-height:460px;border-radius:0;background:none;width:auto;max-width:100%;margin:0 auto;display:block}
.bundle-pair__bottle p a{color:var(--color-primary);text-decoration:underline}
.swatches{display:flex;gap:8px;justify-content:center;margin-top:12px}
.sw{font:inherit;font-size:var(--text-sm);padding:8px 16px;min-height:44px;border-radius:999px;border:1.5px solid var(--color-border,rgba(255,255,255,.25));background:transparent;color:inherit;cursor:pointer}
.sw::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px;border:1px solid rgba(128,128,128,.6)}
.sw--black::before{background:#111}.sw--white::before{background:#f4f4f2}
.sw.is-on{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}
.bundle-price{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;margin:var(--space-8) 0}
.bundle-price__amt{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800}
.bundle-price__amt s{opacity:.5;font-size:.6em;font-weight:500;margin-right:8px}
.bundle-price__sub,.bundle-price__pick{font-size:var(--text-sm);opacity:.8}
.hero__product .bhero-duo img{background:none!important;border-radius:0!important;box-shadow:none;padding:0!important;max-height:none;height:auto}
.hero__product .bhero-duo a{background:none}

/* forms v27 */
.cta__consent{display:flex;gap:10px;align-items:flex-start;max-width:560px;margin:14px auto 0;font-size:var(--text-sm);opacity:.85;text-align:left;line-height:1.4;cursor:pointer}
.cta__consent input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--color-primary)}
.cta__consent a{text-decoration:underline}
.cta__msg{min-height:1.4em;text-align:center;margin-top:10px;font-size:var(--text-sm)}
.footer__legal{margin-top:8px;font-size:var(--text-xs,12px);opacity:.7}
.footer__legal a{text-decoration:underline}
.cta__consent a{color:var(--color-primary)}
/* buy v28: when selling is live, hide the waitlist form */
.pp-live .cta__form,.pp-live .cta__consent,.pp-live .cta__msg,.pp-live .cta__form-note{display:none}
.pp-live .final-cta__desc{display:none}
.buy-block{display:flex;flex-direction:column;align-items:center;gap:12px;margin:16px 0}
.buy-live{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%}
.buy-live[hidden]{display:none}
.buy-fallback[hidden]{display:none!important}
/* resort feature + colored plus v30 */
.rf{margin:20px auto 0;max-width:520px;text-align:left}
.rf__label{font-size:var(--text-xs,12px);letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:10px;text-align:center}
.rf__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.rf__chips li{font-size:var(--text-sm);padding:6px 12px;border-radius:999px;border:1px solid var(--color-border,rgba(255,255,255,.2))}
.rf__more{margin-top:14px;text-align:center}
.rf__more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-size:var(--text-sm);min-height:44px}
.rf__more summary::-webkit-details-marker{display:none}
.rf__plus{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:#0c0c0e;font-weight:800;font-size:18px;line-height:1;transition:transform .2s}
.rf__more[open] .rf__plus{transform:rotate(45deg)}
.rf__more p{margin-top:10px;font-size:var(--text-sm);line-height:1.6;opacity:.85;text-align:left}
.bundle-pair__bottle .rf{max-width:none}
html{scroll-padding-top:80px}
.bundle-pair__plus{pointer-events:none}
.product__info .rf{margin:0 0 var(--space-6);max-width:none}.product__info .rf__label,.product__info .rf__chips,.product__info .rf__more{text-align:left;justify-content:flex-start}
/* v33: hero viewer = same viewer as the bottle section */
.hero-viewer{position:relative;aspect-ratio:3/4;height:clamp(320px,calc(100svh - 400px),600px);max-width:100%;margin-inline:auto}
@media (min-width:1024px){.hero-viewer{height:clamp(420px,calc(100svh - 200px),640px)}}
.hero-viewer iframe{position:absolute;inset:0 0 auto 0;width:100%;height:calc(100% - 100px);border:0;background:transparent;display:block}
.hero-viewer .finish-overlay{bottom:20px}
.hero__product .hero-viewer iframe{max-height:none;filter:none;border-radius:0}
/* v33: color dots live inside the bottle pictures */
.bp-media{position:relative;display:block}
.bhero-duo .bp-media{flex:0 1 38%;max-width:220px}
.bhero-duo .bp-media a{display:block;max-width:none;flex:none}
.bp-media>a{display:block}
.bundle-pair__bottle .bp-media{width:min(100%,260px);margin:0 auto}
.bp-dots{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:8px;padding:5px 8px;border-radius:999px;background:rgba(10,12,15,.62);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2}
.sw--dot{width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.35);box-shadow:none}
.sw--dot::before{display:none}
.sw--dot.sw--black{background:#111}.sw--dot.sw--white{background:#f4f4f2}
.sw--dot.is-on{border-color:#7fc4d4;box-shadow:0 0 0 2px rgba(127,196,212,.35)}
.bhero-duo .bp-media img{filter:drop-shadow(0 18px 28px rgba(0,0,0,.45))}
.bundle-pair__bottle .bp-media img{max-height:none}
.stickers__feature--nophoto{grid-template-columns:minmax(0,1fr);max-width:640px;text-align:center}.stickers__feature--nophoto .stickers__offer{text-align:left}
/* v35: every bottle viewer (top and lower, 75 and 59) is the same box with the color buttons tucked up under the bottle */
.hero-viewer,.product__main.hero-viewer{position:relative;aspect-ratio:3/4;height:clamp(320px,calc(100svh - 400px),600px);width:auto;max-width:100%;margin-inline:auto;border-radius:0;overflow:visible;background:transparent!important}
@media (min-width:1024px){.hero-viewer,.product__main.hero-viewer{height:clamp(420px,calc(100svh - 200px),640px)}}
.hero-viewer iframe,.product__main.hero-viewer iframe{position:absolute!important;inset:0 0 auto 0!important;width:100%!important;height:calc(100% - 64px)!important;border:0;background:transparent;display:block}
.hero-viewer .finish-overlay,.product__main.hero-viewer .finish-overlay{bottom:10px!important}
