/*
 * LIRGINE — jetons de design partagés par le site public et l'espace client.
 * C'est le seul fichier à modifier pour changer la palette, la typographie ou la forme des boutons :
 * il alimente les variables de Bootstrap 5.3 (--bs-*), celles du gabarit public (Bastun)
 * et celles de l'espace client (Mazer).
 */

/* ---------------------------------------------------------------- polices (auto-hébergées, licence OFL) */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");
  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";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
  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: "Fraunces";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/fraunces-latin-ext-wght-normal.woff2") format("woff2-variations");
  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: "Fraunces";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/fraunces-latin-wght-normal.woff2") format("woff2-variations");
  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: "Fraunces";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/fraunces-latin-wght-italic.woff2") format("woff2-variations");
  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;
}

:root {
  /* ---------------------------------------------------------------- palette */
  --lg-ink: #14304a;            /* bleu encre — couleur principale */
  --lg-ink-rgb: 20, 48, 74;
  --lg-ink-deep: #0d2236;       /* survol, pied de page */
  --lg-ink-soft: #e7edf2;       /* fonds teintés */

  --lg-clay: #b4532e;           /* terracotta — accent, appels à l'action (contraste AA sur blanc) */
  --lg-clay-rgb: 180, 83, 46;
  --lg-clay-deep: #96421f;
  --lg-clay-soft: #f8e9e1;

  --lg-sage: #4f7a6a;           /* vert sauge — secondaire, états positifs */
  --lg-sage-rgb: 79, 122, 106;
  --lg-sage-soft: #e6efeb;

  --lg-sand: #f6f1ea;           /* fond chaud des sections */
  --lg-sand-deep: #ebe2d6;
  --lg-paper: #ffffff;

  --lg-text: #1f2a33;
  --lg-text-rgb: 31, 42, 51;
  --lg-muted: #56646f;          /* texte secondaire (contraste AA sur blanc et sur sable) */
  --lg-border: #ddd5c9;

  /* ---------------------------------------------------------------- typographie */
  --lg-font-heading: "Fraunces", Georgia, "Times New Roman", serif;
  --lg-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* ---------------------------------------------------------------- formes */
  --lg-radius: 0.625rem;
  --lg-radius-lg: 1rem;
  --lg-radius-pill: 50rem;
  --lg-shadow: 0 0.5rem 1.5rem rgba(var(--lg-ink-rgb), 0.08);
  --lg-transition: 0.2s ease;

  /* ---------------------------------------------------------------- Bootstrap 5.3 */
  --bs-primary: var(--lg-ink);
  --bs-primary-rgb: var(--lg-ink-rgb);
  --bs-secondary: var(--lg-sage);
  --bs-secondary-rgb: var(--lg-sage-rgb);
  --bs-success: var(--lg-sage);
  --bs-success-rgb: var(--lg-sage-rgb);
  --bs-body-font-family: var(--lg-font-body);
  --bs-body-color: var(--lg-text);
  --bs-body-color-rgb: var(--lg-text-rgb);
  --bs-body-bg: var(--lg-paper);
  --bs-secondary-color: var(--lg-muted);
  --bs-heading-color: var(--lg-ink);
  --bs-link-color: var(--lg-ink);
  --bs-link-color-rgb: var(--lg-ink-rgb);
  --bs-link-hover-color: var(--lg-clay-deep);
  --bs-link-hover-color-rgb: 150, 66, 31;
  --bs-border-color: var(--lg-border);
  --bs-border-radius: var(--lg-radius);
  --bs-border-radius-lg: var(--lg-radius-lg);
  --bs-focus-ring-color: rgba(var(--lg-clay-rgb), 0.35);

  /* ---------------------------------------------------------------- gabarit public (Bastun) */
  --bodyColor: var(--lg-text);
  --bodyBg: var(--lg-paper);
  --headingColor: var(--lg-ink);
  --contentColor: var(--lg-muted);
  --primaryColor: var(--lg-clay);
  --secondaryColor: var(--lg-ink);
  --borderColor: var(--lg-border);
  --borderRadius: var(--lg-radius);
  --bodyFont: var(--lg-font-body);
  --headingFont: var(--lg-font-heading);
}

/* ---------------------------------------------------------------- boutons communs */
.btn {
  --bs-btn-font-weight: 600;
  --bs-btn-border-radius: var(--lg-radius-pill);
  --bs-btn-padding-x: 1.35rem;
  --bs-btn-padding-y: 0.6rem;
  --bs-btn-focus-shadow-rgb: var(--lg-clay-rgb);
  transition: background-color var(--lg-transition), border-color var(--lg-transition), color var(--lg-transition);
}
.btn-lg {
  --bs-btn-padding-x: 1.75rem;
  --bs-btn-padding-y: 0.8rem;
  --bs-btn-border-radius: var(--lg-radius-pill);
}
.btn-sm {
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: 0.35rem;
  --bs-btn-border-radius: var(--lg-radius-pill);
}

/* Action principale : terracotta. */
.btn-accent {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--lg-clay);
  --bs-btn-border-color: var(--lg-clay);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--lg-clay-deep);
  --bs-btn-hover-border-color: var(--lg-clay-deep);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--lg-clay-deep);
  --bs-btn-active-border-color: var(--lg-clay-deep);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--lg-clay);
  --bs-btn-disabled-border-color: var(--lg-clay);
}

/* Action secondaire : bleu encre. */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--lg-ink);
  --bs-btn-border-color: var(--lg-ink);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--lg-ink-deep);
  --bs-btn-hover-border-color: var(--lg-ink-deep);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--lg-ink-deep);
  --bs-btn-active-border-color: var(--lg-ink-deep);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--lg-ink);
  --bs-btn-disabled-border-color: var(--lg-ink);
}
.btn-outline-primary {
  --bs-btn-color: var(--lg-ink);
  --bs-btn-border-color: var(--lg-ink);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--lg-ink);
  --bs-btn-hover-border-color: var(--lg-ink);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--lg-ink);
  --bs-btn-active-border-color: var(--lg-ink);
}

/* ---------------------------------------------------------------- typographie commune */
body {
  font-family: var(--lg-font-body);
  color: var(--lg-text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, .h1, .h2, .h3, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
  font-family: var(--lg-font-heading);
  font-weight: 560;
  font-optical-sizing: auto;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: var(--lg-ink);
}
h4, h5, h6, .h4, .h5, .h6 {
  font-family: var(--lg-font-body);
  font-weight: 650;
  color: var(--lg-ink);
}

/* ---------------------------------------------------------------- formulaires communs */
.form-control,
.form-select {
  border-color: var(--lg-border);
  border-radius: var(--lg-radius);
  padding: 0.65rem 0.9rem;
}
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--lg-clay);
  box-shadow: 0 0 0 0.25rem rgba(var(--lg-clay-rgb), 0.2);
}
.form-check-input:checked {
  background-color: var(--lg-ink);
  border-color: var(--lg-ink);
}
.form-label {
  font-weight: 600;
  color: var(--lg-ink);
}

/* Focus clavier toujours visible. */
:focus-visible {
  outline: 3px solid rgba(var(--lg-clay-rgb), 0.7);
  outline-offset: 2px;
}
