/* eAula — Footer restyle (v0 inspired) */
:root{
  --eax-f-primary:#2C1654;
  --eax-f-primary-2:#2d005d;
  --eax-f-secondary:#FF4757;
  --eax-f-secondary-2:#ff304c;
  --eax-f-fg:#1f2937;
  --eax-f-muted:#6b7280;
  --eax-f-muted-2:#9ca3af;
  --eax-f-border:#e5e7eb;
}

#footer{
  display:block!important;
  position:relative!important;
  margin-top:0!important;
  padding:3rem 0 2rem!important;
  background:#fafafa!important;
  color:var(--eax-f-fg)!important;
  border-top:1px solid var(--eax-f-border)!important;
}
@media(min-width:768px){#footer{padding:4rem 0 2rem!important}}

#footer .container{
  max-width:80rem!important;width:100%!important;
  margin:0 auto!important;padding:0 1rem!important;
  display:grid!important;
  grid-template-columns:1fr;
  gap:2rem!important;
  flex-wrap:initial!important;
  justify-content:initial!important;
}
@media(min-width:640px){#footer .container{padding:0 1.5rem!important;grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){#footer .container{padding:0 2rem!important;grid-template-columns:repeat(4,1fr);gap:2.5rem!important}}

#footer .footer-column,
#footer .footer-colum{
  width:auto!important;display:flex;flex-direction:column;gap:.5rem;
}

#footer h1{
  font-size:14px!important;font-weight:700!important;
  color:var(--eax-f-fg)!important;
  text-transform:uppercase;letter-spacing:.05em;
  margin:0 0 1rem!important;line-height:1.2;
}

#footer ul{
  padding:0!important;margin:0!important;list-style:none!important;
  display:flex;flex-direction:column;gap:.5rem;
}
#footer li{margin:0!important;padding:0!important;list-style:none!important;font-size:14px}

#footer p{
  font-size:13.5px;color:var(--eax-f-muted)!important;
  margin:.4rem 0!important;line-height:1.6;
  display:flex;align-items:center;gap:.5rem;
}
#footer p .material-icons{
  position:static!important;margin:0!important;
  font-size:16px!important;color:var(--eax-f-secondary-2)!important;
}

#footer a{
  color:var(--eax-f-muted)!important;
  text-decoration:none!important;
  font-size:13.5px;
  transition:color .2s ease;
  display:inline-flex;align-items:center;gap:.4rem;
}
#footer a:hover{color:var(--eax-f-primary-2)!important;text-decoration:none!important}

/* Aceitamos / payment cards */
.footer-list-icons ul{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap;
  gap:.6rem!important;margin-bottom:1.5rem!important;
}
.footer-list-icons ul li{
  margin:0!important;font-size:22px!important;
  color:var(--eax-f-muted)!important;
  width:42px;height:30px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--eax-f-border);border-radius:.45rem;
  transition:all .2s ease;
}
.footer-list-icons ul li:hover{color:var(--eax-f-primary-2)!important;border-color:var(--eax-f-primary-2);transform:translateY(-2px)}

/* Social icons (second ul in footer-list-icons) */
.footer-list-icons ul + h1 + ul{
  flex-direction:row!important;gap:.5rem!important;
}
.footer-list-icons ul + h1 + ul li{
  width:38px;height:38px;border-radius:50%;background:#fff;
  font-size:16px!important;
  color:var(--eax-f-muted)!important;
  border:1px solid var(--eax-f-border);
  transition:all .25s ease;
  overflow:hidden;
}
.footer-list-icons ul + h1 + ul li a{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;
  color:inherit!important;
}
.footer-list-icons ul + h1 + ul li a i{
  color:inherit!important;line-height:1;
}
.footer-list-icons ul + h1 + ul li:hover,
.footer-list-icons ul + h1 + ul li:focus-within{
  background:var(--eax-f-primary-2)!important;
  border-color:var(--eax-f-primary-2)!important;
  color:#fff!important;
  transform:translateY(-3px) scale(1.05);
}
.footer-list-icons ul + h1 + ul li:hover a,
.footer-list-icons ul + h1 + ul li:hover a i,
.footer-list-icons ul + h1 + ul li:focus-within a,
.footer-list-icons ul + h1 + ul li:focus-within a i{
  color:#fff!important;
}

/* Links list */
.footer-list-links ul li{
  margin:0!important;font-size:14px;
}
.footer-list-links ul li a{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.15rem 0;
  position:relative;
}
.footer-list-links ul li a::before{
  content:'';width:0;height:1px;background:var(--eax-f-primary-2);
  transition:width .25s ease;display:inline-block;margin-right:0;
}
.footer-list-links ul li a:hover::before{width:.75rem;margin-right:.4rem}

/* Atendimento (3rd column) - WhatsApp button */
#footer .wtsp-btn{
  display:inline-flex!important;align-items:center;gap:.5rem;
  background:#25D366!important;color:#fff!important;
  padding:.7rem 1.25rem!important;border-radius:9999px;
  font-size:13px!important;font-weight:600;
  margin-top:.75rem;
  transition:all .25s ease;
  box-shadow:0 4px 12px -4px rgba(37,211,102,.4);
}
#footer .wtsp-btn:hover{
  background:#1fbb56!important;color:#fff!important;
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 8px 20px -4px rgba(37,211,102,.5);
}
#footer .wtsp-btn .fab{font-size:16px}

/* Bottom copyright */
.footer-bottom{
  display:block!important;
  position:relative!important;
  padding:1.25rem 0!important;
  background:#f3f4f6!important;
  color:var(--eax-f-muted)!important;
  font-size:12.5px!important;
  border-top:1px solid var(--eax-f-border);
}
.footer-bottom .container{
  max-width:80rem!important;width:100%!important;
  margin:0 auto!important;padding:0 1rem!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex-direction:column!important;
  text-align:center;line-height:1.6;
}
@media(min-width:768px){.footer-bottom .container{padding:0 1.5rem!important}}
@media(min-width:1024px){.footer-bottom .container{padding:0 2rem!important}}

/* ===================================================================
   FAB de Atendimento (#wsp-attendance / .float-wsap) — restyle 2026
   Substitui o botão verde quadrado por um pill com ícone + label,
   sombra suave, hover expandido. Mantém position fixed bottom-left.
=================================================================== */
.float-wsap{
  position:fixed!important;
  left:1rem!important;bottom:1.25rem!important;
  width:auto!important;height:auto!important;
  display:inline-flex!important;align-items:center;gap:.55rem;
  padding:.75rem 1rem .75rem .9rem!important;
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%)!important;
  color:#fff!important;border-radius:9999px!important;
  text-decoration:none!important;
  box-shadow:
    0 12px 28px -8px rgba(34,197,94,.55),
    0 4px 10px -2px rgba(34,197,94,.35),
    0 0 0 1px rgba(255,255,255,.18) inset!important;
  z-index:90;font-weight:600;font-size:.9rem;
  letter-spacing:.01em;line-height:1;
  transition:transform .3s ease,box-shadow .3s ease!important;
  cursor:pointer;
  animation:eax-fab-in .45s cubic-bezier(.16,1,.3,1) .8s both;
}
@keyframes eax-fab-in{
  from{opacity:0;transform:translateY(1rem) scale(.85)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.float-wsap::after{
  content:'Fale conosco';
}
.float-wsap:hover,
.float-wsap:focus{
  transform:translateY(-2px);
  box-shadow:
    0 18px 36px -8px rgba(34,197,94,.65),
    0 6px 14px -2px rgba(34,197,94,.45),
    0 0 0 1px rgba(255,255,255,.25) inset!important;
  background:linear-gradient(135deg,#16a34a 0%,#15803d 100%)!important;
  text-decoration:none!important;
}
.float-wsap-float{
  margin:0!important;
  display:inline-flex;align-items:center;justify-content:center;
  width:1.5rem;height:1.5rem;position:relative;
}
.float-wsap-float i{font-size:1.5rem!important;line-height:1!important;color:#fff}
/* Pulse ring sutil para chamar atenção sem ser invasivo */
.float-wsap-float::before{
  content:'';position:absolute;inset:-.4rem;border-radius:50%;
  border:2px solid rgba(34,197,94,.5);
  animation:eax-fab-pulse 2.4s ease-out infinite;
  pointer-events:none;
}
@keyframes eax-fab-pulse{
  0%{transform:scale(1);opacity:.7}
  100%{transform:scale(1.6);opacity:0}
}
/* Esconde a bolinha vermelha "1" — feeling fake urgency */
.float-wsap-float-msg{display:none!important}

@media(max-width:639px){
  .float-wsap{
    /* Mobile: virar circular para economizar espaço, label some */
    padding:.85rem!important;
    width:3.5rem!important;height:3.5rem!important;
    border-radius:50%!important;justify-content:center;
  }
  .float-wsap::after{display:none}
  .float-wsap-float i{font-size:1.65rem!important}
}
@media(prefers-reduced-motion:reduce){
  .float-wsap{animation:none}
  .float-wsap-float::before{animation:none;display:none}
}

/* ===================================================================
   MODAL de Atendimento — substitui o sidenav-whatsapp antigo
   Reutiliza o elemento #sidenav-whatsapp para preservar JS
   (openWhatsappNav/closeWhatsappNav), trocando o comportamento de
   width-animation por um modal centralizado com backdrop blur.
=================================================================== */
.sidenav-whatsapp{
  /* reset do legado */
  position:fixed!important;
  inset:0!important;top:0!important;left:0!important;
  width:auto!important;height:auto!important;
  background:rgba(44,22,84,.35)!important;
  backdrop-filter:blur(8px) saturate(140%);
  -webkit-backdrop-filter:blur(8px) saturate(140%);
  z-index:200;padding:1rem;overflow-y:auto;
  /* SEMPRE flex — visibility/opacity controlam exibição p/ permitir transição de saída */
  display:flex!important;align-items:center;justify-content:center;
  visibility:hidden;opacity:0;pointer-events:none;
  transition:opacity .25s ease,visibility 0s linear .25s;
}
.sidenav-whatsapp.is-open{
  visibility:visible;opacity:1;pointer-events:auto;
  transition:opacity .25s ease,visibility 0s linear 0s;
}
.sidenav-whatsapp > *{
  /* container interno = card central */
  position:relative;
  background:#fff;border-radius:1.25rem;
  max-width:28rem;width:100%;
  padding:1.5rem 1.5rem 1.25rem;
  box-shadow:0 25px 50px -12px rgba(44,22,84,.4),0 12px 24px -6px rgba(44,22,84,.18);
  /* Estado fechado: levemente abaixo e menor */
  transform:translateY(1rem) scale(.96);
  opacity:0;
  transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease;
}
.sidenav-whatsapp.is-open > *{
  transform:translateY(0) scale(1);
  opacity:1;
}
@media(prefers-reduced-motion:reduce){
  .sidenav-whatsapp,
  .sidenav-whatsapp > *{transition:none}
  .sidenav-whatsapp > *{transform:none}
}

/* Close button (era .closebtn) */
.sidenav-whatsapp .closebtn{
  position:absolute!important;top:.75rem!important;right:.85rem!important;
  width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  font-size:1.5rem!important;line-height:1!important;font-weight:300!important;
  color:var(--eax-muted-fg,#6b7280)!important;
  background:transparent!important;
  text-decoration:none!important;
  transition:all .2s ease;
}
.sidenav-whatsapp .closebtn:hover{
  background:#f3f4f6!important;color:var(--eax-fg,#2c1654)!important;
}

/* Headline / texto descritivo */
.sidenav-whatsapp p:first-of-type{
  margin:0 1.5rem 1.1rem 0!important;
  font-size:1.15rem!important;font-weight:800!important;
  color:var(--eax-fg,#2c1654)!important;
  letter-spacing:-.005em;line-height:1.3;
  padding:0!important;
}
.sidenav-whatsapp p:first-of-type::after{
  content:'Escolha o canal que prefere para falar com nosso time.';
  display:block;font-size:.85rem;font-weight:500;
  color:var(--eax-muted-fg,#6b7280);
  margin-top:.35rem;
}

/* Botões de canal */
.sidenav-whatsapp .sidenav-whatsapp-btn{
  display:flex!important;align-items:center;gap:.85rem;
  padding:.9rem 1rem!important;margin:.4rem 0!important;
  border:1.5px solid var(--eax-border,#e5e7eb)!important;
  border-radius:.85rem!important;
  background:#fff!important;color:var(--eax-fg,#2c1654)!important;
  text-decoration:none!important;font-weight:600!important;font-size:.92rem!important;
  width:auto!important;text-align:left;box-sizing:border-box;
  transition:all .2s ease;line-height:1.3;
}
.sidenav-whatsapp .sidenav-whatsapp-btn:hover{
  border-color:var(--eax-primary-2,#2d005d)!important;
  background:#fafafd!important;
  transform:translateX(2px);
}
.sidenav-whatsapp .sidenav-whatsapp-btn i{
  width:2.25rem;height:2.25rem;border-radius:.6rem;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-size:1rem;flex-shrink:0;
  background:linear-gradient(135deg,#6b7280,#4b5563); /* fallback neutro */
}
/* Cores por canal via attribute selector (robusto contra reordenação) */
.sidenav-whatsapp .sidenav-whatsapp-btn[href*="wa.me"] i,
.sidenav-whatsapp .sidenav-whatsapp-btn[href*="whatsapp"] i{background:linear-gradient(135deg,#22c55e,#16a34a)}
.sidenav-whatsapp .sidenav-whatsapp-btn[href*="financeiro"] i{background:linear-gradient(135deg,#3b82f6,#2563eb)}
.sidenav-whatsapp .sidenav-whatsapp-btn[href*="tutoria"] i,
.sidenav-whatsapp .sidenav-whatsapp-btn[href*="estagio"] i{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}
.sidenav-whatsapp .sidenav-whatsapp-btn[href*="pedagogico"] i{background:linear-gradient(135deg,#ec4899,#db2777)}

/* Box de horário (substitui o div verde inline) */
.sidenav-whatsapp > * > div[style*="background-color: #24b557"]{
  display:flex!important;flex-direction:column;align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:.85rem 1rem!important;margin:.85rem 0 0!important;
  background:#f0fdf4!important;color:#065f46!important;
  border:1px solid #a7f3d0;border-radius:.75rem;
  font-size:.82rem!important;line-height:1.5;text-align:left!important;
  gap:.25rem;
}
.sidenav-whatsapp > * > div[style*="background-color: #24b557"]::before{
  content:'\f017'; /* fa-clock */
  font-family:'Font Awesome 5 Free';font-weight:900;
  color:#10b981;font-size:1rem;margin-bottom:.15rem;
}
.sidenav-whatsapp > * > div[style*="background-color: #24b557"] span{
  width:auto!important;display:block!important;
}

/* No scroll do body quando modal aberto */
body.eax-modal-open{overflow:hidden}

/* ===================================================================
   404 — Página não encontrada (restyle do .notfound-box legado)
   Visual sóbrio, focado em ação. Sem gradient-text gigante nem animações.
=================================================================== */
.notfound-box{
  display:flex!important;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;
  max-width:36rem;margin:3rem auto!important;padding:2rem 1.5rem;
  min-height:55vh;gap:.85rem;
}
.notfound-icon{
  width:3.5rem;height:3.5rem;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(45,0,93,.08);color:var(--eax-f-primary-2,#2d005d);
  font-size:1.25rem;margin-bottom:.25rem;
}
.notfound-code{
  font-size:3rem!important;font-weight:800!important;
  line-height:1!important;margin:0!important;
  letter-spacing:-.03em;color:var(--eax-f-primary-2,#2d005d)!important;
}
@media(min-width:768px){.notfound-code{font-size:3.5rem!important}}

.notfound-box h1{
  font-size:1.35rem!important;font-weight:700!important;
  color:var(--eax-f-fg,#1f2937)!important;
  margin:0!important;letter-spacing:-.005em;
  line-height:1.3;text-wrap:balance;
}
@media(min-width:768px){.notfound-box h1{font-size:1.55rem!important}}

.notfound-box p{
  font-size:.95rem!important;color:var(--eax-f-muted,#6b7280)!important;
  margin:0 0 .5rem!important;line-height:1.6;
  max-width:30rem;text-wrap:balance;
}

.notfound-actions{
  display:flex;flex-direction:column;gap:.6rem;
  margin-top:.75rem;width:100%;max-width:22rem;
}
@media(min-width:640px){.notfound-actions{flex-direction:row;justify-content:center;max-width:none}}

/* Especificidade alta (2 classes) para vencer .notfound-box a do style.css legado */
.notfound-box .notfound-btn{
  display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;
  width:auto!important;padding:.75rem 1.4rem!important;
  border-radius:9999px!important;
  font-weight:600!important;font-size:.92rem!important;
  text-decoration:none!important;
  border:2px solid transparent!important;
  transition:all .25s ease!important;cursor:pointer;line-height:1;
  margin:0!important;
}
.notfound-box .notfound-btn-primary{
  background:var(--eax-f-primary-2,#2d005d)!important;
  color:#fff!important;
  border-color:var(--eax-f-primary-2,#2d005d)!important;
}
.notfound-box .notfound-btn-primary:hover,
.notfound-box .notfound-btn-primary:focus-visible{
  background:#fff!important;
  color:var(--eax-f-primary-2,#2d005d)!important;
  border-color:var(--eax-f-primary-2,#2d005d)!important;
  box-shadow:0 8px 20px -8px rgba(45,0,93,.5)!important;
  transform:translateY(-1px);
}
.notfound-box .notfound-btn-outline{
  background:#fff!important;
  color:var(--eax-f-fg,#1f2937)!important;
  border-color:var(--eax-f-border,#e5e7eb)!important;
}
.notfound-box .notfound-btn-outline:hover,
.notfound-box .notfound-btn-outline:focus-visible{
  background:var(--eax-f-primary-2,#2d005d)!important;
  color:#fff!important;
  border-color:var(--eax-f-primary-2,#2d005d)!important;
  transform:translateY(-1px);
}
