/* Rodapé público: encerra a página em uma superfície clara, independente do fundo. */
.footer-modern { --footer-ink:#1e293b; --footer-muted:#64748b; --footer-line:#e2e8f0; --footer-surface:#fff; font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--footer-surface); border-top:4px solid var(--primary,var(--primary-color,#f59e0b)); color:var(--footer-ink); margin-top:56px; }
.footer-modern .container { max-width:1200px; margin:0 auto; padding:0 24px; }
.footer-cta-wrapper { position:relative; z-index:1; transform:translateY(-30px); margin-bottom:-6px; }
.footer-cta-card { align-items:center; background:linear-gradient(120deg,var(--menu-gradient-start,var(--primary,#f59e0b)),var(--menu-gradient-end,var(--secondary,#ea580c))); border-radius:16px; box-shadow:0 16px 34px rgba(15,23,42,.18); color:#fff; display:flex; gap:24px; justify-content:space-between; padding:20px 28px; }
.cta-text h3 { color:#fff; font-size:1.375rem; font-weight:800; letter-spacing:-.02em; line-height:1.2; margin:0; }
.cta-beneficios { display:flex; flex-wrap:wrap; gap:4px 18px; list-style:none; margin:8px 0 0; padding:0; }
.cta-beneficios li { align-items:center; color:#fff; display:inline-flex; font-size:.875rem; font-weight:600; gap:6px; }
.cta-beneficios svg { color:var(--accent,#fff); flex:none; height:16px; width:16px; }
.btn-modern-cta { align-items:center; background:#fff; border-radius:12px; color:var(--footer-ink); display:inline-flex; font-size:.875rem; font-weight:800; gap:10px; justify-content:center; min-height:48px; padding:0 24px; text-decoration:none; white-space:nowrap; }
.btn-modern-cta:hover { background:#f8fafc; color:var(--footer-ink); }
.btn-modern-cta:focus-visible,.footer-modern a:focus-visible { outline:3px solid var(--primary,#f59e0b); outline-offset:3px; }
.btn-modern-cta svg { height:18px; width:18px; }
.footer-main { padding:24px 0 38px; }
.footer-grid-layout { align-items:center; display:flex; gap:32px; justify-content:space-between; }
.footer-col,.footer-col-brand { min-width:0; }
.footer-logo-wrap { display:inline-flex; max-width:100%; text-decoration:none; }
.footer-logo-img { height:48px; max-width:100%; object-fit:contain; width:auto; }
.logo-text { color:var(--footer-ink); font-size:1.5rem; font-weight:800; letter-spacing:-.03em; }
.footer-slogan { color:var(--footer-muted); font-size:.875rem; line-height:1.5; margin:12px 0 0; }
.footer-col h2 { color:var(--footer-ink); font-size:.875rem; font-weight:800; letter-spacing:-.01em; line-height:1.3; margin:5px 0 14px; }
.social-logos { display:flex; flex-wrap:wrap; gap:8px; }
.social-brand-icon { align-items:center; background:#f1f5f9; border-radius:10px; color:var(--footer-muted); display:inline-flex; height:40px; justify-content:center; text-decoration:none; transition:background-color .18s ease,color .18s ease; width:40px; }
.social-brand-icon:hover { background:var(--primary,var(--primary-color,#f59e0b)); color:#fff; }
.social-brand-icon .marca { background-color:currentColor; height:19px; width:19px; }
.social-brand-icon svg { height:19px; width:19px; }
.footer-bottom-modern { border-top:1px solid var(--footer-line); color:var(--footer-muted); font-size:.8125rem; padding:20px 0; }
.bottom-flex { align-items:center; display:flex; gap:16px; justify-content:space-between; }
.copyright { color:var(--footer-muted); font-weight:500; }
.cookie-banner { background:rgba(255,255,255,.97)!important; border:1px solid var(--footer-line); border-radius:16px; bottom:88px; box-shadow:0 16px 42px rgba(15,23,42,.18); left:50%; max-width:450px; opacity:0; padding:20px; position:fixed; text-align:center; transform:translateX(-50%) translateY(20px); transition:opacity .25s ease,transform .25s ease,visibility .25s ease; visibility:hidden; width:calc(100% - 40px); z-index:999999; }
.cookie-banner.show { opacity:1; transform:translateX(-50%) translateY(0); visibility:visible; }
.cookie-content { display:flex; flex-direction:column; gap:16px; }
.cookie-content p { color:var(--footer-ink); font-family:inherit; font-size:.9375rem; font-weight:500; line-height:1.55; margin:0; }
.btn-cookie-accept { background:var(--primary,var(--primary-color,#f59e0b)); border:0; border-radius:10px; color:#172033; cursor:pointer; font-size:.8125rem; font-weight:800; min-height:44px; padding:10px 18px; text-transform:uppercase; width:100%; }
.btn-cookie-accept:hover { filter:brightness(.96); }
.btn-cookie-accept:focus-visible { outline:3px solid var(--footer-ink); outline-offset:3px; }
@media (max-width:768px) { .footer-modern { margin-top:44px; padding-bottom:74px; } .footer-modern .container { padding:0 20px; } .footer-cta-wrapper { margin-bottom:4px; padding:0 10px; transform:translateY(-22px); } .footer-cta-card { align-items:stretch; flex-direction:column; gap:16px; padding:20px; } .cta-text h3 { font-size:1.1875rem; } .cta-beneficios { display:grid; gap:7px; } .btn-modern-cta { width:100%; } .footer-main { padding:22px 0 30px; } .footer-grid-layout { align-items:flex-start; flex-direction:column; gap:24px; } .footer-logo-img { height:44px; } .footer-bottom-modern { padding:18px 0; } .bottom-flex { align-items:flex-start; flex-direction:column; } .cookie-banner { bottom:74px; border-radius:14px; max-width:none; padding:12px; width:calc(100% - 24px); } .cookie-content { align-items:center; flex-direction:row; gap:12px; text-align:left; } .cookie-content p { font-size:.8125rem; line-height:1.4; } .btn-cookie-accept { flex:0 0 auto; width:auto; } body.cookie-aberto .wa-widget-container { bottom:160px; } }
@media (prefers-reduced-motion:reduce) { .social-brand-icon,.cookie-banner { transition:none; } }
