/* ==========================================================================
   Colégio Santanna — Landing de Matrículas
   Ajustes de navegação e acabamento visual — R2 Agência Digital
   ========================================================================== */

:root{
  --cs-red:#EC1C24;
  --cs-red-dark:#BD1E2D;
  --cs-purple:#331C77;
  --cs-purple-dark:#4725AD;
  --cs-ink:#1d2330;
  --cs-muted:#5b6472;
  --cs-line:rgba(16,24,40,.10);
  --cs-nav-h:74px;
}

html{ scroll-behavior:smooth; }
body.page-id-9{ padding-top:var(--cs-nav-h); }
/* header vazio do tema não deve ocupar espaço */
#header.header-builder:empty{ display:none; }
/* âncoras não ficam escondidas atrás da barra fixa */
#matriculas,#sobre-nos,#ensino,#novidades,#depoimentos,#localizacao{
  scroll-margin-top:calc(var(--cs-nav-h) + 16px);
}

/* --------------------------------------------------------------- NAVBAR */
.r2-nav{
  position:fixed; top:0; left:0; right:0; height:var(--cs-nav-h);
  display:flex; align-items:center; z-index:99990;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid transparent;
  transition:box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
.r2-nav.is-stuck{
  box-shadow:0 6px 24px rgba(16,24,40,.10);
  border-bottom-color:var(--cs-line);
}
.r2-nav__inner{
  width:min(1240px,94%); margin:0 auto;
  display:flex; align-items:center; gap:18px;
}
.r2-nav__logo{ display:flex; align-items:center; flex:0 0 auto; }
.r2-nav__logo img{ height:42px; width:auto; display:block; }
.r2-nav__menu{
  display:flex; align-items:center; gap:2px;
  margin:0 0 0 auto; padding:0; list-style:none;
}
.r2-nav__menu a{
  display:block; padding:9px 13px; border-radius:999px;
  font-family:Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:14px; font-weight:600; line-height:1; letter-spacing:.1px;
  color:var(--cs-ink); text-decoration:none; white-space:nowrap;
  transition:color .2s ease, background .2s ease;
}
.r2-nav__menu a:hover{ color:var(--cs-red); background:rgba(236,28,36,.08); }
.r2-nav__menu a.is-active{ color:var(--cs-red); background:rgba(236,28,36,.10); }
.r2-nav__cta{
  flex:0 0 auto; margin-left:6px;
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 22px; border-radius:999px;
  background:linear-gradient(135deg,var(--cs-red),var(--cs-red-dark));
  color:#fff !important; text-decoration:none;
  font-family:Roboto,system-ui,sans-serif; font-size:14px; font-weight:700; line-height:1;
  box-shadow:0 8px 20px rgba(236,28,36,.30);
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.r2-nav__cta:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(236,28,36,.38); filter:brightness(1.03); }
.r2-burger{
  display:none; margin-left:auto;
  width:44px; height:44px; padding:0; border:1px solid var(--cs-line);
  border-radius:12px; background:#fff; cursor:pointer;
  align-items:center; justify-content:center;
}
.r2-burger span{ position:relative; display:block; width:20px; height:2px; border-radius:2px; background:var(--cs-ink); }
.r2-burger span::before,.r2-burger span::after{
  content:""; position:absolute; left:0; width:20px; height:2px; border-radius:2px; background:var(--cs-ink);
  transition:transform .25s ease, opacity .2s ease;
}
.r2-burger span::before{ top:-6px; } .r2-burger span::after{ top:6px; }
.r2-nav.is-open .r2-burger span{ background:transparent; }
.r2-nav.is-open .r2-burger span::before{ transform:translateY(6px) rotate(45deg); }
.r2-nav.is-open .r2-burger span::after{ transform:translateY(-6px) rotate(-45deg); }

@media (max-width:1100px){
  .r2-nav__menu a{ padding:9px 10px; font-size:13px; }
  .r2-nav__cta{ padding:11px 16px; font-size:13px; }
}
@media (max-width:980px){
  .r2-burger{ display:flex; }
  .r2-nav__menu{
    position:fixed; top:var(--cs-nav-h); left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    margin:0; padding:10px 20px 22px;
    background:#fff; border-bottom:1px solid var(--cs-line);
    box-shadow:0 18px 30px rgba(16,24,40,.12);
    transform:translateY(-12px); opacity:0; pointer-events:none;
    transition:transform .25s ease, opacity .25s ease;
  }
  .r2-nav.is-open .r2-nav__menu{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .r2-nav__menu a{ padding:14px 12px; border-radius:12px; font-size:15px; }
  .r2-nav__cta{ display:none; }
  .r2-nav__logo img{ height:36px; }
}

/* ------------------------------------------------------------------ HERO */
.elementor-9 .elementor-element.elementor-element-f99ac01{
  position:relative;
  min-height:clamp(520px,74vh,660px);
  --align-items:center;
  align-items:center;
  background-position:center;
}
.elementor-9 .elementor-element.elementor-element-f99ac01 > .e-con-inner{
  align-items:center;
}
/* onda inferior ocupando toda a largura da tela */
.elementor-9 .elementor-element.elementor-element-f99ac01 .elementor-shape-bottom{
  left:50%; transform:translateX(-50%); width:100vw; max-width:none;
}
.elementor-9 .elementor-element.elementor-element-f99ac01::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(105deg,rgba(16,18,38,.42) 0%,rgba(16,18,38,.20) 50%,rgba(16,18,38,.06) 100%);
}
.elementor-9 .elementor-element.elementor-element-f99ac01 > .e-con-inner{ position:relative; z-index:2; }

/* caixa branca da matrícula */
.elementor-9 .elementor-element.elementor-element-9c8d6e7{
  flex:0 0 auto; align-self:center; height:auto;
  width:min(430px,100%);
  padding:40px 34px 38px !important;
  border-radius:24px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 28px 64px rgba(11,17,38,.28);
  gap:14px;
}
.elementor-9 .elementor-element.elementor-element-1e4c6de .elementor-heading-title{
  font-size:clamp(28px,3.2vw,36px) !important;
  font-weight:800; letter-spacing:-.6px; line-height:1.15;
}
.elementor-9 .elementor-element.elementor-element-1e4c6de .elementor-heading-title::after{
  content:""; display:block; width:58px; height:4px; border-radius:3px;
  margin:16px auto 2px;
  background:linear-gradient(90deg,var(--cs-red),var(--cs-purple));
}

/* botões da caixa — mesma largura, mesmo respiro */
.elementor-9 .elementor-element.elementor-element-9c8d6e7 .elementor-widget-button{ width:100%; }
.elementor-9 .elementor-element.elementor-element-9c8d6e7 .elementor-button{
  display:flex; width:100%; min-height:58px;
  align-items:center; justify-content:center;
  padding:16px 22px !important;
  font-size:16px; font-weight:600; letter-spacing:.2px; line-height:1.25;
  transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.elementor-9 .elementor-element.elementor-element-9c8d6e7 .elementor-button-content-wrapper{ justify-content:center; }
.elementor-9 .elementor-element.elementor-element-1433aa7 .elementor-button{ box-shadow:0 12px 26px rgba(236,28,36,.28); }
.elementor-9 .elementor-element.elementor-element-5490f09 .elementor-button{ box-shadow:0 12px 26px rgba(51,28,119,.28); }
.elementor-9 .elementor-element.elementor-element-9c8d6e7 .elementor-button:hover{ transform:translateY(-3px); }
/* neutraliza o "pulo" da animação grow, mantendo só a elevação suave */
.elementor-9 .elementor-element.elementor-element-9c8d6e7 .elementor-animation-grow:hover,
.elementor-9 .elementor-element.elementor-element-9c8d6e7 .elementor-animation-grow:focus{
  transform:translateY(-3px) scale(1);
}

/* --------------------------------------------------------------- SEÇÕES */
.elementor-9 .elementor-element.elementor-element-2905801,
.elementor-9 .elementor-element.elementor-element-37cf297b0,
.elementor-9 .elementor-element.elementor-element-14c4cf4,
.elementor-9 .elementor-element.elementor-element-525da98,
.elementor-9 .elementor-element.elementor-element-e668d35{
  padding-top:clamp(58px,6.5vw,86px);
  padding-bottom:clamp(58px,6.5vw,86px);
}
.elementor-9 .elementor-widget-text-editor p{ line-height:1.75; color:var(--cs-muted); }
.elementor-9 .elementor-element.elementor-element-4edb1bd .elementor-heading-title,
.elementor-9 .elementor-element.elementor-element-6abc71d .elementor-heading-title{ letter-spacing:-.5px; }

/* títulos centralizados ganham o mesmo detalhe da caixa de matrícula */
.elementor-9 .elementor-element.elementor-element-6606237f .elementor-heading-title::after,
.elementor-9 .elementor-element.elementor-element-2e6e112 .elementor-heading-title::after,
.elementor-9 .elementor-element.elementor-element-1e374be .elementor-heading-title::after,
.elementor-9 .elementor-element.elementor-element-756be29 .elementor-heading-title::after{
  content:""; display:block; width:64px; height:4px; border-radius:3px;
  margin:18px auto 0;
  background:linear-gradient(90deg,var(--cs-red),var(--cs-purple));
}

/* imagem institucional */
.elementor-9 .elementor-element.elementor-element-fc422c2 img{
  border-radius:20px; box-shadow:0 20px 44px rgba(16,24,40,.16);
}

/* abas de ensino */
.elementor-9 .elementor-widget-wpr-tabs .wpr-tabs{
  border-radius:18px; overflow:hidden;
  box-shadow:0 20px 46px rgba(16,24,40,.18);
}
.elementor-9 .wpr-tab{ transition:background .25s ease; }
.elementor-9 .wpr-tab-title{ letter-spacing:.3px; }
.elementor-9 .wpr-tab-content-inner{ line-height:1.75; }
.elementor-9 .wpr-tab-content-inner ul{ margin:14px 0 0; padding-left:20px; }
.elementor-9 .wpr-tab-content-inner li{ margin-bottom:8px; }
@media (max-width:767px){
  .elementor-9 .wpr-tab{ border-radius:12px; }
  .elementor-9 .wpr-tabs-content-wrap{ border-radius:14px; margin-top:8px; }
}

/* vídeos responsivos */
.r2-video{
  position:relative; width:100%; aspect-ratio:16/9;
  border-radius:18px; overflow:hidden;
  box-shadow:0 18px 40px rgba(16,24,40,.18);
  background:#0b1126;
}
.r2-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.elementor-9 .elementor-element.elementor-element-dc08b97{
  gap:26px; align-items:stretch;
  width:min(880px,100%); margin-inline:auto;
}
.elementor-9 .elementor-element.elementor-element-dc08b97 > .elementor-widget{ flex:1 1 0; min-width:0; }
/* no celular: um vídeo embaixo do outro e em tamanho contido */
@media (max-width:767px){
  .elementor-9 .elementor-element.elementor-element-dc08b97{
    flex-direction:column; flex-wrap:nowrap; gap:20px;
  }
  .elementor-9 .elementor-element.elementor-element-dc08b97 > .elementor-widget{
    flex:0 0 auto; width:min(330px,88%); margin-inline:auto;
  }
  .r2-video{ border-radius:14px; box-shadow:0 12px 28px rgba(16,24,40,.16); }
}

/* mapa */
.elementor-9 .elementor-widget-google_maps .elementor-widget-container,
.elementor-9 .elementor-widget-google_maps .elementor-custom-embed{
  border-radius:18px; overflow:hidden;
  box-shadow:0 18px 40px rgba(16,24,40,.14);
}
.elementor-9 .elementor-widget-google_maps iframe{ display:block; border:0; }

/* --------------------------------------------------------------- RODAPÉ */
/* faixa antiga de copyright (template Elementor 102) — substituída pelo rodapé completo abaixo */
.elementor-102 .elementor-element.elementor-element-4717be3{ display:none !important; }

.r2-footer{
  width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  background:#161a24; color:#c9cfda;
  font-family:Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;
  padding:56px 0 0;
}
.r2-footer a{ color:#c9cfda; text-decoration:none; transition:color .2s ease; }
.r2-footer a:hover{ color:#fff; }
.r2-footer__inner{
  width:min(1240px,92%); margin:0 auto;
  display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px;
}
.r2-footer__logo img{ height:52px; width:auto; margin-bottom:18px; filter:brightness(0) invert(1); opacity:.95; }
.r2-footer p{ margin:0 0 10px; line-height:1.7; font-size:15px; }
.r2-footer h3{
  margin:0 0 16px; color:#fff; font-size:15px; font-weight:700;
  letter-spacing:.6px; text-transform:uppercase;
}
.r2-footer ul{ margin:0; padding:0; list-style:none; }
.r2-footer li{ margin-bottom:10px; font-size:15px; }
.r2-footer__social{ display:flex; gap:10px; margin-top:18px; }
.r2-footer__social a{
  width:38px; height:38px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.08); transition:background .25s ease, transform .25s ease;
}
.r2-footer__social a:hover{ background:var(--cs-red); transform:translateY(-2px); }
.r2-footer__social svg{ width:17px; height:17px; fill:#fff; }
.r2-footer__bar{
  margin-top:46px; padding:18px 20px; border-top:1px solid rgba(255,255,255,.10);
  text-align:center; font-size:13.5px; color:#96a0b0;
}
.r2-footer__bar a{ color:#fff; font-weight:600; }
@media (max-width:860px){
  .r2-footer__bar{ padding-bottom:86px; }
  .r2-footer__inner{ grid-template-columns:1fr; gap:32px; text-align:center; }
  .r2-footer__logo img{ margin-inline:auto; }
  .r2-footer__social{ justify-content:center; }
}

/* ----------------------------------------------------------- WHATSAPP */
.r2-wa{
  position:fixed; right:20px; bottom:20px; z-index:99980;
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25D366; box-shadow:0 12px 26px rgba(37,211,102,.42);
  transition:transform .25s ease, box-shadow .25s ease;
}
.r2-wa:hover{ transform:translateY(-3px) scale(1.04); box-shadow:0 16px 32px rgba(37,211,102,.5); }
.r2-wa svg{ width:30px; height:30px; fill:#fff; }
@media (max-width:600px){ .r2-wa{ width:52px; height:52px; right:16px; bottom:16px; } .r2-wa svg{ width:27px; height:27px; } }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .r2-nav__cta,.r2-wa,.elementor-9 .elementor-button{ transition:none; }
}
