/* Habillage du portail Authelia — AquaClean 77 (theme « Papier »).
   Genere depuis preprod/authelia-styles/theme-1-papier.css. NE PAS EDITER ICI. */

/* Polices hebergees en local : aucune requete vers Google, aucune adresse IP transmise a un tiers. */
@font-face{
  font-family:'Big Shoulders Display';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/fonts/big-shoulders-display-600-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Big Shoulders Display';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/fonts/big-shoulders-display-600-latin.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:'Big Shoulders Display';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('/fonts/big-shoulders-display-800-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Big Shoulders Display';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('/fonts/big-shoulders-display-800-latin.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:'Big Shoulders Display';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('/fonts/big-shoulders-display-900-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Big Shoulders Display';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('/fonts/big-shoulders-display-900-latin.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:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/fonts/ibm-plex-mono-500-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/fonts/ibm-plex-mono-500-latin.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:'Work Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/fonts/work-sans-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Work Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/fonts/work-sans-400-latin.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:'Work Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/fonts/work-sans-500-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Work Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/fonts/work-sans-500-latin.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:'Work Sans';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/fonts/work-sans-600-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Work Sans';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/fonts/work-sans-600-latin.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:'Work Sans';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/fonts/work-sans-700-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Work Sans';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/fonts/work-sans-700-latin.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;
}

/* ==========================================================================
   THEME 1 — « PAPIER »
   Intention : rester sobre, dans la continuité directe des pages du site.
   Fond clair neutre, carte blanche à l'ombre douce, bleu nuit pour le texte,
   bouton d'action en bleu ocean (--water). Le jaune de la cape n'apparaît
   qu'en petite touche (anneau de focus, barre de chargement) : c'est le
   parti le plus proche de ce qu'un visiteur connaît déjà en arrivant du
   site public.

   À injecter avec fonts/fonts.css (déclarations @font-face). Ce fichier ne
   fait QUE deux choses :
   1) redéfinir les tokens shadcn/ui d'Authelia (seule surface stable —
      une mise à jour d'Authelia peut renommer une classe, jamais un token) ;
   2) poser les deux familles du site sur des SÉLECTEURS D'ÉLÉMENTS
      (body, h1, h2, button, input…) plutôt que sur des classes Authelia,
      pour la même raison de stabilité.

   Tokens redéfinis : background, foreground, card, card-foreground, popover,
   popover-foreground, primary, primary-foreground, secondary,
   secondary-foreground, muted, muted-foreground, accent, accent-foreground,
   destructive, destructive-foreground, success, warning, info, border, input,
   ring, radius, custom-icon, custom-loading-bar, divider.
   ========================================================================== */

:root,
[data-theme="light"],
[data-theme="dark"]{
  --background: #F4F7FB;              /* --paper : fond clair du site */
  --foreground: #0E2742;              /* --ink : texte */

  --card: #FFFFFF;
  --card-foreground: #0E2742;

  --popover: #FFFFFF;
  --popover-foreground: #0E2742;

  --primary: #1F5AA8;                 /* --water : bouton d'action principal */
  --primary-foreground: #FFFFFF;

  --secondary: #8E3B12;               /* --rust-dark : liens (contraste sûr sur blanc) */
  --secondary-foreground: #FFFFFF;

  --muted: #E6EEF7;                   /* --paper-dim */
  --muted-foreground: #40587A;        /* --ink-soft */

  --accent: #D8EDF9;                  /* --foam */
  --accent-foreground: #0E2742;

  --destructive: #C4551F;             /* --rust */
  --destructive-foreground: #FFFFFF;

  --success: #2E8B57;
  --warning: #B8930A;                 /* teinté vers --spark-dark */
  --info: #1F5AA8;                    /* aligné sur --water */

  --border: rgba(14,39,66,0.14);      /* --line */
  --input: rgba(14,39,66,0.14);
  --ring: #123F7A;                    /* --water-dark : anneau de focus lisible
                                          (le jaune seul est trop pâle sur ce fond,
                                          même correctif que sur le reste du site) */

  --radius: .75rem;

  --custom-icon: #0E2742;
  --custom-loading-bar: #1F5AA8;
  --divider: rgba(14,39,66,0.12);
}

/* Polices du site — sélecteurs d'éléments uniquement, jamais de classe Authelia */
body, input, button, select, textarea{
  font-family:'Work Sans', sans-serif;
}
h1, h2, h3, h4, h5{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
}

/* La carte. Authelia pose le formulaire a meme le fond ; la maquette validee
   montrait un bloc blanc detache. On cible le conteneur par l'ID DE LA SCENE
   (#first-factor-stage a la connexion, #consent-view au consentement...) :
   un identifiant est bien plus stable qu'une classe utilitaire Tailwind, qui
   peut changer a chaque version. Si Authelia renommait ses scenes, la carte
   disparaitrait sans rien casser d'autre.

   ⚠️ Ne pas essayer de mettre au point ces regles en injectant un <style> par
   la console : la CSP du portail est en style-src 'self' + nonce, un style
   fabrique en JavaScript est purement et simplement ignore. Seule la feuille
   servie par Apache s'applique. */
#first-factor-stage > div,
#second-factor-stage > div,
[id$="-view"] > div,
[id$="-stage"] > div{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 10px 30px rgba(14,39,66,0.08);
  padding:26px 22px 20px;
}
