/* Sr. Bessa | folha de estilo. Fontes próprias (sem Google Fonts). */
@font-face{font-family:"Bessa Display";src:url(/assets/fonts/display-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Bessa Texto";src:url(/assets/fonts/body-latin.woff2) format("woff2");font-weight:300 900;font-display:swap}

:root{
  --mangue:#0d3b34; --mangue-2:#145247; --mangue-3:#1c6a5c;
  --caranguejo:#cf3a22; --caranguejo-esc:#b8321c;
  --caju:#f6b829; --caju-esc:#e0a114;
  --papel:#fffbf2; --areia:#f5ead0; --linha:#e7dcc0;
  --tinta:#14231f; --suave:#506059; --claro:#c9d8d2;
  --f-disp:"Bessa Display","Arial Narrow",Impact,sans-serif;
  --f-txt:"Bessa Texto",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --raio:14px; --topo-h:64px;
  --wrap:1180px;
  --sombra:0 10px 30px -12px rgba(13,59,52,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topo-h) + 64px)}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--f-txt);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--caju);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-999px;top:8px;background:var(--caju);color:var(--tinta);padding:10px 16px;border-radius:8px;z-index:100;font-weight:700}
.pular:focus{left:8px}
.ic{width:1.15em;height:1.15em;flex:none;fill:currentColor}

/* ---------- tipografia ---------- */
h1,h2,.eyebrow,.marca-nome,.preco,.passo-n,.selo,.rodape-nome{font-family:var(--f-disp)}
h1{font-weight:900;text-transform:uppercase;letter-spacing:.005em;line-height:.97;font-size:clamp(2.9rem,8.6vw,6rem)}
h1 em{font-style:normal;color:var(--caju)}
h2{font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:.98;font-size:clamp(2.1rem,5vw,3.5rem)}
h3{font-weight:800;font-size:1.2rem;line-height:1.25}
.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;color:var(--caranguejo-esc);margin-bottom:.6rem}
.h1-menor{font-size:clamp(2.2rem,6vw,3.6rem)}
.wrap{width:min(100% - 32px,var(--wrap));margin-inline:auto}
.wrap-estreito{width:min(100% - 32px,760px)}
.centro{text-align:center}
.sec{padding:clamp(3rem,7vw,5.5rem) 0}
.sec-areia{background:var(--areia)}
.sec-escura{background:var(--mangue);color:var(--papel)}
.sec-escura .eyebrow{color:var(--caju)}
.sec-cab{max-width:46rem;margin-bottom:clamp(1.5rem,4vw,2.5rem)}
.sec-sub{margin-top:.8rem;color:var(--suave);font-size:1.1rem}
.sec-escura .sec-sub{color:var(--claro)}
.sec-cta{margin-top:2rem}
.prosa p{margin-bottom:1.1rem}
.prosa h2{font-size:1.9rem;margin:2rem 0 .8rem}
.prosa ul{list-style:disc;padding-left:1.3rem;margin-bottom:1.1rem}
.prosa li{margin-bottom:.6rem}

/* ---------- fita de chita (assinatura) ---------- */
.chita{height:28px;background:var(--mangue) url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2256%22 height=%2228%22 viewBox=%220 0 56 28%22%3E%3Crect width=%2256%22 height=%2228%22 fill=%22%230d3b34%22/%3E%3Cg transform=%22translate%2814 14%29%22%3E%3Cg fill=%22%23e4432a%22%3E%3Ccircle cx=%220%22 cy=%22-5%22 r=%223.6%22/%3E%3Ccircle cx=%224.75%22 cy=%22-1.55%22 r=%223.6%22/%3E%3Ccircle cx=%222.9%22 cy=%224.05%22 r=%223.6%22/%3E%3Ccircle cx=%22-2.9%22 cy=%224.05%22 r=%223.6%22/%3E%3Ccircle cx=%22-4.75%22 cy=%22-1.55%22 r=%223.6%22/%3E%3C/g%3E%3Ccircle r=%222.6%22 fill=%22%23f6b829%22/%3E%3C/g%3E%3Cg transform=%22translate%2842 14%29 scale%28.8%29%22%3E%3Cg fill=%22%23f6b829%22%3E%3Ccircle cx=%220%22 cy=%22-5%22 r=%223.6%22/%3E%3Ccircle cx=%224.75%22 cy=%22-1.55%22 r=%223.6%22/%3E%3Ccircle cx=%222.9%22 cy=%224.05%22 r=%223.6%22/%3E%3Ccircle cx=%22-2.9%22 cy=%224.05%22 r=%223.6%22/%3E%3Ccircle cx=%22-4.75%22 cy=%22-1.55%22 r=%223.6%22/%3E%3C/g%3E%3Ccircle r=%222.6%22 fill=%22%23e4432a%22/%3E%3C/g%3E%3Cpath d=%22M28 4c3 3 3 7 0 10-3-3-3-7 0-10Z%22 fill=%22%232f8f78%22/%3E%3Cpath d=%22M28 14c3 3 3 7 0 10-3-3-3-7 0-10Z%22 fill=%22%231f6f5d%22/%3E%3C/svg%3E") repeat-x 0 0;background-size:56px 28px}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.7rem 1.3rem;border-radius:var(--raio);border:2px solid transparent;font-weight:800;font-size:1rem;line-height:1.1;text-decoration:none;cursor:pointer;transition:transform .15s,background-color .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-grande{min-height:54px;padding:.9rem 1.6rem;font-size:1.08rem}
.btn-wa{background:var(--caranguejo);color:#fff;box-shadow:0 8px 18px -8px rgba(207,58,34,.7)}
.btn-wa:hover{background:var(--caranguejo-esc)}
.btn-caju{background:var(--caju);color:var(--tinta)}
.btn-caju:hover{background:var(--caju-esc)}
.btn-escuro{background:var(--mangue);color:var(--papel)}
.btn-escuro:hover{background:var(--mangue-2)}
.btn-claro{background:transparent;color:inherit;border-color:currentColor}
.hero .btn-claro{color:var(--papel)}
.bt-linha{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.bt-centro{justify-content:center}
.link-btn{background:none;border:0;padding:.6rem;color:var(--suave);text-decoration:underline;cursor:pointer;font-size:.95rem}
.icone-btn{background:none;border:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:inherit}
.icone-btn .ic{width:24px;height:24px}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:40;background:var(--mangue);color:var(--papel);height:var(--topo-h);border-bottom:1px solid rgba(255,255,255,.08)}
.topo-in{height:100%;width:min(100% - 24px,var(--wrap));margin-inline:auto;display:flex;align-items:center;gap:1rem}
.marca{display:flex;flex-direction:column;line-height:1;text-decoration:none;margin-right:auto}
.marca img{height:84px;width:auto;display:block;margin:-6px 0 -30px;position:relative;z-index:2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}
.marca-nome{font-weight:900;font-size:1.9rem;text-transform:uppercase;color:var(--caju);letter-spacing:.01em}
.marca-sub{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--claro);margin-top:2px;font-weight:600}
.nav{display:none}
.nav a{text-decoration:none;font-weight:700;padding:.5rem .8rem;border-radius:10px;color:var(--papel)}
.nav a:hover,.nav a[aria-current]{background:rgba(255,255,255,.1);color:var(--caju)}
.topo-wa{min-height:42px;padding:.5rem 1rem}
.menu-btn{background:none;border:0;color:var(--papel);width:44px;height:44px;display:grid;place-items:center;border-radius:10px;cursor:pointer}
.menu-btn .ic{width:26px;height:26px}
.nav.aberto{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:var(--topo-h);background:var(--mangue);padding:.5rem 12px 1rem;border-bottom:4px solid var(--caju);box-shadow:0 20px 30px -10px rgba(0,0,0,.4)}
.nav.aberto a{padding:.9rem .8rem;font-size:1.1rem}
@media(min-width:900px){
  .nav{display:flex;gap:.2rem}
  .menu-btn{display:none}
  .marca{margin-right:1rem}
  .nav{margin-right:auto}
}

/* ---------- status aberto/fechado ---------- */
.status{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-txt);font-size:.9rem;letter-spacing:.02em;text-transform:none;font-weight:700;padding:.3rem .8rem .3rem .65rem;border-radius:999px;background:rgba(255,255,255,.12);color:var(--papel)}
.ponto{width:.6rem;height:.6rem;border-radius:50%;background:var(--claro)}
.status[data-estado=aberto] .ponto{background:#3fd17a;box-shadow:0 0 0 4px rgba(63,209,122,.25)}
.status[data-estado=fechado] .ponto{background:#ff8266}

/* ---------- hero ---------- */
.hero{background:var(--mangue);color:var(--papel);position:relative;overflow:hidden}
.hero-grid{display:grid;gap:2rem;padding:clamp(2rem,5vw,4rem) 0 clamp(2.5rem,5vw,4.5rem)}
.hero .eyebrow{color:var(--caju)}
.hero-sub{font-size:clamp(1.05rem,2.2vw,1.3rem);color:var(--claro);margin-top:1.2rem;max-width:34rem}
.hero-bt{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
@media(max-width:560px){.hero-bt .btn{width:100%}}
.hero-fatos{margin-top:1.8rem;display:grid;gap:.5rem;color:var(--claro);font-size:.98rem}
.hero-fatos li{display:flex;gap:.6rem;align-items:center}
.hero-fatos .ic{color:var(--caju)}
.hero-fotos{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(340px,95vw,460px);position:relative}
.arco{overflow:hidden;background:var(--mangue-2);position:relative}
.arco img{width:100%;height:100%;object-fit:cover}
.arco-1{grid-row:1/3;border-radius:999px 999px 18px 18px}
.arco-2{border-radius:999px 999px 14px 14px}
.arco-3{border-radius:14px 14px 999px 999px}
.selo{position:absolute;left:8px;bottom:18px;width:118px;height:118px;border-radius:50%;background:var(--caju);color:var(--tinta);display:grid;place-content:center;text-align:center;transform:rotate(-9deg);box-shadow:0 10px 24px -8px rgba(0,0,0,.5);border:3px dashed rgba(13,59,52,.55);outline:4px solid var(--caju);line-height:.95;padding:.4rem}
.selo span{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.selo strong{font-size:1.28rem;font-weight:900;text-transform:uppercase;letter-spacing:-.005em}
@media(min-width:900px){
  .hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem}
  .hero-fotos{height:clamp(480px,46vw,620px)}
  .selo{width:152px;height:152px;left:-22px;bottom:30px}
  .selo strong{font-size:1.65rem}
}
@media(prefers-reduced-motion:no-preference){
  .hero-txt>*{animation:sobe .7s both cubic-bezier(.2,.7,.2,1)}
  .hero-txt>*:nth-child(2){animation-delay:.08s}.hero-txt>*:nth-child(3){animation-delay:.16s}
  .hero-txt>*:nth-child(4){animation-delay:.24s}.hero-txt>*:nth-child(5){animation-delay:.32s}
  .arco{animation:arco .9s both cubic-bezier(.2,.7,.2,1)}
  .arco-2{animation-delay:.12s}.arco-3{animation-delay:.22s}
  .selo{animation:selo 1s .5s both cubic-bezier(.3,1.4,.5,1)}
}
@keyframes sobe{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes arco{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
@keyframes selo{from{opacity:0;transform:rotate(-30deg) scale(.6)}to{opacity:1;transform:rotate(-9deg)}}

/* ---------- cabeçalho de páginas internas ---------- */
.cab-pag{background:var(--mangue);color:var(--papel);padding-top:clamp(2rem,5vw,3.5rem)}
.cab-pag .wrap{padding-bottom:clamp(1.8rem,4vw,3rem)}
.cab-pag .eyebrow{color:var(--caju)}
.cab-pag h1{font-size:clamp(2.4rem,7vw,4.4rem)}
.cab-pag .sub{margin-top:1rem;color:var(--claro);max-width:40rem;font-size:1.1rem}
.cab-pag .sub b{color:var(--caju)}

/* ---------- momentos ---------- */
.momentos{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 16px 16px;margin:0 -16px;scrollbar-width:thin}
.momento{position:relative;flex:0 0 68%;max-width:290px;aspect-ratio:3/4;border-radius:18px;overflow:hidden;scroll-snap-align:start;color:#fff;text-decoration:none;background:var(--mangue-2);box-shadow:var(--sombra);isolation:isolate}
.momento img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;z-index:-2}
.momento::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,59,52,0) 35%,rgba(13,59,52,.92) 100%);z-index:-1}
.momento:hover img{transform:scale(1.06)}
.momento-txt{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.1rem 1.2rem;display:grid;gap:.3rem}
.momento-txt strong{font-family:var(--f-disp);font-size:1.75rem;line-height:.95;text-transform:uppercase;font-weight:800;color:var(--caju)}
.momento-txt small{font-size:.9rem;line-height:1.35;color:#fff;opacity:.92}
.momentos-peq{margin-bottom:2.5rem}
.momento-peq{aspect-ratio:4/3;flex-basis:52%;max-width:240px}
.momento-peq .momento-txt strong{font-size:1.4rem}
@media(min-width:900px){
  .momentos{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;padding:0;margin:0}
  .momento{flex:none;max-width:none}
  .momento-peq{aspect-ratio:3/2}
}

/* ---------- sabores da casa ---------- */
.sabores{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sabor{position:relative;aspect-ratio:1/1;border-radius:16px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;background:var(--mangue-2)}
.sabor img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.sabor::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(8,30,26,.88));z-index:-1}
.sabor:hover img{transform:scale(1.06)}
.sabor-txt{position:absolute;inset:auto 0 0 0;padding:.9rem 1rem;display:grid;gap:.1rem}
.sabor-txt strong{font-family:var(--f-disp);text-transform:uppercase;font-size:1.5rem;line-height:1;font-weight:800}
.sabor-txt small{color:var(--caju);font-weight:700;font-size:.88rem}
@media(min-width:760px){.sabores{grid-template-columns:repeat(3,1fr);gap:16px}.sabor{aspect-ratio:4/3}.sabor-txt strong{font-size:1.9rem}}

/* ---------- passos ---------- */
.passos{display:grid;gap:1.4rem;counter-reset:p}
.passos li{position:relative;padding:1.4rem 1.4rem 1.4rem 4.6rem;background:var(--areia);border-radius:18px}
.sec-areia .passos li{background:var(--papel)}
.passo-n{position:absolute;left:1.1rem;top:1.25rem;width:2.7rem;height:2.7rem;border-radius:50%;background:var(--caranguejo);color:#fff;display:grid;place-items:center;font-size:1.7rem;font-weight:900;line-height:1}
.passos h3{margin-bottom:.3rem}
.passos p{color:var(--suave)}
@media(min-width:800px){.passos{grid-template-columns:repeat(3,1fr)}.passos li{padding:4.6rem 1.5rem 1.6rem}.passo-n{left:1.5rem;top:1.3rem}}

/* ---------- duas colunas / local / info ---------- */
.duas{display:grid;gap:1.8rem;align-items:center}
.duas-foto img{border-radius:200px 200px 18px 18px;width:100%;max-height:560px;object-fit:cover;aspect-ratio:4/5}
.duas-txt p{margin-top:1rem}
.duas-txt .eyebrow{margin-top:0}
.duas-txt.prosa p:first-child{font-size:1.2rem}
@media(min-width:860px){.duas{grid-template-columns:.8fr 1.2fr;gap:3.5rem}.duas-foto{max-width:420px}}
.local{display:grid;gap:2rem}
.local-end{display:flex;gap:.7rem;margin:1rem 0;font-size:1.15rem;font-weight:600}
.local-end .ic{color:var(--caranguejo);margin-top:.25rem}
.horarios{display:grid;gap:.35rem;margin:.6rem 0}
.horarios li{display:flex;justify-content:space-between;gap:1rem;max-width:22rem;flex-wrap:wrap;border-bottom:1px dashed var(--linha);padding-bottom:.35rem}
.rodape .horarios li{border-color:rgba(255,255,255,.18)}
.avalie{margin-top:1.8rem;padding:1.2rem;border-radius:16px;background:var(--areia);display:grid;gap:.8rem;justify-items:start}
.mapa{border-radius:18px;overflow:hidden;min-height:320px;background:var(--areia);box-shadow:var(--sombra)}
.mapa iframe{width:100%;height:100%;min-height:320px;border:0;display:block}
.mapa-alto,.mapa-alto iframe{min-height:420px}
@media(min-width:900px){.local{grid-template-columns:1fr 1.1fr;gap:3rem;align-items:stretch}.mapa,.mapa iframe{min-height:480px}}
.info-grid{display:grid;gap:1rem}
@media(min-width:700px){.info-grid{grid-template-columns:repeat(2,1fr)}.info-grid-1{grid-template-columns:1fr}}
@media(min-width:1100px){.info-grid-1{grid-template-columns:1fr 1fr}}
.info-card{background:var(--papel);border:1px solid var(--linha);border-radius:16px;padding:1.3rem}
.sec-areia .info-card{background:var(--papel)}
.info-card h3,.info-card .info-t{margin-bottom:.5rem;line-height:1;font-family:var(--f-disp);text-transform:uppercase;font-size:1.4rem;letter-spacing:.02em}
.info-card .info-t{font-weight:800}
.info-card p+p{margin-top:.5rem}
.galeria{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.galeria li{border-radius:14px;overflow:hidden;aspect-ratio:1/1}
.galeria img{width:100%;height:100%;object-fit:cover}
@media(min-width:800px){.galeria{grid-template-columns:repeat(3,1fr);gap:14px}}

/* ---------- faq ---------- */
.faq{border-bottom:1px solid var(--linha)}
.faq summary{cursor:pointer;padding:1.1rem 2.5rem 1.1rem 0;font-weight:800;font-size:1.1rem;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-family:var(--f-disp);font-size:2rem;color:var(--caranguejo);line-height:1}
.faq[open] summary::after{content:"\2212"}
.faq p{padding:0 0 1.2rem;color:var(--suave)}

/* ---------- cardápio ---------- */
.busca-area{padding-top:1.4rem}
.busca input{width:100%;min-height:52px;padding:.8rem 1.1rem;border-radius:var(--raio);border:2px solid var(--linha);background:#fff;font-size:1.05rem}
.busca input:focus{border-color:var(--mangue);outline:none;box-shadow:0 0 0 4px rgba(246,184,41,.5)}
.cat-barra{position:sticky;top:var(--topo-h);z-index:30;background:var(--papel);border-bottom:1px solid var(--linha);margin-top:1rem}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding:.7rem 0;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips a{flex:none;text-decoration:none;font-weight:700;font-size:.95rem;padding:.5rem .95rem;border-radius:999px;background:var(--areia);color:var(--tinta);white-space:nowrap}
.chips a:hover,.chips a.ativo{background:var(--mangue);color:var(--caju)}
.momento-bloco{margin-top:2.6rem;scroll-margin-top:150px;display:grid;gap:1.2rem;align-items:start}
.momento-foto img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px}
.momento-lista{min-width:0}
.itens-1{grid-template-columns:1fr!important}
@media(min-width:860px){.momento-bloco{grid-template-columns:300px 1fr;gap:2.5rem}.momento-foto{position:sticky;top:150px}.momento-foto img{aspect-ratio:3/4;border-radius:999px 999px 18px 18px}}
.momento-bloco h3{font-family:var(--f-disp);text-transform:uppercase;font-size:2rem;line-height:1}
.momento-desc{color:var(--suave);margin:.3rem 0 1.1rem}
.cartoes{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:560px){.cartoes{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.cartoes{grid-template-columns:repeat(3,1fr)}}
.cartao{background:var(--papel);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--linha)}
.cartao-foto{aspect-ratio:4/3;overflow:hidden;background:var(--areia)}
.cartao-foto img{width:100%;height:100%;object-fit:cover}
.cartao-corpo{padding:.9rem 1rem .2rem;flex:1}
.cartao h4{font-weight:800;font-size:1.08rem;line-height:1.25}
.cartao .desc{font-size:.88rem;color:var(--suave);margin-top:.3rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cartao .item-preco{padding:.6rem 1rem 1rem}
.cartao .item-ops{padding:.6rem 1rem 1rem}

.cat{margin-top:3rem;scroll-margin-top:140px}
.cat-cab{display:flex;gap:1rem;align-items:center;border-bottom:4px solid var(--mangue);padding-bottom:.9rem;margin-bottom:.6rem}
.cat-foto{flex:none;width:76px;height:76px;border-radius:50% 50% 12px 12px;overflow:hidden}
.cat-foto img{width:100%;height:100%;object-fit:cover}
.cat-cab h3{font-family:var(--f-disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5vw,2.8rem);line-height:.95}
.cat-desc{color:var(--suave);margin-top:.3rem}
.grupo-t{font-family:var(--f-disp);text-transform:uppercase;letter-spacing:.06em;font-size:1.3rem;color:var(--caranguejo-esc);margin:1.5rem 0 .2rem;font-weight:800}
.itens{display:grid;grid-template-columns:1fr}
@media(min-width:900px){.itens{grid-template-columns:1fr 1fr;column-gap:3rem}}
.item{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;align-items:center;padding:.9rem 0;border-bottom:1px dashed #cdbf9f}
.item.com-foto{grid-template-columns:72px 1fr auto}
.item-foto{width:72px;height:72px;border-radius:12px;overflow:hidden}
.item-foto img{width:100%;height:100%;object-fit:cover}
.item h4{font-weight:800;font-size:1.04rem;line-height:1.25}
.item .desc{font-size:.9rem;color:var(--suave);margin-top:.2rem;line-height:1.45}
.item-preco{display:flex;align-items:center;gap:.7rem;justify-content:flex-end}
.preco{font-weight:800;font-size:1.65rem;line-height:1;color:var(--caranguejo-esc);white-space:nowrap;letter-spacing:.01em}
.preco small{font-family:var(--f-txt);font-size:.8rem;font-weight:700;color:var(--suave)}
.add{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--caranguejo);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .15s,background-color .15s}
.add:hover{background:var(--caranguejo-esc);transform:scale(1.08)}
.add:active{transform:scale(.94)}
.add.ok{background:var(--mangue)}
.add .ic{width:22px;height:22px}
.item-ops{display:flex;flex-wrap:wrap;gap:.5rem;grid-column:1/-1}
.item.com-foto .item-ops{grid-column:2/-1}
.add-op{width:auto;height:auto;min-height:44px;border-radius:12px;padding:.45rem .8rem;display:inline-flex;gap:.5rem;align-items:center;font-size:.95rem}
.add-op strong{font-weight:800}
.add-op .ic{width:18px;height:18px}
.nota{background:var(--areia);border-radius:12px;padding:.8rem 1rem;font-size:.92rem;color:var(--suave);margin-top:.8rem}
.nota-final{margin-top:3rem}
.item[hidden],.cat[hidden]{display:none}
.vazio-busca[hidden]{display:none}
.vazio-busca{background:var(--areia);padding:1.2rem;border-radius:16px;margin-bottom:1.5rem;display:grid;gap:.8rem;justify-items:start}

/* ---------- carrinho ---------- */
.carrinho-barra{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:min(560px,100% - 24px);z-index:60}
.carrinho-barra[hidden]{display:none}
.carrinho-abrir{width:100%;display:flex;align-items:center;gap:.8rem;background:var(--mangue);color:var(--papel);border:2px solid var(--caju);border-radius:18px;padding:.7rem 1rem;cursor:pointer;box-shadow:0 14px 30px -8px rgba(0,0,0,.5);text-align:left}
.carrinho-sacola{position:relative;display:grid;place-items:center}
.carrinho-sacola .ic{width:28px;height:28px;color:var(--caju)}
.carrinho-qtd{position:absolute;top:-8px;right:-10px;background:var(--caranguejo);color:#fff;font-size:.75rem;font-weight:800;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;padding:0 4px}
.carrinho-txt{font-weight:700}
.carrinho-abrir strong{font-family:var(--f-disp);font-size:1.5rem;color:var(--caju);margin-left:auto;line-height:1}
.carrinho-ver{display:none;align-items:center;gap:.4rem;font-weight:800}
@media(min-width:560px){.carrinho-ver{display:inline-flex}.carrinho-abrir strong{margin-left:0}.carrinho-txt{margin-right:auto}}
.carrinho{border:0;padding:0;background:var(--papel);color:var(--tinta);position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:92dvh;border-radius:22px 22px 0 0;display:none;flex-direction:column;overflow:hidden}
.carrinho[open]{display:flex}
.carrinho::backdrop{background:rgba(8,30,26,.6)}
.carrinho-cab{display:flex;align-items:center;justify-content:space-between;padding:.8rem .8rem .4rem 1.3rem;border-bottom:1px solid var(--linha);margin:0}
.carrinho-cab h2{font-size:2rem}
.carrinho-corpo{overflow:auto;padding:1rem 1.3rem;flex:1}
.carrinho-lista li{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;padding:.8rem 0;border-bottom:1px dashed #cdbf9f;align-items:center}
.carrinho-lista .nome{font-weight:700;line-height:1.3}
.carrinho-lista .un{color:var(--suave);font-size:.9rem}
.qtd{display:inline-flex;align-items:center;gap:.2rem;grid-row:1/3;grid-column:2}
.qtd button{width:38px;height:38px;border-radius:50%;border:2px solid var(--mangue);background:transparent;color:var(--mangue);display:grid;place-items:center;cursor:pointer}
.qtd button:hover{background:var(--mangue);color:var(--caju)}
.qtd output{min-width:1.8rem;text-align:center;font-weight:800}
.carrinho-vazio{color:var(--suave);padding:1rem 0}
.carrinho-vazio[hidden]{display:none}
.campo{display:block;margin:1.2rem 0 .4rem;font-weight:700;font-size:.95rem}
.carrinho textarea{width:100%;border:2px solid var(--linha);border-radius:12px;padding:.7rem .9rem;background:#fff;resize:vertical}
.carrinho textarea:focus{border-color:var(--mangue);outline:none}
.carrinho-pe{padding:.9rem 1.3rem 1.2rem;border-top:1px solid var(--linha);display:grid;gap:.5rem;justify-items:stretch;background:var(--areia)}
.carrinho-sub{font-size:1.15rem;display:flex;justify-content:space-between}
.carrinho-sub strong{font-family:var(--f-disp);font-size:1.9rem;color:var(--caranguejo-esc);line-height:1}
.carrinho-aviso{font-size:.85rem;color:var(--suave)}
@media(min-width:700px){
  .carrinho{inset:0 0 0 auto;height:100dvh;max-height:none;width:min(460px,100%);border-radius:0}
}

/* ---------- botão flutuante e aviso de cookies ---------- */
.fab-wa{position:fixed;right:14px;bottom:14px;z-index:50;display:inline-flex;align-items:center;gap:.5rem;background:var(--caranguejo);color:#fff;text-decoration:none;font-weight:800;border-radius:999px;padding:.85rem 1.1rem;box-shadow:0 12px 26px -8px rgba(0,0,0,.55);transition:transform .15s}
.fab-wa:hover{transform:translateY(-3px)}
.fab-wa .ic{width:26px;height:26px}
.fab-wa span{display:none}
@media(min-width:560px){.fab-wa span{display:inline}}
body.tem-pedido .fab-wa{display:none}
.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:70;background:var(--mangue);color:var(--papel);border-radius:16px;padding:1rem;display:grid;gap:.8rem;box-shadow:0 16px 40px -10px rgba(0,0,0,.6);max-width:560px;font-size:.95rem}
.consent[hidden]{display:none}
.consent a{color:var(--caju)}
.consent-bt{display:flex;gap:.6rem}
.consent .btn{min-height:42px;padding:.5rem 1rem}
.consent .btn-claro{color:var(--papel)}

/* ---------- rodapé ---------- */
.rodape{background:var(--mangue);color:var(--claro);margin-top:0}
.rodape-in{width:min(100% - 32px,var(--wrap));margin-inline:auto;display:grid;gap:2rem;padding:3rem 0 2rem}
.rodape-nome{font-weight:900;font-size:2.6rem;line-height:.9;text-transform:uppercase;color:var(--caju)}
.rodape address{font-style:normal;margin-top:.7rem}
.rodape-t{font-family:var(--f-txt);font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;color:var(--caju);margin-bottom:.8rem;font-weight:800}
.lista-simples{display:grid;gap:.55rem}
.lista-simples a{text-decoration:none;display:inline-flex;gap:.5rem;align-items:center}
.lista-simples a:hover{color:var(--caju);text-decoration:underline}
.rodape-fim{width:min(100% - 32px,var(--wrap));margin-inline:auto;padding:1.2rem 0 5.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.9rem}
.rodape-fim a{color:var(--caju)}
@media(min-width:820px){.rodape-in{grid-template-columns:1.2fr 1fr 1fr 1fr}.rodape-fim{padding-bottom:2rem}}

/* ---------- página de links ---------- */
body.pg-links{background:var(--mangue)}
.pg-links .topo,.pg-links .rodape,.pg-links .fab-wa{display:none}
.links{min-height:100dvh;background:var(--mangue);color:var(--papel)}
.links-in{width:min(100% - 32px,460px);margin-inline:auto;padding:2.2rem 0 3rem;text-align:center;display:grid;gap:1.4rem;justify-items:center}
.links-marca .marca{align-items:center;margin:0}
.links-marca .marca-nome{font-size:3.6rem}
.links-marca .marca-sub{font-size:.75rem}
.links-sub{color:var(--claro);line-height:1.8}
.links-lista{display:grid;gap:.8rem;width:100%}
.link-bt{display:flex;align-items:center;justify-content:center;gap:.7rem;min-height:60px;border-radius:16px;background:var(--papel);color:var(--tinta);text-decoration:none;font-weight:800;font-size:1.1rem;padding:.8rem 1rem;transition:transform .15s,background-color .15s}
.link-bt .ic{width:1.4em;height:1.4em;color:var(--caranguejo)}
.link-bt:hover{transform:translateY(-2px);background:var(--caju)}
.link-bt-wa{background:var(--caranguejo);color:#fff}
.link-bt-wa .ic{color:#fff}
.link-bt-wa:hover{background:var(--caranguejo-esc)}
.links-fim{color:var(--claro);font-size:.9rem}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.topo,.fab-wa,.carrinho-barra,.consent,.cat-barra,.add,.item-ops{display:none!important}}

.cat-destaque{margin-top:.6rem;padding:.6rem .9rem;background:var(--areia);border-left:4px solid var(--caju);border-radius:8px;font-weight:600;font-size:.95rem;color:var(--mangue)}
.rodape-areas{margin-top:.6rem;font-size:.9rem;opacity:.85}
.links-marca .marca img{height:150px}
.faixa-quarta{background:var(--caju);color:var(--mangue);text-align:center;padding:.7rem 0;font-size:.98rem}.faixa-quarta a{color:var(--mangue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.info-avalie .qr{display:block;width:132px;height:132px;margin-top:.8rem;border-radius:8px;border:1px solid var(--linha)}
.topo{overflow:visible}.links-marca .marca img{margin:0;filter:none}
.hero-fatos a{color:var(--caju);text-decoration:underline;text-underline-offset:3px;font-weight:600}
h1 em{white-space:nowrap}.hero-fatos a{white-space:nowrap}

.busca-caixa{position:relative}
.busca input{padding-right:3.6rem}
.busca-bt{position:absolute;right:6px;top:6px;width:40px;height:40px;border-radius:10px;border:0;background:var(--mangue);color:var(--papel);display:grid;place-items:center;cursor:pointer}
.busca-bt:hover{background:var(--mangue-2)}.busca-bt .ic{width:20px;height:20px}
.busca-info{margin-top:.7rem;font-weight:600;color:var(--mangue)}.busca-info[hidden]{display:none}
.busca-info .link-btn{margin-left:.5rem}
.grupo-op{border:0;padding:0;margin:0}.grupo-op legend{padding:0}
.opcoes{display:flex;flex-wrap:wrap;gap:.5rem}
.opcao{position:relative;cursor:pointer}
.opcao input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opcao span{display:inline-block;min-height:44px;padding:.65rem 1rem;border-radius:12px;border:2px solid var(--linha);background:#fff;font-weight:700}
.opcao input:checked + span{border-color:var(--mangue);background:var(--mangue);color:var(--papel)}
.opcao input:focus-visible + span{outline:3px solid var(--caju);outline-offset:2px}
.carrinho input[type=text]{width:100%;border:2px solid var(--linha);border-radius:12px;padding:.7rem .9rem;background:#fff;min-height:48px}
.carrinho input[type=text]:focus{border-color:var(--mangue);outline:none}
.grupo-op.erro .opcao span,.carrinho textarea.erro{border-color:var(--caranguejo-esc)}
.carrinho-erro{color:var(--caranguejo-esc);font-weight:700}.carrinho-erro[hidden]{display:none}
/* número do item (igual ao cardápio impresso) */
.num{display:inline-block;margin-right:.5em;padding:.02em .5em;border-radius:6px;background:var(--areia);color:var(--suave);font:700 .72em/1.6 var(--f-txt);letter-spacing:.02em;vertical-align:.14em}
.num-op{font:700 .66rem/1 var(--f-txt);color:var(--suave);background:var(--areia);padding:.18rem .4rem;border-radius:5px;margin-right:.4rem;align-self:center}
.add-op .num-op{background:rgba(255,255,255,.22);color:#fff}

/* destaques: itens com foto própria */
.selo-dest{position:absolute;left:.75rem;top:.75rem;z-index:2;display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem .3rem .55rem;border-radius:999px;background:var(--caju);color:var(--mangue);font:800 .7rem/1 var(--f-txt);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 12px -6px rgba(0,0,0,.5)}
.selo-dest .ic{width:1.05em;height:1.05em}
.item.com-foto{grid-template-columns:1fr auto;gap:.5rem 1rem;align-items:center;margin:1rem 0;padding:0 0 1rem;background:#fff;border:1px solid var(--linha);border-radius:20px;overflow:hidden;box-shadow:0 16px 28px -22px rgba(13,59,52,.6)}
.item.com-foto .item-foto{position:relative;grid-column:1/-1;width:100%;height:auto;aspect-ratio:16/10;border-radius:0}
.item.com-foto .item-corpo{padding-left:1rem}
.item.com-foto .item-preco{padding-right:1rem}
.item.com-foto .item-ops{grid-column:1/-1;padding:0 1rem}
.item.com-foto h4{font-size:1.15rem}
@media(min-width:900px){
  .itens{grid-auto-flow:row dense}
  .item.com-foto{grid-column:1/-1;grid-template-columns:280px 1fr auto;grid-template-rows:1fr auto;column-gap:1.4rem;padding:0 1.2rem 0 0}
  .item.com-foto .item-foto{grid-column:1;grid-row:1/span 2;height:auto;aspect-ratio:auto;min-height:170px;align-self:stretch}
  .item.com-foto .item-foto img{position:absolute;inset:0}
  .item.com-foto .item-corpo{grid-column:2;grid-row:1;align-self:center;padding:1rem 0 .4rem}
  .item.com-foto .item-preco{grid-column:3;grid-row:1;align-self:center;padding-right:0}
  .item.com-foto .item-ops{grid-column:2/-1;grid-row:2;padding:0 0 1rem}
}
