#menu_list li.menu-annuaire:before {transform: scaleX(1); }
.h1_cadre {padding: 50px 0 20px 0;}
div#map {
  position: relative;
  height: 600px;
}
div#gm_infobulle {
	width:250px;
	overflow:hidden;
	padding:0 20px 10px 5px;
}
.gm_nom2 {
	font-size:1em;
	margin:0 0 10px 0;
	font-style:italic;
}

.gm_image img {max-width:100%;width:auto;max-height:100px;margin:0 auto;}
.gm_link {margin:15px 0 0 0;}
.gm_link a {padding:5px 10px; border-radius:0.5em; background:#b8b8b8; color:inherit; text-decoration:none;}
.gm_link a:hover {background:#000; color:#FFF;}

div#mapfiche, div#voirfiche {padding:50px 0;}
div#mapfiche_content, div#voirfiche_content {position:relative; margin:0 auto; max-width:800px; padding: 15px 25px 25px 25px; background:var(--cg_bleu); text-align:center;border-radius:1.8em;}
div#mapfiche p.mapfiche_name, div#voirfiche p.mapfiche_name {color:#FFF; margin:0 0 25px 0;}
div#mapfiche p.mapfichecancel a, div#voirfiche p.mapfichecancel a {padding:5px 10px 8px 10px; border-radius:0.8em; background:#FFF; color:#000; text-decoration:none;} 
div#mapfiche p.mapfichecancel a:hover, div#voirfiche p.mapfichecancel a:hover {background:#000; color:#FFF;}

/* FILTRES */

.filtre_titre {position:relative; margin:30px auto;text-align:center; font-size:1.4em; color:var(--cg_bleuclair); font-weight:bold;}


.filtre_item input {
  display: none;
}
.filtre_ligne {overflow:hidden;display: flex; flex-wrap: nowrap; padding: 0 0 10px 0; overflow-x: auto;}
.filtre_item {position:relative;flex: 0 0 auto; /*float:left;*/ margin: 8px; border:1px solid #CCC;background:#FFF; border-radius:1.8em; overflow:hidden; }
.filtre_item label {display: table;padding:15px 26px 10px 20px;}
.filtre_item input:focus-visible,
.filtre_item select:focus-visible{
    outline: none;
    box-shadow: none;
}

.filtre_item:hover,
.filtre_item p.filtre_item_img:hover,
.filtre_item p.filtre_item_name:hover
{cursor:pointer;}


.filtre_item p.filtre_item_img {float:left; width:30px; margin:0 10px 0 0;}
.filtre_item p.filtre_item_img img {max-width:30px; width:auto;filter: invert(0.7);}
.filtre_item p.filtre_item_name {float:right; width:calc(100% - 40px); margin:0; font-size:1em; text-transform:uppercase; font-weight:bold;color:#a8a8a8;}


.filtre_item.selected {border:1px solid var(--cg_bleuclair); background:var(--cg_bleu);}
.filtre_item.selected p.filtre_item_img img {filter: invert(1);}
.filtre_item.selected p.filtre_item_name {color:#FFF;}

.filtre_item:hover {border:1px solid var(--cg_bleu);}

.filtre_item.filtre_search {
	color:#FFF;
}
.filtre_item.filtre_search input { 
	display:table;
    border: 0 none;
    font-family: inherit;
    font-size: 1em;
    width: 250px;
	padding:0 0 0 5px;
    height: 29px;
	text-transform:uppercase;
	background:none;
	color:#FFF;
	font-weight:bold;
	float:left;
}
.filtre_item.filtre_search input.search_submit {
    height: 33px;
    width: 38px;
    float: right;
    background: var(--cg_bleu) url(../img/public/search_btn.svg) center no-repeat;
    background-size: 20px;
    border: 0 none;
    cursor: pointer;
}
.filtre_item.filtre_search input::placeholder {color:#FFF; font-style:italic; font-weight:normal;}


.filtre_item.filtre_categ,
.filtre_item.filtre_jour {padding: 15px 26px 15px 30px;background:var(--cg_bleu);}
.filtre_item.filtre_search {padding: 10px 20px 10px 30px;;background:var(--cg_bleu);}
.filtre_categ select, .filtre_jour select, .filtre_jour input {text-transform:uppercase;border: 0;background:none;color:#FFF;font-weight:bold;}
.filtre_item.filtre_categ:hover select,
.filtre_item.filtre_jour:hover select {color:#FFF;}
.filtre_item.filtre_categ select option,
.filtre_item.filtre_jour select option {color:#000;}


.filtre_item_autre {position:relative;flex: 0 0 auto; margin: 8px; border-radius:1.8em;}
.filtre_chequekdo_mention {font-size: 0.9em; font-weight: bold; text-transform: uppercase; width: 200px; font-style: italic; padding: 8px 0 0 15px;    line-height: 1.4em;}

/* BOUTON CHEQUE CADEAU */

.activate_chequekdo:not(:checked),
.activate_chequekdo:checked {
	position: absolute;
	left: -9999px;
}
.activate_chequekdo:not(:checked) + label,
.activate_chequekdo:checked + label {
	position: relative;
	padding-left: 75px;
	cursor: pointer;
}
.activate_chequekdo:not(:checked) + label:before,
.activate_chequekdo:checked + label:before,
.activate_chequekdo:not(:checked) + label:after,
.activate_chequekdo:checked + label:after {
	content: '';
	position: absolute;
}
.activate_chequekdo:not(:checked) + label:before,
.activate_chequekdo:checked + label:before {
	left:0; top: -1px;
	width: 100px; height: 54px;
	background: var(--cg_corail); /* rouge pour non */
	border-radius: 1.8em;
	-webkit-transition: background-color .2s;
	-moz-transition: background-color .2s;
	-ms-transition: background-color .2s;
	transition: background-color .2s;
}
.activate_chequekdo:not(:checked) + label:after,
.activate_chequekdo:checked + label:after {
	width: 30px; height: 30px;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	-ms-transition: all .2s;
	transition: all .2s;
	border-radius: 50%;
	background: #FFF; /* aspect du rond */
	top: 11px; left: 11px;
}

/* on checked */
.activate_chequekdo:checked + label:before {
	background:var(--cg_bleu); 
}
.activate_chequekdo:checked + label:after {
	background: #FFF;/* aspect du rond */
	top: 11px; left: 56px;
}

.activate_chequekdo:checked + label .ui,
.activate_chequekdo:not(:checked) + label .ui:before,
.activate_chequekdo:checked + label .ui:after {
	position: absolute;
	top:14px;
	left: 6px;
	width: 65px;
	border-radius: 15px;
	font-size: 1em;
	text-transform:uppercase;
	font-weight: bold;
	line-height: 22px;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	-ms-transition: all .2s;
	transition: all .2s;
}
.activate_chequekdo:not(:checked) + label .ui:before {
	content: "off";
	color:#FFF;
	left: 50px
}
.activate_chequekdo:checked + label .ui:after {
	content: "oui";
	color: #FFF;
	top:0;
}
.activate_chequekdo:focus + label:before {
	/*border: 1px dashed #777;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;*/
	/*margin-top: -1px;*/
}



/* AUCUN RESULTAT */

p.noresult {padding:10px 20px; background:#ffadad; color:#870000; border-radius:1.8em; margin:0 auto; text-align:center; max-width:600px; width:90%;}

/* LISTE DES FICHES */

div#liste_fiche {margin:40px auto; display: grid; grid-template-columns: repeat(4, 1fr);grid-column-gap: 20px; grid-row-gap: 20px;}

.fiche_item {position:relative;grid-column: span 1; padding: 10px 10px 50px 10px; border:1px solid #f5f5f5;}

.fiche_item a {text-decoration:none; color:inherit;}

.fiche_item:hover { border:1px solid var(--cg_corail);}

.fiche_item_img {
	/*width:100%; text-align: center;*/	
	display: flex;
	align-items: center;
	justify-content: center;
	height: 246px;
}
.fiche_item_img img {
	max-width: 100%;
	/*height: 250px;
	object-fit: cover;*/
	 max-height: 100%;
	object-fit: contain;
	object-position: center;
}

.fiche_item_name {font-size:1.2em; font-weight: bold; color:var(--cg_corail); margin:0 0 15px 0; text-transform: uppercase;}


.fiche_item_action {position:absolute; bottom:0; left:0; width:100%; display:grid; grid-template-columns:repeat(2, 1fr); grid-column-gap: 1px;}

.fiche_item_action a {line-height:1.1em; display:table; width:100%; height:100%; text-align: center; text-decoration:none; color:#FFF;}

.fiche_item_maplink,
.fiche_item_fichelink {position:relative; grid-column:span 1;}

.fiche_item_maplink a {padding:10px 15px 12px 45px; background:url('../img/public/picto_voir_map.svg') 5% center no-repeat,var(--cg_bleu); background-size:25px;}
.fiche_item_maplink a:hover {background:url('../img/public/picto_voir_map.svg') 3% center no-repeat,var(--cg_sable); background-size:30px;}

.fiche_item_fichelink a {padding:10px 45px 12px 15px; background:url('../img/public/picto_voir_fiche.svg') 95% center no-repeat, var(--cg_corail); background-size:25px;}
.fiche_item_fichelink a:hover {background:url('../img/public/picto_voir_fiche.svg') 97% center no-repeat, var(--cg_sable); background-size:30px;}

.fiche_item_fichelinkonly {position:relative; grid-column:span 2;}


.fiche_item_tag {position:relative; width:100%; overflow: hidden; margin:0 0 10px 0;}
.fiche_item_tag_item {position:relative; float:left; display:table; margin:5px 5px 5px 0; background:var(--cg_sable); padding:3px 10px; border-radius:1.8em; color:#FFF; font-size:0.7em;}
.fiche_item_tag_item a {display:table; text-decoration:none; color:inherit;}
.fiche_item_tag_item:hover {background:var(--cg_rose);}


.result_filtre {position:relative; display:table; margin:0 auto 10px auto; padding:10px 20px 0 20px; width:auto; color:var(--cg_sable); text-align:center; font-weight:bold; font-size:1.1em;}

p.delete_filtre {position:relative; display:table; margin:0 auto 30px auto; padding:10px 20px; border-radius:8em; width:auto; background:var(--cg_sable); color:#FFF; text-align:center;}

.delete_search a {
	background:url(../img/public/delete_search.png) 3px center no-repeat;
	padding:5px 10px 5px 35px;
	color:#FFF;
	border-radius:8em;
	border:1px solid #FFF;
	text-decoration:none;
	margin:0 0 0 50px;
	transition: background 0.5s;
}
.delete_search a:hover {background:#CC0000 url(../img/public/delete_search.png) 95% center no-repeat;transition: background 0.5s;}


/* FICHE */


.annuaire_fiche {
	position:relative; 
	display:grid;
	grid-template-columns:repeat(12, 1fr);
	column-gap: clamp(16px, 4vw, 100px);
	row-gap:clamp(16px, 4vw, 50px);
	margin:30px auto 50px auto;
}

.annuaire_bloc100 {grid-column:span 12;}
.annuaire_bloc75,
.annuaire_bloc50,
.annuaire_bloc25 {grid-column:span 6;}

.annuaire_top {margin:40px auto;}

.annuaire_fiche p.annuaire_sstitle {color:var(--cg_bleu); font-size:1.6em; font-weight:bold; text-transform:uppercase; margin:0 0 40px 0;}

.annuaire_sstitle:after {
    content: "";
    position: relative;
    width: 30%;
    max-width: 150px;
    left: 0;
    bottom: -10px;
    border-bottom: 6px solid var(--cg_bleu);
    transform: scaleX(1);
    transition: transform 150ms ease-in-out;
    display: table;
}


/* TAGS CATEG */
.annuaire_fiche .annuaire_tag_fiche {position:relative; display: table; margin:0 auto;}
.annuaire_fiche .annuaire_tag_fiche_item {float:left;}
.annuaire_fiche .annuaire_tag_fiche_item a {display:table;text-decoration:none;margin:5px 15px; padding:10px 20px; background:var(--cg_sable); border-radius:1.8em; text-transform: uppercase; font-size:1em;color:#FFF; text-align:center;}
.annuaire_fiche .annuaire_tag_fiche_item a:hover {background:var(--cg_rose);}

.annuaire_fiche h1 {margin:40px auto 0 auto;text-align:center; font-size:2.4em; font-weight: bold;}

/* PRESENTATION */
.annuaire_presentation_txt {font-size:1.1em;line-height: 1.6em;}
.annuaire_presentation_txt p {
	margin:0 0 10px 0;
	padding:0;
}
.annuaire_presentation_txt ul {
	margin:0 0 10px 0;
	padding:0;
}
.annuaire_presentation_txt ul ul, .annuaire_presentation_txt  ul li ul {
	margin:0 0 0 24px;
	padding:0;
}
.annuaire_presentation_txte li {
	/*background:url(../img/public/puce_li.png) no-repeat;	
	padding: 0 0 5px 35px;*/
	padding:0;
	margin:0;
	list-style:none;
	overflow:hidden;
	line-height: 1.6em;
}
.annuaire_presentation_txt li::before { content:"\2022";margin:0 6px 0 0;font-size: 1.8em; font-weight:100; vertical-align: text-bottom; position:relative; top:1px;}

/* SLIDER IMAGE */
.swiper-container {
	width: 100%;
	max-width: 600px;
	/*height: 400px;*/
	/*max-height: 400px;*/
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

/* Chaque slide */
.swiper-slide {
	/*width: 100%;
	height: auto;
	aspect-ratio: 600 / 400;
	background-size: cover;
	background-position: center;
	position: relative;*/
	min-height: 130px;
	display: flex !important;
    align-items: center !important;
    justify-content: center !important;
	/* Ajout pour gérer les hauteurs */
	/*min-height: 50vh;
	max-height: 400px;*/
}

.swiper-slide img {
	/*width: 100%;
	height: auto;
	min-height: 50vh;
	max-height: 400px;
	object-fit: cover;
	display: block;*/
	width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 400px;
    object-fit: contain;
    display: block;
}

/* Navigation flèches */
.swiper-button-next,
.swiper-button-prev {
  color: #fff;
}

.swiper-button-next,
.swiper-button-prev {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 30px !important;  /* ou la taille de ton icône */
	height: 30px !important;
	top: 50%;
	transform: translateY(-50%);
	z-index: 11 !important;
}

/* Image pour le bouton "next" */
.swiper-button-next {
  	background: url(../img/public/slider_arrows_next.png) center left no-repeat;
    background-size: 30px;
    opacity: 0.8;
	right: 10px;
	left: auto;
}

/* Image pour le bouton "prev" */
.swiper-button-prev {
	background: url(../img/public/slider_arrows_prev.png) center left no-repeat;
	background-size: 30px;
	opacity: 0.8;
	left: 10px;
	right: auto;
}
.swiper-button-next:hover, .swiper-button-prev:hover {opacity: 1;}

/* Supprime le contenu par défaut (la flèche SVG de Swiper) */
.swiper-button-next::after,
.swiper-button-prev::after {
	display: none;
}



/* Pagination */
.swiper-pagination-bullet {
	background: #bababa !important;
	width: 30px !important;
    height: 10px !important;
	border-radius: 15px !important;
    border: 1px solid #FFF;
	opacity:0.6 !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--cg_bleu) !important;
	opacity:1 !important;
}

/* COORDONNEES */
.annuaire_coord p {margin:10px 0; font-size:1.2em;}
.annuaire_coord a {text-decoration:none; color:var(--cg_corail); display:table;}
.annuaire_coord a:hover {color:#000;}

p.annuaire_coord_item a,
p.annuaire_coord_tel
{ padding:5px 0 5px 40px;}

p.annuaire_coord_tel {background:url("../img/public/fiche_tel.svg") left center no-repeat; background-size:30px;}
p.annuaire_coord_tel:hover {background:url("../img/public/fiche_tel_hover.svg") left center no-repeat; background-size:32px;}
p.annuaire_coord_mail a {background:url("../img/public/fiche_mail.svg") left center no-repeat; background-size:30px;}
p.annuaire_coord_mail a:hover {background:url("../img/public/fiche_mail_hover.svg") left center no-repeat; background-size:32px;}
p.annuaire_coord_web a {background:url("../img/public/fiche_web.svg") left center no-repeat; background-size:30px;}
p.annuaire_coord_web a:hover {background:url("../img/public/fiche_web_hover.svg") left center no-repeat; background-size:32px;}
p.annuaire_coord_rsfb a {background:url("../img/public/fiche_rs_fb.svg") left center no-repeat; background-size:30px;}
p.annuaire_coord_rsfb a:hover {background:url("../img/public/fiche_rs_fb_hover.svg") left center no-repeat; background-size:32px;}
p.annuaire_coord_rsin a {background:url("../img/public/fiche_rs_in.svg") left center no-repeat; background-size:30px;}
p.annuaire_coord_rsin a:hover {background:url("../img/public/fiche_rs_in_hover.svg") left center no-repeat; background-size:32px;}
p.annuaire_coord_rsli a {background:url("../img/public/fiche_rs_li.svg") left center no-repeat; background-size:30px;}
p.annuaire_coord_rsli a:hover {background:url("../img/public/fiche_rs_li_hover.svg") left center no-repeat; background-size:32px;}
p.annuaire_coord_rsx a{background:url("../img/public/fiche_rs_x.svg") left center no-repeat; background-size:30px;}
p.annuaire_coord_rsx a:hover {background:url("../img/public/fiche_rs_x_hover.svg") left center no-repeat; background-size:32px;}

/* HORAIRES */
.annuaire_horaire {display: table; margin: 0 auto;}

.annuaire_horaire_ligne {display:table; width:100%; max-width:500px; text-transform:uppercase;}
.annuaire_horaire_entete .annuaire_horaire_col {background:var(--cg_sable);}

.annuaire_horaire_ligne .annuaire_horaire_col {margin:2px;background:var(--cg_gris_clair); float:left; padding:10px 20px; font-size:1.1em;}

.annuaire_horaire_ligne.annuaire_horaire_entete .annuaire_horaire_col {background:var(--cg_sable); font-weight:bold; color:#FFF;}
.annuaire_horaire_ligne.jour_actif .annuaire_horaire_col {background:var(--cg_bleu); color:#FFF; font-weight:bold;}

.annuaire_horaire_col1 {width:calc(100% - 310px);}
.annuaire_horaire_col2 {width:300px;}


/* OFFRES */
.annuaire_offre {position:relative; width:90%; max-width:800px; margin:0 auto 15px auto;}
.offre_item {position:relative; display:table; margin:15px auto; display: grid; grid-template-columns: repeat(12, 1fr);grid-column-gap: 20px; width:100%; padding: 20px; border:1px solid #f5f5f5;border-radius:1em; background:#f1f1f1;}
.offre_item_title {position:relative; grid-column: span 3;background:var(--cg_bleu); color:#FFF;border-radius:1em; padding:10px; font-size:1.6em; line-height:1.4em; text-align:center;}
.offre_item_title_value {position: absolute;top: 50%;transform: translateY(-50%);width: calc(100% - 20px);}
.offre_item_content {grid-column: span 9;}
.offre_item_date {display:table; padding:5px 15px; margin:0 0 20px 0; border-radius:1.8em; background:var(--cg_corail); font-size:1em; color:#FFF;}
.offre_item_name {font-weight: 600;margin:0 0 15px 0;}
.offre_item_desc {font-style: italic;} 
.offre_item_fichier {display:table; margin:10px 0 0 0;}
.offre_item_fichier a {display:table; font-weight:600; text-decoration:none; margin:5px 0; padding:3px 20px 6px 10px; border-radius:1.8em; border:2px solid var(--cg_corail); color:var(--cg_corail);}
.offre_item_fichier a:hover {background:#4c4d4f; border:2px solid #4c4d4f; color:#FFF;}

.offre_item_fichier a::after {
    content: "\2192";
    position: relative;
    bottom: 0;
    width: 50px;
    left: 8px;
    height: 6px;
    transform: scaleX(0.5);
    transition: 150ms ease-in-out;
    font-size: 1.2em;
	font-weight:600;
}
.offre_item_fichier a:hover::after {
    content: "\2192";
    position: relative;
    bottom: 0;
    width: 50px;
    left: 12px;
    height: 6px;
    transform: scaleX(0.5);
    transition: 150ms ease-in-out;
    font-size: 1.2em;
	font-weight:600;
}


@media screen and (max-width : 1200px) {
	div#liste_fiche {grid-template-columns: repeat(3, 1fr);}
	.annuaire_bloc50 {grid-column:span 12;}
	.annuaire_bloc75 {grid-column:span 8;}
	.annuaire_bloc25 {grid-column:span 4;}
}
@media screen and (max-width : 1000px) {
	
	.filtre_item.filtre_categ, .filtre_item.filtre_jour {
		padding: 10px 6px 10px 6px;
		height: 45px;
	}
	.filtre_item.filtre_search {padding: 7px 6px 10px 6px; height: 45px;}
	.filtre_item.filtre_categ, .filtre_item.filtre_jour select, .filtre_item.filtre_search input {font-size:0.8em;}
	.filtre_item.filtre_categ select {max-width: 180px;}
	.filtre_chequekdo_mention {padding:4px 0 0 15px; line-height:1.2em;}
	
	.activate_chequekdo:not(:checked) + label:before,
	.activate_chequekdo:checked + label:before {
		width: 100px; height: 45px;
	}
	.activate_chequekdo:not(:checked) + label:after,
	.activate_chequekdo:checked + label:after {
		width: 25px; height: 25px;
		top: 9px;
	}
	
	.activate_chequekdo:checked + label .ui,
	.activate_chequekdo:not(:checked) + label .ui:before,
	.activate_chequekdo:checked + label .ui:after {
		top:10px;
		font-size: 0.9em;
	}
	.activate_chequekdo:not(:checked) + label .ui:before {
		left: 47px
	}
	.activate_chequekdo:checked + label .ui:after {
		top:1px !important;
		left: 10px !important;
		font-size: 1em !important;
	}
	.activate_chequekdo:checked + label:after {
		left: 64px;
	}
	
}
@media screen and (max-width : 960px) {
	.annuaire_bloc75,
	.annuaire_bloc25 {grid-column:span 12;}
	
	.annuaire_coord {display: table; margin: 40px auto;}
	.annuaire_horaire {margin: 0 auto 40px auto;}
}
@media screen and (max-width : 800px) {
	div#liste_fiche {grid-template-columns: repeat(2, 1fr);}
	
	.offre_item_title {font-size:1.2em;}
	
}
@media screen and (max-width : 650px) {
	.offre_item_title,
	.offre_item_content
	{grid-column: span 12;}
	.offre_item_title {padding:30px 10px; margin:0 auto 20px auto; width:100%;}
	
}
@media screen and (max-width : 550px) {
	div#liste_fiche {grid-template-columns: repeat(1, 1fr);}
}
@media screen and (max-width : 480px) {
	.annuaire_horaire_ligne .annuaire_horaire_col {margin:0;}
	.annuaire_horaire_ligne .annuaire_horaire_col1 {width:100%; font-weight:bold;padding: 10px 20px 5px 20px;}
	.annuaire_horaire_ligne .annuaire_horaire_col2 {width:100%;margin:0 0 2px 0;padding: 0 20px 10px 20px;}
	.annuaire_horaire_entete {display:none;}
	.annuaire_fiche .annuaire_tag_fiche_item {float:none;}
	.annuaire_fiche .annuaire_tag_fiche_item a {margin:5px auto;}
	
}