:root{
  --quartz:#F9CBD6; --blush:#F2AFBC; --wine:#9E182B; --oat:#F2E0D2;
  --bg:#FDEEF1; --ink:#5a1a27; --muted:#8a5560; --line:rgba(158,24,43,.18);
  --f-serif:"Playfair Display",Georgia,serif; --f-script:"Allura","Brush Script MT",cursive; --f-sans:"Jost","Segoe UI",system-ui,sans-serif;
  --r:22px; --gut:clamp(20px,5vw,56px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.7 var(--f-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
[hidden]{display:none!important}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:12px;top:-60px;background:var(--wine);color:#fff;padding:10px 16px;border-radius:10px;z-index:99}
.skip:focus{top:12px}
h1,h2,h3{font-family:var(--f-serif);color:var(--wine);margin:0;line-height:1.12;font-weight:700}
.eyebrow{font:500 .78rem/1.4 var(--f-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--wine);margin:0 0 14px}
.script{font-family:var(--f-script);font-weight:400;color:var(--wine)}
.heart{display:inline-block;width:.8em;height:.8em;vertical-align:-.05em;fill:var(--wine)}

/* botões */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;border:1.5px solid var(--wine);font:600 .8rem/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.btn--fill{background:var(--wine);color:#fff;box-shadow:0 12px 28px -14px rgba(158,24,43,.7)}
.btn--ghost{background:transparent;color:var(--wine)}
.btn--light{background:#fff;color:var(--wine);border-color:#fff}
.btn svg{width:18px;height:18px;fill:currentColor}
@media(hover:hover){.btn:hover{transform:translateY(-2px)}.btn--fill:hover{box-shadow:0 18px 32px -14px rgba(158,24,43,.8)}.btn--ghost:hover{background:var(--wine);color:#fff}}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--wine);outline-offset:3px}

/* topo */
.top{position:sticky;top:0;z-index:50;background:rgba(253,238,241,.86);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.top.is-s{border-color:var(--line)}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.brand span{font:500 .82rem/1.2 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--wine)}
.nav{display:flex;align-items:center;gap:30px}
.top__in{gap:16px}
.nav a:not(.btn){text-decoration:none;font:500 .82rem/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);padding:10px 0;position:relative}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--wine);transform:scaleX(0);transform-origin:left;transition:transform .25s}
@media(hover:hover){.nav a:not(.btn):hover::after{transform:scaleX(1)}}
.nav .btn{min-height:44px;padding:0 20px;font-size:.72rem}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--wine);background:transparent;cursor:pointer;color:var(--wine)}
.burger span{display:block;width:18px;height:1.5px;background:currentColor;margin:5px auto}

/* hero */
.hero{position:relative;padding:clamp(40px,7vw,88px) 0 clamp(56px,8vw,104px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:60vw;height:60vw;max-width:760px;max-height:760px;border-radius:50%;background:radial-gradient(circle,var(--quartz),transparent 68%);opacity:.9;z-index:0}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,80px);align-items:center}
.hero h1{font-size:clamp(2.5rem,5.2vw,4.4rem);letter-spacing:-.01em}
.hero h1 em{display:block;font-family:var(--f-script);font-style:normal;font-weight:400;font-size:1.18em;line-height:1.05;margin-top:.08em}
.hero__lead{margin:26px 0 34px;max-width:46ch;font-size:1.15rem;color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:14px}
.hero__tags{display:flex;flex-wrap:wrap;gap:10px 22px;margin:34px 0 0;padding:0;list-style:none;font:500 .76rem/1.4 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--wine)}
.hero__tags li{display:flex;align-items:center;gap:22px}
.hero__tags li+li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blush)}
.arch{position:relative;justify-self:center;width:min(100%,440px)}
.arch__img{border-radius:999px 999px var(--r) var(--r);overflow:hidden;aspect-ratio:3/4;box-shadow:0 40px 70px -40px rgba(158,24,43,.6);border:8px solid #fff}
.arch__img img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.seal{position:absolute;left:-12%;bottom:6%;width:34%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid #fff;box-shadow:0 18px 40px -18px rgba(158,24,43,.6);animation:float 6s ease-in-out infinite}
.seal img{width:100%;height:100%;object-fit:cover}
.spark{position:absolute;color:var(--wine);font-size:1.6rem;animation:tw 3.6s ease-in-out infinite}
.spark--1{top:6%;right:-6%}.spark--2{top:42%;left:-10%;font-size:1.1rem;animation-delay:1.2s}.spark--3{bottom:-2%;right:12%;font-size:1.2rem;animation-delay:2.2s}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes tw{50%{opacity:.25;transform:scale(.8)}}

/* faixa */
.strip{background:var(--wine);color:#fff;padding:20px 0;overflow:hidden}
.strip__in{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 44px;font:500 .8rem/1 var(--f-sans);letter-spacing:.26em;text-transform:uppercase}
.strip__in span{display:flex;align-items:center;gap:44px}
.strip__in span+span::before{content:"♥";font-size:.7rem;color:var(--blush)}

/* seções */
.sec{padding:clamp(64px,9vw,112px) 0}
.sec__head{text-align:center;max-width:640px;margin:0 auto clamp(36px,5vw,60px)}
.sec__head h2{font-size:clamp(2rem,3.6vw,3rem)}
.sec__head p{color:var(--muted);margin:16px 0 0}
.divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 0;color:var(--wine)}
.divider::before,.divider::after{content:"";width:64px;height:1px;background:var(--wine);opacity:.5}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;margin:0;padding:0}
.card{background:#fff;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 22px 44px -32px rgba(158,24,43,.55);transition:transform .3s,box-shadow .3s}
@media(hover:hover){.card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(158,24,43,.6)}.card:hover img{transform:scale(1.06)}}
.card__img{aspect-ratio:4/5;overflow:hidden;background:var(--quartz)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card__body{padding:24px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:1.4rem}
.card p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.6}
.card a{margin-top:auto;padding-top:10px;font:600 .74rem/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--wine);text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.card a::after{content:"→";transition:transform .2s}
@media(hover:hover){.card a:hover::after{transform:translateX(4px)}}

.aromas{background:var(--oat);position:relative}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;list-style:none;margin:0 auto;padding:0;max-width:880px}
.chips li{padding:13px 24px;border-radius:999px;background:#fff;border:1px solid var(--line);font:500 .92rem/1 var(--f-sans);letter-spacing:.06em;color:var(--wine);transition:transform .2s,background .2s,color .2s}
@media(hover:hover){.chips li:hover{background:var(--wine);color:#fff;transform:translateY(-3px)}}
.aromas__note{text-align:center;margin:30px 0 0;font:italic 500 1.05rem/1.6 var(--f-serif);color:var(--muted)}

.about{position:relative;text-align:center;overflow:hidden;margin-bottom:clamp(24px,4vw,56px)}
.about__img{position:absolute;width:min(26vw,300px);opacity:.95;pointer-events:none}
.about__img img{border-radius:var(--r);box-shadow:0 30px 50px -34px rgba(158,24,43,.6)}
.about__img--l{left:calc(var(--gut) * -.4);top:50%;transform:translateY(-50%) rotate(-4deg)}
.about__img--r{right:calc(var(--gut) * -.4);top:50%;transform:translateY(-50%) rotate(4deg)}
.about__txt{position:relative;z-index:1;max-width:620px;margin:0 auto}
.about__txt blockquote{margin:0;font:italic 500 clamp(1.5rem,2.8vw,2.1rem)/1.45 var(--f-serif);color:var(--wine)}
.about__txt .script{display:block;font-size:2.2rem;margin-top:22px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{background:#fff;border-radius:var(--r);padding:34px 28px;text-align:center;counter-increment:s;box-shadow:0 22px 44px -34px rgba(158,24,43,.5)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:50%;background:var(--quartz);font:700 1.3rem/1 var(--f-serif);color:var(--wine)}
.steps h3{font-size:1.3rem;margin-bottom:8px}
.steps p{margin:0;color:var(--muted);font-size:.98rem}

.cta-band{background:var(--wine);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-band h2{color:#fff;font-size:clamp(2rem,4vw,3.2rem)}
.cta-band p{max-width:52ch;margin:18px auto 34px;color:rgba(255,255,255,.86)}
.cta-band .script{color:var(--blush);font-size:1.9rem;display:block;margin-bottom:6px}
.cta-band .cta{justify-content:center}
.cta-band .btn--ghost{color:#fff;border-color:rgba(255,255,255,.7)}
@media(hover:hover){.cta-band .btn--ghost:hover{background:#fff;color:var(--wine)}}
.contact{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 36px;margin-top:34px;font:500 .84rem/1.4 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.contact [hidden]{display:none}

.foot{padding:44px 0 36px;text-align:center}
.foot img{width:92px;height:92px;border-radius:50%;margin:0 auto 14px;object-fit:cover}
.foot p{margin:4px 0;font-size:.9rem;color:var(--muted)}
.foot .credit{font:500 .74rem/1.5 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.05em;opacity:.8;margin-top:12px}

.fab{position:fixed;right:18px;bottom:18px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);transition:transform .2s}
.fab svg{width:30px;height:30px;fill:currentColor}
@media(hover:hover){.fab:hover{transform:scale(1.08)}}

.rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
.rv.in{opacity:1;transform:none}
:root:not(.js) .rv{opacity:1;transform:none}

@media(max-width:980px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .about__img{display:none}
  .hero__grid{grid-template-columns:1fr}
  .arch{order:-1;width:min(100%,340px)}
  .seal{left:-6%}
}
@media(max-width:820px){
  .burger{display:block}
  .nav{position:fixed;inset:76px 0 auto 0;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gut) 26px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .3s;max-height:calc(100vh - 76px);overflow:auto}
  body.menu .nav{transform:none}
  .nav a:not(.btn){padding:18px 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:18px;justify-content:center}
  .steps{grid-template-columns:1fr}
}
@media(max-width:520px){
  .cards{grid-template-columns:1fr}
  .hero__tags li{gap:14px}
  .btn{width:100%;justify-content:center}
  .strip__in span{gap:0}.strip__in span+span::before{display:none}.strip__in{gap:10px 26px;font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ===== Loja e carrinho ===== */
.top__r{display:flex;align-items:center;gap:10px;order:3}
.nav a[aria-current="page"]:not(.btn){color:var(--wine)}
.nav a[aria-current="page"]:not(.btn)::after{transform:scaleX(1)}
.cartbtn{position:relative;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--wine);background:transparent;color:var(--wine);cursor:pointer;display:grid;place-items:center;transition:transform .2s,background .2s,color .2s}
.cartbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cartbtn b{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--wine);color:#fff;font:600 .7rem/20px var(--f-sans);text-align:center;display:none}
.cartbtn.has b{display:block}
.cartbtn.bump{transform:scale(1.15)}
@media(hover:hover){.cartbtn:hover{background:var(--wine);color:#fff}.cartbtn:hover b{background:#fff;color:var(--wine)}}
.top__in{flex-wrap:nowrap}
.nav{order:2;margin-left:auto}
.h2like{font-size:clamp(2rem,3.6vw,3rem)}
.center{text-align:center;margin-top:36px}
.muted-t{color:var(--muted)}
.btn--sm{min-height:44px;padding:0 22px;font-size:.72rem}
.btn--block{width:100%;justify-content:center}
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 34px}
.filters button{padding:11px 22px;border-radius:999px;border:1.5px solid var(--wine);background:transparent;color:var(--wine);font:600 .74rem/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.filters button.is-on,.filters button:hover{background:var(--wine);color:#fff}
.prods{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;list-style:none;margin:0;padding:0}
.prod{background:#fff;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 22px 44px -32px rgba(158,24,43,.55);transition:transform .3s,box-shadow .3s}
.prod[hidden]{display:none}
@media(hover:hover){.prod:hover{transform:translateY(-6px)}.prod:hover img{transform:scale(1.05)}}
.prod__img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--quartz)}
.prod__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.prod__tag{position:absolute;top:14px;left:14px;background:var(--wine);color:#fff;padding:6px 12px;border-radius:999px;font:600 .68rem/1 var(--f-sans);letter-spacing:.14em;text-transform:uppercase}
.prod.is-off img{filter:grayscale(.5);opacity:.7}
.prod__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.prod__cat{margin:0;font:500 .68rem/1 var(--f-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.prod h3{font-size:1.3rem}
.prod__txt{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
.prod__price{margin:4px 0 0;font:700 1.25rem/1 var(--f-serif);color:var(--wine)}
.prod__aroma{display:flex;flex-direction:column;gap:6px;font:500 .72rem/1 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.prod__aroma select{min-height:44px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);padding:0 12px;font:400 .95rem var(--f-sans);letter-spacing:0;text-transform:none}
.prod__aroma select.need{border-color:var(--wine);box-shadow:0 0 0 3px rgba(158,24,43,.2)}
.prod .btn{margin-top:auto;justify-content:center}
.prod .btn.done{background:#2e8b57;border-color:#2e8b57}
.prod .btn:disabled{opacity:.5;cursor:not-allowed}
body.lock{overflow:hidden}
.drawer{position:fixed;inset:0;z-index:100}
.drawer[hidden]{display:none}
.drawer__bg{position:absolute;inset:0;background:rgba(90,26,39,.45);backdrop-filter:blur(2px)}
.drawer__box{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--bg);display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(0,0,0,.35);animation:slideIn .3s ease}
@keyframes slideIn{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.drawer__head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}
.drawer__head h2{font-size:1.5rem}
.drawer__x{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--wine);background:transparent;color:var(--wine);font-size:1.4rem;cursor:pointer}
.drawer__list{list-style:none;margin:0;padding:8px 24px;overflow:auto;flex:1}
.drawer__empty{padding:32px 24px;color:var(--muted);text-align:center}
.line{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.line__i{display:flex;flex-direction:column;gap:2px}
.line__i strong{font:700 1rem/1.3 var(--f-serif);color:var(--wine)}
.line__i span{font-size:.85rem;color:var(--muted)}
.line__i em{font-style:normal;font-weight:600;font-size:.92rem}
.line__q{display:flex;align-items:center;gap:8px}
.line__q button{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--wine);cursor:pointer;font-size:1.1rem;line-height:1}
.line__q span{min-width:18px;text-align:center;font-weight:600}
.line__x{border:0;background:transparent;color:var(--muted);font-size:1.4rem;cursor:pointer}
.drawer__foot{padding:20px 24px 26px;border-top:1px solid var(--line);background:#fff}
.drawer__total{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 16px;font:500 .8rem/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase}
.drawer__total strong{font:700 1.4rem/1 var(--f-serif);letter-spacing:0;color:var(--wine);text-transform:none}
.drawer__note{margin:12px 0 0;font-size:.85rem;color:var(--wine);text-align:center}
@media(max-width:820px){.top__r{margin-left:auto}.nav{margin-left:0}}
