/* ==========================================================================
   Pizzas Watson — Utilidades de accesibilidad
   ========================================================================== */

/*
 * Oculta contenido visualmente, pero lo conserva
 * disponible para lectores de pantalla.
 */
.pw-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/*
 * Enlace para saltar directamente al contenido.
 */
.pw-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 9999;
    padding: 12px 18px;
    border-radius: 12px;
    color: var(--pw-white);
    background: var(--pw-dark);
    font-weight: 900;
    transform: translateY(-160%);
    transition: transform 0.2s ease;
}

.pw-skip-link:focus {
    transform: translateY(0);
}

/*
 * Foco visible general.
 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid var(--pw-yellow);
    outline-offset: 4px;
}

.pw-branch-card:focus-visible,
.pw-product-card__btn:focus-visible,
.pw-btn:focus-visible,
.pw-header__cta:focus-visible,
.pw-nav a:focus-visible,
.pw-cart-trigger:focus-visible,
.pw-cart__close:focus-visible,
.pw-cart-item__actions button:focus-visible,
.pw-floating-whatsapp:focus-visible {
    outline: 3px solid var(--pw-yellow);
    outline-offset: 4px;
}

/*
 * Mejora la lectura de elementos desactivados.
 */
button:disabled,
[aria-disabled="true"] {
    cursor: not-allowed;
}

/*
 * Evita animaciones cuando el usuario
 * ha solicitado reducir el movimiento.
 */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/*
 * Mejora la visualización en modo
 * de contraste forzado de Windows.
 */
@media (forced-colors: active) {
    .pw-btn,
    .pw-header__cta,
    .pw-product-card__btn,
    .pw-cart-trigger,
    .pw-cart__checkout,
    .pw-floating-whatsapp {
        border: 1px solid currentColor;
    }
}