.post-type-archive-carte-interactive .archive-body-wraper .container-fluid{max-width:100%!important;}

.liste-categorie{display:none;padding:0;margin:0!important;}
.liste-categorie ul{padding:0;margin:0!important;}
.liste-categorie li{list-style-type:none;margin:0!important;}
.liste-categorie li .archive-single a{padding:0.5rem 2.5rem;display:block;}
.liste-categorie > div{margin:0.5rem 2.5rem; font-size: 0.8rem; line-height: normal; padding: 0.25rem; border: #cccccc 1px solid}
.liste-categorie > div *{font-size: 1em; line-height: normal;}

.archive-content *{text-align:left!important;}
.archive-content-list h4{margin:0!important;font-size:1.25rem;}
.archive-content-list h4 a{cursor:pointer;border-bottom:#cccccc 1px solid;padding:1.5rem!important;margin:0!important;width:100%;display:block;}
.archive-content-list h4 a:hover,.archive-content-list h4 a.opened{background:#cccccc;}
.archive-map #map_container, .archive-content .archive-content-list{height:calc(100vh - 163px)!important;max-height:100vh;}
.archive-single-links a:hover{background:#cccccc;}


.archive-container{position:relative;}

.btn-filtre{cursor:pointer;position: absolute;top: 60px;left: -50px;z-index: 10;width: 40px;height: 40px;padding: 10px;background: #fff;border-radius: 3px;box-shadow: 0 0 10px #ccc;}
.btn-filtre:hover{background:#ccc;}
.btn-filtre>div svg,.btn-filtre>div{width:100%;height:100%;}

/*.btn-filtre>div{opacity:0;display:none;transition:ease-in-out opacity 5s;}
.btn-filtre.closed>div.icon-closed,
.btn-filtre.opened>div.icon-opened{opacity:1;display:block;}*/


/*override - a integrer avec setup template v1-v2*/
.post-type-archive-carte-interactive .archive-single-title{font-size:1rem!important;margin:0;}
.heading-carte h1{font-size:1.5rem;}


/*retirer comme il faut les element et enlever le display-none */
.post-type-archive-carte-interactive .lm-banner,
.post-type-archive-carte-interactive .lm-breadcrumbs-wraper
{display:none;}








.archive-map{transition:ease-in-out width 0.5s;}
.archive-content{transition:ease-in-out right 0.5s}

.archive-body-wraper .archive-map{width:80%;position:relative;}
.archive-body-wraper .archive-content{width:20%;position:absolute;right:0px;background:#fff;}

.archive-body-wraper .archive-map.filter-closed{width:100%;}
.archive-body-wraper .archive-content.filter-closed{right:-20%;}


@media(max-width:1680px){
	.archive-body-wraper .archive-map{width:70%;}
	.archive-body-wraper .archive-content{width:30%;}
	.archive-body-wraper .archive-content.filter-closed{right:-30%;}
}

@media(max-width:1080px){
	.archive-body-wraper .archive-map{width:60%;}
	.archive-body-wraper .archive-content{width:40%;}
	.archive-body-wraper .archive-content.filter-closed{right:-40%;}
}

@media(max-width:810px){
	.btn-filtre.opened{right:5%;left:initial;}
	
	.archive-body-wraper .archive-map{width:100%;}
	.archive-body-wraper .archive-content{width:100%;}
	.archive-body-wraper .archive-content.filter-closed{right:-100%;}
}


/* Le header reprend sa place dans le flux.
   La carte occupe toute la fenetre moins la hauteur du header : fixe, il la
   recouvrait, puisque rien ne compense sa hauteur en haut de page.
   Regle :has() isolee : un navigateur qui l'ignore invaliderait toute la liste
   de selecteurs si elle etait groupee avec les classes de body. */
body.post-type-archive-carte-interactive header.header,
body.tax-categorie-carte-interactive header.header,
body.single-carte-interactive header.header{position:static;}
body:has(.archive-map) header.header{position:static;}

/* La fenetre ne defilant pas, .nav-up ne devrait jamais s'activer ici ;
   au cas ou, il ne doit pas replier un header devenu statique. */
body.post-type-archive-carte-interactive header.header.nav-up,
body.tax-categorie-carte-interactive header.header.nav-up,
body.single-carte-interactive header.header.nav-up{max-height:none;}
body:has(.archive-map) header.header.nav-up{max-height:none;}

/* La hauteur ne venait que de #map_container : si la carte tarde a se monter
   ou echoue, la zone s'effondrait. La seconde declaration l'emporte la ou elle
   est comprise et evite le debordement sous la barre d'adresse mobile. */
.archive-map{height:100vh;height:100dvh;}


/* Carte d'une fiche isolee. Hauteur contenue, et non 100vh comme l'archive :
   le titre, l'adresse et le bouton de retour doivent rester atteignables. */
.single-carte-map #map_container{width:100%;height:60vh;min-height:320px;max-height:620px;}

@media(max-width:810px){
	.single-carte-map #map_container{height:50vh;min-height:260px;}
}


/* Sous-categories dans le panneau de l'archive ----------------------------- */
.liste-sous-categorie{margin:0 0 0.5rem;}
.sous-categorie-titre{
	align-items:center;cursor:pointer;display:flex;gap:0.5rem;
	font-size:0.95rem;font-weight:700;margin:0;padding:0.6rem 2.5rem;
}
.sous-categorie-titre:hover{background:#eeeeee;}
.sous-categorie-titre .icon{
	align-items:center;background:var(--carte-interactive-pin-bgcolor,#57534E);
	border-radius:50%;display:inline-flex;flex:none;height:22px;justify-content:center;
	padding:3px;width:22px;
}
.sous-categorie-titre .icon svg{height:14px;width:auto;}
.sous-categorie-titre .icon svg,
.sous-categorie-titre .icon path{fill:var(--carte-interactive-pin-color,#FFFFFF) !important;}
.sous-categorie-titre .pin-abr{color:var(--carte-interactive-pin-color,#FFFFFF);font-size:0.6rem;}


/* Shortcode [carte_interactive] --------------------------------------------
   Carte posee au fil d'une page, avec ses filtres a droite, au-dessus ou en
   dessous selon l'attribut « filtres ». */
.lm-carte{margin:2rem 0;}
.lm-carte-titre{margin:0 0 1rem;}

.lm-carte-corps{display:flex;gap:1.5rem;align-items:stretch;}
.lm-carte-zone{position:relative;flex:1 1 auto;min-width:0;}
.lm-carte-canvas{width:100%;height:100%;}

/* Colonne de filtres : largeur fixe, la carte prend le reste. */
.lm-carte--filtres-droite .lm-carte-colonne{flex:0 0 15rem;max-width:15rem;overflow-y:auto;}
.lm-carte--filtres-droite .lm-carte-filtres{flex-direction:column;align-items:stretch;}

@media(max-width:810px){
	.lm-carte-corps{flex-direction:column;}
	.lm-carte--filtres-droite .lm-carte-colonne{flex:1 1 auto;max-width:none;}
	.lm-carte--filtres-droite .lm-carte-filtres{flex-direction:row;}
}

/* Badges de categorie. La pastille reprend la couleur du terme, posee en
   variable par le rendu ; sans couleur, on retombe sur un gris neutre. */
.lm-carte-filtres{display:flex;flex-wrap:wrap;gap:0.5rem;margin:1rem 0;}
.lm-carte-badge{
	--lm-carte-badge-color:#57534E;
	background:transparent;border:1px solid var(--lm-carte-badge-color);
	border-radius:2rem;color:var(--lm-carte-badge-color);cursor:pointer;
	font-size:0.875rem;line-height:1.3;padding:0.4rem 0.9rem;
	transition:background-color 0.2s ease-out,color 0.2s ease-out;
}
.lm-carte-badge:hover{background:var(--lm-carte-badge-color);color:#fff;}
.lm-carte-badge.is-actif{background:var(--lm-carte-badge-color);color:#fff;}
.lm-carte-badge:focus-visible{outline:2px solid var(--lm-carte-badge-color);outline-offset:2px;}

/* Fiche d'un point, en surimpression dans la carte. */
.lm-carte-fiche{
	position:absolute;left:1rem;bottom:1rem;z-index:2;max-width:22rem;
	background:#fff;border-radius:3px;box-shadow:0 2px 16px rgba(0,0,0,0.2);
	padding:1.25rem 1.5rem 1.25rem 1.25rem;
}
.lm-carte-fiche[hidden]{display:none;}
.lm-carte-fiche-titre{margin:0 0 0.5rem;font-size:1.1rem;}
.lm-carte-fiche-adresse,.lm-carte-fiche-notes{margin:0 0 0.5rem;font-size:0.9rem;}
.lm-carte-fiche-adresse[hidden],.lm-carte-fiche-notes[hidden],.lm-carte-fiche-lien[hidden]{display:none;}
.lm-carte-fiche-fermer{
	position:absolute;top:0.25rem;right:0.5rem;
	background:none;border:0;cursor:pointer;font-size:1.5rem;line-height:1;padding:0.25rem;
}

.lm-carte-vide{
	position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;
	background:#fff;border-radius:3px;box-shadow:0 2px 16px rgba(0,0,0,0.15);
	margin:0;padding:1rem 1.5rem;
}
.lm-carte-vide[hidden]{display:none;}

/* Estompage des points non consultes, comme sur l'archive. */
.lm-carte.has-focus .lm-carte-interactive-point:not(.is-focus){opacity:0.4;}

/* Style de la pastille dans la portee du shortcode.
   La feuille compilee du module ne l'habille que sous
   .post-type-archive-carte-interactive et .single-carte-interactive : sur une
   page ordinaire, le marqueur sortirait sans forme ni couleur. */
.lm-carte .lm-carte-interactive-point{
	align-items:center;
	background-color:var(--carte-interactive-pin-bgcolor,#57534E);
	border-radius:50%;
	display:flex;
	height:30px;
	justify-content:center;
	padding:4px;
	position:relative;
	transition:all 0.3s ease-out;
	width:30px;
}
.lm-carte .lm-carte-interactive-point::after{
	border-left:9px solid transparent;
	border-right:9px solid transparent;
	border-top:9px solid var(--carte-interactive-pin-bgcolor,#57534E);
	content:"";height:0;left:50%;position:absolute;top:92%;
	transform:translate(-50%,0);width:0;z-index:1;
}
.lm-carte .lm-carte-interactive-point .icon{
	align-items:center;display:flex;justify-content:center;
	color:var(--carte-interactive-pin-color,#FFFFFF);
}
.lm-carte .lm-carte-interactive-point .icon svg{height:20px;width:auto;}
.lm-carte .lm-carte-interactive-point .icon svg,
.lm-carte .lm-carte-interactive-point .icon path{
	fill:var(--carte-interactive-pin-color,#FFFFFF) !important;
}
.lm-carte .lm-carte-interactive-point .pin-abr{
	color:var(--carte-interactive-pin-color,#FFFFFF);font-size:0.75rem;font-weight:700;line-height:1;
}
.lm-carte .lm-carte-interactive-point .details{display:none;}


/* Mise en avant du point consulte -----------------------------------------
   Le grossissement part de la pointe de la pastille, seul endroit qui designe
   la position reelle : grossir depuis le centre ferait glisser le point. */
.lm-carte-interactive-point{transform-origin:50% 100%;}

.lm-carte-interactive-point.is-focus{transform:scale(1.3);}

/* Rebond au clic. La classe est retiree puis reposee par le script, ce qui
   rejoue l'animation quand on reclique le meme point. L'etat final egale le
   scale de .is-focus, pour qu'aucun saut ne se voie a la fin. */
.lm-carte-interactive-point.is-pop{animation:lm-carte-pop 420ms ease-out;}

@keyframes lm-carte-pop{
	0%{transform:scale(1);}
	45%{transform:scale(1.5);}
	70%{transform:scale(1.22);}
	100%{transform:scale(1.3);}
}

/* Les autres points s'effacent pour isoler celui qu'on consulte.
   .lm-carte-interactive-point porte deja transition:all .3s ease-out, la
   transition d'opacite est donc gratuite. */
#map_container.has-focus .lm-carte-interactive-point:not(.is-focus){opacity:0.4;}

@media (prefers-reduced-motion: reduce){
	.lm-carte-interactive-point{transition:none;}
	.lm-carte-interactive-point.is-pop{animation:none;}
}