/* Aprecie Cookies — folha de estilo da loja */
:root{
  --vinho:#5f0818; --vinho-2:#7a1428; --vinho-3:#43050f;
  --leite:#fcf5f2; --rosa:#f4e1dc; --rosa-2:#ead0ca;
  --ganache:#2b1511; --ganache-2:#6b4d47;
  --doce:#e8b878; --doce-2:#f3d3a4;
  --morango:#c3283f; --ok:#2f6b3a;
  --white:#fff;
  --display:'Fraunces',Georgia,serif;
  --body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r-sm:10px; --r-md:18px; --r-lg:28px;
  --wrap:1200px; --gut:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--leite);color:var(--ganache);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
a{color:inherit}
svg{width:20px;height:20px;flex:none}
:focus-visible{outline:2.5px solid var(--doce);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ganache);color:#fff;padding:10px 14px;border-radius:8px}
.skip:focus{left:8px}
[hidden]{display:none!important}
.h2{font:600 clamp(34px,4.4vw,52px)/1.05 var(--display);font-variation-settings:'SOFT' 100,'opsz' 96;letter-spacing:-.02em;color:var(--vinho);margin:0}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;font-weight:650;font-size:15.5px;text-decoration:none;transition:background .2s,transform .15s var(--ease),box-shadow .2s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn--wine{background:var(--vinho);color:var(--leite)}
.btn--wine:hover{background:var(--vinho-2)}
.btn--gold{background:var(--doce);color:var(--vinho-3)}
.btn--gold:hover{background:var(--doce-2)}
.btn--ghost{border:1.5px solid var(--rosa-2);color:var(--vinho);background:transparent}
.btn--ghost:hover{background:var(--rosa)}
.btn--block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn .spin{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:inherit}
.icon-btn:hover{background:rgba(95,8,24,.07)}
.link{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Barra de demonstração */
.demo-bar{background:var(--doce-2);color:var(--vinho-3);font-size:13.5px;text-align:center;padding:9px var(--gut)}

/* Cabeçalho */
.header{position:sticky;top:0;z-index:30;background:rgba(252,245,242,.9);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(95,8,24,.08)}
.header__in{max-width:var(--wrap);margin:0 auto;padding:12px var(--gut);display:flex;align-items:center;gap:28px}
.header__logo img{width:148px;height:auto}
.header__menu{display:none;color:var(--vinho)}
.nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-weight:550;font-size:15px}
.nav a{text-decoration:none;color:var(--ganache)}
.nav a:hover{color:var(--vinho)}
.nav__chat{color:var(--vinho);font-weight:650}
.nav__track{font-weight:550;color:var(--ganache)}
.nav__track:hover{color:var(--vinho)}
.orderbar{background:var(--doce-2);color:var(--vinho-3);font-size:14.5px}
.orderbar__in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
.orderbar .link{font-weight:700;color:var(--vinho)}
.done__codebox{display:grid;gap:4px;justify-items:center;margin:4px auto 14px;padding:14px 16px;border:1.5px dashed var(--rosa-2);border-radius:var(--r-md);background:#fff;max-width:320px}
.done__codebox b{font:700 28px/1.1 var(--body);letter-spacing:.12em;color:var(--vinho);user-select:all}
.done__codebox small{color:var(--ganache-2);font-size:12.5px;line-height:1.4}
.timeline{list-style:none;margin:22px 0 4px;padding:0;text-align:left;display:grid;gap:0}
.timeline li{display:grid;grid-template-columns:28px 1fr;gap:12px;position:relative;padding-bottom:18px;color:var(--ganache-2)}
.timeline li:last-child{padding-bottom:0}
.timeline li:not(:last-child)::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--rosa-2)}
.timeline li.is-done:not(:last-child)::before{background:var(--ok)}
.timeline__dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--rosa-2);background:#fff;display:grid;place-items:center}
.timeline__dot svg{width:16px;height:16px}
.timeline li.is-done .timeline__dot{background:var(--ok);border-color:var(--ok);color:#fff}
.timeline li.is-current .timeline__dot{border-color:var(--doce);box-shadow:0 0 0 4px rgba(232,184,120,.3);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(232,184,120,.12)}}
.timeline b{display:block;color:var(--ganache);font-weight:650;font-size:15px;line-height:1.3;padding-top:3px}
.timeline li:not(.is-done):not(.is-current) b{color:var(--ganache-2);font-weight:500}
.timeline small{font-size:13px}
.lastorder{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:var(--r-md);background:#fff;border:1.5px solid var(--rosa-2);margin-bottom:22px}
.lastorder small{display:block;color:var(--ganache-2);font-size:12.5px}
.lastorder b{font-size:19px;letter-spacing:.08em;color:var(--vinho)}
.lastorder .btn{min-height:42px;font-size:14px}
.bag-btn{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 8px 0 18px;border-radius:999px;background:var(--vinho);color:var(--leite);font-weight:650}
.bag-btn:hover{background:var(--vinho-2)}
.bag-btn__count{min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:var(--leite);color:var(--vinho);display:grid;place-items:center;font-size:14px;font-variant-numeric:tabular-nums}
.bag-btn.bump{animation:bump .45s var(--ease)}
@keyframes bump{40%{transform:scale(1.08)}}

/* HERO */
.hero{background:var(--vinho);color:var(--leite);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:rgba(232,184,120,.25)}
.hero__in{max-width:var(--wrap);margin:0 auto;padding:clamp(40px,6vw,80px) var(--gut) 36px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"copy stage" "picker picker";gap:28px 48px;align-items:center}
.hero__copy{grid-area:copy}
.hero__kicker{margin:0 0 18px;color:var(--doce);font-weight:550;font-size:15px}
.hero__name{font:700 clamp(54px,8.4vw,118px)/.92 var(--display);font-variation-settings:'SOFT' 100,'opsz' 144;letter-spacing:-.035em;margin:0;text-wrap:balance}
.hero__tagline{font:italic 400 clamp(20px,2.2vw,26px)/1.3 var(--display);font-variation-settings:'SOFT' 100;color:var(--doce-2);margin:18px 0 12px}
.hero__desc{max-width:46ch;color:rgba(252,245,242,.78);margin:0 0 30px}
.hero__buy{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.hero__price{font:600 30px/1 var(--display);font-variant-numeric:lining-nums tabular-nums;margin-right:6px}
.hero__stage{grid-area:stage;display:grid;place-items:center}
.hero__picker{grid-area:picker;display:flex;gap:14px;justify-content:flex-start;overflow-x:auto;padding:10px 4px 6px;scrollbar-width:none}
.hero__picker::-webkit-scrollbar{display:none}
.pick{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;width:84px;color:rgba(252,245,242,.7);font-size:12.5px;line-height:1.2;text-align:center}
.pick img{width:62px;height:62px;border-radius:12px;object-fit:cover;outline:2px solid transparent;outline-offset:3px;transition:outline-color .2s,transform .2s var(--ease)}
.pick:hover img{transform:translateY(-2px)}
.pick[aria-checked="true"]{color:var(--leite)}
.pick[aria-checked="true"] img{outline-color:var(--doce)}

/* Moldura quadrada da vitrine */
.photo-frame{position:relative;width:min(100%,520px);aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;background:var(--vinho-3);box-shadow:0 30px 60px rgba(30,4,10,.35)}
.photo-frame img{width:100%;height:100%;object-fit:cover}
.photo-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.swap-out img{animation:swapOut .2s var(--ease) forwards}
.swap-in img{animation:swapIn .55s var(--ease)}
@keyframes swapOut{to{opacity:0;transform:scale(.98)}}
@keyframes swapIn{from{opacity:0;transform:scale(1.04)}}
.fade-text{animation:fadeText .4s var(--ease)}
@keyframes fadeText{from{opacity:0;transform:translateY(6px)}}

/* Cardápio */
.menu{padding:clamp(64px,9vw,112px) 0}
.menu__head{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:10px 40px;margin-bottom:36px}
.menu__lead{margin:0;color:var(--ganache-2);max-width:46ch}
.filters{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.filter{height:40px;padding:0 18px;border-radius:999px;border:1.5px solid var(--rosa-2);font-weight:600;font-size:14.5px;color:var(--vinho)}
.filter:hover{background:var(--rosa)}
.filter.is-on{background:var(--vinho);border-color:var(--vinho);color:var(--leite)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}
.card{display:flex;flex-direction:column}
.card__photo{position:relative;aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;background:var(--rosa);display:block;width:100%}
.card__photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card__photo:hover img{transform:scale(1.04)}
.card__soldout{position:absolute;left:12px;top:12px;background:var(--leite);color:var(--vinho);font-size:12.5px;font-weight:650;padding:5px 10px;border-radius:999px}
.card__body{padding:16px 2px 0;display:flex;flex-direction:column;flex:1}
.card__name{font:600 23px/1.15 var(--display);font-variation-settings:'SOFT' 100,'opsz' 48;color:var(--vinho);margin:0 0 6px;letter-spacing:-.01em}
.card__name button{text-align:left}
.card__name button:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.card__tag{font:italic 400 15.5px/1.4 var(--display);color:var(--ganache-2);margin:0 0 16px;flex:1}
.card__row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px}
.card__price{font:600 20px/1 var(--display);font-variant-numeric:lining-nums tabular-nums}
.add{height:44px;padding:0 18px;border-radius:999px;background:var(--vinho);color:var(--leite);font-weight:650;font-size:14.5px;display:inline-flex;align-items:center;gap:6px}
.add:hover{background:var(--vinho-2)}
.add svg{width:18px;height:18px}

/* Stepper */
.stepper{display:inline-flex;align-items:center;height:44px;border-radius:999px;border:1.5px solid var(--rosa-2);color:var(--vinho)}
.stepper button{width:40px;height:100%;display:grid;place-items:center;border-radius:999px;color:inherit}
.stepper button:hover{background:rgba(95,8,24,.06)}
.stepper svg{width:16px;height:16px}
.stepper output{min-width:24px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.stepper--light{border-color:rgba(252,245,242,.35);color:var(--leite);height:50px}
.stepper--light button:hover{background:rgba(255,255,255,.1)}
.stepper--solid{background:var(--vinho);border-color:var(--vinho);color:var(--leite)}
.stepper--solid button:hover{background:rgba(255,255,255,.12)}

/* Como pedir */
.how{background:var(--rosa);padding:clamp(64px,8vw,100px) 0}
.steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;counter-reset:s}
.steps li{border-top:2px solid var(--vinho);padding-top:22px}
.steps__n{font:600 46px/1 var(--display);font-variation-settings:'SOFT' 100;color:var(--vinho)}
.steps h3{font:600 23px/1.2 var(--display);margin:14px 0 8px;color:var(--ganache)}
.steps p{margin:0;color:var(--ganache-2);max-width:34ch}

/* Marca (vídeo) */
.brand{padding:clamp(64px,9vw,112px) 0 0}
.brand__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(32px,6vw,96px);align-items:center;justify-content:center;max-width:1000px}
.brand__title{font:600 clamp(36px,4.6vw,58px)/1.04 var(--display);font-variation-settings:'SOFT' 100,'opsz' 120;letter-spacing:-.025em;color:var(--vinho);margin:0 0 22px;text-wrap:balance}
.brand__copy p{color:var(--ganache-2);max-width:42ch;margin:0 0 14px;font-size:17px}
.brand__copy .btn{margin-top:14px}
.brand__film{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:#e4d0cc;aspect-ratio:9/16;box-shadow:0 30px 60px rgba(95,8,24,.16);max-width:100%}
.brand__film video{display:block;width:100%;height:100%;object-fit:cover}
.brand__replay{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);height:40px;padding:0 18px;border-radius:999px;background:rgba(252,245,242,.92);color:var(--vinho);font-weight:650;font-size:14px;box-shadow:0 6px 18px rgba(43,21,17,.15)}
.brand__replay:hover{background:var(--leite)}

/* Entrega + FAQ */
.info{padding:clamp(64px,9vw,112px) 0}
.info__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.info__card{background:var(--white);border-radius:var(--r-lg);padding:clamp(26px,3.5vw,44px);border:1px solid rgba(95,8,24,.07)}
.facts{margin:26px 0 30px;display:grid;gap:18px}
.facts div{display:grid;gap:2px}
.facts dt{font-weight:650;color:var(--vinho)}
.facts dd{margin:0;color:var(--ganache-2)}
.info__ctas{display:flex;gap:10px;flex-wrap:wrap}
.info__ctas svg{width:19px;height:19px}
.faq .h2{margin-bottom:18px}
.qa{border-bottom:1px solid var(--rosa-2)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:600 19px/1.35 var(--display);font-variation-settings:'SOFT' 100;color:var(--ganache)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";width:12px;height:12px;flex:none;border-right:2px solid var(--vinho);border-bottom:2px solid var(--vinho);transform:rotate(45deg) translateY(-4px);transition:transform .25s var(--ease)}
.qa[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.qa p{margin:-4px 0 22px;color:var(--ganache-2);max-width:62ch}

/* Rodapé */
.footer{background:var(--vinho-3);color:rgba(252,245,242,.8);padding:64px 0 56px;font-size:15px}
.footer__in{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.footer__logo{width:170px;height:auto}
.footer__slogan{font:italic 400 19px/1.4 var(--display);color:var(--doce-2);margin:14px 0 0}
.footer h3{font:600 15px/1 var(--body);color:var(--leite);margin:6px 0 16px}
.footer__col p{margin:0 0 8px}
.footer a{text-decoration:none}.footer a:hover,.footer .link:hover{color:var(--leite)}
.footer .link{text-decoration:none}
.footer__legal{margin-top:48px;font-size:13px;color:rgba(252,245,242,.55)}
.footer__legal::before{content:"";display:block;border-top:1px solid rgba(252,245,242,.12);margin-bottom:22px}

/* Barra móvel */
.mbar{display:none}

/* Chat FAB */
.chat-fab{position:fixed;right:24px;bottom:24px;z-index:25;display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 22px 0 18px;border-radius:999px;background:var(--ganache);color:var(--leite);font-weight:650;box-shadow:0 14px 34px rgba(43,21,17,.28);transition:transform .2s var(--ease)}
.chat-fab:hover{transform:translateY(-2px)}
.chat-fab__dot{position:absolute;top:8px;left:30px;width:11px;height:11px;border-radius:50%;background:var(--doce);box-shadow:0 0 0 2px var(--ganache)}

/* Scrim + drawer */
.scrim{position:fixed;inset:0;background:rgba(43,21,17,.45);z-index:40;animation:fadeIn .25s}
@keyframes fadeIn{from{opacity:0}}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--leite);z-index:41;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(43,21,17,.2);animation:slideIn .35s var(--ease)}
@keyframes slideIn{from{transform:translateX(100%)}}
.drawer__head{display:flex;align-items:center;gap:6px;padding:14px 14px 6px 22px}
.drawer__head h2{font:600 26px/1.2 var(--display);font-variation-settings:'SOFT' 100;color:var(--vinho);margin:0;flex:1}
#drawerBack:not([hidden])+h2{margin-left:-4px}
.drawer__head .icon-btn{color:var(--vinho)}
.progress{list-style:none;display:flex;gap:6px;margin:6px 22px 4px;padding:0;font-size:12.5px;color:var(--ganache-2)}
.progress li{flex:1;padding-top:8px;border-top:3px solid var(--rosa-2)}
.progress li.is-on{border-color:var(--vinho);color:var(--vinho);font-weight:650}
.drawer__body{flex:1;overflow-y:auto;padding:12px 22px 24px;overscroll-behavior:contain}
.drawer__foot{padding:16px 22px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--rosa-2);background:var(--leite)}
.drawer__foot:empty{display:none}
.line{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rosa-2)}
.line img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.line__name{font:600 17px/1.25 var(--display);color:var(--ganache);margin:0 0 3px}
.line__price{font-size:14px;color:var(--ganache-2)}
.line .stepper{height:38px}
.line .stepper button{width:34px}
.sum{display:grid;gap:8px;margin:18px 0 0;font-size:15px}
.sum div{display:flex;justify-content:space-between;gap:10px}
.sum dt{color:var(--ganache-2)}.sum dd{margin:0;font-variant-numeric:tabular-nums}
.sum .total{font:600 21px/1.2 var(--display);color:var(--ganache);padding-top:10px;border-top:1px solid var(--rosa-2);margin-top:4px}
.sum .total dt{color:inherit}
.notice{background:var(--rosa);border-radius:var(--r-sm);padding:12px 14px;font-size:14px;color:var(--vinho-3);margin:16px 0 0}
.notice--warn{background:#fdf0dc}
.empty{text-align:center;padding:48px 10px}
.empty p{color:var(--ganache-2);margin:10px auto 24px;max-width:28ch}
.empty .photo-frame{width:150px;margin:0 auto;border-radius:var(--r-md);box-shadow:none}
.empty h3{font:600 24px/1.2 var(--display);color:var(--vinho);margin:22px 0 0}

/* Formulários */
.form{display:grid;gap:14px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0}
.seg span{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:var(--r-sm);border:1.5px solid var(--rosa-2);background:var(--white);cursor:pointer;font-weight:650}
.seg small{font-weight:400;color:var(--ganache-2);font-size:13px}
.seg input:disabled+span{opacity:.5;cursor:not-allowed}
.seg input:checked+span{border-color:var(--vinho);box-shadow:inset 0 0 0 1px var(--vinho)}
.seg input:focus-visible+span{outline:2.5px solid var(--doce);outline-offset:2px}
.field{display:grid;gap:6px}
.field>span{font-size:14px;font-weight:600}
.field input,.field select,.field textarea{width:100%;height:48px;padding:0 14px;border-radius:var(--r-sm);border:1.5px solid var(--rosa-2);background:var(--white);font-size:16px}
.field textarea{height:auto;min-height:76px;padding:12px 14px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--vinho)}
.field input[aria-invalid="true"]{border-color:var(--morango)}
.field .err{color:var(--morango);font-size:13px}
.hint{color:var(--ganache-2);font-size:13.5px}
.field .hint{color:var(--ganache-2);font-size:13px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row3{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}
.fieldset-title{font:600 18px/1.2 var(--display);margin:12px 0 0;color:var(--vinho)}

/* Pagamento */
.pay{display:grid;gap:10px}
.pay label{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:16px;border-radius:var(--r-md);border:1.5px solid var(--rosa-2);background:var(--white);cursor:pointer}
.pay input{margin:3px 0 0;accent-color:var(--vinho);width:18px;height:18px}
.pay b{display:block;font-weight:650}
.pay small{color:var(--ganache-2);font-size:13.5px}
.pay label:has(input:checked){border-color:var(--vinho);box-shadow:inset 0 0 0 1px var(--vinho)}

/* Confirmação */
.done{text-align:center}
.done__check{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;margin:8px auto 14px}
.done__check--wait{background:var(--doce);color:var(--vinho-3)}
.foot-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 12px;font-size:14px;color:var(--ganache-2)}
.foot-total b{font:600 21px/1 var(--display);color:var(--ganache);font-variant-numeric:tabular-nums}
.done__check svg{width:32px;height:32px}
.done h3{font:600 26px/1.2 var(--display);color:var(--vinho);margin:0 0 6px}
.done__code{font:600 15px/1 var(--body);letter-spacing:.06em;background:var(--rosa);color:var(--vinho);display:inline-block;padding:8px 12px;border-radius:8px;margin:6px 0 14px}
.qr{width:220px;margin:16px auto 10px;padding:10px;background:#fff;border-radius:var(--r-md);border:1px solid var(--rosa-2)}
.qr svg{width:100%;height:auto}
.copybox{display:flex;gap:8px;margin:12px 0}
.copybox input{flex:1;min-width:0;height:46px;border-radius:var(--r-sm);border:1.5px solid var(--rosa-2);padding:0 12px;font-size:13px;background:#fff;color:var(--ganache-2)}
.status{display:inline-flex;align-items:center;gap:8px;font-weight:650;font-size:14px;padding:7px 12px;border-radius:999px;background:#fdf0dc;color:#7a4a0c}
.status--ok{background:#e3f1e5;color:var(--ok)}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.done .muted{color:var(--ganache-2);font-size:14px;margin:8px 0}
.stack{display:grid;gap:10px;margin-top:18px}

/* Detalhe do produto */
.pdialog{border:0;padding:0;border-radius:var(--r-lg);width:min(920px,calc(100% - 32px));max-height:calc(100% - 32px);background:var(--leite);color:var(--ganache);overflow:auto}
.pdialog::backdrop{background:rgba(43,21,17,.55)}
.pdialog[open]{animation:pop .3s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}}
.pd{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.pd__img{background:var(--rosa)}
.pd__img img{width:100%;height:100%;object-fit:cover;min-height:100%}
.pd__body{padding:34px 32px 30px;display:flex;flex-direction:column}
.pd__body h2{font:700 40px/1 var(--display);font-variation-settings:'SOFT' 100,'opsz' 96;color:var(--vinho);margin:0 0 10px;letter-spacing:-.02em}
.pd__head{font:italic 400 19px/1.35 var(--display);color:var(--ganache-2);margin:0 0 16px}
.pd__desc{margin:0 0 14px}
.pd__sig{font-weight:650;color:var(--vinho);margin:0 0 22px}
.pd__allerg{font-size:13px;color:var(--ganache-2);margin:0 0 22px}
.pd__buy{margin-top:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pd__close{position:absolute;top:12px;right:12px;background:rgba(252,245,242,.92);color:var(--vinho)}

/* Chat */
.chat{position:fixed;right:24px;bottom:24px;z-index:35;width:min(380px,calc(100% - 24px));height:min(560px,calc(100dvh - 120px));background:var(--leite);border-radius:22px;box-shadow:0 24px 70px rgba(43,21,17,.3);display:flex;flex-direction:column;overflow:hidden;animation:pop .3s var(--ease)}
.chat__head{display:flex;align-items:center;gap:12px;padding:14px 10px 14px 16px;background:var(--vinho);color:var(--leite)}
.chat__head h2{font:600 18px/1.2 var(--display);margin:0}
.chat__head p{margin:0;font-size:12.5px;color:rgba(252,245,242,.75)}
.chat__head>div{flex:1}
.chat__head .icon-btn:hover{background:rgba(255,255,255,.12)}
.chat__avatar{width:38px;height:38px;border-radius:50%;background:var(--leite);color:var(--vinho);display:grid;place-items:center;font:700 20px/1 var(--display)}
.chat__body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--leite)}
.msg{max-width:82%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.msg time{display:block;font-size:11px;opacity:.6;margin-top:3px}
.msg--them{background:var(--white);border:1px solid var(--rosa-2);align-self:flex-start;border-bottom-left-radius:5px}
.msg--me{background:var(--vinho);color:var(--leite);align-self:flex-end;border-bottom-right-radius:5px}
.chat__intro{font-size:14.5px;color:var(--ganache-2)}
.chat__intro h3{font:600 20px/1.25 var(--display);color:var(--ganache);margin:4px 0 6px}
.chat__quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.chat__quick button{border:1.5px solid var(--rosa-2);border-radius:999px;padding:7px 12px;font-size:13.5px;color:var(--vinho);background:#fff}
.chat__quick button:hover{background:var(--rosa)}
.chat__form{border-top:1px solid var(--rosa-2);padding:10px;display:grid;gap:8px;background:#fff}
.chat__form input,.chat__form textarea{width:100%;border:1.5px solid var(--rosa-2);border-radius:12px;padding:10px 12px;font-size:15px;background:var(--leite)}
.chat__form textarea{resize:none;height:46px;max-height:120px}
.chat__form input:focus,.chat__form textarea:focus{outline:none;border-color:var(--vinho)}
.chat__send{display:flex;gap:8px;align-items:flex-end}
.chat__send button{width:46px;height:46px;border-radius:50%;background:var(--vinho);color:var(--leite);display:grid;place-items:center;flex:none}
.chat__wa{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--ganache-2);text-decoration:none;padding:2px}
.chat__wa svg{width:16px;height:16px;color:#1f8f4e}
.chat__wa:hover{color:var(--ganache)}

/* Toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:60;background:var(--ganache);color:var(--leite);padding:12px 18px;border-radius:999px;font-weight:600;font-size:14.5px;transition:transform .3s var(--ease),opacity .3s;display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);white-space:nowrap}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast svg{color:var(--doce)}
.noscript{position:fixed;inset:auto 0 0;background:var(--morango);color:#fff;text-align:center;padding:12px;margin:0}

/* Responsivo */
@media (max-width:1080px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nav{gap:18px}
}
@media (max-width:900px){
  .header__menu{display:grid}
  .header__in{gap:8px}
  .header__logo{margin-right:auto}
  .header__logo img{width:128px}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--leite);border-bottom:1px solid var(--rosa-2);padding:6px var(--gut) 16px;display:none;box-shadow:0 20px 40px rgba(43,21,17,.08)}
  .nav.open{display:flex}
  .nav a,.nav__chat,.nav__track{padding:14px 0;border-bottom:1px solid var(--rosa);font-size:17px;text-align:left}
  .hero__in{grid-template-columns:1fr;grid-template-areas:"stage" "picker" "copy";gap:18px;padding-top:28px}
  .photo-frame{width:min(72vw,400px)}
  .hero__name{min-height:0}
  .hero__desc{min-height:0}
  .hero__picker{margin:0 calc(var(--gut) * -1);padding-left:var(--gut);padding-right:var(--gut)}
  .info__grid{grid-template-columns:1fr;gap:48px}
  .brand__grid{grid-template-columns:1fr;justify-items:center;text-align:center}
  .brand__copy p{margin-left:auto;margin-right:auto}
  .brand__film{width:min(100%,360px)}
  .pd{grid-template-columns:minmax(0,1fr)}
  .pd__img img{aspect-ratio:6/5;height:auto}
  .footer__in{grid-template-columns:1fr 1fr}
  .footer__in>div:first-child{grid-column:1/-1}
}
@media (max-width:720px){
  body{font-size:15.5px}
  .bag-btn{display:none}
  .chat-fab{display:none}
  .mbar{display:grid;grid-template-columns:auto 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:28;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(252,245,242,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--rosa-2)}
  .mbar__chat{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 18px;border-radius:999px;border:1.5px solid var(--rosa-2);font-weight:650;color:var(--vinho)}
  .mbar__bag{display:flex;align-items:center;justify-content:space-between;gap:10px;height:52px;padding:0 20px;border-radius:999px;background:var(--vinho);color:var(--leite);font-weight:600}
  .mbar__bag span{display:inline-flex;align-items:center;gap:8px}
  .mbar__bag strong{font-variant-numeric:tabular-nums}
  .menu__head{grid-template-columns:1fr}
  .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:14px calc(var(--gut) * -1) 0;padding:0 var(--gut)}
  .filter{flex:none}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .card__name{font-size:19px}
  .card__tag{font-size:14px;margin-bottom:12px}
  .card__row{flex-direction:column;align-items:stretch;gap:10px}
  .card__price{font-size:18px}
  .add,.card .stepper{width:100%;justify-content:center}
  .card .stepper{justify-content:space-between}
  .steps{grid-template-columns:1fr;gap:26px}
  .hero__buy .btn{flex:1}
  .chat{right:0;bottom:0;width:100%;height:100dvh;border-radius:0}
  .toast{bottom:92px}
  .footer{padding-bottom:110px}
  .row2{grid-template-columns:1fr}
}
@media (max-width:380px){
  .grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (min-width:901px) and (max-width:1120px){
  .nav a[href="#como-funciona"],.nav a[href="#duvidas"]{display:none}
}

/* Loja configurável: aviso, status, promoções, estoque, galeria */
.ann-bar{background:var(--vinho-3);color:var(--doce-2);text-align:center;font-weight:600;font-size:14px;padding:9px var(--gut)}
.shop-status{display:inline-flex;align-items:center;gap:7px;margin-left:10px;padding:4px 11px;border-radius:999px;font-size:13px;font-weight:650;background:rgba(252,245,242,.12);color:var(--leite);vertical-align:1px}
.shop-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#7bd389}
.shop-status.is-closed::before{background:#e7a2a2}
.price--promo s,.hero__price s,.line__price s{opacity:.55;font-weight:400;font-size:.78em;margin-right:4px}
.price--promo{color:var(--morango)}
.hero__price s{color:var(--doce-2);opacity:.75}
.hero__promo,.pd__promo{display:inline-block;background:var(--doce);color:var(--vinho-3);font-weight:700;font-size:12.5px;padding:5px 10px;border-radius:999px}
.card__badge{position:absolute;left:12px;top:12px;background:var(--doce);color:var(--vinho-3);font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card__low{display:block;font:600 12.5px/1.4 var(--body);color:var(--morango);margin-top:4px;font-style:normal}
.pd__img{position:relative;min-width:0;overflow:hidden}
.gal{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;height:100%;aspect-ratio:6/5}
.gal::-webkit-scrollbar{display:none}
.gal img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.gal__dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}
.gal__dots button{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.gal__dots button.on{background:#fff;width:20px;border-radius:999px}
.gal__nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(252,245,242,.9);color:var(--vinho);font-size:24px;line-height:1;display:grid;place-items:center}
.gal__prev{left:10px}.gal__next{right:10px}
@media (hover:none){.gal__nav{display:none}}
/* versão de teste */
.demo-bar--test{background:repeating-linear-gradient(135deg,#ffe08a 0 14px,#ffd25e 14px 28px);color:#3b2400;font-weight:600}
.test-pay{display:grid;gap:8px;justify-items:center;text-align:center;margin:18px 0 4px;padding:16px;border:2px dashed #d9a400;border-radius:16px;background:#fff8df;color:#3b2400}
.test-pay b{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.test-pay span{font-size:14px;line-height:1.45}
.footer__contact{display:inline-flex;align-items:center;gap:8px}
.footer__contact svg{width:18px;height:18px;flex:none}

/* ===== Destaques (topo): faixa de propagandas ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.promo-hero{background:var(--vinho);color:var(--leite);padding:14px 0 28px}
.ph__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;color:var(--doce);font-size:14.5px;font-weight:550}
.ph__bar .shop-status{margin:0}
.ph{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--vinho-3);box-shadow:0 24px 50px rgba(30,4,10,.3);isolation:isolate}
.ph__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.ph__track::-webkit-scrollbar{display:none}
.ph__slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);height:clamp(300px,31vw,380px);position:relative}
.ph__copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:clamp(28px,4vw,56px) clamp(28px,4vw,56px) 52px}
.ph__kicker{margin:0;color:var(--doce);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.is-promo .ph__kicker{background:var(--doce);color:var(--vinho-3);padding:5px 11px;border-radius:999px;letter-spacing:.08em}
.ph__title{margin:0;font:700 clamp(30px,3.9vw,52px)/1.02 var(--display);font-variation-settings:'SOFT' 100,'opsz' 144;letter-spacing:-.025em;text-wrap:balance;max-width:16ch}
.ph__text{margin:0;color:rgba(252,245,242,.8);max-width:44ch;font-size:16px;line-height:1.5}
.ph__cta{margin-top:6px}
.ph__img{position:relative;overflow:hidden}
.ph__img img{width:100%;height:100%;object-fit:cover;display:block}
.ph__img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--vinho-3) 0%,rgba(67,5,15,0) 38%);pointer-events:none}
.ph__arrow{position:absolute;top:50%;z-index:2;width:44px;height:44px;margin-top:-22px;border-radius:50%;display:grid;place-items:center;background:rgba(252,245,242,.92);color:var(--vinho);box-shadow:0 6px 16px rgba(0,0,0,.2);transition:transform .2s var(--ease)}
.ph__arrow:hover{transform:scale(1.06)}
.ph__arrow svg{width:20px;height:20px}
.ph__arrow--prev{left:14px}
.ph__arrow--next{right:14px}
.ph__arrow--next svg{transform:rotate(180deg)}
.ph:not(:hover) .ph__arrow{opacity:0}
.ph__arrow:focus-visible{opacity:1!important}
.ph__dots{position:absolute;z-index:2;left:clamp(28px,4vw,56px);bottom:20px;display:flex;gap:8px}
.ph__dots button{width:8px;height:8px;border-radius:999px;background:rgba(252,245,242,.4);transition:width .25s var(--ease),background .25s}
.ph__dots button[aria-current="true"]{width:26px;background:var(--doce)}
@media (hover:none){.ph__arrow{display:none}}
@media (max-width:720px){
  .promo-hero{padding:10px 0 20px}
  .ph__bar{font-size:13px;margin-bottom:10px}
  .ph{border-radius:var(--r-md)}
  .ph__slide{grid-template-columns:1fr;height:clamp(300px,82vw,360px)}
  .ph__img{position:absolute;inset:0}
  .ph__img::before{background:linear-gradient(0deg,var(--vinho-3) 28%,rgba(67,5,15,.75) 55%,rgba(67,5,15,0) 85%)}
  .ph__copy{justify-content:flex-end;padding:20px 20px 40px;gap:8px}
  .ph__title{font-size:clamp(26px,7.4vw,32px)}
  .ph__text{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ph__cta{margin-top:4px;min-height:44px}
  .ph__dots{left:20px;bottom:16px}
}
.ph__img{z-index:0}
.ph__dots{left:auto;right:24px;bottom:18px}
.ph{box-shadow:0 18px 40px rgba(30,4,10,.22)}
@media (max-width:720px){
  .ph__slide{grid-template-rows:1fr}
  .ph__copy{min-height:100%;box-sizing:border-box}
  .ph__dots{right:auto;left:50%;transform:translateX(-50%);bottom:14px}
  .ph__copy{padding-bottom:42px}
  .ph__bar > span:first-child{display:none}
  .ph__bar{justify-content:flex-start}
}
@media (max-width:720px){
  .ph__img::before{background:linear-gradient(0deg,var(--vinho-3) 38%,rgba(67,5,15,.82) 62%,rgba(67,5,15,.15) 100%)}
  .ph__kicker,.ph__title{text-shadow:0 1px 12px rgba(30,4,10,.45)}
}

/* Fora do horário + agendamento (etapa de pagamento) */
.when-card{display:flex;gap:14px;align-items:flex-start;background:#fff6e6;border:1.5px solid #f0cf8f;color:#4a2a05;border-radius:var(--r-md);padding:16px 18px;margin:0 0 22px}
.when-card b{font-size:16px;color:#3b2400}
.when-card p{margin:4px 0 0;font-size:14.5px;line-height:1.5}
.when-card p b{font-size:inherit}
.when-card__icon{flex:none;width:38px;height:38px;border-radius:50%;background:#f7dfae;display:grid;place-items:center;color:#7a4a00}
.when-card__icon svg{width:22px;height:22px}
.slot-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 4px}
.slot-pick select{width:100%}
.pay.when{margin-bottom:22px}
.slot-pick:not([hidden]) + *{margin-top:0}
.when-line{display:inline-flex;align-items:center;gap:8px;margin:10px auto 0;padding:8px 14px;border-radius:999px;background:#fff6e6;color:#4a2a05;font-weight:600;font-size:14.5px}
.when-line svg{width:18px;height:18px}
.slot-pick{margin:-8px 0 24px}

/* Aviso flutuante: pronto para retirada / saiu para entrega */
.ready{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(43,21,17,0);transition:background .25s}
.ready.is-in{background:rgba(43,21,17,.45)}
.ready__card{position:relative;width:min(100%,400px);background:var(--leite);border-radius:var(--r-lg);padding:34px 26px 24px;text-align:center;box-shadow:0 30px 70px rgba(30,4,10,.35);transform:translateY(24px) scale(.96);opacity:0;transition:transform .35s var(--ease),opacity .25s}
.ready.is-in .ready__card{transform:none;opacity:1}
.ready.is-out{background:rgba(43,21,17,0)}
.ready.is-out .ready__card{transform:translateY(16px);opacity:0}
.ready__icon{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--vinho);color:var(--doce);box-shadow:0 0 0 8px rgba(95,8,24,.08);animation:readyPop .6s var(--ease) .15s both}
.ready__icon svg{width:38px;height:38px}
@keyframes readyPop{0%{transform:scale(.6)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
.ready__code{margin:0;color:var(--ganache-2);font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.ready h2{margin:6px 0 10px;font:700 clamp(24px,6vw,30px)/1.1 var(--display);color:var(--vinho);text-wrap:balance}
.ready p#readyText{margin:0 0 20px;color:var(--ganache);font-size:15.5px;line-height:1.5}
.ready__act{display:grid;gap:10px}
.ready__act .btn{width:100%}
.ready__x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ganache-2)}
.ready__x:hover{background:var(--rosa)}
.ready__x svg{width:18px;height:18px}
@media (prefers-reduced-motion:reduce){.ready__card,.ready__icon{transition:none;animation:none}}
.ready__place{margin:2px 0 10px;padding:12px 14px;border-radius:var(--r-md);background:var(--white);border:1.5px solid var(--rosa-2)}
.ready__place small{display:block;color:var(--ganache-2);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ready__place b{display:block;margin-top:2px;color:var(--vinho);font-size:16.5px;line-height:1.35}
.done__place{margin:14px 0 4px;text-align:left}
.done__place a{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:650;color:var(--vinho);font-size:14.5px}
.done__place a svg{width:18px;height:18px}
.ready__act .btn svg{width:18px;height:18px}
.ready__place span{display:block;margin-top:6px;padding-top:6px;border-top:1px dashed var(--rosa-2);color:var(--ganache);font-size:14.5px;line-height:1.45}
.req{color:var(--morango);font-weight:700}
.req-hint{margin:-4px 0 0;font-size:13px}
/* fidelidade na tela do pedido */
.loy{display:flex;gap:12px;align-items:center;text-align:left;margin:14px 0 4px;padding:12px 14px;border-radius:var(--r-md);background:var(--white);border:1.5px solid var(--rosa-2)}
.loy > div{flex:1;display:grid;gap:2px}
.loy b{color:var(--vinho);font-size:15px}
.loy small{color:var(--ganache-2);font-size:13.5px}
.loy__ico{font-size:26px;line-height:1}
.loy__bar{display:block;height:6px;margin-top:6px;border-radius:999px;background:#f3eae8;overflow:hidden}
.loy__bar i{display:block;height:100%;background:#a3263c;border-radius:999px}
.loy--gift{background:#fff6e6;border-color:#f0cf8f}
.loy--gift b{color:#6a4100}
