/* ===================================================================
   Tokens
=================================================================== */
:root{
  --bg: #FBF6EC;
  --bg-alt: #F3E8D6;
  --card: #FFFEFB;
  --ink: #241C18;
  --ink-soft: #6E5D50;
  --line: rgba(36,28,24,.14);
  --wine: #7C1F2C;
  --wine-deep: #5A1620;
  --wine-tint: #F3DEDD;
  --gold: #AD7A2A;
  --gold-tint: #F1E3C6;
  --shadow-sm: 0 1px 2px rgba(36,28,24,.06), 0 4px 12px rgba(36,28,24,.06);
  --shadow-md: 0 8px 24px rgba(36,28,24,.10), 0 2px 6px rgba(36,28,24,.06);
  --shadow-lg: 0 24px 56px rgba(36,28,24,.16), 0 6px 16px rgba(36,28,24,.08);
  --radius: 14px;
  --radius-sm: 8px;
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ease: cubic-bezier(.16,1,.3,1);
}

/* ===================================================================
   Reset & base
=================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{color-scheme:light;scroll-behavior:smooth;}
body{
  margin:0;
  overflow-x:hidden; /* full-bleed .hero__media uses 100vw, which overshoots by the scrollbar width */
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-0.015em;margin:0;color:var(--ink);}
p{margin:0;}
a{color:inherit;}
ul{margin:0;padding:0;list-style:none;}
table{border-collapse:collapse;width:100%;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}

::selection{background:var(--wine);color:#fff;}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--bg-alt);}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:8px;border:3px solid var(--bg-alt);}
:focus-visible{outline:2.5px solid var(--wine);outline-offset:3px;border-radius:4px;}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.wrap--narrow{max-width:760px;}

.ic{width:1.15em;height:1.15em;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex-shrink:0;}
.ic--gold{color:var(--gold);}
.ic--wine{color:var(--wine);}

.section{padding:88px 0;}
.section:nth-of-type(even){background:var(--bg-alt);}
.section__head{max-width:640px;margin:0 auto 48px;text-align:center;}
.section__head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin-bottom:14px;}
.lead{color:var(--ink-soft);font-size:1.1rem;max-width:62ch;margin:0 auto;}

/* ===================================================================
   Buttons
=================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  padding:.9em 1.6em;border-radius:999px;font-weight:700;font-size:1rem;
  border:1.5px solid transparent;text-decoration:none;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .2s, border-color .2s;
  white-space:nowrap;
}
.btn--primary{background:var(--wine);color:#fff;box-shadow:var(--shadow-sm);}
.btn--primary:hover{background:var(--wine-deep);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn--primary:active{transform:translateY(0);}
.btn--lg{padding:1.05em 2em;font-size:1.08rem;}
.btn--sm{padding:.55em 1.15em;font-size:.9rem;}
.btn--full{width:100%;}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none;font-weight:600;}
.btn--ghost:hover{background:var(--bg-alt);border-color:var(--ink-soft);}
.btn .ic{transition:transform .25s var(--ease);}
.btn:hover .ic{transform:translateX(3px);}

/* ===================================================================
   Age gate
=================================================================== */
.age-gate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(24,17,14,.72);backdrop-filter:blur(6px);}
.age-gate[hidden]{display:none;}
.age-gate__panel{background:var(--card);border-radius:20px;padding:44px 38px;max-width:440px;width:100%;text-align:center;box-shadow:var(--shadow-lg);animation:modal-in .35s var(--ease);}
.age-gate__icon{width:2.4em;height:2.4em;color:var(--wine);margin-bottom:14px;}
.age-gate__kicker{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--wine);margin-bottom:10px;}
.age-gate__panel h2{font-size:clamp(1.4rem,3vw,1.75rem);margin-bottom:14px;}
.age-gate__desc{color:var(--ink-soft);font-size:.95rem;line-height:1.6;margin-bottom:28px;}
.age-gate__actions{display:flex;flex-direction:column;gap:10px;}

/* ===================================================================
   Top bar
=================================================================== */
.topbar{position:sticky;top:0;z-index:40;background:rgba(251,246,236,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.brand__logo{width:44px;height:44px;border-radius:50%;object-fit:contain;mix-blend-mode:multiply;}
.brand__name{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--ink);letter-spacing:-.01em;line-height:1.15;}
.brand__name span{color:var(--wine);display:block;}
.topbar__nav{display:flex;align-items:center;gap:28px;flex:1;justify-content:center;}
.topbar__nav a{font-size:.94rem;font-weight:600;color:var(--ink-soft);text-decoration:none;transition:color .2s;}
.topbar__nav a:hover{color:var(--wine);}
.topbar__right{display:flex;align-items:center;gap:16px;flex-shrink:0;}
.topbar__price{display:flex;align-items:baseline;gap:7px;font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.topbar__price-old{font-size:.8rem;font-weight:600;text-decoration:line-through;text-decoration-color:var(--wine);opacity:.6;}

/* ===================================================================
   Hero
=================================================================== */
.hero{padding:0 0 96px;background:
  radial-gradient(1100px 500px at 50% 0%, var(--gold-tint) 0%, transparent 60%),
  var(--bg);text-align:center;}
.hero__media{position:relative;width:100vw;margin-left:calc(50% - 50vw);aspect-ratio:16/8;overflow:hidden;background:var(--ink);}
.hero__media img{width:100%;height:100%;object-fit:cover;display:block;}
.hero__media-scrim{position:absolute;inset:0;background:linear-gradient(185deg, rgba(20,14,12,.05) 35%, rgba(20,14,12,.78) 100%);}
.hero__media-text{position:absolute;left:0;right:0;bottom:0;padding:0 24px 44px;}
.hero__title{font-size:clamp(2.1rem,4.4vw,3.4rem);max-width:18ch;margin:0 auto;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35);}
.hero__inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;padding-top:40px;}
.hero__sub{font-size:1.15rem;color:var(--ink-soft);max-width:56ch;margin-bottom:28px;}
.hero__facts{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;gap:10px 32px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line);}
.hero__facts li{display:flex;align-items:center;gap:.5em;font-weight:600;font-size:.9rem;color:var(--ink);}
.hero__facts .ic{color:var(--wine);flex-shrink:0;}

.hero__buy{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-md);width:100%;}
.hero__buy-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
.price-row{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-bottom:6px;flex-wrap:wrap;}
.price{font-family:var(--serif);font-weight:700;font-size:2.1rem;color:var(--wine);}
.price-old{font-family:var(--serif);font-weight:600;font-size:1.2rem;color:var(--ink-soft);text-decoration:line-through;text-decoration-color:var(--wine);text-decoration-thickness:2px;opacity:.7;}
.price-row--onwine .price-old{color:rgba(255,255,255,.68);text-decoration-color:rgba(255,255,255,.5);}
.price-row--onwine .price{color:#fff;}
.price__note{color:var(--ink-soft);font-size:.88rem;display:block;margin-bottom:20px;}
.countdown{display:flex;align-items:center;justify-content:center;gap:.5em;margin-top:18px;font-size:.92rem;color:var(--ink-soft);font-weight:500;}
.countdown strong{font-variant-numeric:tabular-nums;color:var(--wine);font-weight:800;font-size:1.05rem;letter-spacing:.02em;}
.countdown .ic{color:var(--gold);}
.countdown--dark{color:rgba(255,255,255,.78);justify-content:center;}
.countdown--dark strong{color:#fff;}
.countdown--dark .ic{color:var(--gold-tint);}
.countdown--onmedia{display:inline-flex;margin:0 auto 16px;padding:.55em 1.1em;border-radius:999px;background:rgba(20,14,12,.55);backdrop-filter:blur(6px);color:#fff;font-size:.85rem;border:1px solid rgba(255,255,255,.18);}
.countdown--onmedia strong{color:var(--gold-tint);}
.countdown--onmedia .ic{color:var(--gold-tint);}

.hero__photo-badge{position:absolute;right:20px;top:20px;background:var(--card);border-radius:14px;padding:12px 18px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:2px;}
.hero__photo-badge strong{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--wine);line-height:1;}
.hero__photo-badge span{font-size:.8rem;color:var(--ink-soft);font-weight:600;}

/* ===================================================================
   Authority
=================================================================== */
.section.authority{background:var(--wine);}
.authority{padding:64px 0;color:#fff;}
.authority__inner{max-width:760px;margin:0 auto;text-align:center;}
.authority__icon{width:2em;height:2em;color:var(--gold-tint);margin-bottom:14px;}
.authority__badge{display:inline-block;font-family:var(--serif);font-weight:700;font-size:1.5rem;margin-bottom:18px;color:#fff;}
.authority__text{font-size:1.08rem;line-height:1.75;color:rgba(255,255,255,.92);}

/* ===================================================================
   Problem
=================================================================== */
.problem__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
.problem__img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:4/5;}
.problem__img img{width:100%;height:100%;object-fit:cover;}
.problem h2{font-size:clamp(1.9rem,3vw,2.5rem);margin-bottom:14px;}
.problem .lead{margin:0 0 26px;text-align:left;max-width:none;}
.problem__list{display:flex;flex-direction:column;gap:22px;}
.problem__list li{display:flex;gap:16px;align-items:flex-start;}
.problem__list .ic{margin-top:.2em;width:1.4em;height:1.4em;flex-shrink:0;}
.problem__list strong{display:block;margin-bottom:2px;}
.problem__list div{color:var(--ink-soft);}

/* ===================================================================
   Method
=================================================================== */
.method__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.method__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px 30px;box-shadow:var(--shadow-sm);}
.method__img{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:16/10;margin-bottom:20px;}
.method__img img{width:100%;height:100%;object-fit:cover;}
.method__card .ic{width:1.8em;height:1.8em;margin-bottom:12px;}
.method__card h3{font-size:1.25rem;margin-bottom:10px;}
.method__card p{color:var(--ink-soft);font-size:.95rem;}

/* ===================================================================
   Catalog
=================================================================== */
.catalog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;}
.catalog__part{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.catalog__part .ic{width:1.7em;height:1.7em;margin-bottom:14px;}
.catalog__part h3{font-size:1.2rem;margin-bottom:6px;line-height:1.3;}
.catalog__part-note{color:var(--gold);font-weight:700;font-size:.82rem;margin-bottom:14px;}
.catalog__part-desc{color:var(--ink-soft);font-size:.92rem;margin-bottom:18px;}
.chips li{padding:9px 0;border-top:1px solid var(--line);font-size:.92rem;color:var(--ink);}
.chips li:first-child{border-top:0;}
.chips--teaser{margin-bottom:10px;}
.catalog__part-more{font-size:.85rem;font-style:italic;color:var(--ink-soft);}


/* ===================================================================
   Payment trust badges
=================================================================== */
.payment-methods{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px;flex-wrap:wrap;}
.payment-methods img{height:20px;width:auto;opacity:.85;}
.payment-methods--modal{margin:18px 0 0;}

/* ===================================================================
   Gallery
=================================================================== */
.gallery__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:16px;}
.gallery__grid img{width:100%;height:280px;object-fit:cover;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:transform .4s var(--ease);}
.gallery__grid img:hover{transform:scale(1.02);}

/* ===================================================================
   Testimonials
=================================================================== */
.t-slider{max-width:380px;margin:0 auto;overflow:hidden;padding:6px 0 12px;}
.t-slider__track{display:flex;transition:transform .5s var(--ease);}
.t-card{flex:0 0 100%;display:flex;justify-content:center;align-items:center;padding:4px 8px;box-sizing:border-box;}
.t-card img{width:100%;max-width:340px;height:auto;border-radius:26px;box-shadow:0 16px 40px rgba(36,28,24,.14), 0 2px 8px rgba(36,28,24,.06);border:1px solid rgba(36,28,24,.08);display:block;margin:0 auto;transition:transform .3s var(--ease), box-shadow .3s var(--ease);}
.t-card img:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(36,28,24,.18), 0 4px 12px rgba(36,28,24,.08);}
.t-slider__controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:22px;}
.t-slider__btn{width:42px;height:42px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:background .2s, transform .2s var(--ease), box-shadow .2s;}
.t-slider__btn:hover{background:var(--wine-tint);transform:scale(1.05);box-shadow:var(--shadow-md);}
.t-slider__btn .ic{width:1.1em;height:1.1em;color:var(--ink);}
.t-slider__btn:first-child .ic{transform:rotate(180deg);}
.t-slider__dots{display:flex;gap:8px;}
.t-slider__dots button{width:9px;height:9px;border-radius:50%;background:var(--line);border:none;padding:0;cursor:pointer;transition:background .25s,transform .25s;}
.t-slider__dots button.is-active{background:var(--wine);transform:scale(1.35);}

/* ===================================================================
   FAQ / Accordion
=================================================================== */
.accordion__item{border-bottom:1px solid var(--line);padding:22px 0;}
.accordion__item:first-child{border-top:1px solid var(--line);}
.accordion__item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--serif);font-weight:600;font-size:1.15rem;cursor:pointer;list-style:none;}
.accordion__item summary::-webkit-details-marker{display:none;}
.acc-ic{color:var(--wine);transition:transform .3s var(--ease);flex-shrink:0;}
.accordion__item[open] .acc-ic{transform:rotate(45deg);}
.accordion__body{padding-top:14px;max-width:70ch;}
.accordion__body p{color:var(--ink-soft);}

/* ===================================================================
   Final CTA
=================================================================== */
.section.final-cta{background:linear-gradient(155deg, var(--wine) 0%, var(--wine-deep) 100%);}
.final-cta{color:#fff;text-align:center;}
.final-cta__inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px;}
.final-cta h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);}
.final-cta .lead{color:rgba(255,255,255,.82);}
.final-cta .btn--primary{background:#fff;color:var(--wine);}
.final-cta .btn--primary:hover{background:var(--gold-tint);transform:translateY(-2px);}

/* ===================================================================
   Sticky CTA bar
=================================================================== */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(36,28,24,.10);transform:translateY(100%);transition:transform .35s var(--ease);}
.sticky-cta.is-visible{transform:translateY(0);}
.sticky-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;}
.sticky-cta__info{display:flex;flex-direction:column;line-height:1.25;}
.sticky-cta__price-row{display:flex;align-items:baseline;gap:7px;}
.sticky-cta__info strong{font-family:var(--serif);font-size:1.15rem;color:var(--wine);}
.sticky-cta__info .price-old{font-size:.82rem;}
.sticky-cta__info span{font-size:.78rem;color:var(--ink-soft);}

/* ===================================================================
   Inline mid-page CTA
=================================================================== */
.inline-cta{display:flex;justify-content:center;margin-top:56px;}

/* ===================================================================
   Modal
=================================================================== */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;}
.modal[hidden]{display:none;}
.modal__backdrop{position:absolute;inset:0;background:rgba(36,28,24,.55);backdrop-filter:blur(3px);}
.modal__panel{position:relative;background:var(--card);border-radius:20px;padding:40px 36px;max-width:420px;width:100%;box-shadow:var(--shadow-lg);animation:modal-in .3s var(--ease);}
@keyframes modal-in{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
.modal__close{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);transition:background .2s;}
.modal__close:hover{background:var(--bg-alt);}
.modal__panel h3{font-size:1.4rem;margin:2px 0 6px;}
.modal__price-row{margin-bottom:18px;justify-content:flex-start;}
.modal__field{margin-bottom:18px;text-align:left;}
.modal__label{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:6px;letter-spacing:-0.01em;}
.modal__input{width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-family:var(--sans);font-size:.95rem;background:#fff;color:var(--ink);box-shadow:inset 0 1px 2px rgba(36,28,24,.05);transition:border-color .2s, box-shadow .2s;}
.modal__input::placeholder{color:rgba(110,93,80,.5);}
.modal__input:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 3px var(--wine-tint);}
.modal__input.is-invalid{border-color:var(--wine);background-color:#fffafa;animation:consent-shake .4s;}
.modal__field-error{font-size:.78rem;color:var(--wine);margin-top:5px;font-weight:500;}
.modal__field-error:not([hidden]){display:block;}
.modal__consent{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;text-align:left;cursor:pointer;}
.modal__consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--wine);flex-shrink:0;cursor:pointer;}
.modal__consent span{font-size:.78rem;color:var(--ink-soft);line-height:1.5;}
.modal__consent a{color:var(--wine);text-decoration:underline;text-underline-offset:2px;}
.btn[aria-disabled="true"]{opacity:.5;}
.btn:disabled{cursor:default;}
.modal__consent.is-shaking{animation:consent-shake .4s;}
@keyframes consent-shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-4px);}75%{transform:translateX(4px);}}
.modal__helper{margin-top:14px;font-size:.85rem;color:var(--ink-soft);text-align:center;}
.modal__legal{margin-top:20px;font-size:.78rem;color:var(--ink-soft);line-height:1.5;border-top:1px solid var(--line);padding-top:16px;}

/* ===================================================================
   Footer
=================================================================== */
.footer{background:var(--ink);color:rgba(255,255,255,.65);padding:48px 0;}
.footer__inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;}
.brand--footer .brand__logo{mix-blend-mode:normal;background:#fff;}
.brand--footer .brand__name{color:#fff;}
.brand--footer .brand__name span{color:var(--gold-tint);}
.footer__legal{max-width:60ch;font-size:.82rem;line-height:1.6;}
.footer__copy{font-size:.78rem;opacity:.7;}

/* ===================================================================
   Motion: reveal-on-scroll
=================================================================== */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
  .reveal.is-visible{opacity:1;transform:none;}
}

/* ===================================================================
   Responsive
=================================================================== */
@media (max-width:980px){
  .topbar__nav{display:none;}
  .problem__grid{grid-template-columns:1fr;}
  .problem__img{aspect-ratio:16/9;}
  .method__grid{grid-template-columns:1fr 1fr;}
  .catalog__grid{grid-template-columns:1fr 1fr;}
  .gallery__grid{grid-template-columns:1fr 1fr;}
  .gallery__grid img{height:220px;}
}

@media (max-width:640px){
  .section{padding:64px 0;}
  .wrap{padding:0 16px;}
  .hero__media-text{padding-left:16px;padding-right:16px;}
  .topbar__price{display:none;}
  .topbar__inner{height:64px;}
  .topbar__right .btn--sm{padding:.62em 1.2em;font-size:.92rem;}
  .hero{padding:0 0 64px;}
  .hero__media{aspect-ratio:4/5;}
  .hero__title{max-width:none;font-size:1.9rem;}
  .hero__buy{padding:22px;}
  .method__grid{grid-template-columns:1fr;}
  .catalog__grid{grid-template-columns:1fr;}
  .gallery__grid{grid-template-columns:1fr 1fr;}
  .gallery__grid img{height:170px;}
  .gallery__grid > img:first-child,.gallery__grid > img:last-child{grid-column:span 2;height:220px;}
  .authority__badge{font-size:1.25rem;}
  .t-slider{max-width:310px;}

  /* CTAs: long Ukrainian labels wrap instead of clipping, and the primary
     action is full-width and identical everywhere it appears on the page */
  .btn{white-space:normal;text-wrap:balance;}
  .btn--lg{padding:1.02em 1.4em;font-size:1.02rem;line-height:1.25;}
  .hero__buy-actions{flex-direction:column;}
  .hero__buy-actions .btn{width:100%;}
  /* facts: cramped 2-col wraps every label — go to a clean single-column checklist */
  .hero__facts{grid-template-columns:1fr;gap:14px;width:100%;max-width:280px;margin-inline:auto;}
  .hero__facts li{justify-content:flex-start;text-align:left;font-size:.95rem;}
  .inline-cta{margin-top:40px;}
  .inline-cta .btn,
  .final-cta .btn--primary{width:100%;}
  .final-cta__inner{align-self:stretch;}
  .sticky-cta__inner{padding:10px 14px;gap:12px;}
  .sticky-cta__inner .btn{flex-shrink:0;padding:.85em 1.25em;}

  /* Buy modal becomes a full-screen slide-up sheet on phones */
  .modal{padding:0;align-items:stretch;justify-content:stretch;}
  .modal__backdrop{display:none;}
  .modal__panel{
    max-width:none;width:100%;border-radius:0;box-shadow:none;
    min-height:100vh;min-height:100dvh;
    display:flex;flex-direction:column;
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    padding:calc(16px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));
    animation:sheet-in .32s var(--ease);
  }
  .modal__close{
    position:sticky;top:0;align-self:flex-end;z-index:3;
    width:40px;height:40px;font-size:1.05rem;
    margin:-6px -6px 2px 0;background:var(--card);
  }
  .modal__input{font-size:16px;padding:13px 14px;}
  .modal__legal{margin-top:auto;}
}

@keyframes sheet-in{from{transform:translateY(100%);}to{transform:translateY(0);}}

@media (max-width:400px){
  .wrap{padding:0 14px;}
  .sticky-cta__info > span:last-child{display:none;}
  .sticky-cta__inner{padding:10px 12px;}
  .sticky-cta__inner .btn{flex:1 1 auto;}
}

/* ===================================================================
   Legal pages (oferta / refund / privacy)
=================================================================== */
.legal-page{padding-top:64px;}
.legal-page__updated{color:var(--ink-soft);font-size:.85rem;margin-bottom:8px;}
.legal-page h1{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:32px;}
.legal-page h2{font-size:1.3rem;margin:40px 0 14px;}
.legal-page p{color:var(--ink);line-height:1.7;margin-bottom:14px;}
.legal-page ol{margin:0 0 14px;padding-left:22px;color:var(--ink);line-height:1.7;}
.legal-page ol li{margin-bottom:10px;padding-left:6px;}
.legal-page a{color:var(--wine);text-decoration:underline;text-underline-offset:2px;}
.legal-page__callout{background:var(--wine-tint);border-radius:var(--radius-sm);padding:20px 22px;margin-bottom:32px;line-height:1.6;}
.legal-page__note{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.85rem;font-style:italic;line-height:1.6;}
.footer__legal-links{font-size:.85rem;}
.footer__legal-links a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.footer__legal-links a:hover{color:#fff;}
