/* ==========================================================================
   LES CARNETS INTIMES DE LAURA — feuille principale
   Ordre de bundle : home.css (sections 1 & 2 conservées) → modern.css (système)
   → primitives de base ci-dessous.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=Inter:wght@300;400;500;600&family=Lora:ital,wght@0,400;0,500;1,400&family=Playfair+Display:wght@500;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@400;600&display=swap');
@import url("home-sZOAzCf.css");
@import url("list_show-9dGjxSN.css");
@import url("register-9dGjxSN.css");
@import url("modern-KNfK0CZ.css");

/* ---------- Tokens ---------- */
:root {
  /* Ancres de marque (brief, inchangées) */
  --gold: #CFA144;
  --ink: #231c19;
  --paper: #faf7f1;
  --dark: #1d1714;

  /* Dérivés OKLCH */
  --gold-ink: oklch(0.50 0.095 82);   /* or lisible — petit texte AA */
  --gold-deep: oklch(0.64 0.115 82);  /* or hover / pressé */
  --gold-soft: oklch(0.92 0.04 85);   /* champagne / fond doré */
  --ink-soft: oklch(0.42 0.014 50);   /* texte secondaire */
  --muted: oklch(0.52 0.02 62);       /* méta, légendes */
  --paper-deep: oklch(0.94 0.010 85); /* surface alternée */
  --line: oklch(0.86 0.008 60);       /* filet clair */
  --line-dark: oklch(0.38 0.012 50);  /* filet sur encre */

  /* Alias legacy — conservés pour les sections 1 & 2 (non modifiées) */
  --main-color-1: #CFA144;
  --main-color-2: #000;
  --main-color-3: #F8F8F8;
  --main-color-4: #333;
  --main-color-5: #3f3849;

  /* Typographies */
  --font-display: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --font-prose: 'Lora', Georgia, serif;
  --font-ui: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, 'SFMono-Regular', 'Cascadia Mono', Menlo, Consolas, monospace;

  /* Rythme & formes */
  --container: min(1120px, calc(100vw - clamp(2rem, 6vw, 6rem)));
  --measure: 68ch;
  --radius: 14px;
  --radius-sm: 8px;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --dur: 200ms;
}

/* ---------- Base (ne casse pas l'admin Bootstrap : sélecteurs d'éléments uniquement) ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-ui);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { font-family: var(--font-display); font-weight: 500; line-height: 1.15; }
img { max-width: 100%; height: auto; }
ul { list-style: none; margin: 0; padding: 0; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--gold); color: #fff; }

/* ---------- Accessibilité globale ---------- */
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 4px; }
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 2000;
  background: var(--ink); color: #fff; padding: 10px 18px;
  border-radius: 0 0 12px 0; font-weight: 600; font-size: .9rem;
}
.skip-link:focus { left: 0; }
.skip-target { display: block; height: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  html { scroll-behavior: auto; }
}
