/* Jaque Flores — loja online
   Identidade: vinho e bordô, rosa queimado, creme quente, toque dourado só em detalhes. */
:root{
  --creme:#fbf6f1; --papel:#ffffff; --rosa-suave:#f6e7e8; --rosa:#c27a86; --rosa-escuro:#a65a68;
  --vinho:#6b1530; --bordo:#4a0d20; --escuro:#24060f; --escuro2:#3d0a19; --escuro3:#1b050c; --ouro:#b08a4f; --tinta:#2a1418; --muted:#7b6568; --linha:#eddcd9;
  --ok:#1f7a45; --okbg:#e8f4ec; --warn:#94590a; --warnbg:#fbf0dc; --err:#a8261d; --errbg:#fbe9e7;
  --sombra:0 18px 40px -24px rgba(74,13,32,.35);
  --f-display:"Cormorant Garamond","Cormorant",Georgia,serif;
  --f-body:"Figtree",-apple-system,"Segoe UI",Roboto,sans-serif;
  --raio:16px; --hh:64px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--creme);color:var(--tinta);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--vinho);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.05;margin:0;letter-spacing:-.005em;text-wrap:balance;color:var(--bordo)}
p{margin:0}
.over{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rosa-escuro);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:0;cursor:pointer;font-weight:600;font-size:.95rem;padding:.9rem 1.4rem;border-radius:999px;text-decoration:none;transition:background .2s,color .2s,transform .15s,box-shadow .2s;min-height:48px;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn svg{width:18px;height:18px;flex:none}
.btn-vinho{background:var(--vinho);color:#fff}
.btn-vinho:hover{background:var(--bordo);box-shadow:var(--sombra)}
.btn-linha{background:transparent;border:1.5px solid var(--vinho);color:var(--vinho)}
.btn-linha:hover{background:var(--vinho);color:#fff}
.btn-claro{background:var(--papel);color:var(--vinho);border:1.5px solid var(--linha)}
.btn-claro:hover{border-color:var(--vinho)}
.btn-wa{background:#1d9e51;color:#fff}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn-bloco{width:100%}
.link{color:var(--vinho);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.3rem}
.link:hover{text-decoration:underline}

/* ---------- topo ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top);z-index:60;background:var(--bordo)}
.faixa{background:var(--bordo);color:#f5e6e8;font-size:.82rem;text-align:center;padding:.5rem 1rem;letter-spacing:.02em}
.faixa.fechada{background:var(--err);color:#fff}
.topo{position:sticky;top:env(safe-area-inset-top);z-index:50;background:rgba(251,246,241,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--linha)}
.topo-in{display:flex;align-items:center;gap:.8rem;height:var(--hh)}
.marca{display:flex;align-items:center;gap:.55rem;text-decoration:none;flex:none}
.marca img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--linha);background:#fff}
.marca span{font-family:var(--f-display);font-size:1.45rem;font-weight:700;color:var(--bordo);letter-spacing:.01em;white-space:nowrap}
.nav{display:flex;gap:1.6rem;margin-left:1.6rem;font-size:.92rem;font-weight:500}
.nav a{text-decoration:none;color:var(--tinta);padding:.4rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a.on{color:var(--vinho);border-color:var(--vinho)}
.acoes{margin-left:auto;display:flex;align-items:center;gap:.35rem}
.ico{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:none;cursor:pointer;color:var(--bordo)}
.ico:hover{background:var(--rosa-suave)}
.ico svg{width:22px;height:22px}
.ico .n{position:absolute;top:3px;right:2px;min-width:19px;height:19px;border-radius:999px;background:var(--vinho);color:#fff;font-size:.68rem;font-weight:700;display:grid;place-items:center;padding:0 4px;border:2px solid var(--creme)}
.ico .n.pulo{animation:pulo .5s ease}
@keyframes pulo{40%{transform:scale(1.35)}}
.conta-nome{font-size:.85rem;font-weight:600;color:var(--vinho);max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.so-mobile{display:none}
@media (max-width:900px){.nav{display:none}.so-mobile{display:inline-grid}.marca span{font-size:1.25rem}.conta-nome{display:none}}
@media (max-width:330px){.marca span{display:none}}
.busca-topo{border-top:1px solid var(--linha);padding-block:.7rem}
.busca-topo form{display:flex;gap:.5rem}

/* ---------- campos ---------- */
.inp{width:100%;padding:.8rem .9rem;border:1.5px solid var(--linha);border-radius:12px;background:var(--papel);font-size:1rem;min-height:48px;transition:border-color .2s}
.inp:focus{border-color:var(--vinho);outline:none}
textarea.inp{min-height:76px;resize:vertical}
label.l{display:grid;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--muted)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
@media (max-width:440px){.f2{grid-template-columns:1fr}}
.msg{font-size:.88rem;border-radius:12px;padding:.7rem .85rem}
.msg.ok{background:var(--okbg);color:var(--ok)} .msg.warn{background:var(--warnbg);color:var(--warn)} .msg.err{background:var(--errbg);color:var(--err)}
.spin{width:18px;height:18px;border:2.5px solid var(--rosa-suave);border-top-color:var(--vinho);border-radius:50%;animation:gira .9s linear infinite;display:inline-block;vertical-align:-3px}
@keyframes gira{to{transform:rotate(360deg)}}

/* ---------- hero com vídeo ---------- */
.selos{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.88rem;color:var(--muted)}
.selos span{display:inline-flex;align-items:center;gap:.45rem}
.selos svg{width:17px;height:17px;flex:none;color:var(--ouro)}
.hero2{position:relative;isolation:isolate;overflow:hidden;color:#f6e9ea;
  background:radial-gradient(120% 90% at 78% 40%,var(--escuro2) 0%,var(--escuro) 55%,var(--escuro3) 100%)}
.hero2::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(176,138,79,.55),transparent)}
.h2-video{position:absolute;top:0;right:0;bottom:0;width:min(64%,1100px);z-index:-1;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
.h2-video video{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;background:var(--escuro)}
.h2-txt{min-height:clamp(470px,38vw,640px);display:flex;flex-direction:column;justify-content:center;gap:1.15rem;padding-block:3.2rem}
.h2-txt>*{max-width:31rem}
.hero2 .over{color:#d9b77e}
.hero2 h1{color:#fbf3ee;font-size:clamp(2.5rem,4.6vw,4.4rem);font-weight:600;line-height:1.02;text-wrap:balance}
.hero2 h1 em{font-style:italic;font-weight:500;color:var(--rosa)}
.hero2 .sub{font-size:1.06rem;line-height:1.6;color:rgba(246,233,234,.82);max-width:27rem}
.hero2 .btns{display:flex;flex-wrap:wrap;gap:.7rem;padding-top:.3rem}
.btn-ouro{background:#f4e6d4;color:var(--bordo);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;font-weight:700;padding-inline:1.6rem}
.btn-ouro:hover{background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.35);transform:translateY(-1px)}
.btn-claro-linha{background:transparent;border:1.5px solid rgba(246,233,234,.45);color:#f6e9ea}
.btn-claro-linha:hover{border-color:#f6e9ea;background:rgba(255,255,255,.08)}
.hero2 .selos{color:rgba(246,233,234,.72);padding-top:.6rem}
.hero2 .selos svg{color:#d9b77e}
.h2-txt>*{animation:aparece .7s cubic-bezier(.2,.7,.2,1) both}
.h2-txt>:nth-child(2){animation-delay:.08s}.h2-txt>:nth-child(3){animation-delay:.16s}.h2-txt>:nth-child(4){animation-delay:.24s}.h2-txt>:nth-child(5){animation-delay:.32s}
@media (max-width:1100px){.h2-video{width:62%}.h2-txt>*{max-width:24rem}.hero2 h1{font-size:clamp(2.4rem,4.4vw,3.4rem)}}
@media (max-width:760px){
  .h2-video{position:relative;width:100%;aspect-ratio:4/3;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
  .h2-txt{min-height:0;margin-top:-2.2rem;padding-block:0 2.4rem;gap:.95rem;position:relative}
  .h2-txt>*{max-width:none}
  .hero2 h1{font-size:clamp(2.1rem,9vw,2.7rem)}
  .hero2 .sub{font-size:1rem}
  .hero2 .over{font-size:.66rem;letter-spacing:.16em}
  .hero2 .btns .btn{flex:1 1 100%}
  .hero2 .selos{gap:.5rem 1rem;font-size:.82rem}
}
/* entrada das seções */
.rev{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rev.visto{opacity:1;transform:none}

/* ---------- seções ---------- */
section{padding-block:clamp(2.4rem,6vw,4.5rem)}
section.hero2{padding:0}
.cab{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.8rem 2rem;margin-bottom:1.6rem}
.cab h2{font-size:clamp(2rem,4.2vw,3rem)}
.cab p{color:var(--muted);max-width:34rem;min-width:0}
.fundo-rosa{background:var(--rosa-suave)}
.fundo-vinho{background:var(--bordo);color:#f6e9ea}
.fundo-vinho h2{color:#fff}

/* categorias */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.catc{position:relative;display:block;border-radius:var(--raio);overflow:hidden;aspect-ratio:4/5;text-decoration:none;background:var(--rosa-suave)}
.catc img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.catc:hover img{transform:scale(1.05)}
.catc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,8,18,0) 40%,rgba(42,8,18,.82))}
.catc div{position:absolute;left:1rem;right:1rem;bottom:.9rem;z-index:1;color:#fff}
.catc b{display:block;font-family:var(--f-display);font-size:1.5rem;font-weight:600;line-height:1.05}
.catc small{font-size:.8rem;opacity:.85}
@media (max-width:560px){.cats{grid-template-columns:repeat(2,1fr);gap:.7rem}.catc b{font-size:1.25rem}}

/* produtos */
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem 1.1rem}
@media (max-width:1000px){.grade{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){.grade{grid-template-columns:repeat(2,1fr);gap:1.2rem .8rem}}
.trilho{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3.3rem)/4);gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem;scrollbar-width:thin}
.trilho>*{scroll-snap-align:start}
@media (max-width:1000px){.trilho{grid-auto-columns:calc((100% - 2.2rem)/3)}}
@media (max-width:680px){.trilho{grid-auto-columns:46%;gap:.8rem}}
.prod{display:flex;flex-direction:column;gap:.55rem;text-decoration:none;min-width:0;position:relative}
.prod .ft{position:relative;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:var(--rosa-suave)}
.prod .ft img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.prod:hover .ft img{transform:scale(1.04)}
.prod.esg .ft img{filter:grayscale(.6);opacity:.7}
.tag{position:absolute;left:.6rem;top:.6rem;background:var(--papel);color:var(--vinho);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px}
.tag.esg{background:var(--tinta);color:#fff}
.prod h3{font-family:var(--f-body);font-size:.93rem;font-weight:600;line-height:1.32;color:var(--tinta)}
.preco{font-weight:700;color:var(--vinho);font-variant-numeric:tabular-nums}
.preco s{color:var(--muted);font-weight:400;margin-right:.35rem;font-size:.9em}
.prod-a{display:flex;flex-direction:column;gap:.55rem;text-decoration:none;color:inherit}
.add-rapido{position:absolute;right:.55rem;top:.55rem;width:40px;height:40px;border-radius:50%;border:0;background:var(--papel);color:var(--vinho);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px -8px rgba(0,0,0,.4);transition:background .2s,color .2s}
.add-rapido:hover{background:var(--vinho);color:#fff}
.add-rapido svg{width:20px;height:20px}
.vazio{color:var(--muted);text-align:center;padding:2.5rem 0}

/* lista de categoria */
.migalha{font-size:.85rem;color:var(--muted);padding-top:1.2rem}
.migalha a{color:var(--muted);text-decoration:none}
.migalha a:hover{color:var(--vinho)}
.ferr{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1rem 0 1.4rem}
.chips{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;flex:1 1 100%;padding-bottom:.2rem}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1.5px solid var(--linha);background:var(--papel);border-radius:999px;padding:.5rem 1rem;font-size:.88rem;font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none;color:var(--tinta)}
.chip.on{background:var(--vinho);border-color:var(--vinho);color:#fff}
.ferr select{width:auto;min-height:42px;padding:.5rem .8rem}
.ferr .conta{font-size:.85rem;color:var(--muted);margin-right:auto}

/* página do produto */
.pp{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.4rem,4vw,3.5rem);padding-block:1rem 3rem;align-items:start}
@media (max-width:860px){.pp{grid-template-columns:1fr}}
.gal{display:grid;gap:.7rem;position:sticky;top:calc(var(--hh) + 16px)}
@media (max-width:860px){.gal{position:static}}
.gal .main{aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--rosa-suave)}
.gal .main img{width:100%;height:100%;object-fit:cover}
.mini{display:flex;gap:.5rem;overflow-x:auto}
.mini button{flex:none;width:72px;height:72px;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:var(--rosa-suave)}
.mini button.on{border-color:var(--vinho)}
.mini img{width:100%;height:100%;object-fit:cover}
.info{display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.info h1{font-size:clamp(2rem,4vw,2.9rem)}
.info .preco{font-size:1.6rem}
.disp{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--ok)}
.disp::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.disp.nao{color:var(--err)}
.desc{color:var(--tinta);white-space:pre-line;font-size:.98rem;line-height:1.7}
.opts{display:grid;gap:.45rem;border:0;padding:0;margin:0;min-width:0}
.opts legend{font-weight:700;font-size:.9rem;margin-bottom:.35rem}
.opt{display:flex;align-items:center;gap:.65rem;background:var(--papel);border:1.5px solid var(--linha);border-radius:12px;padding:.7rem .85rem;cursor:pointer}
.opt:has(input:checked){border-color:var(--vinho);background:var(--rosa-suave)}
.opt input{accent-color:var(--vinho);width:18px;height:18px}
.qtd{display:inline-flex;align-items:center;gap:.3rem;background:var(--papel);border:1.5px solid var(--linha);border-radius:999px;padding:.25rem}
.qtd button{width:38px;height:38px;border-radius:50%;border:0;background:var(--rosa-suave);cursor:pointer;font-size:1.15rem;color:var(--vinho)}
.qtd span{min-width:28px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.comprar{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.comprar .btn{flex:1;min-width:200px}
.caixa{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:1.1rem;display:grid;gap:.7rem}
.caixa h3{font-family:var(--f-body);font-size:.95rem;font-weight:700;color:var(--tinta)}
.periodos{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.per{background:var(--creme);border-radius:12px;padding:.6rem;text-align:center;font-size:.82rem;color:var(--muted)}
.per b{display:block;font-family:var(--f-display);font-size:1.25rem;color:var(--bordo)}
.calc{display:flex;gap:.5rem}
.calc .btn{min-width:48px;padding:0 1rem}
.barra-compra{display:none}
@media (max-width:860px){
  .barra-compra{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;gap:.6rem;align-items:center;background:var(--papel);border-top:1px solid var(--linha);padding:.7rem max(18px,env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
  .barra-compra .preco{font-size:1.15rem}
  .barra-compra .btn{flex:1}
  .tem-barra .flutua-wa{bottom:calc(84px + env(safe-area-inset-bottom))}
}

/* avisos e entrega */
.avisos{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}
.aviso{scroll-snap-align:start;background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;text-align:left;cursor:pointer;padding:0;display:flex;flex-direction:column}
.aviso img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--rosa-suave)}
.aviso div{padding:.85rem 1rem 1rem;display:grid;gap:.3rem}
.aviso b{font-family:var(--f-display);font-size:1.25rem;line-height:1.1;color:var(--bordo)}
.aviso span{font-size:.85rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.entrega-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,4vw,3rem);align-items:center}
@media (max-width:860px){.entrega-g{grid-template-columns:1fr}}
.fundo-vinho .per{background:rgba(255,255,255,.08);color:#e8d3d6}
.fundo-vinho .per b{color:#fff}
.fundo-vinho .caixa{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#fff}
.fundo-vinho .caixa h3{color:#fff}
.fundo-vinho p{color:#e8d3d6}

/* história e depoimento */
.hist{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(1.4rem,5vw,4rem);align-items:center}
@media (max-width:860px){.hist{grid-template-columns:1fr}}
.fotos2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.fotos2 img{border-radius:14px;aspect-ratio:3/4;object-fit:cover;width:100%}
.fotos2 img:nth-child(2){margin-top:2.4rem}
.texto{display:flex;flex-direction:column;gap:1rem;min-width:0}
.texto h2{font-size:clamp(2rem,4.2vw,3rem)}
.texto p{color:var(--muted);white-space:pre-line}
.assina{font-family:var(--f-display);font-size:1.45rem;font-style:italic;color:var(--vinho)!important}
.depo{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.4rem,4vw,3rem);align-items:center}
.depo img{width:min(250px,62vw);aspect-ratio:3/4;object-fit:cover;border-radius:16px;transform:rotate(-2deg);box-shadow:var(--sombra)}
.depo blockquote{margin:0;font-family:var(--f-display);font-size:clamp(1.6rem,3.3vw,2.4rem);font-style:italic;line-height:1.2;color:var(--bordo)}
.depo blockquote::before{content:"“";display:block;font-size:4rem;line-height:.5;color:var(--ouro);font-style:normal;margin-bottom:.3rem}
@media (max-width:680px){.depo{grid-template-columns:1fr;justify-items:center;text-align:center}}

/* contato e rodapé */
.contato{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:860px){.contato{grid-template-columns:1fr}}
.dl{display:grid;gap:.75rem}
.dl div{display:flex;gap:.75rem;align-items:flex-start}
.dl svg{width:20px;height:20px;color:var(--vinho);flex:none;margin-top:3px}
.dl b{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.horas{display:grid;grid-template-columns:auto 1fr;gap:.15rem 1rem;font-variant-numeric:tabular-nums;font-size:.95rem}
.rodape{background:var(--bordo);color:#e6d2d5;padding-block:2.6rem calc(6rem + env(safe-area-inset-bottom));font-size:.88rem}
.rodape-g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
@media (max-width:760px){.rodape-g{grid-template-columns:1fr}}
.rodape h4{font-family:var(--f-display);font-size:1.3rem;color:#fff;margin:0 0 .6rem;font-weight:600}
.rodape a{color:#e6d2d5;text-decoration:none}
.rodape a:hover{color:#fff}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.rodape .marca span{color:#fff}
.rodape .base{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;font-size:.8rem;color:#c9aeb3}

.flutua-wa{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:44;width:56px;height:56px;border-radius:50%;background:#1d9e51;color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(29,158,81,.6);transition:bottom .2s}
.flutua-wa svg{width:30px;height:30px}

/* gavetas e janelas */
.veu{position:fixed;inset:0;background:rgba(30,6,14,.5);z-index:70;opacity:0;pointer-events:none;transition:opacity .25s}
.veu.on{opacity:1;pointer-events:auto}
.gaveta{position:fixed;z-index:80;background:var(--creme);display:flex;flex-direction:column;top:0;bottom:0;right:0;width:min(470px,100%);transform:translateX(104%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.gaveta.esq{right:auto;left:0;transform:translateX(-104%);width:min(340px,88%)}
.gaveta.on{transform:none}
.janela{position:fixed;z-index:80;left:50%;top:50%;width:min(560px,calc(100% - 24px));max-height:calc(100% - 24px);background:var(--creme);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;transform:translate(-50%,-48%);opacity:0;pointer-events:none;transition:.25s}
.janela.on{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}
@media (max-width:600px){.janela{left:0;right:0;top:auto;bottom:0;width:100%;max-height:90%;border-radius:20px 20px 0 0;transform:translateY(100%);opacity:1}.janela.on{transform:none}}
.g-cab{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(.9rem + env(safe-area-inset-top)) 1.2rem .9rem;border-bottom:1px solid var(--linha);background:var(--papel)}
.janela .g-cab{padding-top:.9rem}
.g-cab h3{font-size:1.65rem}
.g-corpo{flex:1;overflow:auto;padding:1.2rem;display:flex;flex-direction:column;gap:1rem;-webkit-overflow-scrolling:touch}
.g-pe{padding:.9rem 1.2rem calc(.9rem + env(safe-area-inset-bottom));border-top:1px solid var(--linha);display:grid;gap:.6rem;background:var(--papel)}
.x{border:0;background:var(--rosa-suave);color:var(--vinho);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.3rem;flex:none}
.menu-m{display:grid;gap:.2rem}
.menu-m a{display:flex;justify-content:space-between;padding:.85rem .2rem;border-bottom:1px solid var(--linha);text-decoration:none;font-weight:500}
.menu-m a small{color:var(--muted)}
.linha-c{display:grid;grid-template-columns:64px 1fr auto;gap:.75rem;align-items:center;background:var(--papel);border:1px solid var(--linha);border-radius:14px;padding:.55rem}
.linha-c img{width:64px;height:64px;border-radius:10px;object-fit:cover}
.linha-c b{font-size:.92rem;line-height:1.25;display:block}
.linha-c small{color:var(--muted);font-size:.8rem;display:block}
.soma{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;font-variant-numeric:tabular-nums}
.soma .t{font-weight:800;font-size:1.15rem;color:var(--bordo)}
.soma .d{color:var(--ok)}
.form{display:grid;gap:.8rem}
.form h4{font-family:var(--f-display);font-size:1.45rem;color:var(--bordo);margin:.6rem 0 0;font-weight:600}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.35rem;background:var(--rosa-suave);padding:.3rem;border-radius:14px}
.seg label{display:flex;align-items:center;justify-content:center;padding:.7rem .5rem;border-radius:10px;cursor:pointer;font-weight:600;font-size:.92rem;text-align:center;position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){background:var(--papel);color:var(--vinho);box-shadow:0 2px 8px -4px rgba(0,0,0,.2)}
.cupom{display:flex;gap:.5rem}
.cupom .btn{min-height:48px;padding:0 1rem}
.fid{display:flex;gap:.7rem;align-items:center;background:var(--rosa-suave);border-radius:14px;padding:.8rem 1rem;font-size:.9rem}
.fid .pts{display:flex;gap:.25rem;flex-wrap:wrap}
.fid .pts i{width:14px;height:14px;border-radius:50%;border:2px solid var(--vinho);display:inline-block}
.fid .pts i.c{background:var(--vinho)}
.pix{display:grid;gap:.9rem;justify-items:center;text-align:center}
.pix img{width:min(240px,70vw);border-radius:12px;border:1px solid var(--linha);background:#fff}
.pix code{display:block;word-break:break-all;font-size:.75rem;background:var(--papel);border:1px solid var(--linha);border-radius:10px;padding:.6rem;max-height:90px;overflow:auto;width:100%}
.abas2{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;background:var(--rosa-suave);padding:.3rem;border-radius:14px}
.abas2 button{border:0;background:none;padding:.65rem;border-radius:10px;font-weight:600;cursor:pointer}
.abas2 button.on{background:var(--papel);color:var(--vinho)}
.lst{display:grid;gap:.5rem}
.item-l{display:flex;justify-content:space-between;gap:.6rem;align-items:center;background:var(--papel);border:1px solid var(--linha);border-radius:12px;padding:.75rem .9rem;text-decoration:none}
.item-l small{display:block;color:var(--muted);font-size:.8rem}
.st{font-size:.72rem;font-weight:700;border-radius:999px;padding:.2rem .6rem;background:var(--rosa-suave);color:var(--vinho);white-space:nowrap}
.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,14px);background:var(--bordo);color:#fff;padding:.7rem 1.2rem;border-radius:999px;font-size:.9rem;opacity:0;transition:.25s;z-index:95;pointer-events:none;white-space:nowrap;box-shadow:var(--sombra)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.aparece{animation:aparece .5s ease both}
@keyframes aparece{from{opacity:.001;transform:translateY(10px)}}
.dica-pag{font-size:.84rem;color:var(--muted);margin:0;line-height:1.45}

/* status da loja */
.marca-t{display:flex;flex-direction:column;line-height:1}
.st-topo{font-family:var(--f-body);font-size:.68rem;font-weight:600;letter-spacing:0;color:#2f7d4f;display:flex;align-items:center;gap:.3rem;margin-top:.22rem;white-space:nowrap}
.st-topo::before,.status-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:#34b06a;box-shadow:0 0 0 3px rgba(52,176,106,.2);flex:none}
.st-topo.fechado{color:var(--muted)}
.st-topo.fechado::before,.status-chip.fechado::before{background:#b9a3a7;box-shadow:none}
.st-topo:empty{display:none}
.status-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .85rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:.8rem;font-weight:600;color:#f6e9ea;backdrop-filter:blur(6px)}
.horario-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:rgba(246,233,234,.75)}
.horario-chip svg{width:16px;height:16px;color:#d9b77e;flex:none}
.btn svg{width:18px;height:18px;flex:none}
/* encomendas */
.enc{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;background:var(--rosa-suave);border:1px solid var(--linha);border-radius:28px;padding:clamp(1.4rem,4vw,3rem)}
.enc-txt{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}
.enc-txt .over{display:flex;align-items:center;gap:.6rem}
.enc-txt .over::before{content:"";width:26px;height:1.5px;background:currentColor}
.enc-txt h2{font-size:clamp(2rem,4vw,3rem)}
.enc-txt p{margin:0;color:var(--muted);max-width:30rem}
.enc-ant{display:flex;align-items:center;gap:.45rem}
.enc-ant svg{width:17px;height:17px;color:var(--vinho);flex:none}
.enc-ant b{color:var(--vinho)}
.enc-lista{list-style:none;margin:0;padding:0;background:var(--papel,#fff);border-radius:20px;border:1px solid var(--linha);overflow:hidden}
.enc-lista li+li{border-top:1px dashed var(--linha)}
.enc-lista a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;color:var(--tinta);transition:background .2s}
.enc-lista a:hover{background:#fdf6f6}
.enc-lista b{display:block;font-weight:600}
.enc-lista small{display:block;color:var(--muted);font-size:.82rem;margin-top:.15rem}
.enc-lista em{font-style:normal;font-weight:700;color:var(--vinho);white-space:nowrap}
@media (max-width:760px){.enc{grid-template-columns:1fr;border-radius:22px}.enc-txt .btn{width:100%}.enc-lista a{padding:.9rem 1rem}}
.marca{min-width:0;flex:0 1 auto}
.marca-t{min-width:0}
.st-topo{overflow:hidden;text-overflow:ellipsis;max-width:100%}
.st-topo::before{display:inline-block}
@media (max-width:480px){.st-topo{font-size:.6rem}.marca img{width:38px;height:38px}.acoes{gap:0}}
.periodos{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.per b{font-size:1.15rem;line-height:1.1;margin-bottom:.15rem}
@media (max-width:480px){.periodos{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}.per{padding:.65rem .4rem;font-size:.78rem}}
@media (max-width:380px){.marca-t{font-size:1.05rem}}
.fundo-vinho .texto p{color:rgba(246,233,234,.8)}

/* fotos da fachada na história */
.fotos-loja{position:relative;padding-bottom:18%}
.fotos-loja img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.fotos-loja img:first-child{width:88%;box-shadow:var(--sombra)}
.fotos-loja img:nth-child(2){position:absolute;right:0;bottom:0;width:52%;border:6px solid var(--creme);border-radius:16px;box-shadow:var(--sombra)}
@media (max-width:480px){.marca{flex:none}.st-topo{overflow:visible}}

/* abertura com imagem em movimento */
.hero2.arte{background:radial-gradient(110% 90% at 30% 40%,var(--escuro2) 0%,var(--escuro) 60%,var(--escuro3) 100%)}
.arte-g{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(1.5rem,3vw,2.6rem)}
.arte-img{position:relative;overflow:hidden;border-radius:24px;aspect-ratio:1378/1142;box-shadow:0 30px 70px -30px rgba(0,0,0,.7);isolation:isolate}
.arte-img img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:60% 55%;animation:respira 18s ease-in-out infinite alternate}
@keyframes respira{from{transform:scale(1)}to{transform:scale(1.07) translate(-1.2%,.8%)}}
.arte-img::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.14) 50%,transparent 65%);transform:translateX(-120%);animation:brilho 9s ease-in-out 2s infinite;pointer-events:none}
@keyframes brilho{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.petalas{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.petalas i{position:absolute;top:-8%;left:var(--x);width:calc(18px * var(--s));height:calc(14px * var(--s));border-radius:60% 0 60% 40%;background:radial-gradient(circle at 30% 30%,#ff6b7d,#c4102a 60%,#7c0716);opacity:.9;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));animation:cai var(--t) linear var(--d) infinite}
@keyframes cai{0%{transform:translate(0,0) rotate(0);opacity:0}10%{opacity:.9}50%{transform:translate(28px,55vh) rotate(160deg)}100%{transform:translate(-18px,120vh) rotate(340deg);opacity:.8}}
.hero2.arte .h2-txt{min-height:0;padding:0}
.hero2 .lead{font-family:var(--f-display);font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.2;color:#fbf3ee;margin:0;max-width:24rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:760px){
  .arte-g{grid-template-columns:1fr;padding:0 0 2.2rem;gap:1.2rem;width:100%;max-width:none}
  .arte-img{border-radius:0;box-shadow:none}
  .hero2.arte .h2-txt{padding-inline:20px}
  .hero2 .lead{font-size:1.45rem}
}
@media (prefers-reduced-motion:reduce){.arte-img img,.arte-img::after,.petalas i{animation:none!important}.petalas{display:none}}
@media (max-width:760px){.hero2.arte .h2-txt{margin-top:0}}

/* calcular entrega logo no início */
.calc-topo{padding-block:clamp(1.2rem,3vw,2rem) clamp(1.6rem,4vw,2.6rem)}
.calc-card{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:1rem 2rem;align-items:center;background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:1.1rem 1.3rem;box-shadow:var(--sombra)}
.calc-txt{display:flex;gap:.9rem;align-items:center}
.calc-txt>svg{width:38px;height:38px;flex:none;padding:8px;border-radius:50%;background:var(--rosa-suave);color:var(--vinho)}
.calc-txt b{display:block;font-family:var(--f-display);font-size:1.35rem;color:var(--bordo);line-height:1.15}
.calc-txt small{color:var(--muted);font-size:.88rem}
.calc-box .msg{margin:.6rem 0 0}
@media (max-width:760px){.calc-card{grid-template-columns:1fr;padding:1rem}}
.entrega-uma{grid-template-columns:1fr}
.entrega-uma .texto{max-width:46rem}
/* campanha (ex.: Natal) no lugar do depoimento */
.campanha{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.4rem,4vw,3rem);align-items:center}
.campanha-img{display:block;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
.campanha-img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}
.campanha-img:hover img{transform:scale(1.03)}
.campanha h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:.3rem 0 .7rem}
.campanha p{color:var(--muted);margin:0 0 1.2rem;max-width:30rem}
.campanha .btns{display:flex;flex-wrap:wrap;gap:.6rem}
@media (max-width:820px){.campanha{grid-template-columns:1fr}}
/* convite para baixar o app */
.app-barra{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:46;display:flex;align-items:center;gap:.7rem;background:var(--papel);border:1px solid var(--linha);border-radius:18px;padding:.7rem .6rem .7rem .8rem;box-shadow:0 18px 40px -12px rgba(36,6,15,.45);animation:appSobe .35s ease}
.app-barra img{width:46px;height:46px;border-radius:12px;flex:none;border:1px solid var(--linha)}
.app-barra div{flex:1;min-width:0}
.app-barra b{display:block;font-size:.92rem;color:var(--bordo)}
.app-barra small{display:block;font-size:.78rem;color:var(--muted);line-height:1.3}
.app-barra .btn{padding:.55rem 1rem;font-size:.85rem;flex:none}
.app-barra .x{flex:none}
.tem-app .flutua-wa{bottom:calc(96px + env(safe-area-inset-bottom))}
.app-passos{padding-left:1.2rem;display:grid;gap:.5rem;margin:.4rem 0 1rem}
@keyframes appSobe{from{transform:translateY(120%);opacity:0}to{transform:none;opacity:1}}
@media (min-width:761px){.app-barra{left:auto;right:96px;max-width:420px}}
