/* Motor das prévias premium (lote 4). Cada página define as cores e fontes em :root. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--fb),system-ui,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--fd);font-weight:var(--fdw,600);line-height:1.08;margin:0;letter-spacing:var(--fdls,-.01em);text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--ac);outline-offset:3px}
.muted{color:var(--mut)}

/* aviso de prévia */
.aviso{background:var(--ink);color:var(--bg);font-size:.82rem;text-align:center;padding:7px 16px}
.aviso a{color:inherit}

/* cabeçalho */
.topo{position:sticky;top:0;z-index:40;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--linha)}
.topo .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--fd);font-size:1.25rem;font-weight:var(--fdw,600);line-height:1.1;margin-right:auto;min-width:0}
.marca img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.marca span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu{display:flex;gap:22px;font-size:.93rem}
.menu a{text-decoration:none;opacity:.8}
.menu a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.icobtn{position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linha);background:var(--card);border-radius:999px;padding:9px 15px;cursor:pointer;font-size:.92rem;font-weight:600;text-decoration:none}
.icobtn svg{width:19px;height:19px}
.badge{min-width:21px;height:21px;border-radius:999px;background:var(--ac);color:var(--acx);font-size:.74rem;display:inline-grid;place-items:center;padding:0 6px}
.badge[hidden]{display:none}
@media (max-width:860px){.menu{display:none}}
@media (max-width:560px){.topo .wrap{gap:8px}.topo a.icobtn[data-zap]{display:none}.icobtn{padding:8px 12px}.marca{font-size:1.1rem}}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--rb,999px);padding:14px 24px;font-weight:600;text-decoration:none;cursor:pointer;border:1.5px solid var(--ac);background:var(--ac);color:var(--acx);transition:transform .15s,background .15s;min-height:48px;text-align:center;line-height:1.2}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:none}
.btn.vaz{background:transparent;color:var(--ink);border-color:color-mix(in oklab,var(--ink) 35%,transparent)}
.btn.zap{background:#1f8f4e;border-color:#1f8f4e;color:#fff}
.btn.peq{padding:9px 16px;min-height:40px;font-size:.9rem}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn svg{width:20px;height:20px;flex:none}

/* hero */
.hero{padding:clamp(28px,6vw,72px) 0 clamp(36px,6vw,80px)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.hero h1{font-size:clamp(2.5rem,6.4vw,5.2rem)}
.hero .lead{font-size:clamp(1.05rem,1.6vw,1.22rem);max-width:36em;margin:22px 0 28px;color:var(--mut)}
.hero .acoes{display:flex;flex-wrap:wrap;gap:12px}
.hero .fatos{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:32px;font-size:.92rem;color:var(--mut)}
.hero .fatos b{display:block;color:var(--ink);font-family:var(--fd);font-size:1.5rem;line-height:1.1}
.hfotos{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:1/1.05}
.hfotos img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.hfotos img:first-child{grid-row:span 2}
.h-full .hero{position:relative;color:#fff;padding:0;min-height:min(86vh,760px);display:grid;align-items:end}
.h-full .hero .wrap{grid-template-columns:1fr;position:relative;z-index:1;padding:120px 0 56px}
.h-full .hero .lead,.h-full .hero .fatos{color:rgba(255,255,255,.86)}
.h-full .hero .fatos b{color:#fff}
.h-full .hero .btn.vaz{color:#fff;border-color:rgba(255,255,255,.6)}
.h-full .hfundo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h-full .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.72) 75%)}
.h-full .hfotos{display:none}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hfotos{aspect-ratio:4/3.4}}

/* faixa de categorias */
.faixa{border-block:1px solid var(--linha);overflow:hidden;white-space:nowrap;padding:14px 0;font-family:var(--fd);font-size:1.15rem}
.faixa div{display:inline-flex;gap:40px;padding-left:40px;animation:rola 38s linear infinite}
.faixa span::after{content:"✦";margin-left:40px;color:var(--ac);font-size:.8em}
@keyframes rola{to{transform:translateX(-50%)}}

/* seções */
.sec{padding:clamp(56px,8vw,104px) 0}
.sec.alt{background:var(--soft)}
.sec.esc{background:var(--ink);color:var(--bg)}
.sec.esc .painel .muted{color:var(--mut)}
.sec.esc .muted,.sec.esc .cab p{color:color-mix(in oklab,var(--bg) 75%,transparent)}
.cab{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:14px 40px;margin-bottom:clamp(26px,4vw,44px)}
.cab h2{font-size:clamp(2rem,4.4vw,3.3rem);max-width:15em}
.cab p{max-width:34em;margin:0;color:var(--mut)}

/* vitrine de categorias */
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px}
.cat{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;display:block;text-decoration:none;color:#fff;border:0;padding:0;cursor:pointer;background:var(--soft)}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat:hover img{transform:scale(1.04)}
.cat span{position:absolute;inset:auto 0 0 0;padding:44px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.7));font-family:var(--fd);font-size:1.4rem;text-align:left}
.cat small{display:block;font-family:var(--fb);font-size:.82rem;opacity:.85;margin-top:2px}

/* catálogo */
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:22px;scrollbar-width:thin}
.chip{flex:none;border:1px solid var(--linha);background:var(--card);border-radius:999px;padding:9px 16px;cursor:pointer;font-size:.92rem;white-space:nowrap}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.busca{display:flex;gap:10px;margin-bottom:16px}
.busca input{flex:1;min-width:0;border:1px solid var(--linha);background:var(--card);border-radius:999px;padding:12px 18px}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:22px 16px}
@media (max-width:560px){.grade{grid-template-columns:1fr 1fr;gap:18px 10px}}
.prod{display:flex;flex-direction:column;gap:8px;text-align:left;border:0;background:none;padding:0;cursor:pointer}
.prod .ft{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:var(--prodar,4/5);background:var(--soft)}
.prod .ft img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.prod:hover .ft img{transform:scale(1.04)}
.prod .tag{position:absolute;top:10px;left:10px;background:var(--bg);color:var(--ink);font-size:.74rem;font-weight:600;border-radius:999px;padding:4px 10px}
.prod h3{font-family:var(--fb);font-size:.98rem;font-weight:600;line-height:1.3}
.prod .pr{font-size:.95rem}
.prod .pr s{color:var(--mut);margin-right:6px;font-size:.85em}
.prod .pc{font-size:.8rem;color:var(--mut)}
.nota{font-size:.84rem;color:var(--mut);margin-top:22px}
.vazio{padding:40px;text-align:center;color:var(--mut);grid-column:1/-1}

/* sobre */
.sobre{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.sobre .fts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sobre .fts img{border-radius:var(--r);aspect-ratio:3/4;object-fit:cover;width:100%}
.sobre .fts img:nth-child(2){margin-top:44px}
.sobre h2{font-size:clamp(2rem,4.2vw,3.1rem);margin-bottom:20px}
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:18px;margin-top:28px;padding-top:24px;border-top:1px solid var(--linha)}
.nums b{display:block;font-family:var(--fd);font-size:2rem;line-height:1;overflow-wrap:anywhere}
.nums>div{min-width:0}
.nums span{font-size:.86rem;color:var(--mut)}
@media (max-width:860px){.sobre{grid-template-columns:1fr}}

/* lista de vantagens */
.vant{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:var(--r);overflow:hidden}
.vant div{background:var(--bg);padding:26px 24px}
.sec.alt .vant div{background:var(--soft)}
.vant h3{font-size:1.3rem;margin-bottom:8px}
.vant p{margin:0;color:var(--mut);font-size:.95rem}

/* passos */
.passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:28px;counter-reset:p;list-style:none;padding:0;margin:0}
.passos li{counter-increment:p;border-top:2px solid var(--ink);padding-top:16px}
.sec.esc .passos li{border-color:var(--bg)}
.passos li::before{content:counter(p);font-family:var(--fd);font-size:2.4rem;line-height:1;display:block;margin-bottom:10px;color:var(--ac)}
.passos h3{font-size:1.25rem;margin-bottom:6px}
.passos p{margin:0;color:var(--mut);font-size:.95rem}
.sec.esc .passos p{color:color-mix(in oklab,var(--bg) 75%,transparent)}

/* galeria */
.galeria{columns:4 220px;column-gap:12px}
.galeria button{display:block;width:100%;margin:0 0 12px;padding:0;border:0;background:var(--soft);border-radius:var(--r);overflow:hidden;cursor:zoom-in;break-inside:avoid}
.galeria img{width:100%;transition:transform .45s}
.galeria button:hover img{transform:scale(1.03)}
@media (max-width:560px){.galeria{columns:2;column-gap:8px}.galeria button{margin-bottom:8px}}

/* serviços (agenda/oficina) */
.servs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.serv{display:grid;grid-template-columns:116px 1fr;gap:16px;background:var(--card);border:1px solid var(--linha);border-radius:var(--r);overflow:hidden;align-items:stretch}
.serv img{width:100%;height:100%;object-fit:cover;min-height:140px}
.serv div{padding:16px 16px 16px 0;display:flex;flex-direction:column;gap:6px}
.serv h3{font-size:1.2rem}
.serv p{margin:0;font-size:.92rem;color:var(--mut)}
.serv .meta{font-size:.84rem;color:var(--mut);margin-top:auto}
.serv .btn{align-self:flex-start;margin-top:6px}
.sec.esc .serv{background:color-mix(in oklab,var(--bg) 8%,var(--ink));border-color:color-mix(in oklab,var(--bg) 18%,transparent)}
.sec.esc .serv p,.sec.esc .serv .meta{color:color-mix(in oklab,var(--bg) 72%,transparent)}

/* agendamento e orçamento */
.painel{background:var(--card);border:1px solid var(--linha);border-radius:calc(var(--r) + 6px);padding:clamp(18px,3.5vw,36px);color:var(--ink)}
.etapas{display:flex;gap:6px;margin-bottom:22px;flex-wrap:wrap}
.etapas span{font-size:.82rem;padding:6px 12px;border-radius:999px;background:var(--soft);color:var(--mut)}
.etapas span.on{background:var(--ink);color:var(--bg)}
.etapas span.ok{background:color-mix(in oklab,var(--ac) 20%,var(--soft));color:var(--ink)}
.painel h3{font-size:1.45rem;margin-bottom:14px}
.opcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}
.opc{display:flex;flex-direction:column;gap:2px;text-align:left;border:1.5px solid var(--linha);background:var(--bg);border-radius:12px;padding:13px 15px;cursor:pointer;min-height:48px}
.opc small{color:var(--mut);font-size:.82rem}
.opc[aria-pressed=true]{border-color:var(--ac);background:color-mix(in oklab,var(--ac) 10%,var(--bg))}
.dias{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}
.dia{flex:none;width:68px;border:1.5px solid var(--linha);background:var(--bg);border-radius:12px;padding:9px 4px;cursor:pointer;text-align:center;line-height:1.2}
.dia b{display:block;font-family:var(--fd);font-size:1.4rem}
.dia small{font-size:.74rem;color:var(--mut);text-transform:capitalize}
.dia[aria-pressed=true]{border-color:var(--ac);background:var(--ac);color:var(--acx)}
.dia[aria-pressed=true] small{color:inherit}
.horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;margin-top:16px}
.hora{border:1.5px solid var(--linha);background:var(--bg);border-radius:10px;padding:10px 0;cursor:pointer;min-height:44px}
.hora[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.hora[aria-pressed=true]{border-color:var(--ac);background:var(--ac);color:var(--acx)}
.navs{display:flex;justify-content:space-between;gap:10px;margin-top:22px;flex-wrap:wrap}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.campos .cheio{grid-column:1/-1}
@media (max-width:560px){.campos{grid-template-columns:1fr}}
.campo{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600}
.campo input,.campo select,.campo textarea{font-weight:400;border:1.5px solid var(--linha);background:var(--bg);border-radius:10px;padding:12px 14px;min-height:48px;width:100%}
.campo textarea{min-height:96px;resize:vertical}
.campo .erro{color:#b42318;font-weight:500;font-size:.82rem;min-height:0}
.campo [aria-invalid=true]{border-color:#b42318}
.resumo{background:var(--soft);border-radius:12px;padding:16px 18px;font-size:.95rem}
.resumo div{display:flex;justify-content:space-between;gap:16px;padding:4px 0}
.resumo div span:last-child{text-align:right}
.resumo .tot{border-top:1px solid var(--linha);margin-top:6px;padding-top:10px;font-weight:700;font-size:1.05rem}

/* perguntas */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--linha);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-weight:600;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--ac)}
.faq details[open] summary::after{content:"−"}
.faq p{color:var(--mut);margin:0 0 16px}

/* visite */
.visite{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:stretch}
.visite .mapa{position:relative;border-radius:var(--r);overflow:hidden;min-height:320px;display:block;text-decoration:none;color:#fff}
.visite .mapa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.visite .mapa span{position:absolute;left:16px;bottom:16px;background:var(--bg);color:var(--ink);border-radius:999px;padding:10px 18px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.horario{width:100%;border-collapse:collapse;margin:14px 0 24px;font-size:.96rem}
.horario td{padding:9px 0;border-bottom:1px solid var(--linha)}
.horario td:last-child{text-align:right}
.horario tr.hoje td{font-weight:700}
@media (max-width:860px){.visite{grid-template-columns:1fr}}

/* rodapé */
.rodape{background:var(--ink);color:var(--bg);padding:52px 0 110px;font-size:.92rem}
.rodape .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.rodape h2{font-size:1.6rem;margin-bottom:12px}
.rodape a{color:inherit;opacity:.85}
.rodape p{opacity:.8}
.rodape .fim{grid-column:1/-1;border-top:1px solid color-mix(in oklab,var(--bg) 18%,transparent);padding-top:20px;opacity:.65;font-size:.82rem}
@media (max-width:760px){.rodape .wrap{grid-template-columns:1fr}}

/* barra fixa no celular */
.barra{position:fixed;left:12px;right:12px;bottom:12px;z-index:45;display:flex;gap:8px;padding:8px;border-radius:999px;background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.18);border:1px solid var(--linha)}
.barra .btn{flex:1;padding:11px 12px;min-height:46px;font-size:.92rem}
@media (min-width:861px){.barra{left:auto;right:24px;bottom:24px;width:auto}.barra .btn{flex:none}}

/* diálogos */
dialog{border:0;padding:0;background:var(--bg);color:var(--ink);border-radius:20px;width:min(760px,100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(15,12,10,.6)}
dialog.lado{margin:0 0 0 auto;height:100dvh;max-height:100dvh;border-radius:0;width:min(440px,100%)}
.dtopo{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;background:var(--bg);border-bottom:1px solid var(--linha)}
.dtopo h2{font-size:1.4rem}
.xis{border:0;background:var(--soft);width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.3rem;flex:none}
.dcorpo{padding:20px}
.pdlg{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pdlg .fts{display:flex;flex-direction:column;gap:8px}
.pdlg .fts>img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover}
.mini{display:flex;gap:6px;overflow-x:auto}
.mini button{flex:none;width:58px;height:58px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:none}
.mini button[aria-pressed=true]{border-color:var(--ac)}
.mini img{width:100%;height:100%;object-fit:cover}
.pdlg h3{font-size:1.7rem;margin-bottom:6px}
.pdlg .pr{font-size:1.3rem;font-weight:700;margin:8px 0 2px}
.grupo{margin:16px 0 0}
.grupo legend{font-weight:600;font-size:.9rem;margin-bottom:8px;padding:0}
.grupo{border:0;padding:0}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{border:1.5px solid var(--linha);background:var(--bg);border-radius:999px;padding:8px 15px;cursor:pointer;min-height:42px;min-width:46px}
.pill[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.qtd{display:inline-flex;align-items:center;border:1.5px solid var(--linha);border-radius:999px;overflow:hidden}
.qtd button{border:0;background:none;width:42px;height:42px;cursor:pointer;font-size:1.2rem}
.qtd span{min-width:30px;text-align:center;font-weight:600}
@media (max-width:640px){.pdlg{grid-template-columns:1fr}}
.linha{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--linha)}
.linha img{width:64px;height:76px;object-fit:cover;border-radius:8px}
.linha h3{font-family:var(--fb);font-size:.95rem;font-weight:600}
.linha small{color:var(--mut);display:block}
.linha .rm{border:0;background:none;color:var(--mut);text-decoration:underline;cursor:pointer;font-size:.82rem;padding:4px 0}
.dpe{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--linha);padding:16px 20px;display:grid;gap:10px}
.opcpag{display:grid;gap:10px}
.opcpag label{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--linha);border-radius:12px;padding:14px;cursor:pointer}
.opcpag label:has(input:checked){border-color:var(--ac);background:color-mix(in oklab,var(--ac) 8%,var(--bg))}
.opcpag input{margin-top:4px;accent-color:var(--ac);width:18px;height:18px;flex:none}
.opcpag small{display:block;color:var(--mut)}
.qr{display:grid;place-items:center;gap:10px;text-align:center;margin:10px 0}
.qr svg{width:200px;height:200px;background:#fff;padding:10px;border-radius:12px;border:1px solid var(--linha)}
.codigo{font-family:ui-monospace,monospace;font-size:.78rem;word-break:break-all;background:var(--soft);padding:10px 12px;border-radius:10px;width:100%}
.demo{font-size:.82rem;background:color-mix(in oklab,var(--ac2) 30%,var(--bg));border-radius:10px;padding:10px 12px;margin:12px 0}
.zoom{background:#000;width:min(1100px,100% - 16px);max-height:calc(100dvh - 16px)}
.zoom img{max-height:calc(100dvh - 90px);width:auto;margin:auto;object-fit:contain}
.zoom .zn{display:flex;justify-content:space-between;align-items:center;padding:10px;color:#fff}
.zoom .zn button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:10px 16px;cursor:pointer;min-height:44px}
.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:999px;z-index:100;transition:.25s;pointer-events:none;font-size:.92rem;max-width:calc(100% - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* área Entrar: contas de demonstração e painel */
.link{border:0;background:none;color:var(--ac);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:600;padding:6px}
.perfis{display:grid;gap:10px}
.perfil{display:flex;gap:14px;align-items:center;text-align:left;border:1.5px solid var(--linha);background:var(--card);border-radius:14px;padding:14px 16px;cursor:pointer}
.perfil:hover{border-color:var(--ac)}
.perfil small{display:block;color:var(--mut);font-size:.84rem}
.av{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ac);color:var(--acx);font-family:var(--fd);font-size:1.3rem}
dialog.conta{width:min(1180px,100% - 16px);height:calc(100dvh - 16px);max-height:none;background:var(--soft);display:flex;flex-direction:column}
dialog.conta:not([open]){display:none}
.ctopo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:var(--ink);color:var(--bg)}
.ctopo small{opacity:.7;font-size:.8rem}
.ctopo h2{font-size:clamp(1.2rem,3vw,1.6rem)}
.ctopo-b{display:flex;gap:8px;align-items:center}
.ctopo .btn.vaz{color:var(--bg);border-color:color-mix(in oklab,var(--bg) 50%,transparent)}
.cabas{display:flex;gap:4px;overflow-x:auto;padding:10px 16px 0;background:var(--ink)}
.cabas button{flex:none;border:0;background:none;color:color-mix(in oklab,var(--bg) 70%,transparent);padding:10px 14px;border-radius:10px 10px 0 0;cursor:pointer;font-weight:600;min-height:44px}
.cabas button[aria-selected=true]{background:var(--soft);color:var(--ink)}
.ccorpo{padding:18px clamp(12px,3vw,26px) 40px;overflow:auto;flex:1}
.ct{font-size:1.4rem;margin:6px 0 8px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;margin-bottom:14px}
.kpi{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.kpi span{font-size:.84rem;color:var(--mut)}
.kpi b{font-family:var(--fd);font-size:1.9rem;line-height:1.1;font-variant-numeric:tabular-nums}
.dl{font-size:.78rem!important;font-weight:600}
.dl.up{color:#1a7f45!important}.dl.dn{color:#b42318!important}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.ccard{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:16px 18px;min-width:0}
.ccard h3{font-family:var(--fb);font-size:1rem;font-weight:700;margin-bottom:12px}
.ccard.larga{grid-column:span 3}
@media (min-width:900px){.ccard.larga:first-child{grid-column:span 3}}
@media (max-width:900px){.cgrid{grid-template-columns:1fr}.ccard.larga{grid-column:auto}}
.graf{width:100%;height:auto;display:block}
.graf .b1{fill:color-mix(in oklab,var(--ac) 45%,var(--soft))}
.graf .b2{fill:var(--ac)}
.graf .gl{stroke:var(--linha);stroke-width:1}
.graf .tv{font:600 12px var(--fb);fill:var(--ink);text-anchor:middle}
.graf .tl{font:12px var(--fb);fill:var(--mut);text-anchor:middle}
.top{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.top li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:.9rem}
.top li:not(:has(img)){grid-template-columns:1fr auto}
.top img{width:40px;height:40px;border-radius:8px;object-fit:cover}
.top span{min-width:0}
.top b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top i{display:block;height:6px;border-radius:3px;background:var(--ac);margin-top:5px}
.top em{font-style:normal;color:var(--mut);font-variant-numeric:tabular-nums}
.lst{list-style:none;margin:0;padding:0}
.lst li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--linha);font-size:.92rem}
.lst li:last-child{border-bottom:0}
.lst b{white-space:nowrap}
@media (max-width:560px){.kpi b{font-size:1.45rem}.kpi{padding:12px 14px}}
.alerta{color:#b54708}.zero{color:#b42318}
.tab{overflow-x:auto;background:var(--card);border:1px solid var(--linha);border-radius:14px}
.ccard .tab{border:0}
.tab table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:620px}
.tab th{text-align:left;font-size:.78rem;color:var(--mut);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--linha)}
.tab td{padding:10px 12px;border-bottom:1px solid var(--linha);vertical-align:top}
.tab td small{display:block;color:var(--mut);font-size:.78rem}
.tab tr:last-child td{border-bottom:0}
.pcel{display:flex;gap:10px;align-items:center}
.pcel img{width:38px;height:38px;border-radius:8px;object-fit:cover;flex:none}
.st{display:inline-block;font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--soft);white-space:nowrap}
.st-novo,.st-aguardando-confirma-o{background:#fff1d6;color:#8a5200}
.st-separando,.st-chegou{background:#e3ecff;color:#1d4ed8}
.st-saiu-para-entrega,.st-confirmado{background:#efe5ff;color:#6b21a8}
.st-entregue,.st-conclu-do{background:#dcf5e6;color:#166534}
.agl{list-style:none;margin:0;padding:0}
.agl li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.agl li:last-child{border-bottom:0}
.agl .hr{font-variant-numeric:tabular-nums;min-width:48px}
.agl span:not(.st){flex:1;min-width:150px}
.agl small{display:block;color:var(--mut);font-size:.82rem}
.trilho{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:12px}
.trilho span{font-size:.72rem;color:var(--mut);border-top:4px solid var(--linha);padding-top:6px}
.trilho span.feito{border-color:var(--ac);color:var(--ink);font-weight:600}
.ccorpo .grade{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}

/* confirmação de pedido e de agendamento */
.ok-pedido{text-align:center;padding:10px 0 18px}
.ok-ico{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#1a7f45;color:#fff;font-size:2rem;margin-bottom:10px}
.ok-num{font-family:var(--fd);font-size:1.5rem;margin:4px 0 10px}
.st-pago{background:#dcf5e6;color:#166534}

/* seletor de versões da prévia */
.versoes{background:var(--soft);border-bottom:1px solid var(--linha);font-size:.88rem}
.versoes .wrap{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:8px 0;white-space:nowrap}
.versoes span{color:var(--mut);margin-right:4px}
.versoes a{text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--linha);background:var(--card)}
.versoes a[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
/* cardápio da mesa */
.mesa-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.mesa-topo h3{font-size:2rem}
.mgrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin-bottom:110px}
.mitem{display:grid;grid-template-columns:96px 1fr;gap:12px;background:var(--card);border:1px solid var(--linha);border-radius:var(--r);overflow:hidden}
.mitem img{width:100%;height:100%;object-fit:cover;min-height:110px}
.mitem>div{padding:10px 12px 10px 0;display:flex;flex-direction:column;gap:4px}
.mitem h4{margin:0;font-size:1rem}
.mitem p{margin:0;font-size:.84rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mlin{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:8px}
.mbarra{position:sticky;bottom:12px;display:flex;gap:8px;flex-wrap:wrap;background:color-mix(in oklab,var(--bg) 92%,transparent);padding:8px;border-radius:999px;border:1px solid var(--linha);box-shadow:0 10px 30px rgba(0,0,0,.15);z-index:5}
.mbarra .btn{flex:1}
.mstatus{margin:0 0 20px}
.mst{display:grid;gap:8px;padding:10px 0;border-bottom:1px solid var(--linha)}
.mst:last-child{border-bottom:0}
dialog#dlgMesa .trilho{grid-template-columns:repeat(4,1fr)}
/* tela da cozinha */
.kcols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kcol{background:var(--soft);border-radius:var(--r);padding:12px;min-height:300px}
.kcol h3{font-family:var(--fb);font-size:1rem;margin-bottom:10px;display:flex;gap:8px;align-items:center}
.kcard{background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:12px;margin-bottom:10px}
.kcard.atraso{border-color:#b42318;box-shadow:inset 4px 0 0 #b42318}
.kc-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.kc-top b{font-family:var(--fd);font-size:1.3rem}
.kc-top small{color:var(--mut)}
.kcard ul{margin:8px 0;padding-left:18px}
.kobs{font-size:.86rem;background:#fff4d6;padding:6px 8px;border-radius:8px;margin:0 0 8px}
@media (max-width:760px){.kcols{grid-template-columns:1fr}}
/* cardápio para consulta (sem preço) */
.consulta{columns:2 320px;column-gap:40px}
.consulta>div{break-inside:avoid;margin-bottom:26px}
.consulta h3{font-size:1.4rem;margin-bottom:10px}
.consulta ul{list-style:none;margin:0;padding:0}
.consulta li{display:flex;gap:12px;padding:8px 0;border-bottom:1px dashed var(--linha)}
.consulta li img{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:none}
.consulta small{display:block;color:var(--mut);font-size:.84rem}
/* clube */
.clube-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}
@media (max-width:760px){.clube-grid{grid-template-columns:1fr}}
.clube-card{background:var(--ink);color:var(--bg);border-radius:calc(var(--r) + 6px);padding:24px}
.clube-card.vazio-card{max-width:640px}
.clube-card small{opacity:.75}
.clube-card .btn.vaz{color:var(--bg);border-color:color-mix(in oklab,var(--bg) 50%,transparent)}
.clube-card .demo{color:var(--ink)}
.clube-nivel{display:inline-block;background:var(--ac2);color:var(--ink);border-radius:999px;padding:3px 12px;font-weight:700;font-size:.84rem;margin:8px 0}
.clube-saldo{font-family:var(--fd);font-size:2.6rem;line-height:1;margin:6px 0 12px}
.clube-saldo small{font-family:var(--fb);font-size:.9rem}
.clube-barra{height:8px;background:color-mix(in oklab,var(--bg) 25%,transparent);border-radius:4px;margin-bottom:6px}
.clube-barra i{display:block;height:100%;background:var(--ac2);border-radius:4px}
.clube-favs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.clube-favs button{border:0;background:none;padding:0;text-align:left;cursor:pointer;font-size:.84rem}
.clube-favs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;margin-bottom:4px}
/* acompanhe o serviço */
.st-linha{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0}
.st-linha li{position:relative;padding:0 0 16px 30px;border-left:3px solid var(--linha);margin-left:8px}
.st-linha li::before{content:"";position:absolute;left:-10px;top:0;width:17px;height:17px;border-radius:50%;background:var(--bg);border:3px solid var(--linha)}
.st-linha li.feito{border-color:var(--ac)}.st-linha li.feito::before{background:var(--ac);border-color:var(--ac)}
.st-linha li.agora::before{border-color:var(--ac2);background:var(--ac2)}
.st-linha small{display:block;color:var(--mut)}
.st-fotos{display:flex;gap:8px;margin-top:14px;overflow-x:auto}
.st-fotos img{width:140px;height:110px;object-fit:cover;border-radius:10px;flex:none}

/* painel em tela cheia, menu ao lado no computador e embaixo no celular */
dialog#dlgConta.conta{width:100vw;max-width:none;height:100dvh;margin:0;border-radius:0;inset:0}
#dlgConta .cmeio{flex:1;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}
#dlgConta .cabas{flex-direction:column;gap:2px;padding:12px;overflow-y:auto;background:var(--ink)}
#dlgConta .cabas button{border-radius:10px;text-align:left}
#dlgConta .cabas button[aria-selected=true]{background:var(--soft);color:var(--ink)}
#dlgConta .ccorpo{min-height:0}
#dlgConta .ctopo-b{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:800px){
 #dlgConta .cmeio{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
 #dlgConta .cabas{order:2;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:8px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid color-mix(in oklab,var(--bg) 20%,transparent)}
 #dlgConta .cabas button{white-space:nowrap;text-align:center}
 #dlgConta .ctopo{padding:12px 14px}
}

/* ===== variações visuais: layout do topo (l-*), modo (t-*), menu (m-*) e cards (c-*) ===== */
.pinfo{display:flex;flex-direction:column;gap:6px}
.hero .hnum{margin:0 0 18px;display:flex;flex-direction:column;gap:4px}
.hero .hnum b{font-family:var(--fd);font-size:clamp(3.6rem,8vw,6.4rem);line-height:.9;color:var(--ac);letter-spacing:-.03em}
.hero .hnum span{font-size:.9rem;color:var(--mut);max-width:16em}

/* editorial: título enorme na largura toda e faixa de fotos embaixo */
.hero.l-ed{padding-bottom:0}
.hero.l-ed .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0 clamp(24px,5vw,64px);align-items:end}
.hero.l-ed .htxt{display:contents}
.hero.l-ed h1{grid-column:1/-1;font-size:clamp(2.8rem,8.6vw,7.6rem);line-height:.92;letter-spacing:-.035em;max-width:none;margin-bottom:clamp(20px,3vw,36px)}
.hero.l-ed .lead{grid-column:1;margin:0}
.hero.l-ed .acoes{grid-column:2;grid-row:2;justify-content:flex-end;align-self:end}
.hero.l-ed .fatos{grid-column:1/-1}
.hfaixa{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:10px;margin-top:clamp(32px,5vw,56px);padding:0 10px}
.hfaixa img{width:100%;height:clamp(220px,30vw,420px);object-fit:cover;border-radius:var(--r)}
@media (max-width:760px){.hero.l-ed .wrap{grid-template-columns:1fr}.hero.l-ed .acoes{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:22px}
 .hfaixa{grid-template-columns:1fr 1fr;padding:0}.hfaixa img{height:200px}.hfaixa img:nth-child(n+3){display:none}}

/* mosaico: grade de fotos com o texto numa caixa por cima */
.hero.l-mos{position:relative;padding:0}
.mos{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:6px;height:min(88vh,760px)}
.mos.n4{grid-template-columns:1.4fr 1fr}
.mos img{width:100%;height:100%;object-fit:cover;min-height:0}
.mos.n4 img:first-child{grid-row:span 2}
.hero.l-mos .wrap{position:absolute;inset:0;display:grid;align-items:center;justify-items:start;pointer-events:none}
.hero.l-mos .htxt{pointer-events:auto;background:var(--bg);padding:clamp(24px,4vw,48px);max-width:600px;border-radius:var(--r);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.hero.l-mos h1{font-size:clamp(2.2rem,4.8vw,4rem)}
@media (max-width:760px){.mos{height:auto;grid-template-rows:repeat(2,150px)}.mos.n4{grid-template-rows:repeat(2,170px)}
 .hero.l-mos .wrap{position:relative;inset:auto;margin-top:-56px;display:block}.hero.l-mos .htxt{padding:24px 20px;max-width:none}}

/* centro: título centralizado e fotos rolando */
.hero.l-cen{padding-bottom:clamp(28px,4vw,48px)}
.hero.l-cen .wrap{display:block;text-align:center}
.hero.l-cen .htxt{max-width:900px;margin-inline:auto}
.hero.l-cen{padding-top:clamp(28px,4.5vw,56px)}
.hero.l-cen h1{font-size:clamp(2.4rem,5.4vw,4.6rem)}
.hero.l-cen .lead{margin:16px auto 22px}
.hero.l-cen .fatos{margin-top:20px}
.hero.l-cen .lead{margin-inline:auto}
.hero.l-cen .acoes,.hero.l-cen .fatos{justify-content:center}
.hrol{overflow:hidden;margin-top:clamp(24px,3.5vw,40px)}
.hrol>div{display:flex;gap:12px;width:max-content;animation:rola 60s linear infinite}
.hrol img{height:clamp(200px,24vw,330px);width:auto;aspect-ratio:4/5;max-width:none;object-fit:cover;border-radius:var(--r);flex:none}
.hrol:hover>div{animation-play-state:paused}

/* revista: coluna estreita de texto, foto vertical grande e número em destaque */
.hero.l-rev .wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr) minmax(0,.42fr);gap:clamp(16px,2.4vw,28px);align-items:stretch}
.hero.l-rev .htxt{display:flex;flex-direction:column;justify-content:center;padding-right:clamp(0px,2vw,24px);border-right:1px solid var(--linha)}
.hero.l-rev h1{font-size:clamp(2.2rem,4.4vw,3.8rem)}
.hero.l-rev .lead{margin:18px 0 24px}
.hgrande img{width:100%;height:100%;aspect-ratio:3/4.2;object-fit:cover;border-radius:var(--r)}
.hlado{display:grid;grid-template-rows:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.hlado img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
@media (max-width:860px){.hero.l-rev .wrap{grid-template-columns:1fr}.hero.l-rev .htxt{border-right:0;padding:0}.hlado{display:none}.hgrande img{aspect-ratio:4/4.6}}

/* fundo escuro (cores calculadas no build) */
.t-escuro .clube-nivel{color:var(--bg)}
.t-escuro .kobs{color:#3a2a00}
.t-escuro .campo .erro,.t-escuro .zero{color:#ff9b8f}
.t-escuro .campo [aria-invalid=true]{border-color:#ff9b8f}
.t-escuro .prod .tag{background:var(--ink);color:var(--bg)}
.t-escuro .sec.esc{background:var(--ac2);color:var(--ink)}
.t-escuro .sec.esc .passos li{border-color:var(--ink)}
.t-escuro .sec.esc .muted,.t-escuro .sec.esc .cab p,.t-escuro .sec.esc .passos p{color:var(--mut)}
.t-escuro .sec.esc .serv{background:var(--card);border-color:var(--linha)}
.t-escuro .rodape,.t-escuro .aviso{background:color-mix(in oklab,var(--bg) 70%,#000);color:var(--ink)}
.t-escuro dialog::backdrop{background:rgba(0,0,0,.75)}

/* fundo colorido: cor de marca forte no topo */
.t-cor .hero:not(.l-mos){background:var(--hc);color:var(--hcx)}
.t-cor .hero h1,.t-cor .hero .fatos b,.t-cor .hero .hnum b{color:var(--hcx)}
.t-cor .hero .lead,.t-cor .hero .fatos,.t-cor .hero .hnum span{color:color-mix(in oklab,var(--hcx) 82%,transparent)}
.t-cor .hero .btn:not(.vaz):not(.zap){background:var(--hcx);color:var(--hc);border-color:var(--hcx)}
.t-cor .hero .btn.vaz{color:var(--hcx);border-color:color-mix(in oklab,var(--hcx) 55%,transparent)}
.t-cor .hero.l-mos{background:var(--hc)}
.t-cor .hero.l-mos .htxt{background:var(--hc);color:var(--hcx)}
.t-cor .hero.l-rev .htxt{border-color:color-mix(in oklab,var(--hcx) 25%,transparent)}
.t-cor .faixa{background:color-mix(in oklab,var(--hc) 88%,#000);color:var(--hcx);border-color:transparent}
.t-cor .faixa span::after{color:var(--hcx);opacity:.6}
.t-cor.h-full .hero::after{background:linear-gradient(180deg,color-mix(in oklab,var(--hc) 20%,transparent),color-mix(in oklab,var(--hc) 85%,#000) 82%)}

/* menu: barra escura */
.m-escuro .topo{background:color-mix(in oklab,var(--ink) 96%,transparent);color:var(--bg);border-color:transparent}
.m-escuro .topo .icobtn{background:transparent;border-color:color-mix(in oklab,var(--bg) 32%,transparent);color:var(--bg)}
.t-escuro.m-escuro .topo{background:color-mix(in oklab,var(--bg) 55%,#000);color:var(--ink)}
.t-escuro.m-escuro .topo .icobtn{color:var(--ink);border-color:color-mix(in oklab,var(--ink) 30%,transparent)}
.t-cor.m-escuro .topo{background:color-mix(in oklab,var(--hc) 70%,#000);color:var(--hcx)}
.t-cor.m-escuro .topo .icobtn{color:var(--hcx);border-color:color-mix(in oklab,var(--hcx) 35%,transparent)}
/* menu: centralizado com a marca no meio */
.m-centro .topo .wrap{position:relative;min-height:84px}
@media (min-width:1101px){
 .m-centro .menu{order:-1;margin-right:auto;gap:20px;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}
 .m-centro .marca{position:absolute;left:50%;transform:translateX(-50%);flex-direction:column;gap:5px;margin:0;font-size:1.05rem;text-align:center;max-width:240px}
 .m-centro .marca img{width:36px;height:36px}
}
.t-cor.m-centro .topo{background:var(--hc);color:var(--hcx);border-color:color-mix(in oklab,var(--hcx) 18%,transparent)}
.t-cor.m-centro .topo .icobtn{background:transparent;color:var(--hcx);border-color:color-mix(in oklab,var(--hcx) 35%,transparent)}

/* cards: foto quadrada */
.c-quad .prod .ft{aspect-ratio:1/1}
.c-quad .servs{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.c-quad .serv{grid-template-columns:1fr}
.c-quad .serv img{aspect-ratio:1/1;height:auto;min-height:0}
.c-quad .serv div{padding:16px}
/* cards: foto alta com o texto por cima */
.c-alto .prod{position:relative;border-radius:var(--r);overflow:hidden}
.c-alto .prod .ft{aspect-ratio:3/4.5;border-radius:var(--r)}
.c-alto .prod .ft::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.86))}
.c-alto .prod .pinfo{position:absolute;left:0;right:0;bottom:0;padding:14px;color:#fff;gap:2px}
.c-alto .prod .pinfo h3{font-family:var(--fd);font-size:1.12rem;font-weight:var(--fdw,600)}
.c-alto .prod .pr s,.c-alto .prod .pc{color:rgba(255,255,255,.8)}
.c-alto .servs{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.c-alto .serv{position:relative;display:flex;align-items:flex-end;min-height:400px;border:0;color:#fff}
.c-alto .serv img{position:absolute;inset:0;height:100%}
.c-alto .serv div{position:relative;padding:60px 18px 18px;width:100%;background:linear-gradient(transparent,rgba(0,0,0,.82) 45%)}
.c-alto .serv p,.c-alto .serv .meta,.c-alto .sec.esc .serv p,.c-alto .sec.esc .serv .meta{color:rgba(255,255,255,.82)}
@media (max-width:560px){.c-alto .prod .pinfo{padding:10px}.c-alto .prod .pinfo h3{font-size:.98rem}}
/* cards: lista horizontal */
.c-lista .grade{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}
.c-lista .prod{flex-direction:row;align-items:center;gap:16px;background:var(--card);border:1px solid var(--linha);border-radius:var(--r);padding:10px}
.c-lista .prod .ft{flex:none;width:112px;aspect-ratio:1/1}
.c-lista .prod .pinfo{min-width:0}
@media (max-width:560px){.c-lista .grade{grid-template-columns:1fr;gap:10px}.c-lista .prod .ft{width:92px}}
