/* Dissuasion de la copie des photos : ni garantie ni infaillible (une image
   affichée dans un navigateur reste techniquement récupérable), mais bloque
   le clic droit / glisser-déposer pour l'utilisateur occasionnel. */
img {
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-moz-user-drag: none;
	-o-user-drag: none;
	user-drag: none;
	-webkit-touch-callout: none;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

/* Le menu doit toujours rester visible tant qu'on n'est pas sur mobile :
   seul le menu hamburger remplace le menu desktop en dessous de 992px
   (seuil déjà utilisé par le template d'origine pour ce même besoin).
   Au-dessus, la grille fixe 20/60/20 donnait au logo bien plus de place
   qu'il n'en a besoin, au détriment du menu (8 liens) qui en manquait et
   chevauchait les boutons Connexion/Admission : logo/menu/boutons se
   partagent maintenant l'espace selon leur contenu réel, et le menu
   passe proprement sur 2 lignes (centré) si la largeur est trop juste,
   plutôt que de déborder ou de disparaître. */
.nav_actions {
	display: none;
}
@media only screen and (min-width: 992px) {
	.nav_actions {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: wrap;
		gap: 10px 20px;
	}
	#navigation .row > .col-20:first-child {
		width: auto;
		flex: 0 0 auto;
	}
	#navigation .col-60 {
		display: block !important;
		width: auto;
		flex: 1 1 0%;
		min-width: 0;
	}
	#navigation .nav_actions {
		width: auto;
		flex: 0 0 auto;
	}
	#main-menu ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#sm_menu_ham {
		display: none !important;
	}
}
@media only screen and (max-width: 991px) {
	#sm_menu_ham {
		display: block !important;
		top: 40px;
		right: 11%;
		position: absolute;
	}
	/* Le plugin jquery-simple-mobilemenu masque totalement le panneau
	   coulissant à partir de 1024px (display:none) : sans effet ici
	   puisqu'on reste sous ce seuil, gardé par cohérence si jamais ce
	   seuil mobile est un jour remonté. */
	.sm_menu_outer {
		display: block !important;
	}
}
#main-menu ul li a,
.nav_actions .btn_one,
.nav_actions .header-btn {
	white-space: nowrap;
}
.nav_actions .header-btn {
	padding-right: 0;
}

/* Surcharges spécifiques au logo du Groupe Scolaire Bilingue Les Pintadeaux */
.site-logo img.school-logo {
	max-height: 70px;
	width: auto;
	max-width: none;
}

.single_footer img.footer-logo {
	max-height: 90px;
	width: auto;
}

/* Hero accueil : photo réelle de l'école en fond + overlay sombre,
   inspiré du hero "Horeb private University" (texte blanc + mini-carrousel) */
.home_bg--photo {
	overflow: hidden;
}
.home_bg_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(17,28,54,0.85) 0%, rgba(17,28,54,0.55) 60%, rgba(17,28,54,0.25) 100%);
	z-index: 1;
}
.home_bg--photo .container {
	position: relative;
	z-index: 2;
}
.hero-text--light h1,
.hero-text--light h1 span {
	color: #fff;
}
.hero-text--light p {
	color: rgba(255, 255, 255, 0.85);
}
.hero-btn-box {
	display: flex;
	align-items: center;
	gap: 30px;
	flex-wrap: wrap;
}
/* Carrousel plein écran en fond du hero : les 7 photos défilent derrière
   le texte, qui reste fixe (overlay + container passent au-dessus, z-index) */
.hero_bg_carousel,
.hero_bg_carousel .owl-wrapper-outer,
.hero_bg_carousel .owl-wrapper,
.hero_bg_carousel .owl-item,
.hero_bg_slide {
	height: 100%;
}
.hero_bg_carousel {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 0;
}
.hero_bg_carousel .owl-pagination {
	position: absolute;
	bottom: 20px;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 2;
}
.hero_bg_carousel .owl-page span {
	background: rgba(255, 255, 255, 0.5) !important;
}
.hero_bg_carousel .owl-page.active span {
	background: #fff !important;
}
/* Le thème cache les flèches par défaut (display:none) et ne les affiche
   qu'au survol : un élément caché ne peut jamais être survolé pour se
   révéler. On les masque volontairement ici (autoplay suffit). */
.hero_bg_carousel .owl-buttons div {
	display: none !important;
}

/* Photo réelle de l'école dans le hero : coins arrondis + ombre,
   remplace le visuel "personne détourée" d'origine */
.hero-photo {
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(17, 28, 54, 0.25);
}

/* Barre de statistiques qui chevauche le bas de la photo du hero,
   au lieu d'être une section séparée plus bas sur la page */
.count_area--overlap {
	position: relative;
	z-index: 3;
	margin-top: -140px !important;
}
@media only screen and (max-width: 960px) {
	.count_area--overlap {
		margin-top: -80px !important;
	}
}
@media only screen and (max-width: 600px) {
	.count_area--overlap {
		margin-top: 20px !important;
	}
}

/* Barre d'info (horaires + contacts) au-dessus du menu principal */
.topbar {
	background: #111C36;
	padding: 10px 0;
}
.topbar_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 30px;
	padding: 0 65px;
}
.topbar_contacts {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 30px;
}
.topbar_item {
	display: flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 13px;
	letter-spacing: 0.2px;
	white-space: nowrap;
}
.topbar_item i {
	color: #6f8fd4;
	font-size: 15px;
}
a.topbar_item:hover {
	color: #fff;
}
a.topbar_item:hover i {
	color: #fff;
}
@media only screen and (max-width:960px) {
	.topbar_inner {
		justify-content: center;
		text-align: center;
		padding: 0 20px;
	}
	.topbar_contacts {
		justify-content: center;
	}
}
@media only screen and (max-width:480px) {
	.topbar_item span {
		white-space: normal;
	}
}

/* Bandeau de copyright en bas de page : même couleur que la topbar */
.foot_copy {
	background: #111C36;
}
.foot_copy p {
	color: rgba(255, 255, 255, 0.85);
}

/* Footer principal : même couleur que la topbar */
.footer {
	background: #111C36;
}
.footer .single_footer h4 {
	color: #fff;
}
.footer .single_footer p {
	color: rgba(255, 255, 255, 0.85);
}
.footer .single_footer ul li a {
	color: rgba(255, 255, 255, 0.85);
}
.footer .single_footer ul li a:hover {
	color: #fff;
}
.footer .sf_contact span {
	color: #fff;
}
.footer .sf_contact p,
.footer .sf_contact p a {
	color: rgba(255, 255, 255, 0.85);
}
.footer .sf_contact p a:hover {
	color: #fff;
}

/* Neutralise le style d'icône (.single-counter span) hérité par le span
   du compteur animé, pour qu'il ait la même taille que les autres chiffres */
.single-counter h2 .counter-num {
	width: auto;
	height: auto;
	float: none;
	line-height: inherit;
	border-radius: 0;
	font-size: inherit;
	text-align: inherit;
	margin-right: 0;
}

/* Section "Nos 4 piliers" : grille 2x2 de cartes photo */
.pillar_ins_col {
	margin-bottom: 30px;
}
.pillar_ins {
	height: 100%;
	padding: 60px 40px;
	border-radius: 10px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.pillar_ins:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 35px rgba(17, 28, 54, 0.25);
}
.pillar_ins .single_ins_content h4 {
	font-size: 16px;
	opacity: 0.7;
}
.pillar_ins .single_ins_content h1 {
	font-size: 32px;
	line-height: 1.2;
}
.pillar_ins .single_ins_content p {
	font-size: 15px;
	margin-bottom: 0;
}
@media only screen and (max-width:768px) {
	.pillar_ins {padding: 40px 25px;}
	.pillar_ins .single_ins_content h1 {font-size: 26px;}
}

/* Carrousel "Ce que disent les parents" : avatar en initiales au lieu de
   photos, plusieurs témoignages possibles sans casser la mise en page */
.testi_carousel .owl-item {
	float: left;
}
.testi_item {
	padding: 0 15px;
}
.testi_carousel .owl-pagination {
	margin-top: 20px;
	text-align: center;
}
/* Le thème cache les flèches par défaut (display:none) et ne les affiche
   qu'au survol : un élément caché ne peut jamais être survolé pour se
   révéler. On force leur affichage en permanence pour ce carrousel. */
.testi_carousel .owl-buttons div {
	background: #32509A;
	color: #fff;
	opacity: 1;
	display: block !important;
}
.testi_carousel .owl-buttons div:hover {
	background: #f26b65;
}
@media only screen and (max-width: 768px) {
	.testi_carousel.owl-theme .owl-controls {
		display: block !important;
	}
}
.testi_card {
	position: relative;
	height: 100%;
	background: #fff;
	border-radius: 12px;
	padding: 40px;
	overflow: hidden;
	box-shadow: 10px 15px 25px rgba(17, 28, 54, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.testi_card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 35px rgba(17, 28, 54, 0.12);
}
.testi_quote_bg {
	position: absolute;
	top: 20px;
	right: 30px;
	font-size: 70px;
	color: #EBEEF5;
	z-index: 0;
}
.testi_stars {
	position: relative;
	color: #f26b65;
	margin-bottom: 15px;
}
.testi_card p {
	position: relative;
	color: #111C36;
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 25px;
}
.testi_author {
	position: relative;
	display: flex;
	align-items: center;
	gap: 15px;
}
.testi_avatar {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: linear-gradient(135deg, #32509A 0%, #203464 100%);
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.testi_author h4 {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 2px;
}
.testi_author span {
	font-size: 13px;
	color: #6b7280;
}
@media only screen and (max-width:768px) {
	.testi_card {padding: 30px 25px;}
}

/* Page Admission : section "Bon à savoir" (frais + documents requis) */
.admission-infos {
	background: #f5f5fd;
}
.fee-card {
	background: #fff;
	border-radius: 10px;
	padding: 25px 30px;
	height: 100%;
	box-shadow: 0 4px 12px rgba(17, 28, 54, 0.06);
}
.fee-card h4 {
	color: #111C36;
	font-weight: 700;
	margin-bottom: 15px;
}
.fee-table {
	margin-bottom: 0;
}
.fee-table td {
	padding: 8px 0;
	border-top: 1px solid #EBEEF5;
}
.fee-table td:last-child {
	text-align: right;
	font-weight: 600;
}
.fee-table .fee-total td {
	border-top: 2px solid #111C36;
	color: #111C36;
	font-weight: 700;
}
.fee-note {
	text-align: center;
	margin-top: 20px;
	color: #f26b65;
	font-weight: 500;
}
.documents-card {
	background: #fff;
	border-radius: 10px;
	padding: 25px 30px;
	box-shadow: 0 4px 12px rgba(17, 28, 54, 0.06);
}
.documents-card h4 {
	color: #111C36;
	font-weight: 700;
	margin-bottom: 15px;
}
.documents-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.documents-card ul li {
	padding: 6px 0;
}
.documents-card ul li i {
	color: #32509A;
	margin-right: 10px;
}

/* Formulaire d'admission en plusieurs étapes */
.step-indicator {
	display: flex;
	justify-content: center;
	gap: 40px;
}
.step-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	opacity: 0.45;
	transition: opacity 0.25s ease;
}
.step-item.active,
.step-item.completed {
	opacity: 1;
}
.step-number {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #EBEEF5;
	color: #111C36;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}
.step-item.active .step-number {
	background: #32509A;
	color: #fff;
}
.step-item.completed .step-number {
	background: #111C36;
	color: #fff;
}
.step-label {
	font-size: 13px;
	font-weight: 500;
	color: #111C36;
	white-space: nowrap;
}
.step-nav {
	margin-top: 20px;
	display: flex;
	justify-content: center;
	gap: 15px;
}
@media only screen and (max-width:576px) {
	.step-indicator {gap: 20px;}
	.step-label {display: none;}
}

/* Page Enieg : médaillon du logo, cartes des sections, bandeau CTA */
.enieg_logo_badge {
	position: relative;
	width: 320px;
	height: 320px;
	max-width: 100%;
	margin: 0 auto;
	border-radius: 50%;
	background: radial-gradient(circle, #EBEEF5 0%, #fff 70%);
	box-shadow: 0 25px 50px rgba(17, 28, 54, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
}
.enieg_logo_badge img {
	width: 80%;
	height: auto;
}

.enieg_card_col {
	margin-bottom: 30px;
}
.enieg_card {
	height: 100%;
	background: #fff;
	border-radius: 12px;
	padding: 40px;
	box-shadow: 10px 15px 25px rgba(17, 28, 54, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.enieg_card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 35px rgba(17, 28, 54, 0.12);
}
.enieg_card_icon {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #EBEEF5;
	color: #32509A;
	font-size: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.enieg_card h4 {
	font-weight: 600;
	margin-bottom: 15px;
}
.enieg_card ul li {
	margin-bottom: 10px;
}
.enieg_card ul li span {
	color: #32509A;
	margin-right: 8px;
}

/* Bandeau CTA "Inscrivez vos enfants maintenant" sur la page Enieg */
.enieg_cta {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #32509A 0%, #203464 100%);
	border-radius: 10px;
	padding: 60px 40px;
}
.enieg_cta_bg {
	position: absolute;
	top: 20px;
	left: 30px;
	font-size: 90px;
	color: rgba(255, 255, 255, 0.08);
}
.enieg_cta h2 {
	position: relative;
	color: #fff;
	font-weight: 600;
	max-width: 700px;
	margin: 0 auto 25px;
}
.enieg_cta .btn_one {
	position: relative;
	display: inline-block;
}

/* Page À propos : cartes "principes pédagogiques" (dégradé, moderne) */
.principle_col {
	margin-bottom: 30px;
}
.principle_card {
	height: 100%;
	background: linear-gradient(135deg, #32509A 0%, #203464 100%);
	border-radius: 12px;
	padding: 45px 35px;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.principle_card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 35px rgba(17, 28, 54, 0.25);
}
.principle_icon {
	width: 70px;
	height: 70px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.principle_card h4 {
	color: #fff;
	font-weight: 600;
	margin-bottom: 12px;
}
.principle_card p {
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 0;
}

/* Page À propos : cartes "activités extrascolaires" (claires) */
.activity_col {
	margin-bottom: 30px;
}
.activity_card {
	height: 100%;
	background: #fff;
	border-radius: 12px;
	padding: 40px;
	text-align: center;
	box-shadow: 10px 15px 25px rgba(17, 28, 54, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.activity_card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 35px rgba(17, 28, 54, 0.12);
}
.activity_icon {
	width: 60px;
	height: 60px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #EBEEF5;
	color: #32509A;
	font-size: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.activity_card h4 {
	font-weight: 600;
	margin-bottom: 12px;
}

/* Bandeau CTA générique (utilisé sur la page À propos) */
.cta_banner {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #32509A 0%, #203464 100%);
	border-radius: 10px;
	padding: 60px 40px;
}
.cta_banner_bg {
	position: absolute;
	top: 20px;
	left: 30px;
	font-size: 90px;
	color: rgba(255, 255, 255, 0.08);
}
.cta_banner h2 {
	position: relative;
	color: #fff;
	font-weight: 600;
	max-width: 700px;
	margin: 0 auto 25px;
}
.cta_banner .btn_one {
	position: relative;
	display: inline-block;
}

/* Page Nos Enseignants : pastilles compactes, groupées par niveau */
.teacher_pill_level {
	margin-bottom: 35px;
}
.teacher_pill_level_head {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 18px;
}
.teacher_pill_level_head h3 {
	font-size: 20px;
	font-weight: 600;
	color: #32509A;
	margin: 0;
}
.teacher_pill_count {
	font-size: 13px;
	color: #6b7280;
}
.teacher_pills {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.teacher_pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #EBEEF5;
	border-radius: 30px;
	padding: 6px 20px 6px 6px;
	transition: background 0.25s ease;
}
.teacher_pill:hover {
	background: #dde3f2;
}
.teacher_pill_avatar {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: linear-gradient(135deg, #32509A 0%, #203464 100%);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}
.teacher_pill_name {
	font-size: 14px;
	font-weight: 500;
	color: #111C36;
	white-space: nowrap;
}

/* Page Galerie : filtres cliquables par événement */
.gallery_filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-bottom: 40px;
}
.gallery_filter {
	background: #EBEEF5;
	color: #32509A;
	border: none;
	border-radius: 30px;
	padding: 10px 22px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease;
}
.gallery_filter:hover {
	background: #dde3f2;
}
.gallery_filter.is-active {
	background: #32509A;
	color: #fff;
}
.gallery_item.is-hidden {
	display: none;
}
.gallery_item {
	margin-bottom: 30px;
}
.gallery_photo {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 10px;
	background-color: #EBEEF5;
}
.gallery_photo img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}
.gallery_photo:hover img {
	transform: scale(1.06);
}
.gallery_photo_trigger,
.gallery_video_trigger {
	cursor: pointer;
}
.gallery_video_placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #32509A 0%, #111C36 100%);
}
.gallery_video_placeholder::before {
	content: "\e6cf";
	font-family: "themify";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 32px;
	color: rgba(255, 255, 255, 0.35);
}
.gallery_play_btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	color: #32509A;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	z-index: 2;
	transition: transform 0.25s ease, background 0.25s ease;
}
.gallery_play_btn i {
	margin-left: 3px;
}
.gallery_video_trigger:hover .gallery_play_btn {
	transform: translate(-50%, -50%) scale(1.1);
	background: #32509A;
	color: #fff;
}

/* Lightbox galerie (photos & vidéos) */
.gallery_lightbox {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(17, 28, 54, 0.92);
	z-index: 9999;
	align-items: center;
	justify-content: center;
	padding: 30px;
}
.gallery_lightbox.is-open {
	display: flex;
}
.gallery_lightbox_content {
	position: relative;
	width: 100%;
	max-width: 960px;
}
.gallery_lightbox_content img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
}
.gallery_lightbox_content .gallery_lightbox_video-wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.gallery_lightbox_content .gallery_lightbox_video-wrap iframe,
.gallery_lightbox_content .gallery_lightbox_video-wrap video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 6px;
	background: #000;
}
.gallery_lightbox_close {
	position: absolute;
	top: 20px;
	right: 30px;
	background: rgba(255, 255, 255, 0.1);
	border: none;
	color: #fff;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	font-size: 18px;
	cursor: pointer;
	transition: background 0.25s ease;
}
.gallery_lightbox_close:hover {
	background: rgba(255, 255, 255, 0.25);
}

/* Page Nos Programmes : badges des niveaux du cycle primaire */
.program_col {
	margin-bottom: 25px;
}
.program_badge {
	background: #fff;
	border: 2px solid #EBEEF5;
	border-radius: 12px;
	padding: 25px 10px;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	color: #32509A;
	transition: transform 0.25s ease, border-color 0.25s ease;
}
.program_badge:hover {
	transform: translateY(-6px);
	border-color: #32509A;
}

/* Bannière "section-top" en photo, avec le même overlay bleu transparent
   que le hero de la home (variante réutilisable sur d'autres pages) */
.section-top--photo {
	position: relative;
}
.section-top--photo::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(17,28,54,0.85) 0%, rgba(17,28,54,0.55) 60%, rgba(17,28,54,0.25) 100%);
	z-index: 1;
}
.section-top--photo .container {
	position: relative;
	z-index: 2;
}
.section-top--photo .section-top-title h1 {
	color: #fff;
}
.section-top--photo .section-top-title ul li {
	color: rgba(255, 255, 255, 0.85) !important;
}
.section-top--photo .section-top-title ul li a {
	color: #fff !important;
}

/* Page Annonces */
.announcement_card {
	background: #fff;
	border: 1px solid #EBEEF5;
	border-radius: 10px;
	padding: 30px;
	margin-bottom: 25px;
	box-shadow: 0 5px 20px rgba(17, 28, 54, 0.04);
}
.announcement_date {
	display: inline-block;
	background: #EBEEF5;
	color: #32509A;
	font-size: 13px;
	font-weight: 600;
	padding: 5px 14px;
	border-radius: 20px;
	margin-bottom: 12px;
}
.announcement_card h3 {
	margin-bottom: 12px;
}
.announcement_content {
	color: #555;
	line-height: 1.8;
}
.announcement_media_grid {
	margin-top: 20px;
}

/* Bouton flottant WhatsApp, visible sur toutes les pages */
.whatsapp_float {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 60px;
	height: 60px;
	background-color: #25d366;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
	z-index: 9998;
	transition: transform 0.25s ease;
}
.whatsapp_float:hover {
	transform: scale(1.08);
}
.whatsapp_float svg {
	width: 32px;
	height: 32px;
	fill: #fff;
}
@media (max-width: 576px) {
	.whatsapp_float {
		width: 52px;
		height: 52px;
		bottom: 16px;
		right: 16px;
	}
	.whatsapp_float svg {
		width: 28px;
		height: 28px;
	}
}
/* Le bouton "retour en haut" du template partage le même coin : on le
   remonte pour qu'il ne chevauche pas le bouton WhatsApp. */
.topcontrol {
	bottom: 96px !important;
	right: 24px !important;
}
@media (max-width: 576px) {
	.topcontrol {
		bottom: 80px !important;
		right: 16px !important;
	}
}

/* Champ piège anti-bot (honeypot) : hors champ visuel, mais pas "display:none" */
.honeypot-field {
	position: absolute;
	left: -9999px;
	top: -9999px;
	height: 0;
	width: 0;
	overflow: hidden;
}

/* Boutons de partage des annonces sur les réseaux sociaux */
.share_buttons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}
.share_label {
	font-size: 14px;
	font-weight: 600;
	color: #111C36;
	margin-right: 4px;
}
.share_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #EBEEF5;
	color: #32509A;
	font-size: 16px;
	transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.share_btn:hover {
	transform: translateY(-2px);
	color: #fff;
}
.share_btn svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}
.share_btn--facebook:hover {
	background: #1877f2;
}
.share_btn--twitter:hover {
	background: #000;
}
.share_btn--whatsapp:hover {
	background: #25d366;
}

/* Lien "retour aux annonces" sur la page de détail d'une annonce */
.announcement_back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 25px;
	color: #32509A;
	font-weight: 600;
}
.announcement_back:hover {
	color: #f26b65;
}
.announcement_card h3 a {
	color: inherit;
}
.announcement_card h3 a:hover {
	color: #32509A;
}
