@charset "UTF-8";
@import url("theme.css");

/* ============================================
   RESET & BASE
   ============================================ */
html, body, div, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strike, sub, sup, tt, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup, ul, output, ruby, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: #fff;
  overflow-x: hidden;
}

/* ============================================
   TYPOGRAPHIE
   ============================================ */
h1 {
  font-size: 3rem;
  font-weight: bold;
}

h2 {
  font-size: 2rem;
  color: black;
}

h2 br ~ span.shift {
  line-height: 8rem;
}

h3 {
  margin: 0 0 1rem 0;
  color: black;
}

h4 {
  margin: 0 0 2.3rem 0;
}

p {
  margin: 0 0 1.6rem 0;
}

b {
  font-weight: bold;
}

caption {
  font-style: italic;
}

/* ============================================
   LIENS DANS LE CONTENU
   ============================================ */
.main_container .wrapper ul {
  padding-left: 5rem;
  margin-bottom: 1.6rem;
}

.main_container .wrapper a:not(.bouton) {
  color: var(--color-primary, #ff154d);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.3s ease;
}

.main_container .wrapper a:not(.bouton):hover {
  color: var(--color-primary-dark, #d6003a);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ============================================
   LAYOUT GÉNÉRAL
   ============================================ */
main {
  max-width: 2000px;
  margin: 0 auto;
}

.wp-block-list li {
  margin-left: 15px;
}

/* Conteneur interne .inner */
.inner {
  width: 100%;
  margin: 0 auto;
  max-width: 96%;
}

/* ============================================
   BLOCS ACF — LARGEURS
   ============================================ */
.block {
  width: 100%;
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

.block.alignwide {
  max-width: var(--wp--style--global--wide-size);
}

.block.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block.alignfull .container {
  max-width: var(--wp--style--global--content-size);
}

/* ============================================
   CLASSES UTILITAIRES — TEXTES
   ============================================ */
.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-initial {
  text-transform: none;
}

.uppercase,
.text-uppercase {
  text-transform: uppercase;
}

.underline {
  text-decoration: underline;
}

/* ============================================
   CLASSES UTILITAIRES — COULEURS
   ============================================ */
.text-white {
  color: white !important;
}

.text-grey {
  color: #efefef;
}

.text-primary {
  color: #ff154d !important;
}

.text-secondary {
  color: black !important;
}

.border-secondary {
  border-bottom: 6px solid black !important;
}

/* ============================================
   CLASSES UTILITAIRES — FOND
   ============================================ */
.background-white {
  background-color: white !important;
}

.background-grey {
  background-color: #efefef !important;
}

.background-primary {
  background-color: #ff154d !important;
}

.background-secondary {
  background-color: black !important;
}

/* ============================================
   BOUTONS
   ============================================ */
.btn {
  text-align: center;
  background: none;
  text-transform: uppercase;
  text-decoration: none;
  padding: 5px 30px;
  margin-bottom: 10%;
  transition: 0.3s;
  margin-top: 30px;
  margin-bottom: 30px;
  width: fit-content !important;
  border-radius: 25px;
  display: block;
}

.btn-primary {
  color: white;
  background-color: #ff154d;
}

.btn.btn-tertiary {
  color: #ff154d;
  border: #ff154d 1px solid;
}

.btn.btn-tertiary.white {
  color: white;
  border: white 1px solid;
}

.btn.btn-secondary {
  color: white;
  border: none;
  background-color: black;
}

.btn.btn-secondary * {
  color: orange !important;
}

.btn-large {
  padding: 20px;
}

.btn-small {
  padding: 5px 15px;
}

.btn-xsmall {
  padding: 2.5px 10px;
  font-size: 1rem;
}

/* ============================================
   HOVER / FOCUS / ACTIVE
   ============================================ */
.clickable:hover {
  cursor: pointer;
}

/* ============================================
   OVERLAY
   ============================================ */
.overlay,
.overlay-10,
.overlay-20,
.overlay-30,
.overlay-40,
.overlay-50,
.overlay-60,
.overlay-70,
.overlay-80,
.overlay-90 {
  top: 0;
  z-index: 0;
  bottom: 0;
  right: 0;
  left: 0;
  position: absolute;
  background: rgba(0, 0, 0, 0.35);
}

/* Opacités overlay */
.overlay-10 { background: rgba(0, 0, 0, 0.1) !important; }
.overlay-11 { background: rgba(0, 0, 0, 0.11) !important; }
.overlay-12 { background: rgba(0, 0, 0, 0.12) !important; }
.overlay-13 { background: rgba(0, 0, 0, 0.13) !important; }
.overlay-14 { background: rgba(0, 0, 0, 0.14) !important; }
.overlay-15 { background: rgba(0, 0, 0, 0.15) !important; }
.overlay-16 { background: rgba(0, 0, 0, 0.16) !important; }
.overlay-17 { background: rgba(0, 0, 0, 0.17) !important; }
.overlay-18 { background: rgba(0, 0, 0, 0.18) !important; }
.overlay-19 { background: rgba(0, 0, 0, 0.19) !important; }
.overlay-20 { background: rgba(0, 0, 0, 0.2) !important; }
.overlay-21 { background: rgba(0, 0, 0, 0.21) !important; }
.overlay-22 { background: rgba(0, 0, 0, 0.22) !important; }
.overlay-23 { background: rgba(0, 0, 0, 0.23) !important; }
.overlay-24 { background: rgba(0, 0, 0, 0.24) !important; }
.overlay-25 { background: rgba(0, 0, 0, 0.25) !important; }
.overlay-26 { background: rgba(0, 0, 0, 0.26) !important; }
.overlay-27 { background: rgba(0, 0, 0, 0.27) !important; }
.overlay-28 { background: rgba(0, 0, 0, 0.28) !important; }
.overlay-29 { background: rgba(0, 0, 0, 0.29) !important; }
.overlay-30 { background: rgba(0, 0, 0, 0.3) !important; }
.overlay-31 { background: rgba(0, 0, 0, 0.31) !important; }
.overlay-32 { background: rgba(0, 0, 0, 0.32) !important; }
.overlay-33 { background: rgba(0, 0, 0, 0.33) !important; }
.overlay-34 { background: rgba(0, 0, 0, 0.34) !important; }
.overlay-35 { background: rgba(0, 0, 0, 0.35) !important; }
.overlay-36 { background: rgba(0, 0, 0, 0.36) !important; }
.overlay-37 { background: rgba(0, 0, 0, 0.37) !important; }
.overlay-38 { background: rgba(0, 0, 0, 0.38) !important; }
.overlay-39 { background: rgba(0, 0, 0, 0.39) !important; }
.overlay-40 { background: rgba(0, 0, 0, 0.4) !important; }
.overlay-41 { background: rgba(0, 0, 0, 0.41) !important; }
.overlay-42 { background: rgba(0, 0, 0, 0.42) !important; }
.overlay-43 { background: rgba(0, 0, 0, 0.43) !important; }
.overlay-44 { background: rgba(0, 0, 0, 0.44) !important; }
.overlay-45 { background: rgba(0, 0, 0, 0.45) !important; }
.overlay-46 { background: rgba(0, 0, 0, 0.46) !important; }
.overlay-47 { background: rgba(0, 0, 0, 0.47) !important; }
.overlay-48 { background: rgba(0, 0, 0, 0.48) !important; }
.overlay-49 { background: rgba(0, 0, 0, 0.49) !important; }
.overlay-50 { background: rgba(0, 0, 0, 0.5) !important; }
.overlay-51 { background: rgba(0, 0, 0, 0.51) !important; }
.overlay-52 { background: rgba(0, 0, 0, 0.52) !important; }
.overlay-53 { background: rgba(0, 0, 0, 0.53) !important; }
.overlay-54 { background: rgba(0, 0, 0, 0.54) !important; }
.overlay-55 { background: rgba(0, 0, 0, 0.55) !important; }
.overlay-56 { background: rgba(0, 0, 0, 0.56) !important; }
.overlay-57 { background: rgba(0, 0, 0, 0.57) !important; }
.overlay-58 { background: rgba(0, 0, 0, 0.58) !important; }
.overlay-59 { background: rgba(0, 0, 0, 0.59) !important; }
.overlay-60 { background: rgba(0, 0, 0, 0.6) !important; }
.overlay-61 { background: rgba(0, 0, 0, 0.61) !important; }
.overlay-62 { background: rgba(0, 0, 0, 0.62) !important; }
.overlay-63 { background: rgba(0, 0, 0, 0.63) !important; }
.overlay-64 { background: rgba(0, 0, 0, 0.64) !important; }
.overlay-65 { background: rgba(0, 0, 0, 0.65) !important; }
.overlay-66 { background: rgba(0, 0, 0, 0.66) !important; }
.overlay-67 { background: rgba(0, 0, 0, 0.67) !important; }
.overlay-68 { background: rgba(0, 0, 0, 0.68) !important; }
.overlay-69 { background: rgba(0, 0, 0, 0.69) !important; }
.overlay-70 { background: rgba(0, 0, 0, 0.7) !important; }
.overlay-71 { background: rgba(0, 0, 0, 0.71) !important; }
.overlay-72 { background: rgba(0, 0, 0, 0.72) !important; }
.overlay-73 { background: rgba(0, 0, 0, 0.73) !important; }
.overlay-74 { background: rgba(0, 0, 0, 0.74) !important; }
.overlay-75 { background: rgba(0, 0, 0, 0.75) !important; }
.overlay-76 { background: rgba(0, 0, 0, 0.76) !important; }
.overlay-77 { background: rgba(0, 0, 0, 0.77) !important; }
.overlay-78 { background: rgba(0, 0, 0, 0.78) !important; }
.overlay-79 { background: rgba(0, 0, 0, 0.79) !important; }
.overlay-80 { background: rgba(0, 0, 0, 0.8) !important; }
.overlay-81 { background: rgba(0, 0, 0, 0.81) !important; }
.overlay-82 { background: rgba(0, 0, 0, 0.82) !important; }
.overlay-83 { background: rgba(0, 0, 0, 0.83) !important; }
.overlay-84 { background: rgba(0, 0, 0, 0.84) !important; }
.overlay-85 { background: rgba(0, 0, 0, 0.85) !important; }
.overlay-86 { background: rgba(0, 0, 0, 0.86) !important; }
.overlay-87 { background: rgba(0, 0, 0, 0.87) !important; }
.overlay-88 { background: rgba(0, 0, 0, 0.88) !important; }
.overlay-89 { background: rgba(0, 0, 0, 0.89) !important; }
.overlay-90 { background: rgba(0, 0, 0, 0.9) !important; }
.overlay-91 { background: rgba(0, 0, 0, 0.91) !important; }
.overlay-92 { background: rgba(0, 0, 0, 0.92) !important; }
.overlay-93 { background: rgba(0, 0, 0, 0.93) !important; }
.overlay-94 { background: rgba(0, 0, 0, 0.94) !important; }
.overlay-95 { background: rgba(0, 0, 0, 0.95) !important; }
.overlay-96 { background: rgba(0, 0, 0, 0.96) !important; }
.overlay-97 { background: rgba(0, 0, 0, 0.97) !important; }
.overlay-98 { background: rgba(0, 0, 0, 0.98) !important; }
.overlay-99 { background: rgba(0, 0, 0, 0.99) !important; }
.overlay-100 { background: rgb(0, 0, 0) !important; }

.overlay-link {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

/* ============================================
   ESPACEMENTS — CLASSES GÉNÉRIQUES
   ============================================ */
.mb-10 { margin-bottom: 10px; }
.mb-30 { margin-bottom: 30px; }
.mt-50 { margin-top: 50px; }
.mlr-20 { margin-left: 20px; margin-right: 20px; }
.mtb-70 { margin-top: 70px; margin-bottom: 70px; }
.mtb-100 { margin-top: 100px; margin-bottom: 100px; }
.ptb-20 { padding-top: 20px; padding-bottom: 20px; }
.ptb-40 { padding-top: 40px; padding-bottom: 40px; }
.p-30 { padding: 30px; }
.p-60 { padding: 60px; }
.pn { padding: 0 !important; }

/* ============================================
   SPACER
   ============================================ */
.spacer {
  height: 50px !important;
}

.spacer.spacer-xs {
  height: 50px !important;
}

.spacer.spacer-xl {
  height: 100px !important;
}

/* ============================================
   BOOTSTRAP — SURCHARGES
   ============================================ */
.col-img.col-p0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================
   FONT SIZES
   ============================================ */
.small {
  font-size: 1rem;
}

.size-xl {
  font-size: 9rem;
  line-height: 9rem;
}

.size-large {
  font-size: 6rem;
  line-height: 8rem;
}

.size-medium {
  font-size: 4rem;
  line-height: 4rem;
}

.size-semi {
  font-size: 3rem;
}

.size-subsemi {
  font-size: 2rem;
}

.size-normal {
  font-size: 1.6rem;
}

.size-small {
  font-size: 1rem;
}

/* ============================================
   RESPONSIVE
   ============================================ */
.responsive.video {
  aspect-ratio: 16/9;
  width: 100%;
}

.responsive.video iframe {
  width: 100%;
  height: 100%;
}

/* ============================================
   TRANSFORMS & POSITIONS
   ============================================ */
.reverse {
  transform: rotate(180deg);
}

.mirror {
  transform: scale(1, -1);
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.fixed {
  position: fixed;
}

.static {
  position: static;
}

.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 8;
}

/* ============================================
   FONT WEIGHTS
   ============================================ */
.semibold { font-weight: 600; }
.italic { font-style: italic; }
.heavy { font-weight: 800; }
.black { font-weight: 900; }
.light { font-weight: 300; }
.extralight { font-weight: 200; }
.normal { font-weight: normal; }
.regular { font-weight: 400; }

/* ============================================
   FLEXBOX
   ============================================ */
.d-flex { display: flex; }
.d-block { display: block !important; }
.flex-column { flex-direction: column; }
.flex-row { flex-direction: row; }
.flex-end,
.justify-end { justify-content: flex-end; }
.flex-wrap { flex-wrap: wrap; }
.align-end { align-items: flex-end !important; }
.align-self-end { align-self: end !important; }
.align-self-center { align-self: center !important; }
.x-center { align-items: center; }
.x-end { justify-content: end !important; }
.y-center { justify-content: center; }
.x-y-center {
  align-items: center;
  justify-content: center;
}
.space-between { justify-content: space-between; }
.space-around { justify-content: space-around; }
.row-reverse { flex-direction: row-reverse !important; }

/* ============================================
   GRID
   ============================================ */
.mx-auto { margin: 0 auto !important; }
.full-width { max-width: 100% !important; }

/* ============================================
   BOX SHADOW
   ============================================ */
.box-shadow {
  box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, 0.05);
}

/* ============================================
   CUSTOM BACKGROUND
   ============================================ */
.blur-background {
  background-color: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(15px);
}

/* ============================================
   SHAPES
   ============================================ */
.rounded {
  border-radius: 99rem;
}

/* ============================================
   ICONS
   ============================================ */
.icon {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
}

.icon-10 { height: 10px; width: 10px; }
.icon-11 { height: 11px; width: 11px; }
.icon-12 { height: 12px; width: 12px; }
.icon-13 { height: 13px; width: 13px; }
.icon-14 { height: 14px; width: 14px; }
.icon-15 { height: 15px; width: 15px; }
.icon-16 { height: 16px; width: 16px; }
.icon-17 { height: 17px; width: 17px; }
.icon-18 { height: 18px; width: 18px; }
.icon-19 { height: 19px; width: 19px; }
.icon-20 { height: 20px; width: 20px; }
.icon-21 { height: 21px; width: 21px; }
.icon-22 { height: 22px; width: 22px; }
.icon-23 { height: 23px; width: 23px; }
.icon-24 { height: 24px; width: 24px; }
.icon-25 { height: 25px; width: 25px; }
.icon-26 { height: 26px; width: 26px; }
.icon-27 { height: 27px; width: 27px; }
.icon-28 { height: 28px; width: 28px; }
.icon-29 { height: 29px; width: 29px; }
.icon-30 { height: 30px; width: 30px; }
.icon-31 { height: 31px; width: 31px; }
.icon-32 { height: 32px; width: 32px; }
.icon-33 { height: 33px; width: 33px; }
.icon-34 { height: 34px; width: 34px; }
.icon-35 { height: 35px; width: 35px; }
.icon-36 { height: 36px; width: 36px; }
.icon-37 { height: 37px; width: 37px; }
.icon-38 { height: 38px; width: 38px; }
.icon-39 { height: 39px; width: 39px; }
.icon-40 { height: 40px; width: 40px; }
.icon-41 { height: 41px; width: 41px; }
.icon-42 { height: 42px; width: 42px; }
.icon-43 { height: 43px; width: 43px; }
.icon-44 { height: 44px; width: 44px; }
.icon-45 { height: 45px; width: 45px; }
.icon-46 { height: 46px; width: 46px; }
.icon-47 { height: 47px; width: 47px; }
.icon-48 { height: 48px; width: 48px; }
.icon-49 { height: 49px; width: 49px; }
.icon-50 { height: 50px; width: 50px; }
.icon-51 { height: 51px; width: 51px; }
.icon-52 { height: 52px; width: 52px; }
.icon-53 { height: 53px; width: 53px; }
.icon-54 { height: 54px; width: 54px; }
.icon-55 { height: 55px; width: 55px; }
.icon-56 { height: 56px; width: 56px; }
.icon-57 { height: 57px; width: 57px; }
.icon-58 { height: 58px; width: 58px; }
.icon-59 { height: 59px; width: 59px; }
.icon-60 { height: 60px; width: 60px; }
.icon-61 { height: 61px; width: 61px; }
.icon-62 { height: 62px; width: 62px; }
.icon-63 { height: 63px; width: 63px; }
.icon-64 { height: 64px; width: 64px; }
.icon-65 { height: 65px; width: 65px; }
.icon-66 { height: 66px; width: 66px; }
.icon-67 { height: 67px; width: 67px; }
.icon-68 { height: 68px; width: 68px; }
.icon-69 { height: 69px; width: 69px; }
.icon-70 { height: 70px; width: 70px; }
.icon-71 { height: 71px; width: 71px; }
.icon-72 { height: 72px; width: 72px; }
.icon-73 { height: 73px; width: 73px; }
.icon-74 { height: 74px; width: 74px; }
.icon-75 { height: 75px; width: 75px; }
.icon-76 { height: 76px; width: 76px; }
.icon-77 { height: 77px; width: 77px; }
.icon-78 { height: 78px; width: 78px; }
.icon-79 { height: 79px; width: 79px; }
.icon-80 { height: 80px; width: 80px; }
.icon-81 { height: 81px; width: 81px; }
.icon-82 { height: 82px; width: 82px; }
.icon-83 { height: 83px; width: 83px; }
.icon-84 { height: 84px; width: 84px; }
.icon-85 { height: 85px; width: 85px; }
.icon-86 { height: 86px; width: 86px; }
.icon-87 { height: 87px; width: 87px; }
.icon-88 { height: 88px; width: 88px; }
.icon-89 { height: 89px; width: 89px; }
.icon-90 { height: 90px; width: 90px; }
.icon-91 { height: 91px; width: 91px; }
.icon-92 { height: 92px; width: 92px; }
.icon-93 { height: 93px; width: 93px; }
.icon-94 { height: 94px; width: 94px; }
.icon-95 { height: 95px; width: 95px; }
.icon-96 { height: 96px; width: 96px; }
.icon-97 { height: 97px; width: 97px; }
.icon-98 { height: 98px; width: 98px; }
.icon-99 { height: 99px; width: 99px; }
.icon-100 { height: 100px; width: 100px; }

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes smoothScroll {
  0% {
    transform: translateY(-165px);
  }
  100% {
    transform: translateY(0px);
  }
}

/* ============================================
   FORMULAIRES
   ============================================ */
.page input[type=submit],
.page input[type=tel],
.page input[type=password],
.page input[type=number],
.page input[type=text],
.page input[type=url],
.page input[type=date],
.page input[type=email],
.page input[type=file],
.page select,
.page textarea,
.page button {
  appearance: none;
  outline: none;
}

.page select::-ms-expand {
  display: none;
}

.page input[type=text]::placeholder,
.page input[type=url]::placeholder,
.page input[type=tel]::placeholder,
.page input[type=number]::placeholder,
.page input[type=date]::placeholder,
.page input[type=email]::placeholder,
.page input[type=password]::placeholder,
.page input[type=file]::placeholder,
.page select::placeholder {
  font-style: italic;
}

.page select:not([multiple]) {
  background-image: url(/wp-content/themes/chronos/assets/images/icons/arrow-down.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 20px;
}

.page textarea {
  min-width: 100%;
  max-width: 100%;
  width: 100%;
  height: 200px;
  padding: 1rem;
  margin: 0.5rem 0 1.5rem 0;
}

.page textarea::placeholder {
  font-style: italic;
}

.page label {
  font-weight: 600;
  display: flex;
  flex-direction: column;
}

.page input[type=checkbox],
.page input[type=radio] {
  width: 16px;
  height: 16px;
  position: relative;
  margin: 0 1rem 0 0rem;
}

.page input[type=checkbox] {
  border-radius: 0;
}

.page input[type=radio] {
  border-radius: 50px;
}

.page input[type=checkbox]:checked:before,
.page input[type=radio]:checked:before {
  content: "";
  width: 10px;
  height: 10px;
  display: flex;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.page .wpcf7-form br {
  display: none;
}

.page .wpcf7-submit {
  margin-left: auto;
}

.page .wpcf7-form-control-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.page .wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.page .wpcf7-form-control-wrap .wpcf7-acceptance label {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.page .wpcf7-form-control-wrap .wpcf7-acceptance label .wpcf7-list-item-label {
  width: fit-content;
}

.page .field_obligatory {
  margin: 1rem 0;
  font-style: italic;
}

/* ============================================
   DIVERS
   ============================================ */
.disallow {
  display: none;
}

.disallow.active {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 900000;
}

#formSubmit.not-allowed input {
  opacity: 0.2;
}

.page-numbers {
  padding: 0 15px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.current {
  color: #d56f87;
}

.icon-prev {
  background-image: url("../img/prev.svg");
}

.icon-next {
  background-image: url("../img/prev.svg");
  transform: rotate(180deg);
}

.pagination {
  display: flex;
  flex-direction: row;
}

.pagination a {
  text-decoration: none;
}

.widget {
  list-style-type: none;
}

.big {
  font-weight: 600;
  color: black;
  font-size: 16rem;
}

.preprod {
  font-weight: bold;
  text-align: center;
  background: red;
  position: sticky;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 20px;
  color: white;
}

/* ============================================
   WIDGET MENU
   ============================================ */
.widget-menu {
  position: fixed;
  top: 30%;
  z-index: 999;
  right: 0;
  transform: translateY(-50%);
}

.short-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.short-menu img {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

.short-menu .button {
  height: 80px !important;
  width: 80px;
  background: #ff154d;
  transition: width ease-in-out 0.2s;
  margin-left: auto;
  position: relative;
  margin: 10px 0;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
}

.short-menu .button p {
  color: white;
  padding-left: 30px;
}

.short-menu .button:hover {
  cursor: pointer;
  width: 250px;
  transition: width ease-in-out 0.2s;
  border-color: transparent;
}

.short-menu .button:hover p {
  opacity: 1;
  color: white;
  transition: opacity ease-in-out 0.2s;
}

.short-menu .text {
  display: none;
}

.short-menu p {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  margin-left: 50px;
  opacity: 0;
  transition: opacity ease-in-out 0.2s;
}

/* ============================================
   MENU DROPDOWN
   ============================================ */
body:not(.responsive) .menu-item-has-children {
  position: relative;
}

body:not(.responsive) .menu-item-has-children .sub-menu {
  display: none;
}

body:not(.responsive) .menu-item-has-children:hover .sub-menu {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 53px;
  left: 50%;
  z-index: 8;
  transform: translateX(-50%);
}

body:not(.responsive) .menu-item-has-children:hover .sub-menu li {
  padding: 10px;
  background-color: white;
  border-bottom: 1px solid black;
}

body:not(.responsive) .menu-item-has-children:hover .sub-menu li a {
  color: black;
}

/* ============================================
   BLOCK PARTNERS
   ============================================ */
.block-partners {
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
}

.block-partners .owl-carousel {
  padding: 40px 0;
}

.block-partners a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-partners img {
  width: 120px !important;
  height: auto;
}

.block-partners h2 {
  position: relative;
}

/* ============================================
   BLOCK SUMMARY
   ============================================ */
.block-summary-wrapper {
  padding-bottom: 50px;
}

.block-summary-wrapper ul {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: inherit !important;
  margin-bottom: inherit !important;
}

.block-summary-wrapper ul li {
  margin: 0 20px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-summary-wrapper ul li:hover {
  cursor: pointer;
}

.block-summary-wrapper ul li a {
  color: #ff154d !important;
  font-weight: bold;
}

/* ============================================
   SLIDER WRAPPER
   ============================================ */
.slider-wrapper {
  height: fit-content;
  padding: 0 !important;
  position: relative;
}

.slider-wrapper h1 {
  font-size: 2rem;
}

.slider-wrapper .owl-slider {
  height: 750px;
  position: relative;
}

.slider-wrapper .owl-slider .owl-stage-outer,
.slider-wrapper .owl-slider .owl-stage,
.slider-wrapper .owl-slider .owl-item,
.slider-wrapper .owl-slider .owl-item div {
  height: 100%;
}

.slider-wrapper .owl-slider img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.slider-wrapper .owl-slider .owl-dots {
  margin-top: -30px !important;
  z-index: 2;
  position: relative;
}

.slider-wrapper .owl-slider .owl-item {
  width: 100%;
}

.slider-wrapper .slider-meta {
  padding: 40px;
  z-index: 4;
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 35%;
  background: #ff154d;
}

.slider-wrapper .slider-meta h1 {
  color: white;
  margin-bottom: 20px !important;
}

.slider-wrapper .slider-meta em {
  font-size: 17px;
  margin-bottom: 20px;
}

.slider-wrapper .slider-meta p {
  font-size: 14.5px;
}

.slider-wrapper .slider-meta h1,
.slider-wrapper .slider-meta em,
.slider-wrapper .slider-meta p {
  color: white;
}

/* ============================================
   BLOCK COORDONNÉES
   ============================================ */
.block-coordonnees li {
  list-style-type: none !important;
}

.block-coordonnees b {
  margin-bottom: 10px;
  display: block;
}

.block-coordonnees p {
  margin-bottom: 0;
  padding-bottom: 3px;
}

/* ============================================
   MEDIA QUERIES — Regroupées par breakpoint
   ============================================ */

/* --- max-width: 375px --- */
@media (max-width: 375px) {
  .block-summary-wrapper ul li li:last-of-type {
    margin-bottom: 0 !important;
  }
}

/* --- max-width: 500px --- */
@media (max-width: 500px) {
  .block-summary-wrapper ul li {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}

/* --- 501px → 1279px --- */
@media (min-width: 501px) and (max-width: 1279px) {
  .block-summary-wrapper ul li {
    width: 400px;
  }
}

/* --- max-width: 767px --- */
@media (max-width: 767px) {
  main > .container {
    width: 95%;
  }
}

/* --- 768px → 1024px --- */
@media (min-width: 768px) and (max-width: 1024px) {
  .slider-wrapper .slider-meta h1 {
    font-size: 2.5rem !important;
    line-height: 2.6rem !important;
  }
}

/* --- min-width: 768px --- */
@media (min-width: 768px) {
  .inner {
    max-width: 96%;
  }
}

/* --- max-width: 768px --- */
@media (max-width: 768px) {
  .block-partners .owl-carousel {
    padding-top: 10px;
  }

  .block-partners .owl-item {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .block-partners .owl-item img {
    width: 50% !important;
  }

  .block-partners .owl-dots {
    bottom: -35px !important;
  }

  .block-partners .owl-dots .owl-dot:not(.active) span {
    border: 1px solid black !important;
  }

  .slider-wrapper .owl-slider {
    object-fit: cover;
    object-position: top;
  }

  .slider-wrapper .slider-meta {
    background: none !important;
    left: 50%;
    top: 55%;
    transform: translate(-50%, -50%);
    padding: 0 !important;
  }

  .slider-wrapper .slider-meta h1 {
    font-size: 1.8rem !important;
    line-height: 1.9rem !important;
    text-align: center;
  }

  .slider-wrapper .slider-meta em,
  .slider-wrapper .slider-meta p {
    display: none;
  }

  .slider-wrapper .overlay {
    background: rgba(0, 0, 0, 0.4) !important;
  }
}

/* --- 290px → 768px --- */
@media (min-width: 290px) and (max-width: 768px) {
  .slider-wrapper .owl-slider {
    height: 300px !important;
  }
}

/* --- max-width: 992px --- */
@media (max-width: 992px) {
  .spacer.spacer-xs,
  .spacer {
    height: 50px !important;
  }

  .spacer.spacer-xl {
    height: 50px !important;
  }

  .col-md-0 {
    display: none;
  }

  .row.md-reverse {
    flex-direction: row-reverse !important;
  }

  .size-large {
    font-size: 3rem;
    line-height: 3rem;
  }

  .d-md-flex {
    display: flex;
  }

  .align-self-md-center {
    align-self: center !important;
  }

  .mobile-only {
    display: none;
  }

  .widget-menu {
    display: none;
  }
}

/* --- max-width: 1024px --- */
@media (max-width: 1024px) {
  .big {
    font-size: 25vw;
  }

  .error404,
  .error404 div {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .slider-wrapper .owl-slider img {
    height: 100%;
  }

  .slider-wrapper .slider-meta {
    justify-content: center;
    align-items: center;
  }
}

/* --- max-height: 1024px --- */
@media (max-height: 1024px) {
  .slider-wrapper .owl-slider .owl-stage-outer,
  .slider-wrapper .owl-slider .owl-stage,
  .slider-wrapper .owl-slider .owl-item,
  .slider-wrapper .owl-slider .owl-item div {
    height: 100% !important;
  }
}

/* --- min-width: 1024px --- */
@media (min-width: 1024px) {
  .inner {
    max-width: 94%;
  }
}

/* --- min-width: 1200px --- */
@media (min-width: 1200px) {
  .inner {
    width: 90%;
    max-width: 100%;
  }
}

/* --- min-width: 1280px --- */
@media (min-width: 1280px) {
  .inner {
    max-width: 94%;
  }
}

/* --- max-width: 1280px --- */
@media (max-width: 1280px) {
  .size-medium {
    font-size: 2rem;
    line-height: 2rem;
  }

  .block-summary-wrapper ul {
    flex-direction: column;
  }

  .block-summary-wrapper ul li {
    margin: 10px 0;
  }

  .slider-wrapper .owl-slider {
    height: 500px !important;
  }

  .slider-wrapper .slider-meta {
    width: 70%;
  }
}

/* --- min-width: 1440px --- */
@media (min-width: 1440px) {
  .inner {
    max-width: 1280px;
  }
}

/* --- min-width: 1600px --- */
@media (min-width: 1600px) {
  .inner {
    max-width: 1600px;
  }
}