/* ============================================================
   CHARTE BYOU (octobre 2026) — socle commun à toutes les pages
   « Le prune en grand, l'olive en touche. »
   Marcellus (titres) + Raleway (texte), jamais de 3e police.

   Polices hébergées sur le site (plus de Google Fonts) : pas de
   connexion à un serveur tiers au chargement, pas de visite chez
   Google pour le RGPD. Licence SIL OFL 1.1 (fichiers OFL-*.txt).

   Refonte page par page : les anciens noms (« Cormorant Garamond »,
   « Manrope ») pointent vers les polices de la charte, pour que tout
   le site — y compris les descriptions produit enregistrées en base —
   passe d'un coup aux bonnes polices.
   ============================================================ */

@font-face {
  font-family: 'Marcellus';
  src: url("../fonts/charte/marcellus-latin.d8d78c8d074b.woff2") format('woff2');
  font-weight: 400; 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: 'Marcellus';
  src: url("../fonts/charte/marcellus-latin-ext.9d007c152868.woff2") format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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: 'Raleway';
  src: url("../fonts/charte/raleway-latin.e401cae7a129.woff2") format('woff2');
  font-weight: 400 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: 'Raleway';
  src: url("../fonts/charte/raleway-latin-ext.77d813a04981.woff2") format('woff2');
  font-weight: 400 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+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Anciens noms -> polices de la charte (transition). Marcellus n'a qu'une
   graisse : déclarée en 400 (les demandes de gras restent en 400, jamais
   de faux gras grâce à font-synthesis: none). */
@font-face {
  font-family: 'Cormorant Garamond';
  src: url("../fonts/charte/marcellus-latin.d8d78c8d074b.woff2") format('woff2');
  font-weight: 400; 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: 'Cormorant Garamond';
  src: url("../fonts/charte/marcellus-latin.d8d78c8d074b.woff2") format('woff2');
  font-weight: 400; font-style: italic; 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;
}

/* Chiffres : ceux de Marcellus se lisent mal (« 10 » ressemble à « IO »,
   « 14,99 » à « I4,99 »). Dans tout texte en Marcellus, les chiffres
   viennent de Raleway. Déclarées APRÈS les polices qu'elles complètent :
   à plage égale, le navigateur essaie la dernière règle en premier. */
@font-face {
  font-family: 'Marcellus';
  src: url("../fonts/charte/raleway-latin.e401cae7a129.woff2") format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0030-0039;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url("../fonts/charte/raleway-latin.e401cae7a129.woff2") format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0030-0039;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url("../fonts/charte/raleway-latin.e401cae7a129.woff2") format('woff2');
  font-weight: 400; font-style: italic; font-display: swap;
  unicode-range: U+0030-0039;
}
@font-face {
  font-family: 'Manrope';
  src: url("../fonts/charte/raleway-latin.e401cae7a129.woff2") format('woff2');
  font-weight: 100 900; 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;
}

:root {
  --charte-prune: #5B1F3A;
  --charte-sable: #E8DFD0;
  --charte-encre: #2A0E1B;
  --charte-olive: #5A6B4A;
  --charte-or: #C9A24A;          /* uniquement sur prune */
  --charte-blanc: #FFFFFF;
  --charte-serif: 'Marcellus', Georgia, serif;
  --charte-sans: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
}

/* Marcellus n'existe qu'en un seul style : jamais de gras ni d'italique
   fabriqués par le navigateur (rendu pâteux). Raleway a ses vrais graisses. */
html { font-synthesis: none; }

/* Raleway dessine par défaut des chiffres « elzéviriens » (le 0 tout petit,
   « 5o € ») : la charte veut des chiffres alignés, lisibles dans un prix. */
html, body, input, button, select, textarea { font-variant-numeric: lining-nums; }

/* Couleurs par défaut : Bootstrap impose un texte gris (#333) et des liens
   bleus (#337ab7). Un cran de spécificité au-dessus, sans gêner les
   composants qui fixent leurs propres couleurs (classes). */
html body { color: var(--charte-encre); font-family: var(--charte-sans); }
/* Titres sans police propre (Bootstrap les laisse en Helvetica) : Marcellus.
   Un titre qui fixe sa police par une classe garde la sienne. */
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6 {
  font-family: var(--charte-serif); font-weight: 400;
}
html body a { color: var(--charte-prune); }
html body a:hover, html body a:focus { color: var(--charte-encre); }

/* Bandeau et panneau cookies (tarteaucitron, bibliothèque tierce non
   modifiée) : prune, accepter en olive, refuser en encre nuit. */
html body #tarteaucitronRoot #tarteaucitronAlertBig { background: var(--charte-prune) !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig,
html body #tarteaucitronRoot #tarteaucitronAlertBig * { font-family: var(--charte-sans) !important; }
html body #tarteaucitronRoot .tarteaucitronAllow,
html body #tarteaucitronAlertBig #tarteaucitronPersonalize,
html body #tarteaucitronAlertBig #tarteaucitronPersonalize2,
html body #tarteaucitronRoot .tarteaucitronCTAButton,
html body #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
html body #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected { background: var(--charte-olive) !important; color: #FFFFFF !important; border-radius: 3px !important; }
html body #tarteaucitronRoot .tarteaucitronDeny,
html body #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
html body #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected { background: var(--charte-encre) !important; color: #FFFFFF !important; border-radius: 3px !important; }
html body #tarteaucitronAlertBig #tarteaucitronCloseAlert,
html body #tarteaucitron #tarteaucitronPrivacyUrl { background: #FFFFFF !important; color: var(--charte-prune) !important; border-radius: 3px !important; }
html body #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
html body #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover,
html body #tarteaucitron #tarteaucitronClosePanel,
html body #tarteaucitron #tarteaucitronInfo,
html body #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
html body #tarteaucitronRoot .asCatToggleBtn { background: var(--charte-prune) !important; border-color: var(--charte-prune) !important; }
html body #tarteaucitron .tarteaucitronBorder { border-color: var(--charte-prune) !important; }
html body #tarteaucitronPercentage { background: var(--charte-olive) !important; }
html body #tarteaucitronRoot * { color: var(--charte-encre); }
html body #tarteaucitronRoot #tarteaucitronAlertBig * { color: #FFFFFF; }
html body #tarteaucitron #tarteaucitronServices .tarteaucitronLine { background: #F4EFE7; }

/* Descriptions produits : HTML enregistré en base avec les couleurs d'avant la
   charte, en styles en ligne (taupe #8C7973, gris, encadrés gris ou bleutés,
   dégradés). Ramenées à la palette ici, sans toucher la base. Ordre voulu :
   chaque règle l'emporte sur la précédente (même poids). */
:is(.my-tab-panel, .my-short-description, .seo-content) [style*="color" i] { color: var(--charte-encre) !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) :is([style*="8c7973" i], [style*="d2691e" i], [style*="6f5a47" i], [style*="8a6d1f" i], [style*="b8865a" i], [style*="c9a961" i]) { color: var(--charte-prune) !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) :is([style*="3f4a39" i], [style*="2f7a4f" i]) { color: var(--charte-olive) !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) :is([style*="color: #666" i], [style*="color:#666" i], [style*="color: #777" i], [style*="color:#777" i], [style*="color: #888" i], [style*="color:#888" i], [style*="color: #5a5a5a" i], [style*="color: #555" i], [style*="color:#555" i]) { color: #6E5B63 !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) :is([style*="color: white" i], [style*="color:white" i], [style*="color: #fff" i], [style*="color:#fff" i]) { color: #FFFFFF !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) [style*="background" i] { background: #F4EFE7 !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) :is([style*="background: #8c7973" i], [style*="background:#8c7973" i], [style*="background-color: #8c7973" i], [style*="background: #d2691e" i], [style*="background:#d2691e" i]) { background: var(--charte-prune) !important; color: #FFFFFF !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) [style*="border" i] { border-color: var(--charte-sable) !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) [style*="border" i]:is([style*="8c7973" i], [style*="d2691e" i]) { border-color: var(--charte-prune) !important; }
:is(.my-tab-panel, .my-short-description, .seo-content) [style*="shadow" i] { box-shadow: none !important; text-shadow: none !important; }

/* Boutons et liens d'action : l'olive en touche */
.btn-charte {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--charte-olive); color: #FFFFFF !important;
  border: 1px solid var(--charte-olive); border-radius: 3px;
  font-family: var(--charte-sans); font-weight: 600; font-size: 16px; line-height: 1.2;
  padding: 15px 30px; min-height: 50px; text-decoration: none; cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.btn-charte:hover { background: var(--charte-encre); border-color: var(--charte-encre); }
.btn-charte--ligne { background: transparent; color: var(--charte-olive) !important; }
.btn-charte--ligne:hover { background: var(--charte-olive); color: #FFFFFF !important; }
.btn-charte--blanc { background: #FFFFFF; color: var(--charte-prune) !important; border-color: #FFFFFF; }
.btn-charte--blanc:hover { background: var(--charte-sable); border-color: var(--charte-sable); }
