@charset "UTF-8";
/*
  ==============================================================================================
  --------------------------|                                        |--------------------------
  --------------------------|          CSS / Key4events 2020         |--------------------------
  --------------------------|          Surcharges Key4 uniquement    |--------------------------
  --------------------------|  (Bootstrap charge via bootstrap.min)  |--------------------------
  --------------------------|                                        |--------------------------
  ==============================================================================================
*/
/*
  ==============================================================================================
  --------------------------|                                        |--------------------------
  --------------------------|          CSS / Key4events 2020         |--------------------------
  --------------------------|           Variables et mixins          |--------------------------
  --------------------------|                                        |--------------------------
  ==============================================================================================
*/
/* -------------------- Typographies -------------------- */
/* -------------------- Transitions -------------------- */
/* -------------------- Mixins -------------------- */
/* -------------------- Couleurs Key4 (override Bootstrap, avant import variables) -------------------- */
/* -------------------- Teintes -------------------- */
/* -------------------- Breakpoints -------------------- */
/* -------------------- Spacers -------------------- */
/* -------------------- Teintes -------------------- */
.text-blue {
  color: #3e64c1 !important;
}

.bg-blue {
  background-color: #3e64c1 !important;
}

a.bg-blue:hover {
  background-color: rgb(55.8, 90, 173.7) !important;
}

.text-indigo {
  color: #743ad2 !important;
}

.bg-indigo {
  background-color: #743ad2 !important;
}

a.bg-indigo:hover {
  background-color: rgb(103.2128099174, 45.0929752066, 197.4070247934) !important;
}

.text-purple {
  color: #9b369b !important;
}

.bg-purple {
  background-color: #9b369b !important;
}

a.bg-purple:hover {
  background-color: rgb(136.0885167464, 47.4114832536, 136.0885167464) !important;
}

.text-pink {
  color: #e83e8c !important;
}

.bg-pink {
  background-color: #e83e8c !important;
}

a.bg-pink:hover {
  background-color: rgb(229.2847222222, 39.2152777778, 126.4236111111) !important;
}

.text-red {
  color: #e8192c !important;
}

.bg-red {
  background-color: #e8192c !important;
}

a.bg-red:hover {
  background-color: rgb(210.4545454545, 21.0454545455, 38.4308300395) !important;
}

.text-orange {
  color: #ff6000 !important;
}

.bg-orange {
  background-color: #ff6000 !important;
}

a.bg-orange:hover {
  background-color: rgb(229.5, 86.4, 0) !important;
}

.text-yellow {
  color: #f5ba1b !important;
}

.bg-yellow {
  background-color: #f5ba1b !important;
}

a.bg-yellow:hover {
  background-color: rgb(236.1428571429, 175.0357142857, 10.3571428571) !important;
}

.text-green {
  color: #409c6a !important;
}

.bg-green {
  background-color: #409c6a !important;
}

a.bg-green:hover {
  background-color: rgb(56.5818181818, 137.9181818182, 93.7136363636) !important;
}

.text-teal {
  color: #0eb7a9 !important;
}

.bg-teal {
  background-color: #0eb7a9 !important;
}

a.bg-teal:hover {
  background-color: rgb(12.1878172589, 159.3121827411, 147.1243654822) !important;
}

.text-cyan {
  color: #0088db !important;
}

.bg-cyan {
  background-color: #0088db !important;
}

a.bg-cyan:hover {
  background-color: rgb(0, 120.1643835616, 193.5) !important;
}

.text-cyan-light {
  color: #88cef6 !important;
}

.bg-cyan-light {
  background-color: #88cef6 !important;
}

a.bg-cyan-light:hover {
  background-color: rgb(112.29296875, 196.23828125, 244.20703125) !important;
}

.text-skyblue {
  color: #2f85b3 !important;
}

.bg-skyblue {
  background-color: #2f85b3 !important;
}

a.bg-skyblue:hover {
  background-color: rgb(41.6969026549, 117.9933628319, 158.8030973451) !important;
}

.text-skyblue-medium {
  color: #6daed4 !important;
}

.bg-skyblue-medium {
  background-color: #6daed4 !important;
}

a.bg-skyblue-medium:hover {
  background-color: rgb(89.3015873016, 163.0714285714, 206.1984126984) !important;
}

.text-skyblue-light {
  color: #cbe5f4 !important;
}

.bg-skyblue-light {
  background-color: #cbe5f4 !important;
}

a.bg-skyblue-light:hover {
  background-color: rgb(181.9523809524, 218.4761904762, 239.5476190476) !important;
}

.text-nightblue {
  color: #264c95 !important;
}

.bg-nightblue {
  background-color: #264c95 !important;
}

a.bg-nightblue:hover {
  background-color: rgb(32.8181818182, 65.6363636364, 128.6818181818) !important;
}

.text-primary-dark {
  color: #394466 !important;
}

.bg-primary-dark {
  background-color: #394466 !important;
}

a.bg-primary-dark:hover {
  background-color: rgb(47.858490566, 57.0943396226, 85.641509434) !important;
}

.text-original {
  color: #2c4698 !important;
}

.bg-original {
  background-color: #2c4698 !important;
}

a.bg-original:hover {
  background-color: rgb(38.2755102041, 60.8928571429, 132.2244897959) !important;
}

.text-white {
  color: #fff !important;
}

.bg-white {
  background-color: #fff !important;
}

a.bg-white:hover {
  background-color: rgb(242.25, 242.25, 242.25) !important;
}

.text-black {
  color: #000 !important;
}

.bg-black {
  background-color: #000 !important;
}

a.bg-black:hover {
  background-color: black !important;
}

.text-gray-light {
  color: #ced4da !important;
}

.bg-gray-light {
  background-color: #ced4da !important;
}

a.bg-gray-light:hover {
  background-color: rgb(191.4709302326, 199.25, 207.0290697674) !important;
}

.text-gray {
  color: #6c757d !important;
}

.bg-gray {
  background-color: #6c757d !important;
}

a.bg-gray:hover {
  background-color: rgb(96.1802575107, 104.19527897, 111.3197424893) !important;
}

.text-gray-dark {
  color: #343a40 !important;
}

.bg-gray-dark {
  background-color: #343a40 !important;
}

a.bg-gray-dark:hover {
  background-color: rgb(40.5689655172, 45.25, 49.9310344828) !important;
}

.text-gray-100 {
  color: #f9f9f9 !important;
}

.bg-gray-100 {
  background-color: #f9f9f9 !important;
}

a.bg-gray-100:hover {
  background-color: rgb(236.25, 236.25, 236.25) !important;
}

.text-gray-200 {
  color: #ececec !important;
}

.bg-gray-200 {
  background-color: #ececec !important;
}

a.bg-gray-200:hover {
  background-color: rgb(223.25, 223.25, 223.25) !important;
}

.text-gray-300 {
  color: #e2e2e2 !important;
}

.bg-gray-300 {
  background-color: #e2e2e2 !important;
}

a.bg-gray-300:hover {
  background-color: rgb(213.25, 213.25, 213.25) !important;
}

.text-gray-400 {
  color: #d4d4d4 !important;
}

.bg-gray-400 {
  background-color: #d4d4d4 !important;
}

a.bg-gray-400:hover {
  background-color: rgb(199.25, 199.25, 199.25) !important;
}

.text-gray-500 {
  color: #b5b5b5 !important;
}

.bg-gray-500 {
  background-color: #b5b5b5 !important;
}

a.bg-gray-500:hover {
  background-color: rgb(168.25, 168.25, 168.25) !important;
}

.text-gray-600 {
  color: #757575 !important;
}

.bg-gray-600 {
  background-color: #757575 !important;
}

a.bg-gray-600:hover {
  background-color: rgb(104.25, 104.25, 104.25) !important;
}

.text-gray-700 {
  color: #505050 !important;
}

.bg-gray-700 {
  background-color: #505050 !important;
}

a.bg-gray-700:hover {
  background-color: rgb(67.25, 67.25, 67.25) !important;
}

.text-gray-800 {
  color: #3a3a3a !important;
}

.bg-gray-800 {
  background-color: #3a3a3a !important;
}

a.bg-gray-800:hover {
  background-color: rgb(45.25, 45.25, 45.25) !important;
}

.text-gray-900 {
  color: #252525 !important;
}

.bg-gray-900 {
  background-color: #252525 !important;
}

a.bg-gray-900:hover {
  background-color: rgb(24.25, 24.25, 24.25) !important;
}

/* -------------------- Ombres -------------------- */
/* -------------------- Variables CSS (fallbacks, ecrasees par les couleurs d'evenement) -------------------- */
:root {
  --blue: #3e64c1;
  --indigo: #743ad2;
  --purple: #9b369b;
  --pink: #e83e8c;
  --red: #e8192c;
  --orange: #ff6000;
  --yellow: #f5ba1b;
  --green: #409c6a;
  --teal: #0eb7a9;
  --cyan: #0088db;
  --cyan-light: #88cef6;
  --skyblue: #2f85b3;
  --skyblue-medium: #6daed4;
  --skyblue-light: #cbe5f4;
  --nightblue: #264c95;
  --primary-dark: #394466;
  --original: #2c4698;
  --white: #fff;
  --black: #000;
  --gray-light: #ced4da;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #000066;
  --secondary: #333;
  --success: #74be4b;
  --info: #2ec3ea;
  --warning: #ff6000;
  --danger: #e8192c;
  --light: #aaa;
  --dark: #343a40;
  /* Pont Bootstrap 5 : --bs-primary-rgb utilisé par .bg-primary, .btn-primary etc.
     Valeur fallback pour #000066 ; les pages événement doivent aussi surcharger --bs-primary-rgb */
  --bs-primary: var(--primary);
  --bs-primary-rgb: 0, 0, 102;
}

/* -------------------- Utilitaires Bootstrap 5 — couleurs thème Key4 -------------------- */
/* Bootstrap 5 utilise rgba(var(--bs-X-rgb), ...) pour tous les utilitaires de couleur.
   On surcharge avec nos CSS vars (--primary, --light, --dark, etc.) pour conserver
   les valeurs Key4 et la compatibilité avec l'injection de couleurs par événement. */
.text-primary {
  color: var(--primary) !important;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.border-primary {
  border-color: var(--primary) !important;
}

.link-primary {
  color: var(--primary) !important;
}

.text-secondary {
  color: var(--secondary) !important;
}

.bg-secondary {
  background-color: var(--secondary) !important;
}

.border-secondary {
  border-color: var(--secondary) !important;
}

.link-secondary {
  color: var(--secondary) !important;
}

.text-success {
  color: var(--success) !important;
}

.bg-success {
  background-color: var(--success) !important;
}

.border-success {
  border-color: var(--success) !important;
}

.link-success {
  color: var(--success) !important;
}

.text-info {
  color: var(--info) !important;
}

.bg-info {
  background-color: var(--info) !important;
}

.border-info {
  border-color: var(--info) !important;
}

.link-info {
  color: var(--info) !important;
}

.text-warning {
  color: var(--warning) !important;
}

.bg-warning {
  background-color: var(--warning) !important;
}

.border-warning {
  border-color: var(--warning) !important;
}

.link-warning {
  color: var(--warning) !important;
}

.text-danger {
  color: var(--danger) !important;
}

.bg-danger {
  background-color: var(--danger) !important;
}

.border-danger {
  border-color: var(--danger) !important;
}

.link-danger {
  color: var(--danger) !important;
}

.text-light {
  color: var(--light) !important;
}

.bg-light {
  background-color: var(--light) !important;
}

.border-light {
  border-color: var(--light) !important;
}

.link-light {
  color: var(--light) !important;
}

.text-dark {
  color: var(--dark) !important;
}

.bg-dark {
  background-color: var(--dark) !important;
}

.border-dark {
  border-color: var(--dark) !important;
}

.link-dark {
  color: var(--dark) !important;
}

/* Boutons : surcharge des CSS vars BS5 pour les couleurs Key4 */
.btn-primary {
  --bs-btn-bg: #3e64c1;
  --bs-btn-border-color: #3e64c1;
  --bs-btn-hover-bg: rgb(52.7, 85, 164.05);
  --bs-btn-hover-border-color: rgb(49.6, 80, 154.4);
  --bs-btn-active-bg: rgb(49.6, 80, 154.4);
  --bs-btn-active-border-color: rgb(46.5, 75, 144.75);
  --bs-btn-disabled-bg: #3e64c1;
  --bs-btn-disabled-border-color: #3e64c1;
  color: #fff;
}

/* Variantes statiques : couleurs Key4 compilées */
.btn-secondary {
  --bs-btn-bg: #333;
  --bs-btn-border-color: #333;
  --bs-btn-hover-bg: rgb(31.875, 31.875, 31.875);
  --bs-btn-hover-border-color: rgb(25.5, 25.5, 25.5);
  --bs-btn-active-bg: rgb(25.5, 25.5, 25.5);
  --bs-btn-active-border-color: rgb(19.125, 19.125, 19.125);
  --bs-btn-disabled-bg: #333;
  --bs-btn-disabled-border-color: #333;
  color: #fff;
}

.btn-success {
  --bs-btn-bg: #74be4b;
  --bs-btn-border-color: #74be4b;
  --bs-btn-hover-bg: rgb(98.1040816327, 166.5918367347, 60.1581632653);
  --bs-btn-hover-border-color: rgb(92.587755102, 157.2244897959, 56.7755102041);
  --bs-btn-active-bg: rgb(92.587755102, 157.2244897959, 56.7755102041);
  --bs-btn-active-border-color: rgb(87.0714285714, 147.8571428571, 53.3928571429);
  --bs-btn-disabled-bg: #74be4b;
  --bs-btn-disabled-border-color: #74be4b;
  color: #fff;
}

.btn-info {
  --bs-btn-bg: #2ec3ea;
  --bs-btn-border-color: #2ec3ea;
  --bs-btn-hover-bg: rgb(22.072826087, 178.6847826087, 219.677173913);
  --bs-btn-hover-border-color: rgb(20.9086956522, 169.2608695652, 208.0913043478);
  --bs-btn-active-bg: rgb(20.9086956522, 169.2608695652, 208.0913043478);
  --bs-btn-active-border-color: rgb(19.7445652174, 159.8369565217, 196.5054347826);
  --bs-btn-disabled-bg: #2ec3ea;
  --bs-btn-disabled-border-color: #2ec3ea;
  color: #fff;
}

.btn-warning {
  --bs-btn-bg: #ff6000;
  --bs-btn-border-color: #ff6000;
  --bs-btn-hover-bg: rgb(216.75, 81.6, 0);
  --bs-btn-hover-border-color: rgb(204, 76.8, 0);
  --bs-btn-active-bg: rgb(204, 76.8, 0);
  --bs-btn-active-border-color: rgb(191.25, 72, 0);
  --bs-btn-disabled-bg: #ff6000;
  --bs-btn-disabled-border-color: #ff6000;
  color: #fff;
}

.btn-danger {
  --bs-btn-bg: #e8192c;
  --bs-btn-border-color: #e8192c;
  --bs-btn-hover-bg: rgb(198.8636363636, 19.8863636364, 36.314229249);
  --bs-btn-hover-border-color: rgb(187.2727272727, 18.7272727273, 34.1976284585);
  --bs-btn-active-bg: rgb(187.2727272727, 18.7272727273, 34.1976284585);
  --bs-btn-active-border-color: rgb(175.6818181818, 17.5681818182, 32.081027668);
  --bs-btn-disabled-bg: #e8192c;
  --bs-btn-disabled-border-color: #e8192c;
  color: #fff;
}

.btn-light {
  --bs-btn-bg: #aaa;
  --bs-btn-border-color: #aaa;
  --bs-btn-hover-bg: rgb(150.875, 150.875, 150.875);
  --bs-btn-hover-border-color: rgb(144.5, 144.5, 144.5);
  --bs-btn-active-bg: rgb(144.5, 144.5, 144.5);
  --bs-btn-active-border-color: rgb(138.125, 138.125, 138.125);
  --bs-btn-disabled-bg: #aaa;
  --bs-btn-disabled-border-color: #aaa;
  color: #fff;
}

.btn-dark {
  --bs-btn-bg: #505050;
  --bs-btn-border-color: #505050;
  --bs-btn-hover-bg: rgb(60.875, 60.875, 60.875);
  --bs-btn-hover-border-color: rgb(54.5, 54.5, 54.5);
  --bs-btn-active-bg: rgb(54.5, 54.5, 54.5);
  --bs-btn-active-border-color: rgb(48.125, 48.125, 48.125);
  --bs-btn-disabled-bg: #505050;
  --bs-btn-disabled-border-color: #505050;
  color: #fff;
}

/* -------------------- Container -------------------- */
.container {
  position: relative;
  z-index: 1;
}

/* -------------------- Card -------------------- */
.card {
  border: 0 !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.08);
}

/* -------------------- Reglages globaux -------------------- */
a {
  color: var(--primary);
}
a:hover {
  color: var(--primary);
  opacity: 0.85;
  text-decoration: none;
}

/* -------------------- Titres -------------------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-family: "Arquitecta-heavy", Sans-serif;
  font-weight: 500;
  line-height: 1.05;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

h1, .h1 {
  font-size: 3.1rem;
}

h2, .h2 {
  font-size: 2.7rem;
}

h3, .h3 {
  font-size: 1.9rem;
}

h4, .h4 {
  font-size: 1.4rem;
}

h5, .h5 {
  font-size: 1.3rem;
}

h5, h6,
.h5, .h6 {
  letter-spacing: 0;
}

h6, .h6 {
  font-family: "Arquitecta-regular", Sans-serif !important;
  font-size: 1.1rem;
  color: #212529;
}

/* Bootstrap 4 → 5 : RFS (Responsive Font Sizes) supprimé — recréé manuellement */
@media (max-width: 1200px) {
  h1, .h1 {
    font-size: calc(1.435rem + 2.22vw);
  }
  h2, .h2 {
    font-size: calc(1.395rem + 1.74vw);
  }
  h3, .h3 {
    font-size: calc(1.315rem + 0.78vw);
  }
  h4, .h4 {
    font-size: calc(1.265rem + 0.18vw);
  }
  h5, .h5 {
    font-size: calc(1.255rem + 0.06vw);
  }
}
subtitle {
  font-family: "Arquitecta-regular", Sans-serif;
  color: #6c757d;
  font-size: 1.6rem;
  line-height: 1.1em;
}
body.erp subtitle {
  font-size: 1.2rem;
}

/* -------------------- Inputs -------------------- */
/* Bootstrap 4 → 5 : margin-bottom supprimé dans _reboot.scss */
label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

.input-group .input-group-text {
  padding: 0 0.7em !important;
}
.input-group.input-group-icon .icon {
  display: flex;
  z-index: 4;
  width: 0;
  min-width: 0;
  height: 0;
  min-height: 0;
  opacity: 0.25;
  transition: all 0.3s ease;
}
.input-group.input-group-icon .icon > svg {
  position: relative;
  top: 0.2em;
  left: 0.25em;
  width: 30px;
  height: 30px;
  overflow: visible;
}
.input-group.input-group-icon .icon > svg use {
  stroke-width: 2px;
}
.input-group.input-group-icon .icon::before {
  position: relative;
  margin-top: calc(1.1em - 0.55rem);
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 1.2rem;
}
.input-group.input-group-icon.input-group-sm .icon > svg {
  top: 0.15em;
  left: 0.15em;
  width: 26px;
  height: 26px;
}
.input-group.input-group-icon.input-group-sm .icon::before {
  font-size: 1rem;
}
.input-group.input-group-icon.input-group-lg .icon > svg {
  top: 0.5em;
  left: 0.4em;
  width: 36px;
  height: 36px;
}
.input-group.input-group-icon.input-group-lg .icon::before {
  font-size: 1.4rem;
}
.input-group.input-group-icon.icon-left .icon::before {
  left: 0.65em;
}
.input-group.input-group-icon.icon-left .form-control {
  padding-left: calc(1.15rem + 17px);
}
.input-group.input-group-icon.icon-right .icon > svg {
  left: -2.3em;
}
.input-group.input-group-icon.icon-right .icon::before {
  left: -1.6em;
}
.input-group.input-group-icon.icon-right.input-group-sm .icon > svg {
  left: -2em;
}
.input-group.input-group-icon.icon-right.input-group-lg .icon > svg {
  left: -2.8em;
}
.input-group.input-group-icon.icon-right .form-control {
  padding-right: calc(1.15rem + 17px);
}
.input-group.input-group-icon.icon-right .was-validated .form-control:valid,
.input-group.input-group-icon.icon-right .form-control.is-valid,
.input-group.input-group-icon.icon-right .was-validated .form-control:invalid,
.input-group.input-group-icon.icon-right .form-control.is-invalid {
  background-position-x: calc(100% - 2.15em);
  padding-right: 3.5em;
}
.input-group.input-group-icon .form-control:focus + .icon,
.input-group.input-group-icon .form-control:focus + div + .icon {
  opacity: 0.6;
}
.input-group.input-group-sm.icon-left .form-control {
  padding-left: calc(1.05rem + 13px);
}
.input-group.input-group-sm.icon-right .form-control {
  padding-right: calc(1.05rem + 13px);
}
.input-group.input-group-lg.icon-left .form-control {
  padding-left: calc(1.7rem + 22px);
}
.input-group.input-group-lg.icon-right .form-control {
  padding-right: calc(1.7rem + 22px);
}

.input-group-text {
  border: 0;
  font-size: 0.955rem;
  color: #505050;
  background-color: #ececec;
}

/* Bootstrap 4 → 5 : hauteur explicite des inputs lg dans un input-group */
.input-group-lg > .form-control:not(textarea),
.input-group-lg > .form-select,
.input-group-lg > .custom-select {
  height: calc(2.5em + 0.56rem + 2px);
}

.form-group {
  margin-bottom: 1rem;
  transition: all 0.3s ease;
}
.form-group:focus {
  z-index: 1;
}

.form-control,
.form-select {
  padding: 0.5rem 1.15rem;
  font-size: 0.955rem;
  color: #252525;
  background-color: #fff;
  border: 0;
  box-shadow: 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1);
}

.form-control:not(textarea),
.form-select {
  height: calc(1.5em + 1rem + 2px);
}

.form-control-sm,
.form-select-sm {
  padding: 0.4rem 1.05rem;
  font-size: 0.8em;
}

.form-control-lg,
.form-select-lg {
  padding: 0.28rem 1.7rem;
  font-size: 1.15em;
}

::placeholder {
  color: #777 !important;
  opacity: 1 !important;
}

.valid-feedback,
.invalid-feedback {
  font-size: 85%;
  margin-top: 0.8rem;
}

.form-control,
.form-select,
.custom-select {
  border-radius: 0.001rem !important;
  transition: all 0.6s ease !important;
}
.form-control:disabled, .form-control[readonly],
.form-select:disabled,
.form-select[readonly],
.custom-select:disabled,
.custom-select[readonly] {
  box-shadow: none !important;
}

.was-validated .form-control:valid,
.form-control.is-valid {
  box-shadow: 0 0 0 0.2rem rgba(116, 190, 75, 0.3), 0 16px 44px rgba(0, 0, 0, 0.06) !important;
}

.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
  box-shadow: 0 0 0 0.2rem rgba(116, 190, 75, 0.6), 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1) !important;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
  box-shadow: 0 0 0 0.2rem rgba(232, 25, 44, 0.3), 0 16px 44px rgba(0, 0, 0, 0.06) !important;
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
  box-shadow: 0 0 0 0.2rem rgba(232, 25, 44, 0.6), 0 0 0 3px rgba(62, 100, 193, 0), 0 8px 22px rgba(0, 0, 0, 0.1) !important;
}

form.bg-white .form-control {
  background-color: #f7f7f7;
}
form.bg-white .form-control:not(:focus) {
  box-shadow: none;
}

/* -------------------- Variables B4 -> B5 (custom-forms supprime) -------------------- */
/* -------------------- Selects -------------------- */
select:invalid,
select option[value=""] {
  color: #bfc7cf;
}
select option:not([value=""]) {
  color: #495057;
}

.custom-select-lg,
.form-select-lg {
  height: calc(2.5em + 0.56rem + 2px);
  padding-top: 0.28rem;
  padding-bottom: 0.28rem;
  padding-left: 1.7rem;
  font-size: 1.15em;
}

.custom-select,
.form-select,
select.form-control {
  /* Flèche Key4 custom (SVG polyline) — remplace la flèche Bootstrap 5 par défaut */
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='9px' viewBox='0 0 16 9'%3e%3cpolyline fill='none' stroke='rgb%28193.75, 193.75, 193.75%29' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' points='14.596,1.244 8.024,7.817 1.451,1.244 '/%3e%3c/svg%3e") no-repeat right 1.15rem center/16px 9px;
  padding-right: 2.8em !important;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.custom-select:not(.custom-select-lg):not(.form-select-lg),
.form-select:not(.custom-select-lg):not(.form-select-lg),
select.form-control:not(.custom-select-lg):not(.form-select-lg) {
  background-size: 0.85rem;
}
.custom-select:focus,
.form-select:focus,
select.form-control:focus {
  z-index: 1;
}

.was-validated .custom-select:invalid,
.was-validated .custom-select:valid,
.custom-select.is-invalid,
.custom-select.is-valid,
.was-validated .form-select:invalid,
.was-validated .form-select:valid,
.form-select.is-invalid,
.form-select.is-valid {
  background-position: right 0.85rem center, center right 2.25rem !important;
}
.was-validated .custom-select:invalid:not(.custom-select-lg):not(.form-select-lg),
.was-validated .custom-select:valid:not(.custom-select-lg):not(.form-select-lg),
.custom-select.is-invalid:not(.custom-select-lg):not(.form-select-lg),
.custom-select.is-valid:not(.custom-select-lg):not(.form-select-lg),
.was-validated .form-select:invalid:not(.custom-select-lg):not(.form-select-lg),
.was-validated .form-select:valid:not(.custom-select-lg):not(.form-select-lg),
.form-select.is-invalid:not(.custom-select-lg):not(.form-select-lg),
.form-select.is-valid:not(.custom-select-lg):not(.form-select-lg) {
  background-size: 0.85rem, 1rem !important;
}

.was-validated select.form-control:invalid,
.was-validated select.form-control:valid,
select.form-control.is-invalid,
select.form-control.is-valid {
  background-position-x: calc(100% - 18px);
}

input[type=date], input[type=time] {
  -webkit-appearance: none;
}

/* -------------------- Checkboxes, radios & switches -------------------- */
.custom-checkbox,
.custom-radio {
  padding-left: 1.9em !important;
  padding-bottom: 0.75em;
}
.custom-checkbox.custom-control-sm,
.custom-radio.custom-control-sm {
  padding-left: 1.75em !important;
}
.custom-checkbox.custom-control-lg,
.custom-radio.custom-control-lg {
  padding-left: 2.2em !important;
}
.custom-checkbox .custom-control-label::before, .custom-checkbox .custom-control-label::after,
.custom-radio .custom-control-label::before,
.custom-radio .custom-control-label::after {
  width: 19px !important;
  height: 19px !important;
  top: 0.1rem !important;
  left: -2em !important;
}
.custom-checkbox .custom-control-label::before,
.custom-radio .custom-control-label::before {
  border: 2px solid #c6c6c6 !important;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.08) !important;
}
.custom-checkbox .custom-control-label::after,
.custom-radio .custom-control-label::after {
  background-size: 100% !important;
}
.custom-checkbox.custom-control-sm .custom-control-label::before, .custom-checkbox.custom-control-sm .custom-control-label::after,
.custom-radio.custom-control-sm .custom-control-label::before,
.custom-radio.custom-control-sm .custom-control-label::after {
  top: 0 !important;
  left: -2.2em !important;
  width: 16px !important;
  height: 16px !important;
}
.custom-checkbox.custom-control-lg .custom-control-label::before, .custom-checkbox.custom-control-lg .custom-control-label::after,
.custom-radio.custom-control-lg .custom-control-label::before,
.custom-radio.custom-control-lg .custom-control-label::after {
  top: 0.15em !important;
  left: -1.9em !important;
  width: 22px !important;
  height: 22px !important;
}

.custom-control-label {
  font-size: 0.955em !important;
}
.custom-control-sm .custom-control-label {
  font-size: 0.8em !important;
}
.custom-control-lg .custom-control-label {
  font-size: 1.15em !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
  border-color: #5a5a5a !important;
  background-color: #5a5a5a !important;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(62, 100, 193, 0.25), 0 3px 14px rgba(0, 0, 0, 0.08) !important;
}

.custom-switch {
  padding-left: 2.8rem !important;
}
.custom-switch .custom-control-input:focus ~ .custom-control-label::before {
  border-color: transparent !important;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(0.95rem) !important;
}
.custom-switch .custom-control-input[disabled] ~ .custom-control-label::before, .custom-switch .custom-control-input:disabled ~ .custom-control-label::before {
  border: 0 !important;
}
.custom-switch .custom-control-label::before {
  top: 0.2rem !important;
  width: 2.2rem !important;
  height: 1.3rem !important;
  left: -2.8rem !important;
  border: 2px solid #c6c6c6;
  border-radius: 0.7rem !important;
  background-color: #c6c6c6;
  box-shadow: none;
}
.custom-switch .custom-control-label::after {
  top: calc(0.2rem + 3px) !important;
  left: calc(-2.8rem + 3px) !important;
  width: calc(1rem - 2px) !important;
  height: calc(1rem - 2px) !important;
  background-color: #fff !important;
}
.custom-switch.custom-control-sm {
  padding-left: 2.5rem !important;
}
.custom-switch.custom-control-sm .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(0.8rem) !important;
}
.custom-switch.custom-control-sm .custom-control-label::before {
  top: 0.1rem !important;
  left: -2.5rem !important;
  width: 1.9rem !important;
  height: 1.1rem !important;
  border-radius: 0.6rem !important;
}
.custom-switch.custom-control-sm .custom-control-label::after {
  top: calc(0.1rem + 3px) !important;
  left: calc(-2.5rem + 3px) !important;
  width: calc(1rem - 4px) !important;
  height: calc(1rem - 4px) !important;
}
.custom-switch.custom-control-lg {
  padding-left: 3.4rem !important;
}
.custom-switch.custom-control-lg .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(1.2rem) !important;
}
.custom-switch.custom-control-lg .custom-control-label::before {
  left: -3.4rem !important;
  width: 2.7rem !important;
  height: 1.5rem !important;
  border-radius: 0.8rem !important;
}
.custom-switch.custom-control-lg .custom-control-label::after {
  left: calc(-3.4rem + 3px) !important;
  width: calc(1rem + 1px) !important;
  height: calc(1rem + 1px) !important;
}

.bootstrap-select .dropdown-item:active, .bootstrap-select .dropdown-item.active, .bootstrap-select .dropdown-item.selected {
  background-color: #3e64c1 !important;
  outline: none;
}

/* -------------------- Textareas -------------------- */
textarea.form-control {
  padding-top: 1.15rem;
  padding-bottom: 1.15rem;
}
textarea.form-control.form-control-sm {
  padding-top: 1.05rem;
  padding-bottom: 1.05rem;
}
textarea.form-control.form-control-lg {
  padding-top: 1.7rem;
  padding-bottom: 1.7rem;
}

/* -------------------- Formulaire en lecture seule -------------------- */
form.readonly .form-group {
  margin-bottom: 0;
}
form.readonly .form-group .form-control,
form.readonly .form-group .custom-select {
  padding: 0;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* -------------------- Boutons -------------------- */
.btn {
  padding: 0.8rem 2rem;
  font-family: "Arquitecta-bold", Sans-serif;
  font-size: 1.2em;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border: 0 solid transparent;
  border-radius: 0;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important;
}
.btn:hover {
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.24) !important;
}
.btn.bg-gradient {
  background-blend-mode: overlay;
  transition: all 0.3s ease !important;
}

.btn-sm {
  padding: 0.4rem 1.2rem;
  font-size: 1.05em;
}

.btn-lg {
  padding: 1.2rem 2.8rem;
  font-size: 1.4em;
}

/* -------------------- Badges -------------------- */
.badge {
  padding: 0.39em 0.54em;
  font-family: "Arquitecta-heavy", Sans-serif;
  font-size: 0.9rem;
  font-weight: 400;
  text-transform: uppercase;
  border-radius: 0.3rem;
}
.badge.badge-sm {
  padding-top: 0.43em;
  padding-bottom: 0.37em;
  font-size: 0.75rem;
}
.badge.badge-lg {
  font-size: 1.1rem;
}
.badge.badge-pill {
  border-radius: 10rem;
}

/* -------------------- Tables -------------------- */
.table {
  background-color: #fff;
}
.table th {
  font-weight: normal;
}
.table thead {
  border: 2px solid #343a40;
}
.table thead th,
.table thead td {
  padding-top: 0.45rem !important;
  padding-bottom: 0.45rem !important;
  font-family: "Arquitecta-regular", Sans-serif;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.2em;
}
.table thead:not(.thead-dark),
.table tbody {
  border: 2px solid #fff;
}
.table.table-dark thead,
.table.table-dark tbody {
  border: 2px solid #343a40;
}
.table.table-hover tbody tr {
  transition: all 0.15s ease;
}
.table.table-hover tbody tr:hover {
  cursor: pointer;
}
.table.table-striped thead th,
.table.table-striped thead td,
.table.table-striped tbody th,
.table.table-striped tbody td {
  border-top-color: transparent;
  border-bottom-color: transparent;
}
.table.table-sm td,
.table.table-sm th {
  font-size: 0.9em;
}
.table.table-lg td,
.table.table-lg th {
  font-size: 1.1em;
}

/* -------------------- Tooltips -------------------- */
.tooltip {
  /* Bootstrap 5 : surcharge via CSS vars du composant */
  --bs-tooltip-font-size: 0.95rem;
  --bs-tooltip-padding-x: 0.75rem;
  --bs-tooltip-padding-y: 0.35rem;
  --bs-tooltip-opacity: 0.85;
  --bs-tooltip-bg: #252525;
  --bs-tooltip-color: #fff;
  z-index: 99999 !important;
}
.tooltip .tooltip-inner {
  border-radius: 0.3rem;
}
.tooltip[x-placement=top] {
  margin-bottom: 6px;
}
.tooltip[x-placement=bottom] {
  margin-top: 6px;
}
.tooltip[x-placement=left] {
  margin-right: 6px;
}
.tooltip[x-placement=right] {
  margin-left: 6px;
}

/* -------------------- Popovers -------------------- */
.popover {
  max-width: calc(100vw - 100px) !important;
  max-height: calc(100vh - 100px);
}
.popover .popover-header {
  color: #505050;
  font-size: 1em;
  font-weight: bold;
}
.popover .popover-body {
  position: relative;
  min-width: 50px;
  max-height: calc(100vh - 135px);
  min-height: 50px;
  overflow-y: auto;
}
html.isiPhone .popover {
  max-height: calc(100vh - 140px);
  margin-bottom: 40px;
}
html.isiPhone .popover .popover-body {
  max-height: calc(100vh - 175px);
}

/* -------------------- Navs -------------------- */
/* Bootstrap 5 : surcharge via CSS vars du composant */
.nav-link {
  --bs-nav-link-padding-y: 0.8rem;
}
.nav-link.disabled {
  color: #b5b5b5;
}

.nav-tabs {
  --bs-nav-tabs-border-width: 0;
  --bs-nav-tabs-link-active-bg: transparent;
}

/* -------------------- Breadcrumbs -------------------- */
/* Bootstrap 5 : surcharge via CSS vars du composant */
.breadcrumb {
  --bs-breadcrumb-margin-bottom: 0;
  --bs-breadcrumb-divider-color: #d2d2d2;
  --bs-breadcrumb-active-color: #bbb;
  --bs-breadcrumb-item-padding-x: 0.6rem;
}

@media (max-width: 575px) {
  .breadcrumb li:last-child {
    display: none;
  }
}
/* -------------------- Progress bars -------------------- */
.progress {
  /* Bootstrap 5 : surcharge via CSS vars du composant */
  --bs-progress-height: 6px;
  --bs-progress-box-shadow: none;
  border-radius: 3px;
}

/* -------------------- Modales -------------------- */
/* Bootstrap 5 : surcharge via CSS vars du composant */
.modal {
  --bs-modal-zindex: 3010;
}

.modal-backdrop {
  --bs-backdrop-zindex: 3000;
  --bs-backdrop-opacity: 0.7;
  background-color: #4d525f;
}

.modal-content {
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.25) !important;
}
.modal-content .modal-header {
  padding: 1.3rem 1.3rem 1rem 1.3rem !important;
  /* Bootstrap 4 : .close — Bootstrap 5 : .btn-close */
}
.modal-content .modal-header .close,
.modal-content .modal-header .btn-close {
  margin: -1.3rem -1.3rem -1rem auto !important;
}
.modal-content .modal-body {
  padding: 0.5rem 1.5rem !important;
}
.modal-content .modal-footer {
  padding: 0.5rem 1.3rem 1.3rem 1.3rem !important;
}

/* -------------------- Pagination -------------------- */
.pagination .page-item {
  margin-left: 3px;
  margin-right: 3px;
}
.pagination .page-item .page-link {
  min-width: 32px;
  color: #fff;
  font-family: "Arquitecta-bold", Sans-serif;
  font-size: 1.1rem;
  border-radius: 30px;
  border: 0;
  transition: all 0.3s ease;
  background-color: rgba(62, 100, 193, 0.5);
}
.pagination .page-item .page-link:hover {
  background-color: transparent;
}
.pagination .page-item.active .page-link {
  background-color: var(--primary);
}
.pagination .page-item.disabled .page-link {
  background-color: transparent;
}
.pagination .page-item.prev a, .pagination .page-item.next a {
  color: #3e64c1 !important;
  background-color: transparent;
}
.pagination .page-item.prev a:focus, .pagination .page-item.next a:focus {
  box-shadow: none;
}
.pagination .page-item.prev.disabled a, .pagination .page-item.next.disabled a {
  color: #b5b5b5 !important;
}
.pagination.pagination-sm .page-link {
  min-width: 26px;
  font-size: 0.925rem;
}
.pagination.pagination-lg .page-link {
  min-width: 47px;
  font-size: 1.25rem;
}

.pagination .page-item.prev.disabled a,
.pagination .page-item.next.disabled a {
  color: #adb5bd !important;
}

body.erp.rub-inscriptions main > article .pagination .page-item.prev.disabled .page-link,
body.erp.rub-inscriptions main > article .pagination .page-item.next.disabled .page-link {
  color: rgba(0, 136, 219, 0.4) !important;
}

@media (max-width: 300px) {
  .attendeeprofile .align-self-center {
    display: none;
  }
  .attendeeprofile .card-body {
    padding: 10px;
  }
}
body.login .card h2 {
  font-size: 1.8rem;
}

/* ==================== Bootstrap 4 → 5 : Aliases de compatibilité ==================== */
/* -------------------- position: relative sur les colonnes -------------------- */
/* Bootstrap 4 avait position: relative sur toutes les .col-* ; Bootstrap 5 l'a supprimé */
[class^=col-],
[class*=" col-"],
.col,
.col-auto {
  position: relative;
}

/* -------------------- .form-inline (supprimé en Bootstrap 5) -------------------- */
.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 5px;
}

@media (min-width: 576px) {
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  /* Bootstrap 5 : .dropdown dans .form-inline ajoute du padding droit parasite */
  .form-inline .form-group.dropdown {
    padding-right: 0;
  }
}
/* -------------------- .dropright / .dropleft (renommés dropend / dropstart en Bootstrap 5) -------------------- */
.dropright,
.dropleft {
  position: relative;
}

/* -------------------- Directionnels spacing (pl-* / pr-* / ml-* / mr-*) -------------------- */
/* Bootstrap 5 a renommé ces classes en ps-* / pe-* / ms-* / me-* (logique RTL).
   Ces aliases permettent de ne pas modifier les fichiers ASPX/ASCX existants. */
.pl-0 {
  padding-left: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.pl-1 {
  padding-left: 0.25rem !important;
}

.pr-1 {
  padding-right: 0.25rem !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.pr-2 {
  padding-right: 0.5rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.pl-3 {
  padding-left: 1rem !important;
}

.pr-3 {
  padding-right: 1rem !important;
}

.ml-3 {
  margin-left: 1rem !important;
}

.mr-3 {
  margin-right: 1rem !important;
}

.pl-4 {
  padding-left: 1.5rem !important;
}

.pr-4 {
  padding-right: 1.5rem !important;
}

.ml-4 {
  margin-left: 1.5rem !important;
}

.mr-4 {
  margin-right: 1.5rem !important;
}

.pl-5 {
  padding-left: 3rem !important;
}

.pr-5 {
  padding-right: 3rem !important;
}

.ml-5 {
  margin-left: 3rem !important;
}

.mr-5 {
  margin-right: 3rem !important;
}

@media (min-width: 576px) {
  .pl-sm-0 {
    padding-left: 0 !important;
  }
  .pr-sm-0 {
    padding-right: 0 !important;
  }
  .ml-sm-0 {
    margin-left: 0 !important;
  }
  .mr-sm-0 {
    margin-right: 0 !important;
  }
  .pl-sm-1 {
    padding-left: 0.25rem !important;
  }
  .pr-sm-1 {
    padding-right: 0.25rem !important;
  }
  .ml-sm-1 {
    margin-left: 0.25rem !important;
  }
  .mr-sm-1 {
    margin-right: 0.25rem !important;
  }
  .pl-sm-2 {
    padding-left: 0.5rem !important;
  }
  .pr-sm-2 {
    padding-right: 0.5rem !important;
  }
  .ml-sm-2 {
    margin-left: 0.5rem !important;
  }
  .mr-sm-2 {
    margin-right: 0.5rem !important;
  }
  .pl-sm-3 {
    padding-left: 1rem !important;
  }
  .pr-sm-3 {
    padding-right: 1rem !important;
  }
  .ml-sm-3 {
    margin-left: 1rem !important;
  }
  .mr-sm-3 {
    margin-right: 1rem !important;
  }
  .pl-sm-4 {
    padding-left: 1.5rem !important;
  }
  .pr-sm-4 {
    padding-right: 1.5rem !important;
  }
  .ml-sm-4 {
    margin-left: 1.5rem !important;
  }
  .mr-sm-4 {
    margin-right: 1.5rem !important;
  }
  .pl-sm-5 {
    padding-left: 3rem !important;
  }
  .pr-sm-5 {
    padding-right: 3rem !important;
  }
  .ml-sm-5 {
    margin-left: 3rem !important;
  }
  .mr-sm-5 {
    margin-right: 3rem !important;
  }
}
@media (min-width: 768px) {
  .pl-md-0 {
    padding-left: 0 !important;
  }
  .pr-md-0 {
    padding-right: 0 !important;
  }
  .ml-md-0 {
    margin-left: 0 !important;
  }
  .mr-md-0 {
    margin-right: 0 !important;
  }
  .pl-md-1 {
    padding-left: 0.25rem !important;
  }
  .pr-md-1 {
    padding-right: 0.25rem !important;
  }
  .ml-md-1 {
    margin-left: 0.25rem !important;
  }
  .mr-md-1 {
    margin-right: 0.25rem !important;
  }
  .pl-md-2 {
    padding-left: 0.5rem !important;
  }
  .pr-md-2 {
    padding-right: 0.5rem !important;
  }
  .ml-md-2 {
    margin-left: 0.5rem !important;
  }
  .mr-md-2 {
    margin-right: 0.5rem !important;
  }
  .pl-md-3 {
    padding-left: 1rem !important;
  }
  .pr-md-3 {
    padding-right: 1rem !important;
  }
  .ml-md-3 {
    margin-left: 1rem !important;
  }
  .mr-md-3 {
    margin-right: 1rem !important;
  }
  .pl-md-4 {
    padding-left: 1.5rem !important;
  }
  .pr-md-4 {
    padding-right: 1.5rem !important;
  }
  .ml-md-4 {
    margin-left: 1.5rem !important;
  }
  .mr-md-4 {
    margin-right: 1.5rem !important;
  }
  .pl-md-5 {
    padding-left: 3rem !important;
  }
  .pr-md-5 {
    padding-right: 3rem !important;
  }
  .ml-md-5 {
    margin-left: 3rem !important;
  }
  .mr-md-5 {
    margin-right: 3rem !important;
  }
}
@media (min-width: 992px) {
  .pl-lg-0 {
    padding-left: 0 !important;
  }
  .pr-lg-0 {
    padding-right: 0 !important;
  }
  .ml-lg-0 {
    margin-left: 0 !important;
  }
  .mr-lg-0 {
    margin-right: 0 !important;
  }
  .pl-lg-1 {
    padding-left: 0.25rem !important;
  }
  .pr-lg-1 {
    padding-right: 0.25rem !important;
  }
  .ml-lg-1 {
    margin-left: 0.25rem !important;
  }
  .mr-lg-1 {
    margin-right: 0.25rem !important;
  }
  .pl-lg-2 {
    padding-left: 0.5rem !important;
  }
  .pr-lg-2 {
    padding-right: 0.5rem !important;
  }
  .ml-lg-2 {
    margin-left: 0.5rem !important;
  }
  .mr-lg-2 {
    margin-right: 0.5rem !important;
  }
  .pl-lg-3 {
    padding-left: 1rem !important;
  }
  .pr-lg-3 {
    padding-right: 1rem !important;
  }
  .ml-lg-3 {
    margin-left: 1rem !important;
  }
  .mr-lg-3 {
    margin-right: 1rem !important;
  }
  .pl-lg-4 {
    padding-left: 1.5rem !important;
  }
  .pr-lg-4 {
    padding-right: 1.5rem !important;
  }
  .ml-lg-4 {
    margin-left: 1.5rem !important;
  }
  .mr-lg-4 {
    margin-right: 1.5rem !important;
  }
  .pl-lg-5 {
    padding-left: 3rem !important;
  }
  .pr-lg-5 {
    padding-right: 3rem !important;
  }
  .ml-lg-5 {
    margin-left: 3rem !important;
  }
  .mr-lg-5 {
    margin-right: 3rem !important;
  }
}
@media (min-width: 1200px) {
  .pl-xl-0 {
    padding-left: 0 !important;
  }
  .pr-xl-0 {
    padding-right: 0 !important;
  }
  .ml-xl-0 {
    margin-left: 0 !important;
  }
  .mr-xl-0 {
    margin-right: 0 !important;
  }
  .pl-xl-1 {
    padding-left: 0.25rem !important;
  }
  .pr-xl-1 {
    padding-right: 0.25rem !important;
  }
  .ml-xl-1 {
    margin-left: 0.25rem !important;
  }
  .mr-xl-1 {
    margin-right: 0.25rem !important;
  }
  .pl-xl-2 {
    padding-left: 0.5rem !important;
  }
  .pr-xl-2 {
    padding-right: 0.5rem !important;
  }
  .ml-xl-2 {
    margin-left: 0.5rem !important;
  }
  .mr-xl-2 {
    margin-right: 0.5rem !important;
  }
  .pl-xl-3 {
    padding-left: 1rem !important;
  }
  .pr-xl-3 {
    padding-right: 1rem !important;
  }
  .ml-xl-3 {
    margin-left: 1rem !important;
  }
  .mr-xl-3 {
    margin-right: 1rem !important;
  }
  .pl-xl-4 {
    padding-left: 1.5rem !important;
  }
  .pr-xl-4 {
    padding-right: 1.5rem !important;
  }
  .ml-xl-4 {
    margin-left: 1.5rem !important;
  }
  .mr-xl-4 {
    margin-right: 1.5rem !important;
  }
  .pl-xl-5 {
    padding-left: 3rem !important;
  }
  .pr-xl-5 {
    padding-right: 3rem !important;
  }
  .ml-xl-5 {
    margin-left: 3rem !important;
  }
  .mr-xl-5 {
    margin-right: 3rem !important;
  }
}
@media (min-width: 1440px) {
  .pl-xxl-0 {
    padding-left: 0 !important;
  }
  .pr-xxl-0 {
    padding-right: 0 !important;
  }
  .ml-xxl-0 {
    margin-left: 0 !important;
  }
  .mr-xxl-0 {
    margin-right: 0 !important;
  }
  .pl-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .pr-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .ml-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .mr-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .pl-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .pr-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .ml-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .mr-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .pl-xxl-3 {
    padding-left: 1rem !important;
  }
  .pr-xxl-3 {
    padding-right: 1rem !important;
  }
  .ml-xxl-3 {
    margin-left: 1rem !important;
  }
  .mr-xxl-3 {
    margin-right: 1rem !important;
  }
  .pl-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .pr-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .ml-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .mr-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .pl-xxl-5 {
    padding-left: 3rem !important;
  }
  .pr-xxl-5 {
    padding-right: 3rem !important;
  }
  .ml-xxl-5 {
    margin-left: 3rem !important;
  }
  .mr-xxl-5 {
    margin-right: 3rem !important;
  }
}
/* -------------------- Texte / float directionnels -------------------- */
/* Bootstrap 5 : text-left→text-start, text-right→text-end, float-left→float-start, float-right→float-end */
.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
}
/* -------------------- Recherche globale (Default.master) -------------------- */
.masterautocomplete::placeholder {
  color: #cdd4d9 !important;
  opacity: 1;
}

/* ========================================================================================
   ChooseModule — zone de recherche / filtrage des evenements
   Les largeurs des form-groups sont definies dans key4.css.
   Les overrides ci-dessous recalculent pour gap: 8px entre les 4 elements.
   ======================================================================================== */
body.event-mng .search-events {
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  padding: 8px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  gap: 8px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
body.event-mng .search-events .form-group {
  margin-bottom: 0 !important;
  flex-shrink: 0;
}
body.event-mng .search-events .form-group > div {
  width: 100%;
}
body.event-mng .search-events .form-group.dropdown {
  padding-right: 0;
}
body.event-mng .search-events .input-group-lg > .form-control:not(textarea),
body.event-mng .search-events .input-group-lg > .form-select,
body.event-mng .search-events .form-select-lg,
body.event-mng .search-events .custom-select-lg {
  height: 46px !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}
body.event-mng .search-events .input-group-lg .icon::before {
  font-size: 1.1rem !important;
  margin-top: calc(1.1em - 0.55rem) !important;
}
body.event-mng .search-events .form-control,
body.event-mng .search-events .form-select,
body.event-mng .search-events .custom-select {
  background-color: #f9f9f9 !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  font-size: 0.95rem !important;
}
body.event-mng .search-events .form-control:focus,
body.event-mng .search-events .form-select:focus,
body.event-mng .search-events .custom-select:focus {
  background-color: #fff !important;
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(62, 100, 193, 0.12) !important;
}
body.event-mng .search-events .form-control::placeholder,
body.event-mng .search-events .form-select::placeholder,
body.event-mng .search-events .custom-select::placeholder {
  color: #cdd4d9 !important;
  opacity: 1;
}
body.event-mng .search-events .input-group-icon .icon {
  color: #757575;
  opacity: 0.55;
}
body.event-mng .search-events a#ClearFilterSearchEvents {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  align-self: center;
  flex-shrink: 0;
  width: 36px !important;
  height: 36px;
  border-radius: 50%;
  background-color: transparent;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
body.event-mng .search-events a#ClearFilterSearchEvents i {
  font-size: 0.95rem;
}
body.event-mng .search-events a#ClearFilterSearchEvents:hover {
  background-color: rgba(232, 25, 44, 0.1);
}

@media (min-width: 576px) {
  body.event-mng .search-events .form-group:nth-child(2) {
    width: calc(40% - 30px) !important;
  }
  body.event-mng .search-events .form-group:nth-child(3) {
    width: calc(60% - 30px) !important;
  }
}
@media (min-width: 768px) {
  body.event-mng .search-events .form-group:nth-child(1) {
    width: calc(100% - 140px - 180px - 44px - 24px) !important;
  }
  body.event-mng .search-events .form-group:nth-child(2) {
    width: 140px !important;
  }
  body.event-mng .search-events .form-group:nth-child(3) {
    width: 180px !important;
  }
}
