/* RESPONSIVE CSS FOR SER THEME */

@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .md\:col-span-1 { grid-column: span 1 / span 1; }
  .md\:col-span-2 { grid-column: span 2 / span 2; }
  .md\:col-span-3 { grid-column: span 3 / span 3; }
  .md\:flex-row { flex-direction: row; }
  .md\:items-center { align-items: center; }
  .md\:justify-between { justify-content: space-between; }
  .md\:text-left { text-align: left; }
  .md\:block { display: block; }
  .md\:hidden { display: none; }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .lg\:col-span-2 { grid-column: span 2 / span 2; }
  .lg\:col-span-3 { grid-column: span 3 / span 3; }
  .lg\:col-span-4 { grid-column: span 4 / span 4; }
  .lg\:col-span-5 { grid-column: span 5 / span 5; }
  .lg\:col-span-7 { grid-column: span 7 / span 7; }
}

/* ── REGLAS ESTRICTAS DE NAVEGACIÓN (UN SOLO MENÚ SEGÚN PANTALLA) ── */

/* Vista Móvil / Tablet (< 992px) */
@media (max-width: 991px) {
  .nav-desktop {
    display: none !important;
  }
  .mobile-menu-btn {
    display: inline-flex !important;
  }
  .header-cta-desktop {
    display: none !important;
  }
  .mobile-fullscreen-overlay {
    display: none;
  }
  .mobile-fullscreen-overlay.open {
    display: flex !important;
  }
}

/* Vista Desktop (>= 992px) */
@media (min-width: 992px) {
  .nav-desktop {
    display: flex !important;
    align-items: center !important;
  }
  .mobile-menu-btn {
    display: none !important;
  }
  .header-cta-desktop {
    display: inline-flex !important;
  }
  .mobile-fullscreen-overlay {
    display: none !important;
  }
}

/* SECTION SPACING */
.section-py {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 1024px) {
  .section-py {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
