/* Shared accessibility/performance polish: loaded after the visual system. */
.icon-btn { min-width: 44px; min-height: 44px; }
.hero-arrows button, .reviews-arrows button, button.btn-ghost { min-width: 44px; min-height: 44px; }
.hero-dots button,
.reviews-dots button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; border: 0; background: transparent !important; transform: none !important; }
.hero-dots button::before,
.reviews-dots button::before { content: ''; display: block; width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.55); }
.hero-dots button.on::before { background: #fff; transform: scale(1.2); }
.reviews-dots button::before { background: var(--line); }
.reviews-dots button.on::before,
.reviews-dots button[aria-pressed="true"]::before { background: var(--brand-text); transform: scale(1.2); }
.cd-qty button, .cd-rm { min-width: 44px; min-height: 44px; }
.badge.soldout { background: #59636d; }
#cookie-notice a { color: var(--brand-text) !important; }
#cookie-notice button#cookie-ok { background: var(--brand-accessible, #a95200) !important; color: #fff !important; min-height: 44px; }
.reviews-dots { overflow-x: auto; max-width: 100%; justify-content: flex-start; }
.reviews-dots button { flex: 0 0 44px; }
.footer h3 { font-size: 14px; margin-bottom: 12px; color: #fff; }
:focus-visible { outline: 3px solid #1c2b3a; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
@media (max-width: 760px) { .hero-dots, .reviews-dots { gap: 0; } }
