@charset "UTF-8";
/* ==========================================================
   IPM · thème Bootstrap 5.3 · La Libre
   À charger APRÈS bootstrap.min.css. Même HTML pour toutes les
   marques : on change seulement ce fichier.
   Valeurs : fiche La Libre de la toolbox IPM Tools-Design.
   Survols et teintes douces calculés quand la fiche n'en donne pas.
   ========================================================== */
@font-face { font-family: "Manuale"; src: url("fonts/Manuale-VF.woff2") format("woff2"); font-weight: 300 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Manuale"; src: url("fonts/Manuale-Italic-VF.woff2") format("woff2"); font-weight: 300 800; font-style: italic; font-display: swap; }
@font-face { font-family: "Libre Franklin"; src: url("fonts/LibreFranklin-VF.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }

:root, [data-bs-theme="light"] {
  --ipm-brand: "lalibre";
  --ipm-font-title: "Manuale", Georgia, serif;
  --ipm-font-base: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --ipm-title-weight: 700;
  --ipm-accent-dark: #F06AA9;          /* accent lisible sur fond sombre */
  --ipm-surface-dark: #1C1C1E;   /* fond des blocs sombres (lecteur audio...) */

  --bs-primary: #AC115D; --bs-primary-rgb: 172,17,93;
  --bs-secondary: #061E4D; --bs-secondary-rgb: 6,30,77;
  --bs-warning: #F7B500; --bs-warning-rgb: 247,181,0;
  --bs-primary-text-emphasis: #5F0933;
  --bs-primary-bg-subtle: #F5E2EC;
  --bs-primary-border-subtle: #E2ACC6;
  --bs-body-font-family: var(--ipm-font-base);
  --bs-body-color: #1A1A1A; --bs-body-color-rgb: 26,26,26;
  --bs-emphasis-color: #1A1A1A;
  --bs-link-color: #AC115D; --bs-link-color-rgb: 172,17,93;
  --bs-link-hover-color: #930A4D; --bs-link-hover-color-rgb: 147,10,77;
  --bs-focus-ring-color: rgba(172,17,93,.35);
  --bs-border-radius: .25rem;
  --bs-border-radius-sm: .25rem;
  --bs-border-radius-lg: .925rem;
}
[data-bs-theme="dark"] {
  --bs-primary-text-emphasis: #F06AA9;
  --bs-primary-bg-subtle: #34051C;
  --bs-primary-border-subtle: #670A38;
  --bs-link-color: #F06AA9; --bs-link-color-rgb: 240,106,169;
  --bs-link-hover-color: #F48FBE; --bs-link-hover-color-rgb: 244,143,190;
  --bs-body-color: #E9E9EA; --bs-body-color-rgb: 233,233,234; --bs-emphasis-color: #FFFFFF;
}

/* Titres : police de titre de la marque */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
  font-family: var(--ipm-font-title); font-weight: var(--ipm-title-weight);
}

/* Boutons : Bootstrap les compile en bleu, il faut les redéfinir */
.btn-primary {
  --bs-btn-color: #FFFFFF; --bs-btn-bg: #AC115D; --bs-btn-border-color: #AC115D;
  --bs-btn-hover-color: #FFFFFF; --bs-btn-hover-bg: #930A4D; --bs-btn-hover-border-color: #930A4D;
  --bs-btn-focus-shadow-rgb: 172,17,93;
  --bs-btn-active-color: #FFFFFF; --bs-btn-active-bg: #630734; --bs-btn-active-border-color: #630734;
  --bs-btn-disabled-color: #FFFFFF; --bs-btn-disabled-bg: #AC115D; --bs-btn-disabled-border-color: #AC115D;
}
.btn-secondary {
  --bs-btn-color: #FFFFFF; --bs-btn-bg: #061E4D; --bs-btn-border-color: #061E4D;
  --bs-btn-hover-color: #FFFFFF; --bs-btn-hover-bg: #051A41; --bs-btn-hover-border-color: #051A41;
  --bs-btn-focus-shadow-rgb: 6,30,77;
  --bs-btn-active-color: #FFFFFF; --bs-btn-active-bg: #051A41; --bs-btn-active-border-color: #051A41;
  --bs-btn-disabled-color: #FFFFFF; --bs-btn-disabled-bg: #061E4D; --bs-btn-disabled-border-color: #061E4D;
}
.btn-warning {
  --bs-btn-color: #5D3C10; --bs-btn-bg: #F7B500; --bs-btn-border-color: #F7B500;
  --bs-btn-hover-color: #5D3C10; --bs-btn-hover-bg: #E3A700; --bs-btn-hover-border-color: #E3A700;
  --bs-btn-focus-shadow-rgb: 247,181,0;
  --bs-btn-active-color: #5D3C10; --bs-btn-active-bg: #D29A00; --bs-btn-active-border-color: #D29A00;
  --bs-btn-disabled-color: #5D3C10; --bs-btn-disabled-bg: #F7B500; --bs-btn-disabled-border-color: #F7B500;
}
.btn-outline-primary {
  --bs-btn-color: #AC115D; --bs-btn-border-color: #AC115D;
  --bs-btn-hover-color: #FFFFFF; --bs-btn-hover-bg: #AC115D; --bs-btn-hover-border-color: #AC115D;
  --bs-btn-focus-shadow-rgb: 172,17,93;
  --bs-btn-active-color: #FFFFFF; --bs-btn-active-bg: #AC115D; --bs-btn-active-border-color: #AC115D;
  --bs-btn-disabled-color: #AC115D; --bs-btn-disabled-border-color: #AC115D;
}
.btn-outline-secondary {
  --bs-btn-color: #061E4D; --bs-btn-border-color: #061E4D;
  --bs-btn-hover-color: #FFFFFF; --bs-btn-hover-bg: #061E4D; --bs-btn-hover-border-color: #061E4D;
  --bs-btn-focus-shadow-rgb: 6,30,77;
  --bs-btn-active-color: #FFFFFF; --bs-btn-active-bg: #061E4D; --bs-btn-active-border-color: #061E4D;
  --bs-btn-disabled-color: #061E4D; --bs-btn-disabled-border-color: #061E4D;
}
.btn { --bs-btn-font-family: var(--ipm-font-base); }
.btn:focus-visible { box-shadow: 0 0 0 3px rgba(172,17,93,.5); }
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: #F06AA9; --bs-btn-border-color: #F06AA9; }

/* Formulaires : focus et cases cochées */
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: #CD709E; box-shadow: 0 0 0 3px rgba(172,17,93,.5); }
.form-check-input:checked, .form-check-input[type=checkbox]:indeterminate { background-color: #AC115D; border-color: #AC115D; }
.form-switch .form-check-input:focus { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23CD709E'/%3e%3c/svg%3e"); }
.form-range::-webkit-slider-thumb { background-color: #AC115D; }
.form-range::-moz-range-thumb { background-color: #AC115D; }
.form-range:focus::-webkit-slider-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(172,17,93,.5); }
.form-range:focus::-moz-range-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(172,17,93,.5); }

/* Composants à couleur active */
.nav-pills { --bs-nav-pills-link-active-bg: #AC115D; }
.nav-link:focus-visible { box-shadow: 0 0 0 3px rgba(172,17,93,.5); }
.pagination { --bs-pagination-active-bg: #AC115D; --bs-pagination-active-border-color: #AC115D; --bs-pagination-focus-box-shadow: 0 0 0 3px rgba(172,17,93,.5); }
.progress, .progress-stacked { --bs-progress-bar-bg: #AC115D; }
.list-group { --bs-list-group-active-bg: #AC115D; --bs-list-group-active-border-color: #AC115D; }
.dropdown-menu { --bs-dropdown-link-active-bg: #AC115D; }
.accordion { --bs-accordion-btn-focus-box-shadow: 0 0 0 3px rgba(172,17,93,.5); --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23700B3C' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); }
.table-primary { --bs-table-bg: #F5E2EC; }
