/* CHNOUPLAN 1B — proposition finale à valider. Généré par scripts/build_tokens.py. */
@font-face{font-family:"Space Grotesk";src:url("../fonts/spacegrotesk/SpaceGrotesk.e617d64e9c04.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url("../fonts/manrope/Manrope.977a93450632.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Sans Arabic";src:url("../fonts/notosansarabic/NotoSansArabic.9e377ce98cef.woff2") format("woff2");font-weight:100 900;font-stretch:62.5% 100%;font-style:normal;font-display:swap}
:root {
  --cp-color-blue: #005DB8; /* Marque, liens, action principale */
  --cp-color-yellow: #FFE033; /* Accent, repère éditorial ; texte bleu ou encre */
  --cp-color-blue-hover: #004A93; /* Survol action principale */
  --cp-color-blue-active: #00366B; /* Action pressée */
  --cp-color-blue-pale: #EAF3FC; /* Sélection légère, fond secondaire */
  --cp-color-yellow-pale: #FFF8CC; /* Mise en avant douce */
  --cp-color-text: #17243A; /* Titres et texte principal */
  --cp-color-muted: #526176; /* Informations pratiques et légendes */
  --cp-color-border: #8190A3; /* Contour de champ sur blanc uniquement ; décor ailleurs */
  --cp-color-white: #FFFFFF; /* Fond et texte inversé */
  --cp-color-surface: #F4F7FA; /* Fond secondaire neutre */
  --cp-color-success: #146C43; /* Texte et icône succès */
  --cp-color-success-bg: #E8F5EE; /* Fond succès */
  --cp-color-error: #B42318; /* Texte, icône et bordure erreur */
  --cp-color-error-bg: #FFF0EE; /* Fond erreur */
  --cp-color-warning: #805600; /* Texte et icône attention */
  --cp-color-warning-bg: #FFF4CC; /* Fond attention */
  --cp-font-heading: "Space Grotesk", Arial, sans-serif;
  --cp-font-body: "Manrope", Arial, sans-serif;
  --cp-font-arabic: "Noto Sans Arabic", Tahoma, sans-serif;
  --cp-space-4: 0.25rem;
  --cp-space-8: 0.5rem;
  --cp-space-12: 0.75rem;
  --cp-space-16: 1rem;
  --cp-space-24: 1.5rem;
  --cp-space-32: 2rem;
  --cp-space-48: 3rem;
  --cp-space-64: 4rem;
  --cp-space-96: 6rem;
  --cp-radius-small: 4px;
  --cp-radius-medium: 8px;
  --cp-radius-large: 16px;
  --cp-radius-pill: 999px;
  --cp-motion-fast: 120ms;
  --cp-motion-standard: 180ms;
  --cp-motion-easing: cubic-bezier(.2, 0, .2, 1);
  --cp-target-min: 2.75rem;
  --cp-input-font-size: 1rem;
  --cp-focus-width: 3px;
  --cp-focus-gap: 3px;
  --cp-focus-color: var(--cp-color-blue);
  --cp-focus-gap-color: var(--cp-color-white);
  --cp-focus-on-blue: var(--cp-color-yellow);
  --cp-border-control: var(--cp-color-muted);
  --cp-state-normal-bg: var(--cp-color-blue);
  --cp-state-normal-text: var(--cp-color-white);
  --cp-state-hover-bg: var(--cp-color-blue-hover);
  --cp-state-hover-text: var(--cp-color-white);
  --cp-state-active-bg: var(--cp-color-blue-active);
  --cp-state-active-text: var(--cp-color-white);
  --cp-state-selected-bg: var(--cp-color-blue-pale);
  --cp-state-selected-text: var(--cp-color-blue);
  --cp-state-selected-border: var(--cp-color-blue);
  --cp-state-disabled-bg: var(--cp-color-surface);
  --cp-state-disabled-text: var(--cp-color-muted);
  --cp-state-disabled-border: var(--cp-color-border);
  --cp-state-error-bg: var(--cp-color-error-bg);
  --cp-state-error-text: var(--cp-color-error);
  --cp-state-success-bg: var(--cp-color-success-bg);
  --cp-state-success-text: var(--cp-color-success);
  --cp-type-h1: 2.25rem;
  --cp-type-h2: 1.75rem;
  --cp-type-h3: 1.375rem;
  --cp-type-body: 1rem;
  --cp-type-lead: 1.25rem;
  --cp-type-label: .875rem;
  --cp-type-button: 1rem;
  --cp-leading-heading: 1.08;
  --cp-leading-body: 1.6;
  --cp-leading-arabic: 1.8;
  --cp-grid-columns: 4;
  --cp-grid-gutter: 1rem;
  --cp-page-margin: 1rem;
  --cp-content-max: 80rem;
  --cp-weight-h1: 700;
  --cp-leading-h1: 1.08;
  --cp-weight-h2: 700;
  --cp-leading-h2: 1.15;
  --cp-weight-h3: 600;
  --cp-leading-h3: 1.25;
  --cp-weight-body: 400;
  --cp-weight-lead: 400;
  --cp-leading-lead: 1.5;
  --cp-weight-label: 600;
  --cp-leading-label: 1.5;
  --cp-weight-button: 700;
  --cp-leading-button: 1.5;
  --cp-weight-input: 400;
  --cp-leading-input: 1.5;
}
@media(min-width:48rem){:root{--cp-grid-columns:8;--cp-grid-gutter:1.5rem;--cp-page-margin:2rem;--cp-type-h1:3.5rem;--cp-type-h2:2.5rem;--cp-type-h3:1.5rem;}}
@media(min-width:75rem){:root{--cp-grid-columns:12;--cp-page-margin:3rem;}}
@media(prefers-reduced-motion:reduce){:root{--cp-motion-fast:0ms;--cp-motion-standard:0ms;}}
/* Appliquer au spécimen arabe ; la future interface traduira ses contenus séparément. */
:lang(ar){font-family:var(--cp-font-arabic);letter-spacing:normal;line-height:var(--cp-leading-arabic);font-stretch:100%;}
