/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.19.4.1673602604
Updated: 2023-01-13 10:36:23

*/

.mobile_menu_bar::before {
    color: white;
}

input.obligatoire {
    width: 100%;
    padding: 12px 16px;
    font-size: 16px;
    border: 2px solid #ccc;
    border-radius: 6px;
    background-color: #f9f9f9;
    color: #333;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

input.obligatoire::placeholder {
    color: #888;
    opacity: 1;
}

input.obligatoire:focus {
    outline: none;
    border-color: #0073e6; /* Bleu clair */
    box-shadow: 0 0 0 3px rgba(0, 115, 230, 0.2);
}

input.obligatoire:invalid {
    border-color: #e53935; /* Rouge validation */
}

input.obligatoire:invalid:focus {
    box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.2);
}

#top-menu-nav .menu-item.menu-item-reseaux {
    margin-left: 10px;
}
#top-menu-nav .menu-item-reseaux .suivre-reseaux {
    background-color: #000;
    padding: 7px 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 0;
}
#top-menu-nav .menu-item-reseaux .texte {
	color: #fff;
	font-weight: bold;
	font-size: 14px;
}
#top-menu-nav .menu-item-reseaux img.rs1 {
	width: 20px;
	height: 20px;
	background: #000;
	transition: transform 0.2s ease;
}
#top-menu-nav .menu-item-reseaux img.rs2 {
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 50%;
	padding: 4px;
	transition: transform 0.2s ease;
}
#top-menu-nav .menu-item-reseaux a:hover img {
	transform: scale(1.1);
}

.et_header_style_left #et-top-navigation nav>ul>li>a {
    padding-bottom: 10px !important;
	padding-top: 10px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
}

#top-menu-nav li.menu-item.menu-app {
    margin-top: -28px;
}
#top-menu-nav i.menu-item.menu-app a {
    padding-bottom: 0px !important;
	padding-top: 0px !important;
}

#top-menu-nav {
    padding-bottom: 20px;
}
#top-menu-nav li {
    padding-right: 0px !important;
}
#top-menu-nav li.barre a {
    border-right: solid 2px #00A2A2;
}

#top-menu-nav li.btnvisite a {
    color: black !important;
    background-color: white;
}
.et-fixed-header #top-menu li.btnvisite > a {
    color: #000000 !important; /* ou la couleur que tu veux */
}

#top-menu-nav li.btnpostule a {
	margin-left: 10px;
    color: white !important;
    background-color: #0C5353;
}

#top-menu-nav li.btncontact a {
	margin-left: 10px;
    color: white !important;
    background-color: #E95801;
}

#top-menu-nav li.btnrs a {
    background: black;
    margin-left: 10px;
	max-height: 34px;
}

img.rs1, img.rs2 {
    height: 18px;
	vertical-align: middle;
}

a.icon {
    margin-right: 20px;
}

.ligne {
    display: flex;
}
.cellule {
    width: 50%;
    text-align: center;
    margin-top: 20px;
}

.bandeau {
  display: flex;
  align-items: center;        /* centrage vertical */
  padding: 10px 10px;
  background-color: #0f5553;  /* vert du bandeau */
  gap: 10px;
  justify-content: center;
}

.logo img {
  height: 60px;               /* ajuste selon le rendu souhaité */
  width: auto;
}

.texte {
  color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-size: 2.8rem;
  font-weight: 300;
}

/******************************
* formulaire de contacts
******************************/
.meschamps {
    width: 100%;
    height: 62px;
    margin-bottom: 10px !important;
    margin-left: 10px !important;
	background-color: #F3F6F6 !important;
}

.col1, .col2 {
    display: block;
    float: left;
    width: 50%;
    padding-top: 10px;
	padding-right: 10px;
}

.col12 {
    display: block;
    float: left;
    width: 100%;
    padding-top: 10px;
	padding-right: 10px;
}
input.wpcf7-form-control.wpcf7-submit {
    margin-bottom: 10px !important;
    margin-left: 10px !important;
    width: 100%;
    background-color: #E95801;
    color: white;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
}

/******************************
* dddd
******************************/
.title-with-overflow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 2vw, 24px);
  position: relative;
  overflow: visible !important;   /* utile mais pas suffisant si un parent coupe */
  line-height: 1.1;
  padding-bottom: 40px;           /* évite que le débordement chevauche le contenu sous le titre */
}

.title-with-overflow .title-text{
  white-space: nowrap;
}

.title-with-overflow img{
  width: clamp(60px, 8vw, 150px);
  height: auto;
  flex-shrink: 0;
  transform: translateY(28px);    /* 🔥 déborde vers le bas */
}