@charset "UTF-8";

/* Selector de idioma compartido para páginas interiores. */
.pagina-navbar:not(.home-renovado) .selector-idioma {
    position: absolute;
    top: 50%;
    right: max(24px, calc(25vw - 250px));
    z-index: 1004;
    display: inline-flex;
    height: 34px;
    align-items: center;
    gap: 3px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, .65);
    background: rgba(52, 53, 55, .45);
    color: rgba(255, 255, 255, .55);
    box-sizing: border-box;
    transform: translateY(-50%);
}

.pagina-navbar:not(.home-renovado) .idioma-opcion {
    min-width: 28px;
    height: 32px;
    padding: 0 4px;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .65);
    font: 700 11px/1 'Montserrat', Arial, sans-serif;
    cursor: pointer;
}

.pagina-navbar:not(.home-renovado) .idioma-opcion:hover,
.pagina-navbar:not(.home-renovado) .idioma-opcion:focus-visible,
.pagina-navbar:not(.home-renovado) .idioma-opcion.activo {
    color: #fff;
    outline: 0;
}

.pagina-navbar:not(.home-renovado) .idioma-opcion.activo {
    color: #ff3842;
}

/* Selector de idioma en cápsula, con indicador deslizante de tres posiciones. */
.pagina-navbar:not(.home-renovado) .selector-idioma {
    width: 120px;
    height: 40px;
    justify-content: space-between;
    gap: 0;
    padding: 4px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    background: rgba(52, 53, 55, .56);
    isolation: isolate;
}

.pagina-navbar:not(.home-renovado) .selector-idioma::before {
    position: absolute;
    z-index: -1;
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc((100% - 8px) / 3);
    border-radius: 999px;
    background: #c72029;
    content: "";
    transform: translateX(0);
    transition: transform .38s cubic-bezier(.22, .8, .25, 1);
}

.pagina-navbar:not(.home-renovado) .selector-idioma:has(.idioma-opcion[data-idioma="en"].activo)::before {
    transform: translateX(100%);
}

.pagina-navbar:not(.home-renovado) .selector-idioma:has(.idioma-opcion[data-idioma="fr"].activo)::before {
    transform: translateX(200%);
}

.pagina-navbar:not(.home-renovado) .selector-idioma > span[aria-hidden="true"] {
    display: none;
}

.pagina-navbar:not(.home-renovado) .idioma-opcion {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    min-width: 0;
    height: 30px;
    padding: 0;
    border-radius: 999px;
    color: rgba(255, 255, 255, .78);
    transition: color .22s ease, transform .22s ease;
}

.pagina-navbar:not(.home-renovado) .idioma-opcion.activo {
    color: #fff;
}

.pagina-navbar:not(.home-renovado) .idioma-opcion:active {
    transform: scale(.92);
}

.pagina-navbar:not(.home-renovado) .selector-idioma.regreso-ciclico::before {
    animation: idioma-regreso-ciclico .42s cubic-bezier(.22, .8, .25, 1);
}

@keyframes idioma-regreso-ciclico {
    from { transform: translateX(200%); }
    to { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .pagina-navbar:not(.home-renovado) .selector-idioma::before,
    .pagina-navbar:not(.home-renovado) .idioma-opcion {
        transition-duration: .01ms;
    }

    .pagina-navbar:not(.home-renovado) .selector-idioma.regreso-ciclico::before {
        animation-duration: .01ms;
    }
}

@media (min-width: 1441px) {
    html[lang="fr"] .pagina-navbar:not(.home-renovado) #top > ul > li > a,
    html[lang="fr"] .pagina-navbar:not(.home-renovado) #top .menu-desplegable-boton {
        padding-right: 10px;
        padding-left: 10px;
    }
}

@media (max-width: 1600px) {
    .pagina-navbar:not(.home-renovado) .selector-idioma {
        right: 75px;
        height: 32px;
        padding: 0 6px;
    }

    .pagina-navbar:not(.home-renovado) .idioma-opcion {
        min-width: 24px;
        height: 30px;
    }
}

@media (min-width: 768px) and (max-width: 1440px) {
    .pagina-sucursales #top,
    .pagina-nosotros #top {
        height: 68px;
    }

    .pagina-sucursales .navbar-logo,
    .pagina-sucursales .navbar-logo img,
    .pagina-nosotros .navbar-logo,
    .pagina-nosotros .navbar-logo img {
        width: 52px;
        height: 50px;
    }

    .pagina-sucursales .navbar-logo,
    .pagina-nosotros .navbar-logo {
        left: 22px;
    }

    .pagina-sucursales #top > ul,
    .pagina-nosotros #top > ul {
        top: 68px;
        height: auto;
        gap: 0;
    }

    .pagina-sucursales #top > ul > li > a,
    .pagina-sucursales #top .menu-desplegable-boton,
    .pagina-nosotros #top > ul > li > a,
    .pagina-nosotros #top .menu-desplegable-boton {
        height: 50px;
        line-height: 50px;
    }

    .pagina-sucursales #top .submenu,
    .pagina-nosotros #top .submenu {
        position: static;
        top: auto;
        left: auto;
        padding: 0;
        border-top: 0;
        transform: none;
    }
}

@media (max-width: 767px) {
    .pagina-navbar:not(.home-renovado) .selector-idioma {
        right: 71px;
        gap: 1px;
        padding: 0 4px;
    }

    .pagina-navbar:not(.home-renovado) .idioma-opcion {
        min-width: 22px;
        padding: 0 2px;
        font-size: 10px;
    }
}

@media (max-width: 420px) {
    .pagina-navbar:not(.home-renovado) #top::after {
        max-width: 136px;
        overflow: hidden;
        font-size: 14px;
        white-space: nowrap;
    }

    .pagina-navbar:not(.home-renovado) .selector-idioma {
        right: 67px;
        border-color: rgba(255, 255, 255, .45);
    }
}
