/* disposition */
.hidden {
  display: none !important;
}
.inline-block {
  display: inline-block !important;
}
.inline {
  display: inline !important;
}
.block {
  display: block !important;
}
.d-flex {
  display: flex !important;
}
.flex-row-wrap {
  flex-flow: row wrap !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row {
  flex-direction: row !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.flex-fill {
  flex: 1 !important;
}
.show {
  display: block !important;
}

/* les lignes et colonnes */
.row {
  display: flex !important;
}
.gap-halfr {
  gap: 0.5rem !important;
}
.gap-1r {
  gap: 1rem !important;
}
.col {
  flex-grow: 1;
  box-sizing: border-box;
}
.col-25 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col-33 {
  flex: 0 0 33%;
  max-width: 33%;
}
.col-50 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col-50 video {
  width: 100%;
  height: auto;
}
.col-66 {
  flex: 0 0 66%;
  max-width: 66%;
}
.col-75 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col-auto {
  flex-grow: 1;
}

/* débogage */
.debug1 {
  background-color: red;
}
.debug2 {
  background-color: yellow;
}
.debug3 {
  background-color: green;
}
.debug4 {
  background-color: purple;
}
.debug5 {
  background-color: orange;
}
.debug6 {
  background-color: grey;
}
.debug7 {
  background-color: blue;
  color: white;
}
.debug_transparent {
  background-color: rgba(255, 255, 255, 0.5);
}

/* la hauteur de plan */
.zi-100 {
  z-index: 100 !important;
}
.zi-500 {
  z-index: 500 !important;
}
.zi-400 {
  z-index: 400 !important;
}
.zi-300 {
  z-index: 300 !important;
}
.zi-200 {
  z-index: 200 !important;
}
.zi-1000 {
  z-index: 1000 !important;
}
.zi-10000 {
  z-index: 10000 !important;
}

/*  margin */
.m-auto {
  margin: auto !important;
}
.m-0 {
  margin: 0 !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.mr-0 {
  margin-right: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.ml-0 {
  margin-left: 0 !important;
}
.m-1r {
  margin: 1rem !important;
}
.mt-1r {
  margin-top: 1rem !important;
}
.mr-1r {
  margin-right: 1rem !important;
}
.mb-1r {
  margin-bottom: 1rem !important;
}
.ml-1r {
  margin-left: 1rem !important;
}
.m-2r {
  margin: 2rem !important;
}
.mt-2r {
  margin-top: 2rem !important;
}
.mr-2r {
  margin-right: 2rem !important;
}
.mb-2r {
  margin-bottom: 2rem !important;
}
.ml-2r {
  margin-left: 2rem !important;
}
.m-3r {
  margin: 3rem !important;
}
.mt-3r {
  margin-top: 3rem !important;
}
.mr-3r {
  margin-right: 3rem !important;
}
.mb-3r {
  margin-bottom: 3rem !important;
}
.ml-3r {
  margin-left: 3rem !important;
}
.m-2 {
  margin: 2px !important;
}
.mt-2 {
  margin-top: 2px !important;
}
.mr-2 {
  margin-right: 2px !important;
}
.mb-2 {
  margin-bottom: 2px !important;
}
.ml-2 {
  margin-left: 2px !important;
}
.m-5 {
  margin: 5px !important;
}
.mt-5 {
  margin-top: 5px !important;
}
.mr-5 {
  margin-right: 5px !important;
}
.mb-5,
.mb-5px {
  margin-bottom: 5px !important;
}
.ml-5 {
  margin-left: 5px !important;
}
.m-10 {
  margin: 10px !important;
}
.mt-10 {
  margin-top: 10px !important;
}
.mr-10 {
  margin-right: 10px !important;
}
.mb-10 {
  margin-bottom: 10px !important;
}
.ml-10 {
  margin-left: 10px !important;
}
.m-15 {
  margin: 15px !important;
}
.mt-15 {
  margin-top: 15px !important;
}
.mr-15 {
  margin-right: 15px !important;
}
.mb-15 {
  margin-bottom: 15px !important;
}
.ml-15 {
  margin-left: 15px !important;
}
.m-20 {
  margin: 20px !important;
}
.mt-20 {
  margin-top: 20px !important;
}
.mr-20 {
  margin-right: 20px !important;
}
.mb-20 {
  margin-bottom: 20px !important;
}
.ml-20 {
  margin-left: 20px !important;
}

.mx-10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}
.mx-20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}
.mx-30 {
  margin-left: 30px !important;
  margin-right: 30px !important;
}
.my-10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
.my-20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.my-30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

/* padding */
.p-0 {
  padding: 0 !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pr-0 {
  padding-right: 0 !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pl-0 {
  padding-left: 0 !important;
}
.p-1r {
  padding: 1rem !important;
}
.pt-1r {
  padding-top: 1rem !important;
}
.pr-1r {
  padding-right: 1rem !important;
}
.pb-1r {
  padding-bottom: 1rem !important;
}
.pl-1r {
  padding-left: 1rem !important;
}
.p-2r {
  padding: 2rem !important;
}
.pt-2r {
  padding-top: 2rem !important;
}
.pr-2r {
  padding-right: 2rem !important;
}
.pb-2r {
  padding-bottom: 2rem !important;
}
.pl-2r {
  padding-left: 2rem !important;
}
.p-3r {
  padding: 3rem !important;
}
.pt-3r {
  padding-top: 3rem !important;
}
.pr-3r {
  padding-right: 3rem !important;
}
.pb-3r {
  padding-bottom: 3rem !important;
}
.pl-3r {
  padding-left: 3rem !important;
}
.p-2 {
  padding: 2px !important;
}
.pt-2 {
  padding-top: 2px !important;
}
.pr-2 {
  padding-right: 2px !important;
}
.pb-2 {
  padding-bottom: 2px !important;
}
.pl-2 {
  padding-left: 2px !important;
}
.p-5 {
  padding: 5px !important;
}
.pt-5 {
  padding-top: 5px !important;
}
.pr-5 {
  padding-right: 5px !important;
}
.pb-5 {
  padding-bottom: 5px !important;
}
.pl-5 {
  padding-left: 5px !important;
}
.p-10 {
  padding: 10px !important;
}
.pt-10 {
  padding-top: 10px !important;
}
.pr-10 {
  padding-right: 10px !important;
}
.pb-10 {
  padding-bottom: 10px !important;
}
.pl-10 {
  padding-left: 10px !important;
}
.p-15 {
  padding: 15px !important;
}
.pt-15 {
  padding-top: 15px !important;
}
.pr-15 {
  padding-right: 15px !important;
}
.pb-15 {
  padding-bottom: 15px !important;
}
.pl-15 {
  padding-left: 15px !important;
}
.p-20 {
  padding: 20px !important;
}
.pt-20 {
  padding-top: 20px !important;
}
.pr-20 {
  padding-right: 20px !important;
}
.pb-20 {
  padding-bottom: 20px !important;
}
.pl-20 {
  padding-left: 20px !important;
}

.px-1r {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
.px-5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.px-10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.px-20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.px-30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}
.py-5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
.py-10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.py-20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
.py-30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.p-05r {
  padding: 0.5rem !important;
}
.pl-05r {
  padding-left: 0.5rem !important;
}
.mx-1r {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}
.my-1r {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}
.my-2r {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}
.my-3r {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}
.mt-05r {
  margin-top: 0.5rem !important;
}

/* les largeurs */
.w-min {
  width: 1% !important;
  white-space: nowrap !important;
}
.w-20px {
  width: 20px !important;
}
.w-40px {
  width: 40px !important;
}
.w-50px {
  width: 50px !important;
}
.w-60px {
  width: 60px !important;
}
.w-80px {
  width: 80px !important;
}
.w-100px {
  width: 100px !important;
}
.w-250px {
  width: 250px !important;
}
.w-400px {
  width: 400px !important;
}
.w-10r {
  width: 10rem !important;
}
.w-20r {
  width: 20rem !important;
}
.w-30r {
  width: 30rem !important;
}
.w-5 {
  width: 5% !important;
}
.w-8_33 {
  width: 8.33% !important;
}
.w-10 {
  width: 10% !important;
}
.w-20 {
  width: 20% !important;
}
.w-25 {
  width: 25% !important;
}
.w-33 {
  width: 33.33% !important;
}
.w-50 {
  width: 50% !important;
}
.w-66 {
  width: 66.66% !important;
}
.w-75 {
  width: 75% !important;
}
.w-80 {
  width: 80% !important;
}
.w-90 {
  width: 90% !important;
}
.w-100 {
  width: 100% !important;
  /* Note: PAS de display: block ici - interfère avec Summernote et autres composants qui utilisent display: none */
}

/* le hauteurs */
.h-100v {
  height: 100vh !important;
}
.h-10r {
  height: 10rem !important;
}
.h-20r {
  height: 20rem !important;
}
.h-30r {
  height: 30rem !important;
}
.h-40r {
  height: 40rem !important;
}
.h-50r {
  height: 50rem !important;
}

/* la taille de la police */
.small {
  font-size: 1.2rem !important;
  margin: 0 0.5rem !important;
}
.fs-1r {
  font-size: 1rem !important;
}
.fs-2r {
  font-size: 2rem !important;
}
.fs-10 {
  font-size: 10px !important;
}
.fs-12 {
  font-size: 12px !important;
}
.fs-14 {
  font-size: 14px !important;
}
.fs-16 {
  font-size: 16px !important;
}

/* alignement */
.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right !important;
}

/* decoration */
.text-decoration-underline,
.text-decoration-underline:hover {
  text-decoration: underline !important;
}
.text-decoration-none,
.text-decoration-none:hover {
  text-decoration: none !important;
}

/* les opacités */
.low-opacity {
  opacity: 0.5 !important;
}

/* les border, border-radius et box-shadow */
.br-3 {
  border-radius: 3px !important;
}
.br-5 {
  border-radius: 5px !important;
}
.border {
  border: 1px solid var(--border-color) !important;
}
.border-0 {
  border: 0 !important;
}
.bg-white {
  background-color: white !important;
}
.bg-primaire {
  background-color: var(--primaire) !important;
}
.bg-light {
  background-color: var(--background-light) !important;
}
.bg-grey {
  background-color: var(--gris-clair) !important;
}

.bs {
  box-shadow: var(--box-shadow) !important;
}

.justify {
  text-align: justify !important;
}
.text-left {
  text-align: left !important;
}

.inline-box {
  display: inline-block !important;
  padding: 0.1em 0.4em !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  vertical-align: baseline !important;
  font-size: 0.95em !important;
}
