/* ==========================================================================
   Media queries — mobile, tablette, desktop
   ========================================================================== */

/* ---------- Tablette (<= 1024px) ---------- */
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(3, 1fr); }
  .grid-6 { grid-template-columns: repeat(3, 1fr); }
  .live-layout,
  .video-detail-layout {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .main-nav {
    gap: var(--space-md);
  }
}

/* ---------- Tablette / petit desktop (<= 900px) ---------- */
@media (max-width: 900px) {
  .main-nav {
    display: none;
  }
  .hamburger {
    display: flex;
  }
  .search-box input {
    width: 180px;
  }
}

/* ---------- Mobile (<= 768px) ---------- */
@media (max-width: 768px) {
  .container {
    padding: 0 var(--space-md);
  }
  .header-top {
    padding: var(--space-sm) var(--space-md);
  }
  .brand-text .brand-title {
    font-size: var(--font-size-sm);
    max-width: 150px;
    white-space: normal;
    line-height: 1.2;
  }
  .grid-3,
  .grid-4,
  .grid-6 {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
  .footer-bottom {
    flex-direction: column;
    gap: var(--space-sm);
    text-align: center;
  }
  .player-shell .player-info {
    bottom: 56px;
    right: var(--space-md);
    left: var(--space-md);
  }
  .player-shell .player-info h1,
  .player-shell .player-info h2 {
    font-size: var(--font-size-lg);
  }
  .player-controls {
    padding: var(--space-sm) var(--space-md);
  }
  .player-shell .player-center-btn {
    width: 60px;
    height: 60px;
  }
  .player-shell .player-center-btn svg {
    width: 26px;
    height: 26px;
  }
  .now-next {
    flex-direction: column;
  }
  .now-next .item + .item {
    border-inline-start: none;
    border-top: 1px solid var(--color-border-light);
  }
  section {
    padding: var(--space-xl) 0;
  }
  .video-main-info .title-row {
    flex-direction: column;
  }
  .program-mini-grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- Petit mobile (<= 480px) ---------- */
@media (max-width: 480px) {
  .grid-3,
  .grid-4,
  .grid-6 {
    grid-template-columns: 1fr;
  }
  .search-box input {
    width: 140px;
  }
  h1 { font-size: var(--font-size-2xl); }
  h2 { font-size: var(--font-size-xl); }
}
