/* Contador de candidatos en login — bloque rectangular unificado (amarillo + blanco) */

.fraseBienvenida--landing {
    margin: clamp(1rem, 3vh, 3rem) clamp(1rem, 2vw, 3rem) clamp(1rem, 2vh, 1.5rem) clamp(1rem, 2vw, 3rem);
}

.fraseBienvenida.fraseBienvenida--landing {
    background-color: transparent !important;
    width: auto !important;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.fraseBienvenida .candidatos-stats,
.fraseBienvenida-mobile .candidatos-stats {
    width: 100%;
    margin-top: 0;
    opacity: 0;
    animation: fadeIn 1.2s ease-in-out 0.35s forwards;
}

.candidatos-stats__line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    gap: 0.12em 0.28em;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 4px 20px 4px 60px;
    border-radius: 0;
    background-color: rgba(255, 255, 255, 0.88);
    box-shadow: none;
    font-size: 32px;
    font-weight: bolder;
    letter-spacing: 1px;
    line-height: 1.35;
    color: var(--yellow, #eab318);
    text-align: left;
}

.fraseBienvenida .candidatos-stats__line {
    font-family: 'Inter', Arial, sans-serif;
}

.fraseBienvenida-mobile .candidatos-stats__line {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 18px;
    letter-spacing: 0.5px;
    padding: 6px 18px;
    text-align: center;
    justify-content: center;
}

.candidatos-stats__prefix,
.candidatos-stats__suffix {
    flex: 0 1 auto;
    color: inherit;
    font: inherit;
}

.candidatos-odometer-wrap {
    display: inline-flex;
    align-items: baseline;
    flex-shrink: 0;
    vertical-align: baseline;
}

.candidatos-odometer {
    display: inline-flex;
    flex-direction: row;
    align-items: stretch;
    font-size: 1.5em;
    font-weight: bolder;
    line-height: 1;
    letter-spacing: 0.02em;
    color: var(--yellow, #eab318);
    font-variant-numeric: tabular-nums;
}

.fraseBienvenida-mobile .candidatos-odometer {
    font-size: 1.45em;
}

.candidatos-odometer__column {
    display: inline-block;
    height: 1em;
    overflow: hidden;
    vertical-align: top;
}

.candidatos-odometer__strip {
    display: flex;
    flex-direction: column;
    will-change: transform;
}

.candidatos-odometer__digit {
    display: block;
    height: 1em;
    line-height: 1;
    text-align: center;
}

.candidatos-odometer__column--static {
    height: auto;
    overflow: visible;
}

@media (max-width: 1024px) {
    .candidatos-stats--desktop {
        display: none;
    }

    .fraseBienvenida-mobile .candidatos-stats {
        width: 100%;
        display: flex;
        justify-content: center;
        box-sizing: border-box;
    }

    .fraseBienvenida-mobile .candidatos-stats__line {
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        justify-content: center;
        width: 100%;
        max-width: 100%;
        padding: 6px 12px;
        font-size: clamp(0.6rem, 3.2vw, 0.95rem);
        letter-spacing: 0.01em;
        line-height: 1.3;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        gap: 0.1em;
        box-sizing: border-box;
    }

    .fraseBienvenida-mobile .candidatos-stats__prefix,
    .fraseBienvenida-mobile .candidatos-stats__suffix,
    .fraseBienvenida-mobile .candidatos-odometer-wrap {
        flex-shrink: 0;
        white-space: nowrap;
    }

    .fraseBienvenida-mobile .candidatos-odometer {
        font-size: 1.2em;
    }
}

@media (min-width: 1024px) {
    .login-container {
        /* Proporcional al bloque logo + HHEECC; escala uniforme con zoom */
        --login-logo-size: 80px;
        --login-hheecc-size: 16px;
        --login-hero-row-gap: 12px;
        --login-hero-band-height: calc(var(--login-logo-size) + var(--login-hheecc-size) + var(--login-hero-row-gap));
        --login-mitad-top-margin: 50px;
        --login-cajalogo-margin: 3rem;
        --login-hero-offset-top: calc(var(--login-mitad-top-margin) + var(--login-cajalogo-margin));
    }

    .candidatos-stats--mobile {
        display: none;
    }

    .login-container-right {
        justify-content: flex-start;
    }

    .mitad-top {
        margin-top: var(--login-mitad-top-margin);
    }

    .left-container-top {
        margin-top: var(--login-hero-offset-top);
        overflow: hidden;
    }

    .fraseBienvenida--landing {
        margin-top: 0;
        margin-left: auto;
        margin-right: 0;
    }

    .mitad-top .logo .salle,
    .mitad-top .logo .job {
        font-size: var(--login-logo-size);
        line-height: 1;
    }

    .mitad-top .hheeccVersionRow p {
        font-size: var(--login-hheecc-size) !important;
        line-height: 1.2;
        margin: 0;
    }

    /*
     * inline-flex + stretch: ancho = línea más ancha, ambas franjas iguales.
     * (login-responsive usa flex-end, que colapsaba el ancho a 0)
     */
    .fraseBienvenida.fraseBienvenida--landing {
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: fit-content !important;
        align-self: flex-end;
        border-radius: 0;
        background-color: transparent !important;
        box-shadow: none;
    }

    /* Ambas franjas: 100% del contenedor; el ancho lo marca la línea más larga */
    .fraseBienvenida.fraseBienvenida--landing .contenedor-frase-bienvenida,
    .fraseBienvenida.fraseBienvenida--landing .candidatos-stats,
    .fraseBienvenida.fraseBienvenida--landing .candidatos-stats--desktop {
        width: 100%;
        min-width: max-content;
        box-sizing: border-box;
    }

    /* Contenedor amarillo: tamaño, color de fondo y forma */
    .contenedor-frase-bienvenida {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        min-height: var(--login-hero-band-height);
        height: var(--login-hero-band-height);
        padding: 0 20px;
        background-color: rgba(252, 210, 41, 0.438);
        border-radius: 8px 8px 0 0;
        overflow: hidden;
    }

    /* Solo texto: se adapta al ancho del contenedor */
    .fraseBienvenida__linea {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        border: none;
        background: none;
        color: rgb(255, 255, 255);
        font-size: calc(var(--login-logo-size) * 0.28);
        font-weight: bolder;
        letter-spacing: 0.01em;
        line-height: 1.15;
        white-space: nowrap;
        overflow: hidden;
        text-align: center;
    }

    .fraseBienvenida .candidatos-stats {
        display: block;
    }

    .fraseBienvenida.fraseBienvenida--landing .candidatos-stats__line {
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        width: 100%;
        box-sizing: border-box;
        font-size: calc(var(--login-logo-size) * 0.22);
        line-height: 1.2;
        padding: 8px 20px 10px 60px;
        overflow: hidden;
        white-space: nowrap;
        border-radius: 0 0 8px 8px;
        justify-content: flex-end;
        text-align: right;
        gap: 0.12em;
    }

    .fraseBienvenida .candidatos-stats__prefix,
    .fraseBienvenida .candidatos-stats__suffix,
    .fraseBienvenida .candidatos-odometer-wrap {
        flex-shrink: 0;
        white-space: nowrap;
    }

    .fraseBienvenida .candidatos-odometer {
        font-size: 1.25em;
    }
}

@media (min-width: 1024px) and (max-height: 820px) {
    .fraseBienvenida.fraseBienvenida--landing .fraseBienvenida__linea {
       /* font-size: calc(var(--login-logo-size) * 0.25);*/
       font-size: 2.2rem ;
    }

    .fraseBienvenida .candidatos-stats__line {
        font-size: calc(var(--login-logo-size) * 0.2);
    }
}

@media (prefers-reduced-motion: reduce) {
    .fraseBienvenida .candidatos-stats,
    .fraseBienvenida-mobile .candidatos-stats {
        animation: none;
        opacity: 1;
    }
}
