/* Footer · Pen "Mapa de la página + No carbs, no gain" (Juanma 21/10) sobre noche, sin foto: marca, índice de la página
   y contacto en 3/6/3 columnas de la grilla, la frase en WIDE y la línea legal. Igual en las tres páginas; el índice
   lo arma build.mjs. */
.s-footer { display: flex; flex-direction: column; padding: 0 max(var(--page-pad), calc((100% - 1312px) / 2)) 40px; background: var(--bg-dark); color: var(--ink-on-dark); }
.s-footer :is(p, ol, ul) { margin: 0; padding: 0; list-style: none; }
.s-footer a { color: inherit; text-decoration: none; text-underline-offset: 4px; }

.s-footer .s-footer__cols { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--s24); align-items: start; padding-top: 56px; border-top: 1px solid var(--line-dark); }
.s-footer .s-footer__marca { grid-column: span 3; display: flex; flex-direction: column; align-items: flex-start; gap: var(--s24); }
.s-footer .s-footer__indice { grid-column: span 6; display: flex; flex-direction: column; gap: 20px; }
.s-footer .s-footer__contacto { grid-column: span 3; display: flex; flex-direction: column; gap: 20px; }
.s-footer .s-footer__volanta { color: var(--rose); }

/* Lockup A del DS a 18 px, como en el Pen: iso 1 H en magenta (único magenta de la sección), gap 0,441 H, logotipo 3,814 H. */
.s-footer .s-footer__logo { display: inline-flex; align-items: flex-start; gap: .441em; font-size: 18px; }
.s-footer .s-footer__iso { position: relative; flex: none; width: 1.1714em; height: 1em; }
.s-footer .s-footer__iso svg { position: absolute; height: .5em; fill: var(--brand); }
.s-footer .s-footer__iso svg:first-child { top: 0; left: 0; width: .7955em; }
.s-footer .s-footer__iso svg:last-child { top: .5em; left: .4294em; width: .742em; }
.s-footer .s-footer__word { flex: none; width: 3.814em; height: 1em; fill: currentColor; }
.s-footer .s-footer__bajada, .s-footer .s-footer__detalle { color: var(--muted-on-dark); }

/* Sello oficial IRONMAN (rojo y palabra blanca, para fondo oscuro) a 120 px, sin tocar sus colores. */
.s-footer .s-footer__certs { display: flex; align-items: center; gap: var(--s24); }
.s-footer .s-footer__certs img { display: block; width: 120px; height: auto; }

/* Índice en dos columnas de cuatro: número Mono en gris de apoyo y texto en Geist 16. */
.s-footer .s-footer__indice ol { display: grid; grid-template-rows: repeat(4, auto); grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 14px var(--s24); }
.s-footer .s-footer__indice a { display: inline-flex; align-items: center; gap: 14px; }
.s-footer .s-footer__num { color: var(--muted-on-dark); }
.s-footer .s-footer__indice a:hover .s-footer__texto,
.s-footer .s-footer__contacto a:hover .s-footer__titulo { text-decoration: underline; }

.s-footer .s-footer__contacto ul { display: flex; flex-direction: column; gap: 20px; }
.s-footer .s-footer__contacto a { display: flex; align-items: flex-start; gap: 12px; }
.s-footer .s-footer__contacto svg { flex: none; width: 22px; height: 22px; color: var(--rose); }
.s-footer .s-footer__contacto a > span { display: flex; flex-direction: column; gap: 2px; }
.s-footer .s-footer__titulo { font-weight: 500; }

.s-footer .s-footer__titular { padding: 96px 0 36px; text-wrap: balance; }
.s-footer .s-footer__legal { padding-top: 20px; border-top: 1px solid var(--line-dark); color: var(--muted-on-dark); text-align: center; }

@media (max-width: 1199px) {
  .s-footer .s-footer__cols { grid-template-columns: minmax(0, 1fr); row-gap: var(--s48); }
  .s-footer .s-footer__marca, .s-footer .s-footer__indice, .s-footer .s-footer__contacto { grid-column: 1; }
  .s-footer .s-footer__titular { padding-top: var(--s64); }
}
@media (max-width: 809px) {
  .s-footer .s-footer__indice ol { grid-template-rows: none; grid-auto-flow: row; grid-auto-columns: auto; }
  .s-footer .s-footer__indice a, .s-footer .s-footer__contacto a { min-height: 44px; }
}

/* Responsive: áreas completas de toque y un índice compacto sin perder la jerarquía. */
@media (max-width: 1199px) {
  .s-footer .s-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: var(--s48); gap: var(--s48) var(--s32); }
  .s-footer .s-footer__marca { grid-column: 1; }
  .s-footer .s-footer__indice { grid-column: 2; grid-row: 1 / span 2; }
  .s-footer .s-footer__contacto { grid-column: 1; }
  .s-footer .s-footer__indice ol { grid-template-rows: none; grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); gap: var(--s4); }
  .s-footer .s-footer__indice, .s-footer .s-footer__contacto { gap: var(--s16); }
  .s-footer .s-footer__indice a { display: flex; min-height: 44px; gap: var(--s16); }
  .s-footer .s-footer__logo { min-height: 44px; align-items: center; }
  .s-footer .s-footer__contacto a { min-height: 44px; align-items: center; }
  .s-footer .s-footer__contacto ul { gap: var(--s16); }
  .s-footer .s-footer__certs { flex-wrap: wrap; gap: var(--s16); }
  .s-footer .s-footer__titular { padding-block: var(--s48) var(--s32); word-break: normal; overflow-wrap: normal; hyphens: none; }
  .s-footer .s-footer__legal { padding-top: var(--s24); }
}
@media (max-width: 809px) {
  .s-footer { padding-bottom: var(--s48); }
  .s-footer .s-footer__cols { grid-template-columns: minmax(0, 1fr); gap: var(--s32); }
  .s-footer .s-footer__marca, .s-footer .s-footer__indice, .s-footer .s-footer__contacto { grid-column: 1; grid-row: auto; }
  .s-footer .s-footer__titular { line-height: .94; }
}

/* Destinos del índice: deja libre la barra fija al navegar por anclas. */
@media (max-width: 1199px) {
  .s-footer { scroll-margin-top: 96px; }
}
