/* =============================================================================
   ZOOGABOOG! — Accessibility Uplift (WCAG 2.2 AA)  — ADDITIVE ONLY, load last.
   ========================================================================== */
.zg-a11y-skip-link {
    position: absolute; left: 0; top: -100px; z-index: 100000;
    padding: 0.75rem 1.25rem; background: #1e293b; color: #fff;
    font-weight: 600; text-decoration: none; border-radius: 0 0 0.5rem 0;
    transition: top 0.15s ease-in-out;
}
.zg-a11y-skip-link:focus, .zg-a11y-skip-link:focus-visible {
    top: 0; outline: 3px solid #fff !important; outline-offset: 2px !important;
}
.sr-only, .zg-sr-only {
    position: absolute !important; width: 1px; height: 1px; padding: 0;
    margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
.sr-only-focusable:focus, .sr-only-focusable:focus-visible {
    position: static !important; width: auto; height: auto; margin: 0;
    overflow: visible; clip: auto; white-space: normal;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [role="button"]:focus-visible,
[role="link"]:focus-visible, [role="tab"]:focus-visible, [role="menuitem"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible, .btn:focus-visible,
.form-control:focus-visible, .form-select:focus-visible, .form-check-input:focus-visible,
.nav-link:focus-visible, .page-link:focus-visible, .dropdown-item:focus-visible {
    outline: 2px solid #01aade !important; outline-offset: 2px !important;
}
body.dark-mode a:focus-visible, body.dark-mode button:focus-visible,
body.dark-mode input:focus-visible, body.dark-mode select:focus-visible,
body.dark-mode textarea:focus-visible,
body.dark-mode [tabindex]:not([tabindex="-1"]):focus-visible,
body.dark-mode .btn:focus-visible, body.dark-mode .nav-link:focus-visible,
.public-footer a:focus-visible, .public-footer button:focus-visible,
.public-footer input:focus-visible, .client-footer a:focus-visible,
.client-footer button:focus-visible {
    outline-color: #ffffff !important;
}
.btn-close, .btn-icon, [class*="btn-icon"], .cart-page-qty-btn, .cart-item-btn-remove {
    min-width: 24px; min-height: 24px;
}
@media (pointer: coarse) {
    .btn-close, .btn-icon, [class*="btn-icon"], .cart-page-qty-btn, .cart-item-btn-remove {
        min-width: 44px; min-height: 44px;
    }
}
body .input-char-count { color: #64748b !important; }
body .ld-promo-price-list { color: #6b7280 !important; }
body .client-auth-input::placeholder { color: #6b7280 !important; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important; scroll-behavior: auto !important;
    }
}
