:root {
	--White: #fff;
	--Text: #3d3e3f;
	--Primary: #00a34a !important;
	--Secondary: #1a1a1a;
	--Third: #00a34a !important;
	--Fourth: #1f4b43;
	--Border: #ebebeb;
	--mmRed: #e53935;

	/* Pour les couleurs spécifiques du système de champs manquants mmFormV2_missingFieldsPopup. */
	--mm-popup-primary-color-start: #00a34a !important;
	--mm-popup-primary-color-end: #00a34a !important;
	--mm-popup-primary-shadow: rgba(0, 163, 74, 0.3) !important;
	--mm-popup-primary-shadow-hover: rgba(0, 163, 74, 0.4) !important;
	--mm-popup-primary-shadow-pulse: rgba(0, 163, 74, 0.3) !important;
	--mm-popup-primary-shadow-pulse-active: rgba(0, 163, 74, 0.4) !important;
}

[maestra-checkbox] {
	--maestra-checkbox-color: #00a34a !important;
	--maestra-checkbox-pulse-color1: #00da5090 !important;
	--maestra-checkbox-pulse-color2: #00da5060 !important;
	--maestra-checkbox-pulse-color3: #00da5030 !important;
}

.pricing-item .icon {
	font-size: 18px;
}

.bg-palmer {
	background-color: var(--Primary) !important;
}

.list-tags .tags-item.vente {
	background-color: var(--Primary);
	color: white;
	text-transform: uppercase;
}

.list-tags .tags-item.new {
	background-color: var(--mmRed);
	color: white;
	text-transform: uppercase;
}

.list-tags .tags-item.location {
	background-color: var(--Text);
	color: white;
	text-transform: uppercase;
}

.list-tags .tags-item.mise-en-avant {
	background-color: orange; /* Gold color */
	color: #fff;
	text-transform: uppercase;
}

.flat-title.page-property-list-3 .content .form-filter form .list .group-form.form-search-content {
	width: 100%;
	padding-right: 20px;
}

.form-search-home6 > .list .group-form.form-search-content {
	width: 100% !important;
	padding-right: 20px;
}

.slider.home8 .wrap-slider .slider-item .slider-content h1 {
	position: relative;
}

.form-search-home6 .button-submit button {
	color: white;
}

.form-search-home6 .wg-filter .tf-button-filter {
	border: 1px solid #333;
}

@media screen and (max-width: 768px) {
	.widget-tabs.style-5 .widget-menu-tab {
		display: flex;
		justify-content: space-between; /* ou space-around/space-evenly selon ton rendu souhaité */
		width: 100%;
	}

	.widget-menu-tab .item-title {
		flex: 1;
		text-align: center;
	}

	.slider.home8 .wrap-slider .slider-item {
		height: calc(100vh - 86px); /* Use full viewport height */
		height: calc(100dvh - 86px); /* Use full viewport height */
		width: 100vw;
		display: flex;
		align-items: center;
		justify-content: center;
		/*	overflow: hidden; */
		box-sizing: border-box; /* Ensure padding/borders don't affect height */
	}

	.slider .wrap-slider .slider-content {
		padding: 100px 0 100px !important;
	}
}

.widget-tabs.style-1 .widget-menu-tab .item-title.active {
	background-color: var(--Primary);
	border: 0px solid var(--Primary);
}

.widget-tabs.style-1 .widget-menu-tab .item-title.active .inner {
	color: var(--White);
}

.flat-title.page-property-list-3 {
	border-radius: 15px !important;
}

#header_main .header-inner .header-inner-wrap .main-menu ul.navigation > li > ul {
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; /* For Safari and older versions of Chrome */
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; /* For older versions of Firefox */
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; /* Standard syntax */
	border-radius: 0px 0px 12px 12px;
}

.perfect-home.style-2 {
	background-color: #f9f9f9 !important;
}

.bg-gray-100 {
	background-color: #f9f9f9 !important;
}

.account-bar {
	background-color: #f9f9f9;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */
.grid-checkbox {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.grid-checkbox {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- nice-select */
.nice-select.default ul.list {
	width: 300px;
	left: 0;
}

.nice-select > .list .option.disabled {
	color: #bdbdbd !important;
	background-color: #f5f5f5 !important;
	cursor: not-allowed !important;
	font-weight: 600;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- Copyright */
.copyrightMentions {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.6);
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- Box shadows */
/* Voir: https://getcssscan.com/css-box-shadow-examples */
.boxShadowsV1 {
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; /* For Safari and older versions of Chrome */
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; /* For older versions of Firefox */
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; /* Standard syntax */
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */
.sectionFilterMM {
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 50px;
	border-radius: 50px;
}

.flat-title.page-property-list-3 {
	background: #f9f9f9;
	padding-top: 100px;
	padding-bottom: 100px;
}

.flat-title.page-property-list-3 h2 {
	color: var(--Secondary) !important;
}

.flat-title.page-property-list-3 .content .breadcrumbs li a {
	color: var(--Secondary) !important;
}

.flat-title.page-property-list-3 .content .breadcrumbs li {
	color: var(--Secondary) !important;
}

.property-grid-wrap-v3 {
	padding-top: 0px !important;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */
/* Fond de la section slider-homepage */
.slider.home1 .wrap-slider {
	position: relative;
	/* border-radius: 24px; */
	/* background-image: url(./../img/portailimg/geneva-6977937_1280.webp); - Removed */
	/* background-attachment: fixed; - Removed */
}

section.slider.home8 {
	/* padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 50px;*/
}

.slider.home8 .wrap-slider {
	position: relative;
	/* background-image: url(./../img/portailimg/geneva-6977937_1280.webp); - Removed */
	/* b   border-radius: 24px;  */
}

/* Header faq */
.flat-title.inner-page {
	background-image: url(./../img/portailimg/page-title-about.webp);
}

/* Background page 404 */
.slider.page-404 .wrap-slider {
	background-image: url(./../img/portailimg/404.webp);
	background-attachment: unset;
	/*   border-radius: 24px; */
}
/* Taille logo footer */
.footer #logo-footer {
	width: 50px;
	height: auto;
}

/* Marge */

.tf-section:not(.pb-0) {
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}

@media (max-width: 768px) {
	.image.wow.fadeInUp.animated {
		display: none !important;
	}
	ul.widget-menu-tab {
		overflow-x: hidden !important;
		border-radius: 12px;
		margin-bottom: 20px;
	}
	.widget-tabs.style-5 .widget-menu-tab .item-title:last-child {
		border-radius: 0px 12px 12px 0px;
	}
	.widget-tabs.style-5 .widget-menu-tab .item-title:first-child {
		border-radius: 12px 0px 0px 12px;
	}
}

@media (min-width: 768px) {
	.d-md-flex {
		display: flex;
	}
}

.slider.page-404 {
	padding: 20px 20px 20px 20px;
}

li.item-title.item {
	/* border: 1px solid #fff; */
	border-radius: 16px;
	padding: 10px;
	/* background: #0c0c0c54; */
}
/* .layout-wrap .layout-wrap-inner .section-content-right {
    padding-top: 30px !important;
} */

@media (max-width: 991px) {
	.layout-wrap .layout-wrap-inner .btn-canvas {
		top: 0px !important;
	}
	.modal .modal-dialog .modal-content .image-left {
		height: auto !important;
		display: none !important;
		max-height: 200px !important;
	}
	.modal .modal-dialog .modal-content .image-left h3 {
		bottom: 20px !important;
		top: auto !important;
	}
	.download-app {
		justify-content: center;
	}
	.download-app .image img {
		height: auto !important;
	}
	.btn-filter-container {
		width: 100%;
		justify-content: center;
	}

	.btn-filter-container .tf-button-filter.btn-filter {
		width: 100%;
	}
}

@media (min-width: 991px) {
	.custom-side-bar-detail {
		max-width: 390px;
		margin-left: auto;
	}
}
@media (max-width: 468px) {
	.btn-filter-container .group-form {
		width: 100%;
	}
	.flat-cities .inner {
		gap: 10px;
		grid-template-columns: 1fr;
		grid-template-areas:
			'aa'
			'bb'
			'cc'
			'dd'
			'ee'
			'ff';
	}
	.best-properties .inner {
		gap: 10px !important;
		grid-template-columns: 1fr !important;
		grid-template-areas:
			'aa'
			'dd'
			'bb'
			'cc' !important;
	}
	.tf-button-primary {
		font-size: 13px !important;
		padding: 18px 8px !important;
	}

	.tf-button-primary.listing-line-agent-email {
		padding: 5px 10px !important;
		font-size: 15px !important;
	}
}

.layout-wrap .layout-wrap-inner .section-content-right {
	padding-top: 0px !important;
}

.tf-button-primary {
	background-color: var(--Primary);
	color: #fff;
}

.tf-button-primary:hover {
	background-color: var(--Secondary) !important;
	color: #fff;
}
.tf-button-primary.style-black {
	background-color: var(--Primary);
	color: var(--Secondary);
}

#map {
	height: 100%;
}

.wrap-map-v5 .grid-contact {
	justify-content: center;
}

.wrap-map-v5 .grid-contact > .contact-item {
	width: 40%;
}

.footer .footer-inner .footer-inner-wrap .center-footer .footer-cl-4 {
	width: auto;
}

.preload-container .middle {
	content: url(./../img/logos/palm-verte-old.png);
	height: 80px;
	width: auto;
}

.text-justify {
	text-align: justify;
}

/* ------------------------------------------------------------------------------------- Formulaire [placeholder] */
::placeholder {
	color: #8a929b !important; /* Gris bleuté moderne, bonne visibilité sur fond clair ou foncé */
	font-size: 14.5px !important;
}

::-webkit-input-placeholder {
	color: #8a929b !important;
}

::-moz-placeholder {
	color: #8a929b !important;
}

:-ms-input-placeholder {
	color: #8a929b !important;
}

:-moz-placeholder {
	color: #8a929b !important;
}

/* ------------------------------------------------------------------------------------- Scrollbar */
/* Augmente la largeur de la barre de défilement */
::-webkit-scrollbar {
	width: 16px !important; /* Change la largeur, mets plus si nécessaire */
}

/* Personnalisation du fond de la barre */
::-webkit-scrollbar-track {
	background: #f1f1f1; /* Fond clair */
}

/* Personnalisation du curseur */
::-webkit-scrollbar-thumb {
	background: #888; /* Couleur du curseur */
	border-radius: 8px; /* Coins arrondis */
	border: 4px solid #f1f1f1; /* Ajoute un espace entre le curseur et la piste */
}

/* Au survol */
::-webkit-scrollbar-thumb:hover {
	background: #555; /* Change de couleur pour un meilleur contraste */
}

.blog-single-wrap .blog-single-inner {
	margin-bottom: 100px !important;
	margin-top: 100px !important;
}

.blog-single-wrap .blog-single-inner.special-websites {
	margin-top: 0px !important;
}

.blog-single-wrap .image-head {
	margin-bottom: 0px !important;
}

.blog-single-wrap .blog-single-inner h2 {
	margin-bottom: 50px !important;
}

.perfect-home.style-1 .content-left {
	overflow-x: hidden;
}

.widget-tabs .widget-menu-tab .item-title {
	min-width: auto;
}
div#home1 {
	padding-top: 0px !important;
}

.wrap-map-v5 {
	position: relative;
	padding-bottom: 20px;
}

li.mt-5.deconnecter {
	bottom: 5%;
	position: absolute;
}

.download-app .content-right .heading,
.download-app .content-right .sub,
.download-app .content-right p {
	color: var(--Text) !important;
}

.download-app {
	background-color: inherit !important;
}

@media (max-width: 991px) {
	.download-app .content-right .ft-download {
		flex-wrap: wrap;
		display: flex;
		flex-direction: column;
		align-content: center;
	}
}

.header-right .dropdown-menu {
	width: max-content;
	margin-top: 15px !important;
	border: 1px solid #e4e4e4;
	border-top: 0;
	border-radius: 0;
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
	padding: 0;
}
.header-right .dropdown-menu .dropdown-item {
	padding: 16px 24px;
	line-height: 26px;
	font-weight: 600;
	font-size: 16px;
	text-transform: capitalize;
	color: var(--Secondary);
	-webkit-transition: all 0.3sease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3sease;
}

#header_main .header-inner .header-inner-wrap .main-menu ul.navigation a,
#header_main .header-inner .header-inner-wrap .main-menu ul.navigation li,
.tf-button-default {
	font-weight: 600 !important;
}

.widget-tabs.style-5.wow.fadeInUp.animated {
	padding-top: 50px;
}

button#languageDropdown {
	font-size: 16px;
}
#header_main.style-container .header-inner .header-inner-wrap {
	max-width: none !important;
}

#header_main .header-inner .header-inner-wrap .main-menu ul.navigation {
	justify-content: center !important;
}

.slider.home8 .wrap-slider .slider-item .slider-content .widget-tabs .form-search-home6 .button-submit button {
	border-radius: 12px;
	color: var(--White);
	background-color: var(--Primary);
}

.widget-tabs.style-5 .widget-menu-tab .item-title.active {
	background-color: var(--Primary);
	color: var(--White);
}

.widget-tabs.style-5 .widget-menu-tab .item-title {
	background-color: #ffff;
	color: black;
}

.form-search-home6 .button-submit button {
	width: 90%;
}

.form-search-home5 .button-submit button {
	width: 90%;
}

.preload-container .middle {
	transform: translate(-50%, -50%) !important;
}
form.form-search-home6 {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-items: start;
	justify-content: center;
	gap: 20px;
	padding: 20px 20px 20px 30px;
	border-radius: 0;
	background-color: var(--White);
	text-align: start;
	border-radius: 24px;
}

.widget-tabs.style-5.wow.fadeInUp.animated {
	max-width: 1022px;
	margin-left: auto;
	margin-right: auto;
	text-align: start;
	position: relative;
	/* min-height: 500px;*/
}
.form-search-home6 .button-submit button {
	border-radius: 12px;
}
.form-search-home6 .wg-filter .tf-button-filter {
	border-radius: 12px;
}
.perfect-home.style-3 .wrap-image {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	gap: 20px;
	flex-direction: column;
	align-content: center;
	align-items: center;
	flex-wrap: nowrap;
}

.box-icon.style-5 .icon {
	border-radius: 15px;
}

#choix-tarif {
	background-image: url(./../img/portailimg/europe-7128531_1280.webp);
}

.w-suivant {
	float: inline-end;
}

.ft-download.style-1 {
	flex-direction: row;
	gap: 30px;
	display: flex;
	align-items: center;
}

.swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
}

.slogan-logo {
	padding: 10px;
	text-align: center;
}

.slogan-logo img,
.img-partner {
	width: 130px !important; /* augmente la largeur */
	height: auto !important; /* garde les proportions */
	max-width: none !important; /* empêche une limite imposée par ailleurs */
	object-fit: contain; /* ou 'cover' si tu veux remplir */
	max-height: 58px;
}

.video-wrap.item-3.wow.fadeInUp.animated.animated {
	width: 70%;
}

.main-content:not(.pb-0) {
	padding-bottom: 94px !important;
}
img#logo-header {
	width: auto;
	height: 60px;
}

.navigation.custom-navigation {
	margin-right: 2%;
}

h3.tf-button-primary,
a.tf-button-primary {
	color: #fff;
}

/* Video Background styles - Updated for full coverage */
.widget-tabs.style-5.wow.fadeInUp {
	position: relative;
	overflow: hidden;
	z-index: 1;
	/* border-radius: 24px;*/
}

.video-background {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	overflow: hidden;
}

.video-background video {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}

/* Important - make widget container taller */
.widget-tabs.style-5.wow.fadeInUp.animated {
	max-width: 100%;
	width: 100%;
	padding: 0;
	margin: 0 auto;
	/* border-radius: 24px; */
}

/* Add background overlay for better contrast with form elements */
#wrap-slider:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
	z-index: 0;
}

/* Move form elements above overlay */
.widget-content-tab,
.widget-content-inner,
.widget-menu-tab {
	position: relative;
	z-index: 3;
}

/* Form styles for contrast */
.form-search-home6 {
	background-color: rgba(255, 255, 255, 1) !important;
	border-radius: 16px !important;
}

.widget-menu-tab {
	margin-bottom: 20px;
}

.featured-section {
	position: relative;
	z-index: 1;
}

.highlight-box {
	border: 2px solid #1f4b43;
	border-radius: 15px;
	box-shadow: 0 10px 30px rgba(31, 75, 67, 0.2);
	padding: 100px 30px 100px 3rem;
	position: relative;
	overflow: hidden;
	transition: all 0.3s ease;
	background: linear-gradient(to right, rgba(255, 255, 255, 0.95), rgba(240, 248, 255, 0.95));
}

/*.highlight-box:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: #1f4b43;
}*/

.highlight-box:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(31, 75, 67, 0.3);
}

.section-badge {
	display: inline-block;
	background: #1f4b43;
	color: white;
	padding: 5px 15px;
	border-radius: 20px;
	font-weight: bold;
	margin-bottom: 15px;
	font-size: 14px;
}

.pulse-button {
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(31, 75, 67, 0.7);
	}
	70% {
		box-shadow: 0 0 0 10px rgba(31, 75, 67, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(52, 152, 219, 0);
	}
}

@media (max-width: 424px) {
	.estimat-btn {
		padding: 18px 14px;
	}
	.group-icon.highlight-box {
		padding: 42px 16px;
	}
}

/* Real Estate Hero Section Styles */
.real-estate-hero {
	position: relative;
	min-height: 600px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.real-estate-hero .wrap-slider.slider-filter-no-video {
	background-image: url(./../img/portailimg/geneva-6977937_1280.webp);
	background-size: cover;
	background-position: center;
	width: 100%;
	min-height: 600px;
	border-radius: 0px;
	position: relative;
}

.real-estate-hero .hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.3));
	z-index: 1;
}

.real-estate-hero .slider-content {
	position: relative;
	z-index: 5;
	text-align: center;
	padding: 80px 20px;
	color: #fff;
}

.real-estate-hero h1 {
	font-weight: 700;
	margin-bottom: 30px;
	color: #fff;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.real-estate-hero .sub {
	color: var(--Primary);
	font-weight: 600;
	margin-bottom: 10px;
	font-size: 1.2rem;
}

.real-estate-hero .hero-cta-buttons {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	margin: 40px 0 30px;
	width: 100%;
	max-width: 800px;
}

.real-estate-hero .hero-cta-btn {
	display: flex;
	align-items: center;
	padding: 15px 30px;
	border-radius: 12px;
	font-weight: 600;
	font-size: 18px;
	transition: all 0.3s ease;
	color: #fff;
	min-width: 200px;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.real-estate-hero .hero-cta-btn:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

.real-estate-hero .hero-cta-btn .icon {
	margin-right: 10px;
	font-size: 20px;
}

.real-estate-hero .buy-btn {
	background-color: var(--Primary);
}

.real-estate-hero .rent-btn {
	background-color: var(--Fourth);
}

.real-estate-hero .estimate-btn {
	background-color: var(--Secondary);
}

.real-estate-hero .hero-tagline {
	font-size: 18px;
	color: #fff;
	margin-top: 20px;
	font-weight: 300;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
	.real-estate-hero h1 {
		font-size: 2.5rem;
	}

	.real-estate-hero .hero-cta-buttons {
		flex-direction: column;
		align-items: center;
	}

	.real-estate-hero .hero-cta-btn {
		width: 100%;
		max-width: 280px;
	}
}

@media (max-width: 480px) {
	.real-estate-hero h1 {
		font-size: 2rem;
	}

	.real-estate-hero .sub {
		font-size: 1rem;
	}

	.real-estate-hero {
		min-height: 500px;
	}

	.real-estate-hero .wrap-slider {
		min-height: 500px;
	}
}

/* ======== Canton Showcase Section - Custom Styling ======== */
.canton-showcase {
	padding: 60px 0 80px !important;
}

.canton-grid {
	gap: 24px;
	grid-template-columns: repeat(3, 1fr);
	grid-template-areas:
		'aa bb cc'
		'dd ee ff';
}

.canton-card {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 8px 20px rgba(31, 75, 67, 0.15);
	transition: all 0.4s ease;
	height: 320px;
	display: flex;
	flex-direction: column;
}

.canton-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 30px rgba(31, 75, 67, 0.25);
}

.canton-image-wrapper {
	position: relative;
	height: 100%;
	overflow: hidden;
}

.canton-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.canton-card:hover img {
	transform: scale(1.08);
}

.canton-content {
	position: absolute;
	bottom: 0;
	cursor: pointer;
	justify-content: space-between;
	left: 0 !important;
	top: 0 !important;
	right: 0;
	padding: 20px;
	color: #fff;
	transition: all 0.4s ease;
	display: flex;
	flex-direction: column;
}

.property-count {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 8px;
	color: #fff;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
	opacity: 1;
}

.property-count span {
	font-weight: 700;
	font-size: 16px;
	background-color: var(--Primary);
	color: white;
	padding: 5px 10px;
	border-radius: 12px;
	text-shadow: none;
	display: inline-block;
}

.canton-name {
	font-size: 28px;
	font-weight: 800;
	margin-bottom: 12px;
	color: #fff;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
	letter-spacing: 0.5px;
}

.canton-link {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-weight: 600;
	opacity: 0;
	transform: translateY(10px);
	transition: all 0.4s ease;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
	font-size: 16px;
}

.canton-card:hover .canton-link {
	opacity: 1;
	transform: translateY(0);
}

.canton-link span {
	position: relative;
}

.canton-link span:after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 0;
	height: 2px;
	background-color: var(--Primary);
	transition: width 0.3s ease;
}

.canton-link:hover span:after {
	width: 100%;
}

.canton-link i {
	margin-left: 5px;
	transition: transform 0.3s ease;
}

.canton-link:hover i {
	transform: translateX(4px);
}

/* Media Queries for Canton Grid */
@media (max-width: 991px) {
	.canton-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
			'aa bb'
			'cc dd'
			'ee ff';
	}
}

@media (max-width: 575px) {
	.canton-grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			'aa'
			'bb'
			'cc'
			'dd'
			'ee'
			'ff';
	}

	.canton-card {
		height: 250px;
	}
}

.widget-content-inner.custom-widget-content-inner:not(.widget-content-inner.custom-widget-content-inner.active) {
	display: none !important;
}

.cs-item-10 {
	flex: 1;
}

.cs-item-90 {
	flex: 9;
}

.text-primary {
	color: #00a34a !important;
}

.counter .number-counter p {
	text-transform: none !important;
}

/* ------------------------------------------------------------------------------------- preloader */
.preload {
	overflow: hidden;
}

.preload-container {
	position: relative;
	width: 100%;
	height: 100%;
	background: #ffffff;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 99999999999;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ------------------------------------------------------------------------------------- swal2 */
h2.swal2-title {
	font-size: 16px !important;
	line-height: 16px !important;
}

.swal2-confirm.swal2-confirm {
	background: var(--Primary) !important;
}

/* Section Information - Agency Info */
.agency-info {
	margin-top: 30px;
	padding: 20px;
	background: #f8f9fa;
	border-radius: 8px;
	display: flex;
	align-items: center;
	gap: 20px;
}

.agency-logo {
	flex-shrink: 0;
}

.agency-logo img {
	max-width: 120px;
	height: auto;
}

.agency-details {
	flex-grow: 1;
}

.agency-details h4 {
	margin: 0 0 10px 0;
	font-size: 1.2em;
	color: #333;
}

.agency-details p {
	margin: 5px 0;
	color: #666;
	font-size: 0.95em;
	line-height: 1.5;
}

.agent-contact {
	margin-top: 10px !important;
}

.agent-contact i {
	margin-right: 8px;
	color: #00a34a;
}

/* Action Buttons */
.action-buttons {
	margin-top: 25px;
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

.action-buttons .btn {
	padding: 12px 25px;
	border-radius: 6px;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.3s ease;
}

.action-buttons .btn i {
	font-size: 1.1em;
}

.btn-primary.request-dossier {
	background-color: #00a34a;
	color: white;
	border: none;
}

.btn-primary.request-dossier:hover {
	background-color: #1f4b43;
}

.btn-secondary.request-visit {
	background-color: #6c757d;
	color: white;
	border: none;
}

.btn-secondary.request-visit:hover {
	background-color: #545b62;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.agency-info {
		flex-direction: column;
		text-align: center;
	}

	.agency-logo {
		margin-bottom: 15px;
	}

	.action-buttons {
		justify-content: center;
	}

	.action-buttons .btn {
		width: 100%;
		justify-content: center;
	}
}

.description-content {
	position: relative;
}

.description-text {
	max-height: 150px;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
}

.description-text.expanded {
	max-height: 2000px;
}

.show-more-btn {
	background: none;
	border: none;
	color: #00a34a;
	cursor: pointer;
	padding: 5px 0;
	font-weight: 500;
	margin-top: 10px;
}

.show-more-btn:hover {
	text-decoration: underline;
}

.pricing-item:hover a.tf-button-primary {
	color: #fff !important;
}

.pricing-item.active a.tf-button-primary {
	color: #fff !important;
}

.section-header {
	margin-bottom: 3rem;
}

.section-title {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 1rem;
}

.section-subtitle {
	font-size: 1.2rem;
	color: var(--text-muted);
}

/* Tabs Navigation */
.pricing-tabs {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 2rem;
}

.tab-btn {
	padding: 0.75rem 1.5rem;
	border: 2px solid var(--primary-color);
	border-radius: 30px;
	background: transparent;
	align-items: center;
	justify-content: flex-start;
	display: flex;
	color: var(--primary-color);
	font-weight: 600;
	transition: all 0.3s ease;
}

.tab-btn.active {
	background: var(--primary-color);
	color: white;
	background-color: #00a34a;
}

/* Pricing Cards */
.pricing-item {
	position: relative;
	background: white;
	border-radius: 15px;
	padding: 2rem;
	transition: all 0.3s ease;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.pricing-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.pricing-item.active,
.pricing-item:hover {
	background-color: #f9f9f9 !important;
}
.popular-tag {
	position: absolute;
	top: -12px;
	right: 20px;
	background: var(--primary-color);
	color: white;
	padding: 0.5rem 1rem;
	background-color: #00a34a;
	border-radius: 20px;
	font-size: 0.9rem;
	font-weight: 600;
}

.price {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	margin: 1rem 0;
}

.currency {
	font-size: 1.5rem;
	font-weight: 600;
}

.amount {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
}

.period {
	color: var(--text-muted);
	font-size: 1rem;
}

/* Features List */
.pricing-item ul {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0;
}

.pricing-item ul li {
	display: flex;
	align-items: center;
	width: 100%;
	justify-content: flex-start !important;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	color: var(--text-color);
}

.pricing-item ul li i {
	color: var(--primary-color);
}

/* Buttons */
.tf-button-primary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1rem;
	border-radius: 8px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.tf-button-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.pricing-item .center {
	padding: 40px 0px 0px;
}

.pricing-item .top {
	padding: 40px 0px 20px;
	align-items: center;
}
/* Responsive Design */
@media (max-width: 768px) {
	.pricing-tabs {
		flex-wrap: wrap;
	}

	.tab-btn {
		width: calc(50% - 0.5rem);
	}

	.pricing-item {
		margin-bottom: 2rem;
	}
}

@media (max-width: 422px) {
	.tab-btn {
		width: 100%;
	}
	#filterModal .modal-footer .btn {
		width: 100%;
	}
}

.pricing-section {
	margin-top: 100px;
}

#tarif .py-20 {
	padding-top: 20px;
	padding-bottom: 20px;
}

.icon {
	border-radius: 50%;
	width: 20px;
	height: 20px;
	justify-content: center;
	align-items: center;
	font-size: 9px;
	display: flex;
}

.video-container {
	height: 100%;
	border-radius: 20px;
	min-height: 300px;
	overflow: hidden;
}

@media (max-width: 760px) {
	.video-y-container {
		margin-bottom: 20px;
	}
}

.form-control:focus {
	border-color: transparent;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}

.slider-brand .swiper-wrapper {
	transition-timing-function: linear !important;
	align-items: center !important;
}

.buttonEstimer {
	border-radius: 12px;
	color: var(--White);
	background-color: var(--Primary);
}

.mt-4 {
	margin-top: 1.5rem !important;
}

.menu-divider {
	height: 1px;
	background-color: #adadad;
	margin: 0.5rem 0;
	opacity: 0.5;
}

.dropdown-item.active,
.dropdown-item:active {
	background-color: #e9ecef;
	color: white;
}

.btn-light {
	box-shadow: none !important;
}

.property-single-wrap .content-wrap .map .wrap-map-v1 {
	height: 300px;
}

.variant-h3 {
	font-size: 26px;
	line-height: 36px;
}

.variant-h4 {
	font-size: 21px;
	line-height: 30px;
}

.variant-h2 {
	font-size: 35px;
	line-height: 45px;
}

@media (max-width: 768px) {
	.box-dream.style-properties .content .title {
		line-height: 25px !important;
		font-size: 25px !important;
	}
	.max-width-auto-sm {
		max-width: 100% !important;
	}
}

.tf-button-primary.style-blue {
	background-color: var(--Primary);
	color: #fff;
}

.tf-button-primary.style-blue:hover {
	background-color: var(--Secondary) !important;
}

.highlight-box {
	border: 2px solid rgba(0, 0, 0, 0.05);
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- Titles */
h1,
.h1 {
	font-size: 45px;
	line-height: 50px;
}

h2,
.h2 {
	font-size: 35px;
	line-height: 45px;
}

h2.h2NumberBiens {
	font-size: 20px;
	line-height: 30px;
}

.image-icon-container {
	height: 155px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f3f3f370;
	position: relative;
	border-radius: 20px;
	margin-bottom: 10px;
}

.image-icon-container i {
	color: #4caf50;
}

#filterModal .modal-dialog .modal-content {
	flex-direction: column;
	padding: 0px 18px;
}

#filterModal.modal {
	z-index: 9999 !important;
}

.mmOverridePaddingTopBottomSection {
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}

.mmOverridePaddingTopBottomSection:first-of-type {
	padding-top: 160px !important;
}
.mmOverridePaddingTopBottomSection:last-of-type {
	padding-bottom: 160px !important;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */
.mmContainerSteps i {
	font-size: 45px;
	color: #1a1a1a;
}

.mmContainerSteps .step-number {
	width: 40px;
	height: 40px;
	background-color: white;
	color: #1a1a1a;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
	z-index: 1;
	position: absolute;
	top: 13px;
	left: 12px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}

.modal-footer .btn-outline-secondary:hover {
	background-color: var(--Secondary) !important;
}

.modal-footer .btn-primary {
	background-color: var(--Primary) !important;
}

.modal-footer .btn-primary:hover {
	background-color: var(--Secondary) !important;
}

.btn-check:focus + .btn-primary,
.btn-primary:focus {
	border-color: transparent !important;
	box-shadow: none !important;
}

.btn-filter:hover {
	background-color: var(--Secondary) !important;
	color: white !important;
}

.tf-button-bg {
	background: white !important;
	color: var(--Secondary) !important;
}

.tf-button-bg:hover {
	background: var(--Secondary) !important;
	color: white !important;
}

.contact-info-button:hover {
	background-color: var(--Fourth) !important;
	color: white !important;
}

.promo-offer-highlight {
	background: linear-gradient(90deg, #eafbe7 0%, #f8fff6 100%);
	border: 2px solid #00a34a;
	border-radius: 18px;
	box-shadow: 0 4px 18px rgba(40, 167, 69, 0.08);
	padding: 32px 18px 24px 18px;
	margin-bottom: 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.promo-offer-highlight .promo-icon {
	margin-bottom: 10px;
}
.promo-offer-highlight .promo-content {
	margin-bottom: 0;
}
@media (max-width: 600px) {
	.promo-offer-highlight {
		padding: 18px 16px 14px 16px;
		font-size: 1em;
	}
	.promo-offer-highlight p:first-child {
		margin: 18px 0px 14px 0px;
	}
}
.text-content-wrapper {
	position: relative;
}

.short-content {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: all 0.3s ease;
}

.full-content {
	transition: all 0.3s ease;
}

.see-more-btn {
	border-radius: 20px;
	padding: 8px 20px;
	font-size: 0.9rem;
	transition: all 0.3s ease;
	border-width: 2px;
	position: relative;
	overflow: hidden;
}

.see-more-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.see-more-btn .fas {
	transition: transform 0.3s ease;
}

.see-more-btn.expanded .fas {
	transform: rotate(180deg);
}

.see-more-btn::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.1));
	opacity: 0;
	transition: opacity 0.3s ease;
}

.see-more-btn:hover::after {
	opacity: 1;
}
.see-more-btn i {
	font-size: 1.2rem;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.full-content.show {
	animation: fadeIn 0.3s ease forwards;
}

.luxury-home .image img {
	object-fit: cover;
	max-height: 46rem;
}

.pagination-style-2 > .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
	border-top-color: #122223;
	width: 20px;
	height: 20px;
}

.city-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	padding: 20px;
	flex-direction: column;
	justify-content: space-around;
	min-height: 200px;
	color: white;
}

.city-overlay h3.white-text {
	color: white;
	font-size: 1.2em;
	margin-bottom: 5px;
	text-transform: uppercase;
	min-height: 80px;
	text-align: center;
}

.cities-item {
	position: relative;
}

.cities-item > a {
	left: 50%;
	transform: translateX(-50%);
}

.sidebar-contact-agent {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.agent-header {
	display: flex;
	align-items: center;
	gap: 1em;
}

/* prevent shrinking of the image when fullname container is taller */
.agent-header a {
	display: flex;
	flex-shrink: 0;
}

.agent-photo {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	object-fit: cover;
}
.agent-name {
	font-weight: bold;
	font-size: 1.1em;
}
.contact-email-btn {
	border: 1px solid #ccc;
	background: #fff;
	padding: 0.3em 1em;
	border-radius: 6px;
	margin: 0.3em 0;
	cursor: pointer;
}
.agent-phone {
	color: #222;
	font-size: 1em;
}
.sidebar-form-title {
	font-weight: bold;
	font-size: 1.1em;
	margin-bottom: 0.5em;
}
.sidebar-form .form-row {
	display: flex;
	gap: 0.5em;
	margin-bottom: 0.7em;
}
.sidebar-form input,
.sidebar-form textarea {
	width: 100%;
	padding: 0.5em;
	border-radius: 6px;
	border: 1px solid #ddd;
	font-size: 1em;
}
.sidebar-form textarea {
	min-height: 70px;
	resize: vertical;
}
.phone-input {
	display: flex;
	align-items: center;
	gap: 0.5em;
	width: 100%;
}
.flag {
	font-size: 1.3em;
}

.property-single-wrap .content-wrap .calculator form {
	gap: 40px 20px;
}

.features .flat-toggle:not(.active) {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- Vignettes biens */
.swiper-container.slider-box-dream {
	height: 231.67px;
}

.box-dream .content .title {
	line-height: 19px;
}

.box-dream .content .subTitle {
	font-weight: 400;
	font-size: 16px;
	line-height: 16px;
	margin-top: 8px;
}

.box-dream .content .titleShortAnnonce {
	margin-top: 8px;
	font-weight: 400;
	font-size: 14px;
	line-height: 14px;
	font-style: italic;
	height: 42px;
}

.box-dream .content .vignetteBienHomeHead {
	display: flex;
	flex-direction: column;
	gap: 8px;
	position: relative;
}

/* ------------------------------------------------------------------------------------- Selection transparente */
::selection {
	background: rgba(0, 0, 0, 0.04);
	color: inherit;
}

/* ------------------------------------------------------------------------------------- */
.box-icon.style-3 .image [p-lottie] {
	height: 155px;
	max-width: 200px;
	vertical-align: middle;
	-ms-interpolation-mode: bicubic;
}

.box-icon:hover .image {
	transform: none;
	-webkit-transform: none;
	-moz-transform: none;
	-ms-transform: none;
	-o-transform: none;
}

hr {
	margin: 0;
	color: inherit;
	border: 0;
	opacity: 0.25;
}

.iti {
	width: 100% !important;
}

.aShareMm {
	font-size: 20px;
}

.property-single-wrap .head-title {
	margin-bottom: 0px;
}

.cities-item::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, rgba(26, 26, 26, 0.45) 0%, rgba(26, 26, 26, 0.08) 60%, rgba(26, 26, 26, 0) 100%) !important;
	pointer-events: none;
}

#onePictureArea .swiper-item {
	max-width: 800px;
}

.badge-date {
	font-weight: 600;
	font-size: 16px;
	position: absolute;
	right: 2%;
	background: #28a745;
	color: white;
	top: 6px;
	padding: 6px 15px;
	border-radius: 20px;
	max-height: 46rem;
}

.custom-grid-detail {
	grid-template-columns: repeat(1, 1fr) !important;
}

.c-primary:not(.c-primary:hover) {
	color: var(--Primary) !important;
}

@media (max-width: 767px) {
	.property-single-wrap .content-wrap .box-items {
		display: block;
	}
	.property-single-wrap .content-wrap .box-items .item {
		width: 100%;
		margin-bottom: 10px;
	}
}

.btn-check:focus + .btn,
.btn:focus {
	border-color: transparent !important;
	box-shadow: none !important;
}

.btn-link:hover {
	color: var(--Primary) !important;
}

.boxShadowsV1 {
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}

@media (max-width: 768px) {
	.icon-box .item:not(:last-child)::after {
		position: initial;
	}
}

h4.titleBienImmo {
	background: #fff;
	color: #222;
	border-radius: 10px;
	padding: 10px 18px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	font-weight: 600;
	border: 1px solid #e6e6e6;
	display: flex;
	align-items: center;
}

h4.titleBienImmo > span {
	background: #f4f8f6;
	border-radius: 50%;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
}

h4.titleBienImmo > span > i {
	font-size: 1.2rem;
	color: var(--Primary);
}

span.dateCreate {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #f4f8f6;
	color: #222;
	border-radius: 8px;
	padding: 4px 12px;
	font-size: 0.98em;
	font-weight: 500;
	margin-left: 8px;
}

span.dateCreate .date {
	font-weight: 600;
	color: #222;
}

span.dateCreate .time {
	color: #888;
	font-size: 0.95em;
}

h2.h2TwoSpan {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em;
}

/* Style pour la première span (texte principal) */
.h2TwoSpan span.offerTitle {
	min-width: 0;
}

/* Style pour la deuxième span (texte secondaire) */
.h2TwoSpan span.offerDate {
	font-size: 0.6em;
	font-style: italic;
	white-space: nowrap;
}

li.optionsMedia {
	display: flex;
	justify-content: center;
	width: 100%;
}

li.optionsMedia .options-modern {
	padding: 1rem;
	background: #f8f9fa;
	border-radius: 0.75rem;
	box-shadow: 0 6px 32px 0 rgba(31, 75, 67, 0.08), 0 1.5px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid #e9ecef;
	transition: box-shadow 0.3s cubic-bezier(0.4, 2, 0.6, 1), border-color 0.3s cubic-bezier(0.4, 2, 0.6, 1);
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}

li.optionsMedia .options-title {
	font-weight: 600;
	display: flex;
	align-items: center;
	margin-bottom: 0.5rem;
	gap: 0.5rem;
}
li.optionsMedia .options-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
li.optionsMedia .option-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.5rem 0;
}
li.optionsMedia .option-price {
	background: #e9ecef;
	color: #333;
	font-weight: 600;
	border-radius: 0.5rem;
	padding: 0.25rem 0.75rem;
	font-size: 1rem;
}
li.optionsMedia .option-desc {
	font-size: 1rem;
	color: #333;
	word-break: break-word;
	overflow-wrap: break-word;
	white-space: normal;
	max-width: 100%;
}
li.optionsMedia .option-desc small {
	color: #888;
	font-size: 0.9em;
}

h4.offreParticulier {
	min-height: 69px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

h4.offreParticulier span:first-of-type {
	color: #222;
	font-weight: 700;
	font-size: 1.15em;
	vertical-align: middle;
	margin-right: 10px;
}

h4.offreParticulier span:last-of-type {
	display: inline-block;
	background: var(--Primary);
	color: #fff;
	border-radius: 20px;
	padding: 6px 18px;
	font-size: 1.05em;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(79, 140, 255, 0.1);
	vertical-align: middle;
	opacity: 0.92;
	letter-spacing: 0.2px;
}

h4.offreParticulier span:last-of-type.premium {
	background: linear-gradient(90deg, #ffd700 0%, #ffb300 100%);
	color: #222;
	border: 2px solid #ffd700;
	box-shadow: 0 2px 12px rgba(255, 215, 0, 0.18);
	font-weight: 700;
	letter-spacing: 0.5px;
	text-shadow: 0 1px 4px rgba(255, 215, 0, 0.18);
}

.flat-toggle .toggle-title span {
	display: inline-block;
	position: relative;
	width: 90%;
}

/* ------------------------------------------------------------------------------------- Vignettes de la liste des biens immobiliers */
.box-dream .content .item.logoAgence {
	position: absolute;
	top: -50px;
	right: -10px;
	max-width: 80px;
	max-height: 80px;
	height: 110px;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	border-radius: 50%;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16), 0 1.5px 4px rgba(0, 0, 0, 0.1);
	background: white;
	backdrop-filter: blur(6px);
	transition: box-shadow 0.3s cubic-bezier(0.4, 2, 0.6, 1), border-color 0.3s cubic-bezier(0.4, 2, 0.6, 1);
	overflow: hidden; /* Évite le débordement */
}

.box-dream .content .item.logoAgence img {
	padding: 8px; /* Réduit le padding pour maximiser la taille du logo */
	max-width: 100%;
	max-height: 100%;
	width: 80px;
	height: 80px;
	object-fit: contain;
	display: block;
	min-width: 48px; /* Largeur minimale pour éviter des logos trop petits */
	transition: transform 0.2s ease; /* Transition douce pour les interactions */
}

/* Hover effect pour améliorer l'UX */
.box-dream .content .item.logoAgence:hover {
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(0, 0, 0, 0.15);
}

.box-dream .content .item.logoAgence:hover img {
	transform: scale(1.05);
}

@media (max-width: 768px) {
	.box-dream .content .item.logoAgence {
		height: 100px; /* Adjust height for smaller screens */
		max-width: 70px;
		max-height: 70px;
	}
	.box-dream .content .item.logoAgence img {
		padding: 6px; /* Padding réduit pour mobile */
		min-width: 40px; /* Largeur minimale adaptée au mobile */
	}
}

@media (max-width: 1024px) {
	.box-dream .content .item.logoAgence {
		height: 110px; /* Adjust height for medium screens */
		max-width: 75px;
		max-height: 75px;
	}
	.box-dream .content .item.logoAgence img {
		padding: 7px; /* Padding intermédiaire pour tablette */
		min-width: 44px; /* Largeur minimale adaptée à la tablette */
	}
}

/* Positionner la pagination en bas sans chevaucher les slides */
.sliderAgents {
	padding-bottom: 80px; /* pour laisser de la place à la pagination */
	position: relative;
}

.sliderAgents .swiper-pagination {
	position: absolute;
	bottom: 10px;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 10;
}

/* Style des bullets */
.sliderAgents .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background-color: #ccc;
	opacity: 1;
	margin: 0 6px;
	border-radius: 50%;
	transition: all 0.3s ease;
}

/* Bullet actif en vert Palmer + effet moderne */
.sliderAgents .swiper-pagination-bullet-active {
	background-color: #00a34a;
}

@media (max-width: 600px) {
	.promo-offer-highlight {
		padding-top: 1em !important;
	}
	.badge-date-wrapper {
		margin-top: 0 !important;
	}
	.promo-icon {
		margin-top: 2.8em !important;
	}
}

.pricePerMonth {
	font-size: 0.9rem;
	color: black;
	font-weight: 400;
	margin-left: 6px;
	vertical-align: middle;
	letter-spacing: 0.5px;
}

/* ------------------------------------------------------------------------------------- nice-select */
.nice-select {
	width: 100% !important;
	/* background: red !important; */
}

.nice-select .current {
	color: #222;
	font-weight: 600;
	display: flex;
	align-items: center;
	height: 100%;
}

.nice-select:after {
	border-bottom: 2px solid #00a34a;
	border-right: 2px solid #00a34a;
	width: 8px;
	height: 8px;
	right: 18px !important;
	top: 28px !important;
	transform: translateY(-50%) rotate(45deg);
}

.nice-select.open:after {
	transform: translateY(-50%) rotate(-135deg);
}

.nice-select .list {
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 8px 32px 0 rgba(31, 75, 67, 0.12), 0 1.5px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid #e5e7eb;
	margin-top: 8px;
	padding: 0.5em 0;
	overflow: hidden;
}

@media (max-width: 768px) {
	.nice-select .list {
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: 100% !important;
	}
}

.nice-select .option {
	padding: 0.85em 1.2em;
	font-size: 1.05em;
	color: #222;
	transition: background 0.15s, color 0.15s;
	border-radius: 0;
}

.nice-select .option.selected,
.nice-select .option.focus {
	background: #f4f8f6;
	color: #00a34a;
	font-weight: 600;
}

.nice-select .option:hover:not(.selected) {
	background: #f9f9f9;
	color: #1f4b43;
}

.nice-select.disabled {
	background: #f5f5f5 !important;
	color: #bdbdbd !important;
	border-color: #e0e0e0 !important;
	cursor: not-allowed;
	box-shadow: none !important;
}

.nice-select .list::-webkit-scrollbar {
	width: 8px;
	background: #f1f1f1;
	border-radius: 8px;
}
.nice-select .list::-webkit-scrollbar-thumb {
	background: #e5e7eb;
	border-radius: 8px;
}

/* Arrondis spécifiques pour le premier et le dernier élément d'une liste */
.nice-select ul > li:first-child {
	border-top-left-radius: 5px !important;
	border-top-right-radius: 5px !important;
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}

.nice-select ul > li:not(:first-child):not(:last-child) {
	border-radius: 0 !important;
}

.nice-select ul > li:last-child {
	border-bottom-left-radius: 5px !important;
	border-bottom-right-radius: 5px !important;
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
}

/* CSS - Cache tous les selects avec l'attribut p-niceselect par défaut */
select[p-niceselect] {
	display: none !important;
}

/* .nice-select {
	background-color: red !important;
} */

.nice-select.open .list {
	z-index: 9999 !important;
}

/* ------------------------------------------------------------------------------------- range-slider */
.range-slider .value {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	border-radius: 16px;
	padding: 14px 28px;
	font-size: 1.15rem;
	font-weight: 600;
	color: #1a1a1a;
}

.range-slider .value .skip-value-lower,
.range-slider .value .skip-value-upper {
	min-width: 38px;
	text-align: center;
	color: black;
	background: #fff;
	border-radius: 8px;
	padding: 4px 10px;
	font-size: 1.13em;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
	border: 0.5px solid black;
}

.range-slider .value .value-separator {
	color: #b0b0b0;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0 4px;
	user-select: none;
}

@media (max-width: 600px) {
	.range-slider .value {
		padding: 5px 5px;
		font-size: 1rem;
		gap: 5px;
	}
	.range-slider .value .skip-value-lower,
	.range-slider .value .skip-value-upper {
		min-width: 28px;
		padding: 3px 6px;
		font-size: 1em;
	}
}

.range-slider .range-two-val .noUi-origin .noUi-handle {
	cursor: pointer !important;
}

@media (max-width: 768px) {
	.flat-title h1,
	.flat-title .h1,
	.slider-content h1 {
		font-size: 2rem !important;
		line-height: 2.3rem !important;
	}

	h1.adaptMM {
		font-size: 2rem !important;
		line-height: 2.3rem !important;
	}

	.flat-title.page-property-list-3 {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	h2.h2NumberBiens {
		font-size: 1.2rem !important;
		line-height: 1.2rem !important;
	}
}

/* ------------------------------------------------------------------------------------- Custom Grid Bootstrap */
/* Breakpoint personnalisé à 1800px */
@media (min-width: 1800px) {
	.col-custom-4 {
		flex: 0 0 33.333333% !important;
		max-width: 33.333333% !important;
	}
}

@media (max-width: 1799px) and (min-width: 992px) {
	.col-custom-4 {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
}

/* ------------------------------------------------------------------------------------- Map */
.map-style-fixed {
	left: auto !important;
	top: 95px !important;
}

.property-map-v3 .box-dream {
	margin-bottom: 30px;
}

#header_main .header-inner .header-inner-wrap .main-menu ul.navigation > li > ul {
	padding: 16px;
}

/* ------------------------------------------------------------------------------------- Popup */
div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm {
	background-color: var(--c_primaryColor) !important;
}

div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus {
	box-shadow: none !important;
}

.agency-single-wrap .sidebar {
	margin-left: 0px;
	padding-left: 0px;
}

/* ------------------------------------------------------------------------------------- Header and footer for the websites pages */

.flat-title.page-property-list-3.flat-title-websites {
	margin-top: 120px !important;
}

@media (max-width: 1200px) {
	.footer-content-websites ul {
		flex-direction: column;
		text-align: start;
	}

	.flat-title.page-property-list-3.flat-title-websites {
		margin-top: 70px !important;
	}
}

@media (max-width: 768px) {
	.footer-content-websites p {
		text-align: center !important;
	}

	.footer-content-websites ul {
		flex-direction: column;
		text-align: center;
	}

	.inner-websites {
		gap: 25px !important;
		flex-direction: column-reverse;
	}
}

.mmSearchPulse {
	position: relative;
	display: inline-block;
	width: 100%;
}

/* Bordure inférieure animée en vert */
.mmSearchPulse::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, #34c759, #a8e063, #34c759, #00c853, #34c759);
	background-size: 300% 100%;
	animation: mmUnderlineGreen 1.8s infinite linear;
	opacity: 0.9;
	transition: opacity 0.3s ease;
	border-radius: 2px;
}

/* Animation fluide verte */
@keyframes mmUnderlineGreen {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

/* Quand on clique sur l'input → animation off */
.mmSearchPulse:focus-within::after {
	animation: none;
	opacity: 0;
}

/*---------------------------------- Property carousel image styles - Using Swiper autoHeight --------------------------------------------------*/
.sliderBoxVignetteBienImmo {
	overflow: hidden;
}

.sliderBoxVignetteBienImmo .swiper-slide {
	height: auto !important;
}

.sliderBoxVignetteBienImmo .image-container {
	width: 100%;
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
}

.sliderBoxVignetteBienImmo .property-carousel-image {
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	object-position: center !important;
	display: block;
}

@media (min-width: 768px) {
	.col-md-6 .sliderBoxVignetteBienImmo .image-container {
		aspect-ratio: 3/2;
	}
}

@media (min-width: 1200px) {
	.col-xl-6 .sliderBoxVignetteBienImmo .image-container {
		aspect-ratio: 5/3;
	}
}

@media (min-width: 1400px) {
	.col-xxl-12 .sliderBoxVignetteBienImmo .image-container,
	.col-xl-12 .sliderBoxVignetteBienImmo .image-container {
		aspect-ratio: 16/9;
	}
}

.sidebar .sidebar-item.sidebar-agents-1 ul li .image {
	width: 90px;
	height: 90px; /* ou auto + ratio */
	overflow: hidden;
	position: relative;
}

.sidebar .sidebar-item.sidebar-agents-1 ul li .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-o-object-fit: cover; /* vieux Opera */
	object-position: center;
	display: block;
}

/* ------------------------------------------------------------------------------------- Home vignette: agency logo bottom-right replacement for arrow button */
.box-dream .content.homeSpecial {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
	color: #fff;
	z-index: 10;
	max-width: max-content;
}

.box-dream.style-properties-1 .logoAgenceHomeSpecial {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16), 0 1.5px 4px rgba(0, 0, 0, 0.1);
}

.box-dream .logoAgenceHomeSpecial {
	max-width: 80px;
	max-height: 80px;
	height: 110px;
	background: #fff;
	backdrop-filter: blur(6px);
	cursor: pointer;
}

.box-dream .logoAgenceHomeSpecial img {
	padding: 8px;
	width: 80px;
	height: 80px;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
	transition: transform 0.2s ease;
}

.box-dream .logoAgenceHomeSpecial:hover {
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(0, 0, 0, 0.15);
}

.box-dream .logoAgenceHomeSpecial:hover img {
	transform: scale(1.05);
}

@media (max-width: 550px) {
	.box-dream .content.homeSpecial {
		padding: 0px !important;
	}
}

@media (max-width: 768px) {
	.box-dream .logoAgenceHomeSpecial {
		height: 100px;
		max-width: 70px;
		max-height: 70px;
	}
	.box-dream .logoAgenceHomeSpecial img {
		padding: 6px;
		min-width: 40px;
	}
}

@media (max-width: 1024px) {
	.box-dream .logoAgenceHomeSpecial {
		height: 110px;
		max-width: 75px;
		max-height: 75px;
	}
	.box-dream .logoAgenceHomeSpecial img {
		padding: 7px;
		min-width: 44px;
	}
}

/* special following the card shrinking */
@media (max-width: 880px) {
	.box-dream .content .vignetteBienHomeHead {
		row-gap: 0px;
	}

	.box-dream .content .vignetteBienHomeHead .price {
		font-size: 16px;
		line-height: 100%;
	}

	.box-dream .content .vignetteBienHomeHead .title {
		font-size: 14px;
		line-height: 100%;
	}

	.box-dream .content .vignetteBienHomeHead .titleShortAnnonce {
		font-size: 14px;
		height: fit-content;
		margin-top: 0px;
	}

	.box-dream .content .vignetteBienHomeHead .logoAgence img {
		width: 60px;
	}
}

/* Allow status tags to wrap when space is limited - specific to home vignette */
.box-dream.style-properties-1 .image .list-tags.home-tags-wrap {
	flex-wrap: wrap;
	max-width: calc(100% - 100px); /* Leave space for logo */
}

@media (max-width: 400px) {
	.box-dream.style-properties-1 .image .list-tags.home-tags-wrap .tags-item {
		padding: 6px 10px;
		font-size: 12px;
	}
}

/* ------------------------------------------------------------------------------------- Agence name link */
.agence-name-link:hover {
	opacity: 0.8;
	transition: opacity 0.3s ease;
}

input[type='checkbox'].mm_errorV2 + span {
	outline: 1px solid red;
	outline-offset: 1px;
}

@media (max-width: 1062px) {
	#header_main .main-menu {
		display: none !important;
	}

	#header_main .header-right {
		display: none !important;
	}

	#header_main .mobile-button {
		display: block !important;
	}

	#header_main .header-inner-wrap {
		justify-content: space-between;
		align-items: center; /* Assure l'alignement vertical */
	}
}

/* Règle de sécurité pour cacher le bouton mobile sur desktop (si ce n'est pas déjà fait) */
@media (min-width: 1062) {
	#header_main .mobile-button {
		display: none !important;
	}
}
