/* ============================================================
   PBNext — Base
   Reset, tipografia base e utilitários mínimos.
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Cairo',sans-serif;background:var(--gr);color:var(--d)}

a{color:inherit}
img{max-width:100%;display:block}

/* Skip link + foco visível (acessibilidade) */
.skip-link{position:absolute;top:-40px;left:0;background:var(--g);color:var(--d);padding:var(--sp-2) var(--sp-4);font-weight:700;z-index:999;border-radius:0 0 var(--r-sm) 0;transition:top .2s;font-family:'Cairo',sans-serif;text-decoration:none}
.skip-link:focus{top:0!important}
:focus-visible{outline:2px solid var(--g);outline-offset:3px}

/* Título de seção — padrão em todas as páginas */
section{padding:var(--sp-8) 5%}
.sec-tag{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--g);margin-bottom:var(--sp-2)}
h2{font-size:clamp(22px,3vw,var(--fs-h2));font-weight:900;margin-bottom:var(--sp-2)}
h3{font-size:var(--fs-h3);font-weight:900}
.sec-sub,.ssub{font-size:var(--fs-sm);line-height:1.6;margin-bottom:var(--sp-6);max-width:var(--measure)}

/* Tom de fundo por seção — mesma convenção nas 9 páginas */
.sec-d{background:var(--d)}
.sec-d h2{color:#fff}
.sec-d .sec-sub,.sec-d .ssub{color:var(--tm)}
.sec-l{background:var(--gr)}
.sec-l h2{color:var(--d)}
.sec-l .sec-sub,.sec-l .ssub{color:#4a5568}
.sec-m{background:var(--mid)}
.sec-m h2{color:var(--d)}
.sec-m .sec-sub,.sec-m .ssub{color:#4a5568}

/* Grids utilitárias */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}

/* FAQ accordion — compartilhado */
.faq-list{display:flex;flex-direction:column;gap:0;max-width:760px}
.faq-item{border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer;transition:background .15s}
.sec-l .faq-item{border-bottom-color:rgba(18,35,52,.08)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4) 0;gap:var(--sp-4)}
.faq-q span:first-child{font-size:var(--fs-body);font-weight:700;color:#fff;line-height:1.4}
.sec-l .faq-q span:first-child{color:var(--d)}
.faq-icon{font-size:20px;font-weight:300;color:var(--g);flex-shrink:0;transition:transform .25s;line-height:1}
.faq-a{font-size:var(--fs-sm);color:rgba(255,255,255,.6);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s}
.sec-l .faq-a{color:#4a5568}
.faq-item.open .faq-a{max-height:300px;padding-bottom:var(--sp-4)}
.faq-item.open .faq-icon{transform:rotate(45deg)}

/* WhatsApp flutuante */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:200}
.wa-float a{background:#25D366;color:#fff;font-size:var(--fs-sm);font-weight:700;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-full);text-decoration:none;display:flex;align-items:center;gap:var(--sp-2);box-shadow:0 4px 20px rgba(10,191,188,.4);transition:transform .2s,box-shadow .2s}
.wa-float a:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(10,191,188,.5)}

@media (max-width: 768px) {
  .grid3,.grid4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 480px) {
  .grid2,.grid3,.grid4{grid-template-columns:1fr}
}
