
/* Global font fixer (only mac) */
* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* GeneratePress fixes */
.site-content
{
	display: block;
}

/* Elementor basics fixes */
.elementor-text-editor p:last-child
{
	margin-bottom: 0;
}
p.elementor-heading-title
{
	margin-bottom: 0;
}

a.elementor-button
{
	position: relative;
	z-index: 1;
}

.elementor-element > .elementor-background-overlay
{
	pointer-events: none;
}


/* Elementor lightbox fix */
.elementor-lightbox .elementor-lightbox-item
{
	padding: 0;
}


/* Elementor utils */
.no-margin
{
	margin: 0 !important;
}
.nox-flex-row.elementor-column .elementor-widget-wrap
{
	flex-direction: row;
	flex-wrap: nowrap;
}
.nox-flex-row.elementor-column .elementor-widget-wrap>.elementor-element
{
	display: flex;
	align-items: center;
	width: auto;
	margin-bottom: 0 !important;
}
.nox-flex-row.elementor-column .elementor-widget-wrap>.elementor-element .elementor-icon-wrapper
{
	display: flex;
	align-items: center;
}
.nox-pos-static.elementor-widget
{
	position: static;
}

.bain-footer.elementor-element.elementor-sticky
{
	opacity: 0;
	pointer-events: none;
	transition: all 0.35s ease;
}
.bain-footer.elementor-element.elementor-sticky *
{
	transition: all 0.35s ease;
}
.bain-footer.elementor-element.elementor-sticky.scrolled
{
	opacity: 1;
	pointer-events: auto;
	background-color: #fff;
	z-index: 1000;
}
body.elementor-editor-active .bain-footer.elementor-element.elementor-sticky
{
	opacity: 1;
	pointer-events: auto;
}

/* Hauteur du logo proportionnelle à la largeur */
body.noxweb-page .site .site-content .bain-logo
{
	height: 20vw; /* Ajustez selon votre design */
	padding-top: 20vw;
	padding-bottom: 25vw;
}
body.noxweb-page .site .site-content .bain-logo img
{
	width: 20vw; /* Largeur proportionnelle à l'écran */
	height: auto;
	max-width: 100%;
}

/* Marge négative du content proportionnelle à la largeur */
body.noxweb-page .site .site-content .bain-content
{
	margin-top: -8vw; /* Ajustez selon votre design */
	padding-left: 25vw;
	padding-right: 25vw;
}

/* Tablettes (portrait et landscape) */
@media (max-width: 1024px)
{
	body.noxweb-page .site .site-content .bain-logo
	{
		height: 25vw;
		padding-top: 25vw;
		padding-bottom: 30vw;
	}
	body.noxweb-page .site .site-content .bain-logo img
	{
		width: 40vw !important;
	}
	body.noxweb-page .site .site-content .bain-content
	{
		margin-top: -10vw;
		padding-left: 15vw;
		padding-right: 15vw;
	}
}

@media (max-width: 768px)
{
	body.noxweb-page .site .site-content .bain-logo
	{
		height: 35vw;
		padding-top: 35vw;
		padding-bottom: 40vw;
	}
	body.noxweb-page .site .site-content .bain-logo img
	{
		width: 50vw !important;
	}
	body.noxweb-page .site .site-content .bain-content
	{
		padding-top: 40px;
		padding-left: 15px;
		padding-right: 15px;
	}
}

.leaflet-tile-pane {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}


body.noxweb-page .site-footer .langues li.trp-language-switcher-container:not(:last-child):after
{
	content: " / ";
	font-family: "ALWerner";
	padding-bottom: 1.5em;
	border: none;
}

/* Background image fix */

body.noxweb-page .site .site-content .background{
	background-size: 130vh
}

/* Écran plus large que haut - Compenser en décalant vers le haut proportionnellement */
@media (min-aspect-ratio: 1/1) {
    body.noxweb-page .site .site-content .background {
        /* Plus l'écran est large, plus on décale vers le haut */
		background-size: 200vw;
        background-position-y: -50vw;
    }
}

/* Écran plus haut que large - Compenser en décalant vers le bas proportionnellement */
@media (max-aspect-ratio: 1/1) {
    body.noxweb-page .site .site-content .background {
        /* Plus l'écran est haut, plus on décale vers le bas */
        /*background-size: 130vh;*/
    }
}

.current-menu-item a,
.current-language-menu-item > a
{
	opacity: 0.5;
}

.responsive-menu-styles .elementor-widget-container nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.trp-language-switcher-container a.elementor-item.has-submenu {
    display: none;
}
.responsive-menu-styles .elementor-widget-container nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.trp-language-switcher-container ul.sub-menu 
{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    border: none;
}

@media (max-width: 768px)
{
	/* Ajoute un espace en bas du footer pour le .natel fixé */
	body.noxweb-page .copyright
	{
		padding-bottom: 30px;
	}

	/* Fixe uniquement le conteneur du menu burger en bas */
	body.noxweb-page .bain-footer .natel
	{
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 9999 !important;
		background-color: inherit;
	}

	/* Force le menu à s'ouvrir vers le haut */
	.natel .elementor-nav-menu--dropdown {
		top: auto !important;        /* Annule l'ouverture vers le bas */
		bottom: 100% !important;     /* Force l'ouverture vers le haut (100% de la hauteur du déclencheur) */
		margin-bottom: 0px;          /* Ajuste si tu veux un espace entre le bouton et le menu */
		transform-origin: bottom;    /* L'animation partira du bas vers le haut */
		--menu-height: auto !important;
	}

	/* Optionnel : Ajoute une ombre vers le haut pour le détacher visuellement */
	.natel .elementor-nav-menu--dropdown {
		box-shadow: 0px -5px 15px rgba(0,0,0,0.1);
	}
}