/*
 * Passy Actu 2026, direction « Direct » : design tokens.
 * Fond sombre de chaîne d'info, rouge du logo, jaune de signalisation pour le fil des dernières.
 * Titres en Oswald (condensée, capitales), texte en Inter. Polices auto-hébergées (OFL).
 * Les plugins passy-media et passy-citoyen consomment ces variables avec repli.
 */

@font-face {
  font-family: "Oswald";
  src: url("../fonts/oswald-var.woff2") format("woff2");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
  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: "Oswald";
  src: url("../fonts/oswald-ext-var.woff2") format("woff2");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
  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: "Inter";
  src: url("../fonts/inter-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-italic-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  color-scheme: dark;

  /* Surfaces */
  --pa-bg: #0b0b0c;
  --pa-surface: #151517;
  --pa-surface-2: #1d1d21;
  --pa-surface-3: #26262b;
  --pa-line: #2a2a2f;
  --pa-line-strong: #3a3a41;
  --pa-bg-muted: var(--pa-surface);

  /* Encres (contrastes AA sur --pa-bg et --pa-surface) */
  --pa-ink: #ffffff;
  --pa-ink-1: #ececef;
  --pa-ink-2: #b4b4bc;
  --pa-ink-3: #8c8c96;

  /* Marque */
  --pa-red: #e3192f;
  --pa-red-hover: #c8132a;
  --pa-red-ink: #ff6b78;          /* liens rouges lisibles sur fond sombre */
  --pa-yellow: #ffc72c;
  --pa-accent: var(--pa-red);
  --pa-accent-soft: rgb(227 25 47 / .14);
  --pa-on-accent: #ffffff;

  /* Plateformes */
  --pa-youtube: #ff0000;
  --pa-tiktok: #010101;
  --pa-tiktok-pink: #ee1d52;
  --pa-tiktok-cyan: #69c9d0;
  --pa-whatsapp: #25d366;
  --pa-facebook: #1877f2;

  /* Rubriques */
  --pa-cat-default: var(--pa-red);
  --pa-cat-politique: #e3192f;
  --pa-cat-societe: #8b5cf6;
  --pa-cat-vie-communale: #f59e0b;
  --pa-cat-economie: #16a34a;
  --pa-cat-sport: #ea580c;
  --pa-cat-sante: #0d9488;
  --pa-cat-culture: #db2777;
  --pa-cat-education: #2563eb;

  /* Typographie */
  --pa-font-display: "Oswald", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  --pa-font-text: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --pa-font-serif: var(--pa-font-display);

  --pa-text-xs: .75rem;
  --pa-text-sm: .875rem;
  --pa-text-base: 1rem;
  --pa-text-md: 1.0625rem;
  --pa-text-lg: 1.1875rem;
  --pa-text-h4: 1.125rem;
  --pa-text-h3: clamp(1.15rem, 1rem + .6vw, 1.4rem);
  --pa-text-h2: clamp(1.4rem, 1.15rem + 1vw, 1.9rem);
  --pa-text-h1: clamp(2rem, 1.4rem + 2.8vw, 3.4rem);
  --pa-text-hero: clamp(2rem, 1.2rem + 3.6vw, 3.9rem);

  /* Espacements (base 4 px) */
  --pa-space-1: .25rem;
  --pa-space-2: .5rem;
  --pa-space-3: .75rem;
  --pa-space-4: 1rem;
  --pa-space-5: 1.25rem;
  --pa-space-6: 1.5rem;
  --pa-space-8: 2rem;
  --pa-space-10: 2.5rem;
  --pa-space-12: 3rem;
  --pa-space-16: 4rem;
  --pa-gutter: clamp(1rem, .6rem + 1.6vw, 1.75rem);

  /* Formes */
  --pa-radius-sm: 6px;
  --pa-radius: 10px;
  --pa-radius-lg: 14px;
  --pa-shadow: 0 10px 30px rgb(0 0 0 / .45);

  /* Mise en page */
  --pa-max: 1280px;
  --pa-narrow: 760px;
  --pa-header-h: 64px;

  /* Mouvement */
  --pa-dur: 200ms;
  --pa-ease: cubic-bezier(.2, .7, .2, 1);

  /* Logo : léger halo blanc pour que les parties noires du logo officiel restent lisibles
     sur fond sombre. Aucune retouche du fichier : simple filtre CSS. */
  --pa-logo-contour: rgb(255 255 255 / .92);

  /* Jetons qui changent avec le mode clair / sombre */
  --pa-highlight: var(--pa-yellow);          /* liens d'appel (« Toute la rubrique », etc.) */
  --pa-focus: var(--pa-yellow);              /* contour de focus clavier */
  --pa-bg-deep: #000000;                     /* bandes contrastées (une, « Plus d'actualités ») */
  --pa-masthead-bg: rgb(11 11 12 / .96);
  --pa-contrast-bg: #ffffff;                 /* bouton X, TikTok : inverse du fond */
  --pa-contrast-ink: #000000;
  --pa-media-frame: #000000;                 /* fond derrière une photo verticale */
}

/* ==========================================================================
   Mode clair : suit le réglage de l'appareil, sauf choix explicite du lecteur
   (bouton soleil/lune, attribut data-theme sur <html>).
   ========================================================================== */
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --pa-bg: #ffffff;
    --pa-surface: #f5f5f6;
    --pa-surface-2: #ececef;
    --pa-surface-3: #e1e1e6;
    --pa-line: #e3e3e8;
    --pa-line-strong: #cdcdd4;
    --pa-ink: #0b0b0c;
    --pa-ink-1: #1d1d21;
    --pa-ink-2: #45454d;
    --pa-ink-3: #64646d;
    --pa-red-ink: #c8132a;
    --pa-accent-soft: rgb(227 25 47 / .08);
    --pa-shadow: 0 10px 30px rgb(0 0 0 / .12);
    --pa-logo-contour: transparent;
    --pa-highlight: #c8132a;
    --pa-focus: #0b0b0c;
    --pa-bg-deep: #f2f2f4;
    --pa-masthead-bg: rgb(255 255 255 / .96);
    --pa-contrast-bg: #0b0b0c;
    --pa-contrast-ink: #ffffff;
    --pa-media-frame: #e8e8ec;
  }
}
:root[data-theme="light"] {
  color-scheme: light;
  --pa-bg: #ffffff;
  --pa-surface: #f5f5f6;
  --pa-surface-2: #ececef;
  --pa-surface-3: #e1e1e6;
  --pa-line: #e3e3e8;
  --pa-line-strong: #cdcdd4;
  --pa-ink: #0b0b0c;
  --pa-ink-1: #1d1d21;
  --pa-ink-2: #45454d;
  --pa-ink-3: #64646d;
  --pa-red-ink: #c8132a;
  --pa-accent-soft: rgb(227 25 47 / .08);
  --pa-shadow: 0 10px 30px rgb(0 0 0 / .12);
  --pa-logo-contour: transparent;
  --pa-highlight: #c8132a;
  --pa-focus: #0b0b0c;
  --pa-bg-deep: #f2f2f4;
  --pa-masthead-bg: rgb(255 255 255 / .96);
  --pa-contrast-bg: #0b0b0c;
  --pa-contrast-ink: #ffffff;
  --pa-media-frame: #e8e8ec;
}

/* Zones toujours sombres, quel que soit le mode : bande vidéo, pied de page. */
.pa-media, .pa-footer, .pa-scheme-dark,
.pa-card--hero:not(.pa-card--text), .pa-card--feature:not(.pa-card--text) {
  color-scheme: dark;
  --pa-bg: #0b0b0c;
  --pa-surface: #151517;
  --pa-surface-2: #1d1d21;
  --pa-surface-3: #26262b;
  --pa-line: #2a2a2f;
  --pa-line-strong: #3a3a41;
  --pa-ink: #ffffff;
  --pa-ink-1: #ececef;
  --pa-ink-2: #b4b4bc;
  --pa-ink-3: #8c8c96;
  --pa-red-ink: #ff6b78;
  --pa-accent-soft: rgb(227 25 47 / .14);
  --pa-logo-contour: rgb(255 255 255 / .92);
  --pa-highlight: var(--pa-yellow);
  --pa-focus: var(--pa-yellow);
  --pa-contrast-bg: #ffffff;
  --pa-contrast-ink: #000000;
  --pa-media-frame: #000000;
  color: var(--pa-ink-1);
}

/* Couleur par rubrique, utilisée par les badges et filets */
[data-cat] { --pa-cat: var(--pa-cat-default); }
[data-cat="politique"] { --pa-cat: var(--pa-cat-politique); }
[data-cat="societe"] { --pa-cat: var(--pa-cat-societe); }
[data-cat="vie-communale"] { --pa-cat: var(--pa-cat-vie-communale); }
[data-cat="economie"] { --pa-cat: var(--pa-cat-economie); }
[data-cat="sport"] { --pa-cat: var(--pa-cat-sport); }
[data-cat="sante"] { --pa-cat: var(--pa-cat-sante); }
[data-cat="culture"] { --pa-cat: var(--pa-cat-culture); }
[data-cat="education"] { --pa-cat: var(--pa-cat-education); }

@media (prefers-reduced-motion: reduce) {
  :root { --pa-dur: 0ms; }
}
