:root{
  --carvao:#0c0a08;
  --fundo:#12100c;
  --fundo-2:#17140f;
  --cartao:#1c1813;
  --cartao-2:#221d16;
  --borda:rgba(255,255,255,.09);
  --borda-forte:rgba(243,178,60,.35);
  --ambar:#f3b23c;
  --ambar-2:#ffd479;
  --vermelho:#d7263d;
  --creme:#f8f1e4;
  --creme-fraco:#d3c8b8;
  --cinza:#b7ab9b;
  --cinza-2:#8e8377;
  --verde:#4ea36a;
  --sombra:0 22px 50px -24px rgba(0,0,0,.9);
  --raio:18px;
  --display:'Fraunces',Georgia,serif;
  --texto:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--fundo);color:var(--creme);font-family:var(--texto);
  font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(900px 500px at 75% -10%,rgba(243,178,60,.10),transparent 60%),
                   radial-gradient(700px 400px at 5% 10%,rgba(215,38,61,.08),transparent 60%);
  background-repeat:no-repeat;
}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.1;margin:0;letter-spacing:-.015em}
p{margin:0}
a{color:inherit;text-decoration:none}
strong{font-weight:600;color:var(--creme)}
img,svg{display:block;max-width:100%}

/* ---------------------------------------------------------------- topo */
.topo{
  position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:22px;
  padding:14px clamp(16px,4vw,46px);
  background:rgba(12,10,8,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--borda);
}
.marca{display:flex;align-items:center;gap:10px;font-family:var(--display);
  font-size:1.12rem;letter-spacing:.01em;white-space:nowrap}
.marca strong{color:var(--ambar)}
.marca-svg{width:34px;height:34px;filter:drop-shadow(0 4px 10px rgba(243,178,60,.35))}
.topo-nav{display:flex;gap:24px;margin-left:auto;font-size:.93rem;color:var(--creme)}
.topo-nav a{position:relative;padding:4px 0;transition:color .2s;opacity:.86}
.topo-nav a:hover{color:var(--ambar);opacity:1}
.topo-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--ambar);transition:width .25s}
.topo-nav a:hover::after{width:100%}
.topo-dir{display:flex;align-items:center;gap:10px;margin-left:auto}
.topo-nav+.topo-dir{margin-left:0}
.selo-status{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;
  letter-spacing:.04em;text-transform:uppercase;color:var(--creme-fraco);
  padding:6px 12px;border:1px solid var(--borda);border-radius:999px}
.selo-status i{width:7px;height:7px;border-radius:50%;background:var(--cinza)}
.selo-status.aberto i{background:var(--verde);box-shadow:0 0 0 4px rgba(78,163,106,.18)}
.selo-status.fechado i{background:var(--vermelho)}

/* ---------------------------------------------------------------- botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--texto);font-weight:500;font-size:.95rem;cursor:pointer;
  padding:14px 24px;border-radius:999px;border:1px solid transparent;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-primario{background:linear-gradient(135deg,var(--ambar-2),#e59a1f);color:#241703;
  box-shadow:0 12px 30px -12px rgba(243,178,60,.7)}
.btn-primario:hover{box-shadow:0 16px 36px -12px rgba(243,178,60,.85);transform:translateY(-1px)}
.btn-vazado{border-color:var(--borda);color:var(--creme);background:rgba(255,255,255,.02)}
.btn-vazado:hover{border-color:var(--borda-forte);color:var(--ambar)}
.btn-pequeno{padding:9px 16px;font-size:.86rem}
.btn-largo{width:100%;padding:16px 22px}
.bolha{background:#241703;color:var(--ambar-2);border-radius:999px;min-width:20px;
  height:20px;display:inline-flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:700;padding:0 6px}

/* ---------------------------------------------------------------- hero */
.hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;
  padding:clamp(40px,7vw,90px) clamp(18px,5vw,72px) clamp(30px,4vw,54px);
  max-width:1280px;margin:0 auto;
}
.olho{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ambar-2);
  margin-bottom:18px;display:flex;align-items:center;gap:12px;font-weight:400}
.olho::before{content:"";width:26px;height:1px;background:var(--ambar);opacity:.8}
.hero h1{font-size:clamp(2.3rem,5.2vw,4.1rem);font-weight:600}
.hero h1 em{font-style:italic;font-weight:600;color:var(--ambar);
  background:linear-gradient(100deg,var(--ambar-2),#e08a1e);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent}
.hero-sub{margin-top:22px;max-width:46ch;color:var(--creme-fraco);font-size:1.02rem}
.hero-acoes{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.selos{display:flex;gap:26px;margin:38px 0 0;padding:0;list-style:none;flex-wrap:wrap;
  font-size:.82rem;color:var(--cinza)}
.selos li{display:flex;flex-direction:column;gap:2px}
.selos strong{font-family:var(--display);font-size:1.25rem;color:var(--creme)}
.hero-arte{position:relative;display:grid;place-items:center;min-height:400px}
.brilho{position:absolute;width:86%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(243,178,60,.26),rgba(243,178,60,.05) 45%,transparent 68%);
  filter:blur(26px)}
.prato{position:absolute;width:82%;aspect-ratio:1;border-radius:50%;transform:translateY(10px);
  background:radial-gradient(circle at 50% 28%,#2c251c,#140f09 72%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.10),inset 0 -26px 48px rgba(0,0,0,.85),
    0 34px 70px -26px rgba(0,0,0,.9)}
.pizza{position:relative;width:min(80%,404px);animation:girar 30s linear infinite;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.55))}
@keyframes girar{to{transform:rotate(360deg)}}
.vapor{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%);
  animation:subir 6s ease-in-out infinite;filter:blur(6px)}
.v1{width:120px;height:120px;top:0;left:22%}
.v2{width:90px;height:90px;top:12%;right:18%;animation-delay:1.6s}
.v3{width:70px;height:70px;bottom:6%;left:12%;animation-delay:3.1s}
@keyframes subir{0%,100%{transform:translateY(0) scale(1);opacity:.5}
  50%{transform:translateY(-22px) scale(1.12);opacity:.85}}

/* faixa de promoções */
.faixa{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--borda);
  border:1px solid var(--borda);border-radius:20px;overflow:hidden;
  width:min(1180px,92%);margin:0 auto}
.faixa-item{display:flex;align-items:center;gap:14px;padding:22px clamp(16px,3vw,34px);
  background:linear-gradient(180deg,var(--cartao),var(--fundo-2))}
.faixa-emoji{font-size:1.5rem;filter:saturate(1.1)}
.faixa-item div{display:flex;flex-direction:column;font-size:.86rem;color:var(--cinza)}
.faixa-item strong{color:var(--creme);font-size:.92rem;font-weight:600}

/* ---------------------------------------------------------------- seções */
.secao{max-width:1280px;margin:0 auto;padding:clamp(42px,5.5vw,72px) clamp(18px,5vw,72px)}
.secao-topo{max-width:62ch;margin-bottom:34px}
.secao-topo h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
.secao-topo p,.secao-sub{color:var(--creme-fraco);margin-top:12px;font-size:.96rem}
.subtitulo{margin-top:64px;font-size:clamp(1.5rem,2.8vw,2rem)}
.secao-sub{margin-bottom:26px}

/* tamanhos */
.tamanhos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tamanho{background:linear-gradient(180deg,var(--cartao),var(--fundo-2));
  border:1px solid var(--borda);border-radius:var(--raio);padding:26px 24px;
  transition:transform .25s,border-color .25s,box-shadow .25s}
.tamanho:hover{transform:translateY(-3px);border-color:var(--borda-forte);box-shadow:var(--sombra)}
.tamanho h3{font-size:1.4rem;margin-bottom:6px}
.tamanho-svg{width:72px;height:72px;margin-bottom:18px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55))}
.tamanho-svg.t-familia{width:98px;height:98px}
.tamanho-svg.t-media{width:52px;height:52px}
.tamanho-svg svg{width:100%;height:100%}
.tamanho-img{width:auto;height:100%;max-width:100%;object-fit:contain;border-radius:50%;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.55))}
.tamanho-svg.tem-foto{width:100%;height:170px;margin-bottom:14px;border-radius:14px;
  display:grid;place-items:center;
  background:radial-gradient(circle at 50% 55%,rgba(243,178,60,.10),rgba(255,255,255,.02) 55%,transparent 72%)}
/* escala real: família maior, média menor — a diferença tem que ser vista, não lida */
.tamanho-svg.tem-foto.t-familia .tamanho-img{height:100%}
.tamanho-svg.tem-foto.t-grande .tamanho-img{height:76%}
.tamanho-svg.tem-foto.t-media .tamanho-img{height:56%}
body.tem-cookies{padding-bottom:96px}
.tamanho-aro{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(from 20deg,rgba(243,178,60,.5),rgba(215,38,61,.35),rgba(243,178,60,.5));
  margin-bottom:18px}
.tamanho-aro span{width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,var(--fundo-2),var(--carvao));
  border:1px solid rgba(255,255,255,.12)}
.tamanho[data-tam] .tamanho-aro span{}
.tamanho-aro[data-tam="familia"]{width:78px;height:78px}
.tamanho-aro[data-tam="familia"] span{width:58px;height:58px}
.tamanho-aro[data-tam="media"]{width:54px;height:54px}
.tamanho-aro[data-tam="media"] span{width:38px;height:38px}
.tamanho-cortesia{font-size:.84rem;color:var(--ambar);margin-bottom:14px}
.tamanho-preco{font-size:.82rem;color:var(--cinza)}
.tamanho-preco strong{font-family:var(--display);font-size:1.2rem;color:var(--creme)}

/* chips */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{font-family:var(--texto);font-size:.85rem;padding:9px 16px;border-radius:999px;
  border:1px solid var(--borda);background:transparent;color:var(--creme-fraco);cursor:pointer;
  transition:.2s}
.chip:hover{border-color:var(--borda-forte);color:var(--creme)}
.chip.ativo{background:var(--creme);color:#1a1409;border-color:var(--creme);font-weight:500}

/* grade de pizzas */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.pizza-card{
  position:relative;display:flex;flex-direction:column;gap:12px;
  background:linear-gradient(165deg,var(--cartao),var(--fundo-2));
  border:1px solid var(--borda);border-radius:var(--raio);padding:22px;
  transition:transform .25s,border-color .25s,box-shadow .25s;cursor:pointer;overflow:hidden;
}
.pizza-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(320px 160px at 100% 0,rgba(243,178,60,.10),transparent 70%);
  opacity:0;transition:opacity .3s}
.pizza-card:hover{transform:translateY(-4px);border-color:var(--borda-forte);box-shadow:var(--sombra)}
.pizza-card:hover::after{opacity:1}
.pizza-card.esgotado{opacity:.5;cursor:not-allowed}
.pizza-num{font-family:var(--display);font-size:.78rem;color:var(--cinza);letter-spacing:.1em}
.pizza-nome{font-family:var(--display);font-size:1.32rem;font-weight:600;display:flex;
  align-items:center;gap:10px;flex-wrap:wrap}
.tag{font-family:var(--texto);font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;
  padding:4px 9px;border-radius:999px;background:rgba(243,178,60,.14);color:var(--ambar);
  border:1px solid rgba(243,178,60,.28);font-weight:500}
.pizza-desc{font-size:.87rem;color:#cbbfae;flex:1;line-height:1.55}
.precos{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.preco{flex:1;min-width:84px;display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:10px 6px;border-radius:12px;background:rgba(255,255,255,.045);
  border:1px solid var(--borda);font-size:.76rem;color:var(--creme-fraco);transition:.2s;
  letter-spacing:.01em}
.preco b{font-family:var(--display);font-size:1.06rem;color:var(--creme);font-weight:600}
.pizza-card:hover .preco{border-color:rgba(243,178,60,.22)}
.pizza-add{margin-top:6px;width:100%;justify-content:center}

.grade-bebidas{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.bebida-card{display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--cartao);border:1px solid var(--borda);border-radius:14px;padding:16px 18px;
  transition:.2s}
.bebida-card:hover{border-color:var(--borda-forte)}
.bebida-card h4{margin:0;font-family:var(--texto);font-weight:500;font-size:.95rem}
.bebida-card .preco-min{font-size:.78rem;color:var(--cinza)}
.bebida-card button{border-radius:10px;padding:8px 14px}

/* como funciona */
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.passo{background:var(--fundo-2);border:1px solid var(--borda);border-radius:var(--raio);
  padding:26px}
.passo span{font-family:var(--display);font-size:.9rem;color:var(--ambar);letter-spacing:.1em}
.passo h3{font-size:1.15rem;margin:12px 0 8px}
.passo p{font-size:.88rem;color:var(--cinza)}

/* rodapé */
.rodape{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;
  padding:44px clamp(18px,5vw,72px);border-top:1px solid var(--borda);background:var(--carvao)}
.rodape-marca strong{font-family:var(--display);font-size:1.2rem;color:var(--ambar)}
.rodape-marca p{font-size:.86rem;color:var(--cinza);margin-top:6px;max-width:30ch}
.rodape-info{display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:var(--creme-fraco)}
.rodape-info span{color:var(--cinza);display:inline-block;min-width:82px}
.rodape-info a{color:var(--cinza);border-bottom:1px dotted var(--borda)}

/* ---------------------------------------------------------------- drawer */
.drawer-fundo,.modal-fundo{position:fixed;inset:0;background:rgba(6,5,4,.72);
  backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.drawer-fundo.ativo,.modal-fundo.ativo{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(430px,100%);z-index:60;
  background:var(--fundo);border-left:1px solid var(--borda);display:flex;flex-direction:column;
  transform:translateX(102%);transition:transform .32s cubic-bezier(.4,0,.2,1);box-shadow:-30px 0 60px rgba(0,0,0,.5)}
.drawer.aberto{transform:translateX(0)}
.drawer-topo{display:flex;align-items:center;justify-content:space-between;
  padding:20px 22px;border-bottom:1px solid var(--borda)}
.drawer-topo h2{font-size:1.3rem}
.fechar{background:none;border:0;color:var(--creme-fraco);font-size:1.7rem;line-height:1;
  cursor:pointer;padding:4px 8px;border-radius:8px;transition:.2s}
.fechar:hover{background:rgba(255,255,255,.06);color:var(--creme)}
.drawer-corpo{flex:1;overflow-y:auto;padding:18px 22px 120px}
.vazio{text-align:center;padding:50px 10px;color:var(--cinza);display:flex;
  flex-direction:column;gap:16px;align-items:center}
.itens{display:flex;flex-direction:column;gap:12px}
.item{border:1px solid var(--borda);border-radius:14px;padding:14px;background:var(--cartao)}
.item-topo{display:flex;justify-content:space-between;gap:10px}
.item-nome{font-size:.93rem;font-weight:400;color:var(--creme)}
.item-det{font-size:.78rem;color:var(--cinza);margin-top:2px}
.item-preco{font-family:var(--display);font-size:.95rem;white-space:nowrap}
.item-acoes{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.stepper{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--borda);
  border-radius:999px;overflow:hidden}
.stepper button{width:30px;height:30px;border:0;background:transparent;color:var(--creme);
  font-size:1rem;cursor:pointer;transition:.15s}
.stepper button:hover{background:rgba(255,255,255,.07)}
.stepper span{min-width:22px;text-align:center;font-size:.86rem}
.remover{background:none;border:0;color:var(--cinza);font-size:.76rem;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px}
.remover:hover{color:var(--vermelho)}
.checkout{display:flex;flex-direction:column;gap:14px;margin-top:22px;
  border-top:1px solid var(--borda);padding-top:20px}
.total-linha{display:flex;justify-content:space-between;font-size:.9rem;color:var(--creme-fraco)}
.total-linha strong{font-weight:500;color:var(--creme)}
.total-linha.grande{font-size:1.05rem;padding-top:8px;border-top:1px dashed var(--borda)}
.total-linha.grande strong{font-family:var(--display);font-size:1.35rem;color:var(--ambar)}
.checkout label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--cinza)}
.checkout input,.checkout select,.checkout textarea{
  font-family:var(--texto);font-size:.92rem;color:var(--creme);background:var(--carvao);
  border:1px solid var(--borda);border-radius:12px;padding:12px 14px;outline:none;transition:.2s;width:100%}
.checkout input:focus,.checkout select:focus{border-color:var(--borda-forte);
  box-shadow:0 0 0 3px rgba(243,178,60,.12)}
.grupo{display:flex;flex-direction:column;gap:8px}
.rotulo{font-size:.8rem;color:var(--cinza)}
.opcoes{display:flex;gap:8px;flex-wrap:wrap}
.opcao{position:relative;flex:1;min-width:90px}
.opcao input{position:absolute;opacity:0;inset:0;pointer-events:none}
.opcao span{display:flex;align-items:center;justify-content:center;padding:11px 10px;
  border:1px solid var(--borda);border-radius:12px;font-size:.84rem;color:var(--creme-fraco);
  cursor:pointer;transition:.2s;text-align:center}
.opcao input:checked+span{border-color:var(--ambar);color:#1a1409;background:var(--ambar);
  font-weight:500}
.aviso-mini{font-size:.72rem;color:var(--cinza);text-align:center}
#bloco-brinde select{background-image:none}

/* barra mobile */
.barra-mobile{position:fixed;left:0;right:0;bottom:0;z-index:45;padding:10px 14px;
  background:linear-gradient(180deg,transparent,rgba(12,10,8,.95) 40%);display:none}
.barra-mobile button{width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:14px 18px;border-radius:14px;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--ambar-2),#e59a1f);color:#241703;
  font-family:var(--texto);font-size:.88rem;font-weight:500;box-shadow:0 10px 30px -10px rgba(243,178,60,.8)}
.barra-mobile em{font-style:normal;font-weight:600;font-size:.8rem;opacity:.75}

/* ---------------------------------------------------------------- modal */
.modal-fundo{display:grid;place-items:center;padding:18px;z-index:70}
.modal{position:relative;background:var(--fundo);border:1px solid var(--borda);
  border-radius:22px;width:min(520px,100%);max-height:88vh;overflow-y:auto;padding:28px;
  transform:translateY(14px) scale(.98);transition:transform .25s;box-shadow:0 40px 80px -30px #000}
.modal-fundo.ativo .modal{transform:translateY(0) scale(1)}
.modal .fechar{position:absolute;top:12px;right:12px}
.modal h3{font-size:1.5rem;margin-bottom:6px}
.modal .modal-desc{font-size:.86rem;color:var(--cinza);margin-bottom:20px}
.tam-opcoes{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.tam-opcao{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;border:1px solid var(--borda);border-radius:14px;cursor:pointer;transition:.2s}
.tam-opcao:hover{border-color:var(--borda-forte)}
.tam-opcao input{position:absolute;opacity:0;pointer-events:none}
.tam-opcao div{display:flex;flex-direction:column;gap:1px}
.tam-opcao b{font-weight:500;font-size:.95rem}
.tam-opcao small{font-size:.74rem;color:var(--cinza)}
.tam-opcao .valor{font-family:var(--display);font-size:1.05rem;color:var(--creme)}
.tam-opcao:has(input:checked){border-color:var(--ambar);background:rgba(243,178,60,.07)}
.tam-opcao:has(input:checked) .valor{color:var(--ambar)}
.modal-linha{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}
.modal-obs{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--cinza);margin-bottom:18px}
.modal-obs input{font-family:var(--texto);font-size:.9rem;color:var(--creme);
  background:var(--carvao);border:1px solid var(--borda);border-radius:12px;padding:12px 14px;outline:none}
.modal-sucesso{text-align:center}
.ok-icone{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;
  background:rgba(78,163,106,.14);border:1px solid rgba(78,163,106,.4);color:var(--verde);font-size:1.7rem}
.pix-caixa{margin-top:18px;padding:16px;border-radius:14px;background:var(--cartao);
  border:1px solid var(--borda);text-align:left}
.pix-caixa img{width:190px;height:190px;margin:0 auto 12px;border-radius:10px;background:#fff;padding:8px}
.pix-codigo{font-family:ui-monospace,monospace;font-size:.68rem;color:var(--creme-fraco);
  background:var(--carvao);border:1px solid var(--borda);border-radius:10px;padding:10px;
  word-break:break-all;max-height:76px;overflow:auto;margin:10px 0}
.pix-status{font-size:.8rem;color:var(--cinza);display:flex;align-items:center;gap:8px;justify-content:center}
.pix-status i{width:8px;height:8px;border-radius:50%;background:var(--ambar);
  animation:pulsar 1.4s infinite}
@keyframes pulsar{50%{opacity:.3}}

/* tela de cookies */
.aviso-cookies{position:fixed;left:14px;right:14px;bottom:14px;z-index:80;
  display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap;
  background:rgba(24,20,16,.96);backdrop-filter:blur(8px);border:1px solid var(--borda);
  border-radius:14px;padding:14px 18px;box-shadow:0 20px 50px -20px #000;max-width:900px;margin:0 auto}
.aviso-cookies-txt{display:flex;flex-direction:column;gap:2px;font-size:.82rem;color:var(--creme-fraco)}
.aviso-cookies-txt strong{color:var(--creme);font-size:.9rem}
.aviso-cookies-acoes{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:520px){.aviso-cookies{bottom:86px}}

/* conta do cliente (OTP) */
.conta-barra{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.conta-nome{font-size:.86rem;color:var(--ambar)}
.conta-caixa{background:var(--cartao);border:1px solid var(--borda);border-radius:14px;
  padding:14px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}
.conta-caixa label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--cinza)}
.conta-caixa input{font-family:var(--texto);font-size:1rem;color:var(--creme);background:var(--carvao);
  border:1px solid var(--borda);border-radius:10px;padding:11px 12px;outline:none;width:100%}
.dica{font-size:.74rem;color:var(--cinza);margin:0}
.dica.ok{color:var(--verde)}
.dica.erro{color:#ff8b96}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label.check{flex-direction:row;align-items:center;gap:8px;font-size:.8rem;color:var(--creme-fraco)}
label.check input{width:auto}

@media (max-width:960px){
  .topo-nav{display:none}
  .hero{grid-template-columns:1fr;padding-top:36px}
  .hero-arte{order:-1;min-height:270px}
  .pizza{width:min(72%,320px)}
  .tamanhos,.passos,.faixa{grid-template-columns:1fr}
  .faixa-item{border-bottom:1px solid var(--borda)}
  .faixa{margin-top:0}
  .barra-mobile{display:block}
  .rodape{flex-direction:column}
  .selo-status{display:none}
  /* hero com foto no celular */
  .hero-foto{min-height:auto;align-items:flex-end}
  .hero-bg::after{background:linear-gradient(180deg,rgba(10,8,6,.55) 0%,rgba(10,8,6,.85) 45%,rgba(10,8,6,.97) 100%)}
  .hero-bg img{object-position:50% 30%}
  .hero-foto .hero-texto{padding:190px 20px 34px}
  .hero-foto .selos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
  .hero-foto .selos strong{font-size:.98rem}
  .hero-cartao{display:none}
  .cta-final{flex-direction:column;min-height:0;border-radius:18px;margin:24px 14px}
  .cta-final-texto{padding:26px 20px}
  .esconde-mobile{display:none}
}
@media (max-width:520px){
  .topo{padding:12px 14px;gap:10px}
  .marca{font-size:.98rem}
  .marca-svg{width:28px;height:28px}
  .topo-dir .btn-vazado{display:none}
  .grade{grid-template-columns:1fr}
  .drawer{width:100%}
  .hero h1{font-size:2.1rem}
}

/* ------------------------------------------------------------ refinamentos */
/* botão grande para CTA principal */
.btn-grande{padding:16px 30px;font-size:1rem}
.esconde-mobile{}

/* ---------------------------------------------------------------- hero foto */
.hero-foto{
  position:relative;display:block;padding:0;max-width:none;margin:0;
  min-height:min(78vh,720px);display:flex;align-items:center;overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 45%;
  transform:scale(1.03);filter:saturate(1.05) contrast(1.02)}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(8,6,4,.97) 0%,rgba(8,6,4,.94) 38%,
    rgba(8,6,4,.7) 62%,rgba(8,6,4,.38) 82%,rgba(8,6,4,.6) 100%)}
.hero-foto .hero-texto{position:relative;z-index:2;max-width:660px;
  padding:clamp(48px,7vw,96px) clamp(18px,5vw,72px);
  text-shadow:0 2px 24px rgba(0,0,0,.75)}
.hero-foto .hero-texto h1{text-shadow:0 4px 34px rgba(0,0,0,.85),0 1px 2px rgba(0,0,0,.6)}
.hero-foto .hero-sub{color:#ece2d3;text-shadow:0 2px 16px rgba(0,0,0,.9)}
.hero-foto .selos{margin-top:30px}
.hero-foto .selos strong{font-size:1.05rem;display:block}
.hero-foto .selos li{font-size:.78rem;color:var(--creme-fraco)}
.hero-cartao{position:absolute;right:clamp(18px,5vw,72px);bottom:clamp(24px,4vw,54px);z-index:2;
  background:rgba(20,16,12,.86);backdrop-filter:blur(10px);border:1px solid rgba(243,178,60,.28);
  border-radius:16px;padding:18px 22px;min-width:240px;box-shadow:0 24px 50px -24px #000}
.hero-cartao-linha{display:flex;justify-content:space-between;gap:18px;align-items:baseline}
.hero-cartao-linha span{font-size:.82rem;color:var(--creme-fraco)}
.hero-cartao-linha strong{font-family:var(--display);font-size:1.4rem;color:var(--ambar)}
.hero-cartao p{font-size:.76rem;color:var(--cinza);margin-top:2px}
.hero-cartao-cta{display:inline-block;margin-top:12px;font-size:.82rem;color:var(--ambar-2);
  border-bottom:1px solid rgba(243,178,60,.4)}

/* ------------------------------------------------------- card de sabor com foto */
.pizza-card{padding:0;gap:0;overflow:hidden}
.pizza-foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cartao-2)}
.pizza-foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,0,.2,1)}
.pizza-card:hover .pizza-foto img{transform:scale(1.06)}
.pizza-foto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.32) 0%,transparent 38%,transparent 70%,rgba(12,10,8,.55) 100%)}
.tag-foto{position:absolute;top:12px;left:12px;z-index:2;font-size:.66rem;text-transform:uppercase;
  letter-spacing:.09em;padding:5px 10px;border-radius:999px;font-weight:600;
  background:rgba(243,178,60,.94);color:#241703}
.tag-esgotado{position:absolute;inset:auto 12px 12px auto;z-index:2;font-size:.66rem;
  padding:5px 10px;border-radius:999px;background:rgba(215,38,61,.92);color:#fff;font-weight:600}
.pizza-corpo{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.pizza-corpo .pizza-nome{font-size:1.28rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pizza-corpo .tag{font-size:.62rem}
.pizza-corpo .precos{margin-top:2px}
.pizza-corpo .pizza-add{width:100%;justify-content:center;margin-top:4px;border-radius:12px;
  box-shadow:none;background:rgba(243,178,60,.13);border:1px solid rgba(243,178,60,.4);
  color:var(--ambar-2);font-size:.86rem;padding:11px}
.pizza-corpo .pizza-add:hover{background:var(--ambar);color:#241703;border-color:var(--ambar)}
.pizza-card:hover .pizza-corpo .pizza-add::after{transform:none}

/* bebidas com foto */
.bebida-card{display:flex;align-items:stretch;gap:0;padding:0;overflow:hidden}
.bebida-foto{width:104px;flex:0 0 104px;overflow:visible;background:transparent;display:grid;
  place-items:center;padding:4px}
.bebida-foto img{width:92px;height:92px;object-fit:contain;background:transparent;border:0;
  padding:0;filter:drop-shadow(0 12px 16px rgba(0,0,0,.65))}
.bebida-corpo{padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.bebida-corpo h4{font-size:.95rem}
.bebida-acoes{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}

/* faixa CTA final */
.cta-final{position:relative;margin:clamp(30px,5vw,60px) auto;max-width:1180px;
  border-radius:24px;overflow:hidden;display:flex;align-items:center;min-height:340px}
.cta-final img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cta-final::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(95deg,rgba(10,8,6,.94) 0%,rgba(10,8,6,.8) 45%,rgba(10,8,6,.35) 100%)}
.cta-final-texto{position:relative;z-index:2;padding:clamp(28px,4vw,54px);max-width:620px}
.cta-final-texto h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.cta-final-texto p{color:var(--creme-fraco);margin-top:12px;font-size:.95rem}

/* tamanho: CTA */
.tamanho-cta{margin-top:16px;width:100%;justify-content:center}

/* CTA dos sabores: discreto (o card inteiro é clicável) */
.pizza-card .pizza-add{
  background:transparent;border:1px solid rgba(243,178,60,.35);color:var(--ambar);
  box-shadow:none;width:auto;align-self:flex-start;padding:8px 16px;font-size:.8rem;
  letter-spacing:.02em;
}
.pizza-card .pizza-add::after{content:" →";transition:transform .2s}
.pizza-card:hover .pizza-add{background:rgba(243,178,60,.13);border-color:var(--ambar);color:var(--ambar-2)}
.pizza-card:hover .pizza-add::after{transform:translateX(3px)}

/* faixa de promoções com presença */
.faixa{box-shadow:0 20px 40px -30px #000;margin-top:-46px;position:relative;z-index:5}
.faixa-item{background:linear-gradient(180deg,#262019,#1a1610);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.faixa-emoji{filter:drop-shadow(0 4px 10px rgba(243,178,60,.35))}

/* hero: ancorar a pizza no fundo */
.hero-arte::after{content:"";position:absolute;bottom:4%;width:56%;height:38px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.8),rgba(0,0,0,.25) 55%,transparent 72%);
  filter:blur(9px);z-index:0;pointer-events:none}
.prato{box-shadow:inset 0 2px 2px rgba(255,255,255,.10),inset 0 -30px 54px rgba(0,0,0,.9),
  0 44px 80px -30px rgba(0,0,0,1)}
.pizza{filter:drop-shadow(0 22px 22px rgba(0,0,0,.55)) drop-shadow(0 54px 50px rgba(0,0,0,.4))}

