/* ==========================================================================
   STYLE CORE — GLOBALS UNIQUEMENT (PROARTSERVICES)
   Fichier: /assets/css/pas-style-core.css
   - Polices
   - Reset/normalisation
   - Variables (couleurs & tokens)
   - Conteneurs utilitaires
   - Wrapper .pas-page + typo de base
   - Tables génériques
   - Accessibilité (focus-visible)
   ========================================================================== */

/* ===================== POLICES ===================== */
@font-face{
  font-family:"Poppins";
  src:url("../fonts/poppins-v23-latin-regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Poppins";
  src:url("../fonts/poppins-v23-latin-700.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* Fallback métrique pour limiter le reflow au swap */
@font-face{
  font-family:"Poppins Fallback";
  src:local("Arial");
  ascent-override:92%;
  descent-override:22%;
  line-gap-override:0%;
  size-adjust:94%;
}

/* ===================== RESET / BASE ===================== */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html, body{
  font-family:"Poppins","Poppins Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  margin:0;
  padding:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:#ffffff;
  color:#0a2f4d;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img, svg, video{
  display:block;
  max-width:100%;
  height:auto;
}

/* ===================== VARIABLES GLOBALES ===================== */
:root{
  /* Palette “legacy” (compatibilité) */
  --ink:#0a1b2b;
  --soft:#2a3b4b;
  --line:#e6eaf2;
  --blue:#123d94;
  --blue-700:#0d2d70;
  --accent:#FF7603;

  /* Palette PAS (références communes) */
  --pas-blue:#123d94;
  --pas-blue-hover:#0f3279;
  --pas-ink:#0a1b2b;
  --pas-soft:#2a3b4b;
  --pas-line:#e6eaf2;
  --pas-bg:#ffffff;
  --pas-field:#f8fafc;

  /* Pastels utiles (tableaux, badges, etc. — utilisés par plusieurs blocs) */
  --pas-bleu-clair:#C1E4F5;
  --pas-peche-clair:#FAE2D5;
  --pas-gris-soft:#F2F2F2;

  /* Layout tokens */
  --container-w:1200px;
  --gutter:16px;
}

/* ===================== CONTENEURS / UTILITAIRES ===================== */
.container{
  max-width:var(--container-w);
  margin:0 auto;
  padding:0 var(--gutter);
}

.cv{ /* utilitaire perfs : peut s’appliquer partout */
  content-visibility:auto;
  contain-intrinsic-size:900px;
}

.no-scroll{ overflow:hidden; }

/* ===================== WRAPPER DE PAGE ===================== */
.pas-page{
  max-width:var(--container-w);
  margin:0 auto;
  padding:2rem 1rem;
  background:#fff;
  color:#002b49;
  line-height:1.65;
}
.pas-page section{ margin-bottom:3rem; }

/* Typo de base dans le contexte .pas-page (sans styles de composants) */
.pas-page h1,
.pas-page h2,
.pas-page h3,
.pas-page h4{
  color:var(--blue);
  margin:0.6em 0 0.4em;
  letter-spacing:.2px;
}
.pas-page h2{ font-size:clamp(22px,2.6vw,32px); text-align:center; }
.pas-page h3{ font-size:clamp(18px,2.2vw,24px); text-align:center; }

.pas-page p{ margin:0 0 12px; color:var(--soft); }
.pas-page ul,
.pas-page ol{ margin:10px 0 14px; padding-left:22px; }
.pas-page li{ margin:6px 0; }

.pas-page hr{
  border:0;
  border-top:1px solid var(--line);
  margin:26px auto;
  max-width:var(--container-w);
}

/* Liens globaux (sobres). Les composants précisent leurs variantes. */
a{
  color:var(--blue);
  text-underline-offset:2px;
  text-decoration-thickness:1.5px;
}
a:hover{
  color:#fff;
  background:var(--blue);
  border-radius:6px;
}

/* ===================== TABLES GÉNÉRIQUES ===================== */
.pas-page table{
  width:100%;
  border-collapse:collapse;
  margin:1rem 0 2rem;
  border:1px solid #ccc;
}
.pas-page th,
.pas-page td{
  border:1px solid #ccc;
  padding:.8rem;
  text-align:left;
}
.pas-page th{
  background:#e5f0fa;
  font-weight:600;
}

/* ===================== ACCESSIBILITÉ ===================== */
:focus-visible{
  outline:2px solid #ff8c00;
  outline-offset:2px;
}

/* ===================== BREAKPOINTS (tokens seulement) ===================== */
/* (Les composants définissent leurs propres grilles & variations) */
@media (min-width:1441px){
  :root{ --container-w:1200px; }
}
