/*!
Theme Name: Afina Bootstrap
Theme URI: https://them.es/starter
Author: leo
Author URI: http://1l9mtc.ftp.infomaniak.com/
Description: afina
Version: 3.5.3
Requires at least: 5.0
Tested up to: 6.6
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: afina-theme
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/build/main.css" */

/* From http://codex.wordpress.org/CSS */
:root {
	--bs-border-radius: 0px;
}

h1 {
	text-align: center;
	color: #fff;
	font-size: 1.5em;
}

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	max-width: 96%;
	/* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}

.gallery-caption {
	display: block;
	text-align: left;
	padding: 0 10px 0 0;
	margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor {
	font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

.wp-block-button .wp-block-button__link {
	border-radius: 0px !important;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
	border: 1px solid rgba(0, 0, 0, 0.7) !important;
}

.wp-block-button .wp-block-button__link:hover {
	background-color: rgba(0, 0, 0, 0.7) !important;
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 1) !important;
}

.nogap.wp-block-columns.is-layout-flex {
	gap: 0 !important;
}

.img-fluid img {
	min-width: 100%
}

.wp-block-image {
	margin: 0px;
}

#header.navbar,
nav#header,
.navbar#header {
	background-color: #ffffff !important;
	background: #ffffff !important;
	height: 80px !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 9999 !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
	padding: 0 !important;
	border: none !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	margin: 0 !important;
	backdrop-filter: none !important;
}

#header .container,
.navbar#header .container {
	height: 80px !important;
	display: flex !important;
	align-items: center !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 15px !important;
}

#header .navbar-brand,
.navbar#header .navbar-brand {
	color: #000000 !important;
	font-weight: bold !important;
	text-decoration: none !important;
	z-index: 10000 !important;
	display: flex !important;
	align-items: center !important;
}

#header .navbar-brand img,
.navbar#header .navbar-brand img {
	max-height: 60px !important;
	width: auto !important;
	display: block !important;
}

/* Logo immobilier - taille réduite */
#header .navbar-brand img[src*="logo-afina-immobilier"],
.navbar#header .navbar-brand img[src*="logo-afina-immobilier"] {
	max-height: 15px !important;
}

#header .navbar-nav,
.navbar#header .navbar-nav {
	z-index: 10000 !important;
	display: flex !important;
}

#header .navbar-nav .nav-link,
.navbar#header .navbar-nav .nav-link {
	color: #000000 !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	padding: 0.5rem 1rem !important;
	display: block !important;
}

#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-link:focus,
.navbar#header .navbar-nav .nav-link:hover,
.navbar#header .navbar-nav .nav-link:focus {
	color: #333333 !important;
}

#header .navbar-nav .nav-link.active,
.navbar#header .navbar-nav .nav-link.active {
	color: #000000 !important;
	font-weight: bold !important;
}

#header .dropdown-menu .dropdown-item,
.navbar#header .dropdown-menu .dropdown-item {
	color: #000000 !important;
}

#header .dropdown-menu .dropdown-item:hover,
.navbar#header .dropdown-menu .dropdown-item:hover {
	color: #0851a1 !important;
	background-color: transparent !important;
}

#header .dropdown-menu .dropdown-item.active,
.navbar#header .dropdown-menu .dropdown-item.active {
	color: #0851a1 !important;
	background-color: transparent !important;
}

#header .navbar-toggler,
.navbar#header .navbar-toggler {
	border: 1px solid #000000 !important;
	z-index: 10000 !important;
	background-color: transparent !important;
}

#header .navbar-toggler-icon,
.navbar#header .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%280, 0, 0, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Header avec fond blanc de 80px de hauteur */
#header.custom-img {
	background-color: #ffffff !important;
	height: 80px;
	min-height: 80px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1030;
}

/* Responsive - ajuster le header pour le menu mobile */
@media (max-width: 767.98px) {
	#header.custom-img {
		position: relative;
	}
}

#header.custom-img::before,
.custom-img#header::before {
	display: none !important;
}

/* Styles du menu principal */
#header .navbar-nav .nav-link {
	color: #000000 !important;
	font-weight: 500;
	transition: color 0.3s ease;
}

#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-link:focus {
	color: #0851a1 !important;
}

#header .navbar-nav .nav-link.active,
#header .navbar-nav .nav-link[aria-current="page"] {
	color: #0851a1 !important;
}

/* Bouton de switch entre les univers */
#header .navbar-nav .universe-switch {
	margin-left: 1rem;
}

#header .navbar-nav .universe-switch-link,
#header .navbar-nav .universe-switch .nav-link,
.navbar#header .navbar-nav .universe-switch-link,
.navbar#header .navbar-nav .universe-switch .nav-link {
	background-color: #0851a1 !important;
	color: #ffffff !important;
	border-radius: 4px !important;
	padding: 0.5rem 1.25rem !important;
	font-weight: 600 !important;
	transition: all 0.3s ease !important;
	border: 2px solid #0851a1 !important;
	display: inline-block !important;
}

#header .navbar-nav .universe-switch-link:hover,
#header .navbar-nav .universe-switch-link:focus,
#header .navbar-nav .universe-switch .nav-link:hover,
#header .navbar-nav .universe-switch .nav-link:focus,
.navbar#header .navbar-nav .universe-switch-link:hover,
.navbar#header .navbar-nav .universe-switch-link:focus {
	background-color: #063d7a !important;
	border-color: #063d7a !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(8, 81, 161, 0.3);
}

/* Responsive - Mobile */
@media (max-width: 767.98px) {
	#header .navbar-collapse .universe-switch {
		margin-left: 0;
		margin-top: 1rem;
		padding-top: 1rem;
		border-top: 1px solid rgba(0, 0, 0, 0.1);
	}

	#header .navbar-collapse.show .universe-switch-link,
	#header .navbar-collapse.show .universe-switch .nav-link {
		background-color: #0851a1 !important;
		color: #ffffff !important;
		text-shadow: none !important;
		display: block !important;
		text-align: center !important;
	}

	#header .navbar-collapse.show .universe-switch-link:hover,
	#header .navbar-collapse.show .universe-switch-link:focus,
	#header .navbar-collapse.show .universe-switch .nav-link:hover,
	#header .navbar-collapse.show .universe-switch .nav-link:focus {
		background-color: #063d7a !important;
		color: #ffffff !important;
	}
}

/* Sous-menus - garder leurs styles existants */
#header .dropdown-menu {
	background-color: #ffffff;
	border: 1px solid #e9ecef;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

#header .dropdown-item {
	color: #000000;
}

#header .dropdown-item:hover,
#header .dropdown-item:focus {
	background-color: #0851a1;
	color: #ffffff;
}

/* Logo et marque */
#header .navbar-brand {
	color: #000000 !important;
	font-weight: bold;
}

/* Bouton toggle mobile */
#header .navbar-toggler {
	border-color: #000000;
}

#header .navbar-toggler:focus {
	box-shadow: 0 0 0 0.2rem rgba(8, 81, 161, 0.25);
}

/* Responsive */
@media (max-width: 767.98px) {
	#header.custom-img {
		height: auto;
		min-height: 80px;
	}

	/* Menu mobile ouvert - fond blanc forcé avec sélecteurs très spécifiques */
	#header .navbar-collapse,
	#header .navbar-collapse.show,
	#header .navbar-collapse.collapsing,
	#header .collapse.show,
	#header .collapse.collapsing,
	#header .navbar-collapse.collapse.show,
	#header .navbar-collapse.collapse.collapsing {
		background-color: #ffffff !important;
		padding: 1rem !important;
		margin-top: 0 !important;
		border-radius: 0 !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
		border: none !important;
		border-top: 1px solid #e9ecef !important;
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 1000 !important;
	}

	/* Forcer le fond blanc sur tous les états du menu mobile */
	#header .navbar-collapse[style*="display: block"],
	#header .navbar-collapse[style*="display: flex"] {
		background-color: #ffffff !important;
	}

	/* Menu mobile - garder les mêmes styles que desktop */
	#header .navbar-collapse .navbar-nav .nav-link {
		color: #000000 !important;
		font-weight: 500 !important;
		transition: color 0.3s ease !important;
		padding: 0.5rem 0 !important;
	}

	#header .navbar-collapse .navbar-nav .nav-link:hover,
	#header .navbar-collapse .navbar-nav .nav-link:focus {
		color: #0851a1 !important;
	}

	#header .navbar-collapse .navbar-nav .nav-link.active,
	#header .navbar-collapse .navbar-nav .nav-link[aria-current="page"] {
		color: #0851a1 !important;
	}

	/* Sous-menus mobile - garder les mêmes styles */
	#header .navbar-collapse .dropdown-menu {
		background-color: #ffffff !important;
		border: 1px solid #e9ecef !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
		margin-top: 0.5rem !important;
		padding: 0.5rem 0 !important;
	}

	#header .navbar-collapse .dropdown-item {
		color: #000000 !important;
		padding: 0.5rem 1rem !important;
	}

	#header .navbar-collapse .dropdown-item:hover,
	#header .navbar-collapse .dropdown-item:focus {
		background-color: #0851a1 !important;
		color: #ffffff !important;
	}
}

/* Suppression du fond bleu dégradé - plus de fond coloré */

/* Image de fond - TOUS LES ÉCRANS */
body::before {
	content: '';
	position: absolute;
	top: 80px;
	left: 0;
	width: 100%;
	height: 300px;
	/*background-image: url('/wp-content/uploads/2025/846aa1_156ab95c84e947bf9022a3035d8a0835~mv2.avif');*/
	background-size: contain;
	background-position: center top;
	background-repeat: no-repeat;
	z-index: 1;
	pointer-events: none;
	transition: top 0.3s ease;
}

/* Responsive design pour tous les écrans */
@media (max-width: 767.98px) {

	/* Mobile - image compacte et entièrement visible */
	body::before {
		height: 200px;
		background-size: contain;
		background-position: center top;
	}

	#main {
		transition: margin-top 0.3s ease;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {

	/* Tablets - image compacte et entièrement visible */
	body::before {
		height: 240px;
		background-size: contain;
		background-position: center top;
	}

	#main {
		transition: margin-top 0.3s ease;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {

	/* Medium screens - image compacte et entièrement visible */
	body::before {
		height: 280px;
		background-size: contain;
		background-position: center top;
	}

	#main {
		margin-top: 360px !important;
		transition: margin-top 0.3s ease;
	}
}

@media (min-width: 1200px) and (max-width: 1399.98px) {

	/* Large desktop - image compacte et entièrement visible */
	body::before {
		height: 320px;
		background-size: contain;
		background-position: center top;
	}

	#main {
		transition: margin-top 0.3s ease;
	}
}

@media (min-width: 1400px) and (max-width: 1919.98px) {

	/* Extra large screens - image compacte et entièrement visible */
	body::before {
		height: 370px;
		background-size: contain;
		background-position: center top;
	}

	#main {
		transition: margin-top 0.3s ease;
	}
}

@media (min-width: 1920px) {

	/* Ultra large screens - image compacte et entièrement visible */
	body::before {
		height: 420px;
		background-size: contain;
		background-position: center top;
	}

	#main {
		transition: margin-top 0.3s ease;
	}
}

/* Ultra-wide screens - image compacte et entièrement visible */
@media (min-width: 2560px) {
	body::before {
		height: 470px;
		background-size: contain;
		background-position: center top;
	}

	#main {
		transition: margin-top 0.3s ease;
	}
}

/* Ajustement pour compenser le header fixe - supprimer l'image de fond du body */
body {
	padding-top: 80px !important;
	position: relative;
}

/* Retirer l'image de fond du navbar */
.navbar.custom-img::after {
	display: none !important;
}

#main {
	position: relative;
	padding-top: 20px !important;
	background-color: white;
	min-height: calc(100vh - 80px);
	z-index: 2;
}

/* Ajuster le contenu pour qu'il commence après l'image */
#main>.row:first-child,
#main>.container:first-child,
#main>*:first-child {
	margin-top: 0px;
	position: relative;
	z-index: 2;
}

.menu-item {
	min-width: auto !important;
	padding: 0px 20px;
}

.hometabs svg {
	height: 70px;
	margin-bottom: 15px;
}

.bgblue {
	background: #225aa8;
	color: #fff;
}

.bgblue svg,
.bgblue svg line,
.bgblue .cls-1,
.bgblue .cls-2 {
	stroke: white !important;
}

.bgblue a {
	color: #fff;
	border: none !important;
}

.bgblue .wp-block-getwid-tabs__nav-links {
	background: #fff;
}

.bgblue .wp-block-getwid-tabs__nav-link a {
	color: #225aa8;
}

.bgblue .wp-block-getwid-tabs__nav-link.ui-tabs-active a {
	color: #fff;
}

.bgblue .wp-block-getwid-tabs__nav-link {
	background: #fff;
	border-bottom: none;
	margin: 0px;

}

.bgblue .wp-block-getwid-tabs__nav-link.ui-tabs-active {
	background: #225aa8;
	border: none !important;

}

.bgblue .wp-block-getwid-tabs__tab-content {
	border: none !important;
}

.dropdown-menu {
	border-radius: 0px !important;
}

#header.navbar-light,
#header.bg-light,
.navbar-light#header,
.bg-light#header {
	background-color: #ffffff !important;
}

/* Forcer l'affichage sur tous les breakpoints */
#header.navbar-expand-md,
.navbar-expand-md#header {
	display: block !important;
}

@media (max-width: 767.98px) {

	#header.navbar-expand-md .navbar-collapse,
	.navbar-expand-md#header .navbar-collapse {
		display: none;
	}

	#header.navbar-expand-md .navbar-collapse.show,
	.navbar-expand-md#header .navbar-collapse.show {
		display: block !important;
	}

}

@media (min-width: 768px) {

	#header.navbar-expand-md .navbar-collapse,
	.navbar-expand-md#header .navbar-collapse {
		display: flex !important;
		flex-basis: auto;
	}
}

/* S'assurer que le header reste visible même avec d'autres classes */
header {
	position: relative !important;
	z-index: 1000 !important;
}

header nav#header {
	position: fixed !important;
	z-index: 9999 !important;
}

/* Responsive - Mobile */
@media (max-width: 767.98px) {

	/* Header mobile */
	#header.navbar,
	nav#header,
	.navbar#header {
		height: 60px !important;
	}

	#header .container,
	.navbar#header .container {
		height: 60px !important;
	}

	#header .navbar-brand img,
	.navbar#header .navbar-brand img {
		max-height: 40px !important;
	}

	/* Logo immobilier mobile - taille réduite */
	#header .navbar-brand img[src*="logo-afina-immobilier"],
	.navbar#header .navbar-brand img[src*="logo-afina-immobilier"] {
		max-height: 30px !important;
	}

	/* Ajustement du padding pour le header plus petit */
	body {
		padding-top: 60px !important;
	}

	/* Image de Lausanne mobile - hérite du comportement de base */
	body::before {
		top: 80px;
		height: 300px;
		/* background-size: contain et background-position: center top hérités */
		transition: top 0.3s ease;
	}

	/* Fond bleu mobile - garde ses proportions naturelles */
	body::after {
		top: 60px;
		height: 300px;
		transition: top 0.3s ease, height 0.3s ease;
		/* Maintenir les proportions du dégradé */
		background-size: 100% 100%;
		background: linear-gradient(to bottom, #87C3F2 40%, #FFFFFF 30%);
	}

	/* Contenu mobile */
	#main {
		margin-top: 180px !important;
		transition: margin-top 0.3s ease;
	}

	/* Menu mobile ouvert - COMPLÈTEMENT TRANSPARENT sur l'image */
	#header .navbar-collapse.show {
		position: absolute;
		top: 60px;
		left: 0;
		right: 0;
		background: none !important;
		border: none !important;
		z-index: 9998;
		padding: 20px 15px;
		box-shadow: none !important;
	}

	/* Supprimer TOUT fond blanc des éléments du menu */
	#header .navbar-collapse.show .navbar-nav {
		background: none !important;
	}

	#header .navbar-collapse.show .nav-item {
		background: none !important;
	}

	/* Liens du menu mobile en noir pour contraste sur l'image - SANS FOND */
	#header .navbar-collapse.show .nav-link {
		color: #000000 !important;
		font-weight: 600 !important;
		font-size: 18px !important;
		padding: 10px 0 !important;
		text-shadow: none !important;
		background: none !important;
		border: none !important;
	}

	#header .navbar-collapse.show .nav-link:hover,
	#header .navbar-collapse.show .nav-link:focus {
		background: none !important;
		color: #333333 !important;
		text-shadow: none !important;
	}

	#header .navbar-collapse.show .nav-link.active {
		background: none !important;
		color: #000000 !important;
		font-weight: 700 !important;
		text-shadow: none !important;
	}

	/* Dropdowns complètement transparents */
	#header .navbar-collapse.show .dropdown-menu {
		border: none !important;
		box-shadow: none !important;
		padding-left: 20px !important;
	}

	#header .navbar-collapse.show .dropdown-item {
		color: #000000 !important;
		background: none !important;
		font-weight: 500 !important;
		font-size: 14px !important;
		padding: 4px 0 !important;
		text-shadow: none !important;
		border: none !important;
		line-height: 1.2 !important;
	}

	#header .navbar-collapse.show .dropdown-item:hover,
	#header .navbar-collapse.show .dropdown-item:focus {
		background: none !important;
		color: #0851a1 !important;
		text-shadow: none !important;
	}

	#header .navbar-collapse.show .dropdown-item.active {
		background: none !important;
		color: #0851a1 !important;
		text-shadow: none !important;
	}

	/* Quand le menu mobile est ouvert - l'image et le fond bleu se déplacent ensemble */
	body.mobile-menu-open::before {
		top: var(--image-top, 400px) !important;
		transition: top 0.3s ease;
	}

	/* Fond bleu quand menu mobile ouvert - se déplace avec l'image */
	body.mobile-menu-open::after {
		top: 60px !important;
		height: var(--mobile-menu-height, 900px) !important;
		transition: top 0.3s ease, height 0.3s ease;
		/* Fond bleu prenant au moins 70% pour assurer la visibilité du texte */
		background: linear-gradient(to bottom, #87C3F2 70%, #FFFFFF 30%) !important;
		background-size: 100% 100% !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		z-index: -2 !important;
		pointer-events: none !important;
	}

	body.mobile-menu-open #main {
		margin-top: var(--main-margin-top, 900px) !important;
		transition: margin-top 0.3s ease;
	}

	/* Supprimer les sélecteurs :has() problématiques - gérés par JavaScript maintenant */
}

@media (max-width: 500px) {
	body::before {
		top: 80px;
	}

	body::after {
		background: linear-gradient(to bottom, #87C3F2 20%, #FFFFFF 30%);
	}

	#main {
		margin-top: 100px !important;
		transition: margin-top 0.3s ease;
	}
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {

	/* Image de Lausanne tablet - hérite du comportement de base */
	body::before {
		height: 450px;
		top: 80px !important;
		/* background-size: contain et background-position: center top hérités */
	}

	/* Fond bleu tablet - garde ses proportions naturelles */
	body::after {
		height: 450px;
		background: linear-gradient(to bottom, #87C3F2 35%, #FFFFFF 30%);
		/* Maintenir les proportions du dégradé */
		background-size: 100% 100%;
	}

	#main {
		margin-top: 200px !important;
		transition: margin-top 0.3s ease;
	}
}

/* Desktop */
@media (min-width: 992px) and (max-width: 1199.98px) {

	body::after {
		background: linear-gradient(to bottom, #87C3F2 36%, #FFFFFF 30%);
	}

	#main {
		margin-top: 240px !important;
		transition: margin-top 0.3s ease;
	}
}

/* Écrans moyens */
@media (min-width: 1200px) and (max-width: 1399.98px) {
	body::after {
		background: linear-gradient(to bottom, #87C3F2 40%, #FFFFFF 30%);
	}

	#main {
		transition: margin-top 0.3s ease;
	}
}

/* Grands écrans */
@media (min-width: 1400px) and (max-width: 1919.98px) {

	body::after {
		background: linear-gradient(to bottom, #87C3F2 44%, #FFFFFF 30%);
	}

	#main {
		transition: margin-top 0.3s ease;
	}
}

/* Très grands écrans */
@media (min-width: 1920px) and (max-width: 2319.98px) {
	body::before {
		top: 80px;
	}

	body::after {
		background: linear-gradient(to bottom, #87C3F2 60%, #FFFFFF 30%);
	}

}

/* Variables CSS pour la gestion dynamique des hauteurs */
:root {
	--mobile-menu-height: 420px;
	--image-top: 80px;
	--main-margin-top: 420px;
	--lausanne-image-top: 80px;
	--blue-bg-height: 420px;
	--main-top: 420px;
	--mobile-base-height: 300px;
	--mobile-menu-padding: 100px;
}


/* Hero Section Styles */
.hero-section {
	width: 100%;
	height: 500px;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	margin-bottom: 10px;
}

/* Réduire la hauteur du hero de 33% sur toutes les pages sauf la page d'accueil */
body:not(.home):not(.front-page) .hero-section {
	height: 335px;
	/* 500px * 0.67 = 335px */
}

.hero-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgba(102, 126, 234, 0.9) 0%, rgba(118, 75, 162, 0.9) 100%);
	z-index: 1;
}

.hero-image {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	object-fit: cover;
	object-position: center bottom;
}

.hero-title {
	position: relative;
	z-index: 3;
	text-align: center;
	color: #ffffff;
	padding: 0 20px;
	animation: fadeInUp 1s ease-out 0.5s both;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero-title h1 {
	font-size: 3.5rem;
	font-weight: 700;
	margin-bottom: 15px;
	text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
	letter-spacing: 1px;
}

.hero-subtitle {
	font-size: 1.5rem;
	font-weight: 300;
	opacity: 0.95;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
	margin: 0;
}

@media (max-width: 768px) {
	.hero-section {
		height: 400px;
	}

	/* Réduire la hauteur du hero de 33% sur toutes les pages sauf la page d'accueil */
	body:not(.home):not(.front-page) .hero-section {
		height: 268px;
		/* 400px * 0.67 = 268px */
	}

	.hero-title h1 {
		font-size: 2.5rem;
	}

	.hero-subtitle {
		font-size: 1.2rem;
	}
}

@media (max-width: 480px) {
	.hero-section {
		height: 350px;
	}

	/* Réduire la hauteur du hero de 33% sur toutes les pages sauf la page d'accueil */
	body:not(.home):not(.front-page) .hero-section {
		height: 235px;
		/* 350px * 0.67 = 235px */
	}

	.hero-title h1 {
		font-size: 2rem;
	}

	.hero-subtitle {
		font-size: 1rem;
	}
}

/* Content Grid Styles from fiduciaire2.html */
.content-grid,
.wp-block-columns.content-grid {
	display: grid !important;
	grid-template-columns: 1fr 320px !important;
	gap: 50px !important;
	margin-bottom: 50px !important;
	margin-top: 0 !important;
}

.wp-block-columns.content-grid .wp-block-column {
	flex: none !important;
}

.content-column {
	/* Content column styles - styles appliqués via les sélecteurs spécifiques ci-dessous */
	display: block;
}

.content-section {
	margin-bottom: 40px;
}

.content-section.about-afina h2,
.content-column h2,
.content-column .wp-block-heading.about-afina,
.content-column h2.wp-block-heading,
.wp-block-column.content-column h2 {
	font-size: 28px !important;
	margin-bottom: 18px !important;
	color: #2c3e50 !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.content-section.about-afina p,
.content-column p,
.wp-block-column.content-column p,
.content-column .wp-block-paragraph {
	font-size: 16.8px !important;
	color: #555 !important;
	line-height: 1.8 !important;
	margin-bottom: 20px !important;
}

.content-section.about-afina p:last-child {
	margin-bottom: 0;
}

/* Services Grid */
.services-grid,
.wp-block-columns.services-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 25px !important;
	margin: 0 !important;
}

.wp-block-columns.services-grid .wp-block-column {
	flex: none !important;
}

.services-grid .service-card:nth-child(3) {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 400px 1fr;
	min-height: 280px;
}

.service-card {
	position: relative;
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	display: flex;
	flex-direction: column;
}

.service-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.service-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.services-grid .service-card:nth-child(1) img,
.services-grid .service-card:nth-child(2) img {
	height: 200px;
	min-height: 200px;
}

.services-grid .service-card:nth-child(3) img {
	min-height: 280px;
}

.service-content {
	background: #2c3e50;
	color: #ffffff;
	padding: 35px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.services-grid .service-card:nth-child(3) .service-content {
	padding: 40px;
}

.service-content h3,
.service-content .wp-block-heading,
.wp-block-group.service-content h3,
.wp-block-group.service-content .wp-block-heading,
.service-card h3,
.service-card .wp-block-heading {
	font-size: 24px !important;
	margin-bottom: 20px !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.services-grid .service-card:nth-child(3) .service-content h3,
.services-grid .service-card:nth-child(3) .wp-block-group.service-content h3 {
	font-size: 27.2px !important;
}

.service-content p,
.wp-block-group.service-content p,
.service-card .wp-block-paragraph,
.service-content .wp-block-paragraph {
	font-size: 16px !important;
	line-height: 1.8 !important;
	margin-bottom: 25px !important;
	color: rgba(255, 255, 255, 0.9) !important;
	flex: 1;
}

.services-grid .service-card:nth-child(3) .service-content p,
.services-grid .service-card:nth-child(3) .wp-block-group.service-content p {
	font-size: 16.8px !important;
}

.service-link,
.wp-block-button.service-link a,
.service-link.wp-block-button__link {
	display: inline-block !important;
	padding: 8px 20px !important;
	border: 1px solid rgba(255, 255, 255, 0.4) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border-radius: 25px !important;
	font-size: 14.4px !important;
	font-weight: 400 !important;
	transition: all 0.3s ease !important;
	background: #6c757d !important;
	backdrop-filter: none !important;
}

.service-link:hover,
.wp-block-button.service-link a:hover,
.service-link.wp-block-button__link:hover {
	background: #5a6268 !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
	color: #ffffff !important;
	transform: translateX(3px) !important;
}

/* Sidebar styles */
.sidebar {
	background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
	color: #ffffff;
	padding: 35px 28px;
	border-radius: 10px;
	height: fit-content;
	position: sticky;
	top: 90px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Mobile - sidebar optimisée */
@media (max-width: 768px) {

	/* Masquer la sidebar verticale bleue (colonne WordPress) sur mobile */
	.wp-block-column.sidebar {
		display: none !important;
	}

	/* Conteneur de colonnes - pleine largeur */
	.wp-block-columns,
	.content-grid {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 10px !important;
		box-sizing: border-box !important;
	}

	/* Si c'est un grid, forcer une seule colonne */
	.wp-block-columns[class*="is-layout"],
	.content-grid[class*="is-layout"] {
		grid-template-columns: 1fr !important;
		display: grid !important;
	}

	/* Si c'est un flex, forcer column */
	.wp-block-columns:not([class*="is-layout-grid"]) {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
	}

	/* S'assurer que le contenu principal prend toute la largeur */
	.wp-block-columns .wp-block-column:not(.sidebar),
	.content-grid .wp-block-column:not(.sidebar),
	.wp-block-column:not(.sidebar) {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		grid-column: 1 / -1 !important;
	}

	/* Colonnes de contenu spécifiques */
	.wp-block-column.content-column {
		width: 100% !important;
		max-width: 100% !important;
		grid-column: 1 / -1 !important;
	}

	/* Forcer la largeur calculée */
	.wp-block-column:not(.sidebar) {
		min-width: 0 !important;
	}

	/* Sidebar WordPress normale (widget area) - garder mais optimiser */
	#sidebar.sidebar:not(.wp-block-column) {
		position: static !important;
		top: auto !important;
		padding: 20px 15px !important;
		margin-bottom: 25px !important;
		border-radius: 8px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Sidebar avec texte vertical - masquer ou adapter */
	.sidebar h3[style*="writing-mode"],
	.sidebar .wp-block-heading[style*="writing-mode"] {
		writing-mode: horizontal-tb !important;
		text-orientation: mixed !important;
		transform: none !important;
	}

	/* Colonnes WordPress - forcer une seule colonne sur mobile */
	.wp-block-columns {
		flex-direction: column !important;
	}

	.wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
		max-width: 100% !important;
	}
}

.sidebar h3,
.sidebar .wp-block-heading {
	font-size: 22.4px !important;
	margin-bottom: 22px !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	position: relative !important;
	padding-bottom: 12px !important;
}

.sidebar h3::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 40px;
	height: 2px;
	background: rgba(255, 255, 255, 0.4);
	border-radius: 2px;
}

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

.sidebar li,
.sidebar .wp-block-list-item {
	margin-bottom: 16px !important;
	position: relative;
	padding-left: 0 !important;
}

.sidebar li::before {
	content: '→';
	position: absolute;
	left: 15px;
	top: 10px;
	color: rgba(255, 255, 255, 0.4);
	font-size: 13.6px;
	transition: all 0.3s ease;
	z-index: 1;
	line-height: 1.5;
}

.sidebar li:hover::before {
	color: rgba(255, 255, 255, 0.6) !important;
	transform: translateX(3px);
}

.sidebar a {
	color: rgba(255, 255, 255, 0.92) !important;
	text-decoration: none !important;
	font-size: 15.2px !important;
	transition: all 0.3s ease !important;
	display: block !important;
	line-height: 1.5 !important;
	padding: 10px 15px !important;
	padding-left: 35px !important;
	border-radius: 6px !important;
	background: rgba(255, 255, 255, 0.05) !important;
	border-left: 3px solid transparent !important;
}

.sidebar a:hover {
	color: rgba(255, 255, 255, 0.92) !important;
	background: rgba(255, 255, 255, 0.12) !important;
	border-left-color: rgba(255, 255, 255, 0.5) !important;
	transform: translateX(4px) !important;
}

.sidebar .domain-desc,
.sidebar a span.domain-desc {
	display: block !important;
	font-size: 12.8px !important;
	color: rgba(255, 255, 255, 0.65) !important;
	margin-top: 2px !important;
	line-height: 1.4 !important;
	transition: color 0.3s ease !important;
}

.sidebar a:hover .domain-desc {
	color: rgba(255, 255, 255, 0.85);
}

/* Responsive */
@media (max-width: 992px) {
	.content-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.sidebar {
		position: static;
		order: -1;
		margin-bottom: 30px;
	}

	.services-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}

	.services-grid .service-card:nth-child(3) {
		grid-column: 1;
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.services-grid .service-card:nth-child(3) img {
		height: 250px;
		min-height: 250px;
	}
}

/* Mobile - améliorations pour les pages fiduciaire et immobilier */
@media (max-width: 768px) {

	/* Sidebar mobile - masquer ou réduire */
	.sidebar {
		padding: 20px 15px !important;
		margin-bottom: 20px !important;
		border-radius: 8px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sidebar h3,
	.sidebar .wp-block-heading {
		font-size: 18px !important;
		margin-bottom: 15px !important;
	}

	.sidebar a {
		font-size: 14px !important;
		padding: 8px 12px !important;
		padding-left: 30px !important;
	}

	.sidebar .domain-desc,
	.sidebar a span.domain-desc {
		font-size: 11.5px !important;
	}

	/* Grille de services mobile */
	.fiduciaire-services-grid {
		grid-template-columns: 1fr !important;
		gap: 25px !important;
		padding: 0 15px 30px 15px !important;
	}

	.fiduciaire-service-card {
		margin-bottom: 0 !important;
	}

	/* Colonnes WordPress - forcer une seule colonne sur mobile */
	.wp-block-columns {
		flex-direction: column !important;
	}

	.wp-block-column {
		margin-bottom: 20px !important;
		width: 100% !important;
		flex-basis: 100% !important;
	}

	/* Conteneur principal mobile */
	#main.container {
		padding-left: 10px !important;
		padding-right: 10px !important;
		max-width: 100% !important;
	}

	.row {
		margin-left: -10px !important;
		margin-right: -10px !important;
	}

	.col-md-4,
	.col-md-8,
	.col-md-12,
	.col-sm-12 {
		padding-left: 10px !important;
		padding-right: 10px !important;
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	/* Services grid mobile */
	.services-grid .service-card:nth-child(1) img,
	.services-grid .service-card:nth-child(2) img {
		height: 180px;
	}

	.services-grid .service-card:nth-child(3) {
		grid-template-columns: 1fr;
	}

	/* Hero image mobile */
	.hero-section {
		height: 200px !important;
		min-height: 200px !important;
	}

	.hero-image {
		height: 200px !important;
		object-fit: cover !important;
	}

	/* Espacement général mobile */
	main .content {
		padding: 15px 10px !important;
	}

	/* Sidebar mobile - s'assurer qu'elle ne prend pas trop de place */
	#sidebar.col-md-4 {
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
		margin-bottom: 25px !important;
	}

	/* Contenu principal mobile - pleine largeur */
	.col-md-8.order-md-2,
	.col-md-12.order-md-2 {
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	/* Images dans les cartes mobile */
	.fiduciaire-service-card img,
	.fiduciaire-service-card figure img {
		width: 100% !important;
		height: auto !important;
		max-height: 200px !important;
		object-fit: cover !important;
	}

	/* Cartes de services mobile - améliorer l'espacement */
	.fiduciaire-service-card {
		padding: 20px 15px !important;
		margin-bottom: 20px !important;
	}

	/* Boutons mobile */
	.fiduciaire-button,
	.wp-block-button {
		width: 100% !important;
		text-align: center !important;
	}

	.fiduciaire-button .wp-block-button__link {
		width: 100% !important;
		display: block !important;
	}
}

@media (max-width: 768px) {

	.services-grid .service-card:nth-child(1) img,
	.services-grid .service-card:nth-child(2) img {
		height: 180px;
	}

	.services-grid .service-card:nth-child(3) {
		grid-template-columns: 1fr;
	}
}

/* Fiduciaire Services Page - Design moderne et frais */
.fiduciaire-services-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 40px !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0px 20px 40px 20px !important;
}

.fiduciaire-service-card {
	background: #ffffff !important;
	border-radius: 16px !important;
	padding: 40px 35px 0 35px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.3s ease !important;
	border: 1px solid rgba(44, 62, 80, 0.08) !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.fiduciaire-service-card:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
	border-color: rgba(44, 62, 80, 0.15) !important;
}

.fiduciaire-icon {
	margin: 0 auto 20px !important;
	filter: brightness(0) saturate(100%) invert(30%) sepia(15%) saturate(2000%) hue-rotate(180deg) brightness(0.9) contrast(0.9) !important;
	transition: transform 0.3s ease !important;
}

.fiduciaire-service-card:hover .fiduciaire-icon {
	transform: scale(1.1) !important;
}

.fiduciaire-service-card h3,
.fiduciaire-service-card .wp-block-heading {
	color: #2c3e50 !important;
	font-weight: 600 !important;
	margin: 0 !important;
	font-size: 24px !important;
}

.fiduciaire-service-card p,
.fiduciaire-service-card .wp-block-paragraph {
	color: #555 !important;
	line-height: 1.8 !important;
	margin-bottom: 25px !important;
	font-size: 16.8px !important;
}

.fiduciaire-service-card ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.fiduciaire-service-card li,
.fiduciaire-service-card .wp-block-list-item {
	color: #666 !important;
	line-height: 1.8 !important;
	margin-bottom: 12px !important;
	padding-left: 24px !important;
	position: relative !important;
	font-size: 16px !important;
}

.fiduciaire-service-card li::before {
	content: '✓' !important;
	position: absolute !important;
	left: 0 !important;
	color: #3498db !important;
	font-weight: bold !important;
	font-size: 1rem !important;
}

.fiduciaire-button .wp-block-button__link {
	background: #2c3e50 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 12px 30px !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	transition: all 0.3s ease !important;
}

.fiduciaire-button .wp-block-button__link:hover {
	background: #34495e !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(44, 62, 80, 0.3) !important;
}

/* Responsive */
@media (max-width: 992px) {
	.fiduciaire-services-grid {
		grid-template-columns: 1fr !important;
		gap: 25px !important;
		padding: 0 15px 30px 15px !important;
	}

	.fiduciaire-service-card {
		margin-bottom: 0 !important;
		padding: 20px !important;
	}

	.fiduciaire-service-card .fiduciaire-icon {
		width: 60px !important;
		height: 60px !important;
		margin-bottom: 15px !important;
	}

	.fiduciaire-service-card h3 {
		font-size: 20px !important;
		margin-bottom: 12px !important;
	}

	.fiduciaire-service-card p {
		font-size: 14px !important;
		line-height: 1.6 !important;
		margin-bottom: 15px !important;
	}

	.fiduciaire-service-card ul {
		margin-bottom: 15px !important;
	}

	.fiduciaire-service-card li {
		font-size: 13px !important;
		margin-bottom: 8px !important;
	}

	.fiduciaire-button {
		font-size: 14px !important;
		padding: 10px 20px !important;
	}

	.fiduciaire-service-card {
		padding: 35px 30px !important;
	}
}

@media (max-width: 768px) {
	.fiduciaire-service-card {
		padding: 20px 15px !important;
	}

	.fiduciaire-services-grid h2 {
		font-size: 1.75rem !important;
	}

	/* Sidebar mobile - améliorations */
	#sidebar.sidebar {
		width: 100% !important;
		margin-bottom: 25px !important;
		padding: 20px 15px !important;
	}

	/* Colonnes Bootstrap mobile */
	.col-md-4.order-md-first {
		order: -1 !important;
		margin-bottom: 25px !important;
	}

	.col-md-8.order-md-2,
	.col-md-12.order-md-2 {
		order: 2 !important;
	}

	/* Espacement mobile */
	#main.container {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.row {
		margin-left: -10px !important;
		margin-right: -10px !important;
	}

	[class*="col-"] {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	/* Titres mobile */
	main h1 {
		font-size: 1.75rem !important;
	}

	main h2 {
		font-size: 1.5rem !important;
	}

	main h3 {
		font-size: 1.25rem !important;
	}

	/* Paragraphes mobile */
	main p {
		font-size: 15px !important;
		line-height: 1.7 !important;
	}
}

/* Titre principal de la page fiduciaire */
.fiduciaire-services-grid+h2,
main h2:first-of-type {
	font-size: 28px !important;
	color: #2c3e50 !important;
	font-weight: 600 !important;
}

/* Paragraphe d'introduction */
.fiduciaire-services-grid+p,
main p.has-large-font-size {
	font-size: 16.8px !important;
	color: #555 !important;
	line-height: 1.8 !important;
}

/* ============================================
   STYLES SPÉCIFIQUES POUR L'UNIVERS IMMOBILIER
   Couleurs: #16a085 (principal) et #0851a1 (secondaire)
   ============================================ */

/* Menu navigation - liens hover et actifs */
body.universe-immobilier #header .navbar-nav .nav-link:hover,
body.universe-immobilier #header .navbar-nav .nav-link:focus {
	color: #16a085 !important;
}

body.universe-immobilier #header .navbar-nav .nav-link.active,
body.universe-immobilier #header .navbar-nav .nav-link[aria-current="page"] {
	color: #16a085 !important;
}

/* Dropdown menu - items hover et actifs */
body.universe-immobilier #header .dropdown-menu .dropdown-item:hover,
body.universe-immobilier .navbar#header .dropdown-menu .dropdown-item:hover {
	color: #16a085 !important;
	background-color: transparent !important;
}

body.universe-immobilier #header .dropdown-menu .dropdown-item.active,
body.universe-immobilier .navbar#header .dropdown-menu .dropdown-item.active {
	color: #16a085 !important;
	background-color: transparent !important;
}

body.universe-immobilier #header .dropdown-item:hover,
body.universe-immobilier #header .dropdown-item:focus {
	background-color: #16a085 !important;
	color: #ffffff !important;
}

/* Bouton de switch entre les univers - VERT pour l'univers immobilier */
body.universe-immobilier #header .navbar-nav .universe-switch-link,
body.universe-immobilier #header .navbar-nav .universe-switch .nav-link,
body.universe-immobilier .navbar#header .navbar-nav .universe-switch-link,
body.universe-immobilier .navbar#header .navbar-nav .universe-switch .nav-link,
body.universe-immobilier #header .navbar-nav .nav-item.universe-switch .nav-link,
body.universe-immobilier #header .navbar-nav .nav-item.universe-switch a,
body.universe-immobilier #header .navbar-nav li.universe-switch .nav-link,
body.universe-immobilier #header .navbar-nav li.universe-switch a,
body.universe-immobilier nav#header .navbar-nav .universe-switch-link,
body.universe-immobilier nav#header .navbar-nav .universe-switch .nav-link {
	background-color: #16a085 !important;
	color: #ffffff !important;
	border: 2px solid #16a085 !important;
	border-radius: 4px !important;
	padding: 0.5rem 1.25rem !important;
	font-weight: 600 !important;
	transition: all 0.3s ease !important;
	display: inline-block !important;
}

body.universe-immobilier #header .navbar-nav .universe-switch-link:hover,
body.universe-immobilier #header .navbar-nav .universe-switch-link:focus,
body.universe-immobilier #header .navbar-nav .universe-switch .nav-link:hover,
body.universe-immobilier #header .navbar-nav .universe-switch .nav-link:focus,
body.universe-immobilier .navbar#header .navbar-nav .universe-switch-link:hover,
body.universe-immobilier .navbar#header .navbar-nav .universe-switch-link:focus,
body.universe-immobilier #header .navbar-nav .nav-item.universe-switch .nav-link:hover,
body.universe-immobilier #header .navbar-nav .nav-item.universe-switch a:hover,
body.universe-immobilier #header .navbar-nav li.universe-switch .nav-link:hover,
body.universe-immobilier #header .navbar-nav li.universe-switch a:hover,
body.universe-immobilier nav#header .navbar-nav .universe-switch-link:hover,
body.universe-immobilier nav#header .navbar-nav .universe-switch .nav-link:hover {
	background-color: #138d75 !important;
	border-color: #138d75 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(22, 160, 133, 0.3) !important;
}

/* Mobile - Menu navigation */
@media (max-width: 767.98px) {

	body.universe-immobilier #header .navbar-collapse .navbar-nav .nav-link:hover,
	body.universe-immobilier #header .navbar-collapse .navbar-nav .nav-link:focus {
		color: #16a085 !important;
	}

	body.universe-immobilier #header .navbar-collapse .navbar-nav .nav-link.active,
	body.universe-immobilier #header .navbar-collapse .navbar-nav .nav-link[aria-current="page"] {
		color: #16a085 !important;
	}

	body.universe-immobilier #header .navbar-collapse .dropdown-item:hover,
	body.universe-immobilier #header .navbar-collapse .dropdown-item:focus {
		background-color: #16a085 !important;
		color: #ffffff !important;
	}

	body.universe-immobilier #header .navbar-collapse.show .universe-switch-link,
	body.universe-immobilier #header .navbar-collapse.show .universe-switch .nav-link,
	body.universe-immobilier #header .navbar-collapse.show .nav-item.universe-switch .nav-link,
	body.universe-immobilier #header .navbar-collapse.show .nav-item.universe-switch a {
		background-color: #16a085 !important;
		color: #ffffff !important;
		border: 2px solid #16a085 !important;
		text-shadow: none !important;
		display: block !important;
		text-align: center !important;
	}

	body.universe-immobilier #header .navbar-collapse.show .universe-switch-link:hover,
	body.universe-immobilier #header .navbar-collapse.show .universe-switch-link:focus,
	body.universe-immobilier #header .navbar-collapse.show .universe-switch .nav-link:hover,
	body.universe-immobilier #header .navbar-collapse.show .universe-switch .nav-link:focus,
	body.universe-immobilier #header .navbar-collapse.show .nav-item.universe-switch .nav-link:hover,
	body.universe-immobilier #header .navbar-collapse.show .nav-item.universe-switch a:hover {
		background-color: #138d75 !important;
		border-color: #138d75 !important;
		color: #ffffff !important;
	}

	body.universe-immobilier #header .navbar-collapse.show .dropdown-item:hover,
	body.universe-immobilier #header .navbar-collapse.show .dropdown-item:focus {
		color: #16a085 !important;
	}

	body.universe-immobilier #header .navbar-collapse.show .dropdown-item.active {
		color: #16a085 !important;
	}
}

/* Boutons et liens dans le contenu */
body.universe-immobilier .wp-block-button__link,
body.universe-immobilier a.button,
body.universe-immobilier .btn-primary {
	background-color: #16a085 !important;
	border-color: #16a085 !important;
	color: #ffffff !important;
}

body.universe-immobilier .wp-block-button__link:hover,
body.universe-immobilier a.button:hover,
body.universe-immobilier .btn-primary:hover {
	background-color: #138d75 !important;
	border-color: #138d75 !important;
}

body.universe-immobilier .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: #16a085 !important;
	color: #16a085 !important;
	background-color: transparent !important;
}

body.universe-immobilier .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: #16a085 !important;
	color: #ffffff !important;
}

/* Liens dans le contenu */
body.universe-immobilier a:not(.nav-link):not(.dropdown-item):not(.universe-switch-link) {
	color: #0851a1;
}

body.universe-immobilier a:not(.nav-link):not(.dropdown-item):not(.universe-switch-link):hover {
	color: #16a085;
}

/* Titres avec accent de couleur - VERT pour l'univers immobilier */
body.universe-immobilier h2,
body.universe-immobilier h3 {
	color: #16a085 !important;
}

/* Bordures et séparateurs */
body.universe-immobilier .border-primary {
	border-color: #16a085 !important;
}

/* Badges et étiquettes */
body.universe-immobilier .badge-primary,
body.universe-immobilier .badge.bg-primary {
	background-color: #16a085 !important;
}

/* Titres - tous les niveaux - VERT pour l'univers immobilier */
body.universe-immobilier h1,
body.universe-immobilier h2,
body.universe-immobilier h3,
body.universe-immobilier h4,
body.universe-immobilier h5,
body.universe-immobilier h6 {
	color: #16a085 !important;
}

body.universe-immobilier .content-section.about-afina h2,
body.universe-immobilier .content-column h2,
body.universe-immobilier .content-column .wp-block-heading.about-afina,
body.universe-immobilier .content-column h2.wp-block-heading,
body.universe-immobilier .wp-block-column.content-column h2 {
	color: #16a085 !important;
}

body.universe-immobilier .fiduciaire-services-grid+h2,
body.universe-immobilier main h2:first-of-type {
	color: #16a085 !important;
}

body.universe-immobilier .fiduciaire-service-card h3,
body.universe-immobilier .fiduciaire-service-card .wp-block-heading {
	color: #16a085 !important;
}

body.universe-immobilier .service-content h3,
body.universe-immobilier .wp-block-group.service-content h3,
body.universe-immobilier .service-card h3,
body.universe-immobilier .service-card .wp-block-heading {
	color: #16a085 !important;
}

body.universe-immobilier .sidebar h3,
body.universe-immobilier .sidebar .wp-block-heading {
	color: #16a085 !important;
}

/* Bullets et listes */
body.universe-immobilier .fiduciaire-service-card li::before {
	color: #16a085 !important;
}

body.universe-immobilier .sidebar li::before {
	color: rgba(22, 160, 133, 0.6) !important;
}

body.universe-immobilier .sidebar li:hover::before {
	color: rgba(22, 160, 133, 0.9) !important;
}

body.universe-immobilier ul li::marker,
body.universe-immobilier ol li::marker {
	color: #16a085 !important;
}

/* Icônes */
body.universe-immobilier .fiduciaire-icon {
	filter: brightness(0) saturate(100%) invert(47%) sepia(89%) saturate(1200%) hue-rotate(140deg) brightness(0.9) contrast(0.9) !important;
}

body.universe-immobilier svg:not(.navbar-toggler-icon):not([class*="logo"]) path,
body.universe-immobilier svg:not(.navbar-toggler-icon):not([class*="logo"]) line,
body.universe-immobilier svg:not(.navbar-toggler-icon):not([class*="logo"]) circle,
body.universe-immobilier svg:not(.navbar-toggler-icon):not([class*="logo"]) rect {
	stroke: #16a085 !important;
	fill: #16a085 !important;
}

/* Boutons supplémentaires - Design avec bande teal pour l'univers immobilier */
body.universe-immobilier .fiduciaire-service-card {
	padding-bottom: 0 !important;
	border-radius: 16px !important;
	overflow: hidden !important;
}

body.universe-immobilier .fiduciaire-service-card .wp-block-buttons {
	background-color: #16a085 !important;
	margin: 25px -35px 0 -35px !important;
	padding: 20px 0 !important;
	border-radius: 0 0 16px 16px !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: calc(100% + 70px) !important;
}

body.universe-immobilier .fiduciaire-button .wp-block-button__link {
	background: rgba(255, 255, 255, 0.15) !important;
	color: #ffffff !important;
	border: 2px solid rgba(255, 255, 255, 0.4) !important;
	border-radius: 8px !important;
	padding: 12px 30px !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	transition: all 0.3s ease !important;
	backdrop-filter: blur(5px) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

body.universe-immobilier .fiduciaire-button .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.25) !important;
	border-color: rgba(255, 255, 255, 0.6) !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

body.universe-immobilier .service-link,
body.universe-immobilier .wp-block-button.service-link a,
body.universe-immobilier .service-link.wp-block-button__link {
	background: #16a085 !important;
	border-color: rgba(255, 255, 255, 0.4) !important;
}

body.universe-immobilier .service-link:hover,
body.universe-immobilier .wp-block-button.service-link a:hover,
body.universe-immobilier .service-link.wp-block-button__link:hover {
	background: #138d75 !important;
}

/* Section bgblue - fond bleu */
body.universe-immobilier .bgblue {
	background: #0851a1 !important;
}

body.universe-immobilier .bgblue .wp-block-getwid-tabs__nav-link a {
	color: #0851a1 !important;
}

body.universe-immobilier .bgblue .wp-block-getwid-tabs__nav-link.ui-tabs-active {
	background: #0851a1 !important;
}

body.universe-immobilier .bgblue .wp-block-getwid-tabs__nav-link.ui-tabs-active a {
	color: #fff !important;
}

/* Tous les autres boutons génériques */
body.universe-immobilier button:not(.navbar-toggler):not(.close),
body.universe-immobilier .btn:not(.btn-outline-secondary):not(.navbar-toggler),
body.universe-immobilier input[type="submit"],
body.universe-immobilier input[type="button"] {
	background-color: #16a085 !important;
	border-color: #16a085 !important;
	color: #ffffff !important;
}

body.universe-immobilier button:not(.navbar-toggler):not(.close):hover,
body.universe-immobilier .btn:not(.btn-outline-secondary):not(.navbar-toggler):hover,
body.universe-immobilier input[type="submit"]:hover,
body.universe-immobilier input[type="button"]:hover {
	background-color: #138d75 !important;
	border-color: #138d75 !important;
}

/* Titre hero dans la section hero - VERT pour l'univers immobilier */
body.universe-immobilier .hero-title h1 {
	color: #16a085 !important;
}

/* Boutons WordPress génériques - tous les styles */
body.universe-immobilier .wp-block-button .wp-block-button__link {
	background-color: #16a085 !important;
	border-color: #16a085 !important;
	color: #ffffff !important;
}

body.universe-immobilier .wp-block-button .wp-block-button__link:hover {
	background-color: #138d75 !important;
	border-color: #138d75 !important;
	color: #ffffff !important;
}

/* Tous les titres dans les blocs WordPress - VERT pour l'univers immobilier */
body.universe-immobilier .wp-block-heading,
body.universe-immobilier .wp-block-heading h1,
body.universe-immobilier .wp-block-heading h2,
body.universe-immobilier .wp-block-heading h3,
body.universe-immobilier .wp-block-heading h4,
body.universe-immobilier .wp-block-heading h5,
body.universe-immobilier .wp-block-heading h6 {
	color: #16a085 !important;
}

/* Titres dans les colonnes et groupes WordPress - VERT pour l'univers immobilier */
body.universe-immobilier .wp-block-column h1,
body.universe-immobilier .wp-block-column h2,
body.universe-immobilier .wp-block-column h3,
body.universe-immobilier .wp-block-column h4,
body.universe-immobilier .wp-block-column h5,
body.universe-immobilier .wp-block-column h6,
body.universe-immobilier .wp-block-group h1,
body.universe-immobilier .wp-block-group h2,
body.universe-immobilier .wp-block-group h3,
body.universe-immobilier .wp-block-group h4,
body.universe-immobilier .wp-block-group h5,
body.universe-immobilier .wp-block-group h6 {
	color: #16a085 !important;
}

/* Titres dans les cartes de service - VERT pour l'univers immobilier */
body.universe-immobilier .wp-block-group__inner-container h1,
body.universe-immobilier .wp-block-group__inner-container h2,
body.universe-immobilier .wp-block-group__inner-container h3,
body.universe-immobilier .wp-block-group__inner-container h4,
body.universe-immobilier .wp-block-group__inner-container h5,
body.universe-immobilier .wp-block-group__inner-container h6 {
	color: #16a085 !important;
}

/* Tous les autres boutons qui pourraient être en bleu */
body.universe-immobilier a[class*="button"],
body.universe-immobilier a[class*="btn"],
body.universe-immobilier [class*="button"]:not(.navbar-toggler):not(.close),
body.universe-immobilier [class*="btn"]:not(.navbar-toggler):not(.btn-outline-secondary) {

	border-color: #16a085 !important;
	color: #ffffff !important;
}

body.universe-immobilier a[class*="button"]:hover,
body.universe-immobilier a[class*="btn"]:hover,
body.universe-immobilier [class*="button"]:not(.navbar-toggler):not(.close):hover,
body.universe-immobilier [class*="btn"]:not(.navbar-toggler):not(.btn-outline-secondary):hover {

	border-color: #138d75 !important;
}

/* Règles générales pour TOUS les titres dans l'univers immobilier - VERT */
body.universe-immobilier main h1,
body.universe-immobilier main h2,
body.universe-immobilier main h3,
body.universe-immobilier main h4,
body.universe-immobilier main h5,
body.universe-immobilier main h6,
body.universe-immobilier article h1,
body.universe-immobilier article h2,
body.universe-immobilier article h3,
body.universe-immobilier article h4,
body.universe-immobilier article h5,
body.universe-immobilier article h6,
body.universe-immobilier section h1,
body.universe-immobilier section h2,
body.universe-immobilier section h3,
body.universe-immobilier section h4,
body.universe-immobilier section h5,
body.universe-immobilier section h6 {
	color: #16a085 !important;
}

/* Titres dans toutes les cartes et conteneurs - VERT pour l'univers immobilier */
body.universe-immobilier [class*="card"] h1,
body.universe-immobilier [class*="card"] h2,
body.universe-immobilier [class*="card"] h3,
body.universe-immobilier [class*="card"] h4,
body.universe-immobilier [class*="card"] h5,
body.universe-immobilier [class*="card"] h6,
body.universe-immobilier [class*="service"] h1,
body.universe-immobilier [class*="service"] h2,
body.universe-immobilier [class*="service"] h3,
body.universe-immobilier [class*="service"] h4,
body.universe-immobilier [class*="service"] h5,
body.universe-immobilier [class*="service"] h6 {
	color: #16a085 !important;
}

/* Tous les boutons - règles très générales */
body.universe-immobilier [role="button"],
body.universe-immobilier [type="button"],
body.universe-immobilier [type="submit"],
body.universe-immobilier .wp-block-button,
body.universe-immobilier .wp-block-button__link,
body.universe-immobilier a.wp-block-button__link {
	background-color: #16a085 !important;
	border-color: #16a085 !important;
	color: #ffffff !important;
}

body.universe-immobilier [role="button"]:hover,
body.universe-immobilier [type="button"]:hover,
body.universe-immobilier [type="submit"]:hover,
body.universe-immobilier .wp-block-button:hover .wp-block-button__link,
body.universe-immobilier .wp-block-button__link:hover,
body.universe-immobilier a.wp-block-button__link:hover {
	background-color: #138d75 !important;
	border-color: #138d75 !important;
	color: #ffffff !important;
}

/* Override pour les couleurs inline de WordPress */
body.universe-immobilier .has-primary-color,
body.universe-immobilier .has-primary-background-color {
	color: #16a085 !important;
	background-color: #16a085 !important;
}

body.universe-immobilier .has-secondary-color,
body.universe-immobilier .has-secondary-background-color {
	color: #0851a1 !important;
	background-color: #0851a1 !important;
}

/* Règle finale très générale pour tous les titres restants - VERT pour l'univers immobilier */
body.universe-immobilier h1:not(.hero-title h1):not(.navbar-brand),
body.universe-immobilier h2:not(.hero-title h2):not(.navbar-brand),
body.universe-immobilier h3:not(.hero-title h3):not(.navbar-brand),
body.universe-immobilier h4:not(.hero-title h4):not(.navbar-brand),
body.universe-immobilier h5:not(.hero-title h5):not(.navbar-brand),
body.universe-immobilier h6:not(.hero-title h6):not(.navbar-brand) {
	color: #16a085 !important;
}

/* Règle finale très générale pour tous les boutons restants */
body.universe-immobilier a[href]:not(.nav-link):not(.dropdown-item):not(.universe-switch-link):not(.navbar-brand):has([class*="button"]),
body.universe-immobilier a[href]:not(.nav-link):not(.dropdown-item):not(.universe-switch-link):not(.navbar-brand):has([class*="btn"]) {
	background-color: #16a085 !important;
	border-color: #16a085 !important;
	color: #ffffff !important;
}

body.universe-immobilier a[href]:not(.nav-link):not(.dropdown-item):not(.universe-switch-link):not(.navbar-brand):has([class*="button"]):hover,
body.universe-immobilier a[href]:not(.nav-link):not(.dropdown-item):not(.universe-switch-link):not(.navbar-brand):has([class*="btn"]):hover {
	background-color: #138d75 !important;
	border-color: #138d75 !important;
}

/* Règle finale avec très haute spécificité pour forcer les couleurs - VERT pour l'univers immobilier */
body.universe-immobilier #main h1,
body.universe-immobilier #main h2,
body.universe-immobilier #main h3,
body.universe-immobilier #main h4,
body.universe-immobilier #main h5,
body.universe-immobilier #main h6,
body.universe-immobilier .container h1,
body.universe-immobilier .container h2,
body.universe-immobilier .container h3,
body.universe-immobilier .container h4,
body.universe-immobilier .container h5,
body.universe-immobilier .container h6 {
	color: #16a085 !important;
}

/* Forcer les boutons même avec des styles inline */
body.universe-immobilier #main .wp-block-button,
body.universe-immobilier #main .wp-block-button__link,
body.universe-immobilier .container .wp-block-button,
body.universe-immobilier .container .wp-block-button__link,
body.universe-immobilier #main button,
body.universe-immobilier .container button,
body.universe-immobilier #main .btn,
body.universe-immobilier .container .btn {
	background-color: #16a085 !important;
	border-color: #16a085 !important;
	color: #ffffff !important;
}

body.universe-immobilier #main .wp-block-button:hover,
body.universe-immobilier #main .wp-block-button__link:hover,
body.universe-immobilier .container .wp-block-button:hover,
body.universe-immobilier .container .wp-block-button__link:hover,
body.universe-immobilier #main button:hover,
body.universe-immobilier .container button:hover,
body.universe-immobilier #main .btn:hover,
body.universe-immobilier .container .btn:hover {
	background-color: #138d75 !important;
	border-color: #138d75 !important;
}