/* Intercambio académico, visitantes y programas especiales */

.page-descubre-vocacion .section-content {
    max-width: 100%;
}

.page-descubre-vocacion .intercambio-paso__titulo {
    display: block;
    margin-block: 1.25rem 0.75rem;
    padding-inline-start: 0.75rem;
    font-family: var(--font-hero, 'Lexend', sans-serif);
    font-size: clamp(1.0625rem, 2.2vw, 1.1875rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.015em;
    color: #008888;
    border-inline-start: 0.1875rem solid var(--color-accent-orange, #ff6b35);
}

.page-descubre-vocacion .agenda-day__body > .body-text:first-child {
    margin-bottom: 1.25rem;
}

.page-descubre-vocacion .agenda-accordion {
    margin-bottom: 2rem;
}

.page-descubre-vocacion .agenda-day__body .table-scroll {
    margin-block: 1rem 1.5rem;
    max-width: 100%;
}

.page-descubre-vocacion .agenda-day__body .agenda-table {
    min-width: 18rem;
    font-size: 0.9375rem;
}

/* Intercambio académico: compacta listas heredadas con <br><br> del contenido original */
.page-intercambio-academico .agenda-day__body .lista-desordenada--check {
    margin-block: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.page-intercambio-academico .agenda-day__body .lista-desordenada--check > li {
    margin: 0;
    line-height: 1.55;
}

.page-intercambio-academico .agenda-day__body .lista-desordenada--check > li br {
    display: none;
}

.page-intercambio-academico .agenda-day__body .lista-desordenada--check .lista-desordenada--check {
    margin-block: 0.5rem 0;
    gap: 0.375rem;
}

.page-intercambio-academico .section-content a {
    font-weight: 400;
}

.page-estudiantes-visitantes .section-content a {
    font-weight: 400;
}

.page-requisitos-adicionales .section-content a {
    font-weight: 400;
}

.page-estudiantes-visitantes .agenda-day__body .lista-desordenada--check {
    margin-block: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.page-estudiantes-visitantes .agenda-day__body .lista-desordenada--check > li {
    margin: 0;
    line-height: 1.55;
}

.page-estudiantes-visitantes .agenda-day__body .lista-desordenada--check > li br {
    display: none;
}

.page-estudiantes-visitantes .agenda-day__body .lista-desordenada--check .lista-desordenada--check {
    margin-block: 0.5rem 0;
    gap: 0.375rem;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] {
    width: 100%;
    max-width: 52rem;
    margin-inline: auto;
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] {
    width: 100%;
    max-width: 52rem;
    margin-inline: auto;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] .agenda-table {
    width: 100%;
    min-width: 0;
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] .agenda-table {
    width: 100%;
    min-width: 0;
    font-size: 0.875rem;
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] th,
.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] td {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    line-height: 1.4;
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] th {
    background-color: #f1f5f9;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

@media (max-width: 47.99875rem) {
    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] {
        max-width: 100%;
    }

    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] td {
        width: 100% !important;
        padding: 0.625rem 0;
    }

    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] td:nth-child(1)::before {
        content: "Fecha límite";
    }

    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Fechas límite de nominación y aplicación"] td:nth-child(2)::before {
        content: "Periodo de estudio";
    }
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] {
    width: 100%;
    max-width: 58rem;
    margin-inline: auto;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] .agenda-table {
    width: 100%;
    min-width: 44rem;
    table-layout: fixed;
    font-size: 0.875rem;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] th,
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td {
    padding: 0.875rem 1rem;
    vertical-align: top;
    line-height: 1.45;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] th {
    height: auto;
    min-height: 0;
    background-color: #f1f5f9;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] th:nth-child(1),
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td:nth-child(1) {
    width: 6.5rem;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] th:nth-child(2),
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td:nth-child(2) {
    width: 13rem;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] th:nth-child(4),
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td:nth-child(4) {
    width: 9rem;
}

@media (max-width: 47.99875rem) {
    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] {
        max-width: 100%;
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] .agenda-table {
        min-width: 0;
        table-layout: auto;
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] tbody tr {
        padding: 1rem;
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td {
        width: 100% !important;
        padding: 0.625rem 0;
        overflow-wrap: anywhere;
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td:nth-child(1)::before {
        content: "Código";
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td:nth-child(2)::before {
        content: "Curso";
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td:nth-child(3)::before {
        content: "Objetivo general";
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td:nth-child(4)::before {
        display: block;
        content: "Nivel requerido";
        font-size: 0.6875rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--color-text-muted);
        margin-bottom: 0.35rem;
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Cursos de idioma español"] td:nth-child(4) {
        border-top: 1px solid var(--color-border);
        margin-top: 0.5rem;
        padding-top: 0.75rem;
    }
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"],
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] {
    width: 100%;
    max-width: 46rem;
    margin-inline: auto;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] .agenda-table,
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] .agenda-table {
    width: 100%;
    min-width: 0;
    font-size: 0.875rem;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] th,
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] td,
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] td {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    line-height: 1.4;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] th {
    background-color: #f1f5f9;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] th:nth-child(1),
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] td:nth-child(1),
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] th:nth-child(2),
.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] td:nth-child(2) {
    width: 9rem;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] {
    max-width: 34rem;
}

.page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] td:first-child {
    width: 7rem;
    font-weight: 600;
    color: var(--color-text, #0f172a);
}

@media (max-width: 47.99875rem) {
    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"],
    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] {
        max-width: 100%;
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] td,
    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] td {
        width: 100% !important;
        padding: 0.625rem 0;
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] td:nth-child(1)::before {
        content: "Licenciatura";
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] td:nth-child(2)::before {
        content: "Maestría";
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Equivalencias para calificar puntuaciones en UDLAP"] td:nth-child(3)::before {
        content: "Equivalencia";
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] td:nth-child(1)::before {
        content: "Clave";
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] td:nth-child(2)::before {
        content: "Descripción";
    }

    .page-intercambio-academico .agenda-day__body .table-scroll[aria-label="Claves adicionales en transcript UDLAP"] td:nth-child(2) {
        border-top: 1px solid var(--color-border);
        margin-top: 0.5rem;
        padding-top: 0.75rem;
    }
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] {
    width: 100%;
    max-width: 44rem;
    margin-inline: auto;
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] .agenda-table {
    width: 100%;
    min-width: 0;
    font-size: 0.875rem;
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] th,
.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] td {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    line-height: 1.4;
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] th {
    background-color: #f1f5f9;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] th:nth-child(1),
.page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] td:nth-child(1) {
    width: 11rem;
}

@media (max-width: 47.99875rem) {
    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] {
        max-width: 100%;
    }

    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] td {
        width: 100% !important;
        padding: 0.625rem 0;
    }

    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] td:nth-child(1)::before {
        content: "Nivel de estudios";
    }

    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] td:nth-child(2)::before {
        content: "Depósito de matrícula";
    }

    .page-estudiantes-visitantes .agenda-day__body .table-scroll[aria-label="Costos de matrícula por nivel de estudios"] td:nth-child(3)::before {
        content: "Cuota de admisión";
    }
}

/* Bloques de programas (verano / invierno) */
.programa-card {
    margin-block: 2rem;
    padding: 1.5rem;
    border: 1px solid var(--color-border);
    border-radius: 0.75rem;
    background: var(--color-surface-secondary, rgba(0, 0, 0, 0.02));
}

.programa-card__titulo {
    margin: 0 0 0.75rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-text-primary);
    line-height: 1.35;
}

.programa-card .body-text,
.programa-card .lista-desordenada,
.programa-card .lista-desordenada li {
    font-size: 1.1875rem;
}

.programa-card__meta {
    margin: 0 0 0.5rem;
    font-size: 1.1875rem;
    line-height: 1.55;
}

.programa-card__meta strong {
    font-weight: 600;
    color: var(--color-text-primary);
}

.programa-card__nota {
    margin-block: 0.75rem 0;
    padding-inline-start: 1rem;
    font-size: 1.1875rem;
    color: var(--color-text-secondary);
    border-inline-start: 3px solid var(--color-accent-orange);
}

.programa-card__enlace {
    margin-block-start: 1.25rem;
    font-size: 1.1875rem;
}

/* Requisitos adicionales */
.page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] {
    width: 100%;
    max-width: 32rem;
    margin-inline: auto;
    margin-block: 1rem 2rem;
}

.page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] .agenda-table {
    width: 100%;
    min-width: 0;
    font-size: 1rem;
    table-layout: fixed;
}

.page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] th,
.page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] td {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    text-align: center;
    line-height: 1.4;
}

.page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] th {
    background-color: #f1f5f9;
    font-size: 1rem;
    letter-spacing: 0.06em;
}

.page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] th:first-child,
.page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] td:first-child {
    width: 55%;
}

.page-requisitos-adicionales .requisitos-aviso {
    margin-top: clamp(2.5rem, 6vw, 4rem);
}

.page-requisitos-adicionales .requisitos-aviso__texto {
    margin: 0.875rem 0 0;
    font-family: var(--font-body, 'Source Sans 3', sans-serif);
    font-size: clamp(0.9375rem, 2vw, 1rem);
    line-height: 1.55;
    color: var(--color-text-secondary, #334155);
}

.requisitos-tabla-titulo {
    margin-block: 1.5rem 0.75rem;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
}

.page-requisitos-adicionales .requisitos-calendario-aviso {
    text-align: center;
    margin-bottom: calc(1rem + 1.875rem);
}

@media (max-width: 47.99875rem) {
    .page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] {
        max-width: 100%;
    }

    .page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] td {
        width: 100% !important;
        padding: 0.625rem 0;
    }

    .page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] td:nth-child(1)::before {
        content: "Mes";
    }

    .page-requisitos-adicionales .table-scroll[aria-label="Calendario de admisión para Enfermería"] td:nth-child(2)::before {
        content: "Fecha";
    }
}

/* Guía visual — reproductor de video */
.guia-video {
    margin-block: 2rem 1rem;
}

.page-guia-solicitud .content-section.section {
    padding-block-start: 7.5rem; /* 120px: banner → inicio del texto */
}

.page-guia-solicitud .main-content {
    margin-top: 0;
}

.page-guia-solicitud .guia-video {
    margin-block-start: 0;
}

.guia-video__intro {
    max-width: 44rem;
    margin-inline: auto;
    margin-block-end: clamp(1.5rem, 4vw, 2.5rem);
    text-align: center;
}

.guia-video__eyebrow {
    margin: 0 0 0.5rem;
    font-family: var(--font-hero, 'Lexend', sans-serif);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-accent-orange, #ff6b35);
}

.guia-video__player {
    position: relative;
    max-width: 48rem;
    margin-inline: auto;
    border-radius: 0.875rem;
    overflow: hidden;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.12);
}

.guia-video__trigger {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    aspect-ratio: 16 / 9;
}

.guia-video__trigger:focus-visible {
    outline: 2px solid var(--color-accent-orange);
    outline-offset: 0.25rem;
}

.guia-video__poster {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.guia-video__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 40, 48, 0.15) 0%,
        rgba(0, 40, 48, 0.55) 100%
    );
    transition: background 0.45s var(--ease-smooth);
}

.guia-video__trigger:hover .guia-video__overlay,
.guia-video__trigger:focus-visible .guia-video__overlay {
    background: linear-gradient(
        180deg,
        rgba(0, 136, 136, 0.2) 0%,
        rgba(0, 40, 48, 0.65) 100%
    );
}

.guia-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: var(--color-accent-teal, #008888);
    box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.2);
    transition: transform 0.4s var(--ease-in-out), background 0.4s var(--ease-in-out);
}

.guia-video__trigger:hover .guia-video__play,
.guia-video__trigger:focus-visible .guia-video__play {
    transform: translate(-50%, -50%) scale(1.06);
    background: #fff;
}

.guia-video__play svg {
    width: 1.5rem;
    height: 1.5rem;
    margin-inline-start: 0.2rem;
}

.guia-video__label {
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.125rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

.guia-video__embed {
    aspect-ratio: 16 / 9;
    background: #000;
}

.guia-video__embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
}

.guia-video__hint {
    max-width: 40rem;
    margin: 1.5rem auto 0;
    padding: 1.25rem clamp(1rem, 3vw, 1.5rem);
    text-align: center;
    background-color: var(--elige-pasos-card-bg, #f1f2f6);
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    color: var(--color-text-secondary);
}

.guia-video__hint .body-text {
    margin-block: 0;
}

.guia-video__hint .body-text + .body-text {
    margin-block-start: 0.75rem;
}

[data-theme="dark"] .programa-card {
    background: rgba(255, 255, 255, 0.04);
}
