/* spacing.css - Control global de espacios entre secciones */

/* Espaciado estándar en todas las secciones */
section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/* Evita sumar padding extra de contenedores internos */
section .container {
  padding-top: 0;
  padding-bottom: 0;
}

/* Normaliza títulos dentro de secciones */
.section-title {
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Normaliza párrafos */
section p {
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Evita espacios dobles entre secciones contiguas */
section + section {
  margin-top: 0;
}

/* Excepciones para hero (cabecera destacada) y footer */
.hero-section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

footer {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
/* ========== FIX ESPACIO ANTES DE "ASOCIACIONES" ========== */

/* 1) Colapsa el “doble espacio” antes de Asociaciones */
section + #asociaciones,
section + .associations-section {
  padding-top: 0 !important;     /* quita el padding superior extra en Asociaciones */
  margin-top: 0 !important;
}

/* 2) Ajusta márgenes internos del bloque de Asociaciones */
#asociaciones .section-title,
.associations-section .section-title {
  margin-top: 0;                  /* evita margen de h2 por defecto */
  margin-bottom: 0.75rem;
}

#asociaciones .associations-description,
.associations-section .associations-description {
  margin: 0 0 0.75rem;            /* compacta los <p> intro */
}

/* 3) (Opcional) reduce el padding inferior de la sección anterior
      si va JUSTO antes de Asociaciones */
#congreso + #asociaciones,
#federacion + #asociaciones,
#mapa + #asociaciones,
#patrocinadores + #asociaciones {
  /* como no podemos seleccionar a la anterior sin :has(),
     reducimos aún más el top de Asociaciones en transiciones concretas */
  padding-top: 0 !important;
}

/* 4) Defensa extra: evita que un .container interno sume separaciones */
#asociaciones .container,
.associations-section .container {
  padding-top: 0;
  padding-bottom: 0;
}

/* 5) (opcional) si aún queda hueco, probablemente es un margin-bottom
      del último elemento de la sección previa: neutralízalo al encadenar secciones */
section > :last-child {
  margin-bottom: 0;
}
