/*
 * descubre-tu-vocacion.css
 * Ajustes de la página Descubre tu vocación (hero 20 % más bajo).
 * Depende de: pagina-hero-texto.css, pagina-hero-texto.js (--navbar-height dinámico)
 */

.page-descubre-vocacion {
    /* Respaldo hasta que pagina-hero-texto.js mida el nav real (megamenú ≈ 5.5rem) */
    --navbar-height: 5.5rem;
    --hero-height: 18.75rem;
}

/* Body copy on internal pages: always Source Sans 3 (titles keep Lexend). */
.page-descubre-vocacion .main-content .body-text,
.page-descubre-vocacion .main-content .lead-text,
.page-descubre-vocacion .main-content .lista-ordenada,
.page-descubre-vocacion .main-content .lista-desordenada,
.page-descubre-vocacion .main-content .lista-ordenada > li,
.page-descubre-vocacion .main-content .lista-desordenada > li,
.page-descubre-vocacion .main-content .agenda-day__body,
.page-descubre-vocacion .main-content .agenda-day__summary,
.page-descubre-vocacion .main-content td,
.page-descubre-vocacion .main-content th {
    font-family: var(--font-body, 'Source Sans 3', sans-serif);
}

.page-descubre-vocacion .hero--text {
    box-sizing: border-box;
    margin-top: var(--navbar-height);
    height: var(--hero-height);
    min-height: var(--hero-height);
    padding: 1.5rem 1.5rem;
}

@media (max-width: 47.9375rem) {
    .page-descubre-vocacion .hero--text {
        padding: 1.2rem 1.2rem;
    }

    .page-descubre-vocacion .hero-text__inner {
        gap: 1rem;
    }
}

@media (min-width: 30rem) {
    .page-descubre-vocacion .hero--text {
        padding: 1.4rem 1.6rem;
    }
}

@media (min-width: 48rem) {
    .page-descubre-vocacion .hero--text {
        padding: 1.6rem 2.4rem;
    }
}

.page-descubre-vocacion .descubre-vocacion__subtitulo {
    font-family: var(--font-hero, 'Lexend', sans-serif);
    font-size: clamp(1.15rem, 2.5vw, 1.5rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: var(--color-accent, #d27961);
    margin: 0 0 1rem;
}

/* Oficinas de enlace: subtítulos del acordeón un poco más compactos */
.page-descubre-vocacion .agenda-accordion[aria-labelledby="oficinas-titulo"] .descubre-vocacion__subtitulo {
    font-size: clamp(1rem, 2vw, 1.2rem);
}

.page-descubre-vocacion .descubre-vocacion__bloque + .descubre-vocacion__bloque {
    margin-top: clamp(1.75rem, 4vw, 2.5rem);
}

.page-descubre-vocacion .descubre-vocacion__bloque .body-text:last-child {
    margin-bottom: 0;
}

.page-descubre-vocacion .body-text:has(+ h2.pt-70) {
    margin-bottom: 0;
}

/* Las 5 etapas: índice de paso + subtítulo naranja (misma voz que orientación vocacional) */
.page-descubre-vocacion .descubre-etapas .descubre-vocacion__bloque + .descubre-vocacion__bloque {
    margin-top: clamp(1.5rem, 3.5vw, 2rem);
}

.page-descubre-vocacion .descubre-etapas__indice {
    margin: 0 0 0.35rem;
    font-family: var(--font-hero, 'Lexend', sans-serif);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text-muted, #64748b);
}

.page-descubre-vocacion .descubre-etapas .descubre-vocacion__subtitulo {
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.page-descubre-vocacion .descubre-etapas .descubre-vocacion__bloque .body-text:last-child {
    margin-bottom: 0;
}

.page-descubre-vocacion .descubre-destacados .descubre-vocacion__bloque + .descubre-vocacion__bloque {
    margin-top: clamp(1.75rem, 4vw, 2.5rem);
}

.page-descubre-vocacion .descubre-destacados .descubre-vocacion__bloque .body-text:last-child {
    margin-bottom: 0;
}

.page-descubre-vocacion .descubre-destacados__enlace {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #008888;
    font-weight: 600;
    text-decoration: none;
}

.page-descubre-vocacion .descubre-destacados__enlace-icon {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    transition: transform 0.45s var(--ease-smooth);
}

.page-descubre-vocacion .descubre-destacados__enlace:hover .descubre-destacados__enlace-icon,
.page-descubre-vocacion .descubre-destacados__enlace:focus-visible .descubre-destacados__enlace-icon {
    transform: translateX(0.25rem);
}

.page-descubre-vocacion .descubre-destacados__enlace:hover,
.page-descubre-vocacion .descubre-destacados__enlace:focus-visible {
    color: #006666;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.page-descubre-vocacion .descubre-destacados__enlace:focus-visible {
    outline: 0.125rem solid #008888;
    outline-offset: 0.125rem;
    border-radius: 0.125rem;
}

@media (prefers-reduced-motion: reduce) {
    .page-descubre-vocacion .descubre-destacados__enlace-icon {
        transition: none;
    }

    .page-descubre-vocacion .descubre-destacados__enlace:hover .descubre-destacados__enlace-icon,
    .page-descubre-vocacion .descubre-destacados__enlace:focus-visible .descubre-destacados__enlace-icon {
        transform: none;
    }
}

/* Listas (kit componentesHTML2026: lista-ordenada / lista-desordenada) */
.page-descubre-vocacion .lista-ordenada,
.page-descubre-vocacion .lista-desordenada {
    margin: 0 0 1rem;
    line-height: 1.55;
    color: var(--color-text-secondary, #334155);
}

.page-descubre-vocacion .lista-ordenada > li + li,
.page-descubre-vocacion .lista-desordenada > li + li {
    margin-top: 0.625rem;
}

.page-descubre-vocacion .lista-ordenada--decimal {
    padding-left: 1.5rem;
    list-style-type: decimal;
}

.page-descubre-vocacion .lista-ordenada--decimal > li::marker {
    color: var(--color-accent-orange, #ff6b35);
    font-weight: 600;
}

.page-descubre-vocacion .lista-desordenada--bullet {
    padding-left: 1.35rem;
    list-style-type: disc;
}

.page-descubre-vocacion .lista-desordenada--bullet > li::marker {
    color: var(--color-accent, #d27961);
}

.page-descubre-vocacion .lista-desordenada--bullet .lista-ordenada {
    margin-top: 0.625rem;
}

.page-descubre-vocacion .lista-desordenada--check {
    list-style: none;
    padding-left: 0;
}

.page-descubre-vocacion .lista-desordenada--check > li {
    position: relative;
    padding-left: 1.75rem;
}

/* Palomas naranjas: estándar en páginas interiores con .page-descubre-vocacion */
.page-descubre-vocacion .lista-desordenada--check > li::before {
    content: "";
    position: absolute;
    left: 0.15rem;
    top: 0.45em;
    width: 0.55rem;
    height: 0.3rem;
    border-left: 0.15rem solid var(--color-accent-orange, #ff6b35);
    border-bottom: 0.15rem solid var(--color-accent-orange, #ff6b35);
    transform: rotate(-45deg);
    box-sizing: border-box;
}

.page-descubre-vocacion .descubre-aun-no-decido__entrada {
    margin: 0 auto 1rem;
    max-width: 42rem;
    font-family: var(--font-body, 'Source Sans 3', sans-serif);
    font-size: clamp(1.15rem, 2.5vw, 1.45rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.015em;
    text-align: center;
    color: var(--color-text, #0f172a);
}

.page-descubre-vocacion .descubre-aun-no-decido__entrada-enfasis {
    font-weight: 700;
    letter-spacing: 0.03em;
}

.page-descubre-vocacion .descubre-aun-no-decido .descubre-vocacion__subtitulo {
    margin-top: clamp(1.5rem, 3.5vw, 2rem);
}

.page-descubre-vocacion .descubre-aun-no-decido .descubre-vocacion__subtitulo:first-of-type {
    margin-top: clamp(1.25rem, 3vw, 1.75rem);
}

.page-descubre-vocacion .descubre-aun-no-decido .body-text:last-child,
.page-descubre-vocacion .descubre-aun-no-decido .lista-desordenada:last-of-type {
    margin-bottom: 0;
}

/* Exámenes de nuevo ingreso: tablas de fechas compactas y centradas */
.page-examenes-ingreso .agenda-day__body {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.page-examenes-ingreso .agenda-day__body .table-scroll {
    width: 100%;
    max-width: 22rem;
    margin-top: 0;
    margin-inline: auto;
}

.page-examenes-ingreso .agenda-day__body .agenda-table {
    width: 100%;
    min-width: 0;
}

.page-examenes-ingreso .agenda-day__body .agenda-table th,
.page-examenes-ingreso .agenda-day__body .agenda-table td {
    text-align: center;
    padding: 0.5rem 0.65rem;
    vertical-align: middle;
}

@media (min-width: 48rem) {
    .page-examenes-ingreso .agenda-day__body .agenda-table--stand th:nth-child(1),
    .page-examenes-ingreso .agenda-day__body .agenda-table--stand td:nth-child(1),
    .page-examenes-ingreso .agenda-day__body .agenda-table--stand th:nth-child(2),
    .page-examenes-ingreso .agenda-day__body .agenda-table--stand td:nth-child(2) {
        width: 50%;
    }
}

@media (max-width: 47.9375rem) {
    .page-examenes-ingreso .agenda-day__body .table-scroll {
        max-width: 18rem;
    }

    .page-examenes-ingreso .agenda-day__body .agenda-table td:nth-child(1)::before {
        content: "Fecha";
    }

    .page-examenes-ingreso .agenda-day__body .agenda-table td:nth-child(2)::before {
        content: "Registro";
    }
}

/* Opción 5: énfasis visual sin cambiar textos */
.page-examenes-ingreso .hero-text__title {
    line-height: 1.2;
}

.page-examenes-ingreso .hero-text__title-linea {
    display: block;
}

.page-examenes-ingreso .examenes-indice {
    margin-block: clamp(1.5rem, 4vw, 2.5rem) 0;
    padding-inline: clamp(0.75rem, 3vw, 2rem);
    padding-block-end: clamp(1rem, 2.5vw, 1.5rem);
    background-color: var(--color-bg, #ffffff);
}

.page-examenes-ingreso .examenes-indice__lista {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-examenes-ingreso .examenes-indice__enlace {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.625rem 1.15rem;
    font-family: var(--font-hero, 'Lexend', sans-serif);
    font-size: clamp(0.8125rem, 1.6vw, 0.9375rem);
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    text-decoration: none;
    background-color: #008888;
    border: 1px solid #008888;
    border-radius: 0.5rem;
    transition:
        color var(--duration-color, 0.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1)),
        background-color var(--duration-color, 0.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1)),
        border-color var(--duration-color, 0.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1));
}

.page-examenes-ingreso .examenes-indice__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
    transition:
        color var(--duration-color, 0.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1)),
        background-color var(--duration-color, 0.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1)),
        background var(--duration-color, 0.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1));
}

.page-examenes-ingreso .examenes-indice__icon svg {
    display: block;
    width: 0.7rem;
    height: 0.7rem;
}

.page-examenes-ingreso .examenes-indice__enlace:hover,
.page-examenes-ingreso .examenes-indice__enlace:focus-visible {
    color: #008888;
    text-decoration: none;
    background-color: #ffffff;
    border-color: #008888;
    outline: 0.125rem solid #008888;
    outline-offset: 0.125rem;
}

.page-examenes-ingreso .examenes-indice__enlace:hover .examenes-indice__icon,
.page-examenes-ingreso .examenes-indice__enlace:focus-visible .examenes-indice__icon {
    background: rgba(0, 136, 136, 0.16);
    color: #008888;
}

[data-theme="dark"] .page-examenes-ingreso .examenes-indice {
    background-color: var(--color-bg, #18191d);
}

[data-theme="dark"] .page-examenes-ingreso .examenes-indice__enlace {
    color: #ffffff;
    background-color: #008888;
    border-color: #008888;
}

[data-theme="dark"] .page-examenes-ingreso .examenes-indice__enlace:hover,
[data-theme="dark"] .page-examenes-ingreso .examenes-indice__enlace:focus-visible {
    color: #5eead4;
    background-color: transparent;
    border-color: #5eead4;
}

[data-theme="dark"] .page-examenes-ingreso .examenes-indice__enlace:hover .examenes-indice__icon,
[data-theme="dark"] .page-examenes-ingreso .examenes-indice__enlace:focus-visible .examenes-indice__icon {
    background: rgba(94, 234, 212, 0.16);
    color: #5eead4;
}

/* Evita el cintillo gris del container bajo los botones de ancla */
.page-examenes-ingreso.layout-main .main-content > .container {
    background-color: var(--color-bg, #ffffff);
}

.page-examenes-ingreso .examenes-seccion,
.page-examenes-ingreso .agenda-day {
    scroll-margin-top: clamp(5rem, 12vw, 7rem);
}

.page-examenes-ingreso .examenes-seccion__titulo {
    padding-block: 0.15rem 0.15rem;
    padding-inline-start: 0.85rem;
    border-inline-start: 0.25rem solid var(--color-accent-orange, #ff6b35);
    color: var(--color-text, #0f172a);
}

.page-examenes-ingreso .examenes-lista {
    line-height: 1.65;
}

.page-examenes-ingreso .examenes-lista:not(.examenes-lista--tercer-idioma) {
    display: block;
    grid-template-columns: none;
    width: 100%;
}

.page-examenes-ingreso .examenes-lista:not(.examenes-lista--tercer-idioma) > li + li {
    margin-top: 0.875rem;
}

.page-examenes-ingreso .examenes-lista-comprobante {
    display: block;
    margin-top: 0.75rem;
    margin-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 0;
    border: none;
    background: transparent;
    border-radius: 0;
    line-height: 1.65;
    list-style-type: disc;
    width: 100%;
}

.page-examenes-ingreso .examenes-lista-comprobante > li {
    padding-left: 0;
    list-style-type: disc;
}

.page-examenes-ingreso .examenes-lista-comprobante > li + li {
    margin-top: 0.5rem;
}

.page-examenes-ingreso .examenes-lista-comprobante > li::marker {
    color: var(--color-accent-orange, #ff6b35);
}

.page-examenes-ingreso .examenes-modalidades {
    display: block;
    width: 100%;
    margin: 0.5rem 0 0;
}

.page-examenes-ingreso .examenes-modalidad {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.page-examenes-ingreso .examenes-modalidad:last-child {
    margin-bottom: 0;
}

.page-examenes-ingreso .examenes-contacto {
    margin-top: 0.75rem;
    margin-bottom: 1rem;
    padding: 0;
    line-height: 1.75;
}

.page-examenes-ingreso .examenes-nota {
    max-width: 42rem;
    margin-top: 1.25rem;
    padding: 0.875rem 1rem;
    border: none;
    border-radius: 0.5rem;
    background: var(--color-bg-alt, #f1f5f9);
    font-size: 1rem;
    line-height: 1.55;
    color: var(--color-text, #0f172a);
}

.page-examenes-ingreso .examenes-nota strong {
    font-weight: 700;
    color: #008888;
}

/* ── Preparatorias de convenio: beneficios (cintillo + fondo gris) ── */
.page-prepas-convenio .prepas-beneficios-lista.examenes-lista-comprobante {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
    padding: 1rem 1.25rem;
}

.page-prepas-convenio .prepas-beneficios-lista > li + li {
    margin-top: 0.875rem;
}

@media (min-width: 48rem) {
    .page-prepas-convenio .prepas-beneficios-lista.examenes-lista-comprobante {
        display: block;
        grid-template-columns: none;
        width: 100%;
        max-width: 100%;
    }

    .page-prepas-convenio .prepas-beneficios-lista.examenes-lista-comprobante > li + li {
        margin-top: 0.875rem;
    }
}

.page-prepas-convenio .examenes-contacto {
    margin-top: 0;
}

.page-prepas-convenio .examenes-nota {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* ── Preparatorias de convenio: consulta por estado ── */
.page-prepas-convenio .prepas-consulta__layout {
    display: flex;
    flex-direction: column;
    gap: clamp(1.5rem, 4vw, 2.5rem);
}

@media (min-width: 64rem) {
    .page-prepas-convenio .prepas-consulta__layout {
        flex-direction: row;
        align-items: flex-start;
        gap: clamp(1.5rem, 3vw, 2.5rem);
    }

    .page-prepas-convenio .prepas-consulta__nav {
        flex: 0 0 42%;
        max-width: 42%;
    }

    .page-prepas-convenio .prepas-consulta__panel {
        flex: 1 1 auto;
        min-width: 0;
    }
}

.page-prepas-convenio .prepas-consulta__panel {
    display: flex;
    flex-direction: column;
    gap: clamp(0.75rem, 2vw, 1rem);
    min-width: 0;
}

.page-prepas-convenio .prepas-consulta__cabecera {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    scroll-margin-top: 6rem;
}

.page-prepas-convenio .prepas-consulta__resultados-titulo:focus {
    outline: none;
}

.page-prepas-convenio .prepas-consulta__resultados-titulo:focus-visible {
    outline: 0.125rem solid var(--color-accent, #d27961);
    outline-offset: 0.1875rem;
}

.page-prepas-convenio .prepas-consulta__detalle {
    min-width: 0;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 0.0625rem solid var(--color-border, #e2e8f0);
    border-radius: 0.5rem;
    background: var(--color-bg, #fff);
}

.page-prepas-convenio .prepas-consulta__resultados-titulo {
    margin: 0;
    font-family: var(--font-hero, 'Lexend', sans-serif);
    font-size: clamp(1.375rem, 3vw, 1.75rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #2d3748;
}

.page-prepas-convenio .prepas-consulta__detalle-contenido:has(.prepas-consulta__placeholder) {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(8rem, 22vw, 12rem);
}

.page-prepas-convenio .prepas-consulta__placeholder {
    margin: 0;
    text-align: center;
    color: var(--color-text-secondary, #334155);
    line-height: 1.5;
}

.page-prepas-convenio .prepas-consulta__encabezado {
    margin: 0;
    font-size: clamp(1.05rem, 2.5vw, 1.2rem);
    font-weight: 400;
    line-height: 1.4;
}

.page-prepas-convenio .prepas-consulta__encabezado[hidden] {
    display: none !important;
}

.page-prepas-convenio .prepas-consulta__estado-nombre {
    color: var(--color-accent, #d27961);
    font-size: clamp(1.25rem, 3vw, 1.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.page-prepas-convenio .prepas-consulta__nav {
    min-width: 0;
    width: 100%;
}

@media (min-width: 64rem) {
    .page-prepas-convenio .prepas-consulta__nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
        align-items: start;
    }

    .page-prepas-convenio .prepas-consulta__region--mexico,
    .page-prepas-convenio .prepas-consulta__region--america-sur,
    .page-prepas-convenio .prepas-consulta__region--america-central,
    .page-prepas-convenio .prepas-consulta__region--america-norte {
        grid-column: 1;
    }

    .page-prepas-convenio .prepas-consulta__region + .prepas-consulta__region {
        margin-top: 0;
    }
}

.page-prepas-convenio .prepas-consulta__region + .prepas-consulta__region {
    margin-top: 1.5rem;
}

.page-prepas-convenio .prepas-consulta__region .descubre-vocacion__subtitulo {
    display: block;
    margin-bottom: 0.75rem;
}

.page-prepas-convenio .prepas-consulta__estado-control {
    position: relative;
    width: 100%;
}

.page-prepas-convenio .prepas-consulta__estado-trigger {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    padding: 0.65rem 2.75rem 0.65rem 1rem;
    border: 0.0625rem solid var(--color-border, #e2e8f0);
    border-radius: 0.5rem;
    background-color: var(--color-bg, #ffffff);
    color: var(--color-text, #0f172a);
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.page-prepas-convenio .prepas-consulta__estado-trigger::after {
    content: "";
    position: absolute;
    right: 1rem;
    width: 0.5rem;
    height: 0.5rem;
    border-right: 0.125rem solid currentColor;
    border-bottom: 0.125rem solid currentColor;
    transform: rotate(45deg) translateY(-0.15rem);
    transition: transform 0.4s var(--ease-in-out);
}

.page-prepas-convenio .prepas-consulta__estado-trigger[aria-expanded="true"]::after {
    transform: rotate(225deg) translate(-0.1rem, -0.1rem);
}

.page-prepas-convenio .prepas-consulta__estado-trigger:hover {
    background: var(--color-bg-alt, #f8fafc);
    border-color: var(--color-accent, #d27961);
}

.page-prepas-convenio .prepas-consulta__estado-trigger:focus-visible {
    border-color: var(--color-accent, #d27961);
    outline: 0.125rem solid var(--color-accent, #d27961);
    outline-offset: 0.125rem;
}

.page-prepas-convenio .prepas-consulta__estado-options {
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.25rem);
    left: 0;
    width: 100%;
    max-height: 18rem;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    padding: 0.35rem;
    border: 0.0625rem solid var(--color-border, #e2e8f0);
    border-radius: 0.5rem;
    background-color: var(--color-bg, #ffffff);
    box-shadow: 0 0.75rem 1.75rem rgba(15, 23, 42, 0.16);
    font-family: 'Source Sans 3', sans-serif;
}

.page-prepas-convenio .prepas-consulta__estado-options[hidden] {
    display: none !important;
}

.page-prepas-convenio .prepas-consulta__estado-options > li {
    margin: 0;
}

.page-prepas-convenio .prepas-consulta__estado-option {
    display: block;
    width: 100%;
    padding: 0.45rem 0.65rem;
    border-radius: 0.25rem;
    color: var(--color-text, #0f172a);
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
}

.page-prepas-convenio .prepas-consulta__estado-option:hover,
.page-prepas-convenio .prepas-consulta__estado-option:focus-visible,
.page-prepas-convenio .prepas-consulta__estado-option[aria-selected="true"] {
    background-color: var(--color-bg-alt, #f1f4f8);
    outline: none;
}

.page-prepas-convenio .prepas-consulta__estado-option:focus-visible {
    box-shadow: inset 0 0 0 0.125rem var(--color-accent, #d27961);
}

.page-prepas-convenio .prepas-consulta__ciudades-lista {
    display: grid;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.page-prepas-convenio .prepas-consulta__ciudad-item {
    margin: 0;
}

.page-prepas-convenio .prepas-consulta__ciudad {
    overflow: hidden;
    border: 0.0625rem solid var(--color-border, #e2e8f0);
    border-radius: 0.5rem;
    background: var(--color-bg, #ffffff);
}

.page-prepas-convenio .prepas-consulta__ciudad-resumen {
    position: relative;
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 2.75rem 0.75rem 1rem;
    cursor: pointer;
    list-style: none;
    font-family: var(--font-body, 'Source Sans 3', sans-serif);
    color: var(--color-text, #0f172a);
}

.page-prepas-convenio .prepas-consulta__ciudad-resumen::-webkit-details-marker {
    display: none;
}

.page-prepas-convenio .prepas-consulta__ciudad-resumen::after {
    content: "";
    position: absolute;
    right: 1rem;
    width: 0.6rem;
    height: 0.6rem;
    border-right: 0.125rem solid var(--color-accent, #d27961);
    border-bottom: 0.125rem solid var(--color-accent, #d27961);
    transform: rotate(45deg) translateY(-0.15rem);
    transition: transform 0.4s var(--ease-in-out);
}

.page-prepas-convenio .prepas-consulta__ciudad[open] > .prepas-consulta__ciudad-resumen {
    border-bottom: 0.0625rem solid var(--color-border, #e2e8f0);
    background: var(--color-bg-alt, #f8fafc);
}

.page-prepas-convenio .prepas-consulta__ciudad[open] > .prepas-consulta__ciudad-resumen::after {
    transform: rotate(225deg) translate(-0.1rem, -0.1rem);
}

.page-prepas-convenio .prepas-consulta__ciudad-resumen:hover {
    background: var(--color-bg-alt, #f8fafc);
}

.page-prepas-convenio .prepas-consulta__ciudad-resumen:focus-visible {
    outline: 0.125rem solid var(--color-accent, #d27961);
    outline-offset: -0.1875rem;
}

.page-prepas-convenio .prepas-consulta__ciudad-nombre {
    font-family: var(--font-body, 'Source Sans 3', sans-serif);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.page-prepas-convenio .prepas-consulta__ciudad-total {
    flex-shrink: 0;
    font-size: 0.875rem;
    line-height: 1.35;
    color: var(--color-text-secondary, #334155);
}

.page-prepas-convenio .prepas-consulta__lista-prepas {
    list-style: none;
    margin: 0;
    padding: 1rem 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.5;
}

.page-prepas-convenio .prepas-consulta__lista-prepas > li {
    position: relative;
    padding-left: 1.75rem;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
}

.page-prepas-convenio .prepas-consulta__lista-prepas > li::before {
    content: "";
    position: absolute;
    left: 0.15rem;
    top: 0.45em;
    width: 0.55rem;
    height: 0.3rem;
    border-left: 0.15rem solid var(--color-accent-orange, #ff6b35);
    border-bottom: 0.15rem solid var(--color-accent-orange, #ff6b35);
    transform: rotate(-45deg);
    box-sizing: border-box;
}

.page-prepas-convenio .prepas-consulta__lista-prepas > li + li {
    margin-top: 0.35rem;
}
