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

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

  --bs-primary: #E30613; --bs-primary-rgb: 227,6,19;
  --bs-secondary: #000000; --bs-secondary-rgb: 0,0,0;
  --bs-warning: #FFED00; --bs-warning-rgb: 255,237,0;
  --bs-primary-text-emphasis: #7D030A;
  --bs-primary-bg-subtle: #FCE1E3;
  --bs-primary-border-subtle: #F5A8AC;
  --bs-body-font-family: var(--ipm-font-base);
  --bs-body-color: #000000; --bs-body-color-rgb: 0,0,0;
  --bs-emphasis-color: #000000;
  --bs-link-color: #E30613; --bs-link-color-rgb: 227,6,19;
  --bs-link-hover-color: #C10510; --bs-link-hover-color-rgb: 193,5,16;
  --bs-focus-ring-color: rgba(227,6,19,.35);
  --bs-border-radius: 4px;
  --bs-border-radius-sm: 4px;
  --bs-border-radius-lg: .5rem;
}
[data-bs-theme="dark"] {
  --bs-primary-text-emphasis: #FF4D57;
  --bs-primary-bg-subtle: #440206;
  --bs-primary-border-subtle: #88040B;
  --bs-link-color: #FF4D57; --bs-link-color-rgb: 255,77,87;
  --bs-link-hover-color: #FF7A81; --bs-link-hover-color-rgb: 255,122,129;
  --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: #E30613; --bs-btn-border-color: #E30613;
  --bs-btn-hover-color: #FFFFFF; --bs-btn-hover-bg: #C10510; --bs-btn-hover-border-color: #C10510;
  --bs-btn-focus-shadow-rgb: 227,6,19;
  --bs-btn-active-color: #FFFFFF; --bs-btn-active-bg: #A3040E; --bs-btn-active-border-color: #A3040E;
  --bs-btn-disabled-color: #FFFFFF; --bs-btn-disabled-bg: #E30613; --bs-btn-disabled-border-color: #E30613;
}
.btn-secondary {
  --bs-btn-color: #FFFFFF; --bs-btn-bg: #000000; --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #FFFFFF; --bs-btn-hover-bg: #262626; --bs-btn-hover-border-color: #262626;
  --bs-btn-focus-shadow-rgb: 0,0,0;
  --bs-btn-active-color: #FFFFFF; --bs-btn-active-bg: #262626; --bs-btn-active-border-color: #262626;
  --bs-btn-disabled-color: #FFFFFF; --bs-btn-disabled-bg: #000000; --bs-btn-disabled-border-color: #000000;
}
.btn-warning {
  --bs-btn-color: #000000; --bs-btn-bg: #FFED00; --bs-btn-border-color: #FFED00;
  --bs-btn-hover-color: #000000; --bs-btn-hover-bg: #EBDA00; --bs-btn-hover-border-color: #EBDA00;
  --bs-btn-focus-shadow-rgb: 255,237,0;
  --bs-btn-active-color: #000000; --bs-btn-active-bg: #D9C900; --bs-btn-active-border-color: #D9C900;
  --bs-btn-disabled-color: #000000; --bs-btn-disabled-bg: #FFED00; --bs-btn-disabled-border-color: #FFED00;
}
.btn-outline-primary {
  --bs-btn-color: #E30613; --bs-btn-border-color: #E30613;
  --bs-btn-hover-color: #FFFFFF; --bs-btn-hover-bg: #E30613; --bs-btn-hover-border-color: #E30613;
  --bs-btn-focus-shadow-rgb: 227,6,19;
  --bs-btn-active-color: #FFFFFF; --bs-btn-active-bg: #E30613; --bs-btn-active-border-color: #E30613;
  --bs-btn-disabled-color: #E30613; --bs-btn-disabled-border-color: #E30613;
}
.btn-outline-secondary {
  --bs-btn-color: #000000; --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #FFFFFF; --bs-btn-hover-bg: #000000; --bs-btn-hover-border-color: #000000;
  --bs-btn-focus-shadow-rgb: 0,0,0;
  --bs-btn-active-color: #FFFFFF; --bs-btn-active-bg: #000000; --bs-btn-active-border-color: #000000;
  --bs-btn-disabled-color: #000000; --bs-btn-disabled-border-color: #000000;
}
.btn { --bs-btn-font-family: var(--ipm-font-base); }
.btn:focus-visible { box-shadow: 0 0 0 .25rem rgba(227,6,19,.35); }
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: #FF4D57; --bs-btn-border-color: #FF4D57; }

/* Formulaires : focus et cases cochées */
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: #EE6A71; box-shadow: 0 0 0 .25rem rgba(227,6,19,.35); }
.form-check-input:checked, .form-check-input[type=checkbox]:indeterminate { background-color: #E30613; border-color: #E30613; }
.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='%23EE6A71'/%3e%3c/svg%3e"); }
.form-range::-webkit-slider-thumb { background-color: #E30613; }
.form-range::-moz-range-thumb { background-color: #E30613; }
.form-range:focus::-webkit-slider-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(227,6,19,.35); }
.form-range:focus::-moz-range-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(227,6,19,.35); }

/* Composants à couleur active */
.nav-pills { --bs-nav-pills-link-active-bg: #E30613; }
.nav-link:focus-visible { box-shadow: 0 0 0 .25rem rgba(227,6,19,.35); }
.pagination { --bs-pagination-active-bg: #E30613; --bs-pagination-active-border-color: #E30613; --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(227,6,19,.35); }
.progress, .progress-stacked { --bs-progress-bar-bg: #E30613; }
.list-group { --bs-list-group-active-bg: #E30613; --bs-list-group-active-border-color: #E30613; }
.dropdown-menu { --bs-dropdown-link-active-bg: #E30613; }
.accordion { --bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(227,6,19,.35); --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='%2394040C' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); }
.table-primary { --bs-table-bg: #FCE1E3; }
