/* `apps/publico/aliados.css` — el <main> de «Nuestros aliados» (rediseño, 13-OCT-2026). Va DESPUÉS de
   `proveedores.css`, que comparte con «Nosotros» la cabecera, el menú, el pie y la barra móvil: por eso
   todo aquí cuelga de `.ali` o de clases `ali-` y esas piezas no cambian. Orden editorial: consigna →
   principios → aliados → criterios de calidad → llamado. Sólo los tokens (`--ink/--paper/--soft/--accent`);
   las transparencias, con `opacity` sobre una capa. `--accent` nunca es texto (reprueba AA, tokens.json). */
.ali { --ali-radio: 1.5rem; --ali-aire: clamp(3.5rem, 8vw, 6.5rem); }
.ali picture { display: block; }
.ali img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ali h2, .ali h3 { margin: 0; }
.ali h3 { font-family: var(--fuente-encabezado), sans-serif; font-weight: 400; line-height: .95; text-transform: uppercase; }

/* Píldora: la etiqueta corta de cada bloque (la misma familia que `nos-pildora`). */
.ali-pildora { display: inline-flex; width: fit-content; min-height: 2rem; align-items: center; margin: 0; padding: .3rem .95rem; border: 1px solid currentColor; border-radius: 999px; font-family: var(--fuente-interfaz), sans-serif; font-size: .72rem; font-weight: 600; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }

/* Portada: la foto de la chinampa sale ENTERA en su marco vertical (Ana, 9-OCT-2026: «no me gustó el
   recorte»); el texto va en un panel oscuro, abajo a la izquierda, como en Nosotros. */
.ali .hero { border: 0; border-radius: var(--ali-radio); background: var(--ink); }
.ali-hero-copy { justify-content: flex-end; gap: 1.4rem; padding: clamp(1.75rem, 5vw, 4rem); background: var(--ink); color: var(--paper); }
.ali-hero-copy h1 { margin: 0; color: var(--soft); font-size: clamp(3.6rem, 7.4vw, 6.6rem); line-height: .88; }
.ali .carrusel-pista picture { height: 100%; }
.ali-hero-copy .ali-consigna { max-width: 34rem; margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.5; }
.ali-saltos { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .4rem; }
.ali-salto { display: inline-flex; min-height: 3rem; align-items: center; gap: .55rem; padding: .7rem 1.3rem; border: 1px solid var(--soft); border-radius: 999px; background: var(--soft); color: var(--ink); font-weight: 700; }
.ali-salto:hover { background: var(--paper); border-color: var(--paper); }
.ali-salto-claro { background: transparent; color: var(--paper); border-color: var(--paper); }
.ali-salto-claro:hover { color: var(--ink); }
.ali-hero-copy a:focus-visible { outline-color: var(--soft); }
.ali .carrusel-puntos { bottom: 1.25rem; }
.ali-hero-copy .ali-pildora, .ali-productor .ali-pildora { margin: 0; font-size: .72rem; letter-spacing: .16em; }

/* Encabezado de sección: píldora a la izquierda, frase grande a la derecha. */
.ali-encabezado { display: grid; grid-template-columns: minmax(10rem, 21rem) minmax(0, 1fr); gap: 1.25rem clamp(2rem, 5vw, 5rem); align-items: start; }
.ali-entrada { max-width: 40rem; margin: 0; font-size: clamp(1.35rem, 2.5vw, 2.1rem); letter-spacing: -.01em; line-height: 1.25; }

/* Principios: lista corta numerada, sin cajas; al lado, la regla que los resume. */
.ali-principios { margin-top: var(--ali-aire); }
.ali-sentencia { max-width: 14ch; margin: 0; font-family: var(--fuente-encabezado), sans-serif; font-size: clamp(2.8rem, 6vw, 5.4rem); line-height: .9; text-transform: uppercase; }
.ali-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 3vw, 2.5rem); margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 0; list-style: none; }
.ali-lista li { display: grid; gap: 1rem; padding-top: 1.1rem; border-top: 2px solid var(--ink); }
.ali-lista strong { display: inline-flex; width: fit-content; min-height: 2rem; align-items: center; padding: .3rem .9rem; border-radius: 999px; background: var(--ink); color: var(--soft); font-size: .8rem; letter-spacing: .12em; }
.ali-lista h3 { font-size: clamp(2rem, 3vw, 2.6rem); }
.ali-lista p { max-width: 26rem; margin: .6rem 0 0; font-size: 1.05rem; line-height: 1.5; }

/* Aliados: una ficha fija por categoría — categoría · nombre · de dónde · qué nos da. Sólo Frutas y
   verduras tiene foto aprobada; Lácteos y Pollo se resuelven con la letra. */
.ali-ingredientes { margin-top: var(--ali-aire); scroll-margin-top: 5rem; }
.ali-fichas { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 1rem; margin-top: clamp(2rem, 4vw, 3rem); }
.ali-ficha { display: flex; flex-direction: column; margin: 0; overflow: hidden; border-radius: var(--ali-radio); }
.ali-ficha-cuerpo { display: flex; flex: 1; flex-direction: column; gap: 1rem; padding: clamp(1.5rem, 3vw, 2.25rem); }
.ali-ficha h3 { font-size: clamp(2rem, 3vw, 2.8rem); text-wrap: balance; }
.ali-ficha-cuerpo > p:last-child { margin: 0; font-size: 1.02rem; line-height: 1.5; }
.ali-ficha-foto { border: 1px solid var(--ink); }
.ali-ficha-foto picture { aspect-ratio: 4 / 3; background: var(--ink); }
.ali-ficha-foto .ali-ficha-cuerpo > p:last-child { margin-top: auto; }
.ali-ficha-suave { background: var(--soft); color: var(--ink); }
.ali-ficha-oscura { background: var(--ink); color: var(--paper); }
.ali-ficha-oscura h3 { color: var(--soft); }
.ali-ficha-suave .ali-ficha-cuerpo, .ali-ficha-oscura .ali-ficha-cuerpo { justify-content: flex-end; min-height: 30rem; }
.ali-ficha-suave .ali-pildora, .ali-ficha-oscura .ali-pildora { margin-bottom: auto; }
.ali-datos { display: grid; margin: 0; }
.ali-datos div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: .6rem 0; border-top: 1px solid currentColor; }
.ali-datos div:last-child { border-bottom: 1px solid currentColor; }
.ali-datos dt { font-size: .72rem; font-weight: 600; letter-spacing: .14em; line-height: 1.6; text-transform: uppercase; }
.ali-datos dd { margin: 0; font-weight: 700; }

/* Compromisos: calidad e inocuidad + empaques, en una sola franja con ícono de línea. Sin sellos ni cifras. */
.ali-compromisos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); margin-top: var(--ali-aire); padding: clamp(1.75rem, 4vw, 3.25rem); border-radius: var(--ali-radio); background: var(--soft); }
.ali-compromiso { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.ali-icono { width: 3.5rem; height: 3.5rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.ali-compromiso .eyebrow { margin: .2rem 0 .8rem; font-weight: 600; }
.ali-compromiso h2 { font-size: clamp(2rem, 3.4vw, 3rem); line-height: .95; }
.ali-compromiso p:last-child { max-width: 30rem; margin: .9rem 0 0; font-size: 1.05rem; line-height: 1.5; }

/* El llamado: concreto, qué contarnos y por dónde. */
.ali-productor { margin-top: 1rem; border: 0; background: var(--ink); color: var(--paper); scroll-margin-top: 5rem; }
.ali-productor h2 { margin-top: 1.25rem; color: var(--soft); }
.ali-productor .ali-pildora { color: var(--paper); }
.ali-cuentanos { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.ali-cuentanos li { display: inline-flex; min-height: 2rem; align-items: center; padding: .3rem .9rem; border: 1px solid var(--paper); border-radius: 999px; font-size: .85rem; font-weight: 600; }
.ali-productor .button { border-color: var(--soft); background: var(--soft); color: var(--ink); }
.ali-productor .button:hover { border-color: var(--paper); background: var(--paper); }
.ali-productor a:focus-visible { outline-color: var(--soft); }

@media (max-width: 1024px) {
  .ali-fichas { grid-template-columns: 1fr 1fr; }
  .ali-ficha-foto { grid-column: 1 / -1; }
  .ali-ficha-foto picture { aspect-ratio: 16 / 9; }
  .ali { margin-bottom: 7rem; }
}
@media (max-width: 760px) {
  .ali { --ali-radio: 1.25rem; }
  .ali .carrusel-flecha { display: none; }
  .ali-encabezado, .ali-lista, .ali-fichas, .ali-compromisos { grid-template-columns: 1fr; }
  .ali-lista { gap: 1.75rem; }
  .ali-ficha-foto picture { aspect-ratio: 4 / 3; }
  .ali-ficha-suave .ali-ficha-cuerpo, .ali-ficha-oscura .ali-ficha-cuerpo { min-height: 0; }
  .ali-ficha-suave .ali-pildora, .ali-ficha-oscura .ali-pildora { margin-bottom: 1rem; }
  .ali-hero-copy h1 { font-size: clamp(3.4rem, 17vw, 5rem); }
  .ali-compromiso { grid-template-columns: 1fr; gap: .75rem; }
}
