/* ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
 * MAS Â· The Policy Lab Â· style (front + editor)
 * Bloque 06 Â· paleta 2026-06-11 [CLIENTE]: secciÃ³n NAVY (el negro
 * mate queda solo para el footer â fuera los negros forzados).
 * ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */

.mas-policy-lab {
    background: var(--color-bg-navy, #0A3161);
    color: var(--color-ink-on-dark, #FAFBFC);
    padding: var(--space-24, 96px) 0;
    position: relative;
    overflow: hidden;
}

.mas-policy-lab__inner {
    max-width: var(--content-max, 1280px);
    margin: 0 auto;
    padding: 0 var(--grid-margin, 64px);
}

/* âââ header del bloque âââ */
.mas-policy-lab__head {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: var(--space-16, 64px);
    align-items: end;
    padding-bottom: var(--space-10, 40px);
    margin-bottom: var(--space-12, 48px);
    border-bottom: 0.5px solid var(--color-border-on-dark, rgba(255,255,255,0.08));
}

.mas-policy-lab__kicker {
    font-family: var(--font-sans);
    font-size: var(--fs-xs, 11px);
    color: var(--color-warm, #A9C4E4);
    letter-spacing: var(--tr-wider, 0.15em);
    text-transform: uppercase;
    font-weight: var(--fw-semibold, 600);
    margin: 0 0 var(--space-4, 16px);
    display: flex;
    align-items: center;
    gap: var(--space-3, 12px);
}
.mas-policy-lab__kicker::before {
    content: '';
    width: 32px;
    height: 0.5px;
    background: var(--color-warm, #A9C4E4);
}

.mas-policy-lab__title {
    font-family: var(--font-serif);
    font-weight: var(--fw-regular, 400);
    font-size: var(--fs-5xl, 64px);
    line-height: var(--lh-tight, 1);
    letter-spacing: var(--tr-display, -0.025em);
    margin: 0;
    color: var(--color-ink-on-dark, #FAFBFC);
}
.mas-policy-lab__title em {
    font-style: italic;
    color: var(--color-warm, #A9C4E4);
    font-weight: var(--fw-medium, 500);
}

.mas-policy-lab__head-right {
    display: flex;
    flex-direction: column;
    gap: var(--space-6, 24px);
    padding-bottom: var(--space-2, 8px);
}

.mas-policy-lab__desc {
    font-family: var(--font-serif);
    font-size: var(--fs-lg, 18px);
    line-height: var(--lh-relaxed, 1.55);
    color: var(--color-ink-2-on-dark, rgba(250, 251, 252,0.65));
    margin: 0;
    max-width: 480px;
}
.mas-policy-lab__desc em {
    font-style: italic;
    color: var(--color-warm, #A9C4E4);
}

.mas-policy-lab__platforms {
    display: flex;
    gap: var(--space-4, 16px);
    font-family: var(--font-sans);
    font-size: var(--fs-xs, 11px);
    color: var(--color-ink-3-on-dark, rgba(250, 251, 252,0.62));
    letter-spacing: var(--tr-wide, 0.05em);
    flex-wrap: wrap;
}
.mas-policy-lab__platforms-label {
    text-transform: uppercase;
    font-weight: var(--fw-semibold, 600);
    letter-spacing: var(--tr-wider, 0.15em);
}
.mas-policy-lab__platforms-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: var(--space-3, 12px);
    flex-wrap: wrap;
}
.mas-policy-lab__platforms-list a {
    color: var(--color-ink-on-dark, #FAFBFC);
    text-decoration: none;
    border-bottom: 1px solid var(--color-border-on-dark, rgba(255,255,255,0.08));
    padding-bottom: 2px;
    transition: color var(--t-fast, 150ms), border-color var(--t-fast, 150ms);
}
.mas-policy-lab__platforms-list a:hover {
    color: var(--color-warm, #A9C4E4);
    border-color: var(--color-warm, #A9C4E4);
}

/* âââ episodios Â· grid 3-col con heights iguales âââ */
.mas-policy-lab__episodes {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
    gap: var(--space-5, 20px);
    align-items: stretch;
}
.mas-policy-lab__episodes > li {
    display: flex;
}

.mas-policy-lab__ep-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--color-border-on-dark, rgba(255,255,255,0.08));
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    width: 100%;
    transition: border-color var(--t-base, 300ms),
                transform var(--t-base, 300ms),
                background var(--t-base, 300ms);
    overflow: hidden;
}
.mas-policy-lab__ep-card:hover {
    border-color: var(--color-warm, #A9C4E4);
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.09);
}
.mas-policy-lab__ep-card:focus-visible {
    outline: 2px solid var(--color-warm, #A9C4E4);
    outline-offset: 2px;
}

/* âââ cover del episodio âââ */
.mas-policy-lab__ep-cover {
    position: relative;
    aspect-ratio: 4 / 3;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: var(--space-6, 24px);
    overflow: hidden;
}
.mas-policy-lab__ep-cover--c1 {
    background: linear-gradient(135deg, #12457E 0%, #0A3161 60%);
}
.mas-policy-lab__ep-cover--c2 {
    background: linear-gradient(135deg, #0D2C52 0%, #0A3161 60%);
}
.mas-policy-lab__ep-cover--c3 {
    background: linear-gradient(135deg, #1B5288 0%, #0A3161 60%);
}
.mas-policy-lab__ep-grain {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='3'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    opacity: 0.5;
    pointer-events: none;
    mix-blend-mode: screen;
}
.mas-policy-lab__ep-num {
    position: relative;
    z-index: 1;
    font-family: var(--font-sans);
    font-size: var(--fs-2xs, 10px);
    color: var(--color-warm, #A9C4E4);
    letter-spacing: var(--tr-wider, 0.15em);
    text-transform: uppercase;
    font-weight: var(--fw-semibold, 600);
}
.mas-policy-lab__ep-num::before { content: ''; }
.mas-policy-lab__ep-guest {
    position: relative;
    z-index: 1;
    font-family: var(--font-display, 'EB Garamond');
    font-style: italic;
    font-weight: var(--fw-medium, 500);
    font-size: var(--fs-3xl, 36px);
    line-height: 1;
    letter-spacing: var(--tr-display, -0.025em);
    color: var(--color-ink-on-dark, #FAFBFC);
}

/* âââ body del episodio âââ */
.mas-policy-lab__ep-body {
    padding: var(--space-6, 24px);
    display: flex;
    flex-direction: column;
    gap: var(--space-4, 16px);
    flex: 1;
}
.mas-policy-lab__ep-title {
    font-family: var(--font-serif);
    font-weight: var(--fw-regular, 400);
    font-size: var(--fs-xl, 22px);
    line-height: var(--lh-snug, 1.15);
    letter-spacing: var(--tr-tight, -0.015em);
    margin: 0;
    color: var(--color-ink-on-dark, #FAFBFC);
    flex: 1;
}
.mas-policy-lab__ep-title em {
    font-style: italic;
    color: var(--color-warm, #A9C4E4);
}

.mas-policy-lab__ep-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-3, 12px);
    padding-top: var(--space-4, 16px);
    border-top: 0.5px solid var(--color-border-on-dark, rgba(255,255,255,0.08));
    margin-top: auto;
}
.mas-policy-lab__ep-when {
    font-family: var(--font-sans);
    font-size: var(--fs-xs, 11px);
    color: var(--color-ink-3-on-dark, rgba(250, 251, 252,0.62));
    letter-spacing: var(--tr-wide, 0.05em);
}
.mas-policy-lab__ep-duration {
    font-family: var(--font-sans);
    font-size: var(--fs-xs, 11px);
    color: var(--color-warm, #A9C4E4);
    letter-spacing: var(--tr-wide, 0.05em);
    font-weight: var(--fw-semibold, 600);
    font-variant-numeric: tabular-nums;
    display: flex;
    align-items: center;
    gap: var(--space-2, 8px);
}
.mas-policy-lab__ep-duration::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 6px solid var(--color-warm, #A9C4E4);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}

/* âââ footer Â· CTA "ver todos los episodios" âââ */
.mas-policy-lab__foot {
    margin-top: var(--space-12, 48px);
    padding-top: var(--space-6, 24px);
    border-top: 0.5px solid var(--color-border-on-dark, rgba(255,255,255,0.08));
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-4, 16px);
}
.mas-policy-lab__total {
    font-family: var(--font-sans);
    font-size: var(--fs-xs, 11px);
    color: var(--color-ink-3-on-dark, rgba(250, 251, 252,0.62));
    letter-spacing: var(--tr-wide, 0.05em);
}
.mas-policy-lab__total strong {
    color: var(--color-warm, #A9C4E4);
    font-weight: var(--fw-semibold, 600);
}
/* Empty-state honesto: sin episodios reales no se pintan cards inventadas */
.mas-policy-lab__empty {
    margin-top: var(--space-12, 48px);
    padding: var(--space-12, 48px) var(--space-8, 32px);
    border: 0.5px solid var(--color-border-on-dark, rgba(255,255,255,0.10));
    text-align: center;
}
.mas-policy-lab__empty-lead {
    font-family: var(--font-serif);
    font-size: var(--fs-xl, 22px);
    font-style: italic;
    color: var(--color-ink-on-dark, #FAFBFC);
    margin: 0 0 var(--space-3, 12px);
}
.mas-policy-lab__empty-note {
    font-family: var(--font-sans);
    font-size: var(--fs-sm, 13px);
    color: var(--color-ink-2-on-dark, rgba(250, 251, 252,0.65));
    margin: 0 auto var(--space-8, 32px);
    max-width: 440px;
}

.mas-policy-lab__cta {
    font-family: var(--font-sans);
    font-size: var(--fs-xs, 11px);
    font-weight: var(--fw-semibold, 600);
    letter-spacing: var(--tr-wide, 0.05em);
    text-transform: uppercase;
    padding: var(--space-3, 12px) var(--space-6, 24px);
    background: var(--color-warm, #A9C4E4);
    color: var(--color-bg-dark, #141414);
    border: 1px solid var(--color-warm, #A9C4E4);
    text-decoration: none;
    transition: background var(--t-fast, 150ms), color var(--t-fast, 150ms);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2, 8px);
    /* a11y target-size */
    min-height: 44px;
}
.mas-policy-lab__cta:hover {
    background: transparent;
    color: var(--color-warm, #A9C4E4);
}
.mas-policy-lab__cta-arr {
    transition: transform var(--t-fast, 150ms);
}
.mas-policy-lab__cta:hover .mas-policy-lab__cta-arr {
    transform: translateX(3px);
}

/* ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
 * Responsive
 * ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */

@media (max-width: 1023px) {
    .mas-policy-lab__inner {
        padding: 0 var(--space-8, 32px);
    }
    .mas-policy-lab__head {
        grid-template-columns: 1fr;
        gap: var(--space-8, 32px);
        align-items: start;
    }
    .mas-policy-lab__title {
        font-size: var(--fs-4xl, 48px);
    }
    .mas-policy-lab__episodes {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .mas-policy-lab {
        padding: var(--space-16, 64px) 0;
    }
    .mas-policy-lab__inner {
        padding: 0 var(--space-5, 20px);
    }
    .mas-policy-lab__title {
        font-size: var(--fs-3xl, 36px);
    }
    .mas-policy-lab__desc {
        font-size: var(--fs-base, 16px);
    }
    .mas-policy-lab__episodes {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
    }
    .mas-policy-lab__ep-guest {
        font-size: var(--fs-2xl, 28px);
    }
    .mas-policy-lab__foot {
        flex-direction: column;
        align-items: flex-start;
    }
    .mas-policy-lab__cta {
        width: 100%;
        justify-content: center;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .mas-policy-lab__ep-card,
    .mas-policy-lab__cta,
    .mas-policy-lab__cta-arr,
    .mas-policy-lab__platforms-list a {
        transition: none;
    }
    .mas-policy-lab__ep-card:hover {
        transform: none;
    }
}
