.elementor-19410 .elementor-element.elementor-element-f393082{z-index:9999;}.elementor-19410 .elementor-element.elementor-element-c8addde{z-index:9999;}.elementor-19410 .elementor-element.elementor-element-3f62ef6 > .elementor-container{min-height:100vh;}.elementor-19410 .elementor-element.elementor-element-e950f70 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-19410 .elementor-element.elementor-element-f815a91 .elementor-button{background-color:var( --e-global-color-d69846a );font-family:"Roboto", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;fill:var( --e-global-color-16c9e070 );color:var( --e-global-color-16c9e070 );padding:8px 10px 8px 10px;}.elementor-19410 .elementor-element.elementor-element-f815a91 .elementor-button:hover, .elementor-19410 .elementor-element.elementor-element-f815a91 .elementor-button:focus{background-color:var( --e-global-color-16c9e070 );color:var( --e-global-color-d69846a );border-color:var( --e-global-color-d69846a );}.elementor-19410 .elementor-element.elementor-element-f815a91 .elementor-button-content-wrapper{flex-direction:row;}.elementor-19410 .elementor-element.elementor-element-f815a91 .elementor-button .elementor-button-content-wrapper{gap:5px;}.elementor-19410 .elementor-element.elementor-element-f815a91 .elementor-button:hover svg, .elementor-19410 .elementor-element.elementor-element-f815a91 .elementor-button:focus svg{fill:var( --e-global-color-d69846a );}.elementor-19410 .elementor-element.elementor-element-af8c059 > .elementor-widget-container{margin:10px 0px 0px 0px;}.elementor-19410 .elementor-element.elementor-element-3770b66{--grid-column-gap:18px;--grid-row-gap:15px;}.elementor-19410 .elementor-element.elementor-element-3770b66 .pp-posts:not(.elementor-grid){margin-left:-18px;}.elementor-19410 .elementor-element.elementor-element-3770b66 .pp-posts:not(.elementor-grid) .pp-post-wrap{padding-left:18px;}.elementor-19410 .elementor-element.elementor-element-3770b66 .pp-elementor-grid .pp-grid-item-wrap{margin-bottom:15px;}.elementor-19410 .elementor-element.elementor-element-3770b66 .pp-post{background-color:#7A7A7A0A;border-style:solid;border-width:1px 1px 1px 1px;border-color:#7A7A7A29;border-radius:10px 10px 10px 10px;box-shadow:0px 0px 3px 0px rgba(0,0,0,0.5);}.elementor-19410 .elementor-element.elementor-element-14c8b56 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-19410 .elementor-element.elementor-element-e950f70{width:20%;}.elementor-19410 .elementor-element.elementor-element-14c8b56{width:80%;}}/* Start custom CSS for html, class: .elementor-element-7b2b66a */@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap');

/* --- BARRE PRINCIPALE --- */
.my-filters-bar {
    display: flex;
    align-items: stretch;
    border: 1px solid #000;
    background-color: #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    font-family: 'Archivo Black', sans-serif;
    position: relative;
    overflow: visible;
}
/* ------- RESET FACETWP ------------ */ /* Supprime l’espace sous toutes les FacetWP */ .facetwp-facet { margin-bottom: 0 !important; 
}
.facetwp-slider-reset {
    display: none !important;
}
/* --- BLOCS --- */
.filter-item {
    flex: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    padding: 5px 0;
    border-right: 1px solid #000000;
}

/* Retire le trait à droite du dernier bloc et à gauche premier bloc */
.filter-item:last-of-type {
    border-right: none;
}
.filter-item:first-of-type {
    border-left : none
} 
/* --- TITRES --- */
.filter-title {
    font-weight: bold;
    color: #000000;
    cursor: pointer;
    font-size: 1rem;
    padding: 2px 0;
    transition: color 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.filter-title:hover {
    color: #25A137;
}

/* --- ICÔNES --- */
.filter-title i {
    opacity: 0.6;
    font-size: 1rem;
    color: #000;
}

/* --- SHORTCODES (vignettes) --- */
.filter-shortcode {
    display: none;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    background-color: #ffffff;
    border: 2px solid #25A137;
    border-radius: 15px;
    padding: 5px 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    z-index: 100;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    text-align: left;
    box-sizing: border-box;
    width: auto;
    height: auto;
    min-height: 40px;
    min-width: 200px;
    max-width: 300px;
}

/* Apparition */
.filter-shortcode.show,
.filter-item:hover .filter-shortcode {
    display: block;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* --- STYLES SPÉCIFIQUES POUR LA RECHERCHE --- */
#search input.facetwp-search {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #25A137;
    border-radius: 8px;
    font-family: 'Archivo Black', sans-serif;
    font-size: 0.95rem;
    box-sizing: border-box;
    background-color: #ffffff;
}

#search input.facetwp-search:focus {
    outline: none;
    border-color: #25A137;
    box-shadow: 0 0 0 2px rgba(37, 161, 55, 0.1);
}

#search input.facetwp-search::placeholder {
    color: #888;
    font-family: 'Archivo Black', sans-serif;
}

/* Range/date en colonne */
#date .facetwp-facet-date-range,
#distance .facetwp-facet-range,
#denivele .facetwp-facet-range {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

/* Inputs */
#date input,
#distance input,
#denivele input {
    width: 100%;
    box-sizing: border-box;
}

/* --- RESPONSIVE --- */
@media (max-width: 1200px) {
    .my-filters-bar {
        flex-wrap: wrap;
    }
    
    .filter-item {
        flex: 1 1 calc(33.333% - 4px);
        min-width: 150px;
    }
    
    .separator {
        display: none;
    }
}
#distance .facetwp-slider-label,
#denivele .facetwp-slider-label {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
    font-family: 'Archivo Black', sans-serif !important;
    margin-bottom: 8px !important;
}
@media (max-width: 768px) {

    /* BARRE = rail horizontal scrollable */
    .my-filters-bar {
        display: flex;
        flex-direction: row;
        align-items: center;
        flex-wrap: nowrap;

         padding: 6px 8px;
        gap: 0; /* séparateurs gérés à part */
    }

    /* cache scrollbar */
    .my-filters-bar::-webkit-scrollbar {
        display: none;
    }

    /* chaque filtre */
    .filter-item {
        flex: 0 0 auto;
        padding: 8px 14px;

        white-space: nowrap;
        border: none;
        position: relative;
    }

    /* SÉPARATEUR NOIR ENTRE LES FILTRES */
    .filter-item:not(:last-child)::after {
        content: "";
        position: absolute;
        right: 0;
        top: 20%;
        height: 60%;
        width: 1px;
        background-color: #000;
        opacity: 0.4;
    }

    /* titres plus compacts */
    .filter-title {
        font-size: 0.9rem;
        padding: 4px 0;
    }

    /* popups lisibles mais pas trop larges */
    .filter-shortcode {
        min-width: 220px;
        max-width: 85vw;
    }

    /* on supprime anciens séparateurs HTML */
    .separator {
        display: none;
    }
}
@media (max-width: 768px) {
    .my-filters-bar {
        overflow-x: auto;
        overflow-y: visible; /* important */
        -webkit-overflow-scrolling: touch;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4397ea9 */@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap');

/* --- BARRE MOBILE HORIZONTALE --- */
.mobile-filters-bar {
  display: none;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  border: 1px solid #000;
  background-color: #ffffff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  font-family: 'Archivo Black', sans-serif;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  position: relative;
}

.mobile-filters-bar::-webkit-scrollbar {
  display: none;
}

/* --- ITEMS MOBILE --- */
.mobile-filter-item {
  flex: 0 0 auto;
  padding: 8px 14px;
  white-space: nowrap;
  border: none;
  position: relative;
  text-align: center;
}

.mobile-filter-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background-color: #000;
  opacity: 0.4;
}

/* --- TITRES MOBILE --- */
.mobile-filter-title {
  font-weight: bold;
  color: #000000;
  cursor: pointer;
  font-size: 0.9rem;
  padding: 4px 0;
  transition: color 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.mobile-filter-title:hover {
  color: #25A137;
}

/* --- POPUPS MOBILES --- */
.mobile-filter-popup {
  display: none;
  position: fixed; /* FIXED au lieu de absolute */
  left: 50%;
  transform: translateX(-50%);
  background-color: #ffffff;
  border: 2px solid #25A137;
  border-radius: 15px;
  padding: 15px 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  z-index: 9999; /* Z-index très élevé */
  opacity: 0;
  transition: opacity 0.3s;
  text-align: left;
  box-sizing: border-box;
  min-width: 220px;
  max-width: 85vw;
  white-space: normal;
}

.mobile-filter-popup.show {
  display: block;
  opacity: 1;
}

/* --- RESET FACETWP MOBILE --- */
.mobile-filter-popup .facetwp-facet {
  margin-bottom: 0 !important;
}

.mobile-filter-popup .facetwp-slider-reset {
  display: none !important;
}

/* --- STYLES RECHERCHE MOBILE --- */
.mobile-filter-search input.facetwp-search {
  width: 140px;
  padding: 8px 12px;
  border: 1px solid #25A137;
  border-radius: 8px;
  font-family: 'Archivo Black', sans-serif;
  font-size: 0.9rem;
  box-sizing: border-box;
  background-color: #ffffff;
}

.mobile-filter-search input.facetwp-search:focus {
  outline: none;
  border-color: #25A137;
  box-shadow: 0 0 0 2px rgba(37, 161, 55, 0.1);
}

.mobile-filter-search input.facetwp-search::placeholder {
  color: #888;
  font-family: 'Archivo Black', sans-serif;
}

/* --- Range/date en colonne --- */
.mobile-filter-popup .facetwp-facet-date-range,
.mobile-filter-popup .facetwp-facet-range {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mobile-filter-popup input {
  width: 100%;
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-family: 'Archivo Black', sans-serif;
}

.mobile-filter-popup .facetwp-slider-label {
  text-align: center !important;
  width: 100% !important;
  display: block !important;
  font-family: 'Archivo Black', sans-serif !important;
  margin-bottom: 8px !important;
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .mobile-filters-bar {
    display: flex;
  }
  
  .my-filters-bar {
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-f815a91 *//* La colonne devient le conteneur de référence */
.events-column {
    position: relative;
}

/* Bouton épinglé en bas et centré */
.events-column .btn-voir-liste {
    position: absolute;
    bottom: 100px;              /* espace depuis le bas */
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

/* Sécurité : éviter que le bouton prenne toute la largeur */
.events-column .btn-voir-liste a,
.events-column .btn-voir-liste button {
    width: auto;
    white-space: nowrap;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-af8c059 *//* Centrer et styliser le facet "pagination" */
.facetwp-facet-pagination {
    text-align: center;   /* centre le texte */
    font-weight: bold;    /* met en gras */
    color: #000;          /* noir */
}
.facetwp-facet-pagination span,
.facetwp-facet-pagination a {
    color: #000;
    font-weight: bold;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8a6a70a *//* Wrapper général */
.facetwp-selections-on-map {
    position: absolute;
    top: 2px;
    left: 5px;
    z-index: 888;
    background: transparent;   /* fond transparent sur la map */
    display: flex;
    align-items: center;
    gap: 5px;                 /* espace réduit entre reset et ul */
    max-width: 95%;            /* éviter débordement sur mobile */
    font-family: sans-serif;
}

/* Reset le margin et padding par défaut du ul des sélections */
.facetwp-selections-on-map .facetwp-selections,
.facetwp-selections-on-map .facetwp-selections ul {
    margin: 0 !important;       /* supprime margin thème Astra */
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;   /* ligne unique */
    gap: 3px !important;        /* petit espace entre filtres */
}

/* Chaque filtre actif (li) - ultra compact */
.facetwp-selections-on-map .facetwp-selections li {
    background-color: #fff;      /* fond blanc */
    color: #1E8C3E;              /* texte vert Pyrénées Chrono */
    padding: 2px 6px;            /* padding réduit */
    border-radius: 3px;           /* coins plus petits */
    font-weight: bold;
    font-size: 12px;              /* texte plus petit */
    display: inline-block;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1); /* ombre très légère */
}

/* Bouton Reset - compact */
.facetwp-selections-on-map .facetwp-reset {
    background-color: #1E8C3E;   /* vert Pyrénées Chrono */
    color: #fff;                 /* texte blanc */
    border: none;
    padding: 3px 8px;            /* padding réduit */
    border-radius: 3px;           /* coins plus petits */
    font-weight: bold;
    font-size: 12px;             /* texte plus petit */
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    transition: background 0.2s;
}
.facetwp-selections-on-map .facetwp-reset:hover {
    background-color: #166A2B;   /* hover vert foncé */
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-fafe677 */.facetwp-map-filtering { 
  display: none; 
}
.gmnoprint.gm-style-mtc-bbw {
    z-index: 0;
    position: absolute;
    cursor: pointer;
    left: 30px!important;  /* nouvelle position */
    top: 30px!important;   /* nouvelle position */
}
.gmp-internal-camera-control {
    position: absolute;
    cursor: pointer;
    user-select: none;
    left: 0px;
    top: -20px!important;
}
#4EDAD60C-4801-4955-87F7-AC614828DFEA {
    list-style: none;
    padding: 0;
    position: absolute;
    z-index: 999999;
    margin: 10px;
    width: 140px;
    height: 140px;
    right: 100%;
    top: -110px!important;
}
/* --- VERSION MOBILE : bouton bas gauche --- */
@media (max-width: 768px) {
    .gmnoprint.gm-style-mtc-bbw {
        top: auto !important;      /* annule top */
        left: 10px !important;     /* distance depuis gauche */
        bottom: 10px !important;   /* distance depuis bas */
    }
}/* End custom CSS */
/* Start custom CSS *//* 🔒 Bloque le scroll global */
html,
body {
  height: 100%;
  overflow: hidden;
}

/* 🧱 Section carte */
.map-section {
  overflow: hidden;
}

/* 🗺 Widget shortcode */
.facetwp-map-container {
  width: 100%;
}

/* 🗺 Carte FacetWP */
#facetwp-map {
  width: 100% !important;
  max-width: 100%;
}
/* 🧭 Colonne qui contient la liste */
.events-column {
  height: 100%;
  overflow: hidden;
}

/* 📜 Scroll interne UNIQUEMENT sur la liste */
.scroll-list {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}
/* ============================================
   📋 COLONNE LISTE AVEC SCROLL INTERNE
   ============================================ */

/* Fixer la hauteur de la colonne */
.events-column {
    height: calc(100vh - 140px) !important;
    overflow: hidden !important;
    background: #f5f7fa;
    border-right: 1px solid #e1e8ed;
}

/* Le container du widget doit prendre toute la hauteur */
.events-column .elementor-widget-wrap {
    height: 100% !important;
}

.events-column .elementor-widget-container {
    height: 100% !important;
}

/* Le widget Advanced Posts avec scroll */
.scroll-list {
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 5px 5px;
}

/* Container des posts */
.scroll-list .elementor-loop-container,
.scroll-list .elementor-posts-container {
    height: auto !important;
    display: block !important;
}

/* ============================================
   🎨 SCROLLBAR PERSONNALISÉE
   ============================================ */

.scroll-list::-webkit-scrollbar {
    width: 11px;
}

.scroll-list::-webkit-scrollbar-track {
    background: #e5e7eb;
    border-radius: 11px;
}

.scroll-list::-webkit-scrollbar-thumb {
    background: #25A137;
    border-radius: 10px;
}

.scroll-list::-webkit-scrollbar-thumb:hover {
    background: #1e7a2a;
}/* End custom CSS */