/* responsive.css - Completo e Otimizado para Todas as Resoluções */
:root {
  --container-max: 1149px;

  --gutter-mobile-s: 16px;
  --gutter-mobile: 20px;
  --gutter-tablet: 32px;
  --gutter-desktop: 64px;
  --gutter-desktop-l: 96px;

  --color-accent: #FF6B00;
  --color-accent-dark: #E85D00;
  --color-black: #0B0B0C;
  --color-white: #FFFFFF;
  --color-gray-text: #6B6F76;
  --color-border: #E5E5E5;

  --fs-h1: clamp(2rem, 1.2rem + 3.2vw, 3.375rem);
  --fs-h2: clamp(1.5rem, 1.1rem + 1.6vw, 2.375rem);
  --fs-body: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);
  --fs-small: clamp(0.8125rem, 0.8rem + 0.1vw, 0.875rem);
}

.container {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile-s);
}

@media (max-width: 380px) {
  .container { padding-inline: var(--gutter-mobile-s); }
  h1 { font-size: 1.75rem; line-height: 1.1; }
}

@media (min-width: 381px) and (max-width: 575px) {
  .container { padding-inline: var(--gutter-mobile); }
}

@media (min-width: 576px) {
  .container { max-width: 540px; padding-inline: var(--gutter-tablet); }
}

@media (min-width: 768px) {
  .container { max-width: 720px; }
  .navbar { flex-wrap: nowrap; }
}

@media (min-width: 992px) {
  .container { max-width: 960px; padding-inline: var(--gutter-desktop); }
  .hero-grid,
  .news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
}

@media (min-width: 1200px) {
  .container { max-width: var(--container-max); }
  .news-grid { grid-template-columns: 1fr 1fr 1fr; }
}

@media (min-width: 1440px) {
  .container { max-width: 1320px; padding-inline: var(--gutter-desktop-l); }
}

@media (min-width: 1920px) {
  .container { max-width: 1440px; }
}

@media (max-width: 991px) {
  .navbar .nav-links { display: none; }
  .navbar .btn-live span { display: none; }
}

@media (max-width: 575px) {
  .news-grid { grid-template-columns: 1fr; }
}
@media (min-width: 576px) and (max-width: 991px) {
  .news-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  .partners-layout { display: flex; flex-direction: column; gap: 32px; }
}
@media (min-width: 768px) {
  .partners-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
}

@media (max-width: 767px) {
  .footer-columns { grid-template-columns: 1fr; gap: 24px; }
}
@media (min-width: 768px) {
  .footer-columns { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
}