@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

body {
	line-height: 1.5;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	overflow-x: hidden;
	background-color: #f4f4f4;
}

* {
	margin: 0;
	box-sizing: border-box;
}

:before,
:after {
	box-sizing: border-box;
}

.container {
	max-width: 1200px;
	margin: auto;
}

.row {
	display: flex;
	flex-wrap: wrap;
}

.v-center {
	align-items: center;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

a {
	text-decoration: none;
}

/* header */
.header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 99;
	padding: 15px;
}

.header .item-right {
	flex: 0 0 17%;
	display: flex;
	justify-content: flex-end;
}

.header .item-right a {
	text-decoration: none;
	font-size: 16px;
	color: #555555;
	display: inline-block;
	margin-left: 10px;
	transition: color 0.3s ease;
}

.header .menu>ul>li {
	display: inline-block;
	line-height: 50px;
	margin-left: 25px;
}

.header .menu>ul>li>a {
	font-size: 15px;
	font-weight: 500;
	color: white;
	position: relative;
	text-transform: capitalize;
	transition: color 0.3s ease;
}

.header .menu>ul>li .sub-menu {
	position: absolute;
	z-index: 500;
	/* background-color: rgba(0, 188, 149, 0.7); */
	/* background-color: rgba(79, 114, 156, 0.9); */
	background:linear-gradient(135deg,#1d5fa9,#3572bc);
	box-shadow: -2px 2px 70px -25px rgba(0, 0, 0, 0.3);
	padding: 20px 30px;
	transition: all 0.5s ease;
	margin-top: 25px;
	opacity: 0;
	visibility: hidden;
}

@media(min-width: 992px) {
	.header .menu>ul>.dropdown-item-container>.dropdown>ul>li {
		line-height: 43px !important;
		height: 43px !important;
		padding: 0px 15px 15px 0px;
	}

	.header .menu>ul>li.meni-items-has-children>div>a:hover {
		color: #00bc95;
	}

	.header .menu>ul>li.menu-item-has-children:hover .sub-menu {
		margin-top: 0;
		visibility: visible;
		opacity: 1;
	}
}

.header .menu>ul>li .sub-menu>ul>li {
	line-height: 1;
}

.header .menu>ul>li .sub-menu>ul>li>a {
	display: inline-block;
	padding: 10px 0;
	font-size: 15px;
	color: white;
	transition: color 0.3s ease;
	text-decoration: none;
	text-transform: capitalize;
}

.header .menu>ul>li .single-column-menu {
	min-width: 280px;
	max-width: 350px;
}

.header .menu>ul>li .sub-menu.mega-menu>.list-item>ul>li {
	line-height: 1;
	display: block;
}

.header .menu>ul>li .sub-menu.mega-menu>.list-item>ul>li>a {
	padding: 10px 0;
	display: inline-block;
	font-size: 15px;
	color: white;
	transition: color 0.3s ease;
}

.header .menu>ul>li .sub-menu.mega-menu {
	left: 50%;
	transform: translateX(-50%);
}

.header .menu>ul>li .sub-menu.mega-menu-column-4 {
	max-width: 1100px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 20px 15px;
}

.header .menu>ul>li .sub-menu.mega-menu-column-4>.list-item {
	flex: 0 0 25%;
	padding: 0 15px;
}

.header .menu>ul>li .sub-menu.mega-menu-column-4>.list-item .title {
	font-size: 16px;
	color: white;
	font-weight: 500;
	line-height: 1;
	padding: 10px 0;
}

.header .menu>ul>li .sub-menu.mega-menu-column-4>.list-item.text-center .title {
	text-align: center;
}

.header .menu>ul>li .sub-menu.mega-menu-column-4>.list-item img {
	max-width: 100%;
	width: 100%;
	vertical-align: middle;
	margin-top: 10px;
}

.list-item>ul>li:hover{
	background: rgba(255,255,255,.20) !important;
    color: #fff !important;
}

/* .header .menu>ul>li .sub-menu.mega-menu>.list-item>ul>li>a:hover,
.header .menu>ul>li .sub-menu>ul>li>a:hover,
.header .item-right a:hover,
.header .menu>ul>li:hover>a {
	color: #00bc95;
} */

/* banner section */
.banner-section {
	background-image: url('../img/banner.jpg');
	background-size: cover;
	background-position: center;
	height: 700px;
	width: 100%;
	display: block;
}

.mobile-menu-head,
.mobile-menu-trigger {
	display: none;
}
		@media (max-width: 991px) {
    		.navbar-brand {
        		margin-left: 10px !important;
        		position: relative !important;
        		left: 0 !important;
        		order: -1 !important;
    		}
    
    		[dir="rtl"] .navbar-brand {
        		margin-left: 0 !important;
        		margin-right: 15px !important;
        		order: -1 !important;
    		}
		}

/*responsive*/
@media(max-width: 991px) {

	.header .item-center {
		order: 3;
		flex: 0 0 100%;
	}

	.header .item-left,
	.header .item-right {
		flex: 0 0 auto;
	}

	.v-center {
		justify-content: space-between;
	}

	.header .mobile-menu-trigger {
		display: flex;
		height: 30px;
		width: 30px;
		margin-left: 15px;
		cursor: pointer;
		align-items: center;
		justify-content: center;
	}

	.header .mobile-menu-trigger span {
		display: block;
		height: 2px;
		background-color: #ffffff;
		width: 24px;
		position: relative;
	}

	.header .mobile-menu-trigger span:before,
	.header .mobile-menu-trigger span:after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #ffffff;
	}

	.header .mobile-menu-trigger span:before {
		top: -6px;
	}

	.header .mobile-menu-trigger span:after {
		top: 6px;
	}

	.header .item-right {
		align-items: center;
	}

	.header .menu {
		position: fixed;
		width: 320px;
		background-color: #ffffff;
		left: 0;
		top: 0;
		height: 100%;
		overflow: hidden;
		transform: translate(-100%);
		transition: all 0.5s ease;
		z-index: 1099;
	}

	.header .menu.active {
		transform: translate(0%);
	}

	.header .menu>ul>li {
		line-height: 1;
		margin: 0;
		display: block;
	}

	.header .menu>ul>li>a {
		line-height: 50px;
		height: 50px;
		padding: 0 50px 0 15px;
		display: block;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}

	.header .menu>ul>li>a i {
		position: absolute;
		height: 50px;
		width: 50px;
		top: 0;
		right: 0;
		text-align: center;
		line-height: 50px;
		transform: rotate(-90deg);
	}

	.header .menu>ul>.dropdown-item-container {
		line-height: 50px !important;
		height: 50px !important;
		padding: 0 50px 0 15px !important;
		display: block !important;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
	}

	[type=button]:not(:disabled),
	[type=reset]:not(:disabled),
	[type=submit]:not(:disabled),
	button:not(:disabled) {
		height: 30px;
		border-bottom: #a1a1a1 1px;
	}

	.header .menu .dropdown-menu {
		width: 100%;
		/* Utiliser toute la largeur */
		left: 0;
		/* Alignement � gauche */
		right: 0;
		/* Alignement � droite */
		box-shadow: none;
		/* Supprimer les ombres pour une meilleure int�gration */
		min-height: 200px;
		/* Hauteur minimale */
		max-height: 400px;
		/* Hauteur maximale */
		overflow-y: auto;
		/* Permet le d�filement si le contenu d�passe */
	}

	.header .menu .dropdown-item {
		padding: 15px;
		/* Ajustez le padding pour une meilleure accessibilit� */
		text-align: left;
		height: 40px;
		/* Alignement du texte � gauche */
	}

	.header .menu>ul>li .sub-menu {
		width: 100%;
		/* Assurez-vous que les sous-menus prennent toute la largeur */
		padding: 10px 0;
		/* Ajuster le padding si n�cessaire */
		box-shadow: none;
		/* Pour une meilleure int�gration visuelle */
		min-height: 200px;
		/* Hauteur minimale */
		max-height: 400px;
		/* Hauteur maximale */
		overflow-y: auto;
		/* Permet le d�filement */
	}

	/* Optionnel: pour un meilleur visuel */
	.header .menu .dropdown-item:hover {
		background-color: rgba(0, 188, 149, 0.2);
		/* Effet de survol */
	}

	.header .menu .mobile-menu-head {
		display: flex;
		height: 50px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
		justify-content: space-between;
		align-items: center;
		position: relative;
		z-index: 501;
		position: sticky;
		background-color: rgba(0, 188, 149, 0.6);
		top: 0;
	}

	.header .menu .mobile-menu-head .go-back {
		height: 50px;
		width: 50px;
		border-right: 1px solid rgba(0, 0, 0, 0.1);
		cursor: pointer;
		line-height: 50px;
		text-align: center;
		color: #000000;
		font-size: 16px;
		display: none;
	}

	.header .menu .mobile-menu-head.active .go-back {
		display: block;
	}

	.header .menu .mobile-menu-head .current-menu-title {
		font-size: 15px;
		font-weight: 500;
		color: #000000;
	}

	.header .menu .mobile-menu-head .mobile-menu-close {
		height: 50px;
		width: 50px;
		border-left: 1px solid rgba(0, 0, 0, 0.1);
		cursor: pointer;
		line-height: 50px;
		text-align: center;
		color: white;
		font-size: 25px;
	}

	.header .menu .menu-main {
		height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		background-color: rgba(0, 188, 149, 0.6);
		;
	}

	.header .menu>ul>li .sub-menu.mega-menu,
	.header .menu>ul>li .sub-menu {
		visibility: visible;
		opacity: 1;
		position: absolute;
		box-shadow: none;
		margin: 0;
		padding: 15px;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding-top: 65px;
		max-width: none;
		min-width: auto;
		display: none;
		transform: translateX(0%);
		overflow-y: auto;
	}

	.header .menu>ul>li .sub-menu.active {
		display: block;
	}

	@keyframes slideLeft {
		0% {
			opacity: 0;
			transform: translateX(100%);
		}

		100% {
			opacity: 1;
			transform: translateX(0%);
		}
	}

	@keyframes slideRight {
		0% {
			opacity: 1;
			transform: translateX(0%);
		}

		100% {
			opacity: 0;
			transform: translateX(100%);
		}
	}

	.header .menu>ul>li .sub-menu.mega-menu-column-4>.list-item img {
		margin-top: 0;
	}

	.header .menu>ul>li .sub-menu.mega-menu-column-4>.list-item.text-center .title {
		margin-bottom: 20px;
	}

	.header .menu>ul>li .sub-menu.mega-menu-column-4>.list-item.text-center:last-child .title {
		margin-bottom: 0px;
	}

	.header .menu>ul>li .sub-menu.mega-menu-column-4>.list-item {
		flex: 0 0 100%;
		padding: 0px;
	}

	.header .menu>ul>li .sub-menu>ul>li>a,
	.header .menu>ul>li .sub-menu.mega-menu>.list-item>ul>li>a {
		display: block;
	}

	.header .menu>ul>li .sub-menu.mega-menu>.list-item>ul {
		margin-bottom: 15px;
	}

	.menu-overlay {
		position: fixed;
		background-color: rgba(0, 0, 0, 0.5);
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 1098;
		visibility: hidden;
		opacity: 0;
		transition: all 0.5s ease;
	}

	.menu-overlay.active {
		visibility: visible;
		opacity: 1;
	}
}





a:hover,
a:focus,
a:active,
.social-icons i:hover,
.twitter_tweet i,
.twitter_tweet p,
#ajaxsuccess,
.navbar-custom .navbar-nav>.active>a,
.navbar-custom .navbar-nav>.active>a:hover,
.navbar-custom .navbar-nav>.active>a:focus,
.navbar-custom .navbar-nav>.open>a,
.navbar-custom .navbar-nav>.open>a:hover,
.navbar-custom .navbar-nav>.open>a:focus,
.navbar-custom .navbar-nav>li>a:hover,
.navbar-custom .navbar-nav>li>a:focus,
.navbar-custom .navbar-nav>li>a:hover,
.md-content h5 {
	color:#4a7ebe;
}

.btn-custom,
.btn-custom-sm,
.back-to-top {
	background-color:#3572bc;
}

.form-control:focus,
.btn-custom,
.btn-custom-sm {
	border-color: white;
}

.titleHR span {
	background: none repeat scroll 0 0 #00bc95;
}

.top-navbar{
    display:flex;
    align-items:center;
}

.right-side{
    margin-left:auto;
    display:flex;
    align-items:center;
	font-size: 18px;
    gap:30px; /* espace entre téléphone et réseaux sociaux */
}

.other-links{
    display:flex;
    gap:12px;
}
 /* .top-navbar {
	width: 100%;
	height: 7vh;
	background-color: white;
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: space-between;
} */

/* .top-icons {
	margin-left: 100px;
}

.top-icons i {
	font-size: 10px;
	color: #f51818;
	cursor: pointer;
}   */

/* .main-home {
	padding: 330px 0px 250px 0;
	z-index: 1;
	text-align: center;
	position: relative;
	font-size: 13px;
	color: #fff;
	background: #000;
	min-height: 400px;
} */

/* .home-page-photo {
	background-image: url(../images/bg-5.jpg);
	background-size: cover;
	z-index: -1;
	position: absolute;
	top: 0;
	opacity: 0.50;
	right: 0;
	bottom: 0;
	left: 0;
} */

.arrow {
	position: fixed;
	bottom: 50px;
	right: 50px;
	text-decoration: none;
	text-align: center;
	line-height: 50px;
	transition: opacity 0.3s ease;
}

.arrow:hover {
	opacity: 0.7;
}

/* 11 Twitter-tweets
  ----------------------------------------------------------------------------- */
#twitter_tweet {
	background-image: url('../images/nordwood-themes-kRNZiGKtz48-unsplash.jpg');
	height: 350px;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	background-position: center top;
	transition: background-position 0.5s ease;
	/* Animation de transition */
}

.twitter_tweet h5 {
	font-weight: 300;
	line-height: 20px;
	color: rgba(255, 255, 255, 0.77);
}

.twitter_tweet i {
	font-size: 30px;
	margin-top: 50px;
}


/* 13 Contact
  ----------------------------------------------------------------------------- */
.form-main {
	padding-top: 30px;
}

.error {
	margin: 8px 0px;
	display: none;
	color: red;
}

#ajaxsuccess {
	font-size: 16px;
	width: 100%;
	display: none;
	clear: both;
	margin: 8px 0px;
}

#contact .con_sub_text {
	margin-top: 20px;
}

#contact textarea.form-control {
	height: 120px;
}

/* 14 Footer
  ----------------------------------------------------------------------------- */
footer p {
	margin-bottom: 20px;
	font-size: 12px;
	text-align: justify;
	margin-left: 100px;
}

#footer {
	margin-top: 30px;
	padding: 40px 0px 0px 0px;
	background-color: rgba(0, 0, 0, 0.8);
	border-top: 1px solid #e4e4e4;
}

.footer-content {
	padding: 40px 0px 80px;
}

.footer-content ul>li>a {
	color: white;
	font-size: 14px;
}

.footer-content ul>li>a:hover {
	color: #00bc95;
}

.footer-content a {
	color: white;
	font-size: 14px;
}

.footer-content a:hover {
	color: #00bc95;
}

.footer-bottom {
	background-color: #f7f7f7;
	color: #a1a1a1;
	padding: 20px 0px 1px;
}

.footer-socials {
	position: relative;
	margin: 47px 0px 20px 0px;
	text-align: center;
}

.footer-socials a {
	display: inline-block;
}

.footer-socials i {
	width: 42px;
	height: 42px;
	line-height: 42px;
	background: transparent;
	border: 2px solid #E7EBEF;
	margin: 0px auto;
	position: relative;
	display: inline-block;
	margin: 0px 5px;
	border-radius: 50%;
	text-align: center;
	font-size: 18px;
	color: #282A2E;
}


.animationload {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	/* change if the mask should have another color then white */
	z-index: 999999;
}

.loader {
	width: 200px;
	height: 200px;
	font-size: 24px;
	text-align: center;
	position: absolute;
	left: 50%;
	top: 50%;
	background-image: url(../images/preloader.gif);
	background-repeat: no-repeat;
	background-position: center;
	margin: -100px 0 0 -100px;
}

.card a {
	margin-left: auto;
	margin-right: auto;
	width: 100px;
}

.list li>a {
	color: white;
	font-size: 15px;
}

.list li>a:hover {
	color: #00bc95;
}

.list li {
	text-align: justify;
	margin-left: 100px;
}

.col-wrapper h5 {
	color: #00bc95;
}

.col-wrapper h5 a {
	color: black;
}

.col-wrapper h5 a:hover {
	color: #00bc95;
}

.text-center.services-item .col-wrapper {
	box-shadow: 1px 1px 5px #f4f4f4;
	border-radius: 50px;
	background-color: #f1f1f1;
	padding: 20px;
}

.text-center.services-item .col-wrapper:hover {
	transform: scale(1.05);
	background-color: #f2f2f2;
}

.card {
	padding: 10px;
	transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s;
	/* Ajoutez d'autres styles de votre choix pour le card */
}

/* .card:hover {
	background-color: #00bc95;
	color: white;
	font-weight: bold;
} */

/* .card:hover .card-text,
.card:hover .card-title,
.card:hover .btn.btn-custom {
	color: white;
} */

.card:hover .btn.btn-custom {
	border-color: white;
}

.card-text,
.card-title {
	color: #00bc95;
	font-weight: bold;
}

#paragraphe p {
	color: black;
	font-size: 12px;
}

.lienn {
	color: white;
}

.lien {
	color: black;
}

.dropdown ul>li>a {
	color: white;
}

.dropdown ul>li>.dropdown-item:hover {
	 background: rgba(255,255,255,.20) !important;
    color: #fff !important;
}

.modal-content {
	background-color: #3572bc;
}


/* Dans votre style.css */
.navbar-toggler {
    border: 1px solid white;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Pour votre menu personnalis� en mobile */
@media(max-width: 991px) {
    .header .menu {
        transform: translateX(-100%);
        transition: transform 0.3s ease;
    }
    
    .header .menu.active {
        transform: translateX(0);
    }
    
    /* Assurez-vous que le bouton hamburger est visible */
    .mobile-menu-trigger {
        display: flex !important;
        flex-direction: column;
        justify-content: space-around;
        width: 30px;
        height: 30px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 1100;
    }
    
    .mobile-menu-trigger span {
        width: 30px;
        height: 3px;
        background: white;
        border-radius: 10px;
        transition: all 0.3s linear;
        position: relative;
        transform-origin: 1px;
    }
	
}

/* ============================================================
   ============================================================ */

@media (max-width: 991px) {

  /* ── 1. Reset height:30px qui écrase tout ── */
  [type=button]:not(:disabled),
  [type=reset]:not(:disabled),
  [type=submit]:not(:disabled),
  button:not(:disabled) {
    height: auto !important;
    min-height: unset !important;
  }

  /* ── 2. Panneau menu principal ── */
  .header .menu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 300px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 1099 !important;
    transform: translateX(-100%) !important;
    transition: transform 0.3s ease !important;
    background-color: #0f1f3c !important;
    display: block !important;
  }

  .header .menu.active {
    transform: translateX(0) !important;
  }

  /* ── 3. Liste principale — scroll interne ── */
  .header .menu .menu-main {
    height: auto !important;
    min-height: calc(100vh - 56px) !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    background-color: #0f1f3c !important;
    padding-bottom: 60px !important;
    display: block !important;
  }

  /* ── 4. Chaque <li> du menu ── */
  .header .menu > ul > li {
    display: block !important;
    line-height: 1 !important;
    margin: 0 !important;
    height: auto !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  /* ── 5. Liens simples (Accueil, Présentation, Services, Tarifs) ── */
  .header .menu > ul > li > a {
    display: block !important;
    line-height: 52px !important;
    height: 52px !important;
    padding: 0 18px !important;
    color: rgba(255,255,255,.88) !important;
    font-size: .93rem !important;
    font-weight: 500 !important;
    border-bottom: none !important;
  }

  .header .menu > ul > li > a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.06) !important;
  }

  /* ── 6. Boutons Connexion et Inscription (#authent) ── */
  .header .menu > ul > li > a.btn-custom#authent,
  .header .menu > ul > li > a#authent {
    display: block !important;
    height: auto !important;
    line-height: 1 !important;
    margin: 8px 16px !important;
    padding: 12px 24px !important;
    border-radius: 50px !important;
    background: #3572bc !important;
    color: #fff !important;
    font-weight: 600 !important;
    text-align: center !important;
    border-bottom: none !important;
    box-shadow: 0 4px 14px rgba(53,114,188,.35) !important;
  }

  .header .menu > ul > li > a.btn-custom#authent:hover,
  .header .menu > ul > li > a#authent:hover {
    background: #265a9e !important;
  }

  /* ── 7. Item langue (dropdown-item-container) ── */
  .header .menu > ul > li.dropdown-item-container {
    display: block !important;
    height: auto !important;
    min-height: 56px !important;
    line-height: 1 !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  /* Bouton FR/AR */
  .header .menu > ul > li.dropdown-item-container #lang-btn-display {
    height: auto !important;
    color: rgba(255,255,255,.88) !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-size: .88rem !important;
    width: 100% !important;
    text-align: left !important;
  }

  /* Dropdown des langues */
  .header .menu .dropdown-menu {
    width: 100% !important;
    max-height: 200px !important;
    overflow-y: auto !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 8px !important;
    background-color: rgba(53,114,188,.95) !important;
    margin-top: 6px !important;
    position: static !important;
    float: none !important;
  }

  .header .menu .dropdown-item {
    height: auto !important;
    min-height: 44px !important;
    padding: 12px 15px !important;
    color: #fff !important;
    font-size: .88rem !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
  }

  .header .menu .dropdown-item:hover {
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
  }

  /* ── 8. Item "Annonces" avec sa div wrapper ── */
  .header .menu > ul > li.menu-item-has-children {
    position: relative !important;
    height: auto !important;
  }

  .header .menu > ul > li.menu-item-has-children > div {
    display: flex !important;
    align-items: center !important;
    min-height: 52px !important;
    height: auto !important;
    padding: 0 18px !important;
    cursor: pointer !important;
  }

  .header .menu > ul > li.menu-item-has-children > div > a.menu-link {
    flex: 1 !important;
    line-height: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    display: block !important;
    color: rgba(255,255,255,.88) !important;
    font-size: .93rem !important;
    font-weight: 500 !important;
    border-bottom: none !important;
  }

  .header .menu > ul > li.menu-item-has-children > div > i.toggle-submenu {
    font-size: 20px !important;
    color: rgba(255,255,255,.7) !important;
    padding: 0 !important;
    line-height: 1 !important;
    height: auto !important;
    width: auto !important;
  }

  /* ── 9. Sous-menus (Annonces) ── */
  .header .menu > ul > li .sub-menu,
  .header .menu > ul > li .sub-menu.mega-menu {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;        /* ← toute la hauteur du panneau */
    min-height: 100vh !important;
    padding: 0 0 20px !important;    /* ← on gère le padding via les items */
    padding-top: 56px !important;    /* ← laisse la place au go-back header */
    background-color: #0f1f3c !important;
    visibility: visible !important;
    opacity: 1 !important;
    display: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transform: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    z-index: 10 !important;
  }

  .header .menu > ul > li .sub-menu.active {
    display: block !important;
  }

  /* liens dans le sous-menu */
  .header .menu > ul > li .sub-menu > ul > li > a,
  .header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a {
    display: block !important;
    padding: 14px 18px !important;
    color: rgba(255,255,255,.85) !important;
    font-size: .9rem !important;
    height: auto !important;
    line-height: 1.4 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }

  .header .menu > ul > li .sub-menu > ul > li > a:hover,
  .header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.06) !important;
  }

  /* icône rectangle-list dans les sous-menus — masquée */
  .header .menu > ul > li .sub-menu > ul > li > a i,
  .header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a i {
    display: none !important;
  }

  /* colonnes 4 → 1 colonne en mobile */
  .header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item {
    flex: 0 0 100% !important;
    padding: 0 !important;
  }

  /* ── 9b. Header interne du sous-menu (barre go-back) ── */
  /* Le go-back est dans .mobile-menu-head qui est sticky en haut du panneau.
     Quand le sous-menu est actif, on force l'affichage du bouton retour. */
  .header .menu .mobile-menu-head.active {
    background-color: #3572bc !important;
  }

  .header .menu .mobile-menu-head.active .go-back {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    width: 56px !important;
    cursor: pointer !important;
    color: #fff !important;
    font-size: 20px !important;
    border-right: 1px solid rgba(255,255,255,.2) !important;
  }

  /* ── 10. Tête du panneau (barre sticky en haut) ── */
  .header .menu .mobile-menu-head {
    display: flex !important;
    height: 56px !important;
    min-height: 56px !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    justify-content: space-between !important;
    align-items: center !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 501 !important;
    background-color: #3572bc !important;
    padding: 0 !important;
  }

  .header .menu .mobile-menu-head .go-back {
    height: 56px !important;
    width: 56px !important;
    line-height: 56px !important;
    border-right: 1px solid rgba(255,255,255,.15) !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 18px !important;
    cursor: pointer !important;
    display: none !important;
  }

  .header .menu .mobile-menu-head.active .go-back {
    display: block !important;
  }

  .header .menu .mobile-menu-head .current-menu-title {
    color: #fff !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
    padding-left: 18px !important;
  }

  .header .menu .mobile-menu-head .mobile-menu-close {
    height: 56px !important;
    width: 56px !important;
    line-height: 56px !important;
    border-left: 1px solid rgba(255,255,255,.15) !important;
    text-align: center !important;
    font-size: 26px !important;
    color: #fff !important;
    cursor: pointer !important;
  }

  /* ── 11. Overlay sombre derrière le menu ── */
  .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.55) !important;
    z-index: 1098 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transition: all .35s ease !important;
  }

  .menu-overlay.active {
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* ── 12. Bouton hamburger ── */
  .mobile-menu-trigger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-around !important;
    width: 32px !important;
    height: 32px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    z-index: 1100 !important;
  }

  .mobile-menu-trigger span {
    display: block !important;
    width: 28px !important;
    height: 3px !important;
    background: white !important;
    border-radius: 10px !important;
    transition: all .3s linear !important;
    position: relative !important;
    transform-origin: 1px !important;
  }
}
/* header appliquer a tt le site  */
/* ── tokens couleur (identiques sur tout le site) ── */
  :root {
    --brand:       #3572bc;
    --brand-dark:  #265a9e;
    --brand-light: #e8f0fb;
  }

  /* ── navbar transparente → opaque au scroll ── */
  .header {
    background: rgba(15, 31, 60, 0.82) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 0 !important;
    z-index: 1000;
    width: 100%;
    position: fixed;
    transition: background .3s;
  }
  .header.scrolled {
    background: rgba(15, 31, 60, 0.97) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.25);
  }

  .navbar-brand { margin-left: 150px; }
  @media (max-width: 991px) {
    .navbar-brand {
      margin-left: 10px !important;
      position: relative !important;
      left: 0 !important;
      order: -1 !important;
    }
    [dir="rtl"] .navbar-brand {
      margin-left: 0 !important;
      margin-right: 15px !important;
      order: -1 !important;
    }
  }

  .menu-main > li > a {
    color: rgba(255,255,255,.88) !important;
    font-weight: 500;
    font-size: .93rem;
    padding: 28px 14px !important;
    transition: color .2s !important;
  }
  .menu-main > li > a:hover { color: #fff !important; }

  #authent {
    background: var(--brand) !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 9px 22px !important;
    font-weight: 600 !important;
    font-size: .88rem !important;
    border: none !important;
    transition: background .2s, transform .2s !important;
  }
  #authent:hover { background: var(--brand-dark) !important; transform: translateY(-1px) !important; }

  #lang-btn-display {
    color: rgba(255,255,255,.85) !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: .82rem !important;
  }
  .check-fr, .check-ar { position: static; z-index: auto; right: auto; top: auto; }

  .mobile-menu-head, .mobile-menu-trigger { display: none; }
  @media (max-width: 991px) {
    .mobile-menu-trigger {
      display: flex !important;
      flex-direction: column;
      justify-content: space-around;
      width: 30px; height: 30px;
      background: transparent;
      border: none; cursor: pointer; padding: 0;
      z-index: 1100;
    }
    .mobile-menu-trigger span {
      width: 30px; height: 3px;
      background: white; border-radius: 10px;
    }
  }