/* Buffet Melvalen · estilos do site. Tokens em :root (critico.css), vindos do DESIGN.md. */
.wrap{width:min(100% - 40px,1200px);margin:0 auto}
.wrap--estreito{width:min(100% - 40px,820px)}
main{display:block}
.sec{position:relative;padding:56px 0;overflow-x:clip}
@media(min-width:810px){.sec{padding:96px 0}}
.sec--rosa{background:var(--cor-superficie)}
.sec--rosa .rotulo,.orc .rotulo{color:var(--cor-tinta)}
.sec h2{font-size:clamp(24px,3.6vw,42px);line-height:1.2;letter-spacing:-.6px;text-transform:uppercase;margin:0 0 20px;overflow-wrap:break-word}
.sec h3{font-size:clamp(18px,2.2vw,24px);line-height:1.25;text-transform:uppercase;letter-spacing:-.2px;margin:0 0 10px}
.sec p,.sec li{max-width:68ch}
.centro{text-align:center}
.centro p,.centro h2{margin-left:auto;margin-right:auto}
.sec p a,.sec li a{text-decoration:underline;text-underline-offset:3px}
.filete{display:block;width:min(720px,86%);aspect-ratio:1655/125;margin:0 auto;background:url(/assets/img/filete-dourado.webp) center/contain no-repeat}
.filete--base{margin-top:32px}
.migalha{font-size:13px;margin:0 0 20px}
.migalha ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.migalha li+li::before{content:"/";margin-right:6px}
.hero .migalha{color:#fff}
.hero .migalha a{text-decoration:underline;text-underline-offset:3px}
.dois{display:grid;gap:32px;align-items:center}
@media(min-width:860px){.dois{grid-template-columns:1fr 1fr;gap:64px}.dois--inv>:first-child{order:2}}
.foto{border-radius:var(--raio);overflow:hidden;box-shadow:-2px 4px 8px rgba(0,0,0,.16);background:var(--cor-superficie)}
.foto img{width:100%;height:auto}
.legenda{font-size:13px;color:var(--cor-linha);margin:8px 0 0}
.lista{margin:0 0 1.2em;padding:0 0 0 1.1em}
.lista li{margin:0 0 .5em}
/* entradas (movimento do modelo): só com JS, uma vez, desligadas em reduced-motion */
.js .rev{opacity:0;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .rev--l{transform:translateX(-150px)}
.js .rev--r{transform:translateX(150px)}
.js .rev--u{transform:translateY(24px);transition-duration:.4s}
.js .rev--p{transform:translateX(150px) scale(.9) rotateX(10deg);transition-duration:.8s}
.js .rev.vis{opacity:1;transform:none}
/* varredura dourada nos rótulos */
.rotulo[data-t]::after{content:attr(data-t);position:absolute;left:0;top:0;white-space:nowrap;color:transparent;background:linear-gradient(100deg,transparent 35%,#f1cd82 50%,transparent 65%) -150% 0/250% 100% no-repeat;-webkit-background-clip:text;background-clip:text;pointer-events:none}
.rotulo.vis[data-t]::after{animation:varre 1.6s ease-in-out 1 both}
@keyframes varre{from{background-position:150% 0}to{background-position:-50% 0}}
/* convite */
.conv{text-align:center;padding-top:0;padding-bottom:0;--lid:1;--seal:1;--luz:1;--card:1}
.conv__pin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:56px 0}
.conv__topo>p:not(.rotulo){margin-left:auto;margin-right:auto}
.conv__topo h2{margin-bottom:12px}
.conv__palco{position:relative;width:min(420px,calc(100% - 40px),46svh);container-type:inline-size;margin:0 auto}
.conv__env{position:relative;width:100%;aspect-ratio:100/69;perspective:130cqw;margin-top:42cqw}
.conv__fundo,.conv__bolso{position:absolute;inset:0;width:100%;height:100%;display:block}
.conv__fundo{filter:drop-shadow(-2px 4px 8px rgba(0,0,0,.18))}
.conv__bolso{z-index:3}
.conv__carta{position:absolute;z-index:2;left:9%;width:82%;bottom:7%;min-height:56%;box-sizing:border-box;padding:5cqw 5cqw 4.5cqw;background:#fffdfb;border:1px solid var(--cor-acento);border-radius:6px;box-shadow:0 2px 10px rgba(35,31,32,.16);transform:translateY(calc(var(--card) * -45cqw));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.conv__carta h3{font-size:clamp(17px,5.2cqw,22px);margin:0 0 8px}
.conv__carta p{font-size:clamp(12.5px,3.4cqw,14px);line-height:1.5;margin:0 0 12px;max-width:none}
.conv__carta .btn{min-height:44px;padding:8px 16px;font-size:clamp(13px,3.4cqw,15px)}
.conv.conv--frente .conv__carta{z-index:6}
.conv__tampa{position:absolute;left:0;top:0;width:100%;height:58%;z-index:5;transform-origin:50% 0;transform-style:preserve-3d;transform:rotateX(calc(var(--lid) * -180deg))}
.conv.conv--atras .conv__tampa{z-index:1}
.conv__face{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;filter:drop-shadow(0 -2px 1px rgba(38,36,36,.25))}
.conv__face--verso{transform:rotateX(180deg)}
.conv__selo{position:absolute;z-index:6;left:50%;top:50%;width:15cqw;height:15cqw;margin:-7.5cqw 0 0 -7.5cqw;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a3f3a 0,#231f20 62%);border:.5cqw solid #c2a32f;box-shadow:0 1px 3px rgba(0,0,0,.4),inset 0 0 0 .7cqw rgba(241,205,130,.25);display:flex;align-items:center;justify-content:center;opacity:calc(1 - var(--seal));transform:scale(calc(1 + var(--seal) * .4));pointer-events:none}
.conv__selo img{width:62%;height:auto;display:block}
.conv__luz{position:absolute;left:-14%;right:-14%;top:2cqw;height:70cqw;background:radial-gradient(ellipse at 50% 55%,rgba(241,205,130,.55) 0,rgba(241,205,130,.18) 45%,rgba(241,205,130,0) 70%);opacity:var(--luz);pointer-events:none}
.conv__abrir{margin-top:6px;min-height:44px;padding:10px 22px;border:1px solid var(--cor-acento-texto);border-radius:999px;background:transparent;color:var(--cor-acento-texto);font:600 14px/1 var(--f-corpo);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.conv__abrir:hover,.conv__abrir:focus-visible{background:var(--cor-acento-texto);color:#fff}
.js .conv{--lid:0;--seal:0;--luz:0;--card:0;height:260vh;height:260svh;padding:0}
.js .conv__pin{position:sticky;top:0;min-height:100vh;min-height:100svh;padding:72px 0 24px;box-sizing:border-box}
.js .conv.conv--fixo{height:auto}
.js .conv.conv--fixo .conv__pin{position:static;min-height:0;padding:56px 0}
@media(max-width:700px){.conv__pin{gap:10px}.js .conv__pin{padding-top:84px}.conv__palco{width:min(360px,calc(100% - 32px),50svh)}}
@media(max-height:700px) and (min-width:701px){.conv__topo>p:not(.rotulo){display:none}}
/* tipos de festa */
.polaroids{display:grid;gap:28px;margin-top:32px}
@media(min-width:760px){.polaroids{grid-template-columns:repeat(3,1fr);gap:24px}}
.polaroid{background:#fff;padding:12px 12px 18px;border-radius:6px;box-shadow:-2px 4px 8px rgba(0,0,0,.16);transition:transform .4s cubic-bezier(.34,1.3,.64,1);display:flex;flex-direction:column;text-align:center}
.polaroid:nth-child(1){transform:rotate(-2deg)}
.polaroid:nth-child(2){transform:rotate(1.6deg)}
.polaroid:nth-child(3){transform:rotate(-1.2deg)}
@media(hover:hover){.polaroid:hover{transform:rotate(0) translateY(-6px)}}
.polaroid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px}
.polaroid h3{margin:16px 0 8px}
.polaroid p{font-size:14px;margin:0 auto 12px;text-wrap:balance}
.polaroid a.mais{margin-top:auto;align-self:center}
.js .polaroid.rev{transition-property:opacity,transform}
.js .polaroid.rev:not(.vis){transform:translateX(150px)}
.js .polaroid.rev:nth-child(1):not(.vis){transform:translateX(-150px)}
.fininha{margin-top:28px;font-size:15px}
/* cardápios */
.cardapios{display:grid;gap:16px;margin-top:28px}
@media(min-width:760px){.cardapios{grid-template-columns:repeat(3,1fr)}}
.cardapio{background:#fff;border-radius:var(--raio);padding:22px;box-shadow:-2px 4px 8px rgba(0,0,0,.16)}
.cardapio h3{font-size:20px}
.cardapio p{font-size:14px;margin:0 0 .6em}
/* passos */
.passos{counter-reset:p;list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.passos li{counter-increment:p;position:relative;padding:18px 18px 18px 72px;background:var(--cor-fundo);border-radius:var(--raio);box-shadow:-2px 4px 8px rgba(0,0,0,.16);max-width:none}
.passos li::before{content:counter(p,decimal-leading-zero);position:absolute;left:18px;top:14px;font-family:var(--f-titulo);font-size:32px;line-height:1.1;color:var(--cor-acento-escuro)}
.passos strong{display:block;font-family:var(--f-titulo);font-weight:400;text-transform:uppercase;font-size:18px;margin-bottom:4px}
/* orçamento preso */
.orc{position:relative;height:300vh;background:var(--cor-superficie)}
.orc__prende{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;padding:24px 0}
.orc__cartao{position:relative;width:min(100% - 40px,640px);background:var(--cor-fundo);border:1px solid var(--cor-acento);border-radius:var(--raio);padding:30px 24px;box-shadow:-2px 4px 8px rgba(0,0,0,.16);text-align:center}
.orc__cartao h2{font-size:clamp(22px,3.2vw,34px);margin-bottom:14px}
.orc__paineis{display:grid;min-height:150px;align-items:center}
.orc__painel{grid-area:1/1;opacity:0;transform:translateY(24px);transition:opacity .4s var(--ease),transform .4s var(--ease);pointer-events:none}
.orc__painel.on{opacity:1;transform:none;pointer-events:auto}
.orc__painel strong{display:block;font-family:var(--f-titulo);font-weight:400;text-transform:uppercase;font-size:20px;margin-bottom:6px}
.orc__passo{font-family:var(--f-rotulo);letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:var(--cor-acento-texto);margin:0 0 6px}
.orc__cartao .btn{margin-top:18px}
@media(prefers-reduced-motion:reduce){.orc{height:auto}.orc__prende{position:static;height:auto;padding:56px 0}.orc__paineis{min-height:0;gap:14px}.orc__painel{grid-area:auto;opacity:1;transform:none}}
/* FAQ: lista editorial fina (details/summary, numeral por counter, cruz de dois traços) */
.faq{margin:28px auto 0;max-width:820px;border-top:1px solid rgba(194,163,47,.45)}
.faq>.rev{border-bottom:1px solid rgba(194,163,47,.45);transition:border-color .25s var(--ease)}
.faq details{background:transparent}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 14px;align-items:center;column-gap:18px;padding:20px 0;min-height:56px;font-family:var(--f-titulo);font-weight:400;font-size:clamp(17px,2vw,20px);line-height:1.35;color:var(--cor-tinta);transition:color .25s var(--ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:14px;height:14px;color:var(--cor-acento-texto);background:linear-gradient(currentColor,currentColor) center/14px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 14px no-repeat;transition:transform .25s var(--ease),background-size .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(180deg);background-size:14px 1px,1px 0}
.faq summary:focus-visible{outline:3px solid var(--cor-acento-escuro);outline-offset:2px;border-radius:2px}
@media(hover:hover){.faq summary:hover{color:var(--cor-acento-texto)}.faq>.rev:hover{border-bottom-color:var(--cor-acento)}}
.faq .resp{padding:0 32px 22px 0;font-size:15px;line-height:1.7;color:rgba(35,31,32,.9)}
.faq .resp p{margin:0 0 .7em;max-width:none}
.faq .resp p:last-child{margin-bottom:0}
.faq details[open] .resp{animation:faq-in .3s var(--ease) both}
@keyframes faq-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@supports(interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}.faq details::details-content{block-size:0;overflow:clip;transition:block-size .3s var(--ease),content-visibility .3s allow-discrete}.faq details[open]::details-content{block-size:auto}}
.js .faq .rev{transform:translateY(12px);transition-duration:.5s}
.js .faq .rev.vis{transform:none}
.js .faq>.rev:nth-child(2){transition-delay:60ms}.js .faq>.rev:nth-child(3){transition-delay:120ms}.js .faq>.rev:nth-child(4){transition-delay:180ms}.js .faq>.rev:nth-child(5){transition-delay:240ms}.js .faq>.rev:nth-child(6){transition-delay:300ms}.js .faq>.rev:nth-child(7){transition-delay:360ms}.js .faq>.rev:nth-child(8){transition-delay:420ms}.js .faq>.rev:nth-child(9){transition-delay:480ms}.js .faq>.rev:nth-child(10){transition-delay:540ms}.js .faq>.rev:nth-child(11){transition-delay:600ms}.js .faq>.rev:nth-child(12){transition-delay:660ms}
@media(prefers-reduced-motion:reduce){.faq details[open] .resp{animation:none}.faq details::details-content{transition:none}.faq summary::after,.faq summary,.faq>.rev{transition:none}.js .faq>.rev{transition-delay:0ms}}
/* fechamento */
.fecha{text-align:center;padding-top:64px}
.fecha .filete{position:absolute;left:50%;top:0;z-index:3;transform:translate(-50%,-50%);pointer-events:none}
@media(max-width:700px){.fecha{padding-top:48px}}
.fecha p,.fecha address{margin-left:auto;margin-right:auto}
.fecha .logo-fecha{width:min(300px,70%);margin:0 auto 22px}
.fecha address{font-style:normal;margin:0 0 18px}
.fecha .btn-whatsapp{min-height:56px;padding:16px 36px;border-radius:14px;font-size:16px;box-shadow:0 8px 20px -8px rgba(35,31,32,.32);transition:transform .18s ease,box-shadow .18s ease}
.fecha .btn-whatsapp svg{width:22px;height:22px}
@media(hover:hover){.fecha .btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(35,31,32,.38)}}
.continue{width:min(1080px,calc(100vw - 48px));position:relative;left:50%;transform:translateX(-50%);margin-top:48px;text-align:center}
.continue__rotulo{font-family:var(--f-rotulo);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--cor-acento-texto);margin:0 0 16px;line-height:1.4}
.continue__grade{list-style:none;margin:0 auto;padding:0;display:grid;gap:14px;grid-template-columns:1fr}
.continue__grade li{margin:0;padding:0;display:flex}
.sec .continue li a.cartao{text-decoration:none}
.cartao{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 46px;text-align:center;border:1px solid var(--cor-acento);border-radius:12px;background:var(--cor-fundo);color:var(--cor-tinta);font-family:var(--f-rotulo);font-size:13px;letter-spacing:.08em;text-transform:uppercase;line-height:1.35;text-decoration:none;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.cartao span{text-wrap:balance}
.cartao__seta{position:absolute;right:18px;top:50%;margin-top:-5.5px;flex:none;color:var(--cor-acento);transition:transform .18s ease}
.sec--rosa .cartao{border-color:var(--cor-acento-escuro);background:transparent}
.cartao:hover,.cartao:focus-visible{background:var(--cor-tinta);color:#fff;border-color:var(--cor-acento)}
.cartao:hover .cartao__seta,.cartao:focus-visible .cartao__seta{color:var(--cor-acento);transform:translateX(3px)}
.cartao:focus-visible{outline:3px solid var(--cor-acento);outline-offset:3px}
.continue__grade[data-n="1"]{grid-template-columns:minmax(0,420px);justify-content:center}
@media(min-width:640px){.continue__grade{grid-template-columns:repeat(2,1fr)}.continue__grade[data-n="3"]{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.continue__grade[data-n="4"]{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){.cartao,.cartao__seta,.fecha .btn-whatsapp{transition:none}.cartao:hover .cartao__seta,.cartao:focus-visible .cartao__seta,.fecha .btn-whatsapp:hover{transform:none}}

.cta-linha{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.centro .cta-linha{justify-content:center}
/* fotos soltas */
.trio{display:grid;gap:16px;margin-top:28px}
@media(min-width:760px){.trio{grid-template-columns:repeat(3,1fr)}}
.trio .foto img{aspect-ratio:4/5;object-fit:cover}
/* espaço: blocos de visita */
.visita{display:grid;gap:28px;align-items:center;padding:28px 0}
@media(min-width:860px){.visita{grid-template-columns:1fr 1fr;gap:56px}.visita:nth-of-type(even)>:first-child{order:2}}
.numeros{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:26px 0 0;padding:0;list-style:none}
@media(min-width:760px){.numeros{grid-template-columns:repeat(4,1fr)}}
.numeros li{background:var(--cor-superficie);border-radius:var(--raio);padding:16px;text-align:center;max-width:none}
.numeros b{display:block;font-family:var(--f-titulo);font-weight:400;font-size:clamp(26px,4vw,40px);line-height:1.1}
.videos{display:grid;gap:18px;margin-top:28px}
@media(min-width:760px){.videos{grid-template-columns:repeat(4,1fr)}}
.videos video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--raio);background:var(--cor-tinta)}
.videos figcaption{font-size:13px;margin-top:8px}
.videos figure{margin:0}
.tabela{width:100%;border-collapse:collapse;margin:20px 0}
.tabela th,.tabela td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(35,31,32,.2);vertical-align:top}
.tabela th{font-weight:600}
/* formulário */
.form{display:grid;gap:16px;margin-top:20px}
.campo label{display:block;font-weight:600;margin-bottom:6px}
.campo input,.campo select,.campo textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(35,31,32,.5);border-radius:10px;font:inherit;background:#fff;color:var(--cor-tinta)}
.campo textarea{min-height:130px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid var(--cor-acento);outline-offset:1px}
.isca{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.estado{min-height:1.5em;font-weight:600}
.estado.erro{color:var(--cor-tinta);border-left:4px solid var(--cor-acento-escuro);padding-left:10px}
.caixa{background:var(--cor-superficie);border-radius:var(--raio);padding:24px}
.caixa p{margin:0 0 1em}
/* rodapé */
.dol-pagina-legal{padding-top:130px!important}
.dol-pagina-legal h1{text-transform:uppercase;letter-spacing:-.6px}
@media(prefers-reduced-motion:reduce){.js .rev,.js .rev--l,.js .rev--r,.js .rev--u,.js .rev--p,.js .polaroid.rev:not(.vis),.js .faq .rev,.js .carta{opacity:1!important;transform:none!important;transition:none!important;visibility:visible!important}.rotulo.vis[data-t]::after{animation:none}.env__tampa{transition:none}.polaroid{transition:none}}
/* galeria: tokens claros; a tela cheia volta ao escuro */
.galeria-lb{--cor-tinta:#fff;--cor-linha:#fff;--cor-cinza:rgba(255,255,255,.6);--cor-superficie:#231f20}
.galeria__slide figcaption{color:var(--cor-linha)}
.galeria__abrir{background:var(--cor-superficie)}

.zap-ic{width:1.05em;height:1.05em;fill:currentColor;vertical-align:-.17em;margin-right:.35em;display:inline-block}
/* rodapé v3 em 4 colunas (módulo 11 seções 4 e 5; regras 19.10 e 11.9): grade na mesma borda do .wrap */
footer.rodape{background:var(--cor-tinta);color:rgba(255,255,255,.9);padding:15px 0 calc(15px + 76px);--dol-legal-cor:rgba(255,255,255,.9)}
.rodape a{text-decoration:none!important;color:rgba(255,255,255,.9)}
.rodape a:hover,.rodape a:focus-visible{color:#f1cd82}
.rodape .btn-whatsapp,.rodape .btn-whatsapp:hover{color:var(--cor-tinta)}
.rodape__grade{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.25fr;gap:24px 36px;align-items:start;padding-bottom:15px}
.rodape__col{min-width:0}
.rodape__tit{font-family:var(--f-rotulo);font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;line-height:1.3;color:#d9ab4f;background:linear-gradient(90deg,#d9ab4f 0%,#f1cd82 50%,#d9ab4f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.rodape__tit{-webkit-text-fill-color:currentColor;background:none}}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.rodape__col>nav ul a,.rodape nav ul a{display:inline-block;padding:7px 0;font-size:14px;line-height:1.35}
.rodape__marca img{width:170px;height:auto;display:block;margin:0 0 12px}
.rodape__marca p{margin:0 0 12px;font-size:14px;line-height:1.5;max-width:44ch}
.rodape__redes{display:flex!important;gap:4px;flex-wrap:wrap}
.rodape__rede{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#d9ab4f!important}
.rodape__rede svg{width:22px;height:22px;fill:currentColor}
.rodape__rede:hover,.rodape__rede:focus-visible{color:#f1cd82!important;background:rgba(241,205,130,.14)}
.rodape__contatos{gap:12px!important}
.rodape__item{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}
.rodape__item svg{flex:none;width:20px;height:20px;margin-top:2px;fill:#d9ab4f}
.rodape__item address{font-style:normal;margin:0}
.rodape__item a{padding:2px 0}
footer.rodape .dol-rodape{width:min(100% - 40px,1200px);max-width:none;margin:0 auto;padding:15px 0 0;gap:10px 16px;border-top:1px solid rgba(255,255,255,.28);align-items:flex-start}
footer.rodape .dol-rodape__esq{flex-direction:column-reverse}
@media(max-width:999px){.rodape__grade{grid-template-columns:1fr 1fr}.rodape__marca,.rodape__contato{grid-column:1/-1}footer.rodape{padding-bottom:calc(15px + 76px)}}
@media(max-width:768px){footer.rodape .dol-rodape{align-items:center;text-align:center}footer.rodape .dol-rodape__esq{align-items:center}footer.rodape .dol-rodape .dol-rodape__esq>*,footer.rodape .dol-assinatura{text-align:center}}
/* WhatsApp flutuante: só transform/opacity, sem CLS */
.zap-flutuante{position:fixed;z-index:60;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;background:var(--cor-whatsapp);color:var(--cor-tinta);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.28);transition:transform .25s var(--ease)}
.zap-flutuante svg{width:32px;height:32px;fill:currentColor}
.zap-flutuante:hover,.zap-flutuante:focus-visible{transform:scale(1.08)}
body:has(dialog[open]) .zap-flutuante{display:none}

.passos-fecho{margin-top:32px;text-align:center}.passos-fecho p{margin:0 auto 12px;max-width:62ch}.passos-fecho .cta-linha{margin-top:20px;display:flex;justify-content:center}
.outra-festa{margin-top:36px;text-align:center}.outra-festa p{margin:0 auto 16px;max-width:52ch;font-size:clamp(17px,2vw,20px);line-height:1.5}.outra-festa .cta-linha{display:flex;justify-content:center}

/* decoração, cardápios e destaques */
.inclui{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px 20px;grid-template-columns:1fr}
@media(min-width:560px){.inclui{grid-template-columns:1fr 1fr}}
.inclui li{display:flex;align-items:center;gap:10px;font-weight:500}
.ck{flex:none;width:22px;height:22px;fill:var(--cor-acento-escuro)}
.foto--troca{position:relative;aspect-ratio:3/4}
.foto--troca .troca__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.foto--troca .troca__img.is-ativo{opacity:1}
.inclui__ver{appearance:none;background:none;border:0;margin:0;padding:6px 0;font:inherit;font-weight:500;color:inherit;text-align:left;cursor:pointer;line-height:1.35}
.inclui__ver:focus-visible{outline:2px solid var(--cor-acento-texto);outline-offset:3px;border-radius:2px}
.inclui__ver[aria-pressed="true"]{color:var(--cor-acento-texto)}
@media(hover:hover){.inclui__ver:hover{color:var(--cor-acento-texto)}}
@media(prefers-reduced-motion:reduce){.foto--troca .troca__img{transition:none}}
.destaque-lista{margin-top:18px;font-family:var(--f-rotulo);letter-spacing:.08em;text-transform:uppercase;font-size:14px;color:var(--cor-acento-texto)}
.todos-inclui{margin-top:32px;background:#fff;border-radius:var(--raio);padding:32px 24px;box-shadow:-2px 4px 8px rgba(0,0,0,.16)}
.todos-inclui__cab{display:flex;align-items:center;gap:14px;margin:0 0 28px}
.todos-inclui__tit{margin:0;max-width:none!important;font-family:var(--f-rotulo);letter-spacing:.08em;text-transform:uppercase;font-size:14px;line-height:1.5;color:var(--cor-acento-texto);text-align:center}
.orn{position:relative;flex:1;height:7px;min-width:20px;background:linear-gradient(90deg,transparent,var(--cor-acento)) center/100% 1px no-repeat}
.orn--d{background-image:linear-gradient(270deg,transparent,var(--cor-acento))}
.orn::after{content:"";position:absolute;top:0;width:6px;height:6px;background:var(--cor-acento);transform:rotate(45deg)}
.orn--e::after{right:0}
.orn--d::after{left:0}
.todos-inclui ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.todos-inclui li{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:none;padding:24px 18px;font-size:14px;line-height:1.55;border-top:1px solid rgba(194,163,47,.4)}
.todos-inclui li:first-child{border-top:0;padding-top:0}
.todos-inclui li:last-child{padding-bottom:0}
.ti__ico{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--cor-acento);background:var(--cor-fundo);color:var(--cor-acento);margin-bottom:14px}
.todos-inclui strong{display:block;font-family:var(--f-titulo);font-weight:400;font-size:18px;line-height:1.25}
.ti__fio{display:block;width:40px;height:1px;background:var(--cor-acento);margin:12px auto}
.todos-inclui li p{margin:0;max-width:none;color:var(--cor-tinta)}
@media(min-width:560px){.todos-inclui ul{grid-template-columns:repeat(2,1fr)}.todos-inclui li:nth-child(3){padding-bottom:24px}.todos-inclui li:nth-child(2){border-top:0;padding-top:0}.todos-inclui li:nth-child(even){border-left:1px solid rgba(194,163,47,.4)}}
@media(min-width:960px){.todos-inclui ul{grid-template-columns:repeat(4,1fr)}.todos-inclui li{border-top:0;padding:0 18px}.todos-inclui li+li{border-left:1px solid rgba(194,163,47,.4)}}
.cardapio__tag{font-family:var(--f-rotulo);letter-spacing:.08em;text-transform:uppercase;font-size:13px!important;color:var(--cor-acento-texto);margin:0 0 8px!important}
.adicionais-tit{margin:36px 0 0;text-align:center;font-size:20px}
.adicionais{display:grid;gap:12px;margin-top:16px}
@media(min-width:760px){.adicionais{grid-template-columns:repeat(3,1fr)}}
.adicional{background:#fff;border-radius:var(--raio);padding:18px 20px;font-size:14px;box-shadow:-2px 4px 8px rgba(0,0,0,.16)}
.adicional strong{display:block;font-family:var(--f-titulo);font-weight:400;font-size:17px;margin-bottom:2px}
.sec .centro p{margin-left:auto;margin-right:auto;max-width:60ch}
.destaques{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:14px}
@media(min-width:760px){.destaques{grid-template-columns:repeat(4,1fr)}}
.destaques li{background:#fff;border-radius:var(--raio);padding:20px;font-size:14px;line-height:1.45;border-top:3px solid var(--cor-acento);box-shadow:-2px 4px 8px rgba(0,0,0,.16)}
.destaques strong{display:block;font-family:var(--f-titulo);font-weight:400;font-size:18px;margin-bottom:6px;text-transform:uppercase}

/* ajuste de disposição: adicionais e fecho dos cardápios */
#cardapios .cardapios{margin-bottom:0}
#cardapios .adicionais-tit{display:flex;align-items:center;gap:18px;margin:64px 0 22px;font-family:var(--f-rotulo);font-weight:400;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--cor-acento-texto);text-align:center}
#cardapios .adicionais-tit::before,#cardapios .adicionais-tit::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#c2a32f)}
#cardapios .adicionais-tit::after{background:linear-gradient(270deg,transparent,#c2a32f)}
#cardapios .adicionais{margin-top:0;gap:16px}
#cardapios .adicional{text-align:center;padding:24px 20px;border-top:3px solid var(--cor-acento);line-height:1.45}
#cardapios .adicional strong{font-size:19px;margin-bottom:6px}
#cardapios .outra-festa{margin-top:64px;padding-top:40px;border-top:1px solid rgba(194,163,47,.45)}
#cardapios .outra-festa p{max-width:40ch;font-size:clamp(18px,2vw,22px)}
@media(max-width:759px){#cardapios .adicionais-tit{margin-top:44px}#cardapios .outra-festa{margin-top:44px}}

/* carrossel automático (fade) */
.fade{position:relative}
.fade__palco{position:relative;aspect-ratio:5/4;border-radius:var(--raio);overflow:hidden;box-shadow:-2px 4px 8px rgba(0,0,0,.16);background:var(--cor-superficie)}
.fade__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.fade__slide.is-ativo{opacity:1}
.fade__slide img{width:100%;height:100%;object-fit:cover;display:block}
.fade__pontos{display:flex;justify-content:center;gap:6px;margin-top:10px}
.fade__ponto{width:24px;height:24px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.fade__ponto::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:rgba(35,31,32,.3);transition:background .3s,transform .3s}
.fade__ponto.is-ativo::after{background:var(--cor-acento);transform:scale(1.3)}
.fade__ponto:focus-visible{outline:3px solid var(--cor-acento);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.fade__slide{transition:none}}

/* mapa da página de contato */
.mapa-card{display:block;margin-top:24px;border-radius:var(--raio);overflow:hidden;background:#fff;box-shadow:-2px 4px 8px rgba(0,0,0,.16);text-decoration:none;color:inherit}
.mapa-card__arte{display:block;width:100%;height:clamp(220px,34vw,360px)}
.mapa-card__rodape{display:flex;flex-direction:column;gap:2px;padding:16px 20px;font-size:14px;border-top:3px solid var(--cor-acento)}
.mapa-card__rodape strong{font-family:var(--f-titulo);font-weight:400;font-size:18px}
.mapa-card:hover .mapa-card__arte,.mapa-card:focus-visible .mapa-card__arte{filter:saturate(1.15)}
#como-chegar .cta-linha{display:flex;justify-content:center;margin-top:22px}

/* painel do Instagram (home): grade 3x3, 3 colunas também no mobile */
.ig__sub{margin:0 auto 24px}
.ig__grade{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:900px}
@media(min-width:760px){.ig__grade{gap:12px}}
.ig__grade li{margin:0;max-width:none}
.ig__item{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:var(--cor-superficie);text-decoration:none}
@media(min-width:760px){.ig__item{border-radius:var(--raio)}}
.ig__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ig__item::after{content:"";position:absolute;inset:0;background:rgba(35,31,32,0);transition:background .3s}
.ig__item:hover img,.ig__item:focus-visible img{transform:scale(1.05)}
.ig__item:hover::after,.ig__item:focus-visible::after{background:rgba(35,31,32,.22)}
.ig__selo{position:absolute;z-index:1;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:rgba(35,31,32,.62);color:#fff;display:flex;align-items:center;justify-content:center}
.ig__selo svg{width:13px;height:13px;fill:currentColor}
@media(min-width:760px){.ig__selo{top:10px;right:10px;width:28px;height:28px}.ig__selo svg{width:16px;height:16px}}
.ig__cta{justify-content:center;margin-top:28px}
@media(prefers-reduced-motion:reduce){.ig__item img,.ig__item::after{transition:none}.ig__item:hover img,.ig__item:focus-visible img{transform:none}}

.sec.provas{padding-top:36px;padding-bottom:8px}
.foto--vert{max-width:420px;margin-inline:auto}
.dois--depois{margin-top:32px}
p.dois--depois{max-width:none;margin-top:28px}
.duas-fotos{display:grid;gap:18px;margin-top:24px}
@media(min-width:760px){.duas-fotos{grid-template-columns:1fr 1fr}}
.tour figure{margin:24px auto 0;max-width:360px}
.tour video{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:var(--raio);background:var(--cor-tinta)}
.tour figcaption{font-size:13px;margin-top:8px}
.so-leitor{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sec--rosa .cartao__seta{color:var(--cor-acento-escuro)}
.sec--rosa .cartao:hover .cartao__seta,.sec--rosa .cartao:focus-visible .cartao__seta{color:var(--cor-acento)}
.sec--rosa .continue__rotulo{color:var(--cor-tinta)}

/* painel escuro de autoridade (painel_numeros em lib.py): tinta, ornamento dourado no topo (sem linha), faixa de 5 números em degradê dourado */
.sec.painel-num{background:var(--cor-tinta);color:var(--cor-fundo);padding:88px 0 96px;overflow:visible;z-index:5}
.painel-num::before{content:"";position:absolute;left:50%;top:0;z-index:1;width:min(720px,86%);aspect-ratio:1655/125;transform:translate(-50%,-41.6%);pointer-events:none;background:url(/assets/img/filete-dourado.webp) center/contain no-repeat}
@media(min-width:960px){.painel-num::before{aspect-ratio:auto;height:54px;width:min(980px,70%);background:url(/assets/img/filete-dourado.webp) center/auto 100% no-repeat,linear-gradient(90deg,transparent 0,#d9ab4f 24%,#f1cd82 50%,#d9ab4f 76%,transparent 100%) 0 42%/100% 2px no-repeat}}
.painel-num__faixa{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr)}
.painel-num__faixa li{max-width:none;text-align:center;padding:8px 14px;border-left:1px solid rgba(194,163,47,.55)}
.painel-num__faixa li:first-child{border-left:0}
.painel-num__g{display:block;font-family:var(--f-titulo);font-weight:400;font-size:clamp(64px,6.4vw,88px);line-height:1.05;color:var(--cor-acento)}
@supports((-webkit-background-clip:text) or (background-clip:text)){.painel-num__g{background:linear-gradient(180deg,#806830 0%,#d9ab4f 28%,#f1cd82 52%,#d9ab4f 76%,#9e8039 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}}
.painel-num__leg{display:block;max-width:160px;margin:12px auto 0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.88)}
.painel-num__est{display:flex;gap:5px;justify-content:center;margin-top:10px}
.painel-num__est svg{width:16px;height:16px;fill:rgba(217,171,79,.18);stroke:#d9ab4f;stroke-width:1.1;stroke-linejoin:round}
@media(max-width:700px){.sec.painel-num{padding:68px 0 72px}.painel-num__faixa{grid-template-columns:1fr 1fr;row-gap:40px}.painel-num__faixa li:nth-child(odd){border-left:0}.painel-num__faixa li:nth-child(even){border-left:1px solid rgba(194,163,47,.55)}.painel-num__faixa li:last-child{grid-column:1/-1;border-left:0}.painel-num__g{font-size:64px}.painel-num__faixa li{padding:4px 10px}}

/* rodapé no mobile: tudo centralizado; abreviação SP só no mobile */
.so-mob{display:none;text-decoration:none;border:0}
footer.rodape .dol-rodape .copy{text-wrap:balance}
@media(max-width:760px){
.rodape__col,.rodape__marca{text-align:center}
.rodape__marca img{margin:0 auto 12px}
.rodape__marca p{margin:0 auto 12px;max-width:36ch}
.rodape__redes{justify-content:center;gap:8px}
.rodape__rede{width:48px;height:48px}
.rodape__item{justify-content:center;text-align:center}
.rodape__item svg{margin-top:4px}
.rodape ul{justify-items:center}
.so-desk{display:none}
.so-mob{display:inline}
footer.rodape .dol-rodape .copy{font-size:13px;letter-spacing:0}
}

/* 4,7 + estrelas: o conjunto é o link da ficha no Google (sem sublinhado em nenhum estado) */
.painel-num__faixa a.painel-num__nota,.painel-num__faixa a.painel-num__nota:hover,.painel-num__faixa a.painel-num__nota:focus,.painel-num__faixa a.painel-num__nota:focus-visible,.painel-num__faixa a.painel-num__nota:visited{display:block;color:inherit;text-decoration:none;cursor:pointer}
.painel-num__nota{transition:transform .18s var(--ease),filter .18s var(--ease)}
.painel-num__nota .painel-num__est{margin-top:12px}
.painel-num__nota:hover,.painel-num__nota:focus-visible{transform:translateY(-2px);filter:brightness(1.18)}
.painel-num__nota:hover .painel-num__est svg,.painel-num__nota:focus-visible .painel-num__est svg{stroke:#f1cd82;fill:rgba(241,205,130,.28)}
.painel-num__nota:focus-visible{outline:3px solid #f1cd82;outline-offset:6px;border-radius:8px}
@media(prefers-reduced-motion:reduce){.painel-num__nota{transition:none}.painel-num__nota:hover,.painel-num__nota:focus-visible{transform:none}}
