/* Swim Smart — Raffinements UI UX Pro Max (02/07/2026)
   Pour les pages autonomes (pro, kpi, carte, diagnostic) qui n'incluent pas
   swim-smart.css. Accessibilité + micro-interactions, sans bouclier anti-Astra. */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

::selection { background: #E07B54; color: #fff; }
::-moz-selection { background: #E07B54; color: #fff; }

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
    outline: 2px solid #4FC3F7 !important;
    outline-offset: 3px !important;
    border-radius: 4px;
}
:focus:not(:focus-visible) { outline: none; }

a, button {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease,
                opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}

.tabular-nums, .swim-stat, [data-count] { font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }

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