/* I&A Brownies Artesanais — estilo compartilhado por todas as páginas */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500 700;font-display:swap;src:url("/assets/fonts/cormorant-garamond.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500 600;font-display:swap;src:url("/assets/fonts/cormorant-garamond-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400 600;font-display:swap;src:url("/assets/fonts/montserrat.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --cacau:#1A110C;
  --ganache:#261810;
  --ganache-2:#312016;
  --ouro:#C9A155;
  --ouro-claro:#DDBB76;
  --ouro-escuro:#A9823C;
  --bege:#EFE4D0;
  --bege-2:#BFAE95;
  --linha:#3B2A1E;
  --f-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --f-body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(16px,4vw,48px);
  --max:1180px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--cacau);color:var(--bege);
  font:400 16px/1.65 var(--f-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  scrollbar-color:var(--ouro-escuro) var(--cacau);
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
::selection{background:var(--ouro);color:var(--cacau)}
input,textarea,button{font:inherit;color:inherit;caret-color:var(--ouro)}
:focus-visible{outline:2px solid var(--ouro-claro);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.02;letter-spacing:-.015em;text-wrap:balance;margin:0}
p{margin:0}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:14px 26px;border-radius:999px;border:1px solid transparent;
  font:600 15px/1.2 var(--f-body);letter-spacing:.02em;text-decoration:none;cursor:pointer;
  transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--ease-out),box-shadow .25s;
}
.btn svg{width:18px;height:18px;flex:none}
.btn-ouro{background:var(--ouro);color:var(--cacau);box-shadow:0 10px 28px -12px rgba(201,161,85,.55)}
.btn-ouro:hover{background:var(--ouro-claro);transform:translateY(-1px)}
.btn-ouro:active{background:var(--ouro-escuro);transform:translateY(1px)}
.btn-linha{border-color:rgba(239,228,208,.28);color:var(--bege);background:rgba(26,17,12,.35)}
.btn-linha:hover{border-color:var(--ouro);color:var(--ouro-claro)}
.btn[disabled],.btn[aria-disabled="true"]{background:var(--ganache-2);color:var(--bege-2);box-shadow:none;cursor:not-allowed;transform:none}

/* topo */
.topo{position:absolute;inset:0 0 auto 0;z-index:5}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px}
.marca{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.marca img{width:56px;height:56px;border-radius:50%;box-shadow:0 6px 18px -8px rgba(0,0,0,.7)}
.marca span{font:600 1.35rem/1 var(--f-display);letter-spacing:.01em}
.menu{display:flex;align-items:center;gap:clamp(18px,2.6vw,34px);font-size:14px;font-weight:500}
.menu a:not(.btn){text-decoration:none;color:var(--bege-2);transition:color .2s}
.menu a:not(.btn):hover{color:var(--bege)}
.menu .btn{min-height:42px;padding:10px 20px;font-size:14px}
@media (max-width:760px){.menu a:not(.btn){display:none}.marca span{display:none}}

/* hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#140C08}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(20,12,8,.9) 0%,rgba(20,12,8,.62) 45%,rgba(20,12,8,.2) 100%),linear-gradient(0deg,var(--cacau) 0%,rgba(26,17,12,0) 22%)}
.sem-gl .hero{background:radial-gradient(120% 90% at 75% 40%,#4a2c1c 0%,#24160f 45%,#140c08 100%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,6vw,80px);
  padding-block:clamp(120px,14vw,168px) clamp(64px,8vw,104px)}
.hero h1{font-size:clamp(2.6rem,5.6vw,5.1rem);font-weight:600}
.hero h1 em{font-style:italic;font-weight:500;color:var(--ouro-claro)}
.hero .lede{margin-top:26px;max-width:46ch;font-size:clamp(1rem,1.3vw,1.12rem);color:var(--bege-2)}
.hero .lede strong{color:var(--bege);font-weight:600}
.acoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.selos{display:flex;flex-wrap:wrap;gap:8px 22px;margin:34px 0 0;padding:0;list-style:none;font-size:13px;color:var(--bege-2)}
.selos li{display:flex;align-items:center;gap:8px}
.selos li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ouro)}
.arco{position:relative;justify-self:end;width:min(100%,420px)}
.arco figure{margin:0;aspect-ratio:3/4;max-width:100%;border-radius:999px 999px 18px 18px;overflow:hidden;
  border:1px solid rgba(201,161,85,.55);padding:10px;background:rgba(20,12,8,.5);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.arco img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 10px 10px}
.arco .dica{position:absolute;left:-12px;bottom:28px;transform:translateX(-100%);font:italic 500 1.15rem/1.2 var(--f-display);color:var(--bege-2);white-space:nowrap}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;padding-block:108px 56px}
  .arco{justify-self:center;width:min(78vw,360px)}
  .arco .dica{display:none}
  .hero::after{background:linear-gradient(180deg,rgba(20,12,8,.72) 0%,rgba(20,12,8,.55) 55%,var(--cacau) 100%)}
}

/* seções */
.secao{padding-block:clamp(72px,10vw,128px)}
.secao h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.secao .intro{margin-top:18px;max-width:58ch;color:var(--bege-2);font-size:1.02rem}

/* a casquinha */
.corte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);align-items:center}
.corte figure{position:relative;margin:0}
.corte figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;box-shadow:0 30px 60px -30px rgba(0,0,0,.85)}
.camadas{margin:36px 0 0;padding:0;list-style:none;border-top:1px solid var(--linha)}
.camadas li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:8px 24px;padding:20px 0;border-bottom:1px solid var(--linha)}
.camadas b{font:600 1.45rem/1.15 var(--f-display);color:var(--ouro-claro)}
.camadas span{color:var(--bege-2)}
@media (max-width:860px){.corte{grid-template-columns:1fr}.camadas li{grid-template-columns:1fr}}

/* da forma para a caixa */
.caminho{background:var(--ganache)}
.caminho-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,28px);margin-top:48px}
.caminho-grade figure{margin:0;display:flex;flex-direction:column;gap:16px}
.caminho-grade img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px}
.caminho-grade figcaption{font-size:.98rem;color:var(--bege-2);max-width:34ch}
.caminho-grade figcaption b{display:block;font:600 1.4rem/1.2 var(--f-display);color:var(--bege);margin-bottom:4px}
@media (max-width:760px){.caminho-grade{grid-template-columns:1fr}.caminho-grade img{aspect-ratio:1/1}}

/* pedido */
.pedido-grade{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,80px);align-items:start}
.pedido-texto .caixa-foto{margin-top:36px;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px}
.form{background:var(--ganache);border:1px solid var(--linha);border-radius:22px;padding:clamp(20px,3vw,36px);display:grid;gap:26px;
  box-shadow:0 30px 60px -36px rgba(0,0,0,.9)}
.form fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:12px}
.form legend,.form label.rotulo{font:600 12px/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);padding:0;margin-bottom:12px}
.item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--linha);border-radius:14px;background:rgba(26,17,12,.5)}
.item-nome b{display:block;font:600 1.3rem/1.2 var(--f-display);color:var(--bege)}
.item-nome small{font-size:.85rem;color:var(--bege-2)}
.passo{display:inline-flex;align-items:center;border:1px solid var(--linha);border-radius:999px;overflow:hidden;flex:none}
.passo button{width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--bege);transition:background-color .2s,color .2s}
.passo button:hover{background:var(--ganache-2);color:var(--ouro-claro)}
.passo button:disabled{color:#6d5a49;cursor:not-allowed;background:transparent}
.passo button svg{width:16px;height:16px}
.passo output{min-width:2.4ch;text-align:center;font:600 1.05rem/1 var(--f-body);font-variant-numeric:tabular-nums}
.opcoes{display:flex;flex-wrap:wrap;gap:10px}
.opcoes label{position:relative;cursor:pointer}
.opcoes input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opcoes span{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--linha);border-radius:999px;font-size:.95rem;color:var(--bege-2);transition:border-color .2s,color .2s,background-color .2s}
.opcoes label:hover span{border-color:var(--ouro-escuro);color:var(--bege)}
.opcoes input:checked+span{border-color:var(--ouro);background:rgba(201,161,85,.14);color:var(--bege)}
.opcoes input:focus-visible+span{outline:2px solid var(--ouro-claro);outline-offset:3px}
.campo{width:100%;min-height:50px;padding:12px 16px;border-radius:12px;border:1px solid var(--linha);background:rgba(26,17,12,.6);font-size:1rem;transition:border-color .2s}
.campo::placeholder{color:#8f7d68}
.campo:hover{border-color:#5a4433}
.campo:focus{border-color:var(--ouro);outline:none}
textarea.campo{min-height:92px;resize:vertical;line-height:1.5}
input[type="date"].campo{color-scheme:dark}
.duas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
@media (max-width:520px){.duas{grid-template-columns:1fr}}
.resumo{border-top:1px dashed #4a3727;padding-top:22px;display:grid;gap:14px}
.resumo pre{margin:0;white-space:pre-wrap;font:400 .92rem/1.6 var(--f-body);color:var(--bege-2);background:rgba(26,17,12,.55);border-radius:12px;padding:14px 16px;max-height:220px;overflow:auto}
.aviso{font-size:.9rem;color:var(--bege-2);min-height:1.5em}
.aviso.ok{color:var(--ouro-claro)}
.form .btn{width:100%}
@media (max-width:860px){.pedido-grade{grid-template-columns:1fr}.pedido-texto .caixa-foto{aspect-ratio:1/1}}

/* presentes */
.presentes{background:var(--ganache)}
.presentes-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.presentes-grade img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 18px 18px}
.ocasioes{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 34px;padding:0;list-style:none}
.ocasioes li{padding:9px 16px;border:1px solid rgba(201,161,85,.4);border-radius:999px;font-size:.92rem;color:var(--bege)}
@media (max-width:860px){.presentes-grade{grid-template-columns:1fr}.presentes-grade img{max-width:420px;margin-inline:auto}}

/* galeria */
.galeria-topo{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px}
.galeria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.6vw,18px);margin-top:40px}
.galeria a{display:block;overflow:hidden;border-radius:14px}
.galeria img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .6s var(--ease-out),filter .6s}
.galeria a:hover img{transform:scale(1.04);filter:saturate(1.08)}
@media (max-width:760px){.galeria{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* rodapé */
.rodape{border-top:1px solid var(--linha);padding-block:56px 40px}
.rodape .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.rodape .marca img{width:72px;height:72px}
.rodape .marca div{display:grid;gap:2px}
.rodape .marca b{font:600 1.4rem/1.1 var(--f-display)}
.rodape .marca small{color:var(--bege-2);font-size:.85rem}
.rodape nav{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:.92rem}
.rodape nav a{color:var(--bege-2);text-decoration:none}
.rodape nav a:hover{color:var(--ouro-claro)}
.rodape-base{width:100%;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px}
.rodape .local{color:var(--bege-2);font-size:.88rem}
.rodape .local a{color:var(--ouro-claro);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(221,187,118,.45)}
.rodape .local a:hover{text-decoration-color:currentColor}
.rodape .copy{color:#8f7d68;font-size:.8rem}

/* menu com páginas internas */
.menu a[aria-current="page"]{color:var(--bege)}
@media (max-width:1040px){.menu .opcional{display:none}}

/* páginas internas */
.interna-topo{position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(110% 120% at 88% 0%,#3a2317 0%,#1f140e 48%,var(--cacau) 100%);
  padding-block:clamp(128px,15vw,176px) clamp(48px,7vw,88px)}
.migalhas{margin:0 0 22px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--bege-2)}
.migalhas li+li::before{content:"/";margin-right:6px;color:#6d5a49}
.migalhas a{color:var(--bege-2);text-decoration:none}
.migalhas a:hover{color:var(--ouro-claro)}
.interna-topo h1{font-size:clamp(2.5rem,5.2vw,4.4rem);max-width:20ch}
.interna-topo .lede{margin-top:22px;max-width:58ch;font-size:clamp(1rem,1.3vw,1.12rem);color:var(--bege-2)}
.interna-topo .acoes{margin-top:30px}

.bloco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.bloco+.bloco{margin-top:clamp(64px,9vw,112px)}
.bloco figure{margin:0}
.bloco img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;box-shadow:0 30px 60px -30px rgba(0,0,0,.85)}
.bloco.invertido figure{order:2}
.bloco h2{font-size:clamp(2rem,3.8vw,3rem)}
.bloco p{margin-top:16px;color:var(--bege-2);max-width:56ch}
.bloco p+p{margin-top:12px}
.bloco .acoes{margin-top:26px}
@media (max-width:860px){.bloco{grid-template-columns:1fr}.bloco.invertido figure{order:0}.bloco img{aspect-ratio:1/1}}

.etapas{counter-reset:etapa;margin:40px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.etapas li{counter-increment:etapa;padding-top:22px;border-top:1px solid var(--linha)}
.etapas li::before{content:counter(etapa);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--ouro);color:var(--ouro-claro);font:600 1.15rem/1 var(--f-display);margin-bottom:16px}
.etapas b{display:block;font:600 1.4rem/1.2 var(--f-display);color:var(--bege);margin-bottom:6px}
.etapas span{color:var(--bege-2);font-size:.96rem}
@media (max-width:760px){.etapas{grid-template-columns:1fr}}

.faq{max-width:820px;border-top:1px solid var(--linha)}
.faq article{padding-block:28px;border-bottom:1px solid var(--linha)}
.faq h2{font-size:clamp(1.45rem,2.4vw,1.85rem);line-height:1.2}
.faq p{margin-top:10px;color:var(--bege-2);max-width:65ch}
.faq a,.texto a{color:var(--ouro-claro)}

.texto{max-width:68ch}
.texto h2{font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.15;margin-top:48px}
.texto h2:first-child{margin-top:0}
.texto p,.texto ul{margin:14px 0 0;color:var(--bege-2)}
.texto ul{padding-left:1.2em}
.texto li+li{margin-top:8px}
.texto strong{color:var(--bege);font-weight:600}
.texto .atualizado{margin-top:48px;font-size:.88rem;color:#8f7d68}

.chamada{border-top:1px solid var(--linha);background:var(--ganache)}
.chamada .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.chamada h2{font-size:clamp(2rem,3.6vw,2.8rem);max-width:22ch}
.chamada .acoes{margin-top:0}

.nao-achou{min-height:70vh;display:grid;align-content:center}

/* validação */
.campo[aria-invalid="true"]{border-color:#E0795B}
.campo[aria-invalid="true"]:focus{border-color:#F09A7E}
.aviso.erro{color:#F2A58C}
.presentes .acoes{margin-top:0}
