/* Área táctil accesible conservando el aspecto visual de las pastillas. */
.elementor-widget-slides .swiper-pagination-bullet {
    display: inline-grid !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 2px !important;
    place-items: center;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
}

.elementor-widget-slides .swiper-pagination-bullet::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.78);
}

.elementor-widget-slides .swiper-pagination-bullet-active::before {
    background: #ff6d01;
}

/* El naranja de los botones necesita texto casi negro para superar 4.5:1. */
.elementor-widget-slides .elementor-slide-button,
.ns-training-hero .elementor-button,
.e-loop-item .elementor-button {
    color: #171b19 !important;
}

.elementor-widget-slides .elementor-slide-button:hover,
.elementor-widget-slides .elementor-slide-button:focus-visible,
.ns-training-hero .elementor-button:hover,
.ns-training-hero .elementor-button:focus-visible,
.e-loop-item .elementor-button:hover,
.e-loop-item .elementor-button:focus-visible {
    background-color: #084830 !important;
    color: #ffffff !important;
}

/* Foco visible común para controles que no definan uno propio. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #c94f00 !important;
    outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
