/* ============================================================
   THÈME SUNSET — Parformance Design System V3 · 2026
   Direction : LIGHT MODE British Open Leaderboard
   Fond crème #F0EDE6 · Navbar navy-900 · Accent azur-500
   Chargé EN DERNIER — overrides cascade via !important systématique.
   ============================================================ */

/* 1. GOOGLE FONTS — chargées via <link> async dans main.php (hors chemin critique) */

/* 2. TOKENS DS COMPLETS + ALIASES COMPAT ------------------- */
:root {
  /* ── Green ── */
  --green-50:  #EBF4ED;
  --green-100: #D2E8D8;
  --green-200: #A6D0B0;
  --green-300: #6FB082;
  --green-400: #3E9159;
  --green-500: #1F7A3E;
  --green-600: #176030;
  --green-700: #114826;

  /* ── Brick ── */
  --brick-300: #ED9385;
  --brick-400: #DD5C4A;
  --brick-500: #C8302C;
  --brick-600: #A52320;
  --brick-700: #7E1A18;

  /* Aliases coral → brick */
  --coral-300: var(--brick-300);
  --coral-400: var(--brick-400);
  --coral-500: var(--brick-500);
  --coral-600: var(--brick-600);

  /* ── Paper ── */
  --paper-50:  #FCEFE2;
  --paper-100: #F8DCC2;
  --paper-200: #F2C293;
  --paper-300: #E0772E;
  --paper-400: #C25F1E;

  /* ── Mint ── */
  --mint-50:  #F7F7F2;
  --mint-100: #EFEFE9;
  --mint-200: #E3E3DA;
  --mint-300: #CFCFC2;
  --mint-400: #AEAEA0;

  /* Aliases cream/mist → mint */
  --cream-50:  var(--mint-50);
  --cream-100: var(--mint-100);
  --cream-200: var(--mint-200);
  --mist-50:   var(--mint-50);
  --mist-100:  var(--mint-100);
  --mist-200:  var(--mint-200);
  --mist-300:  var(--mint-300);

  /* ── Cream page/panel (fond spécifique thème) ── */
  --cream-page:  #E5DFD3;
  --cream-panel: #F3EFE8;
  --cream-line:  #E3DECF;
  --cream-dark:  #C4B89C;

  /* ── Variables thémables (surchargées par /admin/theme) ── */
  --pf-table-header:       #7A6B52;
  --pf-table-header-hover: #6B5C44;
  --pf-golfer-card:        #9A8B74;
  --pf-golfer-card-hover:  #8C7C65;
  --pf-bnav-dot:           #5C4820;
  --pf-burger:             #1A1A1A;
  --pf-btn-caddie:         #D97757;
  --pf-btn-caddie-hover:   #B8553D;
  --pf-hover-outline:      #C9A84C;
  --pf-row-stripe:         #F3EFE8;
  /* Texte corps */
  --pf-body-text:          #141C30;
  --pf-card-title:         #141C30;
  --pf-score-total:        #1A5688;
  --pf-season-sep:         #141C30;
  --pf-saisie-subtitle:    #3A2C1E;
  /* Inputs & formulaires */
  --pf-input-bg:           #FFFFFF;
  --pf-input-text:         #141C30;
  --pf-select-hover-bg:    #EFEFE9;
  --pf-select-selected-bg: #E3E3DA;
  /* Tableau */
  --pf-table-cell-bg:      #FFFFFF;
  /* Bouton secondaire */
  --pf-btn-secondary-bg:   #F3EFE8;
  --pf-btn-secondary-text: #243152;
  /* Modale */
  --pf-modal-bg:           #FFFFFF;
  --pf-modal-text:         #555555;
  --pf-modal-close:        #595959;
  --pf-modal-list-text:    #444444;
  --pf-modal-cancel-bg:    #6C757D;
  /* Footer */
  --pf-footer-text:        #000000;
  --pf-footer-link:        #000000;
  /* Dock */
  --pf-dock-item:          rgba(255,255,255,0.85);
  /* Défi / challenge gradient */
  --pf-defi-start:         #1E5C9B;
  --pf-defi-end:           #8E44AD;
  /* Blocs caddie / info */
  --pf-caddie-bg:          #6D5A3E;
  --pf-caddie-link:        #D4C4A0;
  /* Navigation stats & blocs */
  --pf-stats-btn-bg:    #EFEFE9;
  --pf-stats-btn-text:  #324166;
  --pf-stats-filter-bg: #F3EFE8;
  --pf-stats-title:     #141C30;

  /* ── Navy ── */
  --navy-900: #141C30;
  --navy-800: #1B2540;
  --navy-700: #243152;
  --navy-600: #324166;
  --navy-500: #4E5E80;
  --navy-400: #7886A4;
  --navy-300: #A8B2C8;
  --navy-200: #CDD3E0;
  --navy-100: #E6E9F0;

  /* Aliases ink → navy */
  --ink-900: var(--navy-900);
  --ink-700: var(--navy-700);
  --ink-500: var(--navy-500);
  --ink-300: var(--navy-300);

  /* ── Carbon (conservé pour compatibilité) ── */
  --carbon-50:  #F2F3F1;
  --carbon-100: #DDDFDB;
  --carbon-200: #BFC2BD;
  --carbon-300: #8A8E89;
  --carbon-400: #5A5E59;
  --carbon-500: #3A3D38;
  --carbon-600: #26282A;
  --carbon-700: #1A6B67;
  --carbon-800: #06302E;
  --carbon-900: #0A0B0A;

  /* ── Lime (conservé pour compatibilité) ── */
  --lime-300: #E5FF8A;
  --lime-400: #C7FF2E;
  --lime-500: #A4E600;
  --lime-600: #7FB800;

  /* ── Magenta ── */
  --magenta-300: #FF7AB5;
  --magenta-400: #FF4A9E;
  --magenta-500: #FF1F87;
  --magenta-600: #D40D6E;

  /* ── Azur ── */
  --azur-300: #8FC6EF;
  --azur-400: #4DA3E0;
  --azur-500: #2E8BD4;
  --azur-600: #2270B0;
  --azur-700: #1A5688;
  --azur-100: #D6EBFB;

  /* ── Forest ── */
  --forest-900: #0C3D29;
  --forest-800: #0F472F;
  --forest-700: #14543A;
  --forest-600: #1C6646;
  --forest-500: #2C7E59;
  --forest-400: #4A9A74;
  --forest-300: #82BC9C;
  --forest-200: #B8D8C5;
  --forest-100: #DFEDE5;

  /* ── Sémantiques CLAIRS (British Open Leaderboard) ── */
  --bg:          #E5DFD3;
  --surface-1:   #F3EFE8;
  --surface-2:   #FFFFFF;
  --surface-inv: var(--navy-900);
  --fg-1:        #141C30;
  --fg-2:        #243152;
  --fg-3:        #243152;
  --fg-4:        #4E5E80;
  --border-1:    rgba(14,31,61,0.12);
  --border-2:    rgba(14,31,61,0.06);
  --border-strong: rgba(14,31,61,0.30);
  --border-focus:  var(--azur-500);
  --accent:      var(--azur-500);
  --cta:         var(--azur-500);
  --danger:      var(--brick-500);
  --brand:       #141C30;

  /* ── Typo ── */
  --font-display: 'Barlow Condensed', 'Oswald', 'Arial Narrow', sans-serif;
  --font-body:    'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ── Échelle typo ── */
  --t-hero:    clamp(56px, 7vw, 96px);
  --t-display: clamp(40px, 5vw, 64px);
  --t-h1:      40px;
  --t-h2:      30px;
  --t-h3:      22px;
  --t-body-l:  18px;
  --t-body:    16px;
  --t-body-s:  14px;
  --t-caption: 12px;
  --t-mono:    14px;
  --t-eyebrow: 12px;

  /* ── Line heights ── */
  --lh-hero:  0.92;
  --lh-tight: 1.08;
  --lh-snug:  1.25;
  --lh-base:  1.5;
  --lh-loose: 1.65;

  /* ── Letter spacing ── */
  --ls-hero:    -0.03em;
  --ls-display: -0.02em;
  --ls-tight:   -0.01em;
  --ls-eyebrow:  0.12em;

  /* ── Weights ── */
  --w-light: 300;
  --w-reg:   400;
  --w-med:   500;
  --w-semi:  600;
  --w-bold:  700;

  /* ── Spacing ── */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* ── Radius ── */
  --r-xs:   2px;
  --r-sm:   4px;
  --r-md:   8px;
  --r-lg:   16px;
  --r-pill: 999px;
  --radius: 12px;

  /* ── Shadows ── */
  --shadow-1: 0 1px 3px color-mix(in srgb, var(--surface-inv) 10%, transparent);
  --shadow-2: 0 6px 20px rgba(20,28,48,0.16);
  --shadow:   0 1px 3px color-mix(in srgb, var(--surface-inv) 10%, transparent);

  /* ── Motion ── */
  --ease-out:  cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:   cubic-bezier(0.5, 0, 1, 0.5);
  --dur-micro:  80ms;
  --dur-fast:  200ms;
  --dur-base:  400ms;
  --dur-hero:  600ms;

  /* ── Aliases compat thème précédent (--sn-*) ── */
  --sn-navy:    var(--navy-900);
  --sn-navy-7:  var(--navy-700);
  --sn-navy-5:  var(--navy-500);
  --sn-navy-3:  var(--navy-300);
  --sn-navy-1:  var(--navy-100);
  --sn-mint:    var(--mint-100);
  --sn-mint-50: var(--mint-50);
  --sn-green:   var(--green-500);
  --sn-green-7: var(--green-700);
  --sn-brick:   var(--brick-500);
  --sn-brick-6: var(--brick-600);
  --sn-brick-3: var(--brick-300);
  --sn-paper:   var(--paper-300);
  --sn-paper-d: var(--paper-400);
  --sn-paper-50:var(--mint-50);
  --sn-lime:    var(--azur-500);
  --sn-border:  var(--border-1);
  --sn-shadow:  0 1px 3px color-mix(in srgb, var(--surface-inv) 10%, transparent);
  --sn-font:    var(--font-body);
  --sn-display: var(--font-display);
  --sn-mono:    var(--font-mono);

  /* Remapper variables app.css */
  --blue:      var(--azur-500);
  --blue-dark: var(--azur-700);
  --green:     var(--green-500);
  --light:     var(--mint-100);
  --border:    var(--border-1);
}

/* Responsive : mobile → Barlow Semi Condensed + titres réduits */
@media (max-width: 600px) {
  :root {
    --font-body: 'Barlow Semi Condensed', 'Plus Jakarta Sans', -apple-system, sans-serif;
    --t-h2: 22px;
    --t-h3: 18px;
  }
}

/* 3. BODY / HTML ------------------------------------------- */
html {
  background: var(--cream-page) !important;
}
body {
  font-family: var(--font-body) !important;
  background-color: var(--cream-page) !important;
  color: var(--navy-900) !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
}
/* Voile crème chaud sur l'image de fond (remplace le voile noir du thème classic) */
body::before {
  display: block !important;
  background: var(--pf-bg-overlay, color-mix(in srgb, var(--cream-page) 75%, transparent)) !important;
}

/* 4. TYPOGRAPHIE ------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  paint-order: normal !important;
  color: var(--navy-900) !important;
}
h1 {
  font-size: var(--t-h1) !important;
  font-weight: 700 !important;
  letter-spacing: var(--ls-display) !important;
  line-height: var(--lh-tight) !important;
}
h2 {
  font-size: var(--t-h2) !important;
  font-weight: 700 !important;
  letter-spacing: var(--ls-tight) !important;
  line-height: var(--lh-snug) !important;
}
h3 {
  font-size: var(--t-h3) !important;
  font-weight: 600 !important;
  line-height: var(--lh-snug) !important;
}

/* Titres de page (page-header) */
body .page-header h1,
body .page-header h1.h1-saisie {
  font-family: var(--font-display) !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: var(--navy-900) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  paint-order: normal !important;
  letter-spacing: var(--ls-display) !important;
  text-transform: none !important;
  overflow: visible !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
body .page-header h1 .page-icon img {
  height: 1em !important;
  filter: drop-shadow(0 0 1.5px #000) drop-shadow(0 0 1.5px #000) drop-shadow(0 0 1.5px #000) !important;
}
/* Titres des blocs d'entraînement : même taille que le h1 de page */
.training-block .tb-title {
  font-size: 1.44rem !important;
  line-height: 1.2 !important;
}
@media (max-width: 768px) {
  body .page-header h1,
  body .page-header h1.h1-saisie { font-size: 1.44rem !important; }
}

.page-header {
  border-bottom: 2px solid var(--border-1) !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
}

/* 5. NAVBAR ------------------------------------------------- */
/* sticky sur <header role="banner"> (enfant direct de body) : le sticky */
/* sur .navbar seul échouait car header n'est que hauteur du navbar.     */
header[role="banner"] {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
}
.navbar {
  background: transparent !important;
  background-image: none !important;
  background-color: var(--pf-nav-bg-mix, transparent) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--pf-table-header) 25%, transparent) !important;
  text-shadow: none !important;
  border-bottom: none !important;
  position: relative !important;
  top: auto !important;
}
.navbar-brand a   { color: var(--navy-900) !important; text-shadow: none !important; }
.navbar-player-name { color: var(--navy-600) !important; text-shadow: none !important; }

/* Burger menu : icône noire sur fond clair */
#menu-toggle svg rect { fill: var(--pf-burger) !important; }

/* Logo −40% */
#navbar-logo img {
  height: 34px !important;
  width: auto !important;
  max-width: none !important;
}
@media (max-width: 768px) {
  #navbar-logo img {
    height: auto !important;
    max-height: 31px !important;
    width: auto !important;
    max-width: calc(100vw - 128px) !important;
  }
}

/* Mobile : nom joueur sous le logo, centré */
@media (max-width: 768px) {
  .navbar-player-name,
  .u-1d61f066 {
    display: block !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    color: var(--navy-600) !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: calc(100vw - 110px) !important;
    line-height: 1 !important;
    margin-top: 1px !important;
  }
}

/* Desktop : logo + nom joueur côte à côte */
@media (min-width: 769px) {
  .u-c96eff4e {
    flex-direction: row !important;
    gap: 16px !important;
    align-items: center !important;
  }
  .navbar-player-name,
  .u-1d61f066 {
    margin-top: 0 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--navy-600) !important;
    white-space: nowrap !important;
  }
}

/* Badge DEV */
.pf-dev-badge {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  margin-left: 0 !important;
  font-family: var(--font-mono) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--azur-400) !important;
  -webkit-text-stroke: 0 !important;
  background: color-mix(in srgb, var(--accent) 10%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent) !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
@media (max-width: 768px) {
  .pf-dev-badge {
    font-size: 0.50rem !important;
    padding: 2px 3px !important;
    letter-spacing: 0.02em !important;
  }
}

/* Dock desktop — thème Vanilla : navbar crème → texte navy lisible (ratio navy-700 ≈ 12:1 sur crème ✓) */
.dock-item {
  color: var(--navy-700) !important;
  font-family: var(--font-body) !important;
  text-shadow: none !important;
}
.dock-item:hover { color: var(--azur-600) !important; }
.dock-item.active,
.dock-item[aria-current="page"] { color: var(--azur-600) !important; }
.dock-item.dock-alert { color: var(--brick-500) !important; }
.dock-label {
  background: rgba(0,0,0,.78) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  color-scheme: dark;
  border: none !important;
  text-shadow: none !important;
  font-family: var(--font-body) !important;
  opacity: 1 !important;
  z-index: 9999 !important;
  transform: translateX(-50%) scale(0) !important;
  -webkit-transform: translateX(-50%) scale(0) !important;
  transition: transform .15s ease !important;
  -webkit-transition: -webkit-transform .15s ease !important;
}
.dock-item:hover .dock-label {
  transform: translateX(-50%) scale(1) !important;
  -webkit-transform: translateX(-50%) scale(1) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* 6. SIDEBAR (mobile drawer + desktop) --------------------- */
#menu-sidebar,
.sidebar {
  background: var(--cream-panel) !important;
  border-right: 1px solid color-mix(in srgb, var(--pf-table-header) 40%, transparent) !important;
  box-shadow: 4px 0 24px color-mix(in srgb, var(--pf-table-header) 35%, transparent) !important;
}

/* Section titles (eyebrow) */
.sidebar-section,
.nav-section-title {
  font-family: var(--font-mono) !important;
  font-size: 0.625rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  color: var(--navy-500) !important;
  font-weight: 500 !important;
}

/* Liens sidebar */
.sidebar-link,
.nav-item {
  color: var(--navy-800) !important;
  font-family: var(--font-body) !important;
  text-shadow: none !important;
  border-radius: 8px !important;
}
.sidebar-link:hover,
.nav-item:hover {
  background: color-mix(in srgb, var(--pf-table-header) 35%, transparent) !important;
  color: var(--navy-900) !important;
}

/* Item ACTIF → fond azur translucide + texte azur-700 */
.sidebar-link.active,
.nav-item.active {
  background: color-mix(in srgb, var(--accent) 12%, transparent) !important;
  color: var(--azur-700) !important;
  font-weight: 700 !important;
}
.sidebar-link.active .sidebar-icon,
.nav-item.active .icon {
  filter: none !important;
  color: var(--azur-700) !important;
}

/* Icônes sidebar */
.sidebar-icon {
  color: var(--navy-500) !important;
  filter: none !important;
}
.sidebar-link:hover .sidebar-icon {
  color: var(--navy-900) !important;
}

/* Séparateurs */
.sidebar-sep,
hr.sidebar-sep {
  border-color: color-mix(in srgb, var(--pf-table-header) 50%, transparent) !important;
}

/* Header sidebar : bloc supérieur bleu → crème très foncé */
#menu-sidebar .u-01bc2bc3 {
  background: var(--pf-table-header) !important;
}
/* Bouton nom joueur : vert → crème */
#menu-sidebar .u-7ba901b4 {
  background: var(--cream-dark) !important;
  color: var(--navy-900) !important;
  border: 1px solid color-mix(in srgb, var(--pf-table-header) 40%, transparent) !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
#menu-sidebar .u-7ba901b4 * {
  color: var(--navy-900) !important;
  text-shadow: none !important;
}

/* Header sidebar (nom joueur / close) */
#menu-sidebar [data-click="closeMenu"] {
  color: var(--navy-800) !important;
  text-shadow: none !important;
  font-family: var(--font-body) !important;
}
/* Version info bas sidebar */
#menu-sidebar [class*="u-cdf005b8"],
#menu-sidebar [class*="u-ad1d2cb1"] {
  color: var(--navy-400) !important;
}

/* Footer sidebar (avatar + nom + hcp) */
.sidebar .footer,
#menu-sidebar .sidebar-footer {
  background: var(--cream-dark) !important;
  border: 1px solid color-mix(in srgb, var(--pf-table-header) 50%, transparent) !important;
}

/* 7. BOTTOM-NAV MOBILE -------------------------------------- */
#bottom-nav {
  background: transparent !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-top: 1px solid color-mix(in srgb, var(--pf-table-header) 40%, transparent) !important;
}
#bottom-nav a, #bottom-nav button {
  color: var(--navy-600) !important;
  text-shadow: none !important;
  font-family: var(--font-body) !important;
}
#bottom-nav a.active, #bottom-nav button.active,
#bottom-nav a[aria-current], #bottom-nav a.bnav-active {
  color: var(--azur-700) !important;
}
.bnav-active::before { background: var(--pf-bnav-dot) !important; }
#bottom-nav * { text-shadow: none !important; }

/* 8. CONTAINER / MAIN --------------------------------------- */
.container { background: transparent !important; }
main.container { color: var(--navy-900) !important; }

/* Texte général */
body { color: var(--navy-900) !important; }
p, li, span, td, th, label { color: inherit; }

/* 9. CARDS -------------------------------------------------- */
.card {
  background: color-mix(in srgb, var(--surface-1) 65%, transparent) !important;
  backdrop-filter: blur(8px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(8px) saturate(1.3) !important;
  color: var(--navy-900) !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--surface-inv) 10%, transparent), 0 0 0 1px color-mix(in srgb, var(--surface-inv) 7%, transparent) !important;
}

.card-title {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--navy-900) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  paint-order: normal !important;
  border-bottom: 1px solid var(--border-1) !important;
}

/* 10. BOUTONS ----------------------------------------------- */
.btn {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  border-radius: var(--r-pill) !important;
  text-shadow: none !important;
  letter-spacing: var(--ls-tight) !important;
  transition: background var(--dur-fast) var(--ease-out), transform 120ms !important;
}
@media (hover: hover) {
  .btn:hover { outline: none !important; }
}
.btn:active { transform: scale(0.97) !important; }

/* CTA principal : forest-500 */
.btn-primary {
  background: var(--forest-500) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.btn-primary:hover { background: var(--forest-600) !important; }

/* Danger */
.btn-danger {
  background: var(--brick-500) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.btn-danger:hover { background: var(--brick-600) !important; }

/* Secondaire : navy-100 fond, navy-700 texte */
.btn-secondary {
  background: var(--navy-100) !important;
  color: var(--navy-700) !important;
  border: none !important;
  box-shadow: none !important;
}
.btn-secondary:hover { background: var(--navy-200) !important; }

/* Outline / ghost */
.btn-outline,
.btn-ghost {
  background: transparent !important;
  color: var(--navy-700) !important;
  border: 1.5px solid var(--navy-300) !important;
  box-shadow: none !important;
}
.btn-outline:hover,
.btn-ghost:hover {
  background: var(--mint-50) !important;
  border-color: var(--navy-400) !important;
}

/* Succès */
.btn-success {
  background: var(--green-500) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.btn-success:hover { background: var(--green-700) !important; }

/* Caddie : brick */
.btn-caddie {
  background: var(--brick-500) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.btn-caddie:hover { background: var(--brick-600) !important; }

/* Bouton LIME → remappé azur en mode clair */
.btn-lime,
.btn-accent {
  background: var(--azur-500) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.btn-lime:hover,
.btn-accent:hover {
  background: var(--azur-600) !important;
}

/* Bouton retour (flèche seule) */
.btn.btn-secondary:has(>.btn-arrow:only-child),
.btn.btn-secondary:has(>svg:only-child),
.btn.btn-back-svg {
  background: var(--pf-table-header) !important;
  border: none !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25) !important;
  color: #fff !important;
  padding: 5px 8px !important;
  border-radius: 8px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  aspect-ratio: auto !important;
}
.btn.btn-secondary:has(>.btn-arrow:only-child):hover,
.btn.btn-secondary:has(>svg:only-child):hover,
.btn.btn-back-svg:hover {
  background: var(--pf-table-header-hover) !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.30) !important;
}

/* États ok/nok (parcours) — 10%/8% opacity trop pâle sur fond crème */
.edit-state-ok  {
  background: var(--green-100) !important;
  border-color: var(--green-600) !important;
  color: var(--green-700) !important;
}
.edit-state-nok {
  background: color-mix(in srgb, var(--danger) 18%, transparent) !important;
  border-color: var(--brick-500) !important;
  color: var(--brick-600) !important;
}

/* Ghost white (ancien glassmorphism) */
.btn-ghost-white,
[style*="background:rgba(255,255,255"] {
  background: var(--mint-100) !important;
  color: var(--navy-700) !important;
  border-color: var(--navy-200) !important;
}

/* 11. TABLES ----------------------------------------------- */
table th {
  background: var(--pf-table-header) !important;
  color: #fff !important;
  font-family: var(--font-mono) !important;
  font-size: 0.70rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  font-weight: 600 !important;
  border-bottom: 2px solid color-mix(in srgb, var(--pf-table-header) 50%, transparent) !important;
}
table td {
  background: var(--surface-2) !important;
  color: var(--fg-1) !important;
  border-bottom: 1px solid var(--border-2) !important;
}
table tr:not(.no-hover):nth-child(2n) td {
  background: var(--pf-row-stripe) !important;
}
table tr:not(.no-hover):hover td {
  background: color-mix(in srgb, var(--forest-500) 8%, transparent) !important;
}
/* Ligne total compétition */
tr.u-c34894aa,
tr.u-c34894aa td {
  background: var(--forest-700) !important;
  color: #fff !important;
}
tr.u-c34894aa td .total-caption { color: rgba(255,255,255,0.7) !important; }

/* 12. FORMULAIRES ------------------------------------------ */
.form-group label {
  font-family: var(--font-mono) !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  color: var(--navy-500) !important;
  font-weight: 500 !important;
}
.form-group input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.form-group select,
.form-group textarea {
  border-radius: 10px !important;
  border: 1px solid var(--navy-200) !important;
  background: var(--surface-2,#fff) !important;
  color: var(--navy-900) !important;
  font-family: var(--font-body) !important;
}
.form-group input::placeholder,
.form-group textarea::placeholder {
  color: var(--navy-400) !important;
  opacity: 1 !important;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--azur-500) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent) !important;
  outline: none !important;
}

/* Selects et date pickers généraux */
body select,
body .u-7c88cc16,
body .u-7c88cc16 select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234E5E80' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 12px 8px !important;
  padding-right: 28px !important;
  color: var(--navy-900) !important;
  border: 1px solid var(--navy-200) !important;
  border-radius: 8px !important;
}
body select:focus,
body .u-7c88cc16:focus {
  border-color: var(--azur-500) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent) !important;
  outline: none !important;
}
body input[type="date"],
body input[type="text"],
body input[type="email"],
body input[type="password"] {
  background-color: #fff !important;
  color: var(--navy-900) !important;
  border: 1px solid var(--navy-200) !important;
  border-radius: 8px !important;
}
body input[type="date"]:focus,
body input[type="text"]:focus,
body input[type="email"]:focus,
body input[type="password"]:focus {
  border-color: var(--azur-500) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent) !important;
  outline: none !important;
}
/* Option colors */
body select option {
  background-color: #fff !important;
  color: var(--navy-900) !important;
}

/* 13. STATS PAGES — grands chiffres / labels eyebrow -------- */
.stat-value,
.stat-number,
.score-value,
.big-number,
.stat-hero {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: var(--ls-display) !important;
  color: var(--navy-900) !important;
}

.stat-label,
.stat-unit,
.eyebrow {
  font-family: var(--font-mono) !important;
  font-size: 0.70rem !important;
  text-transform: uppercase !important;
  letter-spacing: var(--ls-eyebrow) !important;
  color: var(--navy-500) !important;
}

/* Stat card */
.stat-card {
  background: var(--cream-panel) !important;
  border: 1px solid var(--border-1) !important;
  color: var(--navy-900) !important;
}
.stat-card:hover {
  border-color: color-mix(in srgb, var(--accent) 35%, transparent) !important;
}

/* Delta positif / négatif */
.stat-delta       { color: var(--green-500) !important; }
.stat-delta.neg   { color: var(--brick-500) !important; }

/* 14. CADDIE / COACH BLOCK (inversé : navy sur fond clair) -- */
.coach,
.caddie-block,
.pf-coach-block {
  background: var(--navy-900) !important;
  color: var(--cream-panel) !important;
  border-radius: 16px !important;
}
.coach .eyebrow,
.caddie-block .eyebrow {
  color: rgba(251,249,243,0.65) !important;
}
.coach .body,
.caddie-block .body {
  color: var(--cream-panel) !important;
}
.coach .body em,
.caddie-block em {
  background: var(--azur-500) !important;
  color: #fff !important;
}
/* CTA dans le caddie block : azur sur fond navy */
.coach .cta {
  background: var(--azur-500) !important;
  color: #fff !important;
}

/* 15. NAVIGATION STATS / COACH
   Utilise body + :not(.active) pour surpasser .btn-primary !important (0,1,0) */
body .stats-nav a:not(.active),
body .coach-nav a:not(.active) {
  background: var(--mint-100) !important;
  color: var(--navy-600) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
body .stats-nav a.active,
body .coach-nav a.active {
  background: var(--azur-700) !important;   /* azur-500 = 3.65:1 < 4.5 ; azur-700 = 6.9:1 ✓ */
  color: #fff !important;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--accent) 30%, transparent) !important;
}
/* Outline active retirée — remplacée par le background azur */
body .stats-nav a[data-style] {
  outline: none !important;
}

/* Bandeau info filtres */
.u-f2aa9cec {
  background: var(--cream-panel) !important;
  color: var(--navy-700) !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--surface-inv) 7%, transparent) !important;
}
.u-f2aa9cec a { color: var(--azur-600) !important; }

/* Boutons dashboard actions */
.dashboard-action-btn {
  background: var(--mint-100) !important;
  color: var(--navy-700) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}
.dashboard-action-btn:hover {
  background: var(--navy-100) !important;
}

/* 16. SCORES / BADGES -------------------------------------- */
/* Couleurs sémantiques golf */
.sb-eagle  { background: var(--paper-300) !important; color: var(--navy-900) !important; }
.sb-birdie { background: var(--green-500) !important; color: #fff !important; }
.sb-par    { background: var(--navy-200) !important; color: var(--navy-700) !important; }
.sb-bogey  { background: transparent !important; color: var(--navy-700) !important; border: 1.5px solid var(--navy-300) !important; }
.sb-double { background: var(--brick-500) !important; color: #fff !important; }

/* Score total */
.text-score-total { color: var(--navy-900) !important; }

/* 17. ALERTES ---------------------------------------------- */
.alert-success {
  background: color-mix(in srgb, var(--success) 10%, transparent) !important;
  color: var(--green-600) !important;
  border-color: color-mix(in srgb, var(--success) 30%, transparent) !important;
}
.alert-error {
  background: color-mix(in srgb, var(--danger) 8%, transparent) !important;
  color: var(--brick-600) !important;
  border-color: color-mix(in srgb, var(--danger) 25%, transparent) !important;
}

/* 18. FILTRES STATS ---------------------------------------- */
.stats-filters select,
.stats-filters input[type="date"],
.stats-filters input[type="text"] {
  background: var(--surface-2,#fff) !important;
  color: var(--navy-900) !important;
  border-color: var(--navy-200) !important;
}
body .stats-filters label,
body .stats-filters .form-group label {
  color: var(--navy-500) !important;
}
.filters-card .btn-secondary {
  background: var(--mint-100) !important;
  color: var(--navy-700) !important;
  border-color: var(--navy-200) !important;
}

/* 19. CARTE JOUEUR (player card) --------------------------- */
.u-9a0bd1e2 {
  background: linear-gradient(to bottom, var(--pf-golfer-card) 0%, #ffffff 100%) !important;
  color: var(--navy-900) !important;
}
.pf-player-card-chip {
  border-left-color: var(--navy-200) !important;
}
body.pf-theme-vanilla .pf-player-card-last > div { font-size: 0.85rem !important; font-weight: 700 !important; }
body.pf-theme-vanilla .pf-player-card-last .pf-pcl-date { color: var(--azur-700) !important; font-weight: 700 !important; }
/* var() non supporté dans :visited (restriction sécurité navigateur) → valeur directe obligatoire */
body.pf-theme-vanilla .pf-player-card-last .pf-pcl-date:visited { color: #1A5688 !important; }
body.pf-theme-vanilla .pf-player-card-last .pf-pcl-sep {
  color: var(--pf-season-sep) !important; padding: 0 0.45em !important; font-weight: 700 !important;
}
body.pf-theme-vanilla .pf-player-card-last .pf-pcl-course {
  color: var(--pf-season-sep) !important; font-weight: 700 !important;
}
body.pf-theme-vanilla .pf-player-card-last .pf-pcl-score {
  color: var(--brick-700) !important; font-weight: 700 !important;
}

/* Labels filtres stats */
body .stats-filters label,
body .stats-filters .form-group label {
  color: var(--navy-500) !important;
}

/* 20. HOVER UTILITIES -------------------------------------- */
.pf-hover-blue-border:hover              { border-color: var(--azur-500) !important; }
.pf-hover-blue-border[data-selected="1"] { border-color: var(--azur-500) !important; }
.pf-hover-bg-lightblue:hover             { background: var(--mint-100) !important; }
.pf-hover-bg-lightgrey:hover             { background: var(--mint-50) !important; }
.pf-hover-bg-authbtn:hover               { background: color-mix(in srgb, var(--accent) 12%, transparent) !important; }
.pf-hover-defi-card:hover {
  outline: 4px solid var(--azur-500) !important;
  filter: brightness(1.18) !important;
}

/* Bandeau défi : gradient thème (var --pf-defi-start/end) + texte blanc */
.u-f56f7981 {
  background: linear-gradient(135deg, var(--pf-defi-start) 0%, var(--pf-defi-end) 100%) !important;
  color: #fff !important;
}
.u-f56f7981 .u-f7b9a364,
.u-f56f7981 .u-cb94001d,
.u-f56f7981 .u-7c2da558 {
  color: #fff !important;
}

/* Carte golfeur + bloc info joueur coach : crème moyen unifié */
.u-03044366,
.u-ca01089d {
  background: var(--pf-golfer-card) !important;
}
/* Séparateur "·" de la ligne dernière partie : visible sur var(--pf-golfer-card) */
.u-ca01089d .pf-pcl-sep {
  color: rgba(255,255,255,0.6) !important;
}
/* Sous-titre golfeur (rgba blanc 70%) : plus opaque pour rester lisible sur var(--pf-table-header) */
.u-03044366 .u-c8f32574 {
  color: rgba(255,255,255,0.88) !important;
}
/* Boutons action : même fond que les cartes golfeur */
.golfer-card-actions .btn-secondary {
  background: var(--pf-golfer-card) !important;
  color: #fff !important;
  border: none !important;
}
.golfer-card-actions .btn-secondary:hover {
  background: var(--pf-golfer-card-hover) !important;
}

/* 21. TOGGLE CHECKBOX -------------------------------------- */
input[type="checkbox"][data-pf-toggle] {
  background: var(--navy-200) !important;
}
input[type="checkbox"][data-pf-toggle]:checked {
  background: var(--azur-500) !important;
}

/* 22. MODALE ----------------------------------------------- */
.pf-modal-title       { color: var(--navy-900) !important; }
.pf-modal-btn-primary { background: var(--forest-500) !important; color: #fff !important; }
.cmp-modal-recap { color: var(--forest-600) !important; border-color: var(--forest-500) !important; }
.pf-modal-btn-success { background: var(--green-500) !important; color: #fff !important; }
.pf-modal-btn-danger  { background: var(--brick-500) !important; color: #fff !important; }

/* 23. FOOTER ----------------------------------------------- */
.footer,
.site-footer {
  background: transparent !important;
  background-image: none !important;
  color: var(--navy-600) !important;
  border-top: 1px solid color-mix(in srgb, var(--pf-table-header) 40%, transparent) !important;
  opacity: 1 !important;
}
.footer a,
.site-footer a { color: var(--pf-footer-link) !important; }
.footer,
.site-footer { color: var(--pf-footer-text) !important; }
.footer *,
.site-footer * { text-shadow: none !important; }

/* 24. BANDEAU IMPERSONATION -------------------------------- */
.pf-impersonate-banner { background: var(--brick-600) !important; }

/* 25. GRAPHIQUES (Chart.js) -------------------------------- */
canvas {
  background: var(--surface-2) !important;
  border-radius: 8px !important;
}
.synth-ext-placeholder canvas {
  background: var(--surface-2) !important;
}
.synth-ext-placeholder > .card + .card {
  border-top: 3px solid color-mix(in srgb, var(--accent) 25%, transparent) !important;
}

/* 26. FOCUS VISIBLE ---------------------------------------- */
:focus-visible {
  outline: 2px solid var(--azur-500) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent) !important;
  border-radius: var(--r-sm) !important;
}

/* 27. SLOGAN / DIVERS TEXTES ------------------------------- */
.u-058499bb {
  color: var(--navy-500) !important;
  text-shadow: none !important;
}

/* ============================================================
   28. PAGE D'AUTH (login, register, etc.)
   body.pf-theme-vanilla — fond crème, auth-box blanc
   ============================================================ */
body.pf-theme-vanilla {
  background-color: var(--cream-page) !important;
}
body.pf-theme-vanilla::before { display: block !important; background: color-mix(in srgb, var(--cream-page) 75%, transparent) !important; }

/* Auth-box standalone : fond blanc, shadow douce, border-top azur */
body.pf-theme-vanilla .auth-box {
  background: var(--surface-2,#fff) !important;
  border-radius: 20px !important;
  box-shadow: 0 4px 32px color-mix(in srgb, var(--surface-inv) 12%, transparent) !important;
  border-top: 3px solid var(--azur-500) !important;
}

/* Textes dans l'auth-box */
body.pf-theme-vanilla .auth-box,
body.pf-theme-vanilla .auth-box p,
body.pf-theme-vanilla .auth-box h1,
body.pf-theme-vanilla .auth-box a:not(.btn),
body.pf-theme-vanilla .auth-box label,
body.pf-theme-vanilla .auth-box .form-group label {
  color: var(--navy-700) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

/* Champs de saisie auth */
body.pf-theme-vanilla .auth-box input[type="email"],
body.pf-theme-vanilla .auth-box input[type="password"],
body.pf-theme-vanilla .auth-box input[type="text"] {
  background: var(--surface-2,#fff) !important;
  border: 1.5px solid var(--navy-200) !important;
  color: var(--navy-900) !important;
  border-radius: 10px !important;
}
body.pf-theme-vanilla .auth-box input[type="email"]:focus,
body.pf-theme-vanilla .auth-box input[type="password"]:focus,
body.pf-theme-vanilla .auth-box input[type="text"]:focus {
  border-color: var(--azur-500) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent) !important;
}
body.pf-theme-vanilla .auth-box input::placeholder {
  color: var(--navy-400) !important;
  opacity: 1 !important;
}

/* Bouton connexion : azur-500 */
body.pf-theme-vanilla .auth-box .btn-primary,
body.pf-theme-vanilla .landing-auth .btn-primary {
  background: var(--azur-500) !important;
  color: #fff !important;
  font-weight: 700 !important;
  border: none !important;
}
body.pf-theme-vanilla .auth-box .btn-primary:hover,
body.pf-theme-vanilla .landing-auth .btn-primary:hover {
  background: var(--azur-600) !important;
}

/* Lien "Mot de passe oublié / Créer un compte" */
body.pf-theme-vanilla .auth-box a {
  color: var(--azur-600) !important;
}

/* Encart démo */
body.pf-theme-vanilla .auth-box .u-7cd6f0c4 {
  background: color-mix(in srgb, var(--accent) 7%, transparent) !important;
  border-color: color-mix(in srgb, var(--accent) 25%, transparent) !important;
  color: var(--navy-700) !important;
}
body.pf-theme-vanilla .auth-box .u-7cd6f0c4 strong {
  color: var(--azur-600) !important;
}

/* Bouton "En savoir +" */
body.pf-theme-vanilla .auth-box .u-cf99958b {
  background: color-mix(in srgb, var(--accent) 10%, transparent) !important;
  border-color: color-mix(in srgb, var(--accent) 30%, transparent) !important;
  color: var(--azur-600) !important;
}

/* Footer page auth uniquement (landing-auth) */
body.pf-theme-vanilla .landing-auth .footer,
body.pf-theme-vanilla .landing-auth footer {
  color: var(--navy-400) !important;
  background: transparent !important;
}

/* Slogan sous le logo */
body.pf-theme-vanilla .auth-box .auth-logo p,
body.pf-theme-vanilla .u-058499bb {
  color: var(--navy-500) !important;
  text-align: center !important;
  text-shadow: none !important;
}

/* Logo auth */
body.pf-theme-vanilla .auth-logo {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
}
body.pf-theme-vanilla .auth-logo img {
  width: 100% !important;
  max-width: 300px !important;
  height: auto !important;
  display: block !important;
  margin: 0 0 12px !important;
}
@media (min-width: 769px) {
  body.pf-theme-vanilla .auth-logo img {
    max-width: 380px !important;
  }
}

/* ============================================================
   29. PAGE LOGIN — SPLIT-COLUMN (Design System V3)
   Gauche : NAVY fond sombre, texte crème/blanc
   Droite : crème, formulaire blanc
   ============================================================ */

/* Wrapper landing */
body.pf-theme-vanilla .landing-wrapper {
  max-width: none !important;
  padding: 0 !important;
  gap: 0 !important;
  min-height: 100vh !important;
  align-items: stretch !important;
}
body.pf-theme-vanilla.landing-mode {
  padding-top: 0 !important;
  align-items: stretch !important;
  background: var(--cream-page) !important;
}

/* COLONNE GAUCHE (hero) : fond navy-900, texte blanc/crème */
body.pf-theme-vanilla .landing-hero {
  background: var(--navy-900) !important;
  padding: 56px 48px !important;
  text-align: left !important;
  color: #fff !important;
  position: relative !important;
  overflow: hidden !important;
}
body.pf-theme-vanilla .landing-hero,
body.pf-theme-vanilla .landing-hero h1,
body.pf-theme-vanilla .landing-hero h2,
body.pf-theme-vanilla .landing-hero p {
  color: #fff !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

/* Cercle décoratif azur — haut-gauche */
body.pf-theme-vanilla .landing-hero::before {
  content: "" !important;
  position: absolute !important;
  left: -70px !important;
  top: 15% !important;
  width: 260px !important;
  height: 260px !important;
  background: color-mix(in srgb, var(--accent) 18%, transparent) !important;
  border-radius: 50% !important;
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Cercle décoratif navy plus sombre — bas-droite */
body.pf-theme-vanilla .landing-hero::after {
  content: "" !important;
  position: absolute !important;
  right: -100px !important;
  bottom: -100px !important;
  width: 460px !important;
  height: 460px !important;
  background: var(--navy-800) !important;
  border-radius: 50% !important;
  opacity: 0.60 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Contenu hero au-dessus des cercles */
body.pf-theme-vanilla .landing-hero > * {
  position: relative !important;
  z-index: 1 !important;
}

/* H1 hero : Barlow Condensed XL */
body.pf-theme-vanilla .landing-hero h1 {
  font-family: var(--font-display) !important;
  font-size: 3.2rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  line-height: 1.05 !important;
  margin-bottom: 24px !important;
  letter-spacing: var(--ls-display) !important;
}
body.pf-theme-vanilla .landing-hero h1 span {
  color: var(--azur-400) !important;
}

/* Chiffres clés hero */
body.pf-theme-vanilla .landing-hero .landing-stat strong {
  color: #fff !important;
  font-family: var(--font-display) !important;
  text-shadow: none !important;
}
body.pf-theme-vanilla .landing-hero .landing-stat span {
  color: rgba(255,255,255,0.65) !important;
}

/* Feature cards dans le hero */
body.pf-theme-vanilla .landing-feature {
  background: rgba(255,255,255,0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  box-shadow: none !important;
}
body.pf-theme-vanilla .landing-feature strong { color: #fff !important; }
body.pf-theme-vanilla .landing-feature span   { color: rgba(255,255,255,0.70) !important; }

/* Bloc SEO */
body.pf-theme-vanilla .landing-seo-block {
  background: rgba(255,255,255,0.06) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 12px !important;
}
body.pf-theme-vanilla .landing-seo-block,
body.pf-theme-vanilla .landing-seo-block h2,
body.pf-theme-vanilla .landing-seo-block p {
  color: rgba(255,255,255,0.82) !important;
  text-shadow: none !important;
}

/* COLONNE DROITE (auth) : fond crème avec auth-box blanc */
body.pf-theme-vanilla .landing-auth {
  flex: 0 0 440px !important;
  background: var(--cream-page) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 56px 48px !important;
}

/* Auth-box dans landing : fond blanc discret */
body.pf-theme-vanilla .landing-auth .auth-box {
  background: var(--surface-2,#fff) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 2px 16px color-mix(in srgb, var(--surface-inv) 10%, transparent) !important;
  border: 1px solid var(--border-1) !important;
  border-top: 3px solid var(--azur-500) !important;
  border-radius: 16px !important;
  max-width: 380px !important;
  width: 100% !important;
  padding: 32px !important;
}

/* Auth-box standalone (register, forgot-password) */
body.pf-theme-vanilla:not(.landing-mode) .auth-box {
  background: var(--surface-2,#fff) !important;
  border-top: 3px solid var(--azur-500) !important;
  box-shadow: 0 4px 32px color-mix(in srgb, var(--surface-inv) 12%, transparent) !important;
}

/* Liens footer colonne droite */
body.pf-theme-vanilla .landing-auth .auth-footer { color: var(--navy-500) !important; }
body.pf-theme-vanilla .landing-auth .auth-footer a { color: var(--azur-600) !important; }

/* Logo colonne droite */
body.pf-theme-vanilla .landing-auth .auth-logo img {
  max-width: 300px !important;
  margin: 0 0 8px !important;
}
body.pf-theme-vanilla .landing-auth .u-058499bb {
  color: var(--navy-500) !important;
  text-align: left !important;
  font-size: 0.95rem !important;
}

/* Encart démo colonne droite */
body.pf-theme-vanilla .landing-auth .u-7cd6f0c4 {
  background: color-mix(in srgb, var(--accent) 7%, transparent) !important;
  border-color: color-mix(in srgb, var(--accent) 25%, transparent) !important;
  color: var(--navy-700) !important;
}
body.pf-theme-vanilla .landing-auth .u-7cd6f0c4 strong {
  color: var(--azur-600) !important;
}

/* Bouton "En savoir +" colonne droite */
body.pf-theme-vanilla .landing-auth .u-cf99958b {
  background: color-mix(in srgb, var(--accent) 10%, transparent) !important;
  border-color: color-mix(in srgb, var(--accent) 30%, transparent) !important;
  color: var(--azur-600) !important;
}

/* Tablet 769-900px */
@media (min-width: 769px) and (max-width: 900px) {
  body.pf-theme-vanilla .landing-auth {
    flex: 1 1 auto !important;
    padding: 40px 32px !important;
  }
  body.pf-theme-vanilla .landing-hero {
    padding: 40px 32px !important;
  }
  body.pf-theme-vanilla .landing-hero h1 {
    font-size: 2.4rem !important;
  }
}

/* Mobile ≤768px : hero masqué → seule colonne auth visible */
@media (max-width: 768px) {
  body.pf-theme-vanilla.landing-mode {
    background: var(--cream-page) !important;
    align-items: flex-start !important;
  }
  body.pf-theme-vanilla .landing-wrapper {
    min-height: 100vh !important;
    align-items: stretch !important;
    flex-direction: column !important;
  }
  body.pf-theme-vanilla .landing-hero {
    display: none !important;
  }
  body.pf-theme-vanilla .landing-auth {
    flex: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: unset !important;
    padding: 0 !important;
    background: var(--cream-page) !important;
  }
  body.pf-theme-vanilla .landing-auth .auth-box {
    max-width: 420px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 10px 20px 20px !important;
    box-shadow: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    border-top: 3px solid var(--azur-500) !important;
  }
  body.pf-theme-vanilla .landing-auth .auth-logo img {
    max-width: 250px !important;
  }
}

/* ============================================================
   30. PAGES DE SAISIE (trou_direct, trou_simplifie)
   Fond surface-2 (#fff) ou crème, palette clair.
   ============================================================ */

/* Étiquettes live */
.live-label { color: var(--navy-500) !important; }

/* Shot cards */
.shot-card {
  background: var(--surface-2) !important;
  border: 2px solid var(--navy-200) !important;
  color: var(--navy-900) !important;
}
.shot-card.complete {
  background: var(--green-50) !important;
  border: 2px solid var(--green-500) !important;
}
.shot-card .shot-label,
.shot-card.complete .shot-label {
  color: var(--navy-700) !important;
}

/* Numpad */
.numpad-btn {
  background: var(--mint-100) !important;
  color: var(--navy-900) !important;
}
.numpad-btn:active {
  background: var(--navy-100) !important;
}
.numpad-btn.done {
  background: var(--green-500) !important;
  color: #fff !important;
}
.numpad-btn.done:active {
  background: var(--green-700) !important;
}
.numpad-display {
  color: var(--navy-900) !important;
  background: var(--surface-2) !important;
}

/* Sélecteur de club */
.csel-arr              { color: var(--azur-500) !important; }
.dist-input:focus      { border-color: var(--azur-500) !important; }
.scroll-hint span      { color: var(--navy-400) !important; }
.csel-grid-opt.active  {
  background: color-mix(in srgb, var(--accent) 12%, transparent) !important;
  border-color: var(--azur-500) !important;
}
.csel-popup-opt.active { background: color-mix(in srgb, var(--accent) 10%, transparent) !important; }
.csel-grid-opt.active .csel-grid-loft { color: var(--azur-500) !important; }

/* ============================================================
   31. SYNTHÈSE — blocs chargés en AJAX
   ============================================================ */
.synth-ext-placeholder {
  background: transparent !important;
}

/* ============================================================
   32. PILL / SCORE BADGES
   ============================================================ */
.pill {
  font-family: var(--font-mono) !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
}

/* ============================================================
   33. PROGRESS BAR
   ============================================================ */
.progress-bar {
  background: var(--navy-100) !important;
}
.progress-bar .fill {
  background: var(--azur-500) !important;
}

/* ============================================================
   34. SCORE KEYS (saisie simplifiée)
   ============================================================ */
.score-key {
  background: var(--cream-panel) !important;
  color: var(--navy-700) !important;
  border-color: var(--navy-200) !important;
}
.score-key:hover {
  background: var(--mint-100) !important;
}
.score-key.selected {
  background: var(--azur-500) !important;
  color: #fff !important;
  border-color: var(--azur-500) !important;
}

/* ============================================================
   35. TOGGLE ROW (options saisie)
   ============================================================ */
.toggle-row .opt {
  background: var(--mint-100) !important;
  color: var(--navy-500) !important;
  border-color: var(--navy-200) !important;
}
.toggle-row .opt.on {
  background: var(--navy-900) !important;
  color: #fff !important;
  border-color: var(--navy-900) !important;
}

/* ============================================================
   36. ROUND CARD (liste des parties)
   ============================================================ */
.round-card {
  background: var(--cream-panel) !important;
  border: 1px solid var(--border-1) !important;
  color: var(--navy-900) !important;
}
.round-card:hover {
  border-color: color-mix(in srgb, var(--accent) 40%, transparent) !important;
}
.round-card .date   { color: var(--azur-600) !important; }
.round-card .course { color: var(--navy-900) !important; }
.round-card .par    { color: var(--navy-400) !important; }
.round-card .score  { color: var(--navy-900) !important; }
.round-card .score em { color: var(--brick-500) !important; }

/* ============================================================
   37. SECTION TITLES
   ============================================================ */
.section-title h2 {
  color: var(--navy-900) !important;
  font-family: var(--font-display) !important;
}
.section-title .more {
  color: var(--azur-500) !important;
}

/* ============================================================
   38. CHAT / CADDIE VIRTUEL
   ============================================================ */
.bubble.user {
  background: var(--azur-100) !important;
  color: var(--navy-900) !important;
}
.bubble.coach {
  background: var(--cream-panel) !important;
  border-color: var(--border-1) !important;
  color: var(--navy-900) !important;
}
.bubble.coach .label { color: var(--azur-600) !important; }
.composer {
  background: var(--surface-2,#fff) !important;
  border-color: var(--navy-200) !important;
}
.composer input {
  color: var(--navy-900) !important;
}
.composer input::placeholder { color: var(--navy-400) !important; }
.drill-card {
  background: var(--cream-panel) !important;
  color: var(--navy-900) !important;
  border-color: var(--border-1) !important;
}
.drill-card .name { color: var(--navy-900) !important; }
.drill-card .meta { color: var(--navy-500) !important; }

/* ============================================================
   39. TEXTES DIVERS — override inline styles
   ============================================================ */
h1, h2, h3 {
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  paint-order: normal !important;
}

/* Dock actif */
.dock-item.active,
.dock-item[aria-current="page"] {
  color: var(--azur-300) !important;
}

/* Lien dock label */
.dock-label { color: #fff !important; }

/* ============================================================
   40. PF-PICKERS — Composants custom
   ============================================================ */

/* Trigger (bouton qui remplace le <select> natif) */
.pf-trigger {
  background: var(--surface-2,#fff) !important;
  color: var(--navy-900) !important;
  border: 1px solid var(--navy-200) !important;
  border-radius: 8px !important;
}
.pf-trigger:hover {
  background: var(--mint-50) !important;
  border-color: var(--azur-500) !important;
}
.pf-trigger:focus {
  outline: 2px solid var(--azur-500) !important;
  outline-offset: 2px !important;
  border-color: var(--azur-500) !important;
}
.pf-trigger.pf-placeholder {
  color: var(--navy-400) !important;
}
.pf-trigger-value {
  color: var(--navy-900) !important;
}
.pf-trigger-arrow {
  color: var(--navy-400) !important;
}

/* Picker overlay + box */
.pf-picker-overlay {
  background: color-mix(in srgb, var(--surface-inv) 40%, transparent) !important;
}
.pf-picker-box {
  background: var(--surface-2,#fff) !important;
  border: 1px solid var(--border-1) !important;
  color: var(--navy-900) !important;
  box-shadow: 0 8px 32px color-mix(in srgb, var(--surface-inv) 14%, transparent) !important;
}
.pf-picker-header {
  border-bottom-color: var(--border-1) !important;
}
.pf-picker-title {
  color: var(--azur-600) !important;
}
.pf-picker-close {
  color: var(--navy-500) !important;
}
.pf-picker-footer {
  border-top-color: var(--border-1) !important;
}

/* Select picker (liste de recherche) */
.pf-select-search {
  background: var(--mint-50) !important;
  color: var(--navy-900) !important;
  border-color: var(--navy-200) !important;
}
.pf-select-search::placeholder {
  color: var(--navy-400) !important;
}
.pf-select-list {
  background: var(--surface-2,#fff) !important;
  border-color: var(--border-1) !important;
}
.pf-select-item {
  color: var(--navy-700) !important;
  border-bottom-color: var(--border-2) !important;
}
.pf-select-item:hover {
  background: var(--mint-100) !important;
}
.pf-select-item.pf-select-current {
  background: color-mix(in srgb, var(--accent) 10%, transparent) !important;
  color: var(--azur-700) !important;
  font-weight: 700 !important;
}
.pf-select-empty {
  color: var(--navy-400) !important;
}

/* Date picker */
.pf-date-nav {
  background: var(--mint-50) !important;
  border-radius: 6px !important;
}
.pf-date-nav button {
  background: transparent !important;
  color: var(--navy-700) !important;
  border: none !important;
}
.pf-date-nav button:hover {
  background: var(--mint-100) !important;
}
.pf-date-header {
  background: var(--cream-panel) !important;
  color: var(--navy-900) !important;
  font-weight: 700 !important;
}
.pf-date-day {
  background: transparent !important;
  color: var(--navy-700) !important;
  border-color: transparent !important;
}
.pf-date-day:hover {
  background: var(--mint-100) !important;
  border-color: var(--navy-200) !important;
}
.pf-date-day.pf-date-today {
  background: var(--azur-100) !important;
  font-weight: 700 !important;
  color: var(--azur-700) !important;
}
.pf-date-day.pf-date-selected {
  background: var(--azur-500) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Boutons dans le picker */
.pf-btn-primary {
  background: var(--azur-500) !important;
  color: #fff !important;
  border-color: var(--azur-700) !important;
}
.pf-btn-secondary {
  background: var(--mint-100) !important;
  color: var(--navy-700) !important;
  border-color: var(--navy-200) !important;
}

/* ============================================================
   41. COULEURS INLINE — remap data-style (texte + background)
   Mode clair : couleurs originales souvent OK, on remplace
   celles qui seraient illisibles sur fond clair.
   ============================================================ */
/* backgrounds inline clairs */
[style*="background:#1B6B2F"], [style*="background: #1B6B2F"],
[style*="background:#1b6b2f"]                               { background: var(--green-500) !important; }
[style*="background:#006747"]                               { background: var(--green-500) !important; }
/* fond #1E5C9B (navy bleu) → navy-800 : texte blanc lisible dessus (ratio 14:1) */
/* azur-500 était trop clair pour les textes existants (#888, navy-500) */
[style*="background:#1E5C9B"], [style*="background: #1E5C9B"],
[style*="background:#1e5c9b"]                               { background: var(--navy-800) !important; }
[style*="background:#CC0000"], [style*="background: #CC0000"],
[style*="background:#cc0000"]                               { background: var(--brick-500) !important; }
[style*="background:#B05000"], [style*="background: #B05000"],
[style*="background:#b05000"]                               { background: var(--paper-300) !important; }
[style*="background:#B8860B"], [style*="background:#b8860b"] { background: var(--paper-300) !important; }

/* ============================================================
   41b. COULEURS INLINE — texte (mode clair)
   ============================================================ */
[style*="color:#1B6B2F"], [style*="color: #1B6B2F"],
[style*="color:#1b6b2f"]                               { color: var(--green-600) !important; }
[style*="color:#006747"]                               { color: var(--green-600) !important; }
[style*="color:#1E5C9B"], [style*="color: #1E5C9B"],
[style*="color:#1e5c9b"]                               { color: var(--azur-700) !important; }
[style*="color:#B05000"], [style*="color: #B05000"],
[style*="color:#b05000"]                               { color: var(--paper-400) !important; }

/* ============================================================
   42. REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

/* ============================================================
   43. OVERRIDES CLASSES UTILITAIRES — conçues pour fond sombre,
       illisibles sur fond crème du thème Vanilla
   ============================================================ */

/* ── Footer : cadenas politique ── */
.footer-lock-icon {
  font-size: 1.1rem !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 0 !important;
  filter: drop-shadow(0 0 1.5px #000) drop-shadow(0 0 1.5px #000) drop-shadow(0 0 1.5px #000) !important;
}
/* ── Footer : icônes images (margin géré par gap du flex parent) ── */
.footer .footer-link-nouveautes img,
.footer .footer-link-contact img,
.site-footer .footer-link-nouveautes img,
.site-footer .footer-link-contact img {
  margin-right: 0 !important;
}
/* ── Footer : taille et couleur uniformes ── */
.footer a, .footer p,
.site-footer a, .site-footer p {
  font-size: 0.85rem !important;
  color: var(--pf-footer-text) !important;
  font-weight: 700 !important;
}

/* ── Footer icônes inline : espacement uniforme via flex ── */
.footer a,
.site-footer a {
  color: var(--pf-footer-link) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.footer .u-a1b02bb1,
.footer .u-4ec9b7e0 {
  color: var(--pf-footer-text) !important;
}

/* ── Footer layout mobile : colonne gauche à gauche, colonne droite à droite ──
   Les classes utilitaires (u-297f6db2, u-bc94eb09, u-1c2197f4) imposent
   text-align:right et color:#fff avec !important — on les corrige ici avec
   une spécificité plus élevée (.footer .xxx > .u-xxx) et un chargement plus tardif. */
.footer .footer-col-nouveautes {
  text-align: left !important;
  align-items: flex-start !important;
}
.footer .footer-grid > div:not(.footer-col-nouveautes) {
  text-align: right !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
}
@media (max-width: 768px) {
  .footer .footer-col-nouveautes {
    text-align: center !important;
    align-items: center !important;
    gap: 4px !important;
  }
  .footer .footer-grid > div:not(.footer-col-nouveautes) {
    text-align: center !important;
    align-items: center !important;
    gap: 4px !important;
  }
}
/* Couleurs blanches des utilitaires → pf-footer-text sur fond clair */
.footer .u-bc94eb09 { color: var(--pf-footer-text) !important; }
.footer .u-1c2197f4 { color: var(--pf-footer-text) !important; }
/* Fond gradient bleu sombre du footer (u-6cf8941d) déjà écrasé par .footer background:transparent */

/* ── Textes secondaires #888 / #555 → navy-500 (contraste WCAG AA) ── */
.u-2763cfbc,
.u-085a5878 {
  color: var(--navy-500) !important;
}
.u-dc7eac77 {
  color: var(--navy-500) !important;
}
.u-6b9796e4 {
  color: var(--navy-500) !important;
}
.u-8ef835ec {
  color: var(--navy-700) !important;
}

/* ── Variables score compétition : gold inaccessible sur fond clair ── */
/* Utilisées via data-style="color:var(--score-gold-text,#FFD700) !important" */
:root {
  --score-gold-text:    #7A5700;              /* dark goldenrod — 6.3:1 sur blanc ✓ */
  --score-detail-color: var(--navy-600);      /* 9.3:1 sur blanc ✓ (était navy-400 = 3.40:1) */
}

/* ── Valeurs muted #888 dans tableaux → navy-500 accessible (5.8:1 sur blanc ✓) ── */
/* .u-ba63a4e1/.u-bdc7e233/.u-c2d66eb2/.u-ee3ea4ab = color:#888 dans utilities.css = 3.54:1 */
.u-ba63a4e1 { color: var(--navy-500) !important; }
.u-bdc7e233 { color: var(--navy-500) !important; }   /* date parties/compétitions */
.u-c2d66eb2 { color: var(--navy-500) !important; }   /* date modifiée courses admin */
.u-ee3ea4ab { color: var(--navy-500) !important; }   /* distance parcours */
.u-f3f73510 { color: var(--navy-500) !important; }   /* label métrique admin (CPU/RAM…) */

/* ── Ligne total compétition : fond navy-700 sombre, texte blanc accessible ── */
/* Problème : règle stripes [0,2,3] écrase utilities [0,1,1] sur lignes paires → fond mint-50 + texte blanc = 1.07:1 */
/* Solution : même spécificité [0,2,3] APRÈS la règle stripes dans ce fichier → gagne */
table tr.u-c34894aa:nth-child(n) {
  /* Réinitialiser les variables score pour fond sombre : gold vif + détail clair */
  --score-gold-text:    #FFD700;               /* gold pur = 8.5:1 sur navy-700 ✓ */
  --score-detail-color: rgba(255,255,255,0.80); /* blanc 80% = 10:1 sur navy-700 ✓ */
}
table tr.u-c34894aa:nth-child(n) td {
  background: var(--navy-700) !important;       /* fond sombre distinctif = 12.9:1 avec #fff ✓ */
  color: #fff !important;
  border-top: 2px solid var(--navy-500) !important;
}
/* .total-caption "moy." : #cbd5e0 → navy-300 lisible sur navy-700 (5.4:1 ✓) */
tr.u-c34894aa td .total-caption { color: var(--navy-300) !important; }

/* ── Lightgreen (#90EE90) : compteur parcours + liens footer ── */
.u-48aa01e2 { color: var(--green-600) !important; text-shadow: none !important; }
.u-945108b5 { color: var(--green-600) !important; }
.u-1f69a48f { color: var(--azur-600) !important; }

/* ── Picker date placeholder : navy-400 (3.66:1) → navy-600 (9:1 sur blanc) ── */
.pf-trigger.pf-placeholder { color: var(--navy-600) !important; }
.pf-trigger-arrow          { color: var(--navy-600) !important; }

/* ── Inline styles hardcodés pour fond sombre ── */
[style*="color:#888"],  [style*="color: #888"]  { color: var(--navy-500) !important; }
[style*="color:#555"],  [style*="color: #555"]  { color: var(--navy-600) !important; }
[style*="color:#444"],  [style*="color: #444"]  { color: var(--navy-700) !important; }
[style*="color:#90EE90"],[style*="color: #90EE90"],
[style*="color:lightgreen"]                     { color: var(--green-600) !important; }
[style*="color:#FFD700"],[style*="color:#ffd700"] { color: var(--navy-700) !important; }
/* #fff/#ffffff : cibler seulement inline sans !important (inline+!important ne peut pas être surchargé) */
[style*="color:#fff;"],[style*="color: #fff;"],
[style*="color:#ffffff;"],[style*="color:#FFFFFF;"] { color: var(--navy-700) !important; }
/* Exception : fond dégradé sombre → conserver le blanc */
.u-f56f7981 [style*="color:#fff;"],.u-f56f7981 [style*="color: #fff;"],
.u-f56f7981 [style*="color:#ffffff;"],.u-f56f7981 [style*="color:#FFFFFF;"] { color: #fff !important; }
/* Exception : boutons avec texte blanc forcé en inline → conserver le blanc */
.btn[style*="color:#fff;"],.btn[style*="color: #fff;"],
.btn[style*="color:#ffffff;"],.btn[style*="color:#FFFFFF;"],
button[style*="color:#fff;"],button[style*="color: #fff;"] { color: #fff !important; }

/* ── Séparateurs de saison / section ── */
/* u-95d47e69 : gold #FFD700 + text-shadow noir (conçu pour fond sombre) → noir sur crème */
.competition-saison,
.season-separator,
.u-saison-label,
.u-95d47e69 {
  color: var(--pf-season-sep) !important;
  text-shadow: none !important;
  border-color: var(--border-strong) !important;
}

/* ── btn-danger:has(trash) : utilities.css force #ff8a8a (2.27:1) → brick-500 (5.2:1) ── */
.btn-danger:has(img[src*="trash"]) {
  background: var(--brick-500) !important;
  min-width: 44px !important;
  min-height: 44px !important;
}
@media (hover:hover) {
  .btn-danger:has(img[src*="trash"]):hover {
    background: var(--brick-600) !important;
    outline: 5px solid var(--brick-300) !important;
  }
}

/* ── Sélecteurs pf-trigger dans le footer ── */
.pf-picker-footer .pf-trigger {
  background: var(--surface-2) !important;
  color: var(--navy-700) !important;
  border-color: var(--border-1) !important;
}

/* Bandeau Défis de stats : blanc gras garanti sur tous les thèmes */
body.pf-theme-vanilla .u-f56f7981 .u-f7b9a364,
body.pf-theme-vanilla .u-f7b9a364 { color: #fff !important; font-weight: bold !important; }

/* ============================================================
   45. BOUTONS ACTION — fonte body (override font-narrow inline)
   #synth-perso-btn et .btn-new-course utilisent var(--font-narrow)
   via sélecteur ID/classe dans les vues → spécificité > .btn.
   .pf-theme-vanilla + ID/classe = spécificité gagnante.
   ============================================================ */
.pf-theme-vanilla #synth-perso-btn,
.pf-theme-vanilla .btn-new-comp,
.pf-theme-vanilla .btn-new-course {
  font-family: var(--font-body) !important;
  font-stretch: normal !important;
}

/* ============================================================
   44. SOUS-TITRE SAISIE (simplifiée / détaillée)
   Original : #FFD700 + text-stroke noir (conçu pour fond sombre)
   Vanilla : crème très très foncé, fonte body, sans contour
   ============================================================ */
.pf-theme-vanilla .saisie-subtitle {
  color: var(--pf-saisie-subtitle) !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  font-family: var(--font-body) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}

/* ============================================================
   45. PAGE CADDIE — blocs info/RGPD : fond crème foncé
   ============================================================ */
.pf-theme-vanilla .u-7ac21708,
.pf-theme-vanilla .u-3f375ec5 {
  background: var(--pf-caddie-bg) !important;
  border-left-color: var(--cream-dark) !important;
  color: var(--cream-panel) !important;
}
.pf-theme-vanilla .u-7ac21708 a,
.pf-theme-vanilla .u-3f375ec5 a,
.pf-theme-vanilla .u-7ac21708 .u-0f80716b,
.pf-theme-vanilla .u-7ac21708 .u-a19c87c1,
.pf-theme-vanilla .u-3f375ec5 .u-91f6dad2 {
  color: var(--pf-caddie-link) !important;
}
