/* Responsive overlay — preserva o design aprovado, ajusta apenas para telas menores */
/* Cursor padrão do sistema em todas as telas */
body{cursor:auto !important}
.cursor,.cursor-ring{display:none !important}
@media (max-width: 980px){
  body{cursor:auto !important}
  .cursor,.cursor-ring{display:none !important}
  nav{padding:0 20px !important;height:64px !important}
  .nav-center{display:none !important}
  .nav-logo{font-size:17px !important;letter-spacing:2px !important}
  .nav-btn-cursos{padding:7px 14px !important;font-size:12px !important}
  .nav-btn-login{padding:7px 12px !important;font-size:12px !important}
  .nav-btn-login span{display:none}
  .hero{padding:96px 20px 60px !important;min-height:auto !important}
  section,.section{padding-left:20px !important;padding-right:20px !important}
  .section-h2{font-size:clamp(28px,7vw,40px) !important}
  .btn-primary{padding:13px 24px !important;font-size:13px !important}
  .btn-outline{padding:12px 22px !important;font-size:13px !important}
  footer{padding:48px 20px 28px !important}
  .footer-inner{grid-template-columns:1fr !important;gap:36px !important;padding-bottom:36px !important}
  .footer-bottom{flex-direction:column !important;gap:14px !important;text-align:center}
  .wa-fixed{bottom:18px !important;right:18px !important;width:48px !important;height:48px !important}
  /* Grids genéricas */
  [class*="grid"]{grid-template-columns:1fr !important}
  .opp-inner, .opp-cards, .cg, .featured, .pillars, .ba-grid,
  .testi-grid, .blog-grid, .ph-inner, .ess-inner, .pp-grid,
  .ab-inner, .ab-row, .cap-grid, .mod-inner, .ms-stats,
  .fw-inner, .inst-inner, .hw-steps, .inv-inner, .cm-inner,
  .form-row, .faq-grid, .bm-grid, .nl-inner, .orient-box,
  .footer-inner, .course-hero{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .featured{grid-column:auto !important}
  .ba-grid > *:nth-child(2){display:none !important}
  .pillars, .hw-steps, .cap-grid{background:transparent !important; gap:12px !important}
  .cp-head,.section-head{flex-direction:column !important;align-items:flex-start !important;gap:18px !important}
  /* Imagens / vídeos */
  img,video,iframe{max-width:100% !important;height:auto}
  /* Hero específicos */
  .hero-grid,.hero-inner{grid-template-columns:1fr !important;gap:32px !important}
  .hero h1,.hero-title{font-size:clamp(36px,9vw,56px) !important;line-height:1.05 !important}
}
@media (max-width: 560px){
  .nav-btn-cursos{padding:6px 11px !important}
  .section-h2{font-size:clamp(26px,8vw,34px) !important}
  .marquee-item{font-size:10px !important;padding:0 18px !important;gap:12px !important}
}

/* === Container alignment fix (todas as páginas) ===
   Mantém background full-width, mas alinha conteúdo do nav e hero
   com o mesmo grid central (max 1200px) das demais seções. */
nav{
  padding-left: 28px !important;
  padding-right: 28px !important;
}
.hero{
  padding-left: max(48px, calc((100% - 1200px) / 2 + 28px)) !important;
  padding-right: max(48px, calc((100% - 1200px) / 2 + 28px)) !important;
}
.page-hero{
  padding-left: max(48px, calc((100% - 1200px) / 2 + 28px)) !important;
  padding-right: max(48px, calc((100% - 1200px) / 2 + 28px)) !important;
}
.course-hero{
  padding-left: max(48px, calc((100% - 1200px) / 2 + 28px)) !important;
  padding-right: max(48px, calc((100% - 1200px) / 2 + 28px)) !important;
}
@media (max-width: 980px){
  nav, .hero, .page-hero, .course-hero{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.hero-line{display:none !important}

/* === Hero background responsivo === */
@media (max-width: 980px){
  .hero-bg{
    background-size: cover !important;
    background-position: top right !important;
    opacity: .35;
  }
  .hero-bg::after{
    content:'';
    position:absolute;
    inset:0;
    background: linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.85) 60%, var(--black) 100%);
  }
}
@media (max-width: 560px){
  .hero-bg{
    background-position: 70% top !important;
    opacity: .28;
  }
}

/* === Padronização de tipografia de headlines ===
   Todas as headlines de seção usam a mesma família/escala da ph-h1
   ("Formação prática..." em Bebas Neue) para evitar mistura de fontes. */
.section-h2,
.cta2-h,
.hero-title,
h2.section-h2{
  font-family: 'Bebas Neue', sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  line-height: 1.02 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
}
.section-h2 em,
.cta2-h em{
  font-style: normal !important;
  color: var(--red) !important;
}

/* === Foto do Roni no Quem Somos === */
.ph-img{
  background-image: url('/images/roni.webp') !important;
  background-size: cover !important;
  background-position: center top !important;
}
.ph-img .ph-img-inner{
  display: none !important;
}


/* === Carrossel automático de depoimentos === */
.testi .testi-marquee{
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: 32px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.testi .testi-track{
  display: flex;
  gap: 20px;
  width: max-content;
  animation: testi-scroll 80s linear infinite;
}
.testi .testi-marquee:hover .testi-track{ animation-play-state: paused; }
.testi .testi-card{
  flex: 0 0 auto;
  width: clamp(220px, 28vw, 340px);
  background: transparent;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.testi .testi-card img{
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  background: transparent;
}
@keyframes testi-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@media (max-width: 700px){
  .testi .testi-card{ width: 70vw; }
  .testi .testi-track{ animation-duration: 60s; }
}

/* === LOGO === */
.nav-logo img{ height:32px; width:auto; display:block; }
.footer-logo img{ height:38px; width:auto; display:block; }
@media (max-width: 980px){
  .nav-logo img{ height:26px; }
}

/* === MENU MOBILE / HAMBURGER === */
.nav-burger{
  display:none; background:transparent; border:0; padding:8px; cursor:pointer;
  width:40px; height:40px; flex-direction:column; justify-content:center; gap:5px;
  margin-left:6px;
}
.nav-burger span{
  display:block; height:2px; width:22px; background:#fff; border-radius:2px;
  transition:transform .25s ease, opacity .2s ease;
}
@media (max-width: 980px){
  .nav-burger{ display:inline-flex !important; }
  .nav-center{
    display:flex !important; position:fixed; left:0; right:0; top:64px;
    width:100% !important; z-index:90;
    height:auto; max-height:calc(100vh - 64px);
    flex-direction:column; align-items:stretch; gap:0;
    background:rgba(8,8,10,.98); backdrop-filter:blur(14px);
    padding:16px 24px 24px; margin:0 !important;
    transform:translateX(100%); transition:transform .32s cubic-bezier(.4,0,.2,1);
    border-top:1px solid rgba(255,255,255,.08);
    overflow-y:auto; scrollbar-width:none;
  }
  .nav-center::-webkit-scrollbar{ display:none; }
  .nav-center a{
    width:100%; padding:12px 4px !important; font-size:15px !important;
    border-bottom:1px solid rgba(255,255,255,.06); border-radius:0 !important;
    color:#fff !important;
  }
  body.menu-open .nav-center{ transform:translateX(0); }
  body.menu-open{ overflow:hidden; }
  body.menu-open .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  body.menu-open .nav-burger span:nth-child(2){ opacity:0; }
  body.menu-open .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* === Cards de curso em coluna no mobile === */
@media (max-width: 980px){
  .cg{ grid-template-columns:1fr !important; gap:18px !important; }
  .cc{ display:flex !important; flex-direction:column !important; }
  .cc-top{ width:100% !important; height:200px !important; }
  .orient-box{ grid-template-columns:1fr !important; gap:24px !important; padding:24px !important; }
  .course-hero{ grid-template-columns:1fr !important; min-height:auto !important; padding:80px 20px 32px !important; align-items:flex-start !important; }
  .course-hero > *{ position:relative; }
  /* Remove o padding interno extra dos blocos do hero no mobile para colar conteúdo no topo */
  .ch-left{ padding:8px 0 24px !important; }
  .ch-right{ padding:0 0 24px !important; }
  .ch-h1{ font-size:clamp(36px,9vw,52px) !important; line-height:1.02 !important; }
  .ch-desc{ font-size:14px !important; }
}

/* === Alinhamento desktop do hero do curso com a nav (max 1200px) === */
@media (min-width: 981px){
  .course-hero{
    display:grid !important;
    grid-template-columns: minmax(0,1fr) 420px !important;
    column-gap:48px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    align-items:center !important;
  }
  .ch-left{ padding:120px 0 80px !important; }
  .ch-right{ padding:120px 0 80px !important; }
}

/* === Fechar menu ao clicar em link (executa via inline script no body) === */
