/* === Styles généraux === */
body {
  font-family: 'Arial', sans-serif;
  background-color: #ffffff;
  color: #06668C;
  margin: 0;
  padding: 1rem;
  line-height: 1.6;
  font-size: 16px;
}

/* === Titres === */
h1, h2, h3 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
  color: #06668C;
}

h1 {
   font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem); /* adaptatif */
  text-transform: uppercase!important;
  font-weight: 700;
  border: none;
  padding-bottom: 0;
}


h2,
h2.elementor-heading-title {
  font-size: clamp(1.8rem, 2vw + 0.5rem, 2.2rem);
  font-weight: 900;
  padding-left: 0;
  border-left: none;
  text-transform: none !important;
  color: #06668C;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

/* H2 avec bordure gauche uniquement si un conteneur a la classe "with-border" */
.with-border h2,
.with-border .elementor-heading-title {
  border-left: 5px solid #A4BD01;
  padding-left: 1rem;
}

/* H2 avec bordure gauche uniquement si un conteneur a la classe "with-border" */
.with-border-large h2,
.with-border-large .elementor-heading-title {
  border-left: 5px solid #A4BD01;
  padding-left: 2ch;
}

h3 {
   font-size: clamp(1rem, 1vw + 0.4rem, 1.2rem);
  font-weight: 700;
  color: #06668C;
  border-bottom: 2px solid #A4BD01;
  padding-bottom: 0.2rem;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

/* === Boutons principaux === */
/* === BOUTON PRINCIPAL PERSONNALISÉ === */
.elementor-button.btn-principal {
  background-color: #A4BD01;
  color: #ffffff;
  font-weight: bold;
  text-transform: uppercase;
  padding: 0.75em 1.5em;
  border: 2px solid #A4BD01;
  font-family: 'Arial', sans-serif;
  transition: all 0.3s ease;
  display: inline-block;
  text-align: center;
  border-radius: 6px; /* coins arrondis */
}

/* === EFFET SURVOL === */
.elementor-button.btn-principal:hover {
  background-color: #ffffff;
  color: #A4BD01 !important;
  border: 2px solid #A4BD01 !important;
  font-weight: bold;
  border-radius: 6px; /* conserver l'arrondi au survol */
}

/* === Boutons secondaires "Voir plus" === */
/* Appliquer la classe : .btn-secondaire */
.btn-secondaire,
a.btn-secondaire,
.elementor-button.btn-secondaire {
  background-color: transparent;
  color: #A4BD01;
  font-weight: bold;
  text-transform: uppercase;
  padding: 0.75em 1.5em;
  border: 2px solid #A4BD01;
  transition: all 0.3s ease;
  display: inline-block;
  cursor: pointer;
}

.btn-secondaire:hover,
a.btn-secondaire:hover,
.elementor-button.btn-secondaire:hover {
  background-color: #A4BD01;
  color: #ffffff;
  border: 2px solid #A4BD01;
}

/* === H1 blanc pour photos === */
.white-on-photo {
  color: #fff !important;
  text-transform: uppercase;
  font-size: 2rem;
  font-weight: 700;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.8);
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 3px;
  display: inline-block;
  padding: 0.2em 0.4em;
  border: none !important;
}

/* === Responsive === */
@media (max-width: 768px) {
  body {
    font-size: 14px;
    padding: 0.75rem;
  }

  h1 {
    font-size: 1.75rem;
  }

  h2 {
    font-size: 1.8rem;
  }

  h3 {
    font-size: 1rem;
  }

  .white-on-photo {
    font-size: 1.75rem;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 13px;
    padding: 0.5rem;
  }

  h1 {
    font-size: 1.5rem;
  }

  h2 {
    font-size: 1.5rem;
  }

  h3 {
    font-size: 0.9rem;
  }

  .white-on-photo {
    font-size: 1.5rem;
  }
}

/*================MENU PRINCIPAL==================*/
/*menu*/
/* ===== Menu Elementor : style élancé + soulignage vert animé ===== */

/* 1) Style de base des liens (élancés, majuscules, bleu) */
.elementor .elementor-nav-menu--main .elementor-item,
.elementor .elementor-nav-menu--main a.elementor-item {
  position: relative;
  display: inline-block;          /* nécessaire pour la barre ::after */
  color: #06668C !important;      /* toujours bleu */
  text-decoration: none !important; /* retire tout soulignement natif noir */
  border-bottom: none !important;   /* au cas où un thème ajoute une bordure */
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 0.08em;
  font-family: "Roboto Condensed", "Montserrat", "Poppins", Arial, sans-serif;
  transition: color 0.3s ease;
  line-height: 1.2;               /* un peu plus serré, plus élancé */
}

/* 2) Barre de soulignage verte (invisible par défaut) */
.elementor .elementor-nav-menu--main .elementor-item::after,
.elementor .elementor-nav-menu--main a.elementor-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;                  /* distance sous le texte */
  height: 2px;                   /* épaisseur */
  background-color: #A4BD01;     /* VERT */
  width: 0;
  transition: width 0.3s ease;
}

/* 3) Au survol : déploie la barre verte (texte reste bleu) */
.elementor .elementor-nav-menu--main .elementor-item:hover,
.elementor .elementor-nav-menu--main a.elementor-item:hover {
  color: #06668C !important; 
	font-weight: 500 !important;
	/* reste bleu au hover */
}
.elementor .elementor-nav-menu--main .elementor-item:hover::after,
.elementor .elementor-nav-menu--main a.elementor-item:hover::after {
  width: 100%;
}

/* 4) (Optionnel) Garde la barre verte sur l'élément actif */
.elementor .elementor-nav-menu--main .current-menu-item > .elementor-item::after,
.elementor .elementor-nav-menu--main .elementor-item.elementor-item-active::after {
  width: 100%;
}

/* 5) Sécurité : retire tout soulignage/bordure forcé par un thème */
.elementor .elementor-nav-menu--main .elementor-item,
.elementor .elementor-nav-menu--main a.elementor-item {
  text-decoration-color: transparent !important;
  -webkit-text-decoration-color: transparent !important;
  box-shadow: none !important;
}

/* 6) Sous-menus (si nécessaire) : même style */
.elementor .elementor-nav-menu--dropdown a.elementor-sub-item {
  position: relative;
  display: inline-block;
  color: #06668C !important;
  text-decoration: none !important;
  font-weight: 300;
  letter-spacing: 0.06em;
}
.elementor .elementor-nav-menu--dropdown a.elementor-sub-item::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 2px;
  background-color: #A4BD01;
  width: 0;
  transition: width 0.3s ease;
}
.elementor .elementor-nav-menu--dropdown a.elementor-sub-item:hover::after {
  width: 100%;
}
/*==================fin menu principal=============*/

/* ===== BOUTONS DE MENU : connexion et inscription ===== */
.menu-btn-ARMconnexion,
.menu-btn-ARMinscription {
  display: inline-block;
  text-decoration: none !important;
  font-family: inherit !important;
  font-weight: 400 !important;   /* pas en gras */
  font-size: 15px !important;
  line-height: 1.5 !important;
  padding: 10px 22px !important;
  border-radius: 6px !important;
  transition: all .2s ease-in-out;
  vertical-align: middle;
  box-shadow: none !important;
}

/* Couleurs (desktop et mobile) */
.menu-btn-ARMconnexion { 
  background-color: #06668C !important; 
  color: #fff !important; 
  border: 2px solid #06668C !important;
}
.menu-btn-ARMconnexion:hover,
.menu-btn-ARMconnexion:focus {
  background-color: #fff !important; 
  color: #06668C !important; 
  border-color: #06668C !important;
}
.menu-btn-ARMinscription { 
  background-color: #A4BD01 !important; 
  color: #fff !important; 
  border: 2px solid #A4BD01 !important;
}
.menu-btn-ARMinscription:hover,
.menu-btn-ARMinscription:focus {
  background-color: #fff !important; 
  color: #A4BD01 !important; 
  border-color: #A4BD01 !important;
}

/* Mobile & tablette : boutons comme liens côte à côte */
@media (max-width: 1024px) {
  .menu-btn-ARMconnexion,
  .menu-btn-ARMinscription {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    display: inline-block !important; /* côte à côte */
    width: auto !important;           /* pas 100% */
    margin: 0 8px 0 0 !important;     /* petit espace entre eux */
    text-decoration: none !important;
    vertical-align: middle;
  }

  /* Couleurs fixes */
  .menu-btn-ARMconnexion { color: #06668C !important; }
  .menu-btn-ARMinscription { color: #A4BD01 !important; }

  /* Hover = souligné */
  .menu-btn-ARMconnexion:hover,
  .menu-btn-ARMinscription:hover {
    text-decoration: underline !important;
    background: none !important;
    border: none !important;
  }
}

/* fin css boutons connexion et inscription*/

/* === profils css === */
/* Container / bouton profil */
/* ==== USER MENU (avatar + nom + sous-menu) ==== */

/* ===== User menu – base ===== */
.profil-dropdown-container{
  position: relative;
  display: inline-flex;           /* s’aligne comme un bouton */
  align-items: center;
  gap: .5rem;
}

/* Déclencheur (avatar + nom) */
.profil-icon{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  cursor: pointer;
  user-select: none;
  min-height: 36px;               /* ~ hauteur de tes boutons (10px+10px+line-height) */
  padding: 4px 8px;               /* zone cliquable confortable */
  border-radius: 6px;
}
.profil-icon:focus{ outline: 2px solid #a4bd01; outline-offset: 2px; }

/* Avatar aligné à la hauteur des boutons */
.profil-avatar{
  width: 28px;                    /* ajuste si besoin (26–32) */
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* Nom (bleu, coupe propre si long) */
.profil-name{
  color: #06668C;
  font-weight: 400;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Panneau déroulant */
.profil-dropdown-menu{
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 220px;
  padding: 6px 0;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  display: none;                  /* fermé par défaut */
  pointer-events: none;           /* ne bloque rien quand fermé */
  z-index: 9999;
}
.profil-dropdown-container.is-open .profil-dropdown-menu{
  display: block;
  pointer-events: auto;
}
.profil-dropdown-menu a{
  display: block;
  padding: 10px 14px;
  color: #06668C;
  text-decoration: none;
}
.profil-dropdown-menu a:hover{
  background: #A4BD01;
  color: #fff;
}

/* ===== Sécurité header/Elementor (clics fiables) ===== */
.elementor-location-header .elementor-background-overlay,
.elementor-location-header .elementor-motion-effects-layer,
.elementor-location-header .elementor-shape,
.elementor-location-header .elementor-sticky--effects:before{
  pointer-events: none !important;
}
.elementor-location-header a,
.elementor-location-header button,
.elementor-location-header .elementor-nav-menu a{
  pointer-events: auto !important;
  position: relative;
  z-index: 11;
}
/* Si ton conteneur CTA a une classe (ex. header-cta), tu peux sécuriser un cran au-dessus : */
/* .elementor-location-header .header-cta, .elementor-location-header .header-cta *{ z-index:12; } */

/* Les soulignages animés du menu ne prennent pas la souris */
.elementor .elementor-nav-menu--main .elementor-item::after,
.elementor .elementor-nav-menu--main a.elementor-item::after,
.elementor .elementor-nav-menu--dropdown a.elementor-sub-item::after{
  pointer-events: none !important;
}

/* Mobile: garde propre sans rien casser */
@media (max-width: 480px){
  .profil-name{ max-width: 140px; }
}


/*==================menu dropdown===============*/
/*==============================================*/


/* Styles spécifiques pour le bloc dans conteneur-texte-image */
.conteneur-texte-image .conteneur-flex {
  display: flex;
  flex-direction: row;
  gap: 20px; /* espace entre texte et image */
}

.conteneur-texte-image .conteneur-flex .image {
  display: flex;
  align-items: center; /* centre verticalement l'image */
  justify-content: center; /* centre horizontalement si besoin */
}

.conteneur-texte-image .conteneur-flex .image img {
  max-width: 100%;
  height: auto;
  display: block;
}

.conteneur-texte-image .conteneur-flex .texte {
  /* Ajoute ici des styles spécifiques au texte si besoin */
}


footer .title {
  color: #A4BD01;
  font-weight: bold;
}

/* ==========================================
   Style spécial pour liens Coservio
   À appliquer uniquement dans une zone
   en ajoutant la classe .link-coservio
   ========================================== */

a.link-coservio {
   text-decoration: underline !important;
  text-decoration-color: #a4bd01 !important;
}

a.link-coservio:hover,
a.link-coservio:focus {
  text-decoration: underline !important;
  text-decoration-color: #a4bd01 !important;
}




