@font-face{font-family:"Great Vibes";src:url(fontes/great-vibes-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(fontes/figtree-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(fontes/figtree-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Figtree";src:url(fontes/figtree-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Figtree";src:url(fontes/figtree-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --creme:#fbf1ec;
  --papel:#fff8f5;
  --rosa:#f4d7d9;
  --rosa-medio:#ebb4bc;
  --rosa-forte:#d98896;
  --vinho:#8c1f35;
  --vinho-esc:#5e1222;
  --cacau:#3b1d14;
  --cacau-suave:#6d4a3f;
  --ouro:#b4874a;
  --linha:#e4bfc3;
  --raio:18px;
  --script:"Great Vibes",cursive;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
}
[hidden]{display:none!important}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--creme);color:var(--cacau);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}
img,svg{display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2.5px solid var(--vinho);outline-offset:3px;border-radius:8px}

.aviso-previa{position:sticky;top:0;z-index:40;background:var(--cacau);color:#fbe9e4;font-size:13px;text-align:center;padding:8px 16px}

/* Marca */
.marca{margin:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.marca__nome{font-family:var(--script);font-weight:400;font-size:clamp(58px,15vw,104px);color:var(--cacau);letter-spacing:0;margin-left:-4px}
.marca__sub{font-size:13px;letter-spacing:.62em;font-weight:500;color:var(--cacau-suave);margin-top:6px;padding-left:4px}
.titulo-script{font-family:var(--script);font-weight:400;font-size:clamp(42px,10vw,64px);line-height:1.05;margin:0;color:var(--cacau)}
.sobre{margin:0 0 4px;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--vinho);font-weight:600}
.secao-texto{max-width:52ch;color:var(--cacau-suave);margin:12px 0 0}

/* Botões */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1.5px solid var(--vinho);cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}
.botao--cheio{background:var(--vinho);color:#fff6f2}
.botao--cheio:hover{background:var(--vinho-esc);border-color:var(--vinho-esc)}
.botao--linha{background:transparent;color:var(--vinho)}
.botao--linha:hover{background:var(--rosa)}
.botao:active{transform:scale(.97)}
.botao[disabled]{opacity:.45;cursor:not-allowed}
.botao--largo{width:100%}

/* Hero */
.hero{position:relative;padding:44px 20px 56px;display:grid;gap:36px;overflow:hidden;background:
  radial-gradient(120% 70% at 85% 100%,var(--rosa) 0,transparent 60%),var(--creme)}
.laco{position:absolute;width:92px;color:var(--rosa-forte);opacity:.7;display:none}
.laco--esq{top:10px;left:8px}
.laco--dir{top:10px;right:8px;transform:scaleX(-1)}
.hero__cidade{margin:0 0 18px;font-size:13px;letter-spacing:.08em;color:var(--cacau-suave)}
.hero__frase{font-size:18px;max-width:36ch;margin:22px 0 26px;color:var(--cacau)}
.hero__acoes{display:flex;flex-wrap:wrap;gap:12px}
.hero__prazo{margin:18px 0 0;font-size:14px;color:var(--vinho);font-weight:500}
.hero__prazo:empty{display:none}

.caixa-hero{position:relative;width:min(100%,460px);margin:0 auto;aspect-ratio:1/1.08}
.caixa-hero__fundo{position:absolute;inset:12% 0 0;background:#f7dfe1;border-radius:14px;padding:16px;box-shadow:inset 0 0 0 7px #fff3f1,0 24px 40px -22px rgba(94,18,34,.45)}
.caixa-hero__tampa{position:absolute;left:14%;right:14%;top:3%;height:13%;background:var(--vinho);border-radius:10px;display:grid;place-items:center;z-index:2;transform:rotate(-3deg);box-shadow:0 10px 18px -10px rgba(94,18,34,.6)}
.caixa-hero__tampa span{font-family:var(--script);font-size:clamp(28px,8vw,40px);color:#fbe4df;line-height:1;padding-top:4px}

/* Doces desenhados em CSS */
.grade-doces{display:grid;gap:6px;height:100%;grid-template-columns:repeat(5,1fr);align-content:center}
.doce{position:relative;aspect-ratio:1;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,var(--forma,#f1c7cd) 0 10deg,var(--forma2,#e4a9b2) 10deg 20deg)}
.doce::before{content:"";position:absolute;inset:14%;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.55) 0 7%,transparent 22%),
  radial-gradient(circle at 60% 65%,rgba(0,0,0,.18),transparent 70%),var(--cor);
  box-shadow:0 2px 3px rgba(59,29,20,.25)}
.doce::after{content:"";position:absolute;inset:14%;border-radius:50%;pointer-events:none}
.doce.c-granulado::after{background:
  radial-gradient(circle at 25% 40%,#1c0c06 0 3%,transparent 4%),radial-gradient(circle at 55% 25%,#1c0c06 0 3%,transparent 4%),
  radial-gradient(circle at 70% 55%,#1c0c06 0 3%,transparent 4%),radial-gradient(circle at 40% 70%,#1c0c06 0 3%,transparent 4%),
  radial-gradient(circle at 60% 80%,#1c0c06 0 3%,transparent 4%),radial-gradient(circle at 30% 60%,#6b3a26 0 3%,transparent 4%),
  radial-gradient(circle at 78% 35%,#6b3a26 0 3%,transparent 4%)}
.doce.c-po::after{background:radial-gradient(circle,rgba(255,255,255,.75) 0 1.4px,transparent 1.8px) 0 0/6px 6px;opacity:.7}
.doce.c-acucar::after{background:radial-gradient(circle,#fff 0 1.2px,transparent 1.7px) 0 0/5px 5px;opacity:.85}
.doce.c-coco::after{background:
  linear-gradient(35deg,transparent 46%,#fffaf2 47% 53%,transparent 54%) 0 0/9px 9px,
  linear-gradient(-30deg,transparent 46%,#fffaf2 47% 53%,transparent 54%) 3px 4px/8px 8px;opacity:.9}
.doce.c-confete::after{background:
  radial-gradient(circle at 30% 35%,#e94b5a 0 7%,transparent 8%),radial-gradient(circle at 65% 30%,#f6c344 0 7%,transparent 8%),
  radial-gradient(circle at 50% 60%,#4aa3d9 0 7%,transparent 8%),radial-gradient(circle at 72% 70%,#6cc07a 0 7%,transparent 8%),
  radial-gradient(circle at 30% 72%,#f08ab0 0 7%,transparent 8%)}
.doce.c-fio::after{background:repeating-linear-gradient(-35deg,transparent 0 5px,rgba(74,36,24,.75) 5px 6.5px)}
.doce.c-pontos::after{background:radial-gradient(circle,#efe7df 0 1.6px,transparent 2.1px) 1px 1px/7px 7px}
.doce.c-granule::after{background:radial-gradient(circle,#d6a564 0 1.8px,transparent 2.3px) 0 0/6px 6px,radial-gradient(circle,#f0d59c 0 1.2px,transparent 1.6px) 3px 3px/6px 6px}
.doce.c-uva::after{background:radial-gradient(circle at 50% 46%,#9bc35a 0 22%,#6f9a35 23% 26%,transparent 27%)}
.doce.c-sementes::after{background:radial-gradient(ellipse 2px 3px,#1d140c 0 60%,transparent 70%) 2px 2px/8px 8px}
.doce.c-graos::after{background:radial-gradient(ellipse 22% 30% at 50% 48%,#2a170e 0 70%,transparent 72%),linear-gradient(90deg,transparent 48%,#6a4532 49% 51%,transparent 52%) 50% 50%/40% 40% no-repeat}
.doce.c-brilho::before{background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.75) 0 9%,transparent 24%),radial-gradient(circle at 60% 65%,rgba(0,0,0,.2),transparent 70%),var(--cor)}
/* copinho de chocolate */
.doce.copinho{border-radius:30%;background:linear-gradient(145deg,#5a2f1f,#2e160d)}
.doce.copinho::before{inset:18%;border-radius:26%;box-shadow:inset 0 0 0 2px rgba(0,0,0,.15)}
.doce.copinho::after{inset:18%;border-radius:26%}
.doce.vazio{background:repeating-conic-gradient(from 0deg,#f6dde0 0 10deg,#efcdd2 10deg 20deg);opacity:.55}
.doce.vazio::before{background:#fbecee;box-shadow:inset 0 1px 3px rgba(94,18,34,.12)}
.doce.copinho.vazio{background:#ead0d3;opacity:.55}

/* Época */
.epoca{position:relative;margin:0 12px;padding:40px 18px 34px;background:var(--papel);border-radius:28px;border:1px solid var(--linha);
  box-shadow:0 0 0 6px var(--creme),0 0 0 7px var(--linha)}
.epoca__cab{text-align:center}
.prazos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}
.prazo{display:inline-flex;align-items:center;gap:8px;background:var(--rosa);color:var(--vinho-esc);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:500}
.prazo b{font-weight:700}
.prazo.encerrado{background:#efe4e1;color:#9a8580;text-decoration:line-through}
.epoca__colunas{display:grid;gap:30px;margin-top:30px}
.faixa{margin:0 auto 6px;width:max-content;max-width:100%;background:var(--vinho);color:#fff1ec;font-size:14px;letter-spacing:.3em;text-transform:uppercase;padding:8px 22px;border-radius:6px;font-weight:600}
.menu-nota{text-align:center;font-size:14px;color:var(--cacau-suave);margin:8px 0 6px}
.menu-lista{list-style:none;margin:0;padding:0}
.menu-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 14px;padding:14px 0;border-bottom:1px dashed var(--linha)}
.menu-item__nome{font-weight:500}
.menu-item__nome small{color:var(--cacau-suave);font-weight:400;margin-left:4px}
.menu-item__preco{display:block;color:var(--vinho);font-weight:600;font-size:15px;margin-top:2px}
.passo{display:inline-flex;align-items:center;border:1.5px solid var(--linha);border-radius:999px;background:#fff}
.passo button{width:40px;height:40px;border:0;background:none;cursor:pointer;display:grid;place-items:center;border-radius:50%}
.passo button svg{width:16px;height:16px;stroke:var(--vinho);stroke-width:2.2;fill:none;stroke-linecap:round}
.passo button[disabled]{opacity:.3;cursor:default}
.passo output{min-width:22px;text-align:center;font-weight:600}
.epoca.fechada .passo{display:none}

/* Seções */
section{scroll-margin-top:48px}
.montar,.pers,.pagto{padding:64px 20px 8px}
.secao-cab{max-width:1100px;margin:0 auto 26px}

/* Montador */
.montador{max-width:1100px;margin:0 auto;display:grid;gap:26px}
.abas{display:flex;background:var(--rosa);border-radius:999px;padding:4px;gap:2px}
.aba{flex:1;min-height:44px;border:0;border-radius:999px;background:transparent;font-weight:600;font-size:14px;color:var(--vinho-esc);cursor:pointer;transition:background-color .2s,color .2s}
.aba[aria-selected=true]{background:var(--vinho);color:#fff4f0}
.grupo{border:0;margin:22px 0 0;padding:0;min-width:0}
.grupo legend{font-weight:600;font-size:15px;margin-bottom:10px;padding:0;display:flex;gap:8px;align-items:baseline}
.contador{font-weight:500;font-size:13px;color:var(--vinho)}
.tamanhos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tam{position:relative;text-align:left;border:1.5px solid var(--linha);background:var(--papel);border-radius:16px;padding:14px 16px;cursor:pointer;transition:border-color .2s,background-color .2s}
.tam span{display:block;font-size:13px;color:var(--cacau-suave)}
.tam strong{display:block;font-size:20px;color:var(--vinho)}
.tam em{font-style:normal;font-size:12px;color:var(--cacau-suave)}
.tam[aria-pressed=true]{border-color:var(--vinho);background:#fbe5e6;box-shadow:inset 0 0 0 1px var(--vinho)}
.sabores{display:flex;flex-wrap:wrap;gap:8px}
.sabor{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:6px 14px 6px 6px;border-radius:999px;border:1.5px solid var(--linha);background:var(--papel);cursor:pointer;font-size:14px;transition:border-color .2s,background-color .2s,opacity .2s}
.sabor .doce{width:28px;flex:none}
.sabor[aria-pressed=true]{border-color:var(--vinho);background:var(--vinho);color:#fff3ef}
.sabor.travado{opacity:.45}
.dica{min-height:22px;margin:10px 0 0;font-size:14px;color:var(--vinho)}

.m-previa{display:flex;flex-direction:column;gap:14px}
.m-sabores{margin-top:0}
.m-total{padding-top:16px}
.caixa-previa{position:relative;background:#f6dcdf;border-radius:18px;padding:44px 14px 14px;box-shadow:inset 0 0 0 6px #fff4f2,0 18px 34px -24px rgba(94,18,34,.5)}
.caixa-previa__etiqueta{position:absolute;top:0;left:50%;transform:translate(-50%,-40%);background:var(--vinho);color:#fff2ee;border-radius:10px;padding:6px 16px;display:flex;gap:10px;align-items:baseline;white-space:nowrap;font-size:13px}
.caixa-previa__etiqueta strong{font-size:13px}
.grade-doces--previa{grid-template-columns:repeat(10,1fr);gap:4px}
.legenda{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--cacau-suave);min-height:22px}
.legenda li{display:flex;align-items:center;gap:6px}
.legenda i{width:12px;height:12px;border-radius:50%;background:var(--cor);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.montador__total{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--linha)}
.montador__total .botao{flex:1;max-width:280px}
.rotulo{display:block;font-size:13px;color:var(--cacau-suave)}
.montador__total strong{font-size:26px;color:var(--vinho)}

/* Personalizados */
.pers__grade{max-width:1100px;margin:0 auto;display:grid;gap:18px}
.cartao{background:var(--papel);border:1px solid var(--linha);border-radius:22px;padding:22px 20px;position:relative;overflow:hidden}
.cartao__selo{position:absolute;right:-28px;top:16px;width:120px;text-align:center;transform:rotate(35deg);background:var(--rosa);color:var(--vinho-esc);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:4px 0}
.cartao h3{margin:0;font-size:19px;font-weight:600;padding-right:60px}
.cartao__preco{font-size:26px;color:var(--vinho);font-weight:700;margin:6px 0 2px}
.cartao__desc{margin:0;color:var(--cacau-suave);font-size:14px}
.cartao .grupo{margin-top:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--linha);background:#fff;font-size:14px;cursor:pointer}
.chip[aria-pressed=true]{background:var(--vinho);border-color:var(--vinho);color:#fff3ef}
.campo{display:flex;flex-direction:column;gap:6px;margin-top:16px;font-weight:600;font-size:15px}
.campo em{font-style:normal;font-weight:400;color:var(--cacau-suave)}
.campo input,.campo textarea{font:inherit;font-weight:400;font-size:16px;color:var(--cacau);background:#fff;border:1.5px solid var(--linha);border-radius:14px;padding:12px 14px;min-height:48px;width:100%}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--vinho);box-shadow:0 0 0 3px rgba(140,31,53,.15)}
.campo input[aria-invalid=true]{border-color:#c0392b}
.campo__ajuda{font-weight:400;font-size:13px;color:var(--cacau-suave)}
.marcar{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14px;cursor:pointer}
.marcar input{width:20px;height:20px;accent-color:var(--vinho);margin:1px 0 0;flex:none}
.cartao .botao{margin-top:18px;width:100%}

/* Pagamento */
.linha-tempo{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:grid;gap:0}
.linha-tempo li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding-bottom:22px;position:relative}
.linha-tempo li:not(:last-child)::before{content:"";position:absolute;left:21px;top:44px;bottom:0;border-left:1.5px dashed var(--rosa-forte)}
.lt__num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--rosa);color:var(--vinho);font-family:var(--script);font-size:28px;line-height:1}
.linha-tempo strong{display:block;font-size:17px;margin-top:9px}
.linha-tempo p{margin:4px 0 0;color:var(--cacau-suave);font-size:15px}
.pagto__nota{max-width:1100px;margin:4px auto 0;font-size:14px;color:var(--vinho);background:var(--rosa);border-radius:14px;padding:12px 16px}

/* Rodapé */
.rodape{margin-top:72px;padding:48px 20px 130px;text-align:center;background:var(--cacau);color:#f4ddd6}
.marca--rodape{align-items:center}
.marca--rodape .marca__nome{color:#fbe6e0;font-size:64px;margin:0}
.marca--rodape .marca__sub{color:#d9b8ae}
.rodape p{margin:10px 0}
.rodape__links{display:flex;gap:22px;justify-content:center}
.rodape__links a{font-weight:600;text-underline-offset:4px}
.rodape__credito{font-size:13px;opacity:.75;margin-top:26px!important}

/* Sacola */
.sacola{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:12px;min-height:58px;padding:0 20px 0 10px;border:0;border-radius:999px;background:var(--cacau);color:#fff3ee;cursor:pointer;box-shadow:0 14px 30px -12px rgba(59,29,20,.6)}
.sacola__qtd{width:38px;height:38px;border-radius:50%;background:var(--rosa-medio);color:var(--vinho-esc);display:grid;place-items:center;font-weight:700}
.sacola__txt{flex:1;text-align:left;font-weight:500}

/* Folha */
.folha-fundo{position:fixed;inset:0;background:rgba(40,16,10,.45);z-index:50}
.folha{position:fixed;left:0;right:0;bottom:0;z-index:51;max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;background:var(--creme);border-radius:26px 26px 0 0;box-shadow:0 -10px 40px rgba(40,16,10,.25)}
.folha__alca{width:44px;height:5px;border-radius:9px;background:var(--linha);margin:10px auto 0}
.folha__cab{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 6px}
.folha__cab h2{margin:0;font-family:var(--script);font-weight:400;font-size:40px}
.fechar{width:44px;height:44px;border-radius:50%;border:0;background:var(--rosa);cursor:pointer;display:grid;place-items:center}
.fechar svg{width:18px;height:18px;stroke:var(--vinho-esc);stroke-width:2.2;fill:none;stroke-linecap:round}
.folha__corpo{overflow:auto;padding:4px 20px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.itens{list-style:none;margin:0;padding:0}
.item{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0;border-bottom:1px dashed var(--linha)}
.item__nome{font-weight:600}
.item__det{grid-column:1/-1;font-size:14px;color:var(--cacau-suave)}
.item__lado{display:flex;align-items:center;gap:10px}
.item__preco{font-weight:600;color:var(--vinho)}
.remover{border:0;background:none;color:var(--cacau-suave);text-decoration:underline;font-size:13px;cursor:pointer;padding:6px 2px;min-height:32px}
.grupo--pilulas{margin-top:16px}
.pilulas{display:flex;flex-wrap:wrap;gap:8px}
.pilula{min-height:42px;padding:0 16px;border-radius:999px;border:1.5px solid var(--linha);background:#fff;cursor:pointer;font-size:14px}
.pilula[aria-checked=true]{background:var(--vinho);border-color:var(--vinho);color:#fff3ef}
.resumo{margin-top:20px;background:var(--papel);border:1px solid var(--linha);border-radius:16px;padding:6px 16px}
.resumo div{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0}
.resumo div+div{border-top:1px dashed var(--linha)}
.resumo strong{color:var(--vinho);font-size:18px}
.erro{min-height:20px;color:#b3261e;font-size:14px;margin:12px 0}
.erro:empty{margin:6px 0}

.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);background:var(--vinho);color:#fff3ef;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:500;opacity:0;pointer-events:none;z-index:60;transition:opacity .25s,transform .25s;white-space:nowrap}
.toast.ver{opacity:1;transform:translate(-50%,0)}

@media (min-width:760px){
  .hero{grid-template-columns:1.1fr 1fr;align-items:center;padding:80px 6vw 90px}
  .laco{width:130px;display:block}
  .epoca{max-width:1100px;margin:0 auto;padding:54px 48px 44px}
  .epoca__colunas{grid-template-columns:1fr 1fr;gap:48px}
  .montar,.pers,.pagto{padding:96px 6vw 8px}
  .montador{grid-template-columns:1fr 1fr;grid-template-areas:'topo previa' 'sabores previa' 'sabores total';column-gap:56px;row-gap:26px;align-items:start}
  .m-topo{grid-area:topo}.m-previa{grid-area:previa}.m-sabores{grid-area:sabores}.m-total{grid-area:total;position:static;padding:16px 0 0;margin:0}
  .pers__grade{grid-template-columns:1fr 1fr}
  .linha-tempo{grid-template-columns:repeat(3,1fr);gap:20px}
  .linha-tempo li{grid-template-columns:1fr;padding:0}
  .linha-tempo li:not(:last-child)::before{left:56px;right:-10px;top:21px;bottom:auto;border-left:0;border-top:1.5px dashed var(--rosa-forte)}
  .linha-tempo strong{margin-top:4px}
  .sacola{left:auto;right:28px;bottom:28px;width:360px}
  .folha{left:auto;right:24px;bottom:24px;top:24px;width:440px;max-height:none;border-radius:26px}
  .folha__alca{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
