/* ============================================================================
 *  ANTENA — RESPONSIVO (responsive.css)
 *  Mobile-first: regras de layout para tablet e desktop.
 *  A base (mobile) vive em style.css; aqui só estão os breakpoints.
 * ========================================================================== */

/* ------------------------------------------------------- Tablet ≥ 640px -- */
@media (min-width: 640px) {
  .container { padding: 0 24px; }

  .track-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
  .news-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
  .host-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
  .program-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

  .hero__stats { gap: 44px; }
  .footer__grid { grid-template-columns: 1fr 1fr; }

  .schedule-item { grid-template-columns: 130px 5px 1fr auto; }
}

/* ------------------------------------------------------- Tablet ≥ 768px -- */
@media (min-width: 768px) {
  .section { padding: 80px 0; }

  .news-feature { grid-template-columns: 1.2fr 1fr; }
  .contact-grid { grid-template-columns: 1fr 1fr; gap: 36px; }

  .nowair { grid-template-columns: 320px 1fr; }
  .about-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
}

/* ------------------------------------------------------- Desktop ≥ 1024px -- */
@media (min-width: 1024px) {
  .container { padding: 0 32px; }

  /* Navegação completa no desktop */
  .hamburger { display: none; }
  .nav { display: flex; }

  .hero { padding: 84px 0 96px; }
  .hero__grid { gap: 64px; }

  .footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }

  .track-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 20px; }
  .host-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }

  .contact-grid { grid-template-columns: 1fr 1.3fr; gap: 48px; }
}

/* --------------------------------------------------------- Desktop largo -- */
@media (min-width: 1440px) {
  .hero__cover { max-width: 460px; }
}

/* ============================================ MOBILE/Tablet (≤ 1023px) == */
@media (max-width: 1180px) {
  /* Marca enxuta: só o logo (evita colisão com a navegação) */
  .brand__text { display: none; }
}

@media (max-width: 1023px) {
  /* Nav principal vira menu hambúrguer */
  .nav { display: none; }
  .hamburger { display: flex; }

  /* Hero empilhado: capa em cima, painel do player abaixo */
  .hero { padding: 48px 0 60px; }
  .hero__grid { grid-template-columns: 1fr; gap: 30px; }
  .hero__media { justify-content: flex-start; }
  .hero__cover { max-width: 380px; }
  .player-info h1 { font-size: clamp(30px, 6.5vw, 52px); }
}

@media (max-width: 767px) {

  /* Player fixo: meta compacta, volume escondido */
  .player__inner { gap: 12px; padding: 0 14px; }
  .player__cover { display: none; }
  .player__listeners { display: none; }
  .player__volume { display: none; }

  /* Cabeçalho */
  .header__inner { gap: 12px; }
  .brand__slogan { display: none; }
  .brand__logo { height: 30px; }
  .header .btn--sm { padding: 8px 14px; }

  /* Seções */
  .section { padding: 56px 0; }
  .section-head { margin-bottom: 26px; }

  /* No ar agora empilha */
  .nowair { grid-template-columns: 1fr; }
  .nowair__media { min-height: 150px; }

  /* Matriz de programação vira lista */
  .schedule-item {
    grid-template-columns: 5px 1fr; gap: 12px;
    padding: 14px 16px;
  }
  .schedule-item__time { grid-column: 2; }
  .schedule-item__info { grid-column: 2; }
  .schedule-item__tag { grid-column: 2; justify-self: start; }

  /* Notícia destaque empilha */
  .news-feature { grid-template-columns: 1fr; }
  .news-feature__media { min-height: 230px; }
  .news-feature__body { padding: 22px; }

  /* Artigo */
  .article__content { font-size: 1rem; }

  /* Rodapé */
  .footer__grid { grid-template-columns: 1fr; gap: 28px; padding-bottom: 28px; }
  .footer__bottom { flex-direction: column; gap: 10px; }

  /* Busca */
  .modal { padding: 6vh 12px 12px; }

  /* Espaços publicitários */
  .ad-slot__box { min-height: 80px; font-size: 0.7rem; }

  /* Botões cheios em telas pequenas */
  .hero__cta .btn { width: 100%; }
}

@media (max-width: 420px) {
  .track-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .host-grid { grid-template-columns: 1fr; }
  .program-grid { grid-template-columns: 1fr; }
  .news-grid { grid-template-columns: 1fr; }
  .hero__listeners { flex-wrap: wrap; margin-left: 0; }
  .next-up { row-gap: 8px; }

  /* Cabeçalho compacto: logo menor e ações mais juntas (evita overflow) */
  .brand__logo { height: 30px; }
  .header__actions { gap: 6px; }
  .header__actions .btn { padding: 8px 12px; font-size: 0.8rem; }
}

/* Telas muito estreitas (≤360): "Baixar App" vira só ícone (aria-label mantém a leitura) */
@media (max-width: 360px) {
  .brand__logo { height: 28px; }
  .header__actions .btn { padding: 8px 10px; }
  .header__actions .btn__label { display: none; }
  .icon-btn, .hamburger { width: 36px; height: 36px; justify-content: center; }
}

/* --------------------------------------------------- Preferências do usuário -- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { opacity: 1; transform: none; }
}

/* ------------------------------------------------------------- Impressão -- */
@media print {
  .player, .header, .mobile-menu, .modal, .toasts, .ad-slot, .social-band { display: none !important; }
  body { padding: 0 !important; }
  .hero { background: #fff !important; color: #000 !important; }
}
