/* styles.css */
:root {
  --ink: #152030;
  --paper: #f7f5ef;
  --cream: #ece8dd;
  --muted: #697079;
  --line: rgba(21, 32, 48, 0.14);
  --accent: #b97243;
  --accent-strong: #9f5532;
  --deep: #101925;
  --wine: #1b304c;
  --wine-rgb: 27, 48, 76;
  --wine-soft: #d9e0e8;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --mono: "DM Mono", monospace;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); overflow-x: hidden; }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; z-index: 1000; transform: translateY(-200%); left: 16px; top: 12px; background: var(--ink); color: white; padding: 10px 14px; border-radius: 4px; }
.skip-link:focus { transform: translateY(0); }
.section-pad { padding-left: clamp(20px, 5vw, 80px); padding-right: clamp(20px, 5vw, 80px); }
.eyebrow { color: var(--accent-strong); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.button { align-items: center; border: 0; border-radius: 999px; display: inline-flex; font-size: 13px; font-weight: 700; gap: 22px; justify-content: space-between; letter-spacing: -.01em; min-height: 54px; padding: 0 18px 0 24px; transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--accent); color: white; box-shadow: 0 11px 22px rgba(159, 85, 50, .18); }
.button-primary:hover { background: var(--accent-strong); }
.button-dark { background: var(--deep); color: white; }
.button-outline { border: 1px solid rgba(255,255,255,.65); background: transparent; color: white; }
.button-arrow { align-items: center; background: rgba(255,255,255,.18); border-radius: 50%; display: grid; flex: 0 0 28px; height: 28px; place-items: center; width: 28px; }
.announcement-bar { align-items: center; background: var(--deep); color: #fff; display: flex; font-size: 11px; gap: 8px; justify-content: center; min-height: 34px; padding: 5px 16px; }
.announcement-bar p { margin: 0; }
.pulse-dot { background: #dfb67d; border-radius: 50%; height: 6px; width: 6px; }
.announcement-link { background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.5); color: white; font-size: 11px; margin-left: 8px; padding: 0; }
.site-header { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1600px; min-height: 76px; padding: 0 clamp(20px, 5vw, 80px); }
.brand { align-items: center; color: var(--ink); display: inline-flex; font-family: var(--mono); font-size: 11px; font-weight: 500; gap: 8px; letter-spacing: .12em; text-decoration: none; }
.brand-mark { align-items: center; border: 1px solid currentColor; border-radius: 50%; display: grid; font-size: 9px; height: 27px; letter-spacing: 0; place-items: center; width: 27px; }
.desktop-nav { display: flex; gap: 30px; margin-left: 75px; }
.desktop-nav button, .collection-trigger { background: none; border: 0; color: var(--ink); font-size: 12px; padding: 5px 0; }
.desktop-nav button { position: relative; }
.desktop-nav button::after { background: var(--accent); bottom: -1px; content: ""; height: 1px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; width: 100%; }
.desktop-nav button:hover::after { transform: scaleX(1); }
.header-actions { align-items: center; display: flex; gap: 17px; }
.collection-trigger { align-items: center; display: flex; gap: 7px; }
.current-dot { background: var(--wine); border-radius: 50%; display: inline-block; height: 9px; width: 9px; }
.cart-button { align-items: center; background: var(--ink); border: 0; border-radius: 50%; color: white; display: flex; height: 39px; justify-content: center; position: relative; width: 39px; }
.cart-button svg { height: 18px; width: 18px; }
.cart-count { align-items: center; background: var(--accent); border: 2px solid var(--paper); border-radius: 50%; color: #fff; display: none; font-family: var(--mono); font-size: 9px; height: 17px; justify-content: center; position: absolute; right: -7px; top: -6px; width: 17px; }
.cart-count.has-items { display: flex; }
.product-switcher { border-top: 1px solid var(--line); padding-top: 17px; }
.eyebrow-row { align-items: center; display: flex; justify-content: space-between; }
.collection-count { color: var(--muted); font-family: var(--mono); font-size: 10px; }
.wine-tabs { border-bottom: 1px solid var(--line); display: flex; gap: clamp(25px, 7vw, 100px); overflow-x: auto; scrollbar-width: none; }
.wine-carousel { align-items: center; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; }
.wine-carousel-arrow { align-items: center; background: var(--paper); border: 1px solid var(--line); border-radius: 50%; color: var(--ink); cursor: pointer; display: grid; font-size: 18px; height: 38px; place-items: center; transition: background .2s ease, color .2s ease, transform .2s ease; width: 38px; }
.wine-carousel-arrow:hover { background: var(--ink); color: var(--paper); transform: translateY(-2px); }
.wine-tabs { scroll-behavior: smooth; scroll-snap-type: x proximity; }
.wine-tabs::-webkit-scrollbar { display: none; }
.wine-tab { align-items: center; background: none; border: 0; color: #92979c; display: flex; flex: 0 0 auto; font-family: var(--serif); font-size: clamp(19px, 2.1vw, 28px); gap: 9px; padding: 21px 0 16px; position: relative; scroll-snap-align: center; }
.wine-tab.active { color: var(--ink); }
.tab-index { color: var(--accent-strong); font-family: var(--mono); font-size: 9px; margin-top: 4px; }
.tab-underline { background: var(--ink); bottom: -1px; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; width: 100%; }
.wine-tab.active .tab-underline { transform: scaleX(1); }
.hero { display: grid; gap: clamp(20px, 5vw, 80px); grid-template-columns: minmax(280px, .87fr) minmax(330px, 1.13fr); max-width: 1600px; padding-bottom: clamp(54px, 8vw, 118px); padding-top: clamp(38px, 7vw, 100px); }
.hero-copy { align-self: center; max-width: 500px; padding-bottom: 10px; }
.wine-kicker { margin: 0 0 17px; }
.hero h1 { font-family: var(--serif); font-size: clamp(66px, 10.2vw, 154px); font-weight: 600; letter-spacing: -.075em; line-height: .82; margin: 0; }
.hero-deck { font-size: clamp(16px, 1.5vw, 20px); letter-spacing: -.03em; line-height: 1.45; margin: 31px 0 17px; max-width: 405px; }
.wine-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 28px; }
.wine-pill { border: 1px solid var(--line); border-radius: 50px; color: #48515b; font-size: 11px; padding: 7px 11px; }
.hero-ctas { align-items: center; display: flex; flex-wrap: wrap; gap: 25px; }
.text-cta { background: transparent; border: 0; border-bottom: 1px solid var(--ink); color: var(--ink); font-size: 12px; padding: 6px 0; }
.micro-trust { color: #697079; display: flex; flex-wrap: wrap; font-size: 10px; gap: 13px; margin-top: 29px; }
.hero-art { background: var(--wine-soft); min-height: min(57vw, 660px); overflow: hidden; position: relative; }
.hero-art::before { background: linear-gradient(140deg, rgba(255,255,255,.26), transparent 40%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
.hero-image { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .8s cubic-bezier(.2,.65,.23,1); width: 100%; }
.hero-art:hover .hero-image { transform: scale(1.035); }
.orb { border: 1px solid rgba(255,255,255,.38); border-radius: 50%; height: 260px; opacity: .9; position: absolute; right: -100px; top: -72px; width: 260px; z-index: 2; }
.orb-two { height: 145px; left: -50px; right: auto; top: auto; bottom: -60px; width: 145px; }
.hero-stamp { border: 1px solid rgba(255,255,255,.7); border-radius: 50%; color: white; font-family: var(--serif); font-size: 13px; height: 128px; left: 24px; line-height: 1.08; padding-top: 42px; position: absolute; text-align: center; top: 22px; transform: rotate(-12deg); width: 128px; z-index: 3; }
.hero-stamp em { font-size: 15px; }
.image-label { align-items: center; backdrop-filter: blur(7px); background: rgba(9,18,30,.52); border: 1px solid rgba(255,255,255,.3); bottom: 17px; color: white; display: flex; font-size: 10px; gap: 9px; left: 17px; padding: 9px 11px; position: absolute; z-index: 4; }
.image-label-dot { background: #e7c17f; border-radius: 50%; height: 7px; width: 7px; }
.proof-strip { background: var(--cream); display: grid; grid-template-columns: repeat(3, 1fr); padding: 26px clamp(20px, 5vw, 80px); }
.proof-strip > div { align-items: center; border-right: 1px solid var(--line); display: flex; gap: 15px; justify-content: center; padding: 5px 20px; }
.proof-strip > div:last-child { border-right: 0; }
.proof-strip p { color: #697079; font-size: 11px; line-height: 1.35; margin: 0; }
.proof-strip strong { color: var(--ink); font-weight: 600; }
.proof-icon { color: var(--accent-strong); font-family: var(--mono); font-size: 10px; }
.offer-marquee { background: var(--accent); color: white; overflow: hidden; padding: 12px 0; white-space: nowrap; }
.marquee-track { animation: marquee 25s linear infinite; display: inline-flex; font-family: var(--mono); font-size: 10px; gap: 28px; letter-spacing: .12em; min-width: max-content; text-transform: uppercase; }.marquee-track b { color: #ffe3bd; font-size: 13px; }
@keyframes marquee { to { transform: translateX(-50%); } }
.flavor-section { padding-bottom: clamp(70px, 10vw, 150px); padding-top: clamp(75px, 10vw, 145px); }
.section-heading { max-width: 800px; }
.section-heading h2, .story-top h2, .buy-panel h2, .bundle-content h2, .next-copy h2 { font-family: var(--serif); font-size: clamp(37px, 5.2vw, 74px); font-weight: 600; letter-spacing: -.06em; line-height: .95; margin: 17px 0 0; }
.section-heading h2 em, .story-top h2 em, .buy-panel h2 em, .bundle-content h2 em, .next-copy h2 em { color: var(--accent-strong); font-weight: 600; }
.flavor-grid { display: grid; gap: 14px; grid-template-columns: 1.1fr 1fr .9fr; margin-top: 49px; }
.flavor-card { min-height: 360px; padding: 27px; }
.flavor-intro { background: var(--deep); color: white; }
.mini-label { font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.flavor-intro .mini-label { color: #e1b884; }
.flavor-description { font-family: var(--serif); font-size: clamp(23px, 2.3vw, 32px); letter-spacing: -.04em; line-height: 1.06; margin: 45px 0 42px; max-width: 300px; }
.meter-list { display: grid; gap: 16px; }
.meter-list > div { align-items: center; color: #b5bcc8; display: grid; font-size: 9px; gap: 8px; grid-template-columns: 45px 1fr 45px; }
.meter-list > div > span:last-child { text-align: right; }
.meter { background: rgba(255,255,255,.16); border-radius: 20px; height: 3px; overflow: hidden; }
.meter i { background: #e1b884; display: block; height: 100%; }
.meter-body { width: 68%; }.meter-fruit { width: 75%; }.meter-style { width: 82%; }
.flavor-notes { background: var(--wine-soft); color: var(--ink); display: flex; flex-direction: column; }
.note-stack { align-content: center; display: flex; flex: 1; flex-wrap: wrap; gap: 8px; margin: 25px 0; }
.note-chip { border: 1px solid rgba(var(--wine-rgb),.25); border-radius: 50%; display: grid; font-family: var(--serif); font-size: 17px; height: 110px; place-items: center; text-align: center; width: 110px; }
.note-chip:nth-child(2) { margin-top: 37px; }.note-chip:nth-child(3) { margin-left: 25px; }.note-chip:nth-child(4) { margin-top: -30px; }
.small-note { color: #4f5a67; font-size: 11px; line-height: 1.4; margin: auto 0 0; max-width: 260px; }
.flavor-pairing { background: var(--accent); color: white; display: flex; flex-direction: column; }
.flavor-pairing .mini-label { color: rgba(255,255,255,.7); }
.pairing-icon { align-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; display: grid; font-size: 25px; height: 54px; justify-content: center; margin: 38px 0 18px; width: 54px; }
.pairing-title { font-family: var(--serif); font-size: clamp(24px, 2.3vw, 32px); font-weight: 600; letter-spacing: -.05em; line-height: 1.03; margin: 0; }
.small-arrow-link { background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.7); color: white; font-size: 11px; margin-top: auto; padding: 6px 0; text-align: left; width: fit-content; }
.small-arrow-link span { font-size: 15px; margin-left: 15px; }
.story-section { background: #ebe8df; padding-bottom: clamp(70px, 9vw, 140px); padding-top: clamp(75px, 9vw, 135px); }
.story-top { align-items: flex-end; display: flex; gap: 50px; justify-content: space-between; }
.story-top h2 { font-size: clamp(35px, 4.6vw, 66px); }
.story-lede { color: #5b636b; font-size: 14px; line-height: 1.5; margin: 0 0 4px; max-width: 278px; }
.photo-mosaic { display: grid; gap: 16px; grid-template-columns: 1.25fr .75fr; grid-template-rows: 300px 230px; margin-top: 50px; }
.mosaic-card { background: var(--wine-soft); border-radius: 18px; box-shadow: 0 18px 42px rgba(17,31,48,.1); margin: 0; overflow: hidden; position: relative; transform: translateZ(0); }
.mosaic-card::after { background: linear-gradient(0deg, rgba(10,17,26,.58), transparent 45%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.mosaic-card img { height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .8s ease; width: 100%; }
.mosaic-card:hover img { filter: saturate(1.08); transform: scale(1.06); }
.mosaic-card figcaption { bottom: 18px; color: white; font-family: var(--serif); font-size: 18px; left: 20px; position: absolute; text-shadow: 0 2px 10px rgba(0,0,0,.35); z-index: 1; }
.mosaic-large { grid-row: span 2; }.mosaic-tall { grid-column: 2; }.mosaic-wide { grid-column: 2; }
.gallery-rail { display: flex; gap: 8px; margin-top: 14px; overflow-x: auto; padding-bottom: 5px; scrollbar-width: none; }
.gallery-rail::-webkit-scrollbar { display: none; }
.gallery-thumb { background: transparent; border: 0; border-radius: 9px; flex: 0 0 96px; height: 72px; opacity: .52; overflow: hidden; padding: 0; transition: border-color .2s ease, opacity .2s ease, transform .2s ease; }
.gallery-thumb.active { box-shadow: 0 0 0 2px var(--accent); opacity: 1; }
.gallery-thumb.active, .gallery-thumb:hover { opacity: 1; transform: translateY(-2px); }.gallery-thumb img { height: 100%; object-fit: cover; width: 100%; }
.buy-section { background: var(--deep); color: white; display: grid; gap: clamp(20px, 7vw, 120px); grid-template-columns: .95fr 1fr; padding-bottom: clamp(75px, 9vw, 135px); padding-top: clamp(75px, 9vw, 135px); }
.buy-art { align-items: center; background: var(--wine); display: grid; min-height: 575px; overflow: hidden; place-items: center; position: relative; }
.buy-art::after { border: 1px solid rgba(255,255,255,.22); border-radius: 50%; content: ""; height: 450px; position: absolute; width: 450px; }
.buy-bottle { height: 82%; object-fit: cover; position: absolute; transform: scale(1.4); width: 82%; z-index: 1; }
.buy-panel { position: relative; }
.buy-panel .eyebrow { color: #d9a66f; letter-spacing: .16em; }
.buy-panel h2 { font-size: clamp(40px, 5vw, 68px); letter-spacing: -.06em; line-height: .92; max-width: 460px; }
.offer-grid { gap: 10px; }
.offer-card { backdrop-filter: blur(10px); background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.2); border-radius: 14px; min-height: 142px; padding: 16px 13px; transition: border-color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease; }
.offer-card:hover { background: rgba(255,255,255,.1); box-shadow: 0 14px 28px rgba(0,0,0,.2); transform: translateY(-4px); }
.offer-card.active { background: linear-gradient(145deg, rgba(201,122,67,.25), rgba(255,255,255,.08)); border-color: #e1b884; box-shadow: 0 12px 30px rgba(201,122,67,.18); }
.offer-card strong { font-size: 21px; }
.offer-card-price { color: #f2d3aa; font-size: 12px; font-weight: 700; }
.price-row { margin-top: 18px; padding: 20px 0; }
.wine-price { color: #f7e8d2; font-size: clamp(32px, 4vw, 48px); }
.quantity-control { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.35); }
.button-full { background: linear-gradient(100deg, #bd6d3b, #d9945c 52%, #bd6d3b); box-shadow: 0 15px 30px rgba(189,109,59,.25); font-size: 14px; min-height: 56px; }
.checkout-shortcut { color: #f0d5b1; font-size: 12px; }
html[data-wine="santa-isle"] .hero-image,
html[data-wine="santa-isle"] .mosaic-card img,
html[data-wine="santa-isle"] .gallery-thumb img { aspect-ratio: 4 / 5; object-fit: cover; }
html[data-wine="santa-isle"] .hero-art { aspect-ratio: 4 / 5; min-height: 0; }
html[data-wine="santa-isle"] .hero-image { height: 100%; object-position: center; width: 100%; }
@media (max-width: 800px) {
  html[data-wine="santa-isle"] .hero-art { aspect-ratio: 4 / 5; min-height: 0; }
  html[data-wine="santa-isle"] .gallery-thumb { flex-basis: 84px; height: 105px; }
}
html[data-wine="cabeza"] .buy-bottle { object-fit: contain; transform: scale(1.08); }
html[data-wine="olari"] .buy-bottle { object-fit: contain; transform: scale(1.08); }
.buy-orbit { animation: spin 26s linear infinite; border: 1px solid rgba(255,255,255,.33); border-radius: 50%; color: white; font-family: var(--mono); font-size: 10px; height: 395px; letter-spacing: .08em; padding-top: 14px; position: absolute; text-align: center; text-transform: uppercase; width: 395px; z-index: 2; }
@keyframes spin { to { transform: rotate(360deg); } }
.buy-art-label { bottom: 25px; color: white; font-family: var(--serif); font-size: 28px; left: 27px; line-height: .95; position: absolute; z-index: 3; }.buy-art-label em { color: #e1b884; }
.buy-panel { align-self: center; max-width: 560px; }.buy-panel-head { align-items: center; display: flex; justify-content: space-between; }.buy-panel .eyebrow { color: #e1b884; }.stock-note { border: 1px solid rgba(255,255,255,.35); border-radius: 20px; color: #d6dce7; font-size: 10px; padding: 6px 9px; }.buy-panel h2 { margin: 18px 0 45px; }.buy-panel h2 em { color: #e1b884; }
.offer-heading { align-items: baseline; display: flex; justify-content: space-between; margin: 0 0 11px; }.offer-heading span { color: #fff; font-size: 13px; font-weight: 600; }.offer-heading small { color: #aeb6c2; font-size: 9px; }.offer-grid { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); }.offer-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.17); color: white; min-height: 126px; padding: 11px 9px; position: relative; text-align: left; transition: background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease; }.offer-card:hover { border-color: rgba(255,255,255,.65); transform: translateY(-3px); }.offer-card.active { background: rgba(255,255,255,.12); border-color: #e1b884; box-shadow: inset 0 0 0 1px rgba(225,184,132,.22), 0 10px 22px rgba(0,0,0,.16); }.offer-card.featured::after { border: 5px solid transparent; border-right-color: #e1b884; border-top-color: #e1b884; content: ""; height: 0; position: absolute; right: 0; top: 0; width: 0; }.offer-badge { color: #e1b884; display: block; font-family: var(--mono); font-size: 8px; letter-spacing: .05em; margin-bottom: 10px; text-transform: uppercase; }.offer-card strong { display: block; font-family: var(--serif); font-size: 20px; font-weight: 600; letter-spacing: -.04em; }.offer-card-price { display: block; font-family: var(--mono); font-size: 10px; margin: 6px 0; }.offer-card small { color: #bac2cd; display: block; font-size: 8px; line-height: 1.22; }.price-row, .quantity-row, .cart-total { align-items: center; border-top: 1px solid rgba(255,255,255,.19); display: flex; justify-content: space-between; padding: 17px 0; }.price-label, .quantity-row > span { color: #c3c9d1; font-size: 12px; }.wine-price { font-family: var(--serif); font-size: 28px; font-weight: 600; letter-spacing: -.05em; }.quantity-control { align-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 30px; display: flex; overflow: hidden; }.quantity-control button { background: transparent; border: 0; color: white; font-size: 19px; height: 32px; width: 35px; }.quantity-control output { font-family: var(--mono); font-size: 11px; text-align: center; width: 24px; }.button-full { margin-top: 17px; position: relative; overflow: hidden; width: 100%; }.button-full::before { animation: sheen 4s infinite; background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); content: ""; height: 100%; left: -90%; position: absolute; top: 0; transform: skewX(-24deg); width: 60%; }.checkout-shortcut { background: transparent; border: 0; color: white; display: block; font-size: 11px; margin: 18px auto 0; padding: 5px; }.checkout-shortcut span { color: #aeb6c2; }.buy-benefits { color: #b8c0cc; display: flex; flex-wrap: wrap; font-size: 10px; gap: 15px; justify-content: center; margin-top: 22px; }.discovery-offer { align-items: center; background: rgba(225,184,132,.12); border: 1px dashed rgba(225,184,132,.65); color: white; display: grid; gap: 10px; grid-template-columns: auto 1fr auto; margin-top: 25px; padding: 11px; text-align: left; transition: transform .2s ease, background .2s ease; width: 100%; }.discovery-offer:hover { background: rgba(225,184,132,.2); transform: translateY(-2px); }.discovery-icon { align-items: center; border: 1px solid rgba(225,184,132,.7); border-radius: 50%; color: #e1b884; display: grid; height: 28px; place-items: center; width: 28px; }.discovery-offer strong, .discovery-offer small { display: block; }.discovery-offer strong { font-size: 11px; }.discovery-offer small { color: #c7cdd6; font-size: 9px; margin-top: 3px; }.discovery-offer > b { color: #e1b884; font-size: 16px; } @keyframes sheen { 0%, 55% { left: -90%; } 80%, 100% { left: 130%; } }
.bundle-section { align-items: center; background: var(--accent); color: white; display: grid; gap: 50px; grid-template-columns: 1fr 1fr; overflow: hidden; padding-bottom: clamp(75px, 10vw, 145px); padding-top: clamp(75px, 10vw, 145px); }.bundle-content { max-width: 600px; }.bundle-content .eyebrow { color: #ffe1b8; }.bundle-content h2 { margin: 17px 0 22px; }.bundle-content h2 em { color: #ffe3c1; }.bundle-content p { color: rgba(255,255,255,.85); font-size: 14px; line-height: 1.5; margin: 0 0 29px; max-width: 380px; }
.bundle-cards { height: 390px; position: relative; }.bundle-image { box-shadow: 0 24px 38px rgba(82,37,17,.23); height: 285px; object-fit: cover; position: absolute; top: 46px; width: 190px; }.bundle-one { left: 4%; transform: rotate(-12deg); }.bundle-two { left: 33%; top: 18px; transform: rotate(2deg); z-index: 2; }.bundle-three { left: 61%; transform: rotate(13deg); }.bundle-note { bottom: 0; font-family: var(--serif); font-size: 19px; line-height: .95; position: absolute; right: 6%; text-align: right; z-index: 4; }
.next-wine { background: var(--paper); display: grid; gap: 40px; grid-template-columns: .9fr 1.1fr; padding-bottom: clamp(75px, 10vw, 140px); padding-top: clamp(75px, 10vw, 140px); }.next-copy { align-self: center; }.next-count { color: #6d747b; font-family: var(--mono); font-size: 10px; margin: 28px 0 0; }.next-copy h2 { margin-top: 10px; }.next-description { color: #626a72; font-size: 14px; line-height: 1.45; max-width: 320px; }.next-copy .button { margin-top: 17px; }.next-visual { background: var(--wine-soft); border: 0; height: min(50vw, 540px); overflow: hidden; padding: 0; position: relative; }.next-visual img { height: 100%; object-fit: cover; object-position: center center; transition: transform .6s ease; width: 100%; }.next-visual:hover img { transform: scale(1.04); }.next-visual-arrow { align-items: center; background: white; border-radius: 50%; bottom: 17px; color: var(--ink); display: grid; font-size: 20px; height: 48px; place-items: center; position: absolute; right: 17px; transition: transform .2s ease; width: 48px; }.next-visual:hover .next-visual-arrow { transform: rotate(45deg); }
.site-footer { background: var(--deep); color: white; padding: 50px clamp(20px, 5vw, 80px) 24px; }.brand-light { color: white; }.footer-top { align-items: flex-start; display: grid; gap: 30px; grid-template-columns: 1fr 1.2fr 1fr; }.footer-top p { color: #b9c1ca; font-family: var(--serif); font-size: 21px; line-height: 1.08; margin: 0; max-width: 235px; }.footer-top button { background: transparent; border: 0; color: white; font-size: 11px; justify-self: end; padding: 4px 0; }.footer-top button span { color: #e1b884; font-size: 15px; margin-left: 12px; }.footer-bottom { border-top: 1px solid rgba(255,255,255,.17); color: #9aa5b1; display: flex; flex-wrap: wrap; font-size: 9px; gap: 18px; justify-content: space-between; margin-top: 52px; padding-top: 17px; }
.overlay { background: rgba(13,21,32,.48); inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .3s ease; z-index: 20; }.overlay.visible { opacity: 1; pointer-events: auto; }.cart-drawer { background: var(--paper); display: flex; flex-direction: column; height: 100dvh; max-width: 450px; padding: 24px; position: fixed; right: 0; top: 0; transform: translateX(105%); transition: transform .35s cubic-bezier(.2,.8,.2,1); width: 100%; z-index: 30; }.cart-drawer.open { transform: translateX(0); }.drawer-header, .checkout-head { align-items: flex-start; display: flex; justify-content: space-between; }.drawer-header h2, .checkout-head h2 { font-family: var(--serif); font-size: 30px; letter-spacing: -.05em; margin: 6px 0 0; }.icon-close { background: none; border: 0; color: var(--ink); font-size: 31px; line-height: 1; padding: 0; }.cart-items { flex: 1; margin-top: 30px; overflow-y: auto; }.cart-empty { align-items: center; display: none; flex: 1; flex-direction: column; justify-content: center; text-align: center; }.cart-empty.visible { display: flex; }.empty-spark { color: var(--accent); font-size: 30px; }.cart-empty h3 { font-family: var(--serif); font-size: 25px; margin: 12px 0 5px; }.cart-empty p { color: var(--muted); font-size: 12px; line-height: 1.4; margin: 0 0 23px; max-width: 230px; }.cart-line { border-bottom: 1px solid var(--line); display: grid; gap: 13px; grid-template-columns: 78px 1fr; padding: 0 0 17px; }.cart-line + .cart-line { padding-top: 17px; }.cart-line img { height: 94px; object-fit: cover; width: 78px; }.cart-line-info { display: grid; grid-template-columns: 1fr auto; }.cart-line-info h3 { font-family: var(--serif); font-size: 18px; font-weight: 600; letter-spacing: -.04em; margin: 0; }.cart-line-info p { color: var(--muted); font-size: 10px; grid-column: 1 / -1; margin: 3px 0 12px; }.cart-line-price { font-family: var(--mono); font-size: 11px; }.line-quantity { align-items: center; display: flex; gap: 8px; }.line-quantity button { background: transparent; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); height: 22px; line-height: 15px; padding: 0; width: 22px; }.line-quantity span { font-family: var(--mono); font-size: 10px; min-width: 13px; text-align: center; }.remove-line { align-self: end; background: none; border: 0; color: #747b82; font-size: 10px; padding: 0; }.cart-footer { border-top: 1px solid var(--line); padding-top: 16px; }.shipping-progress > div:first-child { align-items: baseline; display: flex; font-size: 10px; justify-content: space-between; }.shipping-progress strong { color: var(--accent-strong); font-size: 10px; }.shipping-track { background: #dfdcd4; border-radius: 8px; height: 5px; margin: 8px 0 18px; overflow: hidden; }.shipping-fill { background: var(--accent); display: block; height: 100%; transition: width .3s ease; width: 0%; }.cart-total { border-top: 1px solid var(--line); padding: 13px 0; }.cart-total span { color: #58616a; font-size: 12px; }.cart-total strong { font-family: var(--serif); font-size: 25px; letter-spacing: -.05em; }.cart-footer .button-primary { margin-top: 4px; }.secure-note { color: #737a81; font-size: 9px; margin: 11px 0 0; text-align: center; }
.checkout-modal { background: var(--paper); box-shadow: 0 25px 80px rgba(0,0,0,.3); left: 50%; max-width: 510px; opacity: 0; padding: clamp(24px, 4vw, 42px); pointer-events: none; position: fixed; top: 50%; transform: translate(-50%, -46%); transition: opacity .28s ease, transform .28s ease; width: calc(100% - 32px); z-index: 40; }.checkout-modal.open { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%); }.checkout-steps { align-items: center; color: #9a9fa2; display: flex; font-family: var(--mono); font-size: 9px; gap: 7px; margin: 32px 0 25px; }.checkout-steps span.active { color: var(--accent-strong); }.checkout-steps i { background: #d6d4cf; flex: 1; height: 1px; }.checkout-form { display: grid; gap: 14px; }.checkout-form label { color: #555d64; display: grid; font-size: 10px; gap: 6px; }.checkout-form input { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; color: var(--ink); font-size: 14px; outline: none; padding: 8px 0; }.checkout-form input:focus { border-color: var(--accent); }.checkout-summary { background: var(--cream); display: grid; font-size: 12px; gap: 8px; margin: 5px 0; padding: 14px; }.checkout-summary > div { display: flex; justify-content: space-between; }.checkout-summary span { color: #606870; }.checkout-summary strong { font-family: var(--serif); font-size: 18px; }.lightbox { background: transparent; border: 0; max-height: 90vh; max-width: min(900px, 92vw); padding: 0; }.lightbox::backdrop { background: rgba(10, 15, 22, .82); backdrop-filter: blur(5px); }.lightbox img { max-height: 80vh; object-fit: contain; }.lightbox-close { background: white; border: 0; border-radius: 50%; color: var(--ink); font-size: 25px; height: 38px; line-height: 1; position: absolute; right: -12px; top: -12px; width: 38px; }.lightbox-caption { color: white; font-size: 12px; margin: 10px 0 0; text-align: center; }.toast { align-items: center; background: #fff; bottom: 18px; box-shadow: 0 11px 35px rgba(16,25,37,.23); display: flex; gap: 9px; left: 50%; opacity: 0; padding: 11px 12px; pointer-events: none; position: fixed; transform: translate(-50%, 20px); transition: opacity .25s ease, transform .25s ease; width: max-content; z-index: 70; }.toast.visible { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }.toast-icon { align-items: center; background: var(--accent); border-radius: 50%; color: white; display: grid; font-size: 10px; height: 17px; place-items: center; width: 17px; }.toast p { font-size: 11px; margin: 0; }.toast button { background: none; border: 0; border-bottom: 1px solid var(--ink); color: var(--ink); font-size: 10px; padding: 2px 0; }
.reveal { animation: enter .8s both; } @keyframes enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: no-preference) { .hero-image { animation: hero-drift 11s ease-in-out infinite alternate; }.buy-bottle { animation: bottle-float 5s ease-in-out infinite; }.current-dot { animation: soft-pulse 2.4s ease-in-out infinite; } .gallery-thumb:nth-child(even) { animation: tile-wiggle 5s ease-in-out infinite; } }
@keyframes hero-drift { from { transform: scale(1.01); } to { transform: scale(1.065) translateX(-1%); } } @keyframes bottle-float { 0%,100% { transform: scale(1.4) translateY(0); } 50% { transform: scale(1.4) translateY(-9px); } } @keyframes soft-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(var(--wine-rgb),.28); } 50% { box-shadow: 0 0 0 6px rgba(var(--wine-rgb),0); } } @keyframes tile-wiggle { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@media (max-width: 800px) { .desktop-nav, .collection-trigger { display: none; }.site-header { min-height: 66px; }.announcement-link { display: none; }.announcement-bar { min-height: 31px; }.product-switcher { padding-top: 13px; }.collection-count { display: none; }.wine-tabs { gap: 31px; }.wine-tab { font-size: 20px; padding: 16px 0 13px; }.hero { display: flex; flex-direction: column; padding-bottom: 61px; padding-top: 40px; }.hero-copy { display: contents; }.wine-kicker { order: 0; }.hero h1 { font-size: clamp(72px, 22vw, 116px); order: 1; }.hero-deck { margin: 18px 0 6px; order: 3; }.wine-pills { margin-bottom: 21px; order: 4; }.hero-art { min-height: 115vw; order: 2; }.hero-ctas { order: 5; }.micro-trust { order: 6; }.hero-stamp { height: 105px; left: 16px; padding-top: 34px; top: 15px; width: 105px; }.hero-stamp em { font-size: 13px; }.proof-strip { grid-template-columns: 1fr; padding: 10px 20px; }.proof-strip > div { border-bottom: 1px solid var(--line); border-right: 0; justify-content: flex-start; padding: 12px 0; }.proof-strip > div:last-child { border-bottom: 0; }.flavor-grid { grid-template-columns: 1fr; }.flavor-card { min-height: 312px; }.flavor-description { margin: 35px 0 29px; }.note-stack { max-width: 320px; }.story-top { display: block; }.story-lede { margin-top: 20px; }.photo-mosaic { grid-template-columns: 1fr; grid-template-rows: 400px 260px 250px; margin-top: 36px; }.mosaic-large, .mosaic-tall, .mosaic-wide { grid-column: auto; grid-row: auto; }.buy-section { grid-template-columns: 1fr; }.buy-art { min-height: 460px; }.buy-orbit { height: 330px; width: 330px; }.buy-art::after { height: 380px; width: 380px; }.buy-bottle { height: 90%; width: 90%; }.offer-grid { gap: 6px; }.offer-card { min-height: 115px; padding: 9px 7px; }.offer-card strong { font-size: 18px; }.offer-badge { font-size: 7px; }.offer-card small { font-size: 7px; }.bundle-section { grid-template-columns: 1fr; }.bundle-cards { height: 310px; }.bundle-image { height: 230px; width: 150px; }.bundle-one { left: 0; }.bundle-two { left: 28%; }.bundle-three { left: 56%; }.bundle-note { font-size: 16px; right: 2%; }.next-wine { grid-template-columns: 1fr; }.next-visual { height: 95vw; }.footer-top { grid-template-columns: 1fr; }.footer-top button { justify-self: start; }.footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 38px; }.checkout-modal { max-height: 90dvh; overflow-y: auto; } }
@media (max-width: 380px) { .hero h1 { font-size: 68px; }.announcement-bar { font-size: 10px; }.hero-ctas { align-items: flex-start; flex-direction: column; gap: 10px; }.hero-ctas .button { width: 100%; }.bundle-image { height: 200px; width: 130px; }.bundle-cards { height: 270px; } }
.footer-bottom a { color: #d5dde5; text-decoration: none; }.footer-bottom a:hover { text-decoration: underline; }
.professional-footer{background:linear-gradient(145deg,#0c1725,#111f30 70%,#182b3b);padding-top:72px;position:relative;overflow:hidden}.professional-footer:before{background:radial-gradient(circle,rgba(225,184,132,.16),transparent 68%);content:"";height:380px;position:absolute;right:-120px;top:-170px;width:380px}.professional-footer>*{position:relative}.professional-footer .footer-top{align-items:end;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:46px}.professional-footer .footer-top p{color:#e7ded2;font-size:clamp(24px,3vw,38px);line-height:1.03;max-width:320px}.professional-footer .brand-light{align-self:start}.footer-links{display:grid;gap:28px;grid-template-columns:repeat(3,1fr);margin:38px 0 8px;max-width:620px}.footer-links>div{display:grid;gap:11px;align-content:start}.footer-links strong{color:#e1b884;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.footer-links a,.footer-links button{background:none;border:0;color:#b8c4d0;font-size:11px;padding:0;text-align:left;text-decoration:none}.footer-links a:hover,.footer-links button:hover{color:#fff}.professional-footer .footer-bottom{align-items:center;margin-top:38px;padding-top:20px}.professional-footer .footer-bottom span:last-child{color:#d8cbbb;font-weight:600}.professional-footer [data-payment-methods]{color:#b9c7d2}.professional-footer .footer-top button{border:1px solid rgba(225,184,132,.55);border-radius:30px;padding:11px 16px}.professional-footer .footer-top button:hover{background:rgba(225,184,132,.12)}
.flavor-card{position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.flavor-card:before{background:radial-gradient(circle,rgba(255,255,255,.2),transparent 64%);content:"";height:240px;left:-90px;opacity:0;pointer-events:none;position:absolute;top:-110px;transition:opacity .35s ease;width:240px}.flavor-card:hover{box-shadow:0 22px 50px rgba(16,25,37,.12);transform:translateY(-7px)}.flavor-card:hover:before{opacity:1}.flavor-notes .note-stack{gap:10px}.note-chip{background:transparent;border:1px solid rgba(22,32,45,.2);border-radius:50%;color:var(--ink);cursor:pointer;font-family:var(--serif);font-size:17px;height:110px;line-height:1.05;padding:12px;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;width:110px}.note-chip:hover,.note-chip.active{background:rgba(255,255,255,.38);border-color:var(--accent-strong);box-shadow:0 10px 22px rgba(22,32,45,.1);transform:scale(1.06) rotate(-2deg)}.meter-body,.meter-fruit,.meter-style{transform-origin:left;animation:meter-enter .9s cubic-bezier(.2,.8,.2,1) both}.flavor-card:hover .meter-body{transform:scaleX(1.08)}.flavor-card:hover .meter-fruit{transform:scaleX(1.04)}.flavor-card:hover .meter-style{transform:scaleX(1.1)}.pairing-icon{transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s ease}.flavor-pairing:hover .pairing-icon{background:rgba(255,255,255,.18);transform:rotate(90deg) scale(1.1)}@keyframes meter-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.announcement-bar{background:linear-gradient(105deg,#0c1522,#182638 52%,#0d1724);gap:20px;justify-content:space-between;min-height:42px;padding:6px clamp(16px,4vw,54px);position:relative;overflow:hidden}.announcement-bar:after{background:linear-gradient(90deg,transparent,rgba(225,184,132,.3),transparent);content:"";height:1px;left:0;position:absolute;top:0;width:100%}.announcement-main{align-items:center;display:flex;gap:9px;min-width:0}.announcement-slider{align-items:center;display:flex;gap:9px;min-width:0}.announcement-main strong{color:#f5e7d1;font-size:11px;letter-spacing:.01em;white-space:nowrap}.announcement-main p{color:#d0d8e1;font-size:10px;margin:0;white-space:nowrap}.announcement-separator{color:#a96f49}.announcement-benefits{color:#aebcca;display:flex;font-family:var(--mono);font-size:8px;gap:14px;letter-spacing:.02em;margin-left:auto;white-space:nowrap}.announcement-link{border:1px solid rgba(225,184,132,.55);border-radius:999px;color:#f7ead6;font-size:10px;margin-left:0;padding:7px 13px;transition:background .2s ease,border-color .2s ease,transform .2s ease;white-space:nowrap}.announcement-link:hover{background:rgba(225,184,132,.16);border-color:#e1b884;transform:translateY(-1px)}.announcement-dots{display:flex;gap:4px;margin-left:auto}.announcement-dots button{background:#718096;border:0;border-radius:50%;height:4px;padding:0;transition:background .2s ease,transform .2s ease;width:4px}.announcement-dots button.active{background:#e1b884;transform:scale(1.45)}.announcement-slider strong.is-changing,.announcement-slider p.is-changing{animation:announcement-fade .35s ease}@keyframes announcement-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:800px){.announcement-bar{gap:8px;justify-content:center;min-height:39px;padding:6px 12px}.announcement-main{justify-content:center}.announcement-main strong{font-size:10px}.announcement-main p,.announcement-separator,.announcement-benefits,.announcement-dots{display:none}.announcement-link{display:block;font-size:9px;padding:6px 10px}}
.checkout-stage{display:grid;gap:14px;animation:checkout-stage-in .24s ease}.checkout-stage[hidden]{display:none}.checkout-stage-title{align-items:center;display:flex;gap:12px;margin-bottom:3px}.checkout-stage-title button{background:#fff;border:1px solid var(--line);border-radius:50%;color:var(--ink);height:34px;width:34px}.checkout-stage-title small,.checkout-stage-title strong{display:block}.checkout-stage-title small{color:var(--accent-strong);font-family:var(--mono);font-size:8px;letter-spacing:.08em}.checkout-stage-title strong{font-family:var(--serif);font-size:20px;margin-top:2px}.checkout-field-pair{display:grid;gap:15px;grid-template-columns:1fr 1fr}.checkout-field-pair.city-state{grid-template-columns:1fr 72px}.delivery-choice,.payment-provider,.checkout-address-review{background:#f2eee5;border:1px solid #e3ddd0;padding:13px}.delivery-choice span,.delivery-choice strong,.delivery-choice small{display:block}.delivery-choice span{font-size:11px}.delivery-choice strong{font-family:var(--serif);font-size:17px;margin:3px 0}.delivery-choice small{color:#6f757a;font-size:9px;line-height:1.4}.checkout-address-review{color:#555d64;font-size:11px;line-height:1.55}.checkout-address-review strong{color:var(--ink);display:block;font-family:var(--serif);font-size:17px}.payment-provider{align-items:center;display:flex;gap:11px}.payment-provider>span{background:#ffe600;border-radius:10px;color:#171717;display:grid;font-size:11px;font-weight:900;height:38px;place-items:center;width:38px}.payment-provider strong,.payment-provider small{display:block}.payment-provider strong{font-size:12px}.payment-provider small{color:#6f757a;font-size:9px;margin-top:3px}@keyframes checkout-stage-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}@media(max-width:800px){.checkout-modal{bottom:0;left:0;max-height:94dvh;max-width:none;padding:22px 16px 18px;top:auto;transform:translateY(105%);width:100%}.checkout-modal.open{transform:none}.checkout-head h2{font-size:27px}.checkout-steps{margin:23px 0 20px}.checkout-form{gap:12px}.checkout-stage{gap:12px}.checkout-field-pair{gap:11px}.checkout-form .button-full{min-height:54px;position:sticky;bottom:0}.checkout-field-pair.city-state{grid-template-columns:1fr 64px}}
.checkout-conversation{background:#f8f1e8;border-left:3px solid var(--accent);padding:12px 14px}.checkout-conversation span{color:var(--accent-strong);font-family:var(--mono);font-size:8px;letter-spacing:.1em}.checkout-conversation strong{color:var(--ink);display:block;font-family:var(--serif);font-size:17px;line-height:1.15;margin-top:4px}.checkout-conversation p{color:#666e75;font-size:10px;line-height:1.45;margin:5px 0 0}.checkout-conversation.compact{background:transparent;border-left:0;color:#697178;font-size:11px;line-height:1.45;margin:-5px 0 0;padding:0}.checkout-conversation.compact:before{color:var(--accent);content:"✦";margin-right:6px}
.wine-cta-story{background:linear-gradient(110deg,rgba(225,184,132,.16),rgba(255,255,255,.04));border:1px solid rgba(225,184,132,.35);border-radius:12px;display:flex;flex-direction:column;gap:5px;margin-top:16px;padding:13px 15px;position:relative;overflow:hidden}.wine-cta-story::after{content:"✦";color:#e1b884;font-size:22px;position:absolute;right:15px;top:12px;transition:transform .4s ease}.wine-cta-story:hover::after{transform:rotate(180deg) scale(1.15)}.wine-cta-main{color:#fff;font-size:12px}.wine-cta-sub{color:#d5b58d;font-size:10px}
 .footer-bottom a[href="./admin.html"]{display:none!important}
.proof-strip>div{position:relative;transition:transform .3s ease}.proof-strip>div:hover{transform:translateY(-3px)}.proof-symbol{align-items:center;border:1px solid color-mix(in srgb,var(--accent-strong) 45%,transparent);border-radius:50%;color:var(--accent-strong);display:grid;font-size:14px;height:28px;place-items:center;transition:background .3s ease,transform .3s ease;width:28px}.proof-strip>div:hover .proof-symbol{background:var(--accent-strong);color:#fff;transform:rotate(12deg) scale(1.12)}.proof-strip p small{color:#9a9b99;display:block;font-size:9px;margin-top:4px;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}.proof-strip>div:hover p small{opacity:1;transform:translateY(0)}
.cart-drawer{box-shadow:-18px 0 60px rgba(16,25,37,.14)}.cart-line{animation:cart-line-in .45s cubic-bezier(.2,.8,.2,1) both;transition:transform .25s ease,background .25s ease}.cart-line:hover{background:rgba(183,114,67,.05);transform:translateX(-3px)}.cart-line img{border-radius:7px;box-shadow:0 8px 18px rgba(16,25,37,.12);transition:transform .3s ease}.cart-line:hover img{transform:scale(1.04) rotate(-1deg)}.line-quantity button{transition:background .2s ease,color .2s ease,transform .2s ease}.line-quantity button:hover{background:var(--accent);color:#fff;transform:scale(1.1)}.shipping-progress{background:linear-gradient(110deg,rgba(183,114,67,.07),rgba(255,255,255,.4));border-radius:10px;padding:12px 12px 2px}.shipping-fill{background:linear-gradient(90deg,var(--accent),#e1b884);box-shadow:0 0 12px rgba(183,114,67,.35)}.cart-trust-row{border-top:1px solid var(--line);color:#68727a;display:flex;font-size:8px;gap:10px;justify-content:space-between;padding:12px 0 3px}.cart-trust-row span{white-space:nowrap}.cart-footer .button-primary{box-shadow:0 12px 25px rgba(183,114,67,.24);transition:transform .25s ease,box-shadow .25s ease}.cart-footer .button-primary:hover{box-shadow:0 16px 30px rgba(183,114,67,.34);transform:translateY(-2px)}@keyframes cart-line-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
.cart-trust-row{flex-wrap:wrap}.cart-trust-row span{flex:1;min-width:30%}
.footer-bottom::after{color:#9aa5b1;content:"Usamos IA para aprimorar a experiência, as imagens e o design da loja. A autenticidade de cada vinho segue a procedência e as informações do rótulo.";display:block;font-size:8px;line-height:1.45;margin-top:10px;max-width:620px;opacity:.78;width:100%}
html[data-wine]{--tint:color-mix(in srgb,var(--accent) 10%,var(--paper))}html[data-wine] body{background:linear-gradient(180deg,var(--tint) 0%,var(--paper) 18%,var(--paper) 100%)}html[data-wine] .site-header{border-bottom-color:color-mix(in srgb,var(--accent) 24%,var(--line))}html[data-wine] .wine-tab.active{color:var(--accent-strong)}html[data-wine] .tab-underline{background:var(--accent)}html[data-wine] .hero-art{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}html[data-wine] .hero-stamp{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent-strong)}html[data-wine] .flavor-card:nth-child(2){background:color-mix(in srgb,var(--wine-soft) 58%,var(--paper))}html[data-wine] .next-visual{background:var(--wine-soft)}html[data-wine] .proof-strip{border-top:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-bottom:1px solid color-mix(in srgb,var(--accent) 18%,var(--line))}
.reviews-section{background:var(--paper);display:grid;gap:22px;grid-template-columns:1fr 180px 1.2fr;padding-bottom:clamp(65px,8vw,110px);padding-top:clamp(65px,8vw,110px)}.reviews-section h2{margin:12px 0 8px}.reviews-section p{color:var(--muted);font-size:13px;line-height:1.5}.reviews-summary{align-items:center;display:flex;flex-direction:column;justify-content:center}.reviews-average{font-family:var(--serif);font-size:48px}.reviews-stars,.review-card span,.review-stars-input button{color:#d79a52;letter-spacing:2px}.reviews-count{color:var(--muted);font-size:10px;margin-top:7px}.reviews-list{display:grid;gap:10px}.review-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;transition:transform .25s ease,box-shadow .25s ease}.review-card:hover{box-shadow:0 10px 25px rgba(16,25,37,.08);transform:translateY(-2px)}.review-card div{display:flex;justify-content:space-between}.review-card strong{font-size:11px}.review-card span{font-size:10px}.review-card p{font-size:11px;margin:8px 0 0}.review-form{background:var(--cream);border-radius:14px;display:grid;gap:9px;grid-column:1/-1;margin-top:10px;padding:18px}.review-form strong{font-family:var(--serif);font-size:19px}.review-form input,.review-form textarea{background:#fff;border:1px solid var(--line);border-radius:7px;font:inherit;font-size:12px;padding:11px}.review-form textarea{min-height:70px;resize:vertical}.review-stars-input{display:flex;gap:2px}.review-stars-input button{background:transparent;border:0;font-size:22px;opacity:.35;padding:0}.review-stars-input button.active,.review-stars-input button:hover{opacity:1}.review-form .button{justify-self:start}@media(max-width:800px){.reviews-section{display:block}.reviews-summary{align-items:flex-start;margin:20px 0}.reviews-list{margin-bottom:20px}}
.tech-sheet{background:color-mix(in srgb,var(--wine-soft) 35%,var(--paper));}.tech-sheet h2{margin:12px 0 8px}.tech-grid{display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin-top:30px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:14px}.tech-grid>div{background:rgba(255,255,255,.45);padding:20px;transition:background .25s ease,transform .25s ease}.tech-grid>div:hover{background:#fff;transform:translateY(-3px)}.tech-grid span{color:var(--muted);display:block;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.tech-grid strong{display:block;font-family:var(--serif);font-size:19px;margin-top:9px}.tech-profile{color:var(--accent-strong)}@media(max-width:800px){.tech-grid{grid-template-columns:repeat(2,1fr)}.tech-grid>div{padding:15px}.tech-grid strong{font-size:16px}}
.hero-copy{position:relative}.hero-copy::before{background:var(--accent);border-radius:10px;content:"";height:4px;left:0;position:absolute;top:-18px;width:42px}.hero-deck{color:#34404c;font-size:clamp(17px,1.7vw,22px);max-width:470px}.wine-pills{gap:9px}.wine-pill{background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;color:var(--accent-strong);font-size:11px;padding:9px 14px;transition:background .25s ease,transform .25s ease}.wine-pill:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);transform:translateY(-2px)}.hero-ctas{gap:18px}.hero-ctas .button-primary{box-shadow:0 14px 28px color-mix(in srgb,var(--accent) 28%,transparent);min-width:208px}.text-cta{border-bottom:1px solid var(--accent-strong);color:var(--ink);font-weight:600;padding:8px 0;transition:color .25s ease,border-color .25s ease}.text-cta:hover{border-color:var(--accent);color:var(--accent-strong)}.micro-trust{background:rgba(255,255,255,.42);border:1px solid var(--line);border-radius:9px;display:inline-flex;padding:10px 12px}.micro-trust span:first-child{color:var(--accent-strong);font-weight:600}
.customer-orders{margin:28px 0;max-width:640px}.customer-orders h3{font-family:var(--serif);font-size:24px}.customer-orders article{align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;gap:12px;grid-template-columns:1fr auto auto;margin:9px 0;padding:14px}.customer-orders article span{color:var(--accent-strong);font-size:11px}.customer-orders article b{font-family:var(--serif);font-size:18px}.customer-orders article small{color:var(--muted);font-size:10px;grid-column:1/-1}@media(max-width:600px){.customer-orders article{grid-template-columns:1fr auto}.customer-orders article b{grid-column:2;grid-row:1}.customer-orders article small{grid-column:1}}
.account-shell{min-height:100vh;background:linear-gradient(135deg,#f8f5ef 0%,#f1ece4 100%);color:#10233b;padding:34px clamp(22px,6vw,96px) 80px}.account-topbar{display:flex;justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto 72px}.account-brand{font-family:Georgia,serif;font-size:1.35rem;font-weight:700;color:#10233b;text-decoration:none}.account-back{color:#bd7140;text-decoration:none;font-weight:600}.account-hero{max-width:1120px;margin:0 auto 42px;display:flex;justify-content:space-between;align-items:end;gap:32px}.account-hero h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.98;letter-spacing:-.06em;margin:.4rem 0 1.2rem}.account-hero h1 em{font-family:Georgia,serif;font-weight:400}.account-lede{max-width:470px;color:#657184;font-size:1.08rem}.account-trust{display:flex;align-items:center;gap:14px;border:1px solid #ded7cd;border-radius:18px;padding:18px 24px;background:#fffaf4;box-shadow:0 12px 30px #8f6d4c14}.account-trust span{font-size:1.7rem;color:#bd7140}.account-trust p{margin:0;font-weight:700}.account-trust small{font-weight:400;color:#718096}.account-layout{max-width:1120px;margin:auto;display:grid;grid-template-columns:300px 1fr;gap:20px}.account-profile-card,.account-orders-card{background:#fffdf9;border:1px solid #e1d9cf;border-radius:22px;padding:28px;box-shadow:0 18px 45px #8f6d4c12}.account-profile-card{display:flex;flex-direction:column}.account-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#bd7140;color:white;font-size:1.7rem;font-weight:700;margin-bottom:25px}.account-profile-card h2{font-size:1.45rem;margin:.45rem 0}.account-email{color:#657184;word-break:break-word}.account-profile-note{font-size:.9rem;line-height:1.5;color:#8791a0;margin:20px 0 auto}.account-profile-card .button{margin-top:28px;align-self:flex-start}.account-card-head{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid #ebe4da;padding-bottom:20px;margin-bottom:4px}.account-card-head h2{margin:.35rem 0 0;font-size:1.8rem}.account-card-head .button{white-space:nowrap}.account-order-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:22px 4px;border-bottom:1px solid #ebe4da}.account-order-row strong{display:block;letter-spacing:.04em}.account-order-row small{display:block;color:#8993a0;margin-top:5px}.account-order-row b{font-size:.98rem}.order-status{font-size:.78rem;font-weight:700;border-radius:999px;padding:7px 11px;background:#eee;color:#667085}.order-status.paid{background:#e2f4e8;color:#24743d}.order-status.pending_payment{background:#fff0d8;color:#a86414}.order-status.rejected,.order-status.cancelled,.order-status.expired{background:#fde5e5;color:#a33838}.account-empty{text-align:center;padding:62px 20px 42px;color:#687588}.account-empty>span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 18px;border-radius:50%;background:#f7e8dc;color:#bd7140;font-size:1.6rem}.account-empty h3{color:#10233b;margin:0 0 8px;font-size:1.25rem}.account-empty p{margin:0 auto 22px;max-width:340px}.account-loading{color:#8993a0;padding:28px 4px}.button-ghost{background:transparent!important;color:#bd7140!important;border:1px solid #d6b49d!important}@media(max-width:760px){.account-shell{padding:24px 18px 50px}.account-topbar{margin-bottom:50px}.account-back{font-size:.86rem}.account-hero{display:block}.account-hero h1{font-size:3.2rem}.account-trust{margin-top:28px;display:inline-flex}.account-layout{grid-template-columns:1fr}.account-order-row{grid-template-columns:1fr auto;gap:10px}.account-order-row b{grid-column:2;grid-row:1}.order-status{grid-column:1;grid-row:2;justify-self:start}.account-card-head{align-items:start;flex-direction:column}.account-card-head .button{margin-top:4px}}
.address-tools{align-items:end;display:grid;gap:10px;grid-template-columns:1fr auto}.location-button{background:#fff;border:1px solid var(--accent);border-radius:3px;color:var(--accent-strong);font-size:10px;height:36px;padding:0 11px;white-space:nowrap}.location-button:hover{background:#fff7ef}.location-button:disabled{opacity:.6;cursor:wait}@media(max-width:520px){.address-tools{grid-template-columns:1fr}.location-button{justify-self:start}}
.account-tracking{align-items:center;background:#f8efe7;border-radius:10px;color:#7d604e;display:flex;font-size:.78rem;gap:12px;grid-column:1/-1;justify-content:space-between;padding:10px 12px}.account-tracking a{color:#a85e35;font-weight:700;text-decoration:none}.account-no-tracking{color:#9aa1aa;display:block;grid-column:1/-1;margin-top:4px}@media(max-width:520px){.account-tracking{align-items:flex-start;flex-direction:column;gap:6px}}
.professional-footer .footer-links{grid-template-columns:repeat(3,1fr)}@media(max-width:520px){.professional-footer{padding-top:52px}.professional-footer .footer-top{align-items:start;display:flex;flex-direction:column;gap:28px}.professional-footer .footer-top button{align-self:flex-start}.footer-links{gap:24px;grid-template-columns:1fr 1fr;margin-top:30px}.footer-links>div:last-child{grid-column:1/-1}.professional-footer .footer-bottom{align-items:flex-start}.professional-footer .footer-bottom span,.professional-footer .footer-bottom a{max-width:100%}}
.order-details-toggle{background:transparent;border:0;color:#bd7140;cursor:pointer;font-size:.75rem;font-weight:700;grid-column:1/-1;padding:10px 0 0;text-align:left}.order-details-toggle span{font-size:1rem;margin-left:5px}.account-order-details{background:#faf5ef;border:1px solid #eadfd3;border-radius:14px;display:grid;gap:18px;grid-column:1/-1;grid-template-columns:1.3fr 1fr 1fr;margin-top:4px;padding:17px}.account-order-details[hidden]{display:none}.account-order-details h4{color:#bd7140;font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.account-order-details p{color:#687588;font-size:.8rem;line-height:1.5;margin:0}.account-order-details ul{list-style:none;margin:0;padding:0}.account-order-details li{display:flex;font-size:.8rem;justify-content:space-between;padding:4px 0}.account-order-details li b{font-weight:600}@media(max-width:650px){.account-order-details{grid-template-columns:1fr}.account-order-row{grid-template-columns:1fr auto}.account-order-row>b{grid-column:2;grid-row:1}.account-order-row>.order-status{grid-column:1;grid-row:2}}
.order-product{align-items:center;display:grid;gap:9px;grid-template-columns:42px 1fr auto;padding:5px 0}.order-product img{background:#e9e1d8;border-radius:5px;height:42px;object-fit:cover;width:42px}.order-product span{font-weight:600}.order-product b{font-size:.78rem;font-weight:600}@media(max-width:520px){.order-product{grid-template-columns:38px 1fr}.order-product b{grid-column:2}.order-product img{height:38px;width:38px}}
.account-orders-card{background:linear-gradient(145deg,#fffdfa,#fdf8f2);position:relative}.account-orders-card:before{background:linear-gradient(90deg,#bd7140,#e1b884);content:"";height:3px;left:28px;position:absolute;right:28px;top:0}.account-order-row{background:rgba(255,255,255,.38);border:1px solid transparent;border-radius:15px;margin:12px 0;padding:18px 12px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.account-order-row:hover{background:#fff;border-color:#ead9c9;transform:translateY(-2px)}.account-order-details{background:#f8f1e9;border-color:#ead9c9;box-shadow:inset 0 1px rgba(255,255,255,.8)}.account-order-details>div{min-width:0}.account-order-details p{overflow-wrap:anywhere}.order-status{letter-spacing:.01em}.order-product img{border:1px solid #e0d1c3;box-shadow:0 5px 12px rgba(73,46,27,.12)}.account-profile-card{background:linear-gradient(160deg,#fffdfa,#fbf5ee)}
/* Checkout desktop: keep the entire dialog inside the viewport. */
@media (min-width: 801px) {
  .storefront .checkout-modal {
    box-sizing: border-box;
    width: min(640px, calc(100vw - 48px));
    max-width: 640px;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 28px;
  }
  .storefront .checkout-form input,
  .storefront .checkout-form label {
    box-sizing: border-box;
    min-width: 0;
  }
  .storefront .checkout-form input { width: 100%; }
  .storefront .checkout-field-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .storefront .checkout-field-pair.city-state { grid-template-columns: minmax(0, 1fr) 80px; }
}

/* chat-widget.css */
.v9-chat-root{--chat-ink:#121d29;--chat-accent:#bd7448;font-family:"DM Sans",sans-serif}.v9-chat-launcher{align-items:center;background:var(--chat-ink);border:0;border-radius:50%;bottom:22px;box-shadow:0 14px 36px #1019253d;color:#fff;display:flex;height:58px;justify-content:center;position:fixed;right:22px;width:58px;z-index:900}.v9-chat-launcher svg{height:25px;width:25px}.v9-chat-launcher b{background:#d6784c;border:2px solid #fff;border-radius:20px;font-size:9px;min-width:18px;padding:2px;position:absolute;right:-2px;top:-2px}.v9-chat-panel{background:#f8f7f4;border:1px solid #dedbd5;border-radius:20px;bottom:91px;box-shadow:0 22px 70px #10192533;display:grid;grid-template-rows:auto 1fr auto;height:min(630px,calc(100vh - 120px));opacity:0;overflow:hidden;pointer-events:none;position:fixed;right:22px;transform:translateY(14px) scale(.98);transition:.25s;width:min(390px,calc(100vw - 28px));z-index:901}.v9-chat-root.open .v9-chat-panel{opacity:1;pointer-events:auto;transform:none}.v9-chat-header{align-items:center;background:#121d29;color:#fff;display:flex;gap:12px;padding:17px}.v9-chat-avatar{align-items:center;background:#cb8558;border-radius:50%;display:flex;font-family:serif;height:42px;justify-content:center;width:42px}.v9-chat-header div{display:grid;flex:1}.v9-chat-header small{color:#b8c0c8}.v9-chat-header small i{background:#49b778;border-radius:50%;display:inline-block;height:7px;margin-right:5px;width:7px}.v9-chat-close{background:transparent;border:0;color:#fff;font-size:22px}.v9-chat-body{display:flex;flex-direction:column;gap:9px;overflow:auto;padding:15px}.v9-chat-welcome{margin:auto;text-align:center}.v9-chat-welcome h3{font-family:"Playfair Display",serif;font-size:25px;margin:10px}.v9-chat-welcome p{color:#66717b;font-size:12px}.v9-chat-form{display:grid;gap:10px;margin-top:18px}.v9-chat-form input{background:#fff;border:1px solid #d9d6cf;border-radius:9px;font-size:13px;padding:12px}.v9-chat-form button{background:#bd7448;border:0;border-radius:9px;color:#fff;font-weight:700;padding:12px}.v9-message{align-self:flex-start;background:#fff;border-radius:13px 13px 13px 3px;box-shadow:0 2px 8px #0000000a;font-size:12px;line-height:1.45;max-width:82%;padding:10px 12px}.v9-message.customer{align-self:flex-end;background:#1a2836;color:#fff;border-radius:13px 13px 3px 13px}.v9-message small{display:block;font-size:8px;margin-top:5px;opacity:.6;text-align:right}.v9-message a{color:inherit;font-weight:700}.v9-typing{color:#78818a;font-size:10px;padding:0 16px 8px}.v9-chat-compose{align-items:end;background:#fff;border-top:1px solid #e2dfd9;display:grid;gap:7px;grid-template-columns:auto 1fr auto;padding:11px}.v9-chat-compose textarea{border:0;max-height:90px;min-height:37px;outline:0;padding:10px;resize:none}.v9-chat-compose button,.v9-chat-compose label{align-items:center;background:transparent;border:0;color:#66717b;display:flex;height:38px;justify-content:center;width:38px}.v9-chat-compose button{background:#bd7448;border-radius:50%;color:#fff}.v9-chat-compose input{display:none}.v9-chat-file{background:#f2e9e2;color:#8f5836;font-size:10px;padding:6px 12px}.v9-chat-error{color:#a84343;font-size:10px;text-align:center}@media(max-width:540px){.v9-chat-panel{border-radius:0;bottom:0;height:100dvh;right:0;width:100vw}.v9-chat-launcher{bottom:16px;right:16px}.v9-chat-root.open .v9-chat-launcher{display:none}}
.v9-chat-panel{grid-template-rows:auto minmax(0,1fr) auto}.v9-chat-body{min-height:0}.v9-chat-compose{padding-bottom:max(11px,env(safe-area-inset-bottom))}.v9-chat-compose[hidden]{display:none}
.v9-chat-body>.v9-message{flex-shrink:0;overflow-wrap:anywhere}
.storefront .v9-chat-body{overflow-y:auto;overflow-x:hidden;scroll-behavior:auto}

/* Premium widget: independent of storefront main layout. */
.v9-chat-root *{box-sizing:border-box}
.v9-chat-panel{width:min(420px,calc(100vw - 32px));height:min(700px,calc(100dvh - 116px));border-radius:24px;box-shadow:0 24px 80px #121d2929,0 4px 16px #121d2914}
.v9-chat-header{background:linear-gradient(125deg,#121d29,#283441);padding:18px 20px;gap:12px}
.v9-chat-header .v9-chat-avatar{border-radius:14px;flex-shrink:0;background:linear-gradient(135deg,#dfa36e,#bd7448);color:#fff3e4}
.v9-chat-header strong{font-size:15px;line-height:1.4}
.v9-chat-header small{font-size:11px;line-height:1.6}
.v9-chat-close{width:44px;height:44px;border-radius:12px;cursor:pointer;transition:background .3s,transform .3s;flex-shrink:0}
.v9-chat-close:hover{background:#ffffff14}
.v9-chat-close:focus-visible{outline:2px solid #dfa36e;outline-offset:2px}
.v9-chat-body{background:radial-gradient(ellipse at top right,#f3e5d8,transparent 60%),#faf8f5;padding:24px 22px}
.v9-chat-welcome{margin:0 auto;width:100%;max-width:360px;text-align:left}
.v9-chat-eyebrow{color:#925834;font-size:9px;letter-spacing:.13em;font-weight:700}
.v9-chat-welcome h3{color:#282226;font-size:32px;line-height:1.15;margin:12px 0}
.v9-chat-welcome p{font-size:13px;line-height:1.65;margin:0;color:#68717a}
.v9-chat-topics{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 22px}
.v9-chat-topics span{font-size:10px;color:#745640;border:1px solid #e8dbd0;background:#fff9;border-radius:999px;padding:6px 10px}
.v9-chat-form{gap:8px;margin-top:0}
.v9-chat-form>label{font-size:12px;font-weight:600;color:#38424d;margin-top:7px}
.v9-chat-form>label span{font-weight:400;color:#7b8188}
.v9-chat-input{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e1dcd6;border-radius:13px;padding:0 14px;transition:border-color .3s,box-shadow .3s}
.v9-chat-input:focus-within{border-color:#bd7448;box-shadow:0 0 0 4px #bd744815}
.v9-chat-input svg{width:19px;height:19px;flex-shrink:0;color:#9a765d}
.v9-chat-input input{width:100%;min-width:0;border:0;border-radius:0;background:transparent;padding:14px 0;font-size:16px;line-height:1.4;outline:none;color:#283441}
.v9-chat-input input::placeholder{color:#93969b;font-size:13px}
.v9-chat-form button{display:flex;align-items:center;justify-content:space-between;min-height:52px;margin-top:12px;padding:14px 18px;border-radius:13px;font-size:14px;background:linear-gradient(115deg,#ad623c,#c98455);box-shadow:0 6px 16px #bd744826;cursor:pointer;transition:transform .3s,box-shadow .3s}
.v9-chat-form button:hover{transform:translateY(-1px);box-shadow:0 9px 22px #bd744835}
.v9-chat-form button:focus-visible{outline:2px solid #925834;outline-offset:3px}
.v9-chat-form button span{font-size:22px}
.v9-chat-error{font-size:12px;line-height:1.5}
.v9-chat-welcome .v9-chat-privacy{font-size:10px;text-align:center;margin-top:14px;color:#858789}
.v9-message{font-size:14px;line-height:1.6;padding:12px 14px}
.v9-message small{font-size:10px}
.v9-chat-compose textarea{min-width:0;font-family:inherit;font-size:16px;border-radius:10px}
.v9-chat-compose textarea:focus-visible{outline:2px solid #bd7448;outline-offset:-2px}
.v9-chat-compose button,.v9-chat-compose label{height:44px;width:44px;cursor:pointer}
@media(max-width:540px){.v9-chat-panel{width:100%;height:100dvh;bottom:0;right:0;border:0;border-radius:0}.v9-chat-header{padding-top:max(16px,env(safe-area-inset-top))}.v9-chat-body{padding:24px 20px}.v9-chat-welcome{max-width:400px}}
@media(prefers-reduced-motion:reduce){.v9-chat-panel,.v9-chat-close,.v9-chat-input,.v9-chat-form button{transition:none}.v9-chat-form button:hover{transform:none}}


/* wine-films.css */
.wine-films{padding-block:48px}
.wine-films .section-heading>p{max-width:520px;font-size:14px;line-height:1.7;color:#737079;margin-top:12px}
.wine-films-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.wine-film-card{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid #e8dfe2;border-radius:22px;background:#fffaf7;box-shadow:0 8px 28px #361c2510}
.wine-film-media{position:relative;width:100%;aspect-ratio:9/16;background:#e8dfd5;overflow:hidden}
.wine-film-actions{position:absolute;bottom:10px;left:8px;right:8px;display:flex;flex-wrap:wrap;gap:5px;justify-content:center}
.wine-film-actions[hidden]{display:none}
.wine-film-actions button{min-height:44px;flex:1;padding:8px 6px;border:1px solid #ffffff40;border-radius:10px;background:#231820cc;color:#fff;font-size:10px;cursor:pointer}
.wine-film-actions button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.wine-film-media video{display:block;width:100%;height:100%;object-fit:contain}
.wine-film-copy{min-width:0;padding:22px}
.wine-film-copy .eyebrow{font-size:9px;line-height:1.7;letter-spacing:.08em}
.wine-film-copy h3{font-size:23px;line-height:1.22;letter-spacing:-.04em;margin:12px 0}
.wine-film-copy p{font-size:13px;line-height:1.65;color:#70666c}
.wine-film-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:20px;border-radius:12px;padding:12px 14px;background:#581d35;color:#fff;text-decoration:none;font-size:12px;font-weight:700;transition:background .2s}
.wine-film-cta:hover{background:#73314a}
.wine-film-cta:focus-visible{outline:3px solid #bd7448;outline-offset:4px}
.wine-films-note{font-size:11px;color:#80747b;text-align:center;margin-top:16px;line-height:1.6}
@media(max-width:1100px){.wine-film-card{grid-template-columns:minmax(0,145px) minmax(0,1fr)}.wine-film-copy{padding:18px}.wine-film-copy h3{font-size:20px}}
@media(max-width:800px){.wine-films-grid{grid-template-columns:1fr;gap:20px}.wine-film-card{grid-template-columns:minmax(0,145px) minmax(0,1fr)}}
@media(max-width:400px){.wine-film-card{grid-template-columns:minmax(0,120px) minmax(0,1fr)}.wine-film-copy{padding:14px}.wine-film-copy h3{font-size:18px}.wine-film-cta{font-size:11px;padding:10px}}
@media(prefers-reduced-motion:reduce){.wine-film-cta{transition:none}}

/* auth.css */
.v9-account { position:fixed; bottom:20px; left:20px; z-index:890; max-width:calc(100vw - 110px); background:#fff; border:1px solid #e6e0d8; border-radius:18px; box-shadow:0 8px 28px rgba(16,25,37,.12); color:#172431; font-family:"DM Sans",sans-serif; }
a.v9-account { display:flex; align-items:center; gap:10px; padding:10px 15px 10px 10px; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
a.v9-account:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(16,25,37,.18); }
.v9-account-trigger { display:flex; align-items:center; gap:10px; border:0; background:transparent; color:inherit; padding:10px; cursor:pointer; text-align:left; }
.v9-account-avatar,.v9-account-trigger img { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:12px; background:#f4f1ed; color:#172431; object-fit:cover; font-size:18px; font-weight:700; }
.v9-account strong { display:block; font-size:13px; line-height:1.4; font-weight:700; }
.v9-account small { display:block; color:#737d87; font-size:11px; line-height:1.5; }
.v9-account-identity { min-width:0; }
.v9-account-identity small { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.v9-account-chevron { color:#9b5c39; padding:0 4px; }
.v9-account-menu { position:absolute; bottom:calc(100% + 10px); left:0; display:none; min-width:220px; padding:8px; background:#fff; border:1px solid #e6e0d8; border-radius:16px; box-shadow:0 12px 35px rgba(16,25,37,.15); }
.v9-account.open .v9-account-menu { display:grid; }
.v9-account-menu a,.v9-account-menu button { border:0; border-radius:10px; background:transparent; color:#172431; font:inherit; font-size:13px; padding:12px; text-decoration:none; text-align:left; cursor:pointer; }
.v9-account-menu a:hover,.v9-account-menu button:hover { background:#f7f2ec; }
.v9-account-menu button { color:#9b5c39; }
.v9-account:focus-visible,.v9-account button:focus-visible,.v9-account-menu a:focus-visible { outline:2px solid #b97243; outline-offset:3px; }
@media(max-width:540px) { .v9-account { left:12px; bottom:16px; border-radius:16px; } a.v9-account { padding:8px 12px 8px 8px; gap:8px; } .v9-account small { display:none; } .v9-account strong { font-size:12px; } .v9-account-identity { max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } }
a.v9-account { padding:6px 10px 6px 6px; gap:7px; border-radius:24px; }
a.v9-account .v9-account-avatar { width:28px; height:28px; flex-basis:28px; border-radius:50%; font-size:15px; }
a.v9-account strong { font-size:11px; }
a.v9-account small { display:none; }
.v9-account:has(.v9-account-trigger) { border-radius:50%; opacity:.6; transition:opacity .2s ease,box-shadow .2s ease; }
.v9-account:has(.v9-account-trigger):hover,.v9-account:has(.v9-account-trigger):focus-within,.v9-account.open { opacity:1; }
.v9-account-trigger { padding:5px; gap:0; }
.v9-account-trigger img,.v9-account-trigger .v9-account-avatar { width:30px; height:30px; flex-basis:30px; border-radius:50%; }
.v9-account-trigger .v9-account-identity,.v9-account-trigger .v9-account-chevron { display:none; }
@media(prefers-reduced-motion:reduce) { a.v9-account,.v9-account:has(.v9-account-trigger) { transition:none; } }

/* storefront.css */
/* Storefront-only design system. Account, admin and checkout integrations stay isolated. */
html body.storefront {
  --paper: #faf8f4;
  --cream: #f0ece5;
  --ink: #192a2b;
  --deep: #172927;
  --muted: #6a706b;
  --line: #dedfd7;
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}
.storefront [hidden] { display: none; }
.storefront main { overflow: clip; }
.storefront section[id] { scroll-margin-top: 24px; }
.storefront .section-pad { padding-inline: max(24px, calc((100vw - 1220px) / 2)); }
.storefront .eyebrow { font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.storefront .button { border-radius: 12px; min-height: 56px; padding: 0 20px; font-size: 14px; gap: 18px; }
.storefront .button-primary { background: var(--accent-strong); box-shadow: none; }
.storefront .button-primary:hover { background: var(--ink); box-shadow: 0 8px 24px #192a2b18; }
.storefront .button-arrow { background: #ffffff1a; border-radius: 8px; font-size: 22px; width: 30px; height: 30px; }
.storefront .button-full::before { content: none; }
.storefront button:disabled { cursor: not-allowed; opacity: .4; }
.storefront .announcement-bar { padding: 8px max(24px, calc((100vw - 1220px) / 2)); min-height: 38px; background: var(--deep); font-size: 11px; }
.storefront .announcement-slider { min-height: 16px; }
.storefront .announcement-benefits { display: none; }
.storefront .announcement-dots { display: none; }
.storefront .announcement-main { flex: 1; }
.storefront .announcement-link { font-size: 11px; text-decoration: none; border-bottom: 0; }
.storefront .pulse-dot { animation: none; background: #c5d2a5; }
.storefront .site-header { max-width: none; padding-inline: max(24px, calc((100vw - 1220px) / 2)); min-height: 78px; border-bottom: 1px solid var(--line); }
.storefront .brand { font-size: 12px; letter-spacing: .18em; }
.storefront .brand-mark { height: 34px; width: 34px; font-family: var(--serif); font-size: 12px; }
.storefront .desktop-nav { margin: 0; gap: 32px; }
.storefront .desktop-nav button { font-size: 13px; }
.storefront .collection-trigger { max-width: 190px; font-size: 12px; }
.storefront .current-wine-nav { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.storefront .cart-button { width: 44px; height: 44px; background: transparent; color: var(--ink); border: 1px solid var(--line); }
.storefront .cart-button:hover { background: var(--cream); }
.storefront .product-switcher { background: transparent; border: 0; padding-top: 24px; padding-bottom: 0; }
.storefront .eyebrow-row { margin-bottom: 12px; gap: 12px; }
.storefront .collection-count { font: 11px var(--sans); margin-left: auto; }
.storefront .rail-play { width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; background: none; color: var(--ink); font-size: 12px; }
.storefront .wine-carousel { gap: 10px; }
.storefront .wine-carousel-arrow { height: 36px; width: 36px; font-size: 15px; }
.storefront .wine-tabs { position: relative; padding: 3px 0; gap: 8px; border: none; scroll-snap-type: x proximity; }
.storefront .wine-tab { padding: 12px 18px; font: 500 13px var(--sans); color: #636b65; background: #f0ede7; border: 1px solid transparent; border-radius: 8px; gap: 10px; }
body.storefront .wine-tab.active { background: var(--deep); color: white; }
.storefront .wine-tab:hover { border-color: var(--accent); }
.storefront .tab-index { color: inherit; opacity: .6; margin: 0; font-size: 9px; }
.storefront .tab-underline { display: none; }
.storefront .hero { max-width: none; padding-top: 36px; padding-bottom: 52px; margin: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 100px); align-items: center; }
.storefront .hero-copy { display: block; grid-column: 2; grid-row: 1; max-width: 500px; padding: 0; }
.storefront .hero-copy::before { content: none; }
.storefront .wine-kicker { display: flex; gap: 8px; align-items: center; margin: 0 0 18px; }
.storefront .hero-origin { margin-right: auto; }
.storefront .hero h1 { font-size: clamp(52px, 5.5vw, 82px); line-height: 1.02; letter-spacing: -.055em; margin: 0; }
.storefront .wine-subtitle { font-size: 17px; color: var(--muted); margin: 12px 0 0; letter-spacing: -.01em; }
.storefront .hero-deck { font: 400 16px/1.65 var(--sans); color: #57635b; margin: 24px 0 18px; max-width: 410px; letter-spacing: 0; }
.storefront .wine-pills { margin: 0 0 26px; gap: 6px; }
.storefront .wine-pill { font-size: 11px; background: #fffdf9; border-color: #dedfd7; color: var(--ink); padding: 7px 10px; }
.storefront .hero-price { border-top: 1px solid var(--line); padding-top: 22px; display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; }
.storefront .hero-price > span { font-size: 12px; color: var(--muted); order: 2; }
.storefront .unit-price { font: 600 clamp(30px, 3vw, 42px)/1.2 var(--sans); letter-spacing: -.05em; }
.storefront .hero-price small { flex-basis: 100%; order: 3; font-size: 11px; color: var(--muted); line-height: 1.5; }
.storefront .hero-ctas { display: grid; gap: 10px; margin-top: 22px; }
.storefront .hero-ctas > .button { width: 100%; box-shadow: none; }
.storefront .hero-offer-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #ecf0e4; border: 1px solid #dbe2ca; color: #3c563a; border-radius: 10px; padding: 14px 16px; font-size: 12px; }
.storefront .hero-offer-price { margin-left: auto; font-size: 12px; }
.storefront .micro-trust { display: flex; background: none; border: 0; padding: 0; margin-top: 16px; justify-content: center; color: #667069; font-size: 11px; gap: 18px; }
.storefront .hero-details-link { display: inline-flex; gap: 20px; color: var(--ink); font-size: 12px; margin-top: 24px; text-underline-offset: 5px; }
body.storefront .hero-art { grid-column: 1; grid-row: 1; aspect-ratio: auto; min-height: 0; background: none; overflow: visible; position: relative; align-self: start; box-shadow: none; }
.storefront .hero-art::before { content: none; }
.storefront .hero-photo { position: relative; width: 100%; max-width: 440px; margin: 0 auto; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 18px; background: var(--cream); }
.storefront .hero-photo, .storefront .lightbox { touch-action: pan-y; }
.storefront .hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: none; transition: opacity .15s ease; }
.storefront .hero-art:hover .hero-image { transform: none; }
.storefront .photo-edition { position: absolute; top: 20px; left: 20px; z-index: 2; font: 9px var(--mono); letter-spacing: .15em; color: #fff; padding: 8px 10px; border-radius: 6px; background: #192a2b70; backdrop-filter: blur(12px); }
.storefront .image-label { top: 16px; right: 16px; left: auto; bottom: auto; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border-radius: 50%; font-size: 21px; background: #ffffffec; color: var(--ink); }
.storefront .hero-photo-caption { position: absolute; bottom: 0; inset-inline: 0; padding: 58px 20px 20px; display: flex; justify-content: space-between; align-items: end; background: linear-gradient(transparent, #14231dc2); color: white; }
.storefront .hero-photo-name { font-size: 13px; font-weight: 500; }
.storefront .hero-photo-count { font: 10px var(--mono); opacity: .8; }
.storefront .hero-thumbnails { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; max-width: 440px; margin: 12px auto 0; }
.storefront .hero-thumb { border: 2px solid transparent; padding: 3px; background: none; border-radius: 10px; opacity: .65; transition: opacity .2s, border-color .2s; }
.storefront .hero-thumb img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.storefront .hero-thumb.active { border-color: var(--accent-strong); opacity: 1; }
.storefront .hero-thumb:hover { opacity: 1; }
.storefront .proof-strip { padding: 26px max(24px, calc((100vw - 1220px) / 2)); border-block: 1px solid var(--line); background: #f0f0e8; }
.storefront .proof-strip > div { justify-content: flex-start; padding: 0 28px; gap: 15px; }
.storefront .proof-strip > div:first-child { padding-left: 0; }
.storefront .proof-symbol { font-size: 24px; color: #526b47; }
.storefront .proof-strip strong { display: block; font-size: 12px; color: var(--ink); }
.storefront .proof-strip small { display: block; font-size: 11px; margin-top: 5px; color: var(--muted); }
.storefront .proof-strip button { border: 0; background: none; color: inherit; font: inherit; padding: 0; text-align: left; }
.storefront .section-heading h2, .storefront .story-top h2, .storefront .buy-panel h2, .storefront .bundle-content h2, .storefront .next-copy h2 { font-size: clamp(34px, 3.5vw, 50px); line-height: 1.06; letter-spacing: -.045em; }
.storefront .section-heading p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.storefront .tech-sheet { padding-top: 50px; padding-bottom: 24px; }
.storefront .tech-sheet .section-heading { display: flex; align-items: center; gap: 24px; max-width: none; }
.storefront .tech-sheet .eyebrow { display: none; }
.storefront .tech-sheet h2 { font: 600 19px var(--sans); margin: 0; letter-spacing: -.03em; }
.storefront .tech-intro { margin: 0; }
.storefront .tech-grid { background: transparent; border: 1px solid var(--line); border-radius: 14px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: 18px; padding: 0; overflow: hidden; }
.storefront .tech-grid > div { padding: 20px; border-right: 1px solid var(--line); min-width: 0; }
.storefront .tech-grid > div:nth-child(5) { border: 0; }
.storefront .tech-grid > div:last-child { display: none; }
.storefront .tech-grid span { font: 10px var(--sans); text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.storefront .tech-grid strong { display: block; margin-top: 9px; font: 500 13px/1.5 var(--sans); color: var(--ink); }
.storefront .flavor-section { padding-top: 40px; padding-bottom: 66px; }
.storefront .flavor-grid { grid-template-columns: 1.2fr 1fr 1fr; margin-top: 28px; gap: 14px; }
.storefront .flavor-card { min-height: 270px; border-radius: 16px; padding: 26px; position: relative; }
.storefront .flavor-intro { background: #edf0e8; color: var(--ink); display: flex; flex-direction: column; }
.storefront .mini-label, .storefront .flavor-intro .mini-label { color: var(--muted); font: 600 10px var(--sans); letter-spacing: .1em; }
.storefront .flavor-description { font: 500 20px/1.5 var(--sans); letter-spacing: -.04em; margin: 28px 0 24px; max-width: none; }
.storefront .card-footnote { color: var(--muted); font-size: 11px; margin-top: auto; }
.storefront .flavor-notes { background: #f2eae1; }
.storefront .note-stack { align-content: center; gap: 8px; margin: 24px 0; }
.storefront .note-chip { border-radius: 10px; height: auto; min-height: 62px; width: auto; padding: 12px 14px; background: #fffaf5; border: 1px solid #e4d9cc; font: 500 13px/1.4 var(--sans); margin: 0; cursor: default; box-shadow: none; }
.storefront .note-chip:nth-child(n) { margin: 0; }
.storefront .small-note { font-size: 12px; line-height: 1.6; max-width: none; color: #786d61; }
.storefront .flavor-pairing { background: var(--deep); }
.storefront .flavor-pairing .mini-label { color: #c4cebe; }
.storefront .pairing-icon { border: 0; width: auto; height: auto; font-size: 24px; justify-content: start; margin: 18px 0 12px; color: #c7d3a4; }
.storefront .pairing-title { font: 500 22px/1.25 var(--sans); letter-spacing: -.03em; }
.storefront .small-arrow-link { margin-top: 24px; font-size: 12px; border: none; color: #c7d3a4; }
.storefront .story-section { background: #f0ece5; padding-top: 60px; padding-bottom: 60px; }
.storefront .story-top { gap: 32px; }
.storefront .story-lede { font-size: 13px; line-height: 1.7; max-width: 290px; }
.storefront .photo-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; gap: 18px; margin-top: 32px; }
.storefront .mosaic-card { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 5; border-radius: 14px; box-shadow: none; }
.storefront .mosaic-card::after { content: none; }
.storefront .mosaic-card button { position: relative; height: 100%; width: 100%; display: block; border: 0; padding: 0; background: none; color: white; }
.storefront .mosaic-card button::after { position: absolute; inset: 0; content: ""; background: linear-gradient(transparent 60%, #16241ecc); pointer-events: none; }
.storefront .mosaic-card img { aspect-ratio: 4 / 5; width: 100%; height: 100%; object-fit: cover; }
.storefront .mosaic-card:hover img { transform: scale(1.025); filter: none; }
.storefront .mosaic-card figcaption { bottom: 22px; left: 20px; right: 50px; font: 500 14px var(--sans); z-index: 1; }
.storefront .scene-expand { position: absolute; bottom: 16px; right: 16px; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #ffffff60; border-radius: 50%; z-index: 1; }
.storefront .gallery-rail { margin-top: 20px; gap: 10px; padding: 4px; }
body.storefront .gallery-thumb { flex-basis: 64px; height: 64px; border-radius: 8px; opacity: .75; }
body.storefront .gallery-thumb img { aspect-ratio: 1; }
.storefront .gallery-thumb.active { box-shadow: none; }
.storefront .buy-section { padding-top: 66px; padding-bottom: 66px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 90px); background: var(--deep); }
.storefront .buy-art { aspect-ratio: 4 / 5; min-height: 0; border-radius: 16px; align-self: center; }
.storefront .buy-art::after { border: 0; height: 100%; width: 100%; border-radius: 0; background: linear-gradient(transparent 60%, #13251bc9); z-index: 2; }
body.storefront .buy-bottle { inset: 0; height: 100%; width: 100%; object-fit: cover; transform: none; }
.storefront .buy-art-label { left: 24px; bottom: 26px; font-size: 30px; line-height: 1.12; }
.storefront .buy-panel { max-width: none; width: 100%; }
.storefront .buy-panel h2 { margin: 16px 0 28px; }
.storefront .buy-panel h2 em { color: #c7d3a4; }
.storefront .buy-panel .eyebrow { color: #c7d3a4; }
.storefront .stock-note { border: 0; background: #ffffff0d; color: #b5c3b9; font-size: 10px; padding: 7px 10px; }
.storefront .offer-heading { margin-bottom: 14px; }
.storefront .offer-heading span { font-size: 12px; color: #c6d0c8; }
.storefront .offer-grid { grid-template-columns: 1fr; gap: 10px; }
.storefront .offer-card { display: grid; grid-template-columns: 22px 1fr auto; column-gap: 12px; align-items: center; min-height: 86px; padding: 17px; border-radius: 12px; border: 1px solid #ffffff24; background: #ffffff04; box-shadow: none; backdrop-filter: none; }
.storefront .offer-card:hover { transform: none; border-color: #c7d3a480; background: #ffffff08; box-shadow: none; }
.storefront .offer-card.active { background: #c7d3a410; border-color: #c7d3a4; box-shadow: inset 0 0 0 1px #c7d3a4; }
.storefront .offer-card.featured::after { content: none; }
.storefront .offer-check { height: 19px; width: 19px; border: 1px solid #ffffff5c; border-radius: 50%; display: grid; place-items: center; }
.storefront .offer-card.active .offer-check { border-color: #c7d3a4; }
.storefront .offer-card.active .offer-check::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #c7d3a4; }
.storefront .offer-card strong { font: 600 15px var(--sans); letter-spacing: -.02em; }
.storefront .offer-card small { font-size: 11px; line-height: 1.4; color: #bdcbc1; margin-top: 5px; }
.storefront .offer-pricing { text-align: right; }
.storefront .offer-card-price { margin: 0 0 5px; font: 600 17px var(--sans); color: white; }
.storefront .offer-unit-price { font-size: 10px; color: #aab9ae; }
.storefront .offer-badge { display: none; margin: 0; font: 600 9px var(--sans); letter-spacing: .03em; position: absolute; right: 12px; top: -7px; padding: 3px 7px; border-radius: 4px; color: var(--deep); background: #c7d3a4; }
.storefront .offer-card.featured .offer-badge { display: block; }
.storefront .price-row { border: 0; margin-top: 16px; padding: 10px 0 0; }
.storefront .wine-price { color: white; font: 600 30px var(--sans); letter-spacing: -.04em; }
.storefront .offer-quantity-label { font-size: 12px; }
.storefront .offer-savings { min-height: 18px; color: #c7d3a4; font-size: 11px; margin: 7px 0 12px; text-align: right; }
.storefront .quantity-row { padding: 12px 0; }
.storefront .quantity-control { border-radius: 10px; background: #ffffff08; }
.storefront .quantity-control button { width: 42px; height: 40px; }
.storefront .quantity-control output { width: 28px; font: 500 13px var(--sans); }
.storefront .buy-panel .button-primary { background: #c7d3a4; color: var(--deep); }
.storefront .buy-panel .button-primary:hover { background: #dde8c0; }
.storefront .checkout-shortcut { font-size: 12px; margin-top: 13px; }
.storefront .checkout-shortcut span { display: block; font-size: 10px; margin-top: 5px; }
.storefront .policy-micro-links { margin-top: 15px; gap: 18px; }
.storefront .policy-micro-links a { color: #b8c5ba; font-size: 10px; }
.storefront .buy-benefits { margin-top: 16px; color: #b8c5ba; font-size: 10px; }
.storefront .wine-cta-story { display: none; }
.storefront .discovery-offer { margin-top: 22px; border: 1px solid #ffffff24; border-radius: 10px; background: #ffffff06; padding: 13px; }
.storefront .discovery-offer strong { font-size: 12px; }
.storefront .discovery-offer small { font-size: 10px; line-height: 1.5; color: #bdcbc1; }
.storefront .discovery-icon { color: #c7d3a4; border: 0; }
.storefront .discovery-offer > b { color: #c7d3a4; }
.storefront .bundle-section { background: #e9e5db; color: var(--ink); padding-block: 64px; gap: 60px; }
.storefront .bundle-content .eyebrow { color: var(--accent-strong); }
.storefront .bundle-content h2 em { color: var(--accent-strong); }
.storefront .bundle-content p { color: #61685f; font-size: 14px; line-height: 1.6; margin: 22px 0; max-width: 420px; }
.storefront .bundle-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 14px; }
.storefront .bundle-price s { font-size: 13px; }
.storefront .bundle-price strong { font: 600 30px var(--sans); letter-spacing: -.04em; color: var(--ink); }
.storefront .bundle-price span { flex-basis: 100%; font-size: 11px; }
.storefront .bundle-content .button { background: var(--ink); color: white; border: 0; }
.storefront .bundle-cards { height: 340px; }
.storefront .bundle-image { top: 34px; width: 31%; height: auto; aspect-ratio: 4 / 5; border: 5px solid #fffaf3; border-radius: 12px; box-shadow: 0 15px 35px #30291d26; }
.storefront .bundle-one { left: 1%; transform: rotate(-8deg); }
.storefront .bundle-two { left: 34%; top: 0; transform: rotate(0); }
.storefront .bundle-three { left: 67%; transform: rotate(8deg); }
.storefront .bundle-note { right: 0; bottom: 0; font: 500 12px/1.5 var(--sans); color: #61685f; }
.storefront .next-wine { padding-block: 52px; grid-template-columns: 1fr 1fr; gap: 70px; border-bottom: 1px solid var(--line); }
.storefront .next-copy h2 { font-size: 38px; }
.storefront .next-count { margin-top: 14px; font-size: 10px; }
.storefront .next-description { font-size: 13px; line-height: 1.6; max-width: 380px; }
.storefront .next-visual { height: 300px; border-radius: 16px; }
.storefront .next-visual img { object-position: center 50%; }
.storefront .faq-section { padding-block: 60px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.storefront .faq-section .section-heading h2 { font-size: 38px; }
.storefront .faq-section button { background: none; border: 0; color: var(--accent-strong); padding: 0; font: inherit; text-decoration: underline; text-underline-offset: 4px; }
.storefront .faq-list details { border-bottom: 1px solid var(--line); }
.storefront .faq-list summary, .storefront .review-details summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 0; font-size: 14px; font-weight: 500; list-style: none; }
.storefront summary::-webkit-details-marker { display: none; }
.storefront .faq-list summary::after { content: "+"; font-size: 23px; font-weight: 400; }
.storefront .faq-list details[open] summary::after { content: "−"; }
.storefront .faq-list p { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 0 36px 22px 0; }
.storefront .faq-list a { color: var(--accent-strong); text-underline-offset: 3px; }
.storefront .reviews-section { background: #f0f0e8; padding-top: 38px; padding-bottom: 38px; display: grid; grid-template-columns: 1fr auto; gap: 20px; }
.storefront .reviews-section h2 { font-size: 28px; margin-top: 12px; }
.storefront .reviews-section .reviews-disclaimer { max-width: 600px; font-size: 11px; }
.storefront .reviews-summary { align-self: center; text-align: right; }
.storefront .reviews-average { font: 600 25px var(--sans); }
.storefront .reviews-stars { color: #8d6236; }
.storefront .reviews-count { font-size: 11px; }
.storefront .reviews-list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.storefront .reviews-list:empty { display: none; }
.storefront .review-card { border: 1px solid var(--line); border-radius: 12px; box-shadow: none; padding: 18px; background: var(--paper); }
.storefront .review-card p { font-size: 13px; line-height: 1.6; }
.storefront .review-details { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.storefront .review-details summary { font-size: 12px; padding-bottom: 0; }
.storefront .review-details summary span { font-size: 24px; }
.storefront .review-form { margin-top: 20px; background: none; padding: 0; max-width: 650px; display: grid; gap: 14px; }
.storefront .review-form label { display: grid; gap: 8px; color: var(--muted); font-size: 12px; }
.storefront .review-form input, .storefront .review-form textarea { width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 8px; font: 16px var(--sans); background: white; }
.storefront .review-stars-input button { font-size: 24px; min-width: 40px; min-height: 40px; }
.storefront .site-footer { padding: 46px max(24px, calc((100vw - 1220px) / 2)) 30px; }
.storefront .footer-top { align-items: center; grid-template-columns: 1fr 1fr auto; }
.storefront .footer-top p { font-size: 24px; max-width: 310px; color: #e4e9dd; }
.storefront .footer-links { grid-template-columns: repeat(3, 1fr); margin-top: 35px; padding-top: 30px; gap: 35px; }
.storefront .footer-links strong { color: #c7d3a4; font-size: 10px; }
.storefront .footer-links a, .storefront .footer-links button { color: #b8c5ba; font-size: 12px; line-height: 1.7; }
.storefront .footer-bottom { margin-top: 30px; padding-top: 20px; gap: 16px; font-size: 10px; line-height: 1.7; color: #a9b8ad; }
.storefront .footer-bottom a { color: inherit; }
.storefront .footer-bottom > span:last-child { flex-basis: 100%; }
.storefront .cart-drawer { max-width: 470px; padding: 26px; box-shadow: -20px 0 60px #16241e20; }
.storefront .cart-items { min-height: 0; }
.storefront .cart-line img { border-radius: 10px; }
.storefront .cart-line-info h3 { font: 600 14px/1.4 var(--sans); letter-spacing: -.02em; }
.storefront .cart-line-price { font: 500 12px var(--sans); }
.storefront .cart-breakdown { display: grid; gap: 8px; margin-top: 16px; font-size: 12px; color: var(--muted); }
.storefront .cart-breakdown > div { display: flex; justify-content: space-between; }
.storefront .cart-discount { color: #416136; }
.storefront .cart-total { border-color: var(--line); margin-top: 16px; padding: 16px 0 0; }
.storefront .cart-total strong { font: 600 26px var(--sans); letter-spacing: -.04em; }
.storefront .cart-trust-row { display: none; }
.storefront .shipping-progress { padding-top: 16px; }
.storefront .shipping-progress > div:first-child { font-size: 10px; }
.storefront .cart-empty.visible + .cart-footer { display: none; }
.storefront .checkout-modal { border-radius: 18px; }
.storefront .lightbox { background: transparent; border: 0; width: min(820px, 100vw); max-height: 100dvh; padding: 38px 55px; overflow: hidden; color: white; }
.storefront .lightbox::backdrop { background: #101e18ee; backdrop-filter: blur(8px); }
.storefront .lightbox img { max-height: calc(100dvh - 130px); max-width: 100%; object-fit: contain; width: auto; margin: auto; border-radius: 12px; }
.storefront .lightbox-caption { font-size: 13px; text-align: center; margin: 16px 0 0; }
.storefront .lightbox-close, .storefront .lightbox-prev, .storefront .lightbox-next { background: #ffffff18; color: white; border: 1px solid #ffffff38; border-radius: 50%; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; position: absolute; z-index: 1; }
.storefront .lightbox-close { top: 0; right: 5px; font-size: 26px; }
.storefront .lightbox-prev { left: 0; top: 50%; }
.storefront .lightbox-next { right: 0; top: 50%; }
.storefront .toast { border-radius: 12px; bottom: 24px; background: white; box-shadow: 0 10px 45px #192a2b24; }
.storefront .mobile-buy-bar { display: none; }
.storefront .v9-chat-launcher { width: 48px; height: 48px; background: var(--deep); }
.storefront .header-actions { gap: 12px; }
.storefront .header-actions .v9-account { position: relative; inset: auto; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; padding: 0; display: grid; place-items: center; box-shadow: none; background: transparent; z-index: 10; }
.storefront .header-actions a.v9-account > div { display: none; }
.storefront .header-actions .v9-account-avatar { background: none; width: 28px; height: 28px; font-size: 17px; color: var(--ink); }
.storefront .header-actions .v9-account-menu { bottom: auto; top: calc(100% + 12px); left: auto; right: 0; }
.storefront.layer-open .v9-account, .storefront.layer-open .v9-chat-launcher { visibility: hidden; }
.storefront .reveal { opacity: 1; transform: none; }
.storefront .reveal.reveal-ready { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.storefront .reveal.reveal-ready.is-visible { opacity: 1; transform: none; }
@media (max-width: 1000px) {
  .storefront .hero { gap: 40px; }
  .storefront .hero h1 { font-size: 56px; }
  .storefront .hero-deck { font-size: 14px; margin-top: 20px; }
  .storefront .desktop-nav { gap: 20px; }
  .storefront .collection-trigger { max-width: 120px; }
  .storefront .proof-strip > div { padding-inline: 18px; }
  .storefront .proof-strip strong { font-size: 11px; }
  .storefront .proof-strip small { font-size: 10px; }
  .storefront .flavor-card { padding: 20px; }
  .storefront .flavor-description { font-size: 18px; }
  .storefront .buy-section { gap: 32px; }
  .storefront .offer-card { padding: 15px; }
  .storefront .faq-section { gap: 36px; }
  .storefront .bundle-cards { height: 285px; }
}
@media (max-width: 800px) {
  .storefront { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .storefront .section-pad { padding-inline: 20px; }
  .storefront .announcement-bar { padding: 9px 16px; min-height: 35px; }
  .storefront .announcement-title, .storefront .announcement-link, .storefront .announcement-separator, .storefront [data-announcement-title] { display: none; }
  .storefront .announcement-main { justify-content: center; gap: 8px; }
  .storefront .announcement-slider { justify-content: center; }
  .storefront [data-announcement-copy] { display: block; font-size: 10px; }
  .storefront .site-header { min-height: 66px; padding-inline: 20px; }
  .storefront .brand { font-size: 10px; }
  .storefront .desktop-nav { display: none; }
  .storefront .collection-trigger { display: none; }
  .storefront .product-switcher { padding-top: 18px; }
  .storefront .eyebrow-row { gap: 8px; margin-bottom: 8px; }
  .storefront .eyebrow-row .eyebrow { font-size: 8px; }
  .storefront .collection-count { font-size: 9px; }
  .storefront .wine-carousel { display: flex; }
  .storefront .wine-carousel-arrow { display: none; }
  .storefront .wine-tabs { width: 100%; }
  .storefront .wine-tab { font-size: 12px; padding: 11px 14px; }
  .storefront .hero { display: flex; flex-direction: column; gap: 0; padding-top: 24px; padding-bottom: 32px; }
  .storefront .hero-copy { display: contents; }
  .storefront .wine-kicker { order: 1; width: 100%; margin-bottom: 12px; font-size: 9px; }
  .storefront .hero h1 { order: 2; width: 100%; font-size: clamp(40px, 11vw, 58px); }
  .storefront .wine-subtitle { order: 3; width: 100%; font-size: 14px; margin-top: 8px; margin-bottom: 20px; }
  .storefront .hero-art { order: 4; width: 100%; margin-bottom: 20px; align-self: auto; }
  .storefront .hero-photo { max-width: 340px; border-radius: 14px; }
  .storefront .hero-thumbnails { max-width: 340px; gap: 5px; margin-top: 8px; }
  .storefront .hero-thumb { padding: 2px; }
  .storefront .photo-edition { font-size: 8px; left: 14px; top: 14px; }
  .storefront .hero-deck { order: 5; width: 100%; margin: 0 0 14px; font-size: 14px; max-width: none; }
  .storefront .wine-pills { order: 6; width: 100%; margin-bottom: 18px; }
  .storefront .hero-price { order: 7; width: 100%; padding-top: 18px; }
  .storefront .hero-ctas { order: 8; width: 100%; margin-top: 18px; }
  .storefront .micro-trust { order: 9; font-size: 10px; }
  .storefront .hero-details-link { order: 10; margin-top: 18px; }
  .storefront .proof-strip { grid-template-columns: 1fr; padding: 20px; gap: 18px; }
  .storefront .proof-strip > div { border: 0; padding: 0; gap: 16px; }
  .storefront .proof-strip strong { font-size: 12px; }
  .storefront .proof-strip small { font-size: 11px; }
  .storefront .proof-symbol { width: 26px; text-align: center; }
  .storefront .tech-sheet { padding-top: 32px; padding-bottom: 18px; }
  .storefront .tech-sheet .section-heading { display: block; }
  .storefront .tech-intro { margin-top: 7px; font-size: 12px; }
  .storefront .tech-grid { grid-template-columns: repeat(2, 1fr); }
  .storefront .tech-grid > div { padding: 16px; border-bottom: 1px solid var(--line); }
  .storefront .tech-grid > div:nth-child(2n) { border-right: 0; }
  .storefront .tech-grid > div:nth-child(3) { grid-column: 1 / -1; border-right: 0; }
  .storefront .tech-grid > div:nth-child(n+4) { border-bottom: 0; }
  .storefront .tech-grid > div:nth-child(4) { border-right: 1px solid var(--line); }
  .storefront .flavor-section { padding-top: 24px; padding-bottom: 36px; }
  .storefront .section-heading h2, .storefront .story-top h2, .storefront .buy-panel h2, .storefront .bundle-content h2 { font-size: 36px; }
  .storefront .flavor-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 24px; }
  .storefront .flavor-card { padding: 24px; min-height: 0; }
  .storefront .flavor-description { margin: 18px 0 20px; font-size: 19px; }
  .storefront .note-stack { margin: 18px 0; }
  .storefront .pairing-icon { display: none; }
  .storefront .pairing-title { margin-top: 20px; }
  .storefront .story-section { padding-block: 36px; }
  .storefront .story-top { display: block; }
  .storefront .story-lede { margin-top: 18px; max-width: none; }
  .storefront .photo-mosaic { display: flex; overflow: auto; scroll-snap-type: x mandatory; gap: 12px; margin-top: 24px; scrollbar-width: thin; padding-bottom: 10px; }
  .storefront .mosaic-card { flex: 0 0 82%; scroll-snap-align: start; }
  .storefront .gallery-rail { margin-top: 12px; }
  body.storefront .gallery-thumb { flex-basis: 48px; height: 48px; }
  .storefront .buy-section { display: block; padding-block: 38px; }
  .storefront .buy-art { display: none; }
  .storefront .buy-panel h2 { margin-bottom: 26px; }
  .storefront .buy-panel { max-width: none; }
  .storefront .offer-card { padding: 16px 13px; gap: 10px; }
  .storefront .offer-card strong { font-size: 14px; }
  .storefront .offer-card-price { font-size: 17px; }
  .storefront .buy-benefits { gap: 12px; }
  .storefront .bundle-section { grid-template-columns: 1fr; gap: 24px; padding-block: 38px; }
  .storefront .bundle-cards { height: 290px; max-width: 400px; width: 100%; margin: auto; }
  .storefront .bundle-content { max-width: none; }
  .storefront .bundle-content p { font-size: 13px; }
  .storefront .faq-section { display: block; padding-block: 38px; }
  .storefront .faq-section .section-heading h2 { font-size: 34px; }
  .storefront .faq-list { margin-top: 22px; }
  .storefront .faq-list summary { font-size: 13px; }
  .storefront .reviews-section { padding-block: 30px; gap: 16px; grid-template-columns: 1fr; }
  .storefront .reviews-summary { text-align: left; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
  .storefront .reviews-count { margin: 0; }
  .storefront .reviews-list { grid-template-columns: 1fr; }
  .storefront .next-wine { grid-template-columns: 1fr; gap: 28px; padding-block: 36px; }
  .storefront .next-copy h2 { font-size: 34px; }
  .storefront .next-visual { height: 250px; }
  .storefront .site-footer { padding: 36px 20px 24px; }
  .storefront .footer-top { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
  .storefront .footer-top p { width: 100%; max-width: 260px; font-size: 26px; }
  .storefront .footer-links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
  .storefront .footer-links > div:last-child { grid-column: auto; }
  .storefront .footer-links a, .storefront .footer-links button { font-size: 11px; }
  .storefront .mobile-buy-bar { position: fixed; bottom: 0; inset-inline: 0; z-index: 19; background: #fffdfaee; backdrop-filter: blur(14px); border-top: 1px solid var(--line); display: flex; align-items: center; gap: 12px; justify-content: space-between; padding: 11px 16px calc(11px + env(safe-area-inset-bottom)); box-shadow: 0 -5px 30px #192a2b0a; }
  .storefront .mobile-buy-bar > div { min-width: 0; display: flex; align-items: baseline; gap: 5px 8px; flex-wrap: wrap; }
  .storefront .mobile-product-name { color: var(--muted); font-size: 10px; flex-basis: 100%; }
  .storefront .mobile-offer-price { font-size: 20px; letter-spacing: -.04em; }
  .storefront .mobile-offer-quantity { color: var(--muted); font-size: 9px; }
  .storefront .mobile-buy-bar .button { flex: 0 0 auto; min-height: 46px; font-size: 13px; padding-inline: 18px; }
  .storefront.layer-open .mobile-buy-bar, .storefront:has(.lightbox[open]) .mobile-buy-bar { visibility: hidden; }
  .storefront.purchase-controls-visible .mobile-buy-bar { visibility: hidden; }
  .storefront .v9-chat-launcher { position: absolute; top: 48px; bottom: auto; right: 128px; width: 40px; height: 40px; background: transparent; border: 1px solid var(--line); color: var(--ink); box-shadow: none; z-index: 10; }
  .storefront .v9-chat-launcher svg { width: 20px; height: 20px; }
  .storefront .v9-account { bottom: calc(98px + env(safe-area-inset-bottom)); left: 14px; }
  .storefront .toast { bottom: calc(145px + env(safe-area-inset-bottom)); width: calc(100vw - 32px); left: 16px; transform: translateY(12px); font-size: 11px; }
  .storefront .toast.visible { transform: none; }
  .storefront .cart-drawer { padding: 20px; }
  .storefront .cart-line { grid-template-columns: 64px 1fr; }
  .storefront .cart-line img { width: 64px; height: 84px; }
  .storefront .cart-line-info { column-gap: 8px; }
  .storefront .cart-line-info h3 { font-size: 12px; }
  .storefront .cart-total strong { font-size: 24px; }
  .storefront .checkout-modal { border-radius: 0; }
  .storefront .lightbox { padding: 44px 12px 24px; width: 100vw; }
  .storefront .lightbox img { max-height: calc(100dvh - 145px); }
  .storefront .lightbox-close { right: 12px; }
  .storefront .lightbox-prev { left: 18px; background: #192a2ba8; }
  .storefront .lightbox-next { right: 18px; background: #192a2ba8; }
}
@media (max-width: 360px) {
  .storefront .section-pad { padding-inline: 16px; }
  .storefront .collection-count { display: none; }
  .storefront .rail-play { margin-left: auto; }
  .storefront .offer-card small { font-size: 10px; }
  .storefront .offer-card-price { font-size: 15px; }
  .storefront .bundle-cards { height: 235px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .storefront *, .storefront *::before, .storefront *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .storefront .reveal.reveal-ready { opacity: 1; transform: none; }
}

/* identity.css */
/* Vinhos9 identity: one palette, typography and component language across the site. */
:root{--v9-wine:#591e35;--v9-deep:#321321;--v9-pink:#f0cbd9;--v9-paper:#f8f5f0;--v9-ink:#292126;--v9-muted:#7b6e75;--v9-line:#e6dce1;--sans:"DM Sans",system-ui,sans-serif;--serif:var(--sans);--accent:var(--v9-wine);--accent-strong:var(--v9-wine)}
body{font-family:var(--sans);-webkit-font-smoothing:antialiased}
html body.storefront{--paper:var(--v9-paper);--cream:#f0e8e9;--ink:var(--v9-ink);--deep:var(--v9-deep);--muted:var(--v9-muted);--line:var(--v9-line);--accent:var(--v9-wine);--accent-strong:var(--v9-wine);background:var(--paper)}
.storefront .section-pad{padding-inline:max(24px,calc((100vw - 1180px)/2))}
.storefront .site-header{min-height:84px;padding-inline:max(24px,calc((100vw - 1180px)/2));background:#f8f5f0f5;backdrop-filter:blur(16px)}
.storefront .brand{font:650 26px var(--sans);letter-spacing:-1.5px;gap:10px;text-transform:none}
.storefront .brand-mark{height:36px;width:36px;background:var(--v9-wine);color:white;border:0;border-radius:12px 12px 12px 3px;font:600 27px var(--sans);letter-spacing:-1px}
.storefront .brand-light .brand-mark{background:var(--v9-pink);color:var(--v9-wine)}
.storefront .announcement-bar{background:var(--v9-wine);padding-inline:max(24px,calc((100vw - 1180px)/2))}
.storefront .pulse-dot{background:var(--v9-pink)}
.storefront .desktop-nav{gap:28px}.storefront .desktop-nav button{color:#75666e;font-size:12px;font-weight:500}
.storefront .collection-trigger{display:none}.storefront .cart-button{background:white;border-color:var(--line);border-radius:14px}
.storefront .cart-count{background:var(--v9-wine);color:white}
.storefront .product-switcher{padding-top:26px}.storefront .eyebrow{letter-spacing:.1em;color:var(--v9-wine)}
.storefront .wine-tabs{gap:7px}.storefront .wine-tab{border-radius:30px;padding:12px 20px;background:white;color:#7b6e75;border-color:var(--line);font-size:12px}
body.storefront .wine-tab.active{background:var(--v9-wine);border-color:var(--v9-wine)}.storefront .wine-carousel-arrow{border-color:var(--line);background:white}
.storefront .hero{padding-top:38px;padding-bottom:64px;gap:clamp(32px,5vw,80px);grid-template-columns:1.04fr 1fr}
.storefront .hero h1{font-family:var(--sans);font-weight:600;font-size:clamp(50px,5.2vw,72px);line-height:1;letter-spacing:-.065em}
.storefront .wine-kicker{font-size:9px}.storefront .wine-subtitle{font-size:15px;color:var(--muted)}.storefront .hero-deck{color:#75656e;font-size:15px;margin-top:24px;line-height:1.7}
.storefront .hero-photo{max-width:520px;border-radius:24px;box-shadow:0 20px 48px #591e3512}.storefront .hero-thumbnails{max-width:520px;gap:10px;margin-top:14px}
.storefront .hero-thumb{border-radius:12px;background:#fff;opacity:.65;padding:4px}.storefront .hero-thumb.active{opacity:1}.storefront .hero-thumb img{border-radius:7px}
.storefront .photo-edition{background:#3213218c;border:1px solid #ffffff30;letter-spacing:.12em;border-radius:30px;font:600 8px var(--sans)}
.storefront .hero-photo-caption{background:linear-gradient(transparent,#321321c9);padding:60px 24px 24px}.storefront .hero-photo-name{font-size:14px}
.storefront .wine-pill{background:white;border-color:var(--line);border-radius:7px;color:#786470;padding:8px 11px}.storefront .hero-price{padding-top:22px}.storefront .unit-price{font-weight:600;font-size:36px;letter-spacing:-.05em}
.storefront .button{border-radius:14px;min-height:58px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.storefront .button:hover{transform:translateY(-2px)}.storefront .button-primary{background:var(--v9-wine)}.storefront .button-primary:hover{background:#772d4a;box-shadow:0 8px 24px #591e3518}
.storefront .button-arrow{background:#ffffff12;border-radius:50%;width:28px;height:28px;font-size:20px}.storefront .hero-offer-link{background:#f4e5eb;color:var(--v9-wine);border-color:#e9cdd8;padding:16px;border-radius:13px}.storefront .hero-offer-link:hover{background:#edd5df}
.storefront .hero-details-link{color:var(--v9-wine)}.storefront .micro-trust{color:#7d6d74;font-size:10px}
.storefront .proof-strip{background:white;border-color:var(--line);padding-block:28px}.storefront .proof-symbol{color:var(--v9-wine);background:#f8edf1;width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;font-size:20px}
.storefront .proof-strip strong{font-weight:600}.storefront .proof-strip small{font-size:11px}.storefront .section-heading h2,.storefront .story-top h2,.storefront .buy-panel h2,.storefront .bundle-content h2,.storefront .next-copy h2{font-family:var(--sans);font-weight:600;letter-spacing:-.055em;line-height:1.08}
.storefront h2 em{font-style:normal;color:var(--v9-wine)}.storefront .tech-sheet{padding-top:52px}.storefront .tech-grid{background:white;border-radius:18px}.storefront .tech-grid strong{color:var(--v9-ink)}
.storefront .flavor-section{padding-top:54px;padding-bottom:70px}.storefront .flavor-card{border-radius:22px;border:1px solid var(--line);padding:30px;min-height:288px}.storefront .flavor-intro{background:white}.storefront .flavor-notes{background:#f3e7eb}.storefront .flavor-description{font-size:21px;font-weight:500;line-height:1.4}.storefront .note-chip{background:#ffffffd9;border-color:#e9d8df;border-radius:12px;color:var(--v9-wine)}.storefront .small-note{color:#7b6e75}.storefront .flavor-pairing{border-color:var(--v9-wine);background:var(--v9-wine)}.storefront .flavor-pairing .mini-label{color:#efd1dc}.storefront .pairing-icon,.storefront .small-arrow-link{color:var(--v9-pink)}.storefront .pairing-title{font-size:23px}
.storefront .story-section{background:#efe7e8;padding-block:70px}.storefront .mosaic-card{border-radius:22px}.storefront .mosaic-card figcaption{font-weight:500}.storefront .photo-mosaic{gap:18px}.storefront .gallery-thumb{border-radius:10px}.storefront .gallery-thumb.active{outline:2px solid var(--v9-wine);outline-offset:2px}
.storefront .buy-section{background:var(--v9-deep);padding-block:76px;gap:70px}.storefront .buy-art{border-radius:24px}.storefront .buy-panel h2 em,.storefront .buy-panel .eyebrow{color:var(--v9-pink)}.storefront .offer-card{border-radius:14px;background:#ffffff06;min-height:88px}.storefront .offer-card:hover{border-color:#efb9ce;background:#ffffff0b}.storefront .offer-card.active{background:#f0cbd910;border-color:var(--v9-pink);box-shadow:inset 0 0 0 1px var(--v9-pink)}.storefront .offer-card small,.storefront .offer-unit-price{color:#d3b9c4}.storefront .offer-card.active .offer-check{border-color:var(--v9-pink)}.storefront .offer-card.active .offer-check::after{background:var(--v9-pink)}.storefront .offer-badge{background:var(--v9-pink);color:var(--v9-deep);border-radius:20px;padding:4px 8px;font-size:8px}.storefront .offer-heading span{color:#dcc3ce}.storefront .buy-panel .button-primary{background:var(--v9-pink);color:var(--v9-deep)}.storefront .buy-panel .button-primary:hover{background:#f5dce6}.storefront .offer-savings,.storefront .discovery-icon,.storefront .discovery-offer>b{color:var(--v9-pink)}.storefront .policy-micro-links a,.storefront .buy-benefits,.storefront .discovery-offer small{color:#d3b9c4}.storefront .buy-art-label{font-family:var(--sans);font-size:32px;font-weight:500;letter-spacing:-.04em}.storefront .buy-art-label em{font-style:normal;color:var(--v9-pink)}.storefront .stock-note{color:#dcc3ce}
.storefront .bundle-section{background:#efd9e2;padding-block:70px;gap:50px}.storefront .bundle-content h2{font-size:48px}.storefront .bundle-content p{color:#806575}.storefront .bundle-content .button{background:var(--v9-wine)}.storefront .bundle-image{border:6px solid #fffafc;border-radius:15px;box-shadow:0 12px 36px #591e3525}.storefront .bundle-note{color:#805e70}
.storefront .faq-section{padding-block:68px}.storefront .faq-list details{background:white;border:1px solid var(--line);border-radius:14px;padding:0 20px;margin-bottom:10px}.storefront .faq-list summary{padding-block:20px}.storefront .faq-list summary::after{color:var(--v9-wine)}.storefront .faq-list p{margin-right:0;font-size:13px}.storefront .reviews-section{background:#f0e8e9}.storefront .next-wine{padding-block:65px}.storefront .next-visual{border-radius:22px;height:340px}.storefront .next-copy h2{font-size:42px}
.storefront .site-footer{background:var(--v9-deep)}.storefront .footer-top p{font-family:var(--sans);font-size:27px;letter-spacing:-.04em;line-height:1.16;font-weight:500;color:#f6e4ec}.storefront .footer-links strong{color:var(--v9-pink)}.storefront .footer-links a,.storefront .footer-links button,.storefront .footer-bottom{color:#ccb4c0}.storefront .footer-links a:hover{color:white}
.storefront .cart-drawer,.storefront .checkout-modal{background:#fffdfa}.storefront .drawer-header h2,.storefront .checkout-head h2{font-family:var(--sans);font-size:30px;font-weight:600;letter-spacing:-.05em}.storefront .cart-discount{color:var(--v9-wine)}.storefront .cart-line img{border-radius:12px}.storefront .cart-line-info h3{font-size:13px}.storefront .shipping-fill{background:var(--v9-wine)}.storefront .checkout-conversation{background:#f8edf1;border-radius:14px}.storefront .checkout-form input{border-radius:10px;border-color:var(--line);font-size:16px}.storefront .checkout-steps span.active{color:var(--v9-wine)}
.storefront .header-actions .v9-account{position:relative;inset:auto;max-width:none;background:transparent;box-shadow:none;border:0;padding:0;transform:none}.storefront .header-actions a.v9-account{gap:8px;padding:10px 14px;border:1px solid var(--line);background:white;border-radius:14px}.storefront .header-actions .v9-account strong{display:block;font-size:11px;font-weight:500}.storefront .header-actions .v9-account small{display:none}.storefront .header-actions .v9-google-mark{height:20px;width:20px;flex:0 0 20px;background:transparent;color:var(--v9-wine);border-radius:0;font-size:15px}.storefront .header-actions .v9-account-menu{top:calc(100% + 12px);bottom:auto;left:auto;right:0;min-width:230px;color:var(--ink);border-color:var(--line)}
.storefront .lightbox::backdrop{background:#26121fee}.storefront .toast{background:var(--v9-wine);color:white}.storefront .toast button{color:var(--v9-pink)}.storefront .mobile-buy-bar{background:#fffdf9f5}
/* Customer account and informational pages share the same identity. */
.account-shell{max-width:1120px;margin:auto;padding:38px 28px 70px}.account-hero h1{font-family:var(--sans);letter-spacing:-.055em;font-size:clamp(38px,5vw,58px);font-weight:600}.account-profile-card,.account-orders-card{border-radius:22px;border-color:var(--v9-line);box-shadow:0 12px 40px #591e3507}.account-brand{font-weight:650;font-size:26px;letter-spacing:-1.4px;color:var(--v9-wine)}.account-avatar{background:#f5e5ed;color:var(--v9-wine)}.account-hero em{color:var(--v9-wine);font-style:normal}.account-shell .button{border-radius:12px;min-height:48px}.account-shell .button-primary{background:var(--v9-wine);color:white}.account-trust{border-color:var(--v9-line);border-radius:16px}.account-orders-card h2{font-family:var(--sans);font-weight:600;letter-spacing:-.04em}
.info-header,.info-hero,.category-nav,.quick-grid,.resolver,.policy-list,.business-card{font-family:var(--sans)}.info-brand strong{font-size:20px;text-transform:none;letter-spacing:-1px}.info-hero h1,.resolver h2{font-family:var(--sans);font-weight:600;letter-spacing:-.05em}.info-header{border-color:var(--v9-line)}.info-header .header-help,.resolver-actions .accent{background:var(--v9-wine);color:white;border-radius:12px}.quick-grid>a,.policy-card,.business-card{border-radius:18px}.info-search{border-radius:14px}.category-nav a.active{background:var(--v9-wine)}
/* Administrator visual refresh; routes and data remain protected on the server. */
.admin-shell{--accent:var(--v9-wine);--accent-strong:var(--v9-wine);--ink:var(--v9-ink);font-family:var(--sans);background:#f7f4f6}.admin-shell .sidebar{background:#321321;border-color:#ffffff15}.admin-shell .admin-brand{color:white}.admin-shell .admin-brand strong{font-size:20px;letter-spacing:-1px;text-transform:none}.admin-shell .admin-brand>span{background:#f0cbd9;color:#591e35;border:0;border-radius:10px}.admin-shell .workspace{color:#b594a4}.admin-shell .nav-link{color:#cab6c0;border-radius:10px}.admin-shell .nav-link.active{background:#ffffff12;color:#f6dce7}.admin-shell .nav-link:hover{background:#ffffff0d}.admin-shell .sidebar-bottom{color:#f6dce7}.admin-shell .admin-avatar{background:#e7bed0;color:#591e35}.admin-shell h1,.admin-shell h2,.admin-shell .metric-card>strong{font-family:var(--sans);font-weight:600;letter-spacing:-.045em}.admin-shell .admin-main{background:#f7f4f6}.admin-shell .admin-header{background:transparent;border-color:var(--v9-line)}.admin-shell .metric-card,.admin-shell .chart-card,.admin-shell .best-card,.admin-shell .orders-card,.admin-shell .data-card,.admin-shell .integration-card,.admin-shell .admin-offer{border-color:var(--v9-line);border-radius:18px;box-shadow:0 7px 24px #591e3504}.admin-shell .metric-card.emphasis,.admin-shell .insight-card{background:#591e35;color:white;border-radius:18px}.admin-shell .primary-admin{background:var(--v9-wine);border-radius:10px}.admin-shell .store-link{border-radius:10px;background:white;color:var(--v9-wine)}
@media(max-width:800px){.storefront .site-header{padding-inline:20px;min-height:76px}.storefront .brand{font-size:24px}.storefront .brand-mark{height:32px;width:32px;font-size:24px}.storefront .section-pad{padding-inline:20px}.storefront .hero{padding-top:28px;padding-bottom:38px;gap:0}.storefront .hero h1{font-size:clamp(42px,10.8vw,62px)}.storefront .hero-art{margin-bottom:22px}.storefront .hero-photo{max-width:430px;border-radius:21px}.storefront .hero-thumbnails{max-width:430px;margin-top:10px;gap:6px}.storefront .hero-thumb{padding:3px}.storefront .hero-deck{font-size:14px}.storefront .hero-price{padding-top:18px}.storefront .unit-price{font-size:32px}.storefront .proof-strip{padding:26px 20px;gap:22px}.storefront .flavor-section,.storefront .story-section,.storefront .buy-section,.storefront .bundle-section,.storefront .faq-section,.storefront .next-wine{padding-block:40px}.storefront .flavor-card{min-height:0;padding:26px;border-radius:18px}.storefront .bundle-content h2{font-size:38px}.storefront .hero-offer-link{font-size:11px;gap:8px;padding:14px}.storefront .hero-offer-price{font-size:11px}.storefront .mosaic-card{flex-basis:86%;border-radius:19px}.storefront .next-visual{height:260px}.storefront .header-actions a.v9-account{padding:9px;border-radius:12px}.storefront .header-actions .v9-account strong{display:none}.storefront .v9-chat-launcher{top:48px;right:118px}.storefront .footer-top p{font-size:25px}.storefront .buy-panel h2{font-size:37px}.storefront .mobile-buy-bar .button{border-radius:12px}.account-shell{padding:24px 18px 50px}.account-hero h1{font-size:38px}}
@media(max-width:360px){.storefront .section-pad{padding-inline:16px}.storefront .hero-offer-link{flex-wrap:wrap}.storefront .hero-offer-price{margin-left:0}.storefront .site-header{padding-inline:16px}.storefront .brand{font-size:22px}.storefront .hero h1{font-size:40px}.storefront .v9-chat-launcher{right:115px}.storefront .offer-card{padding:14px 11px}}
@media(prefers-reduced-motion:reduce){.storefront .button,.storefront .hero-image,.storefront .mosaic-card img{transition:none!important;transform:none!important}}
.storefront .header-actions a.v9-account{width:auto;height:44px;display:flex;align-items:center;justify-content:center}
.storefront .header-actions a.v9-account>div{display:block}
@media(max-width:800px){.storefront .header-actions a.v9-account{width:40px;height:40px;padding:9px}.storefront .header-actions a.v9-account>div{display:none}.storefront .v9-chat-launcher{top:53px;right:124px}}
@media(max-width:360px){.storefront .v9-chat-launcher{right:120px}}
.account-page,.info-page{background:var(--v9-paper);color:var(--v9-ink)}
.account-shell{background:transparent;color:var(--v9-ink)}.account-brand,.account-hero h1 em{font-family:var(--sans);font-weight:600}.account-back{color:var(--v9-wine);font-size:12px}.account-lede{font-size:14px;line-height:1.7}.account-profile-card,.account-orders-card{background:white}.account-orders-card::before{background:var(--v9-pink)}.account-empty h3{color:var(--v9-ink)}.account-empty>span{background:#f5e5ed;color:var(--v9-wine)}.account-empty p{font-size:13px;line-height:1.7}.account-hero .eyebrow,.account-card-head .eyebrow,.account-order-details h4,.order-details-toggle{color:var(--v9-wine)}.account-order-details{background:#fcf8fa;border-color:var(--v9-line)}.account-shell .button-ghost{color:var(--v9-wine)!important;border-color:var(--v9-line)!important}.account-profile-card [hidden]{display:none}.account-trust span{color:var(--v9-wine)}
.info-page{--wine:var(--v9-wine);--ink:var(--v9-ink);--muted:var(--v9-muted);--soft:#f1e7ed;--line:var(--v9-line)}.info-page .info-brand>span{background:var(--v9-wine);color:white;border:0;border-radius:10px}.info-page .quick-card strong,.info-page .policy-section h2,.info-page dialog h2{font-family:var(--sans);font-weight:600;letter-spacing:-.035em}.info-page footer{background:var(--v9-deep)}.info-page .info-search{background:white}.info-page .policy-section{padding-bottom:32px}.info-page .resolver-actions button{font-size:12px;min-height:48px}.info-page .resolver-actions .accent{background:var(--v9-pink);color:var(--v9-deep)}.info-page dialog input,.info-page dialog textarea{font-size:16px}
.status-page{background:radial-gradient(ellipse at 20% 0%,#ecdde2,transparent 50%),var(--v9-paper);color:var(--v9-ink)}.status-page .brand{font-size:17px;font-weight:600;letter-spacing:-.04em;color:var(--v9-wine)}.status-page section{border-color:var(--v9-line);box-shadow:0 20px 70px #591e3510}.status-page h1{font-family:var(--sans);font-weight:600;line-height:1.1;letter-spacing:-.05em}.status-page #status-icon{background:var(--v9-wine);box-shadow:0 0 0 9px #f8edf1}.status-page section::before{background:var(--v9-wine)}.status-page small,.status-page section>a{color:var(--v9-wine)}.status-page #order-info{background:#fcf8fa;border-color:var(--v9-line)}.status-page .status-actions a{border-color:var(--v9-line);border-radius:12px}.status-page .status-actions .primary-action{background:var(--v9-wine)}

/* frete-campaign.css */
/* Campaign styles are isolated from account, admin and chat layouts. */
.storefront .frete-campaign {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr auto 1fr;
  align-items: center;
  gap: 38px;
  margin: 24px max(24px, calc((100vw - 1180px) / 2)) 0;
  padding: 32px 38px;
  border: 1px solid #ffffff20;
  border-radius: 24px;
  background: radial-gradient(ellipse at 85% 20%, #97586b66, transparent 60%), #321321;
  color: #fff9f2;
  box-shadow: 0 12px 32px #591e3510;
  overflow: hidden;
  font-family: var(--sans);
}
.frete-eyebrow { display: flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 600; letter-spacing: .07em; color: #efc4ce; }
.frete-eyebrow > span { font-size: 16px; color: #e9b97a; }
.frete-campaign h2 { margin: 12px 0; font-family: var(--sans); font-size: clamp(27px, 2.8vw, 40px); line-height: 1.08; font-weight: 600; letter-spacing: -.055em; }
.frete-campaign h2 > span { color: #efd1a4; }
.frete-campaign-copy > p { margin: 0; color: #d8bac8; font-size: 12px; line-height: 1.75; }
.frete-campaign-copy > p strong { color: #fff9f2; font-weight: 500; }
.frete-ticket { min-width: 160px; padding: 20px 18px; display: grid; justify-items: center; gap: 8px; border: 1px solid #f4d7bb40; border-radius: 18px; background: #ffffff07; transform: rotate(-4deg); }
.frete-ticket > svg { width: 37px; height: 37px; color: #efd1a4; }
.frete-ticket > span { font-size: 9px; letter-spacing: .17em; color: #d8bac8; }
.frete-ticket > strong { font-size: 52px; font-weight: 600; line-height: 1; letter-spacing: -.065em; }
.frete-ticket > strong small, .frete-ticket > strong span { font-size: 18px; letter-spacing: -.02em; }
.frete-ticket > .frete-ticket-foot { font-size: 10px; letter-spacing: 0; padding-top: 10px; width: 100%; text-align: center; border-top: 1px dashed #f4d7bb40; }
.frete-campaign-actions { display: grid; justify-items: start; gap: 14px; }
.frete-national { max-width: 240px; font-size: 12px; line-height: 1.5; color: #e3ced7; }
.frete-national i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #c5daa9; box-shadow: 0 0 0 4px #c5daa916; }
.frete-campaign-actions > button { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 46px; padding: 12px 18px; border: 0; border-radius: 12px; background: #efd1a4; color: #321321; font: 600 12px var(--sans); cursor: pointer; transition: background .2s, transform .2s; }
.frete-campaign-actions > button:hover { background: #fff0d6; transform: translateY(-2px); }
.frete-campaign-actions > button:focus-visible { outline: 3px solid white; outline-offset: 4px; }
.frete-campaign-note { font-size: 10px; color: #c7a6b7; }
.storefront .hero-price .frete-hero-badge { display: flex; align-items: center; gap: 7px; color: #591e35; font-size: 12px; font-weight: 600; }
.frete-hero-badge > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #eaf0df; color: #395138; }
.storefront .announcement-bar { min-height: 44px; }
@media (max-width: 800px) {
  .storefront .frete-campaign { grid-template-columns: minmax(0, 1fr) auto; gap: 18px 12px; margin: 18px 20px 0; padding: 24px 20px; border-radius: 20px; }
  .frete-eyebrow { font-size: 9px; letter-spacing: .02em; }
  .frete-ticket { min-width: 105px; padding: 16px 10px; }
  .frete-ticket > strong { font-size: 42px; }
  .frete-ticket > strong small, .frete-ticket > strong span { font-size: 14px; }
  .frete-campaign-copy > p { font-size: 11px; }
  .frete-campaign-actions { grid-column: 1 / -1; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding-top: 16px; border-top: 1px solid #ffffff1a; }
  .frete-national { display: none; }
  .frete-campaign-actions > button { grid-column: 1; gap: 16px; font-size: 11px; }
  .frete-campaign-note { max-width: 115px; line-height: 1.5; font-size: 10px; }
  .storefront .announcement-bar { padding-block: 10px; }
  .storefront .announcement-slider { flex-direction: column; gap: 0; white-space: normal; height: auto; text-align: center; }
  .storefront .announcement-slider [data-announcement-title] { display: block; font-size: 11px; }
  .storefront .announcement-slider [data-announcement-copy] { display: block; font-size: 10px; margin: 3px 0 0; color: #edd7e0; }
  .storefront .announcement-separator { display: none; }
}
@media (max-width: 360px) {
  .storefront .frete-campaign { margin-inline: 16px; padding: 20px 16px; gap: 16px 8px; }
  .frete-campaign h2 { font-size: 25px; }
  .frete-ticket { min-width: 88px; padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) { .frete-campaign-actions > button { transition: none; transform: none; } }

/* payment-campaign.css */
/* Payment information only: no simulated checkout or payment-method selection. */
.delivery-choice.delivery-care { display: block; background: #f5f8fa; border: 1px solid #dae5ea; border-radius: 14px; padding: 14px; margin-top: 0; color: #263c49; min-width: 0; }
.delivery-care-head { display: flex; align-items: center; gap: 12px; }
.delivery-care-icon { display: grid; place-items: center; background: #e6eff6; color: #315b7b; width: 32px; height: 32px; border-radius: 9px; flex: 0 0 32px; }
.delivery-care-icon svg { width: 22px; height: 22px; }
.delivery-care-head > div { display: grid; gap: 4px; }
.delivery-care-head > div > span { font-size: 8px; letter-spacing: .12em; color: #657986; }
.delivery-care-head > div > strong { font-size: 16px; letter-spacing: -.02em; }
.delivery-care-head .delivery-free { margin-left: auto; padding: 6px 9px; border-radius: 20px; background: #e6eee2; color: #425c3a; font-size: 10px; font-weight: 600; white-space: nowrap; }
.delivery-care-pack { margin-block: 8px 0; }
.delivery-care-pack > strong { font-size: 14px; }
.delivery-care-pack p,.delivery-region-info p { font-size: 12px; line-height: 1.65; color: #607481; margin: 8px 0 0; }
.delivery-care-steps { list-style: none; display: grid; gap: 16px; padding: 0; margin: 0; }
.delivery-care-steps li { display: flex; gap: 12px; }
.delivery-care-steps li > span { color: #8c9ba4; font-size: 10px; padding-top: 3px; }
.delivery-care-steps li > div { display: grid; gap: 5px; }
.delivery-care-steps strong { font-size: 12px; }
.delivery-care-steps small { color: #607481; font-size: 11px; line-height: 1.6; }
.delivery-region-info { margin-top: 10px; padding-top: 10px; border-top: 1px solid #dae5ea; }
.delivery-region-info[open] .delivery-care-steps { margin-top: 14px; }
.delivery-region-info[open] summary > span { transform: rotate(45deg); }
.delivery-region-info summary { cursor: pointer; display: flex; justify-content: space-between; gap: 12px; font-size: 12px; font-weight: 600; list-style: none; }
.delivery-region-info summary::-webkit-details-marker { display: none; }
.delivery-region-info summary:focus-visible { outline: 2px solid #315b7b; outline-offset: 4px; }
.delivery-region-info a { display: inline-block; margin-top: 12px; font-size: 11px; color: #315b7b; }
.storefront .payment-campaign { padding-block: 52px; background: #f3f7f8; border-block: 1px solid #dce7e9; font-family: var(--sans); color: #22383c; }
.payment-campaign-heading { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.payment-eyebrow { font-size: 9px; letter-spacing: .13em; font-weight: 700; color: #46737c; }
.payment-campaign h2 { margin: 12px 0 14px; font-family: var(--sans); font-size: clamp(28px, 3.3vw, 44px); line-height: 1.12; letter-spacing: -.055em; font-weight: 600; }
.payment-campaign h2 > span { color: #4e7a83; }
.payment-campaign-heading p { margin: 0; font-size: 13px; line-height: 1.6; color: #60787d; }
.payment-processor { display: flex; align-items: center; gap: 14px; padding: 20px; border: 1px solid #d3e5ea; border-radius: 18px; background: #fff; }
.payment-processor > svg { width: 42px; height: 42px; color: #009ee3; flex: 0 0 42px; }
.payment-processor > div { display: grid; gap: 5px; }
.payment-processor small { font-size: 8px; color: #60787d; letter-spacing: .08em; }
.payment-processor strong { color: #0086bd; font-size: 25px; font-weight: 650; letter-spacing: -.06em; }
.payment-processor span { font-size: 10px; color: #60787d; line-height: 1.5; }
.payment-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 12px; margin-top: 28px; }
.payment-method { background: white; border: 1px solid #dce7e9; border-radius: 18px; min-width: 0; transition: border-color .2s, box-shadow .2s; }
.payment-method:hover, .payment-method[open] { border-color: #88b6be; box-shadow: 0 8px 24px #24495108; }
.payment-method summary { position: relative; display: grid; gap: 15px; padding: 20px; list-style: none; cursor: pointer; min-height: 150px; }
.payment-method summary::-webkit-details-marker { display: none; }
.payment-method summary:focus-visible { outline: 3px solid #009ee3; outline-offset: 4px; border-radius: 18px; }
.payment-method-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #dce7e9; border-radius: 12px; background: #f3f7f8; color: #3b6871; }
.payment-method-icon svg { width: 26px; height: 26px; }
.payment-pix .payment-method-icon { background: #e8f7ef; border-color: #d8eee3; color: #368769; }
.payment-method-copy { display: grid; gap: 6px; }
.payment-method-copy strong { font-size: 14px; font-weight: 600; letter-spacing: -.02em; }
.payment-method-copy small { font-size: 10px; color: #678085; line-height: 1.4; }
.payment-expand { position: absolute; right: 18px; top: 20px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #f3f7f8; color: #678085; font-size: 17px; transition: transform .2s; }
.payment-method[open] .payment-expand { transform: rotate(45deg); }
.payment-method > p { margin: 0 20px 20px; padding-top: 14px; border-top: 1px solid #e3edef; font-size: 12px; color: #60787d; line-height: 1.7; }
.payment-campaign-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 24px; }
.payment-campaign-footer > div { display: flex; align-items: center; gap: 10px; }
.payment-campaign-footer > div > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e4efea; color: #417463; flex: 0 0 28px; }
.payment-campaign-footer p { margin: 0; font-size: 12px; font-weight: 600; line-height: 1.7; }
.payment-campaign-footer small { display: block; font-size: 10px; font-weight: 400; color: #678085; }
.payment-campaign-footer button { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 46px; padding: 12px 18px; border: 1px solid #bed5db; border-radius: 12px; background: white; color: #294f57; font: 600 12px var(--sans); cursor: pointer; }
.payment-campaign-footer button:hover { background: #e9f2f4; }
.payment-campaign-footer button:focus-visible { outline: 3px solid #009ee3; outline-offset: 4px; }
@media(max-width:800px) {
  .storefront .payment-campaign { padding-block: 32px; }
  .payment-campaign-heading { display: grid; gap: 20px; }
  .payment-campaign h2 { font-size: 32px; }
  .payment-campaign-heading p { font-size: 12px; }
  .payment-processor { padding: 16px; }
  .payment-processor strong { font-size: 23px; }
  .payment-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
  .payment-method summary { padding: 16px; min-height: 140px; gap: 14px; }
  .payment-method-copy strong { font-size: 12px; }
  .payment-method-copy small { font-size: 10px; }
  .payment-expand { right: 12px; top: 16px; }
  .payment-method > p { margin-inline: 16px; font-size: 11px; }
  .payment-campaign-footer { flex-direction: column; align-items: stretch; gap: 16px; }
}
@media(prefers-reduced-motion:reduce) { .payment-method, .payment-expand { transition: none; } }

/* wine-guide.css */
.storefront .tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:transparent;border:0;overflow:visible}
.storefront .tech-grid>div,.storefront .tech-grid>div:nth-child(n){display:block;grid-column:auto;border:1px solid var(--line);border-radius:18px;padding:24px;background:rgba(255,255,255,.8);min-width:0;transform:none;transition:border-color .2s ease,box-shadow .2s ease}
.storefront .tech-grid>div:hover{border-color:var(--accent);box-shadow:0 8px 24px rgba(20,30,40,.05)}
.storefront .tech-grid strong{font:600 19px/1.4 var(--sans);margin-top:14px;overflow-wrap:anywhere}
.storefront .tech-grid p{font:400 13px/1.75 var(--sans);color:var(--muted);margin:12px 0 0}
.storefront .tech-grid small{display:block;font:400 11px/1.65 var(--sans);color:var(--muted);margin-top:12px}
.grape-guide{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}
.grape-guide summary{font:600 12px/1.6 var(--sans);cursor:pointer;color:var(--accent-strong)}
.grape-guide summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.storefront .tech-guide-note{max-width:850px;font:400 11px/1.7 var(--sans);color:var(--muted);margin-top:20px}
.tech-guide-note a{color:var(--accent-strong);text-underline-offset:3px}
.storefront .flavor-notes .note-stack{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:24px 0}
.storefront .food-choice{display:block;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font:500 15px/1.5 var(--sans);background:rgba(255,255,255,.65)}
.storefront .occasion-reason{font:400 14px/1.7 var(--sans);margin:16px 0 22px;color:inherit}
.storefront .flavor-pairing .small-arrow-link{height:auto;white-space:normal;line-height:1.5}
@media(max-width:900px){.storefront .tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.storefront .tech-grid{grid-template-columns:minmax(0,1fr);gap:10px}.storefront .tech-grid>div:nth-child(n){padding:20px}.storefront .tech-grid strong{font-size:18px}}

/* mobile-layout.css */
/* Final storefront layer: mobile-first sizing, without changing checkout logic. */
.storefront *, .storefront *::before, .storefront *::after { box-sizing: border-box; }
.storefront img { max-width: 100%; }
.storefront button, .storefront a { -webkit-tap-highlight-color: transparent; }
.storefront :is(button, a, input, summary):focus-visible { outline: 3px solid #9b5571; outline-offset: 3px; }
.storefront .checkout-form input, .storefront .checkout-form label { min-width: 0; }
.storefront .checkout-form input { width: 100%; }
@media (max-width: 800px) {
  .storefront { overflow-x: clip; padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
  .storefront main { width: 100%; max-width: 544px; margin-inline: auto; overflow: visible; }
  .storefront .section-pad { padding-inline: 18px; }
  .storefront main > section { min-width: 0; margin-block: 0; padding-block: 28px; }
  .storefront .hero { display: flex; flex-direction: column; gap: 0; }
  .storefront .hero-copy { width: 100%; min-width: 0; }
  .storefront .hero h1 { font-size: clamp(32px, 8.4vw, 44px); line-height: 1.12; letter-spacing: -.035em; overflow-wrap: anywhere; }
  .storefront .hero-deck { font-size: 14px; line-height: 1.7; margin-block: 16px; }
  .storefront .hero-art { width: 100%; min-height: 0; margin-bottom: 20px; }
  .storefront .hero-photo { width: 100%; max-width: 430px; aspect-ratio: 4 / 5; margin-inline: auto; border-radius: 20px; }
  .storefront .hero-image { object-fit: contain; background: #f0e9e4; }
  .storefront .hero-thumbnails { max-width: 430px; margin-inline: auto; }
  .storefront :is(.section-heading h2, .story-top h2, .buy-panel h2, .bundle-content h2, .next-copy h2, .payment-campaign h2, .faq-section h2) { font-size: clamp(27px, 7vw, 34px); line-height: 1.2; letter-spacing: -.025em; }
  .storefront :is(.flavor-grid, .reviews-list, .tech-grid, .offer-grid) { gap: 12px; min-width: 0; }
  .storefront :is(.flavor-card, .review-card, .tech-grid > div, .faq-list details, .offer-card) { min-width: 0; border: 1px solid #eadfe4; border-radius: 16px; background: #fffdfa; padding: 18px; box-shadow: 0 5px 18px #591e3507; }
  .storefront .tech-grid { grid-template-columns: minmax(0, 1fr); margin-top: 18px; }
  .storefront .tech-grid > div:nth-child(n) { grid-column: auto; padding: 18px; }
  .storefront .tech-grid strong { font-size: 17px; line-height: 1.5; }
  .storefront :is(.tech-grid p, .occasion-reason, .story-lede, .review-card p, .faq-list p) { font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
  .storefront .flavor-description { font-size: 19px; line-height: 1.5; margin-block: 16px; }
  .storefront .faq-list { display: grid; gap: 10px; margin-top: 18px; }
  .storefront .faq-list summary { min-height: 44px; font-size: 14px; line-height: 1.5; align-items: center; }
  .storefront .photo-mosaic { gap: 12px; margin-top: 18px; }
  .storefront .mosaic-card { flex: 0 0 85%; aspect-ratio: 4 / 5; min-height: 0; }
  .storefront .mosaic-card button { width: 100%; height: 100%; }
  .storefront .mosaic-card img { width: 100%; height: 100%; object-fit: contain; background: #f0e9e4; }
  .storefront .button-primary { background: #591e35; color: #fff; min-height: 50px; font-weight: 600; box-shadow: 0 6px 18px #591e3518; }
  .storefront .button-primary:hover { background: #421426; }
  .storefront :is(.wine-carousel-arrow, .rail-play, .image-label, .quantity-selector button) { min-width: 44px; min-height: 44px; }
  .storefront .micro-trust { flex-wrap: wrap; gap: 8px 14px; font-size: 11px; }
  .storefront .hero-offer-link { flex-wrap: wrap; line-height: 1.5; }
  .storefront .payment-method-grid { grid-template-columns: minmax(0, 1fr); }
  .storefront .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .storefront .footer-links > div:last-child { grid-column: 1 / -1; }
}

/* performance-accessibility.css */
/* Correct contrasts identified by the mobile Lighthouse audit. */
.storefront .wine-tab .tab-index{color:#70616a;opacity:1}
.storefront .wine-tab.active .tab-index{color:#fff;opacity:1}
.storefront .collection-count,.storefront .wine-subtitle,.storefront .hero-price>span,.storefront .micro-trust span,
.storefront .tech-intro,.storefront .tech-guide-note,.storefront .wine-films .section-heading>p,
.storefront .wine-films-note,.storefront .reviews-disclaimer,.storefront .reviews-count,
.storefront .faq-section .section-heading>p,.storefront .next-count,.storefront .next-count span{color:#655760}
.storefront .payment-campaign-heading p,.storefront .payment-method-copy small,
.storefront .payment-campaign-footer small{color:#4e656b}
.storefront .payment-processor strong{color:#006d9a}
.storefront .offer-card .offer-description strong,
.storefront .offer-card .offer-description small,
.storefront .offer-card .offer-card-price,
.storefront .offer-card .offer-unit-price{color:#fff;opacity:1}
@media(max-width:800px){
  .storefront .buy-section .offer-card{background:#fffdfa;border-color:#d8c8cf}
  .storefront .buy-section .offer-card.active{background:#fffdfa;border-color:#591e35;box-shadow:inset 0 0 0 1px #591e35}
  .storefront .offer-card .offer-description strong,
  .storefront .offer-card .offer-description small,
  .storefront .offer-card .offer-card-price,
  .storefront .offer-card .offer-unit-price{color:#59464e}
}
.storefront .tech-sheet .tech-intro,.storefront .reviews-section .reviews-disclaimer{color:#655760}
.storefront .bundle-content>p,.storefront .bundle-original,
.storefront .bundle-price>span,.storefront .bundle-note{color:#655760;opacity:1}

/* motion.css */
/* Vinhos9 native motion system; no product data is changed. */
:root{--v9-motion-fast:180ms;--v9-motion-enter:380ms;--v9-motion-panel:280ms;--v9-motion-ease:cubic-bezier(.2,.75,.25,1)}
.storefront .cart-empty .cart-empty-title{font-family:var(--serif);font-size:25px;color:var(--ink);margin:12px 0 5px;max-width:none}
.storefront .hero-image,.storefront .buy-bottle,.storefront .current-dot,.storefront .gallery-thumb,.storefront .cart-line{animation:none!important}
.storefront .reveal{animation:none!important}.storefront .reveal.reveal-ready{transition:opacity var(--v9-motion-enter) var(--v9-motion-ease),transform var(--v9-motion-enter) var(--v9-motion-ease)}
.storefront .site-header{position:relative;z-index:10;transition:box-shadow var(--v9-motion-fast),min-height var(--v9-motion-fast);backdrop-filter:none}
.storefront .site-header.v9-header-scrolled{position:fixed;top:0;left:0;right:0;min-height:calc(var(--v9-header-height,84px) - 10px);box-shadow:0 6px 20px #3515220c}.storefront .site-header.v9-header-scrolled>.brand{transform:scale(.96);transform-origin:left center}.storefront .site-header>.brand{transition:transform var(--v9-motion-fast) var(--v9-motion-ease)}
.storefront .desktop-nav button::after{transition:transform var(--v9-motion-fast) var(--v9-motion-ease);transform-origin:center}.storefront .desktop-nav button:focus-visible::after{transform:scaleX(1)}
.storefront .cart-drawer{transition:transform var(--v9-motion-panel) var(--v9-motion-ease);will-change:auto}.storefront .overlay{transition:opacity var(--v9-motion-fast) ease}.storefront .toast{transition:opacity var(--v9-motion-fast),transform var(--v9-motion-fast) var(--v9-motion-ease)}.storefront .toast.visible{animation:v9-toast-in 220ms var(--v9-motion-ease)}
.storefront .hero-image,.storefront .mosaic-card img{transition:transform 400ms var(--v9-motion-ease)}.storefront .button,.storefront .offer-card,.storefront .mosaic-card,.storefront .review-card{transition:transform var(--v9-motion-fast) var(--v9-motion-ease),background-color var(--v9-motion-fast),box-shadow var(--v9-motion-fast)}.storefront .button:active{transform:translateY(1px) scale(.99)}
.storefront .announcement-toggle{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:0;background:none;color:inherit;cursor:pointer;border-radius:8px}.storefront .announcement-toggle:focus-visible{outline:2px solid currentColor;outline-offset:-5px}.storefront .announcement-bar{min-height:44px}.storefront .announcement-slider{min-height:30px;overflow:hidden}.storefront .announcement-slider .is-changing{animation:v9-announcement-in 230ms var(--v9-motion-ease)}
.storefront .v9-marquee{display:flex;align-items:center;gap:8px;background:var(--paper);border-block:1px solid var(--line);min-height:48px;padding:0 20px;color:var(--muted);overflow:hidden}.v9-marquee-viewport{flex:1;min-width:0;overflow:hidden}.v9-marquee-track{display:flex;width:max-content;animation:v9-marquee 32s linear infinite}.v9-marquee-group{display:flex;align-items:center;gap:44px;padding-right:44px;white-space:nowrap;font-size:11px;letter-spacing:.03em}.v9-marquee button{flex-shrink:0;min-height:44px;min-width:44px;border:0;border-radius:8px;background:none;color:inherit;font-size:11px}.v9-marquee:focus-within .v9-marquee-track,.v9-marquee:hover .v9-marquee-track,.v9-marquee.is-paused .v9-marquee-track{animation-play-state:paused}
@keyframes v9-marquee{to{transform:translateX(-50%)}}@keyframes v9-announcement-in{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes v9-toast-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@supports(interpolate-size:allow-keywords){.storefront details{interpolate-size:allow-keywords}.storefront details::details-content{block-size:0;overflow:clip;transition:block-size 220ms var(--v9-motion-ease),content-visibility 220ms allow-discrete}.storefront details[open]::details-content{block-size:auto}}
@media(hover:hover) and (pointer:fine){.storefront .offer-card:hover,.storefront .mosaic-card:hover,.storefront .review-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #3515220b}.storefront .button-primary:hover{transform:translateY(-2px)}.storefront .hero-art:hover .hero-image,.storefront .mosaic-card:hover img{transform:scale(1.018)}}
@media(hover:none){.storefront .hero-art:hover .hero-image,.storefront .mosaic-card:hover img,.storefront .offer-card:hover,.storefront .review-card:hover,.storefront .button:hover,.storefront .proof-strip>div:hover,.storefront .proof-strip>div:hover .proof-symbol,.storefront .wine-pill:hover,.storefront .cart-line:hover,.storefront .cart-line:hover img,.storefront .tech-grid>div:hover{transform:none!important}.storefront .proof-strip p small{opacity:1;transform:none}}
@media(max-width:600px){.storefront .announcement-toggle{min-width:32px}.storefront .v9-marquee{padding-inline:12px}.v9-marquee-group{gap:28px;padding-right:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.storefront *,.storefront *::before,.storefront *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.storefront .reveal-ready{opacity:1!important;transform:none!important}.v9-marquee-track{transform:none!important}.storefront .site-header.v9-header-scrolled>.brand{transform:none}.storefront .announcement-toggle,.v9-marquee button{display:none}.storefront .v9-marquee-group[aria-hidden]{display:none}.storefront .v9-marquee-viewport{overflow:auto}}

/* seo-keywords.css */
.keyword-intro{padding-block:24px}.keyword-intro h1{font-family:var(--sans);font-size:clamp(23px,3vw,34px);letter-spacing:-.035em;line-height:1.2;margin:0 0 10px}.keyword-intro p,.keyword-catalog p{font-size:14px;line-height:1.7;color:var(--muted);max-width:760px}.keyword-intro a,.keyword-catalog a{color:var(--ink);text-underline-offset:4px}.keyword-catalog{padding-block:40px}.keyword-catalog h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.035em}.keyword-catalog ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;gap:12px}.keyword-catalog li a{display:block;border:1px solid var(--line);border-radius:12px;padding:16px;font-size:14px}.keyword-catalog a:focus-visible,.keyword-intro a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.storefront .hero #wine-name{font-family:var(--sans);font-weight:600;font-size:clamp(50px,5.2vw,72px);line-height:1;letter-spacing:-.065em;margin:0}@media(max-width:800px){.storefront .hero #wine-name{order:2;width:100%;font-size:clamp(32px,8.4vw,44px);line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}.keyword-catalog ul{grid-template-columns:repeat(2,minmax(0,1fr))}.keyword-intro{padding-block:18px}}@media(max-width:420px){.keyword-catalog ul{grid-template-columns:1fr}}

/* header-mobile.css */
/* The launcher is in the header's normal flow, never positioned against the page. */
@media(max-width:800px){
 .storefront .site-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding-inline:16px;background:#f8f5f0;color:#30252b}
 .storefront .site-header>.brand{flex:0 0 auto;gap:8px;white-space:nowrap;margin:0}
 .storefront .site-header .header-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:8px;margin:0;padding:0;flex-wrap:nowrap}
 .storefront .site-header .v9-chat-launcher.header-chat-launcher,
 .storefront .site-header .header-actions>.cart-button,
 .storefront .site-header .header-actions>.v9-account{position:relative;inset:auto;display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid #e2d9df;border-radius:12px;background:#fffdfb;color:#30252b;box-shadow:none;transform:none;z-index:auto}
 .storefront .site-header .header-actions .v9-account-trigger{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:0;border-radius:12px;background:transparent;gap:0}
 .storefront .site-header .header-actions .v9-account-identity,
 .storefront .site-header .header-actions .v9-account-chevron,
 .storefront .site-header .header-actions a.v9-account>div{display:none}
 .storefront .site-header .header-actions .v9-account-avatar{width:24px;height:24px;flex:0 0 24px;object-fit:cover}
 .storefront .site-header .header-actions .v9-google-mark{width:20px;height:20px;flex-basis:20px}
 .storefront .site-header .header-actions>.cart-button>svg,
 .storefront .site-header .v9-chat-launcher.header-chat-launcher>svg{width:20px;height:20px;flex:0 0 20px}
 .storefront .site-header .cart-count{top:-5px;right:-5px;min-width:18px;min-height:18px;display:none;place-items:center;border:2px solid #f8f5f0;border-radius:20px;line-height:1;font-size:10px}
 .storefront .site-header .cart-count.has-items{display:grid}
 .storefront .site-header .header-actions>:is(button,a):focus-visible{outline:3px solid #943d70;outline-offset:3px}
}
@media(max-width:360px){.storefront .site-header{padding-inline:12px;gap:8px}.storefront .site-header>.brand{font-size:22px}.storefront .site-header .header-actions{gap:6px}}

/* age-gate.css */
.age-gate.age-numeric{box-sizing:border-box;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:20px;border:0;background:transparent;backdrop-filter:none;overflow:auto;overscroll-behavior:contain}
.age-numeric:not([open]){display:none}.age-numeric::backdrop{background:#1b1022bd;backdrop-filter:blur(4px)}
.age-numeric .age-card{box-sizing:border-box;width:min(100%,430px);max-height:calc(100dvh - 40px);padding:30px 24px;background:#fffaf8;border:1px solid #e6d7de;border-radius:24px;box-shadow:0 24px 80px #16091433;color:#30232b;font-family:var(--sans,Arial)}
.age-numeric .age-calendar{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:16px;background:#f5e8ed;color:#641d38;font-size:32px}
.age-numeric .age-card h2{font:650 clamp(22px,5.5vw,28px)/1.25 var(--sans,Arial);letter-spacing:-.03em;margin:0 0 10px}
.age-numeric .age-card>p{font-size:14px;line-height:1.6;color:#63555d;margin:0}
.age-numeric .age-card form{gap:12px;margin-top:24px}.age-fields{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:10px}
.age-numeric .age-fields label{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;text-align:center}
.age-numeric .age-fields input{box-sizing:border-box;width:100%;min-width:0;min-height:62px;margin:0;border:1px solid #cdbcc5;border-radius:14px;padding:10px 4px;text-align:center;background:#fff;color:#3f2130;font:500 24px/1.2 var(--sans,Arial);font-variant-numeric:tabular-nums;caret-color:#641d38}
.age-numeric .age-fields input::placeholder{color:#94858d;font-size:18px}.age-numeric .age-fields input:focus{outline:0;border-color:#641d38;box-shadow:0 0 0 3px #641d381a}.age-numeric .age-fields input[aria-invalid=true]{border-color:#a02c38}
.age-numeric .age-fields span{font-size:12px;letter-spacing:0;color:#66565f}.age-numeric .age-hint{font-size:12px;margin:2px 0 0;color:#6e5c67}.age-numeric .age-error{min-height:18px;font-size:12px;margin:0;line-height:1.5}
.age-numeric form>button{width:100%;min-height:50px;border-radius:14px;background:#641d38;color:#fff;font:600 14px var(--sans,Arial);padding:14px;border:1px solid transparent;cursor:pointer}.age-numeric form>button:disabled{background:#e9dfe4;color:#77656f;cursor:not-allowed}.age-numeric form>button:focus-visible{outline:3px solid #b58b54;outline-offset:3px}
.age-numeric .age-card>.age-storage{font-size:11px;line-height:1.65;color:#71636b;margin:18px 0 0}.age-storage-notice{position:fixed;z-index:2200;bottom:110px;left:50%;transform:translateX(-50%);width:min(380px,calc(100% - 32px));box-sizing:border-box;padding:14px 18px;background:#641d38;color:white;border-radius:14px;font:13px/1.5 var(--sans,Arial)}
@media(hover:hover){.age-numeric form>button:not(:disabled):hover{background:#4d142a}}
@media(max-width:360px){.age-gate.age-numeric{padding:14px}.age-numeric .age-card{padding:24px 18px;max-height:calc(100dvh - 28px)}.age-fields{gap:8px}}
@media(prefers-reduced-motion:no-preference){.age-numeric input,.age-numeric button{transition:border-color .16s,box-shadow .16s,background-color .16s}}

/* reviews-premium.css */
.storefront .reviews-premium{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:36px 64px;background:#2d1b21;color:#fff7ef;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(48px,7vw,96px)}
.reviews-premium .reviews-intro{max-width:500px}.reviews-premium .eyebrow{color:#e5b6c2;letter-spacing:.16em}.reviews-premium .reviews-intro h2{font-size:clamp(30px,3.8vw,48px);line-height:1.12;letter-spacing:-.045em;margin:18px 0}.reviews-premium .reviews-intro>p{color:#c5b6bb;font-size:14px;line-height:1.7;margin:0 0 26px}
.reviews-premium .reviews-open-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:50px;border:1px solid #d9b47a77;border-radius:12px;background:#dfbd88;color:#291b20;padding:14px 22px;font:600 13px var(--sans,Arial);cursor:pointer}
.reviews-premium .reviews-summary{margin:0;min-height:260px;box-sizing:border-box;align-items:center;gap:8px;padding:30px 22px;background:linear-gradient(140deg,#ffffff0e,#ffffff03);border:1px solid #ffffff20;border-radius:24px;box-shadow:0 20px 60px #10060c26;backdrop-filter:blur(12px)}
.reviews-premium .reviews-card-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#d2bcc4}.reviews-premium .reviews-average{font:500 clamp(32px,4vw,46px)/1.2 var(--serif,Georgia);margin:8px 0 0;color:#fff7ef}.reviews-premium .reviews-count{font-size:12px;color:#d5c6cc;margin:0;text-align:center;line-height:1.6}.reviews-premium .reviews-local-label{font-size:10px;color:#b9a7af;text-align:center;line-height:1.6}
.reviews-start-stars{display:flex;justify-content:center;gap:2px;margin:2px 0}.reviews-start-stars button{display:grid;place-items:center;width:44px;height:44px;background:none;border:0;color:#dfbd88;cursor:pointer;border-radius:9px}.reviews-start-stars svg{width:27px;height:27px;fill:transparent;stroke:currentColor;stroke-width:1.4}
.reviews-start-stars .is-rated svg{fill:currentColor}.storefront .reviews-premium .review-card{border-color:#ffffff17}.storefront .reviews-premium .review-card>div>span{color:#dfbd88}
.reviews-premium .reviews-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reviews-premium .reviews-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.reviews-premium .reviews-list:empty{display:none}.reviews-premium .review-card{background:#ffffff06;border-color:#ffffff17;padding:22px;border-radius:16px}.reviews-premium .review-card strong{color:#fff1e8;font-size:13px}.reviews-premium .review-card p{color:#d2c2c9;font-size:13px;overflow-wrap:anywhere}.reviews-premium .review-card span{font-size:13px;white-space:nowrap}
.reviews-premium .review-details{grid-column:1/-1;min-width:0;border-top:1px solid #ffffff1a;margin:0}.reviews-premium .review-details summary{padding:20px 0;color:#cfbbc4;font-size:12px;cursor:pointer;display:flex;justify-content:space-between}.reviews-premium .review-details summary::marker{content:""}.reviews-premium .review-details[open] summary>span{transform:rotate(45deg)}.reviews-premium .review-form{background:#ffffff05;border:1px solid #ffffff17;padding:24px;border-radius:18px;gap:16px;margin-top:0}.reviews-premium .review-form label{display:grid;gap:9px;font-size:12px;color:#e1cfd7}.reviews-premium .review-form input,.reviews-premium .review-form textarea{min-width:0;width:100%;box-sizing:border-box;min-height:48px;background:#ffffff08;border:1px solid #ffffff26;border-radius:10px;color:#fff5f0;font-size:16px;padding:12px}.reviews-premium .review-form textarea{min-height:110px}.reviews-premium .review-form .reviews-disclaimer,.reviews-premium .review-form .reviews-authenticity-note{font-size:11px;line-height:1.65;color:#bca8b1;margin:0}.reviews-premium .review-form .button{max-width:100%;white-space:normal;text-align:left;min-height:48px}
.reviews-premium .review-stars-input button{width:44px;height:44px;font-size:30px;cursor:pointer;letter-spacing:0}.reviews-premium button:focus-visible,.reviews-premium summary:focus-visible,.reviews-premium input:focus-visible,.reviews-premium textarea:focus-visible{outline:2px solid #dfbd88;outline-offset:4px}
@media(hover:hover){.reviews-premium .reviews-open-button:hover{background:#f0d3a6;box-shadow:0 8px 22px #0002;transform:translateY(-2px)}.reviews-start-stars button:hover{background:#ffffff0a;transform:translateY(-2px)}.reviews-start-stars:has(button:nth-child(1):hover) button:nth-child(-n+1) svg,.reviews-start-stars:has(button:nth-child(2):hover) button:nth-child(-n+2) svg,.reviews-start-stars:has(button:nth-child(3):hover) button:nth-child(-n+3) svg,.reviews-start-stars:has(button:nth-child(4):hover) button:nth-child(-n+4) svg,.reviews-start-stars:has(button:nth-child(5):hover) svg{fill:currentColor}}
@media(max-width:800px){.storefront .reviews-premium{grid-template-columns:1fr;gap:28px}.reviews-premium .reviews-summary{min-height:240px}.reviews-premium .reviews-list{grid-template-columns:1fr}.reviews-premium .reviews-open-button{width:100%}.reviews-premium .review-form{padding:18px}.reviews-premium .reviews-intro h2{font-size:34px}}
@media(prefers-reduced-motion:no-preference){.reviews-premium button,.reviews-start-stars svg,.reviews-premium summary>span{transition:background-color .2s,transform .2s,fill .2s,box-shadow .2s}}
@media(prefers-reduced-motion:reduce){.reviews-premium button:hover,.reviews-premium .review-card:hover{transform:none}}

/* release-refinements.css */
/* Consent is not accepted implicitly: it returns when the purchase dialog closes. */
.storefront.layer-open .cookie-banner{display:none}
.storefront .checkout-conversation{padding:16px 18px}
@media(max-width:800px){
 .storefront main#conteudo{display:flex;flex-direction:column}
 .storefront main>.keyword-intro{order:-3;padding-top:16px;padding-bottom:12px}
 .storefront main>.keyword-intro h1{font-size:20px;line-height:1.3;margin-bottom:8px}
 .storefront main>.keyword-intro p{font-size:13px;line-height:1.6;margin-bottom:0}
 .storefront main>.product-switcher{order:-2}
 .storefront main>.hero{order:-1}
 .storefront .checkout-head{padding-bottom:14px}
 .storefront .checkout-head h2{font-size:28px;line-height:1.2}
 .storefront .checkout-conversation{padding:14px 16px;margin-bottom:16px}
 .storefront .checkout-conversation strong{font-size:17px;line-height:1.35}
 .storefront .checkout-conversation p{font-size:12px;line-height:1.6}
 .storefront .frete-campaign-note{font-size:12px;line-height:1.5}
 .storefront .reviews-local-label{font-size:12px}
}

/* brand-assets.css */
.brand-artwork{display:inline-flex;align-items:center;flex-shrink:0;line-height:0;text-decoration:none}
.brand-artwork .brand-logo-image{display:block;width:150px;height:auto;max-width:100%;object-fit:contain;margin:0;aspect-ratio:680/180}
.storefront .site-header>.brand-artwork{width:150px;gap:0}
.storefront .brand-light.brand-artwork,.admin-shell .admin-brand.brand-artwork{box-sizing:content-box;padding:10px 14px;border-radius:12px;background:#faf9f7}
.admin-shell .admin-brand.brand-artwork{width:150px;max-width:calc(100% - 28px);margin:0}
.login-brand.brand-artwork{width:220px}.login-brand.brand-artwork .brand-logo-image{width:220px}
.account-brand.brand-artwork,.info-brand.brand-artwork{width:150px}
@media(max-width:800px){.storefront .site-header>.brand-artwork{width:128px}.storefront .site-header>.brand-artwork .brand-logo-image{width:128px}}
@media(max-width:360px){.storefront .site-header>.brand-artwork{width:116px}.storefront .site-header>.brand-artwork .brand-logo-image{width:116px}}
