/* ============================================
   ECO EXPO — RESPONSIVO
   Desktop first — correções por breakpoint
   ============================================ */

/* ==================
   DESKTOP — corrige menu mobile visível
   ================== */
.nav-hamburguer { display: none; }

.nav-menu-mobile {
  display: none;
  position: fixed;
  top: 64px; left: 0; right: 0; bottom: 0;
  background: var(--white);
  z-index: 999;
  flex-direction: column;
  padding: 32px 24px;
  gap: 4px;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
  overflow-y: auto;
  overflow-x: hidden;
}

.nav-menu-mobile.open {
  display: flex;
  transform: translateX(0);
}

/* ==================
   NAVBAR "APERTADA" — 1440px
   Telas tipo laptop/iMac (1280–1440px lógicos) não tinham espaço
   suficiente para logo + 7 links + seletor de idioma + 2 botões numa
   linha só, e o texto de um link acabava quebrando em duas linhas e
   se sobrepondo ao conteúdo abaixo (bug reportado pelo cliente).
   Aperta gap/fonte/padding progressivamente antes do breakpoint
   mobile (768px), sem esconder nenhum item.
   ================== */
@media (max-width: 1440px) {
  .navbar { padding: 0 28px; }
  .nav-links { gap: 16px; }
  .nav-links a { font-size: 10px; letter-spacing: 1.2px; }
  .nav-actions { gap: 6px; }
  .lang-pills { margin-right: 2px; }
  .btn-nav-outline, .btn-nav-solid { padding: 8px 12px; font-size: 11px; }
}

/* ==================
   TABLET — 1024px
   ================== */
@media (max-width: 1024px) {

  /* Jornadas: 2 colunas no tablet */
  .jornadas-grid { grid-template-columns: 1fr 1fr !important; }

  /* Edicao: empilha */
  .edicao { grid-template-columns: 1fr !important; gap: 40px !important; }

  /* Forum: empilha */
  .forum { grid-template-columns: 1fr !important; padding: 48px 40px !important; }
  .forum-vis { grid-template-columns: 1fr !important; padding: 48px 40px !important; }

  /* Cotas: 2 colunas */
  .cotas-grid { grid-template-columns: 1fr 1fr !important; }

  /* Por que: empilha */
  .porque-grid { grid-template-columns: 1fr !important; }
  .porque-pat-grid { grid-template-columns: 1fr !important; }

  /* Formulários: empilha */
  .form-inner { grid-template-columns: 1fr !important; }
  .form-inner-pat { grid-template-columns: 1fr !important; }

  /* Credenciamento: empilha */
  .cred-externo-inner { grid-template-columns: 1fr !important; }

}

/* ==================
   MOBILE — 768px
   ================== */
@media (max-width: 768px) {

  /* BODY */
  body { overflow-x: hidden !important; }
  * { box-sizing: border-box !important; }

  /* NAVBAR */
  .navbar {
    padding: 0 16px 0 20px !important;
    height: 64px !important;
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 1000 !important;
  }

  .navbar.hero-nav { background: rgba(0,0,0,0.5) !important; }
  .navbar.scrolled { background: var(--white) !important; }
  .navbar.solid { background: var(--white) !important; }
  .nav-logo img { height: 36px !important; }
  .nav-links { display: none !important; }
  .nav-actions { display: none !important; }
  .lang-pills { display: none !important; }

  .nav-hamburguer {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    cursor: pointer !important;
    padding: 8px !important;
    margin-left: auto !important;
    background: none !important;
    border: none !important;
  }

  .nav-hamburguer span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: white !important;
    border-radius: 2px !important;
    transition: all 0.3s !important;
  }

  .navbar.scrolled .nav-hamburguer span,
  .navbar.solid .nav-hamburguer span {
    background: var(--graphite) !important;
  }

  .nav-menu-mobile {
    display: flex !important;
    position: fixed !important;
    top: 64px !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: var(--white) !important;
    z-index: 999 !important;
    flex-direction: column !important;
    padding: 32px 24px !important;
    gap: 4px !important;
    transform: translateX(100%) !important;
    transition: transform 0.3s cubic-bezier(0.16,1,0.3,1) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .nav-menu-mobile.open { transform: translateX(0) !important; }

  .nav-menu-mobile a {
    font-family: var(--font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--graphite) !important;
    text-decoration: none !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--surface-2) !important;
    letter-spacing: 1px !important;
    display: block !important;
    max-width: 100% !important;
  }

  .nav-menu-mobile a.active { color: var(--green-dark) !important; }

  .nav-menu-mobile-actions {
    margin-top: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .nav-menu-mobile-actions a {
    font-size: 14px !important;
    text-align: center !important;
    border-bottom: none !important;
    padding: 12px !important;
    border-radius: 4px !important;
  }

  .nav-menu-mobile-actions .btn-nav-outline {
    border: 2px solid var(--green-dark) !important;
    color: var(--green-dark) !important;
    background: transparent !important;
  }

  .nav-menu-mobile-actions .btn-nav-solid {
    background: var(--blue-dark) !important;
    color: white !important;
  }

  /* HERO INDEX — redes sociais abaixo dos botões */
  .hero { padding-top: 64px !important; }

  .hero-content {
    grid-template-columns: 1fr !important;
    padding: 0 20px 32px 24px !important;
    gap: 16px !important;
    align-items: flex-end !important;
  }

  /* Remove a coluna lateral — tudo numa coluna */
  .hero-content-left { max-width: 100% !important; }

  .hero-title {
    font-size: clamp(48px, 14vw, 72px) !important;
    margin-bottom: 12px !important;
  }

  .hero-info-inline {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
  }

  .hero-info-sep { display: none !important; }
  .hero-info-pill span { font-size: 13px !important; }

  .hero-ctas {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .hero-ctas .btn-gold,
  .hero-ctas .btn-outline-white {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Redes sociais: linha horizontal, APÓS os botões */
  .hero-social {
    flex-direction: row !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    order: 2 !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
    width: 100% !important;
  }

  .hero-social-btn {
    flex: 1 !important;
    min-width: 60px !important;
    padding: 8px 10px !important;
    justify-content: center !important;
    min-width: unset !important;
  }

  .hero-social-btn span { display: none !important; }

  /* COUNTDOWN */
  .countdown-bar {
    flex-direction: column !important;
    text-align: center !important;
    gap: 12px !important;
    padding: 20px 16px !important;
  }

  .countdown-label-text { display: none !important; }
  .countdown-bar .btn-nav-solid {
    width: 100% !important;
    justify-content: center !important;
  }

  /* NÚMEROS */
  .numeros { grid-template-columns: 1fr 1fr !important; }
  .numero-item { padding: 20px 16px !important; }
  .numero-value { font-size: 36px !important; }

  .numeros-vis { grid-template-columns: 1fr 1fr !important; }
  .num-item { padding: 20px 16px !important; }
  .num-val { font-size: 36px !important; }

  .numeros-pat { grid-template-columns: 1fr 1fr !important; }
  .num-pat { padding: 18px 14px !important; }
  .num-pat-val { font-size: 32px !important; }

  /* 10ª EDIÇÃO */
  .edicao {
    grid-template-columns: 1fr !important;
    padding: 40px 20px !important;
    gap: 32px !important;
  }
  .edicao::before { display: none !important; }
  .edicao-titulo { font-size: 32px !important; }
  .edicao-highlights { grid-template-columns: 1fr !important; }

  /* JORNADAS */
  .jornadas { padding: 40px 20px !important; }
  .jornadas-grid { grid-template-columns: 1fr !important; gap: 16px !important; }

  /* SETORES */
  .setores { padding: 40px 20px !important; }
  .setores-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }

  /* FÓRUM */
  .forum {
    grid-template-columns: 1fr !important;
    padding: 40px 20px !important;
    gap: 32px !important;
  }
  .forum-title { font-size: 28px !important; }
  .forum-box-index { padding: 20px !important; }

  .forum-vis {
    grid-template-columns: 1fr !important;
    padding: 40px 20px !important;
    gap: 32px !important;
  }
  .forum-vis-title { font-size: 28px !important; }
  .forum-box { padding: 20px !important; }

  /* EXPOSITORES */
  .expositores { padding: 40px 20px !important; }
  .expositores-header { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }

  /* DEPOIMENTOS */
  .depoimentos { padding: 40px 20px !important; }
  .depoimentos-grid { grid-template-columns: 1fr !important; gap: 14px !important; }

  /* GALERIA */
  .galeria { padding: 40px 20px !important; }
  .galeria-header { flex-direction: column !important; gap: 8px !important; align-items: flex-start !important; }
  .galeria-grid {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 140px 140px 140px !important;
  }
  .galeria-item.main { grid-column: 1 / 3 !important; grid-row: 1 / 2 !important; }

  /* NOTÍCIAS */
  .noticias { padding: 40px 20px !important; }
  .noticias-grid { grid-template-columns: 1fr !important; gap: 12px !important; }

  /* APOIOS / PATROCINADORES */
  .apoios { padding: 28px 20px !important; }
  .pats-home { padding: 40px 20px !important; }

  /* FOOTER */
  .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .footer-bottom { flex-direction: column !important; gap: 12px !important; text-align: center !important; }
  .footer-social { justify-content: center !important; margin-right: 0 !important; }

  /* HERO PÁGINAS INTERNAS */
  .page-hero { height: 56vh !important; min-height: 400px !important; }
  .page-hero-content {
    grid-template-columns: 1fr !important;
    padding: 0 20px 28px 24px !important;
    gap: 16px !important;
  }
  .page-title { font-size: clamp(40px, 13vw, 68px) !important; letter-spacing: -1px !important; }
  .page-subtitle { font-size: 13px !important; }
  .hero-cta-box { align-items: flex-start !important; }
  .hero-cta-box a { width: 100% !important; justify-content: center !important; }

  /* INFOBAR */
  .infobar { flex-direction: column !important; }
  .ib-item { padding: 14px 20px !important; border-right: none !important; border-bottom: 1px solid var(--surface-2) !important; }
  .ib-item:last-child { border-bottom: none !important; }

  /* FORMULÁRIOS */
  .formulario { padding: 40px 20px !important; }
  .form-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
  .formulario-pat { padding: 40px 20px !important; }
  .form-inner-pat { grid-template-columns: 1fr !important; gap: 28px !important; }
  .form-row { grid-template-columns: 1fr !important; }

  /* QUERO EXPOR */
  .porque { padding: 40px 20px !important; }
  .porque-grid { grid-template-columns: 1fr !important; gap: 28px !important; }

  /* INFOGRÁFICOS */
  .perfil { padding: 40px 20px !important; }
  .infografico-grid { grid-template-columns: 1fr !important; }
  .barra-label { min-width: 110px !important; font-size: 10px !important; }
  .numeros-chave-grid { grid-template-columns: 1fr 1fr !important; }

  /* COTAS */
  .cotas { padding: 40px 20px !important; }
  .cotas-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .cota-custom { flex-direction: column !important; gap: 16px !important; }
  .cota-custom a { width: 100% !important; justify-content: center !important; }

  /* VISIBILIDADE */
  .visibilidade { padding: 40px 20px !important; }
  .visibilidade-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }

  /* POR QUE PATROCINAR */
  .porque-pat { padding: 40px 20px !important; }
  .porque-pat-grid { grid-template-columns: 1fr !important; gap: 28px !important; }

  /* VISITANTE */
  .porque-vis { padding: 40px 20px !important; }
  .motivos-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .encontrar { padding: 40px 20px !important; }
  .encontrar-grid { grid-template-columns: 1fr !important; }

  /* CREDENCIAMENTO */
  .cred-externo { padding: 40px 20px !important; }
  .cred-externo-inner { grid-template-columns: 1fr !important; gap: 28px !important; }

  /* LOGÍSTICA */
  .logistica { padding: 40px 20px !important; }
  .log-grid { grid-template-columns: 1fr !important; }

  /* CTAs FINAIS */
  .cta-final { flex-direction: column !important; padding: 36px 20px !important; gap: 20px !important; }
  .cta-final-actions { flex-direction: column !important; width: 100% !important; }
  .cta-final-actions a { width: 100% !important; justify-content: center !important; text-align: center !important; }
  .cta-final-pat { flex-direction: column !important; padding: 36px 20px !important; gap: 20px !important; }
  .cta-final-pat .cta-final-actions { flex-direction: column !important; width: 100% !important; }
  .cta-final-pat .cta-final-actions a { width: 100% !important; justify-content: center !important; }

  /* SECTION TITLES */
  .section-title { font-size: clamp(26px, 7vw, 36px) !important; }

}