/* The frame has its final dimensions before the carousel script starts. */
#header_slider .portada-carrusel { isolation: isolate; }
#header_slider .portada-diapositiva {
    position: absolute; inset: 0; display: block; width: 100%; height: 100%;
    margin: 0; opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 1500ms ease, visibility 0s linear 1500ms;
}
#header_slider .portada-diapositiva.is-active {
    opacity: 1; visibility: visible; pointer-events: auto;
    transition: opacity 1500ms ease; z-index: 1;
}
#header_slider .portada-diapositiva > img {
    display: block; width: 100%; height: 100%; max-width: none;
    object-fit: cover; object-position: center; margin: 0; border: 0;
}
#header_slider .portada-diapositiva-texto {
    position: absolute; top: 67%; left: 5%; max-width: 90%;
    padding: 8px; font-size: 18px; box-sizing: border-box;
}
#header_slider .portada-carrusel-controles[hidden] { display: none !important; }
#header_slider .portada-carrusel-controles > button {
    position: absolute; z-index: 3; top: 50%; margin: -20px 0 0;
    width: 40px; height: 40px; border: 0; padding: 0; border-radius: 0;
    background: rgba(216,216,216,.85); color: #555; cursor: pointer;
    font: 36px/40px Arial, sans-serif; text-align: center;
}
#header_slider .portada-carrusel-anterior { left: 0; }
#header_slider .portada-carrusel-siguiente { right: 0; }
#header_slider .portada-carrusel-controles > .portada-carrusel-pausa { right: 41px; font-size: 17px; }
#header_slider .portada-carrusel-puntos {
    position: absolute; z-index: 3; bottom: 0; left: 0; right: 0;
    display: flex; justify-content: center; pointer-events: none;
}
#header_slider .portada-carrusel-puntos button {
    display: grid; place-items: center; width: 28px; height: 32px;
    margin: 0; padding: 0; background: transparent; border: 0;
    cursor: pointer; pointer-events: auto;
}
#header_slider .portada-carrusel-puntos button span {
    display: block; width: 8px; height: 8px; border: 4px solid #b7b7b7;
    border-radius: 50%; background: #b7b7b7; box-sizing: content-box;
}
#header_slider .portada-carrusel-puntos button[aria-current="true"] span { background: #555; }
#header_slider .portada-carrusel button:focus-visible,
#header_slider .portada-diapositiva:focus-visible { outline: 2px solid #14578b; outline-offset: -2px; }
@media (hover: hover) and (pointer: fine) {
    #header_slider .portada-carrusel-controles > button { opacity: 0; transition: opacity 150ms; }
    #header_slider .portada-carrusel:hover .portada-carrusel-controles > button,
    #header_slider .portada-carrusel:focus-within .portada-carrusel-controles > button { opacity: 1; }
}
@media (max-width: 1159px) {
    #header_slider .portada-diapositiva-texto { padding: 3px; font-size: clamp(10px, 2vw, 18px); line-height: 1.2; }
    #header_slider .portada-carrusel-puntos button { height: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    #header_slider .portada-diapositiva,
    #header_slider .portada-diapositiva.is-active { transition: none; }
}
