/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'DM Sans Fallback';src: local("Arial");ascent-override: 94.90%;descent-override: 29.66%;line-gap-override: 0.00%;size-adjust: 104.53%
}.__className_b59d4a {font-family: 'DM Sans', 'DM Sans Fallback';font-style: normal
}.__variable_b59d4a {--font-dm-sans: 'DM Sans', 'DM Sans Fallback'
}

/* latin-ext */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ccc01da6a2b3d788-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/fa3e259cafa8f47e-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'DM Serif Display Fallback';src: local("Times New Roman");ascent-override: 94.37%;descent-override: 30.51%;line-gap-override: 0.00%;size-adjust: 109.78%
}.__className_d37bd6 {font-family: 'DM Serif Display', 'DM Serif Display Fallback';font-weight: 400;font-style: normal
}.__variable_d37bd6 {--font-dm-serif: 'DM Serif Display', 'DM Serif Display Fallback'
}

/* latin-ext */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/1b4d93a161998aea-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/851a75a9cb7ade06-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/e12eb4fe4ea36ef2-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/f2b84684bb0e6e9d-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/d57a24ec54448a8e-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/bc08e10e1c60a660-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/7c309a1f4c99f6b1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/9816a0e0ed309b6c-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Atkinson Hyperlegible Fallback';src: local("Arial");ascent-override: 95.60%;descent-override: 29.18%;line-gap-override: 0.00%;size-adjust: 99.37%
}.__className_82a453 {font-family: 'Atkinson Hyperlegible', 'Atkinson Hyperlegible Fallback'
}.__variable_82a453 {--font-atkinson: 'Atkinson Hyperlegible', 'Atkinson Hyperlegible Fallback'
}

/**
 * Styles d'apparence globaux (thème + packs d'accessibilité).
 *
 * Lus sur tous les portails (admin, pro, patient). Appliqués via les data-*
 * posés par AppearanceProvider sur <html>.
 */

/* ══════════════════════════════════════════════════════════════════════════
   THÈMES (filtre global subtil — pas de réécriture des classes Tailwind)
   ══════════════════════════════════════════════════════════════════════════ */

/* Energy : défaut, pas de filtre (couleurs saturées des classes Tailwind) */

/* Sérénité : moins agressif pour les yeux */
html[data-app-theme='serenity'] body {
  filter: saturate(0.65) brightness(1.02);
}

/* Nuit productive : contrasté + saturation ++ */
html[data-app-theme='night'] body {
  filter: brightness(0.95) saturate(1.3) contrast(1.05);
}
html[data-app-theme='night'] {
  background-color: #0a0a14;
}

/* Classique : kill-switch sobre */
html[data-app-theme='classic'] body {
  filter: saturate(0.15);
}

/* ══════════════════════════════════════════════════════════════════════════
   PACK VISION ET PERCEPTION
   Objectifs : meilleure lisibilité, moins de fatigue visuelle
   - Contraste augmenté
   - Taille du texte ~+15%
   - Animations réduites (prefers-reduced-motion forcé)
   - Focus indicators plus visibles
   ══════════════════════════════════════════════════════════════════════════ */

html[data-a11y-vision='1'] {
  font-size: 115%; /* rem scale → tous les text-sm, text-base, etc. grossissent */
}

html[data-a11y-vision='1'] body {
  filter: contrast(1.1);
}

html[data-a11y-vision='1'] *,
html[data-a11y-vision='1'] *::before,
html[data-a11y-vision='1'] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.05ms !important;
  scroll-behavior: auto !important;
}

html[data-a11y-vision='1'] *:focus-visible {
  outline: 3px solid #8b5cf6 !important;
  outline-offset: 2px !important;
  border-radius: 6px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   PACK LECTURE ET COGNITION
   Objectifs : rendre la lecture plus confortable
   - Fonte adaptée (Atkinson Hyperlegible en priorité, stack fallback)
   - Hauteur de ligne augmentée
   - Espacement lettres légèrement augmenté
   - Paragraphes plus aérés
   ══════════════════════════════════════════════════════════════════════════ */

/* Atkinson Hyperlegible is SHIPPED (next/font, self-hosted, `--font-atkinson` set on <html> by
   src/app/layout.tsx): the mode really changes the font. Applied to every element (headings and
   components set their own font-family), code excepted. */
html[data-a11y-reading='1'] body,
html[data-a11y-reading='1'] body *:not(code):not(pre):not(kbd):not(samp) {
  font-family:
    var(--font-atkinson),
    'Atkinson Hyperlegible',
    'Verdana',
    -apple-system,
    BlinkMacSystemFont,
    sans-serif !important;
}

html[data-a11y-reading='1'] body {
  line-height: 1.75;
  letter-spacing: 0.01em;
  word-spacing: 0.05em;
}

html[data-a11y-reading='1'] p,
html[data-a11y-reading='1'] li {
  line-height: 1.8;
  margin-bottom: 0.75em;
}

html[data-a11y-reading='1'] h1,
html[data-a11y-reading='1'] h2,
html[data-a11y-reading='1'] h3 {
  line-height: 1.4;
}

/* ══════════════════════════════════════════════════════════════════════════
   PACK MOTRICITÉ ET NAVIGATION
   Objectifs : cibles de clic plus grosses, navigation clavier améliorée
   - Boutons / liens : min-height 44x44 (recommandation Apple/Google)
   - Focus indicators très marqués
   - Zone de clic étendue
   ══════════════════════════════════════════════════════════════════════════ */

html[data-a11y-motor='1'] button,
html[data-a11y-motor='1'] a,
html[data-a11y-motor='1'] [role='button'],
html[data-a11y-motor='1'] input[type='checkbox'],
html[data-a11y-motor='1'] input[type='radio'] {
  min-height: 44px;
  min-width: 44px;
}

html[data-a11y-motor='1'] *:focus-visible {
  outline: 3px solid #10b981 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.2) !important;
}

/* Scroll bar plus large */
html[data-a11y-motor='1'] *::-webkit-scrollbar {
  width: 14px;
  height: 14px;
}
html[data-a11y-motor='1'] *::-webkit-scrollbar-thumb {
  background-color: rgba(100, 100, 100, 0.5);
  border-radius: 7px;
  border: 3px solid transparent;
  background-clip: padding-box;
}

