/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

@charset "UTF-8";
@font-face {
    font-family: "ClashDisplay-Light";
    src: url(../fonts/ClashDisplay-Light.ttf);
    font-display: block;
    font-display: swap;
}
@font-face {
    font-family: "ClashDisplay-Medium";
    src: url(../fonts/ClashDisplay-Medium.ttf);
    font-display: block;
}
@font-face {
    font-family: "ClashDisplay-Regular";
    src: url(../fonts/ClashDisplay-Regular.ttf);
    font-display: block;
}
@font-face {
    font-family: "ClashDisplay-SemiBold";
    src: url(../fonts/ClashDisplay-Semibold.ttf);
    font-display: block;
}

@font-face {
    font-family: "ClashDisplay-Bold";
    src: url(../fonts/ClashDisplay-Bold.ttf);
    font-display: block;
    font-display: swap;
}

* {
    font-family: "ClashDisplay-Regular";
}

strong {
  font-family: "ClashDisplay-SemiBold";
}

.main-content {
    padding-top: 75px;
}
.container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 16px !important;
}


.title-section {
    margin-bottom: 16px;
}

.sub-title-section {
    margin-bottom: 16px;
}

.light-blue-circles {
    z-index: 980;
    position: absolute;
}

.h1-title {
    font-size: 40px;
    line-height: 48px;
    font-family: "ClashDisplay-SemiBold";
    color: #2A2243;
    margin-bottom: 16px;
}

/* Animation Classes */
/* .reveal-item {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
    transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
    -o-transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
    transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
    transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
} */

/* .reveal-item.active {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
} */

@media (max-width: 768px) {
    .h1-title {
        font-size: 32px !important;
        line-height: 40px !important;
    }

                .main-content {
        padding-top: 48px;
    }
}
/* ====== MENU DÉROULANT AU SURVOL ====== */

/* Le conteneur du menu principal (ul) */
.header__menu,
.menu,
.main-navigation {
  position: relative;
}

/* Les <li> qui ont un sous-menu doivent être positionnés */
.header__menu li.menu-item-has-children,
.menu li.menu-item-has-children,
.main-navigation li.menu-item-has-children {
  position: relative;
}

/* Cache les sous-menus par défaut */
.header__sub__menu,
.sub-menu,
.wp-block-navigation__submenu-container {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 220px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
  padding: 8px 0;
  z-index: 9999;
  border-radius: 12px;
}

.sub-menu {
  padding: 8px !important;
}

.sub-menu>li {
  margin: 0 !important;
}

/* Affiche au survol et au focus (clavier) */
.header__menu li.menu-item-has-children:hover>.header__sub__menu,
.header__menu li.menu-item-has-children:focus-within>.header__sub__menu,
.menu li.menu-item-has-children:hover>.sub-menu,
.menu li.menu-item-has-children:focus-within>.sub-menu,
.main-navigation li.menu-item-has-children:hover>.sub-menu,
.main-navigation li.menu-item-has-children:focus-within>.sub-menu {
  display: block;
}

/* Sous-sous-menus alignés à droite du sous-menu parent */
.header__sub__menu .menu-item-has-children>.header__sub__menu,
.sub-menu .menu-item-has-children>.sub-menu {
  left: 100%;
  top: 0;
}

/* Petits ajustements visuels (optionnels) */
.header__sub__menu>li>a,
.sub-menu>li>a {
  display: block;
  padding: 8px 14px;
  text-decoration: none;
  white-space: nowrap;
}

/* Séparateur entre items (optionnel) */
.sub-menu>li+li,
.header__sub__menu>li+li {
  border-top: 1px solid rgba(0, 0, 0, .1);
}

/* ====== MOBILE : ouvrir au “tap” et empiler proprement ====== */
@media (max-width: 960px) {

  .header__menu li.menu-item-has-children:focus-within>.header__sub__menu,
  .menu li.menu-item-has-children:focus-within>.sub-menu {
    display: block;
    position: static;
    box-shadow: none;
    border: 0;
    min-width: auto;
  }
}

/* Sous-menu : fond clair lisible + ombre */
.header__sub__menu,
.sub-menu,
.wp-block-navigation__submenu-container {
  background: #fff;
  /* fond blanc lisible */
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
  z-index: 9999;
}

/* Liens du sous-menu : texte foncé (et pas blanc !) */
.header__sub__menu a,
.sub-menu a,
.wp-block-navigation__submenu-container a {
  color: #2A2243 !important;
  /* force la couleur si le thème met du blanc */
  text-decoration: none;
  display: block;
  padding: 8px 14px;
  white-space: nowrap;
}

/* Survol / focus : fond léger pour repère visuel */
.header__sub__menu a:hover,
.header__sub__menu a:focus,
.sub-menu a:hover,
.sub-menu a:focus,
.wp-block-navigation__submenu-container a:hover,
.wp-block-navigation__submenu-container a:focus {
  background: #F5F7FF;
  color: #2A2243;
  /* reste lisible */
}

/* Si des icônes SVG héritent du "currentColor" */
.header__sub__menu svg,
.sub-menu svg,
.wp-block-navigation__submenu-container svg {
  fill: currentColor;
}

/* Au besoin : éviter que le sous-menu soit coupé */
.header__menu,
.main-navigation,
.wp-block-navigation {
  overflow: visible;
  /* si le parent le forçait à hidden */
  position: relative;
}

@media (max-width: 960px) {
  .header__menu li.menu-item-has-children {
    position: static;
  }

  /* ancre propre */
  .header__menu li.menu-item-has-children>.header__sub__menu,
  .menu li.menu-item-has-children>.sub-menu {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    /* centre horizontalement */
    top: 100%;
    right: auto;
    min-width: 260px;
    max-width: calc(100vw - 32px);
    /* évite de sortir de l’écran */
    text-align: center;
    z-index: 9999;
  }
}