/* ==========================================================================
   DestinationsSection — "Different islands, different possibilities"

   Figma `Islands` (157:1139), leído en Dev Mode el 2026-09-07. Cada número
   lleva al lado el nodo de donde salió.

   El ancho lo pone `.tgl-container`: caja 1240, contenido 1144. Esta sección es
   la que CONFIRMA ese modelo — sus cards miden 364 x 3 + 26 x 2 = 1144 exactos
   (157:1146), y por eso el token volvió a 1144 después de que `Intro` me
   hiciera cambiarlo sobre una sola muestra.
   ========================================================================== */

.tgl-dest {
    padding-block: 7.5rem;            /* 120 — 157:1139 */
}

.tgl-dest .tgl-dest__inner {
    display: flex;
    flex-direction: column;
    /* 60 entre encabezado, grilla y CTA. Sale de las dos distancias del
       archivo: 296 -> 356, y 1352.66 -> 1412.66. */
    gap: 3.75rem;
}

/* ── Encabezado centrado ──────────────────────────────────────────────── */

.tgl-dest .tgl-dest__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;                        /* 16 — 157:1141 */
    /* 680 y centrado (157:1141 está en x=280 de un container de 1240, o sea
       280 de cada lado). Sin el tope, el lead se estira a 1144 y deja de
       leerse como un párrafo centrado. */
    max-width: 42.5rem;
    margin-inline: auto;
    text-align: center;
}

.tgl-dest .tgl-dest__title {
    margin: 0;
    font-family: var(--tgl-font-heading);
    /* 44px, y es **Medium (500)** — no el 400 del h2 de `Intro` (206:817) ni el
       600 del h3 de las cards. Tres pesos de Raleway en la misma página, los
       tres leídos del archivo. */
    font-size: 2.75rem;               /* 44 — 157:1143 */
    font-weight: 500;
    letter-spacing: -0.02em;          /* -0.88 / 44 */
    line-height: 1.12;                /* 49.28 / 44 */
    color: var(--tgl-heading-color);
}

.tgl-dest .tgl-dest__lead {
    margin: 0;
    font-family: var(--tgl-font-body);
    font-size: 1.1875rem;             /* 19 — 157:1145 */
    line-height: 1.6;                 /* 30.4 / 19 */
    /* #57534b, y NO es el mismo gris que el lead de `Intro` (#3b3833). La
       diferencia se ve: es otro rol. Ver DIVERGENCIA 4 en el design system. */
    color: var(--tgl-lead-centered-color);
}

/* ── La grilla de islas ───────────────────────────────────────────────── */

.tgl-dest .tgl-dest__grid {
    /* `!important`: el kit de Elementor emite `.elementor-kit-6 ul` con
       `list-style` y `padding`, algunas con `!important`. Sin esto son seis
       cards con bullet y 40px de sangría. */
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.625rem;                    /* 26 — 390 menos 364 (157:1156) */
}

.tgl-dest .tgl-dest__card {
    /* `relative` es lo que ancla la foto, el scrim y el ::after del link. */
    position: relative;
    /* 364 x 485.33 es exactamente 3:4. Como ratio y no como alto fijo: al pasar
       a dos y a una columna el ancho manda y el alto tiene que seguirlo. */
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 0.5rem;            /* 8 — 157:1147 */
    /* Reserva la caja antes de que cargue la foto. Sin esto la grilla salta
       cuando aterrizan las seis, y eso es CLS. */
    background: var(--tgl-primitive-ink-900);
}

.tgl-dest .tgl-dest__card img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tgl-dest .tgl-dest__scrim {
    position: absolute;
    inset: 0;
    /* Del archivo (157:1148). Los tres stops son del diseño: transparente
       hasta el 78% desde abajo, 0.15 al 48%, 0.72 en el piso. Es lo que hace
       legible el texto blanco sin apagar la foto entera. */
    background: linear-gradient(
        to top,
        rgba(31, 29, 26, 0.72) 0%,
        rgba(31, 29, 26, 0.15) 48%,
        rgba(31, 29, 26, 0) 78%
    );
}

.tgl-dest .tgl-dest__body {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;                      /* 8 — 157:1151 */
    padding: 1.75rem 1.625rem;        /* 28 / 26 — 157:1151 */
}

.tgl-dest .tgl-dest__name {
    margin: 0;
    font-family: var(--tgl-font-heading);
    font-size: 1.625rem;              /* 26 — 157:1153 */
    font-weight: 600;
    /* `normal` es lo que dice el archivo, no un descuido: a 26px con un nombre
       de isla no hay segunda línea que ajustar. */
    line-height: normal;
    color: var(--tgl-primitive-white);
}

.tgl-dest .tgl-dest__link {
    color: inherit;
    text-decoration: none;
}

/* Lo que hace clickeable la card entera sin que el link se coma el párrafo
   como nombre accesible. Ver el docblock de `DestinationsHtml`. */
.tgl-dest .tgl-dest__link::after {
    content: "";
    position: absolute;
    inset: 0;
}

.tgl-dest .tgl-dest__copy {
    margin: 0;
    font-family: var(--tgl-font-body);
    font-size: 0.9375rem;             /* 15 — 157:1155 */
    line-height: 1.3333;              /* 20 / 15 */
    color: rgba(255, 255, 255, 0.9);  /* 157:1155 */
}

/* La foto se acerca al pasar por encima. Guardado tras `(hover: hover)`: sin la
   guarda WebKit deja el estado pegado al último elemento tocado, que es el bug
   que costó la v3.26.4. */
@media (hover: hover) {
    .tgl-dest .tgl-dest__card:has(.tgl-dest__link:hover) img {
        transform: scale(1.04);
    }
}

.tgl-dest .tgl-dest__card:has(.tgl-dest__link:active) img {
    transform: scale(1.01);
}

@media (prefers-reduced-motion: no-preference) {
    .tgl-dest .tgl-dest__card img {
        transition: transform 0.35s ease-out;
    }
}

/* El foco va en la CARD y no en el link: el link es el nombre, pero el área
   clickeable es toda la card, y un anillo alrededor de una palabra cuando lo
   que se activa es la caja entera miente sobre el objetivo. */
.tgl-dest .tgl-dest__card:has(.tgl-dest__link:focus-visible) {
    outline: 2px solid var(--tgl-eyebrow-color);
    outline-offset: 3px;
}

/* ── El CTA ───────────────────────────────────────────────────────────── */

.tgl-dest .tgl-dest__foot {
    display: flex;
    justify-content: center;
}

/* El botón en sí es `.tgl-cta`, en el design system. Estuvo definido acá hasta
   el 2026-09-08, cuando `Step-by-step` (206:240) resultó dibujar EXACTAMENTE el
   mismo botón que éste (206:895): mismo teal, mismo padding, mismo radio, misma
   tipografía. Dos copias de eso coinciden el día que se escriben y nunca más.
   Acá solo queda centrarlo. */

/* ==========================================================================
   Mobile — 80% del tráfico
   ========================================================================== */

@media (max-width: 1023px) {

    .tgl-dest {
        padding-block: var(--tgl-space-12);
    }

    .tgl-dest .tgl-dest__inner { gap: var(--tgl-space-10); }

    /* Dos columnas antes de una sola: entre 768 y 1023 una card 3:4 a ancho
       completo pasa los 900px de alto y se come la pantalla. */
    .tgl-dest .tgl-dest__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tgl-dest .tgl-dest__title { font-size: 2rem; }

    .tgl-dest .tgl-dest__lead { font-size: 1rem; }
}

@media (max-width: 767px) {

    .tgl-dest .tgl-dest__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--tgl-space-5);
    }

    /* A ancho completo el 3:4 es demasiado alto: seis cards así son seis
       pantallas de scroll. 4:3 mantiene la foto protagonista sin eso. */
    .tgl-dest .tgl-dest__card {
        aspect-ratio: 4 / 3;
    }

    .tgl-dest .tgl-dest__body {
        padding: var(--tgl-space-5);
    }

    .tgl-dest .tgl-dest__name { font-size: 1.375rem; }
}
