/* Cardápio Digital — estilos globais */
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden}
section[id]{scroll-margin-top:84px}
body{font-family:'Plus Jakarta Sans',sans-serif;color:#383C49;background:#FBFAF8;-webkit-font-smoothing:antialiased}
::selection{background:#E0551D;color:#fff}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes pulse-ring{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.8);opacity:0}}

a{color:inherit}
.faq-q:hover span:first-child{color:#E0551D}
.foot-link:hover{color:#fff !important}

/* ===== Lenis (smooth scroll) ===== */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* ===== Transição suave entre seções (scroll reveal) ===== */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.16,.84,.44,1),transform .8s cubic-bezier(.16,.84,.44,1)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1 !important;transform:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

/* ===== Menu mobile (hambúrguer) ===== */
.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:10px;border-radius:10px}
.menu-toggle span{display:block;height:2.5px;width:100%;background:#383C49;border-radius:2px;transition:transform .3s,opacity .3s}
header.menu-open .menu-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
header.menu-open .menu-toggle span:nth-child(2){opacity:0}
header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ===== Responsividade ===== */
@media (max-width:1000px){
  [style*="grid-template-columns:1.6fr 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr !important;gap:36px !important}
}

@media (max-width:900px){
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  [style*="grid-template-columns:1.05fr .95fr"]{grid-template-columns:1fr !important;gap:44px !important}
}

@media (max-width:1000px){
  header nav{display:none !important}
  header.menu-open nav{display:flex !important;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:#fff;border-bottom:1px solid #ECE9E3;box-shadow:0 16px 30px -18px rgba(56,60,73,.3);padding:8px 24px 16px}
  header.menu-open nav a{width:100%;padding:14px 4px !important;border-bottom:1px solid #F2EFE9;font-size:16px !important}
  .menu-toggle{display:flex}
}

@media (max-width:760px){
  section{padding-top:64px !important;padding-bottom:64px !important}
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
}

@media (max-width:640px){
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr !important}
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr !important}
  [style*="grid-template-columns:1.6fr 1fr 1fr 1fr"]{grid-template-columns:1fr !important;gap:30px !important}
  header img{height:52px !important}
  header > div > a:last-child{padding:9px 15px !important;font-size:13.5px !important}
  /* Hero */
  #topo > div{padding:40px 22px 48px !important}
  #topo h1{font-size:33px !important;line-height:1.1 !important}
  #topo p{font-size:17px !important}
  /* Títulos de seção menores no celular */
  h2{font-size:29px !important;line-height:1.14 !important}
  /* Reduz respiro lateral exagerado */
  #problema > div, #solucao > div{padding-left:0 !important;padding-right:0 !important}
}

@media (max-width:420px){
  #topo h1{font-size:29px !important}
  h2{font-size:26px !important}
  header img{height:46px !important}
  header > div > a:last-child{padding:8px 12px !important;font-size:12.5px !important}
}
