/* =========================================================
   Peg Pratico Pizzas — folha de estilo unica
   ========================================================= */

:root{
  --forno:#2a1714;
  --forno-claro:#4a2821;
  --tomate:#b82520;
  --tomate-escuro:#861b18;
  --queijo:#f6c541;
  --massa:#f7f0e6;
  --massa-funda:#eadbc7;
  --manjericao:#2c5a40;
  --tinta:#2a1a18;
  --suave:#7d6c64;
  --linha:#2a1a1820;
  --sombra:0 22px 60px rgba(42,23,20,.13);
  --sombra-alta:0 28px 70px rgba(42,23,20,.24);
  --curva:cubic-bezier(.23,1,.32,1);
  --largura:min(1240px, 100% - 48px);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--massa);
  color:var(--tinta);
  font-family:"DM Sans",system-ui,-apple-system,sans-serif;
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
}

h1,h2,h3,h4{font-family:"Bree Serif",Georgia,serif;font-weight:400;margin:0;line-height:1.12}
p{margin:0}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
ul{margin:0;padding:0;list-style:none}

.largura{width:var(--largura);margin-inline:auto}
.pular{position:absolute;left:-9999px}
.pular:focus{left:12px;top:12px;z-index:200;background:var(--queijo);color:var(--forno);padding:12px 18px;border-radius:8px}

:focus-visible{outline:3px solid var(--queijo);outline-offset:3px;border-radius:4px}

/* ---------------- Botoes ---------------- */
.botao{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:50px;padding:13px 24px;border-radius:10px;
  font-weight:700;font-size:15px;letter-spacing:.01em;
  transition:transform .2s var(--curva), box-shadow .2s var(--curva), background .2s;
}
.botao:hover{transform:translateY(-2px)}
.botao:active{transform:translateY(0)}
.botao--tomate{background:var(--tomate);color:#fff;box-shadow:0 12px 26px rgba(184,37,32,.32)}
.botao--tomate:hover{background:var(--tomate-escuro)}
.botao--queijo{background:var(--queijo);color:var(--forno);box-shadow:0 12px 26px rgba(246,197,65,.35)}
.botao--queijo:hover{background:#ffd45c}
.botao--zap{background:var(--manjericao);color:#fff}
.botao--zap:hover{background:#1f4a33}
.botao--vazio{border:1.5px solid var(--linha);color:var(--tinta)}
.botao--vazio:hover{border-color:var(--tomate);color:var(--tomate)}
.botao--claro{border:1.5px solid rgba(255,255,255,.35);color:#fff}
.botao--claro:hover{border-color:var(--queijo);color:var(--queijo)}
.botao--largo{width:100%}

/* ---------------- Cabecalho ---------------- */
.topo{
  position:fixed;inset:0 0 auto 0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  height:84px;padding:0 max(24px, 50vw - 620px);
  color:#fff;
  background:linear-gradient(to bottom, rgba(42,23,20,.55), transparent);
  transition:height .28s var(--curva), background .28s var(--curva), box-shadow .28s;
}
.topo--fixo{
  height:66px;background:var(--forno);
  box-shadow:0 10px 30px rgba(42,23,20,.35);
}
.topo__marca{display:flex;align-items:center;gap:11px}
.topo__marca img{width:46px;height:46px;border-radius:50%;border:2px solid var(--queijo);transition:width .28s var(--curva),height .28s var(--curva)}
.topo--fixo .topo__marca img{width:38px;height:38px}
.topo__marca span{font-family:"Bree Serif",serif;font-size:17px;line-height:1.05}
.topo__marca small{display:block;font-family:"DM Sans",sans-serif;font-size:10.5px;letter-spacing:.14em;color:var(--queijo)}
.topo__nav{display:flex;align-items:center;gap:28px;font-size:14.5px;font-weight:500}
.topo__nav a{position:relative;padding:6px 0;opacity:.92}
.topo__nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--queijo);
  transition:width .25s var(--curva);
}
.topo__nav a:hover::after{width:100%}
.topo__acao{display:flex;gap:10px;align-items:center}
.topo__menu{display:none;width:46px;height:46px;align-items:center;justify-content:center;border-radius:10px;border:1.5px solid rgba(255,255,255,.3)}
.topo__menu i{display:block;width:20px;height:2px;background:#fff;position:relative}
.topo__menu i::before,.topo__menu i::after{content:"";position:absolute;left:0;width:20px;height:2px;background:#fff;transition:transform .25s}
.topo__menu i::before{top:-6px}
.topo__menu i::after{top:6px}

/* ---------------- Hero ---------------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:#fff}
.hero__foto{position:absolute;inset:0}
.hero__foto img{width:100%;height:100%;object-fit:cover;animation:respiro 30s ease-in-out infinite alternate}
@keyframes respiro{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero__veu{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg, rgba(30,14,12,.94) 0%, rgba(30,14,12,.72) 42%, rgba(30,14,12,.12) 78%),
    linear-gradient(to top, rgba(30,14,12,.75), transparent 45%);
}
.hero__conteudo{position:relative;width:var(--largura);margin-inline:auto;padding:120px 0 150px;max-width:none}
.hero__caixa{max-width:620px}
.hero__local{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;
  font-size:12.5px;letter-spacing:.1em;color:var(--queijo);
}
.hero__local b{font-weight:700}
.hero h1{font-size:clamp(42px,6.2vw,76px);letter-spacing:-.025em}
.hero h1 .linha{display:block;overflow:hidden}
.hero h1 .linha > span{display:block;transform:translateY(105%);animation:sobe .95s var(--curva) forwards}
.hero h1 .linha:nth-child(1) > span{animation-delay:.12s}
.hero h1 .linha:nth-child(2) > span{animation-delay:.24s}
.hero h1 .linha:nth-child(3) > span{animation-delay:.36s}
.hero h1 em{font-style:normal;color:var(--queijo)}
@keyframes sobe{to{transform:translateY(0)}}
.hero__texto{
  margin:22px 0 30px;max-width:42ch;font-size:17.5px;color:rgba(255,255,255,.88);
  opacity:0;animation:entra .8s var(--curva) .58s forwards;
}
.hero__botoes{display:flex;flex-wrap:wrap;gap:12px;opacity:0;animation:entra .8s var(--curva) .7s forwards}
.hero__provas{
  display:flex;flex-wrap:wrap;gap:26px;margin-top:38px;font-size:13.5px;color:rgba(255,255,255,.8);
  opacity:0;animation:entra .8s var(--curva) .82s forwards;
}
.hero__provas span{display:inline-flex;align-items:center;gap:8px}
.hero__provas b{color:var(--queijo);font-size:15px}
@keyframes entra{to{opacity:1}}

.hero__seta{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  width:26px;height:42px;border:2px solid rgba(255,255,255,.4);border-radius:14px;
}
.hero__seta::after{
  content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;border-radius:2px;
  background:var(--queijo);transform:translateX(-50%);
  animation:rolar 1.9s ease-in-out infinite;
}
@keyframes rolar{0%,100%{opacity:0;top:8px}35%{opacity:1}70%{opacity:0;top:22px}}

/* ---------------- Faixa vermelha ---------------- */
.faixa{background:var(--tomate);color:#fff}
.faixa__grade{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:22px 0}
.faixa__item{display:flex;align-items:center;gap:14px;padding:6px 22px;border-right:1px solid rgba(255,255,255,.22)}
.faixa__item:last-child{border-right:0}
.faixa__item svg{flex:0 0 auto}
.faixa__item b{display:block;font-size:15px}
.faixa__item small{display:block;font-size:12.5px;color:rgba(255,255,255,.78)}

/* ---------------- Historia ---------------- */
.historia{background:var(--massa-funda);padding:104px 0;position:relative;overflow:hidden}
.historia__grade{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center}
.historia h2{font-size:clamp(30px,3.7vw,46px);letter-spacing:-.02em;margin-bottom:26px;max-width:15ch}
.historia h2 em{font-style:normal;color:var(--tomate)}
.historia__texto p{margin-bottom:15px;max-width:60ch;color:#4b3d38;font-size:15.5px;line-height:1.78}
.historia__frase{
  margin-top:28px;padding:16px 0 16px 22px;border-left:4px solid var(--tomate);
  font-family:"Bree Serif",serif;font-size:21px;line-height:1.35;color:var(--tinta);
}
.historia__foto{position:relative}
.historia__foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px;box-shadow:var(--sombra)}
.historia__selo{
  position:absolute;left:-20px;bottom:30px;background:var(--tomate);color:#fff;
  padding:16px 20px;border-radius:14px;box-shadow:var(--sombra-alta);
}
.historia__selo b{display:block;font-family:"Bree Serif",serif;font-size:30px;line-height:1}
.historia__selo small{display:block;margin-top:3px;font-size:11px;letter-spacing:.06em;opacity:.9}

/* ---------------- Numeros ---------------- */
.numeros{background:var(--forno);color:#fff;padding:62px 0}
.numeros__grade{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;text-align:center}
.numeros__item b{display:block;font-family:"Bree Serif",serif;font-size:clamp(38px,5vw,58px);color:var(--queijo);line-height:1}
.numeros__item span{display:block;margin-top:8px;font-size:14px;color:rgba(255,255,255,.75)}

/* ---------------- Cabecalho de secao ---------------- */
.secao{padding:104px 0}
.secao__topo{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px;flex-wrap:wrap}
.secao__topo h2{font-size:clamp(30px,3.7vw,46px);letter-spacing:-.02em;max-width:16ch}
.secao__topo h2 em{font-style:normal;color:var(--tomate)}
.secao__topo p{max-width:46ch;color:var(--suave);font-size:15.5px}

/* ---------------- Cards de pizza ---------------- */
.grade-pizzas{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pizza{
  background:#fff;border:1px solid var(--linha);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .28s var(--curva), box-shadow .28s var(--curva), border-color .28s;
}
.pizza:hover{transform:translateY(-6px);box-shadow:var(--sombra);border-color:transparent}
.pizza__foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--massa-funda)}
.pizza__foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--curva)}
.pizza:hover .pizza__foto img{transform:scale(1.07)}
.pizza__marca{
  position:absolute;left:14px;top:14px;background:var(--queijo);color:var(--forno);
  padding:5px 11px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.04em;
}
.pizza__info{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.pizza__info h2{font-size:21px;margin:7px 0 8px}
.pizza__cat{font-size:11.5px;letter-spacing:.08em;color:var(--tomate);font-weight:700;text-transform:uppercase}
.pizza__info h3{margin:7px 0 8px;font-size:21px}
.pizza__info p{color:var(--suave);font-size:14px;line-height:1.6;flex:1}
.pizza__acoes{display:flex;gap:9px;margin-top:16px}
.pizza__acoes .botao{flex:1;min-height:44px;padding:11px 12px;font-size:13.5px}

.cardapio-fim{margin-top:44px;display:flex;justify-content:center}

/* ---------------- Filiais ---------------- */
.filiais{background:var(--massa-funda)}
.filiais__grade{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.filial{background:#fff;border-radius:20px;padding:30px;border:1px solid var(--linha);display:flex;flex-direction:column}
.filial__topo{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.filial__aberta{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--manjericao);font-weight:600}
.filial__aberta i{width:8px;height:8px;border-radius:50%;background:var(--manjericao);animation:piscar 2.4s ease-in-out infinite}
@keyframes piscar{0%,100%{opacity:1}50%{opacity:.35}}
.filial__entrega{background:var(--queijo);color:var(--forno);padding:5px 11px;border-radius:6px;font-size:11.5px;font-weight:700}
.filial h3{font-size:26px;margin-bottom:8px}
.filial__end{color:var(--suave);font-size:14.5px;margin-bottom:6px}
.filial__hora{color:var(--tomate);font-size:13.5px;font-weight:600;margin-bottom:22px}
.filial__acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.filial__acoes .botao{flex:1 1 160px}
.filial__tel{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;color:var(--suave)}

/* ---------------- Como pedir ---------------- */
.passos{background:var(--forno);color:#fff}
.passos__grade{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.passo{border-left:1px solid rgba(255,255,255,.2);padding-left:22px}
.passo b{font-family:"Bree Serif",serif;font-size:26px;color:var(--queijo)}
.passo h3{margin:14px 0 9px;font-size:20px}
.passo p{color:rgba(255,255,255,.72);font-size:14.5px}
.passos .secao__topo h2 em{color:var(--queijo)}
.passos .secao__topo p{color:rgba(255,255,255,.7)}

/* ---------------- FAQ ---------------- */
.faq__lista{display:grid;gap:12px;max-width:840px}
.faq__item{background:#fff;border:1px solid var(--linha);border-radius:14px;overflow:hidden}
.faq__item summary{
  list-style:none;cursor:pointer;padding:20px 54px 20px 22px;position:relative;
  font-family:"Bree Serif",serif;font-size:18px;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"";position:absolute;right:22px;top:50%;width:12px;height:12px;
  border-right:2px solid var(--tomate);border-bottom:2px solid var(--tomate);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s var(--curva);
}
.faq__item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq__item p{padding:0 22px 20px;color:var(--suave);font-size:15px;max-width:70ch}

/* ---------------- Rodape ---------------- */
.rodape{background:var(--forno);color:rgba(255,255,255,.78);padding:76px 0 130px;font-size:14.5px}
.rodape__grade{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:44px}
.rodape__marca{display:flex;gap:13px;align-items:center;margin-bottom:16px}
.rodape__marca img{width:56px;height:56px;border-radius:50%;border:2px solid var(--queijo)}
.rodape__marca b{font-family:"Bree Serif",serif;font-size:19px;color:#fff;display:block}
.rodape h4{color:var(--queijo);font-size:14px;margin-bottom:14px;font-family:"DM Sans",sans-serif;font-weight:700;letter-spacing:.05em}
.rodape li{margin-bottom:9px}
.rodape a:hover{color:var(--queijo)}
.rodape__fim{
  margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.55);
}

/* ---------------- Barra flutuante ---------------- */
.barra{
  position:fixed;left:0;right:0;bottom:0;z-index:55;
  display:flex;gap:9px;justify-content:center;align-items:stretch;
  padding:12px max(16px, 50vw - 620px);
  padding-bottom:calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(to top, rgba(42,23,20,.5), transparent);
  transform:translateY(130%);transition:transform .45s var(--curva);
  pointer-events:none;
}
.barra--visivel{transform:translateY(0);pointer-events:auto}
.barra__btn{
  display:flex;align-items:center;gap:10px;min-height:56px;padding:9px 18px;border-radius:12px;
  box-shadow:0 14px 30px rgba(42,23,20,.35);
  transition:transform .2s var(--curva);
}
.barra__btn:hover{transform:translateY(-3px)}
.barra__btn small{display:block;font-size:10.5px;letter-spacing:.1em;opacity:.85;line-height:1.2}
.barra__btn b{display:block;font-size:15px;line-height:1.2}
.barra__zap{background:var(--manjericao);color:#fff}
.barra__delivery{background:var(--tomate);color:#fff;border:2px solid var(--queijo)}
.barra__delivery b{color:var(--queijo)}

/* ---------------- Modal de pedido ---------------- */
.modal{
  position:fixed;inset:0;z-index:90;display:none;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(30,14,12,.62);backdrop-filter:blur(6px);
}
.modal--aberto{display:flex;animation:entra .22s ease forwards}
.modal__caixa{
  background:var(--massa);border-radius:20px;width:min(520px,100%);
  max-height:92vh;overflow-y:auto;padding:30px;position:relative;
  box-shadow:var(--sombra-alta);
  transform:scale(.96);opacity:0;animation:abre .26s var(--curva) forwards;
}
@keyframes abre{to{transform:scale(1);opacity:1}}
.modal__fechar{
  position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;background:#fff;border:1px solid var(--linha);
}
.modal__fechar:hover{background:var(--tomate);color:#fff;border-color:var(--tomate)}
.modal h2{font-size:27px;margin-bottom:6px;padding-right:40px}
.modal h2 em{font-style:normal;color:var(--tomate)}
.modal__sub{color:var(--suave);font-size:14.5px;margin-bottom:22px}
.modal__opcoes{display:grid;gap:11px}
.opcao{
  display:flex;align-items:center;gap:15px;padding:16px;border-radius:14px;
  background:#fff;border:1px solid var(--linha);text-align:left;width:100%;
  transition:border-color .2s, transform .2s var(--curva), box-shadow .2s;
}
.opcao:hover{border-color:var(--tomate);transform:translateX(4px);box-shadow:var(--sombra)}
.opcao__icone{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}
.opcao--zap .opcao__icone{background:#e9f5ee;color:var(--manjericao)}
.opcao--delivery .opcao__icone{background:#fdeceb;color:var(--tomate)}
.opcao__txt{flex:1}
.opcao__txt b{display:block;font-family:"Bree Serif",serif;font-size:19px}
.opcao__txt small{display:block;color:var(--suave);font-size:13px;line-height:1.45}

.form__linha{display:grid;gap:14px;margin-bottom:14px}
.form__duplo{grid-template-columns:1fr 1fr}
.campo{display:block}
.campo span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.campo input,.campo textarea{
  width:100%;font-size:16px;padding:13px 14px;border-radius:11px;
  border:1.5px solid var(--linha);background:#fff;color:var(--tinta);
  transition:border-color .2s;
}
.campo input:focus,.campo textarea:focus{border-color:var(--tomate);outline:none}
.campo textarea{min-height:74px;resize:vertical;font-family:inherit}
.escolha{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.escolha button{
  padding:13px;border-radius:11px;border:1.5px solid var(--linha);background:#fff;
  font-size:14.5px;font-weight:600;transition:all .2s;
}
.escolha button[aria-pressed="true"]{border-color:var(--tomate);background:#fdeceb;color:var(--tomate)}
.modal__erro{background:#fdeceb;color:var(--tomate);padding:11px 14px;border-radius:10px;font-size:14px;margin-bottom:14px}
.modal__voltar{margin-top:14px;font-size:14px;color:var(--suave);text-decoration:underline}
.esconde{display:none !important}

/* ---------------- Pagina do cardapio ---------------- */
.capa{background:var(--forno);color:#fff;padding:132px 0 54px;position:relative;overflow:hidden}
.capa::after{
  content:"";position:absolute;inset:0;opacity:.16;
  background:radial-gradient(circle at 78% 40%, var(--queijo), transparent 55%);
}
.capa__conteudo{position:relative}
.capa h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.025em;max-width:16ch}
.capa h1 em{font-style:normal;color:var(--queijo)}
.capa p{margin-top:14px;max-width:52ch;color:rgba(255,255,255,.76)}

.filtros{
  position:sticky;top:66px;z-index:40;background:var(--massa);
  border-bottom:1px solid var(--linha);padding:16px 0;
}
.filtros__linha{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.filtros__abas{display:flex;gap:8px;overflow-x:auto;flex:1;scrollbar-width:none}
.filtros__abas::-webkit-scrollbar{display:none}
.filtros__abas button{
  white-space:nowrap;padding:10px 17px;border-radius:9px;border:1.5px solid var(--linha);
  font-size:14px;font-weight:600;background:#fff;transition:all .2s;
}
.filtros__abas button[aria-pressed="true"]{background:var(--tomate);border-color:var(--tomate);color:#fff}
.busca{position:relative;flex:0 0 260px}
.busca input{
  width:100%;font-size:16px;padding:11px 14px 11px 40px;border-radius:9px;
  border:1.5px solid var(--linha);background:#fff;
}
.busca svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--suave)}
.contagem{color:var(--suave);font-size:14px;margin:26px 0 20px}
.vazio{padding:60px 20px;text-align:center;color:var(--suave)}

/* ---------------- Revelacao ao rolar ---------------- */
.rev{opacity:0;transform:translateY(22px);transition:opacity .7s var(--curva), transform .7s var(--curva)}
.rev--on{opacity:1;transform:none}

/* ---------------- Responsivo ---------------- */
@media (max-width:1024px){
  .historia__grade{grid-template-columns:1fr;gap:38px}
  .historia__foto img{aspect-ratio:16/10}
  .historia__selo{left:16px}
  .grade-pizzas{grid-template-columns:repeat(2,1fr)}
  .passos__grade{grid-template-columns:1fr;gap:18px}
  .rodape__grade{grid-template-columns:1fr 1fr;gap:32px}
}

@media (max-width:820px){
  :root{--largura:min(1240px, 100% - 32px)}
  .topo__nav{display:none}
  .topo__menu{display:flex}
  .topo__acao .botao{display:none}
  .faixa__grade{grid-template-columns:1fr;gap:0;padding:14px 0}
  .faixa__item{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:12px 4px}
  .faixa__item:last-child{border-bottom:0}
  .secao{padding:72px 0}
  .historia{padding:72px 0}
  .filiais__grade{grid-template-columns:1fr}
  .filtros{top:60px}
  .busca{flex:1 1 100%}
}

@media (max-width:600px){
  .hero{min-height:92svh}
  .hero__conteudo{padding:110px 0 130px}
  .hero__provas{gap:16px;font-size:12.5px}
  .grade-pizzas{grid-template-columns:1fr}
  .numeros__grade{grid-template-columns:1fr;gap:22px}
  .rodape__grade{grid-template-columns:1fr}
  .rodape{padding-bottom:120px}
  .barra{gap:7px;padding-left:12px;padding-right:12px}
  .barra__btn{flex:1;padding:9px 10px;justify-content:center;min-height:58px}
  .barra__btn small{font-size:9.5px}
  .barra__btn b{font-size:13px}
  .barra__zap svg{display:none}
  .modal__caixa{padding:24px 20px}
  .form__duplo{grid-template-columns:1fr}
  .historia__selo{left:12px;bottom:12px;padding:12px 15px}
}

/* Menu mobile aberto */
.topo__nav--aberto{
  display:flex;position:absolute;top:100%;left:0;right:0;
  flex-direction:column;align-items:flex-start;gap:0;
  background:var(--forno);padding:8px 24px 18px;
  box-shadow:0 18px 30px rgba(42,23,20,.35);
}
.topo__nav--aberto a{width:100%;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .rev{opacity:1;transform:none}
  .hero h1 .linha > span{transform:none}
  .hero__texto,.hero__botoes,.hero__provas{opacity:1}
}

/* ---------------- Preco e rodape do card ---------------- */
.pizza__rodape{margin-top:16px;display:flex;flex-direction:column;gap:12px}
.pizza__preco{display:flex;align-items:baseline;gap:8px}
.pizza__preco small{font-size:11.5px;color:var(--suave);letter-spacing:.02em}
.pizza__preco b{font-family:"Bree Serif",serif;font-size:24px;color:var(--tomate);
  background:rgba(246,197,65,.28);padding:2px 8px;border-radius:6px}
.pizza__acoes{display:flex;gap:9px;margin-top:0}

/* Logo maior no topo, agora que ela tem fundo transparente */
.topo__marca img{border:0;border-radius:0;width:52px;height:52px;object-fit:contain}
.topo--fixo .topo__marca img{width:42px;height:42px}
.rodape__marca img{border:0;border-radius:0;width:64px;height:64px;object-fit:contain}
.plogin__caixa img,.pcabec__marca img{border:0;border-radius:0;object-fit:contain}

/* ---------------- Carrossel de destaques ---------------- */
.carrossel{position:relative}
.carrossel__trilho{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);
  gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:4px 2px 14px;scrollbar-width:none;scroll-behavior:smooth;
}
.carrossel__trilho::-webkit-scrollbar{display:none}
.carrossel__seta{
  position:absolute;top:38%;z-index:5;width:46px;height:46px;border-radius:50%;
  background:#fff;border:1px solid var(--linha);display:grid;place-items:center;
  box-shadow:var(--sombra);transition:transform .2s var(--curva), background .2s, opacity .2s;
}
.carrossel__seta:hover{background:var(--tomate);color:#fff;border-color:var(--tomate);transform:scale(1.06)}
.carrossel__seta--esq{left:-14px}
.carrossel__seta--dir{right:-14px}
.carrossel__seta[disabled]{opacity:.28;pointer-events:none}

.destaque{
  scroll-snap-align:start;background:#fff;border:1px solid var(--linha);border-radius:18px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .28s var(--curva), box-shadow .28s var(--curva), border-color .28s;
}
.destaque:hover{transform:translateY(-6px);box-shadow:var(--sombra);border-color:transparent}
.destaque__foto{aspect-ratio:4/3;background:var(--massa-funda);overflow:hidden;display:grid;place-items:center}
.destaque__foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--curva)}
.destaque:hover .destaque__foto img{transform:scale(1.06)}
.destaque__semfoto{font-size:12.5px;color:var(--suave);letter-spacing:.06em}
.destaque__info{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1;gap:7px}
.destaque__info h3{font-size:20px;line-height:1.2}
.destaque__info p{color:var(--suave);font-size:13.5px;line-height:1.55;flex:1}
.destaque__preco{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-top:6px}
.destaque__preco small{width:100%;font-size:11.5px;color:var(--suave)}
.destaque__preco b{font-family:"Bree Serif",serif;font-size:23px;color:var(--manjericao)}
.destaque__preco s{color:var(--suave);font-size:14px}
.destaque__preco i{
  font-style:normal;font-size:12px;font-weight:700;color:#1c6f45;
  background:#e0f2e7;padding:3px 8px;border-radius:6px;
}

.selo{
  align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;padding:4px 9px;border-radius:6px;
}
.selo--azul{background:#e8effd;color:#2b56c4}
.selo--ouro{background:#fdf1cf;color:#8a6407}
.selo--rosa{background:#fde8ef;color:#b5225a}
.selo--roxo{background:#f0e8fd;color:#6b31c0}

@media (max-width:820px){
  .carrossel__seta{display:none}
  .carrossel__trilho{grid-auto-columns:minmax(240px,78%);gap:14px}
}

/* Selo em cima da foto no cardápio */
.pizza__foto{position:relative}
.pizza__selo{position:absolute;left:12px;top:12px;z-index:2}
.pizza__rodape .destaque__preco{margin-top:0}

/* ---------------- Grade de categorias ---------------- */
.categorias{background:var(--massa-funda)}
.grade-categorias{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.categoria{
  background:#fff;border:1px solid var(--linha);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .28s var(--curva), box-shadow .28s var(--curva), border-color .28s;
}
.categoria:hover{transform:translateY(-6px);box-shadow:var(--sombra);border-color:transparent}
.categoria__foto{aspect-ratio:1/1;overflow:hidden;background:var(--forno)}
.categoria__foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--curva)}
.categoria:hover .categoria__foto img{transform:scale(1.06)}
.categoria__foto--vazia{
  display:grid;place-items:center;padding:24px;text-align:center;
  background:
    radial-gradient(circle at 50% 30%, #5a2f26 0%, transparent 62%),
    linear-gradient(160deg,#2a1714,#160b09);
  border:2px solid rgba(246,197,65,.35);border-radius:16px;margin:10px;
  aspect-ratio:1/1;
}
.categoria__cartaz small{
  display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--queijo);margin-bottom:10px;
}
.categoria__cartaz b{
  display:block;font-family:"Bree Serif",serif;font-weight:400;color:#fff;
  font-size:clamp(20px,2.4vw,27px);line-height:1.14;text-transform:uppercase;letter-spacing:.01em;
}
.categoria__cartaz em{
  display:block;margin-top:14px;font-style:normal;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.62);
}
.categoria__cartaz em span{
  display:block;margin-top:3px;font-family:"Bree Serif",serif;font-size:26px;
  letter-spacing:0;color:var(--queijo);text-transform:none;
}
.categoria__rodape{padding:16px 18px 18px}
.categoria__rodape h3{font-size:19px;margin-bottom:5px}
.categoria__rodape span{font-size:13px;color:var(--suave)}

@media (max-width:900px){.grade-categorias{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (max-width:560px){.grade-categorias{grid-template-columns:1fr}}

/* ---------------- Blocos de categoria no cardápio ---------------- */
.bloco-cat{margin-bottom:56px;scroll-margin-top:150px}
.bloco-cat:last-child{margin-bottom:0}
.bloco-cat__topo{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--linha);
}
.bloco-cat__topo h2{font-size:clamp(23px,2.6vw,30px);letter-spacing:-.01em}
.bloco-cat__topo span{font-size:13.5px;color:var(--suave)}
.pizza__info h3{font-size:21px;margin:0 0 8px;line-height:1.2}

/* ---------------- Faixa com dois itens ---------------- */
.faixa__grade--dois{grid-template-columns:repeat(2,1fr)}
@media (max-width:820px){.faixa__grade--dois{grid-template-columns:1fr}}

/* ---------------- Horários da unidade ---------------- */
.filial__horarios{margin:0 0 14px;display:grid;gap:7px}
.filial__horarios li{
  display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  font-size:13.5px;padding-bottom:7px;border-bottom:1px dashed var(--linha);
}
.filial__horarios li:last-child{border-bottom:0;padding-bottom:0}
.filial__horarios span{color:var(--suave)}
.filial__horarios b{color:var(--tinta);white-space:nowrap}
.filial__obs{
  font-size:13px;color:var(--tomate);background:#fdeceb;
  padding:9px 12px;border-radius:9px;margin-bottom:20px;
}
