/* ==========================================================================
   LAYOUT GLOBAL — Fase 33
   Contenedores y grillas compartidas. Se carga antes de styles.css para iniciar
   la separación sin alterar el diseño vigente.
   ========================================================================== */

.grid-container {
  max-width: 1400px;
  padding: 0 var(--esp-lg) var(--esp-xl);
  margin: 0 auto;
}

.filtros-container {
  max-width: 1400px;
  padding: var(--esp-lg) var(--esp-lg) var(--esp-md);
  margin: 0 auto;
}

.grid-provincias {
  gap: var(--esp-md);
  box-sizing: border-box;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  grid-template-columns: 1fr;
  display: grid;
}

.info-seo {
  background-color: var(--color-blanco);
  padding: var(--esp-xl) var(--esp-lg);
  margin-top: var(--esp-xl);
  border-top: 1px solid var(--color-marino)14;
}

.info-seo-container {
  max-width: 800px;
  color: var(--color-marino);
  margin: 0 auto;
}

.seo-crosslinks {
  background: #f6f8fc;
  border-top: 1px solid var(--color-marino)0f;
  padding: 28px 18px;
}

.seo-crosslinks-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.seo-link-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-top: 14px;
  display: grid;
}

@media (width >= 1024px) {
  .grid-provincias {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    max-width: none;
  }
}

@media (width <= 768px) {
  main,
  .footer {
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
  }
}
