/*
Theme Name:   adiss.fr
Description:  Thème enfant de Salient pour adiss.fr
Author:       adiss.fr
Template:     salient
Version:      1.0.0
Text Domain:  adiss-fr
*/

/* Ajoutez vos styles personnalisés ci-dessous */

/* Masquer l'ancien wrapper de filtre (remplacé par les listes dans nectar-post-grid-filters) */
.portfolio-category-filter-wrapper {
	display: none !important;
}

.portfolio-grid-wrapper {
	width: 100%;
}

.portfolio-count-title{
	font-size: 36px;
}

/* Masquer les anciens liens de filtre dans nectar-post-grid-filters jusqu'à ce que le JavaScript les remplace */
.nectar-post-grid-filters > div > div > a:not(.portfolio-category-dropdowns-container a) {
	display: none !important;
}

/* Styles pour les nouvelles listes déroulantes dans nectar-post-grid-filters */
.portfolio-category-dropdowns-container {
	display: flex;
	flex-direction: row;
	gap: 15px;
}

.portfolio-category-dropdown-container-level-1{
	display: flex;
	align-items: center;
}

.portfolio-filters-outer-wrapper .portfolio-category-dropdown-container-level-1 label,
.nectar-post-grid-filters .portfolio-category-dropdown-container-level-1 label{
	margin-right: 10px !important;
	font-weight: bold !important;
}

.portfolio-category-dropdown-container-level-1 select,
.portfolio-category-dropdown-container-level-2 select,
.portfolio-category-dropdown-container-level-3 select {
	min-width: 200px !important;
	border-radius: 100px !important;
}

/* Styles pour le champ de recherche référence */
#portfolio-reference-search-container {
	display: flex !important;
	align-items: center !important;
	margin-top: 15px;
}

#portfolio-reference-search-container label {
	display: block;
	font-weight: bold !important;
	margin-right: 10px !important;
	padding-bottom: 10px !important;
}

#portfolio-reference-search-btn {
	background-color: #01273A !important;
}

#portfolio-reference-search {
	padding: 8px 12px;
	font-size: 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	width: 100%;
	box-sizing: border-box;
	min-width: 200px !important;
	margin-right: 10px !important;
	border-radius: 100px !important;
}
/* Styles pour le bouton toggle des filtres (plus petit) */
.portfolio-filters-toggle {
	display: block !important;
	border-radius: 50px;
	font-family: Red Hat Display;
	text-transform: none !important;
	letter-spacing: 0px;
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	padding: 10px 40px 10px 60px;
    margin-bottom: 0;
    border: 1px solid rgba(0,0,0,.15);
	cursor: pointer;
	color: var(--nectar-page-text-color,#000000);
	background-color: #FFFFFF;
	padding: 10px 40px 10px 40px !important;
}

.portfolio-filters-toggle:hover{
	background-color: #FFF !important;
}



/* Masquer le bouton toggle sur mobile */
@media only screen and (max-width: 999px) {
	.portfolio-filters-toggle {
		display: none !important;
	}
	
	/* Sur mobile, ne pas masquer le container de filtres */
	.nectar-post-grid-filters.portfolio-filters-hidden {
		display: inline-block !important;
		width: auto !important;
		min-width: auto !important;
		max-width: none !important;
		padding: 30px 0 !important;
		margin: 0 !important;
		overflow: visible !important;
	}
	
	/* Sur mobile, ne pas créer le wrapper externe ou le rendre invisible */
	.portfolio-filters-outer-wrapper {
		display: block !important;
	}
}

.portfolio-filters-toggle:hover {
	background-color: #005a87;
	transform: scale(1.1);
	box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

.portfolio-filters-toggle.active {
	background-color: #27ae60;
}

.portfolio-filters-toggle.active:hover {
	background-color: #229954;
}

.portfolio-filters-toggle svg {
	pointer-events: none;
}

/* Styles pour le wrapper externe (bouton + conteneur) */
.portfolio-filters-outer-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-right: 10px;
	transition: all 0.3s ease-out;
	margin-top: -11px;
	position: relative;
	width: 100%;
}

body:not(.mobile) .portfolio-filters-outer-wrapper{
	position: relative;
	background-color: transparent;
	z-index: 10;
}


@media only screen and (max-width: 2060px) {
	.portfolio-filters-outer-wrapper:not(.open){
		background-color: transparent !important;
	}
}

body:not(.mobile) .portfolio-filters-outer-wrapper h4{
	display: none;
}

#portfolio-filters-toggle {
	margin-top: 25px;
}

.nectar-post-grid-filters{
	margin-bottom: 20px;
	margin-top: 10px;
	padding-right: 0 !important;
}

.portfolio-filters-outer-wrapper label, .nectar-post-grid-filters label {
	text-align: left !important;
  	font-weight: normal !important;
	display: block !important;
}

@media only screen and (min-width: 1000px) and (max-width: 1386px) {
	#row_portfolio_grid{
		padding-top: 80px !important;
	}
}

/* Masquer les catégories par défaut pour les portfolios dans le Post Loop Builder */
.nectar-post-grid-item[data-post-id] .meta-category:not(.portfolio-category-badge-wrapper) {
	display: none !important;
}
.nectar-post-grid-item .portfolio-category-badge-wrapper{
	margin-bottom: 10px;
}

.nectar-post-grid-item .content{
	position: absolute !important;
	bottom: 0 !important;
	padding: 0 15px 10px 15px !important;
	max-width: 80% !important;
}
.nectar-post-grid-item .content .post-heading a span,
.nectar-post-grid-item .content .item-meta-extra .meta-excerpt{
	color: #FFF !important;
}
.nectar-post-grid-item .content .post-heading a span{
	font-size: 25px !important;
	font-weight: bold !important;
}
.nectar-post-grid-item .content .item-meta-extra .meta-excerpt{
	font-size: 18px !important;
}

/* Styles pour .nectar-post-grid-filters avec animation d'ouverture */
.nectar-post-grid-filters.portfolio-filters-hidden {
	display: none !important;
}

.nectar-post-grid-filters {
	display: block;
	margin-top: 10px;
	animation: portfolioFiltersOpen 0.5s ease-in-out;
	opacity: 1;
}

@keyframes portfolioFiltersOpen {
	0% {
		opacity: 0;
		transform: translateY(-10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Styles pour la carte Leaflet dans #map - Hauteur pleine écran mais largeur du bloc parent */
#map {
	height: 100vh !important;
	width: 100% !important;
	position: relative !important;
	z-index: 1;
	overflow: hidden;
	transition: top 0.3s ease-out;
}

/* S'assurer que la carte Leaflet à l'intérieur de #map prend toute la hauteur */
#map .nectar-leaflet-map,
#map.nectar-leaflet-map {
	width: 100% !important;
	height: 100% !important;
	min-height: 400px;
	position: relative;
}

/* S'assurer que le conteneur Leaflet prend toute la hauteur */
#map .leaflet-container {
	width: 100% !important;
	height: 100% !important;
	min-height: 400px;
	position: fixed;
}

/* S'assurer que les tuiles Leaflet s'affichent correctement */
#map .leaflet-tile-container {
	position: absolute;
	left: 0;
	top: 0;
}

/* Convertir la carte OpenStreetMap en niveaux de gris (style Positron) */
#map .leaflet-tile {
	filter: grayscale(100%) brightness(1.1) contrast(1.05);
}

#map.fixed_top{
	position: fixed !important;
	right: 0 !important;
	width: auto !important;
	top: 80px;
}

@media only screen and (max-width: 1300px) {
	#map, #map.fixed_top{
		position: relative !important;
		width: 100% !important;
		height: 500px !important;
		left: 0 !important;
		top: 0 !important;
	}
}

/* Styles pour les popups des marqueurs portfolio */
.portfolio-map-popup {
	max-width: 250px;
}

.portfolio-map-popup-title {
	display: block;
	margin-bottom: 8px;
	font-size: 16px;
	line-height: 1.3;
}

.portfolio-map-popup-link {
	color: #333;
	text-decoration: none;
	transition: color 0.3s ease;
}

.portfolio-map-popup-link:hover {
	color: #27ae60;
	text-decoration: underline;
}

.portfolio-map-popup-location {
	margin-top: 6px;
	margin-bottom: 4px;
	font-size: 14px;
	line-height: 1.4;
	color: #555;
	font-weight: 500;
}

.portfolio-map-popup-excerpt {
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.5;
	color: #666;
}

/* Styles pour les icônes personnalisées des marqueurs Leaflet */
.portfolio-marker-icon-custom {
	width: 20px !important;
	height: 20px !important;
}

.portfolio-marker-icon-custom img {
	width: 20px !important;
	height: 20px !important;
	object-fit: contain;
	display: block;
}

/** FOOTER */
#copyright{
	z-index: 10;
}

/* Loader de page pour les portfolios */
.portfolio-page-loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #F2F2F2;
	z-index: 9999;
	opacity: 1;
	transition: opacity 0.5s ease-out;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.portfolio-page-loader.hidden {
	opacity: 0;
	pointer-events: none;
}

/* Animation de chargement (spinner) */
.portfolio-page-loader-spinner {
	width: 50px;
	height: 50px;
	border: 4px solid rgba(0, 0, 0, 0.1);
	border-top-color: #27ae60;
	border-radius: 50%;
	animation: portfolio-loader-spin 1s linear infinite;
}

@keyframes portfolio-loader-spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.nectar-post-grid .nectar-post-grid-item .content .post-heading > span { font-size: 20px !important; color: #FFFFFF !important; }
.nectar-post-grid-item .content .item-main .item-meta-extra .meta-excerpt { font-size: 16px !important;}

.nectar-post-grid-item .content {
	padding-top: 10px !important;
	background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.8));
	border-radius: 0 0px 9px 9px;
	margin: 0;
	max-width: 100% !important;
}

/** Grille portofolio accueil **/
.home .nectar-post-grid-wrap .nectar-post-grid-filters,
.home .nectar-post-grid-wrap .portfolio-count-title { display: none !important;}

/** PORTFOLIO SINGLE **/
.single-portfolio .nectar-leaflet-map { margin-bottom: 0 !important;}