/* Reset UIKIT */
/* On redéfinit la variable CSS Bridge bridge-button-background à la place de celles d'UIKIT */
:root {
    --bridge-primary-color: var( --e-global-color-primary,#1e87f0 );
    --bridge-secondary-color: var( --e-global-color-secondary,#222 );
    --bridge-button-background: #EEEEEE;
    --bridge-active-button-background: var( --bridge-primary-color,#1e87f0 );
}

/* Primary */
.uk-link,
.uk-alert-primary,
a.uk-link-heading:hover,
.uk-link-heading a:hover,
.uk-link-toggle:hover .uk-link-heading,
.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {color: var( --bridge-primary-color,#1e87f0 );}
.uk-search-default .uk-search-input:focus,
.uk-notification-message-primary,
.uk-tab > .uk-active > a,
.uk-radio:focus,
.uk-checkbox:focus{border-color: var( --bridge-primary-color,#1e87f0 );}
.uk-text-background,
.uk-background-primary,
.uk-subnav-pill > .uk-active > a,
.uk-progress::-webkit-progress-value,
.uk-progress::-moz-progress-bar,
.uk-button-primary,
.uk-tile-primary,
.uk-card-primary,
.uk-card-primary.uk-card-hover:hover,
.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate {background-color: var( --bridge-primary-color,#1e87f0 );}
/* Secondary */
.uk-text-secondary,
.uk-list-secondary > ::before {color: var( --bridge-secondary-color,#222 ) !important;}
.uk-button-secondary,
.uk-section-secondary,
.uk-tile-secondary,
.uk-card-secondary,
.uk-card-secondary.uk-card-hover:hover,
.uk-marker,
.uk-background-secondary {background-color: var( --bridge-secondary-color,#222 );}
.uk-offcanvas-bar{background: var( --bridge-secondary-color,#222 );}

img[data-src][src*='data:image'] { background: rgba(0,0,0,0.1); }

.ficheproduit, .listeSIT, .bridge-archive-container, .bridge-liste, .bridge-pagination { box-sizing: border-box; }

/* Liste archive */
.bridge-archive-container {/* max-width:1200px;*/margin:auto;padding:50px 30px 30px; width:100%;}

.bridge-archive-container .bridge-listtitle-container { margin-top:2em; margin-bottom: 1em;}
.bridge-archive-container .bridge-listtitle-container .bridge-archive-title { margin-top:0.2em; margin-bottom: 0.2em;}
.bridge-archive-container .bridge-archive-title, .bridge-archive-container .bridge-archive-overtitle, .bridge-archive-container .bridge-archive-subtitle { text-align:center; }

.bridge-archive-container .bridge-archive-description { margin:auto; margin-top:2rem; margin-bottom: 2rem; max-width:800px; text-align:center; }

.bridgeListMapSwitcher .bridge-list-toggle,
.bridgeListMapSwitcher .bridge-map-toggle { padding: 0.76rem 1rem; }
.bridgeListMapSwitcher li,
.bridgeMapSwitcher li { list-style: none; }

/* Spécifique Liste 6 */
.liste6 .bridge-toolbar{padding-bottom:20px;}

/* Moteur de recherche */
.bridge-zone-moteur { padding: 1em; }
.bridge-moteur-side .bridgeActiveFilter { display:none; }


.bridge-moteur-sit {/*background-color:#fff;*/ margin-top:0 !important;}
.bridge-moteur-sit ul li a{line-height:30px;padding:0 10px 0 9px;color:#fff !important; font-family: "Montserrat",Sans-serif; font-weight: bold; font-size:14px; border:none; text-align:center;}
.bridge-moteur-sit ul li h3{color:#fff;}
.bridge-moteur-sit ul li:first-child {border-left:none;}
.bridge-moteur-sit ul a.uk-open{color:#000!important; background-color:#fff}
.bridge-moteur-sit .uk-drop{margin-top:0;}
.bridge-moteur-sit .uk-card-primary{background-color:#000;}

.bridge-moteur-sit label{margin-right:15px;margin-bottom: 10px;}
.bridge-moteur-sit .uk-checkbox{border-color:#000; margin-right:7px;}
.bridge-moteur-sit .uk-checkbox:checked{background-color:#ee3d3d}

/* Spécial Offcanvas */
.uk-offcanvas .bridge-moteur-sit{background-color: inherit;}
.uk-offcanvas .bridge-moteur-sit h4{display:none;}
.off-canvas-moteur-mobile { z-index: 999999; }
@media ( max-width:800px ) {
    .off-canvas-moteur-mobile .uk-offcanvas-bar {  width: 90vw; /* right: auto; transition: left .3s ease-out; */}
    /*
    .uk-offcanvas-container .off-canvas-moteur-mobile .uk-offcanvas-bar { left:0vw; width: 90vw; right: auto; transition: left .3s ease-out; }
    .uk-offcanvas-flip .off-canvas-moteur-mobile .uk-offcanvas-bar { right:-90vw; width: 90vw; left: auto; transition: right .3s ease-out; }
    .uk-offcanvas-container .uk-offcanvas-flip .off-canvas-moteur-mobile .uk-offcanvas-bar { right:0vw; width: 90vw; left: auto; transition: right .3s ease-out;  }
     */

}

/* Off canvas : forcer les inputs à être noir sur blanc sinon invisibles avec un fond blanc */
.uk-card-primary.uk-card-body .uk-input, .uk-card-primary.uk-card-body .uk-select, .uk-card-primary.uk-card-body .uk-textarea, .uk-card-primary>:not([class*=uk-card-media]) .uk-input, .uk-card-primary>:not([class*=uk-card-media]) .uk-select, .uk-card-primary>:not([class*=uk-card-media]) .uk-textarea, .uk-card-secondary.uk-card-body .uk-input, .uk-card-secondary.uk-card-body .uk-select, .uk-card-secondary.uk-card-body .uk-textarea, .uk-card-secondary>:not([class*=uk-card-media]) .uk-input, .uk-card-secondary>:not([class*=uk-card-media]) .uk-select, .uk-card-secondary>:not([class*=uk-card-media]) .uk-textarea, .uk-light .uk-input, .uk-light .uk-select, .uk-light .uk-textarea, .uk-offcanvas-bar .uk-input, .uk-offcanvas-bar .uk-select, .uk-offcanvas-bar .uk-textarea, .uk-overlay-primary .uk-input, .uk-overlay-primary .uk-select, .uk-overlay-primary .uk-textarea, .uk-section-primary:not(.uk-preserve-color) .uk-input, .uk-section-primary:not(.uk-preserve-color) .uk-select, .uk-section-primary:not(.uk-preserve-color) .uk-textarea, .uk-section-secondary:not(.uk-preserve-color) .uk-input, .uk-section-secondary:not(.uk-preserve-color) .uk-select, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea, .uk-tile-primary:not(.uk-preserve-color) .uk-input, .uk-tile-primary:not(.uk-preserve-color) .uk-select, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea, .uk-tile-secondary:not(.uk-preserve-color) .uk-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-select, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea,
.uk-card-primary.uk-card-body .uk-input:focus, .uk-card-primary.uk-card-body .uk-select:focus, .uk-card-primary.uk-card-body .uk-textarea:focus, .uk-card-primary>:not([class*=uk-card-media]) .uk-input:focus, .uk-card-primary>:not([class*=uk-card-media]) .uk-select:focus, .uk-card-primary>:not([class*=uk-card-media]) .uk-textarea:focus, .uk-card-secondary.uk-card-body .uk-input:focus, .uk-card-secondary.uk-card-body .uk-select:focus, .uk-card-secondary.uk-card-body .uk-textarea:focus, .uk-card-secondary>:not([class*=uk-card-media]) .uk-input:focus, .uk-card-secondary>:not([class*=uk-card-media]) .uk-select:focus, .uk-card-secondary>:not([class*=uk-card-media]) .uk-textarea:focus, .uk-light .uk-input:focus, .uk-light .uk-select:focus, .uk-light .uk-textarea:focus, .uk-offcanvas-bar .uk-input:focus, .uk-offcanvas-bar .uk-select:focus, .uk-offcanvas-bar .uk-textarea:focus, .uk-overlay-primary .uk-input:focus, .uk-overlay-primary .uk-select:focus, .uk-overlay-primary .uk-textarea:focus, .uk-section-primary:not(.uk-preserve-color) .uk-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-select:focus, .uk-section-primary:not(.uk-preserve-color) .uk-textarea:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-select:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-select:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-select:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:focus {
    color:#444;
    background-color:rgba(255,255,255,0.8) ;
    border: solid 1px #aaa;
}

.uk-card-primary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-primary>:not([class*=uk-card-media]) .uk-select:not([multiple]):not([size]), .uk-card-secondary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-secondary>:not([class*=uk-card-media]) .uk-select:not([multiple]):not([size]), .uk-light .uk-select:not([multiple]):not([size]), .uk-offcanvas-bar .uk-select:not([multiple]):not([size]), .uk-overlay-primary .uk-select:not([multiple]):not([size]), .uk-section-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-section-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

/* Filtres rapides */
.bridge-quick-search { width: 100%; padding:20px; }
.bridge-quick-search .bridge-moteur-section > div { display:flex; flex-direction: row; }
.bridge-quick-search .bridge-moteur-section > div .subsection { width: auto !important; display: flex; flex-direction: row; align-content: center; justify-content: space-between; align-items: center; gap: 8px; }
.bridge-quick-search .bridge-moteur-section > div .subsection .moteur-section-label { margin: 0 ; }
.bridge-quick-search .bridge-gps-distance,
.bridge-quick-search .bridgeActiveFiltersDivSection,
.bridge-quick-search .bridgeActiveFilter { display:none; }

/* On passe .bridge-quick-search .bridge-moteur-section > div .subsection à 100% de largeur en mobile */
@media ( max-width:800px ) {
    .bridge-quick-search .bridge-moteur-section > div .subsection { width: 100% !important; justify-content: space-between; }
}


/* Moteurs  Slides */
input[type='range'] {width: 100%;height: 30px;overflow: hidden;cursor: pointer;  outline: none;}
input[type='range'],
input[type='range']::-webkit-slider-runnable-track,
input[type='range']::-webkit-slider-thumb {-webkit-appearance: none;  background: none;}
input[type='range']::-webkit-slider-runnable-track {width: calc(70% - 10px);height: 1px;background: #ee3d3d;}
input[type='range']:nth-child(2)::-webkit-slider-runnable-track{background: #000;}
input[type='range']::-webkit-slider-thumb {position: relative;height: 15px;width: 15px;margin-top: -7px;background: #fff;border: 1px solid #ee3d3d;border-radius: 25px;z-index: 1;}
input[type='range']:nth-child(1)::-webkit-slider-thumb{z-index: 2;}
.rangeslider{  position: relative;  height: 60px;  width: 70%;  display: inline-block;  margin-top: -5px;}
.rangeslider input{  position: absolute;}
.rangeslider span{  position: absolute;  margin-top: 30px;  left: 0;  background-color:#fff;   color:#000;  padding:5px 10px;}
.rangeslider .right{ position: relative; float: right; margin-right: -5px;}

/* autocomplete communes */
.light-autocomplete-list ul { background-color:#FFF; color:#666; }
.light-autocomplete-list ul > li { color:#666; cursor: pointer; }
.bridge-input-geolocation .autoComplete_wrapper > input { width: 100%; height: 40px; }
.bridge-input-geolocation button.bridge_get_user_location { height: 40px; line-height: 20px;    padding: 10px 20px; }

/* Calendrier */
.calendar .button{background-color:#E81F22;color:#fff; border-radius:0}
.mc-calendar{z-index: 99999 !important;}
.mc-calendar .mc-table__weekday{color: #000;}
/* Passer l'un en dessous de l'auter lorsque les calendriers sont dans une petite colonne */
.bridge-liste > .uk-width-1-4\@m .bridge-calendar.uk-flex { flex-direction: column; }
.bridge-liste > .uk-width-1-4\@m .bridge-calendar.uk-flex > div.uk-margin-left { margin-top: 5px; margin-left:0 !important; }

/* Tableau capcités salles de reunion */
.bridge-table-capacites-salles th { vertical-align: middle; text-align: center; }
.bridge-table-capacites-salles th:first-child { text-align: left; }
.bridge-table-capacites-salles svg { width:30px !important; height: auto !important;}
.bridge-table-capacites-salles .bridge-salle-capacite { text-align: center; }
.bridge-table-capacites-salles .bridge-salle-nom { font-weight: bold; }

/* Fitres actifs */
.bridgeActiveFilter { display:inline-block; margin-right: 10px; padding: 5px 10px; margin-top: 10px; }
.bridgeActiveFilter .bridgeActiveFilterLabel { margin-right:10px; }
/* La croix de suppression est un <button> (atteignable au clavier) : on neutralise
   l'apparence native du bouton sans toucher à la fonte des icônes Font Awesome. */
.bridgeActiveFilter .bridgeActiveFilterRemove { cursor:pointer; padding:0px; margin:0; background:none; border:0; color:inherit; font-size:inherit; line-height:inherit; }
.bridgeActiveFilter .bridgeActiveFilterRemove:hover { cursor:pointer; color: #3f0b16; }
.bridgeActiveFilter .bridgeActiveFilterRemove:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }


/* Image de filtre */
.bridge-engine-image-container > img,
.bridge-engine-image-container > svg,
.bridge-engine-image { height: 1em !important; margin-right:0.5em;width:auto; }

/* Types de filtres */


/* Radio Button */
.bridge-filter-radiobutton {margin: 0 0 1.5rem;box-sizing: border-box;font-size: 0;display: -webkit-box;display: flex;-webkit-box-orient: horizontal;-webkit-box-direction: normal;flex-flow: row nowrap;-webkit-box-pack: start;justify-content: flex-start;-webkit-box-align: stretch;align-items: stretch;}
.bridge-filter-radiobutton input {width: 0;height: 0;position: absolute;left: -9999px;}
.bridge-filter-radiobutton input + label {margin: 0;padding: 0.75rem 2rem;box-sizing: border-box;position: relative;display: inline-block;border: solid 1px #ddd;background-color: #fff;font-size: 1rem;line-height: 140%;font-weight: 600;text-align: center;box-shadow: 0 0 0 rgba(255, 255, 255, 0);-webkit-transition: border-color 0.15s ease-out, color 0.25s ease-out, background-color 0.15s ease-out, box-shadow 0.15s ease-out;transition: border-color 0.15s ease-out, color 0.25s ease-out, background-color 0.15s ease-out, box-shadow 0.15s ease-out;/* ADD THESE PROPERTIES TO SWITCH FROM AUTO WIDTH TO FULL WIDTH */
    /*flex: 0 0 50%; display: flex; justify-content: center; align-items: center;*/
    /* ----- */
}
.bridge-filter-radiobutton input + label:first-of-type {border-radius: 6px 0 0 6px;border-right: none;}
.bridge-filter-radiobutton input + label:last-of-type {border-radius: 0 6px 6px 0;border-left: none;}
.bridge-filter-radiobutton input:hover + label {border-color: #213140;}
.bridge-filter-radiobutton input:checked + label {background-color: #4b9dea;color: #fff;box-shadow: 0 0 10px rgba(102, 179, 251, 0.5);border-color: #4b9dea;z-index: 1;}
.bridge-filter-radiobutton input:focus + label {outline: dotted 1px #ccc;outline-offset: 0.45rem;}
@media (max-width: 800px) {.bridge-filter-radiobutton input + label {    padding: 0.75rem 0.25rem;    -webkit-box-flex: 0;    flex: 0 0 50%;    display: -webkit-box;    display: flex;    -webkit-box-pack: center;    justify-content: center;    -webkit-box-align: center;    align-items: center;}
}

/* Fin radio button */

/* On / Off */
.bridge-filter-onoff label {display: inline-flex;align-items: center;cursor: pointer;}
.bridge-filter-onoff .bridge-label {margin-left: 8px;}
.bridge-onoff-toggle {isolation: isolate;position: relative;height: 24px;width: 48px;border-radius: 15px;background: #d6d6d6;overflow: hidden;}
.bridge-onoff-toggle-inner {z-index: 2;position: absolute;top: 1px;left: 1px;height: 22px;width: 46px;border-radius: 15px;overflow: hidden;}
.bridge-onoff-active-bg {position: absolute;top: 0;left: 0;height: 100%;width: 200%;background: #003dda;transform: translate3d(-100%, 0, 0);transition: transform 0.05s linear 0.17s;}
.bridge-onoff-toggle-state {display: none;}
.bridge-onoff-indicator {height: 100%;width: 200%;background: white;border-radius: 13px;transform: translate3d(-75%, 0, 0);transition: transform 0.35s cubic-bezier(0.85, 0.05, 0.18, 1.35);}
.bridge-onoff-toggle-state:checked ~ .bridge-onoff-active-bg {transform: translate3d(-50%, 0, 0);}
.bridge-onoff-toggle-state:checked ~ .bridge-onoff-toggle-inner .bridge-onoff-indicator {transform: translate3d(25%, 0, 0);}
/* fin on / off */

/* checkbox button */
ul.bridge-checkbuttons-list {list-style: none;padding: 20px;}
ul.bridge-checkbuttons-list li{display: inline;}
ul.bridge-checkbuttons-list li label{display: inline-block;background-color: rgba(255, 255, 255, .9);border: 2px solid rgba(139, 139, 139, .3);color: #adadad;border-radius: 25px;/* white-space: nowrap; */margin: 3px 0px;-webkit-touch-callout: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-tap-highlight-color: transparent;transition: all .2s;}

ul.bridge-checkbuttons-list li label {padding: 8px 12px;cursor: pointer;}

ul.bridge-checkbuttons-list li label::before {display: inline-block;font-style: normal;font-variant: normal;text-rendering: auto;-webkit-font-smoothing: antialiased;font-family: "Font Awesome 6 Pro";font-weight: 900;font-size: 12px;padding: 2px 6px 2px 2px;content: "\f067";transition: transform .3s ease-in-out;}

ul.bridge-checkbuttons-list li input[type="checkbox"]:checked + label::before {content: "\f00c";transform: rotate(-360deg);    transition: transform .3s ease-in-out;}
ul.bridge-checkbuttons-list li input[type="checkbox"]:checked + label {border: 2px solid #1bdbf8;background-color: #12bbd4;    color: #fff;    transition: all .2s;}
ul.bridge-checkbuttons-list li input[type="checkbox"] {position: absolute;opacity: 0;}
ul.bridge-checkbuttons-list li input[type="checkbox"]:focus + label {border: 2px solid #e9a1ff;}
/* fin checkbox button */

/* Distance GPS */
.bridge-gps-distance { position:relative; margin-top: 0.5em; display:block; }
.bridge-gps-distance label { display:block; }

/* dropdown de citycombo */
.bridge-citycombo { width: 470%;max-width: 500%; }

/* dropdown de citycombodyn (text input + dropdown) */
.bridge-citycombodyn::-webkit-calendar-picker-indicator { display: none !important; }

/* Tris */
.bridge-sort .bridge-sort-bar { display: flex;align-items: center; margin-left:0; }
.bridge-sort .bridge-sort-bar > li:first-child { padding-left:0; }
.bridge-sort .bridge-sort-bar h5 { margin: 0px;color: #333; }
.bridge-sort .bridge-sort-element { display: flex;align-items: center; }
.bridge-sort .bridge-sort-btn { background-color: lightgrey;color: black;padding: 0.76rem 1rem;display: flex; }
.bridge-sort i { padding-left: 10px; }
.bridge-sort .bridge-sort-btn:hover { cursor: pointer; }
.bridge-sort .bridge-sort-btn.active { background-color: var( --bridge-primary-color,#1e87f0 ); color: #fff; transition: background 150ms ease-in-out; }
.bridge-sort .bridge-sort-btn:disabled { background-color: inherit; color: darkgrey; }
.bridge-sort .bridge-sort-btn:disabled:hover { cursor: initial; }
.bridge-sort .bridge-sort-direction { display: none; padding-left: 1rem; }

/* Tri sur mobile */
.bridge-sort-bar-dropdown i { line-height:1.25em; }


/* Fin des tris */

/* Liste SIT */
#mapsSIT { background-color: #EEE;}
.bridge-liste .bridge-body img,
.bridge-liste .bridge-body svg { height: 25px; }

.bridge-totals-side { padding: 15px 0px; font-weight:bold }

.bridge-liste .titre-de-la-fiche > h2,
.bridge-liste .titre-de-la-fiche > h3 { font-size: 1.25rem; margin-top:2px; margin-bottom:5px; }

.bridge-liste .ficheproduit .uk-card-default .uk-card-footer { border:none; }
.bridge-liste .sous-titre { margin-top:8px; margin-bottom:16px; }

.bridge-liste .pictogrammes i { font-size:1.5em; color:#FFF; }

.bridge-liste .card-media,
.bridge-liste .list-media { background-size:cover; background-repeat:no-repeat; background-position: center center; }

.bridge-liste.liste1 #mapsSIT,
.bridge-liste.liste2 #mapsSIT {height:80vh;}

.bridge-liste.liste6 .uk-dropdown .bridge-filter-checkbox label,
.bridge-liste.liste7 .uk-dropdown .bridge-filter-checkbox label{margin:3px 0}

.bridge-liste.liste8 .bridge-toolbar button,
.bridge-liste.liste9 .bridge-toolbar button { cursor: pointer; padding: 0.5em 1em; margin: 0 5px 0 5px;}
.bridge-liste.liste8 .bridge-toolbar button:disabled,
.bridge-liste.liste9 .bridge-toolbar button:disabled { cursor: not-allowed;}
.bridge-liste.liste8 .zone-moteur .bridgeActiveFiltersDivSection,
.bridge-liste.liste8 .zone-moteur .bridgeActiveFilter,
.bridge-liste.liste9 .zone-moteur .bridgeActiveFiltersDivSection,
.bridge-liste.liste9 .zone-moteur .bridgeActiveFilter { display: none;}
.bridge-liste.liste9 .bridge-toolbar .bridgeActiveFiltersDiv  { margin-left: 10px; }

/* Vue liste / carte */
.bridgeListeToggleContentContainer > div { transition: all linear .2s; }
.bridgeListeToggleContentContainer.view-list .bridge-toggling-map-container { width: 0;  padding: 0; }
/* .bridgeListeToggleContentContainer.view-list .liste_sit_item { width: 25%; } */
.bridgeListeToggleContentContainer.view-maps .bridge-toggling-map-container { width: 100%; }
.bridgeListeToggleContentContainer.view-maps .bridge-toggling-list-container { width: 0; max-width: 0; height: 0; }
.bridgeListeToggleContentContainer.view-maps .bridge-toggling-list-container .liste_sit_item {  display: none; }

/* On passe .bridge-quick-search .bridge-moteur-section > div .subsection à 100% de largeur en mobile */
@media ( max-width:800px ) {
    .bridgeListeToggleContentContainer .bridge-toggling-map-container { width: 0;  padding: 0; }
}


/* Bouton carnet */
.bridge-cv-button-container { top:10px; right:10px; width: auto !important; }
.add-to-cv-button { padding: 0.5em ; }
.add-to-cv-button .isInCV  { display:none; }
.add-to-cv-button[disabled] .isInCV { display:block; }
.add-to-cv-button[disabled] .notInCV { display:none; }

/* Bouton Full screen */
.bridgeFsButton { background-color:#FFFFFF; position: absolute; top:5px; right:5px; width:26px; height:26px; background-image:url(../img/fullscreen.png); background-position: 0% 0%; padding:0px; background-repeat:no-repeat;  }
.bridgeFsButton.bridgeIsFullScreen { background-position: 0% 100%;  }
/* cards */
.bridge-liste .ficheproduit.cards1 .bridge-body img, .bridge-liste .ficheproduit.cards1 .bridge-body svg,
.bridge-liste .ficheproduit.cards2 .bridge-body img, .bridge-liste .ficheproduit.cards2 .bridge-body svg,
.bridge-liste .ficheproduit.cards3 .bridge-body img, .bridge-liste .ficheproduit.cards3 .bridge-body svg {  height: 20px; }

.bridge-liste .ficheproduit.cards1 .bridge-body img, .bridge-liste .ficheproduit.cards1 .card-footer svg,
.bridge-liste .ficheproduit.cards2 .bridge-body img, .bridge-liste .ficheproduit.cards2 .card-footer svg,
.bridge-liste .ficheproduit.cards3 .bridge-body img, .bridge-liste .ficheproduit.cards3 .card-footer svg {  height: 1em; }

.bridge-liste .ficheproduit.cards1 .pictogrammes,
.bridge-liste .ficheproduit.cards2 .pictogrammes,
.bridge-liste .ficheproduit.cards3 .pictogrammes { position:absolute;right:0;top:0; padding-top:8px; padding-right:8px; width:55px;overflow: hidden;height: 100%;text-align: right;background: linear-gradient(270deg, rgba(51,51,51,1) 0%, rgba(255,255,255,0) 100%);}

.bridge-liste .ficheproduit.cards1 .pictogrammes .blockItem,
.bridge-liste .ficheproduit.cards2 .pictogrammes .blockItem,
.bridge-liste .ficheproduit.cards3 .pictogrammes .blockItem  { display:inline-block; margin-top:8px; }

.bridge-liste .ficheproduit.cards1 .pictogrammes img, .bridge-liste .ficheproduit.cards1 .pictogrammes svg,
.bridge-liste .ficheproduit.cards2 .pictogrammes img, .bridge-liste .ficheproduit.cards2 .pictogrammes svg,
.bridge-liste .ficheproduit.cards3 .pictogrammes img, .bridge-liste .ficheproduit.cards3 .pictogrammes svg { height:25px; margin-top:6px;  }

.bridge-liste .ficheproduit.cards1 .info-1,
.bridge-liste .ficheproduit.cards2 .info-1,
.bridge-liste .ficheproduit.cards3 .info-1 { position:absolute;left:8px;top:8px; background-color:#666; color:#FFF; font-size:0.9em; padding:3px 10px; }

.bridge-liste .ficheproduit.cards1 .info-2,
.bridge-liste .ficheproduit.cards2 .info-2,
.bridge-liste .ficheproduit.cards3 .info-2 { position:absolute;left:8px;bottom:8px; background-color:#666; color:#FFF; font-size:0.9em; padding:3px 10px; }


/*
.bridge-liste .ficheproduit.cards1 .card-footer,
.bridge-liste .ficheproduit.cards2 .card-footer,
.bridge-liste .ficheproduit.cards3 .card-footer { min-height:4em; }
*/


/* Cards image */
.bridge-liste .cardsimage1 .pictogrammes .blockItem,
.bridge-liste .cardsimage2 .pictogrammes .blockItem,
.bridge-liste .cardsimage3 .pictogrammes .blockItem  { margin-left:8px; }

.bridge-liste .uk-overlay-primary { background-color:rgba(0,0,0,.35); }
.bridge-liste .cardsimage1 h3 { font-size:20px;margin-bottom:5px; }
.bridge-liste .cardsimage1 h4 { font-size:16px;margin-bottom:5px;margin-top:0; }
.bridge-liste .cardsimage4 {height:600px;}

.bridge-liste .cardsimage1 > img,
.bridge-liste .cardsimage2 > img,
.bridge-liste .cardsimage3 > img,
.bridge-liste .cardsimage4 > img {height:100% !important; width:100% !important; }

/* Cards Agenda */
.bridge-liste .cardsagenda1 .pictogrammes,
.bridge-liste .cardsagenda2 .pictogrammes,
.bridge-liste .cardsagenda3 .pictogrammes{position: absolute;top:10px; left:10px; max-width: 75%}
.bridge-liste .cardsagenda1 .bridge-block-info1{position:relative;margin-top:-30px;}
.bridge-liste .cardsagenda2 .bridge-block-info1{position:relative;margin-top:-30px;}
.bridge-liste .cardsagenda3 .bridge-block-info1{position:relative;margin-top:0;}

/* Carousel */
.bridge-liste.carousel > ul > li,
.bridge-liste.carousel > div > li { list-style:none; }

/* Pagination */
/* .bridge-pagination .uk-pagination-previous { border: #AAA 1px solid; text-align: center; height:2.5em; width:2.5em; padding: 0.5em; margin:5px; display:inline-block; }*/
.bridge-pagination .bridge-pagination-link { border: #AAA 1px solid; text-align: center; line-height:1.7em; width:2.5em; margin:5px;  display:inline-block;  }
.bridge-pagination .nolink span { text-align: center; line-height:1.7em; width:2em; margin:5px -5px;  display:inline-block;  }
.bridge-pagination .uk-active .bridge-pagination-link { background-color: var( --bridge-primary-color,#1e87f0 ); color: #FFF; }
.bridge-pagination .uk-disabled { color: #999; }

/**
 * Spinner de l'infinite scroll
 */
.bridge-view-more-button-container { margin:2em auto 1em auto; display:none; }
.bridge-view-more-button { margin:auto; display:none; }
.scroll-status { opacity:0; margin-top:20px;  padding-top: 20px;  text-align: center;  color: #777; }
.scroll-status .loader-ellips {  font-size: 20px; /* change size here */  position: relative;  width: 4em;  height: 1em;  margin: 10px auto; }
.scroll-status .loader-ellips__dot {  display: block;  width: 1em;  height: 1em;  border-radius: 0.5em;  background: #555; /* change color here */  position: absolute;  animation-duration: 0.5s;  animation-timing-function: ease;  animation-iteration-count: infinite; }
.scroll-status .loader-ellips__dot:nth-child(1), .scroll-status.loader-ellips__dot:nth-child(2) {  left: 0; }
.scroll-status .loader-ellips__dot:nth-child(3) { left: 1.5em; }
.scroll-status .loader-ellips__dot:nth-child(4) { left: 3em; }
@keyframes reveal {
    from { transform: scale(0.001); }
    to { transform: scale(1); }
}

@keyframes slide {
    to { transform: translateX(1.5em) }
}

.scroll-status .loader-ellips__dot:nth-child(1) {  animation-name: reveal; }
.scroll-status .loader-ellips__dot:nth-child(2),.loader-ellips__dot:nth-child(3) {  animation-name: slide;}
.scroll-status .loader-ellips__dot:nth-child(4) {  animation-name: reveal;  animation-direction: reverse; }

.bridge_iframe_fiche { display:none; width:100%; border:0; }

/* Fiches SIT */
.bridge-fiche a.uk-button-primary,
.bridge-fiche a.uk-button-primary:hover { color:#FFFFFF; }

.bridge-fiche .pictogrammes,
.bridge-fiche .infos-supplementaires-1,
.bridge-fiche .infos-supplementaires-2,
.bridge-fiche .infos-supplementaires-3,
.bridge-fiche .infos-supplementaires-4,
.bridge-fiche .infos-supplementaires-4 {
    margin-top: 2em;
    margin-bottom: 2em;
}

.bridge-fiche.fiche-shortcode .pictogrammes,
.bridge-fiche.fiche-shortcode .infos-supplementaires-1,
.bridge-fiche.fiche-shortcode .infos-supplementaires-2,
.bridge-fiche.fiche-shortcode .infos-supplementaires-3,
.bridge-fiche.fiche-shortcode .infos-supplementaires-4,
.bridge-fiche.fiche-shortcode .infos-supplementaires-4 {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
}

.bridge-fiche .bridge-titre-fiche img,
.bridge-fiche .bridge-titre-fiche svg { height: 1em; width: auto; }

.bridge-fiche .bridge-fiche-content.uk-padding { padding-top: 0px; }
/*.bridge-fiche .pictogrammes,*/
.bridge-fiche .pictogrammes div,
.bridge-fiche .pictogrammes span { height: 30px; line-height: 30px; }
.bridge-fiche .pictogrammes img,
.bridge-fiche .pictogrammes svg { height:30px; width: auto; margin-left: 10px; display: block; }
.bridge-fiche .pictogrammes span { display: inline-block; height: 30px; line-height:30px; }

.bridge-fiche .uk-divider-icon { background-color:transparent; }
.bridge-fiche .phone {padding:0}
.bridge-fiche a.phone { cursor: pointer; }
.fiches_associees_carte { width: 100%; min-height: 300px; }
.fiches_a_proximite_carte { width: 100%; min-height: 300px; }
.bridge-credit-photo {left:15px; bottom:15px;background-color:#fff;padding:5px; border-radius:15px;}

/* Fiches 1  */
.bridge-fiche.fiche-1 .bridge-fiche-aside { top: -240px; }
.bridge-fiche.fiche-1 h1, .bridge-fiche.fiche-1 .uk-h1{text-shadow:0 0 20px rgba(0,0,0,.75);}
@media (max-width: 960px) {
    .bridge-fiche.fiche-1 .bridge-fiche-aside {  top: 0px ;}
}

/* fiche 3 */
.fiche-3 .uk-section-secondary .leaflet-control-zoom > a { color: #000; }

/* Fiche 4 */
.fiche-4 .infos-supplementaires-3 svg,
.fiche-4 .infos-supplementaires-3 img { height: 55px; width: auto; }

/* Fiche 5 */
.fiche-5 .sommaire .uk-navbar-nav{gap:0;flex-wrap: wrap}
.fiche-5 .sommaire .uk-navbar-nav>li>a{padding:10px 20px 10px 0;min-height: auto; font-size:16px;font-weight: inherit;}

/* Fiche 7 */
.bridge-fiche.fiche-7 .pictogrammes img,
.bridge-fiche.fiche-7 .pictogrammes svg { height:50px; width: auto; margin-left: 0; display: block; }

.bridge-fiche.fiche-7 .pictogrammes .blockSection { padding: 0;}
.bridge-fiche.fiche-7 .classements-labels.pictogrammes   { margin: 0.5em 0 1em 0;}
.bridge-fiche.fiche-7 .pictogrammes div, .bridge-fiche.fiche-7 .pictogrammes span { height: auto; line-height: 1.3em;  }
.bridge-fiche.fiche-7 .pictogrammes .blockSection, .bridge-fiche.fiche-7 .pictogrammes .blockItem { height: 50px; line-height: 1.3em; }

.fiche-7 .bridge-fiche-aside .bridge-titre-fiche svg,
.fiche-7 .bridge-fiche-aside .bridge-titre-fiche img,
.fiche-7 .bridge-fiche-aside .infos-supplementaires-1 svg,
.fiche-7 .bridge-fiche-aside .infos-supplementaires-1 img,
.fiche-7 .bridge-fiche-aside .bridge_infos_pratiques svg,
.fiche-7 .bridge-fiche-aside .bridge_infos_pratiques img,
.fiche-7 .bridge-fiche-aside .infos-supplementaires-3 svg,
.fiche-7 .bridge-fiche-aside .infos-supplementaires-3 img,
.fiche-7 .bridge-fiche-aside .pictogrammes svg,
.fiche-7 .bridge-fiche-aside .pictogrammes img { height: 30px; width: auto; }

.fiche-7 .bridge-fiche-aside .uk-description-list{list-style: none; padding:0; margin:0;}

.bridge-fiche.fiche-7 .infos-supplementaires-1, .bridge-fiche.fiche-7 .infos-supplementaires-2 { margin-top: 0.5em; margin-bottom: 0.5em; }

.fiche-7 .bridge-fiche-sommaire ul { display: flex; flex-direction: row; flex-wrap: wrap; align-content: center; justify-content: flex-start; align-items: center; }
.fiche-7 .bridge-fiche-sommaire ul li { margin: 10px 20px 5px 0; padding: 0.7rem 1.5rem; border: 1px solid #CCC; border-radius: 5px; }

.fiche-7 .pictogrammes .blockSection,
.fiche-7 .pictogrammes .blockSection .blockItem,
.fiche-7 .infos-supplementaires-1 .blockSection,
.fiche-7 .infos-supplementaires-1 .blockSection .itemTextValue,
.fiche-7 .infos-supplementaires-2 .blockSection,
.fiche-7 .infos-supplementaires-2 .blockSection .itemTextValue,
.fiche-7 .infos-supplementaires-3 .blockSection,
.fiche-7 .infos-supplementaires-3 .blockSection .itemTextValue,
.fiche-7 .infos-supplementaires-4 .blockSection .itemTextValue,
.fiche-7 .infos-supplementaires-4 .blockSection { display:flex !important; flex-direction: row; flex-wrap: wrap; gap: 5px; align-items: center;    }

/* Fiche itineraire */
.fiche-itineraire .infos-supplementaires-1 svg,
.fiche-itineraire .infos-supplementaires-1 img { height: 30px; }

.bridge_video, .plyr--video { margin-top: 1em; margin-bottom: 1em; }
.bridge_video iframe {
    aspect-ratio: 16 / 9; /* Pour forcer le ratio et éviter d'avoir des shorts Youtube portrait ultra long */
}

/* Composant date texte */
.composant-dates-texte .bridge_horaire { margin-top:1.5em; }
.composant-dates-texte .bridge_horaire .bridge_horaires { padding-left:3em; }

/* Carte interactive */
.bridge-map-legend-mobile{position: absolute !important;max-height: 100% !important;}

/* Loader */
.bridge-loader {    position:absolute;    left:0;    top:0;    z-index:9999;    width:100%;    height:100%;    background-color:rgba(0,0,0,0.8);}
.bridge-loader-content {    display:block;    margin:10% auto auto auto;    width: 80px;    height: 80px;}
.bridge-loader .lds-ring {    display: inline-block;    position: relative;    width: 80px;    height: 80px;}
.bridge-loader .lds-ring div {    box-sizing: border-box;    display: block;    position: absolute;    width: 64px;    height: 64px;    margin: 8px;    border: 8px solid #fff;    border-radius: 50%;    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;    border-color: #fff transparent transparent transparent; }
.bridge-loader .lds-ring div:nth-child(1) {    animation-delay: -0.45s; }
.bridge-loader .lds-ring div:nth-child(2) {    animation-delay: -0.3s; }
.bridge-loader .lds-ring div:nth-child(3) {    animation-delay: -0.15s; }
@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


@media (max-width:768px){
   .liste6 .bridge-sort {display: block;}
   .liste6 .bridge-sort .bridge-moteur-section{width:100%;}
   .liste6 .bridge-sort .bridge-moteur-section a{width:100%;margin-left:0 !important; margin-top:10px}
}

.bridge-disabled {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}
.bridge-hidden {
    display: none !important;
}


/* CARTOGRAPHIE INTERACTIVE */

/* la carte Leaflet doit toujours avoir une hauteur définie */
.bridge-carte {
    width: 100%;
}
/* Fin Map */
/* ====== */

/* ====== */
/* Templates de carte */
.bridge-map-container {
    width: 100%;
    height: 100%;
}

.bridge-map {
    width: 100%;
    height: 100%;
}
.bridge-map .leaflet-pane{z-index:20 !important}

.entry-content .bridge-map a, .bridge-map-popup-content a {
    text-decoration: none;
}

/* Spinner */
.bridge-map-spinner {
    display:flex;
    justify-content: center;
    align-items: center;
}
.bridge-map-spinner.uk-icon.uk-spinner {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-content: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.5);
}

/* Bouton d'affichage de la légende (dont overrides UIKit) */
.bridge-map-legend-show-mobile.uk-overlay,
.bridge-map-legend-show.uk-overlay {
    z-index: 600;
    display: none;
    padding: 20px;
    height: fit-content;
    background-color: #FFF;
    border-radius: 30px;
    font-size: x-large;
}
@media (max-width:968px){
    .bridge-map-legend-show-mobile{display:block !important;}
}
/* Fin Templates de carte */
/* ====== */

/* ====== */
/* Legend */

.bridge-map-legend .uk-card {
    max-height: 90vh;
    overflow: auto;
}

.bridge-map-legend .uk-card::-webkit-scrollbar {
    width: 10px;
}
.bridge-map-legend .uk-card::-webkit-scrollbar-track {
    background-color: darkgrey;
}
.bridge-map-legend .uk-card::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.bridge-map-legend:hover {
    cursor: default;
}

/* override de UIKit */
.bridge-map-legend.uk-overlay {
    z-index: 600;
    padding: 10px;
    width: 30%;
    max-width: 350px;
}

.bridge-map-legend-carte1, .bridge-map-legend-carte2 {
    max-height: 80vh;
}

.bridge-map-legend-carte3, .bridge-map-legend-carte4 {
    max-height: 90vh;
}

/* ====== */
/* Header de la légende */

.bridge-map-legend-title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

/* Intitulé de la légende */
.bridge-map-legend-title h3 {
    width: auto;
    margin: auto;
    margin-bottom: 0;
}

/* Bouton pour masquer la légende */
.bridge-map-legend-hide {
    font-size: x-large;
    align-self: baseline;
}

/* Fin Header de la légende */
/* ====== */

/* ======= */
/* Items de la légende */

.bridge-map-item, .bridge-map-subitem {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}

.bridge-map-item {
    max-width: 100%;
}

.bridge-map-subitem {
    font-size: 1.2em;
    padding: 0.4em 0.4em 0.4em 0.8em;
    font-family:
            -apple-system,BlinkMacSystemFont,
            "Segoe UI",
            Roboto,
            "Helvetica Neue",
            Arial,
            "Noto Sans",
            sans-serif;
}

.bridge-map-item:hover, .bridge-map-subitem:hover, .bridge-map-legend-hide:hover, .bridge-map-legend-show:hover {
    cursor: pointer;
}

.bridge-map-item.active, .bridge-map-subitem.active {
    background-color: lightgrey;
    border-radius: 5px;
}

/* overrides de UIKit */
.bridge-map-item.uk-accordion-title {
    display: flex;
    align-items: center;
    margin-top: 10px;
}
.uk-accordion-title::before {
    display: none;
}
.uk-accordion div {
    margin-top: 0px;
}

.bridge-map-item-text {
    display: flex;
    align-items: center;
}

.bridge-map-subitem-text {
    flex-grow: 1;
}

/* Icônes des items dans la légende */
.bridge-map-legend-icon {
    width: auto;
    margin-right: 10px;
    max-height: 30px;
    max-width: 30px;
}

/* Intitulé des items */
.bridge-map-item-label {
    margin-bottom: 0;
}

/* Nombre de fiches associées à l'item */
.bridge-map-subitem-count, .bridge-map-item-count {
    margin-left: 30px;
    border: 1px solid black;
    border-radius: 50%;
    text-align: center;
    align-self: center;
    height: 30px;
    width: 30px;
    font-size:0.6em;
    line-height: 30px;
}
.bridge-map-item-count {
    /* height: 30px;
    width: 35px; */
    font-size: initial;
}

/* Items catégories */
.bridge-map-item.category .bridge-map-item-line {
    height: 1px;
    width: 100%;
    margin-left: 15%;
}

/* Items non-catégories */
.bridge-map-item.not-category .bridge-map-item-label {
    margin-top: unset;
}



/* ======= */
/* Pop-ups */

/* Titre de la fiche */
.bridge-map-popup-content h3 {
    font-weight: bold;
}

/* Lignes d'informations supplémentaires */
.bridge-map-popup-info {
    margin-top: 5px;
}
a.bridge-map-popup-info-item {
    color: #333!important;
}
a.bridge-map-popup-info-item:hover {
    background-color: lightgrey;
    border-radius: 30px;
    padding: 0 5px 0 5px;
    margin: 0 -5px 0 -5px;
}

/* Bouton En savoir plus */
.bridge-map-popup-permalink.uk-button {
    text-transform: inherit;
    color: #fff;
}
.bridge-map-popup-permalink.uk-button:hover {
    background-color: #f8f8f8;
    color: #222;
    border: 1px solid #222;
}

/* Icônes des boutons liens */
.bridge-map-popup-icon {
    color: black;
}

/* Pour afficher correctement les icônes Font Awesome de type Solid (.fas) */
.bridge-map-popup-icon.fas {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
}

/* ====== */
/* Styles spécifiques à chaque template de pop-up */

/* Popup1 */
.bridge-map-popup1 .bridge-map-popup-btn-group {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.bridge-map-popup1 .bridge-map-popup-btn-group a {
    border: 1px solid black;
    border-radius: 50%;
    height: 30px;
    width: 30px;
    padding-top: 5px;
}

/* popup3 */
.bridge-map-popup3 .bridge-map-popup-titles, .bridge-map-popup3 .bridge-map-popup-grid.uk-grid {
    padding: 0px 15px;
}
.bridge-map-popup3 .bridge-map-popup-btn-group, .bridge-map-popup4 .bridge-map-popup-btn-group {
    padding: 15px 0px 0px 0px;
    margin-left: -15px;
    margin-right: -15px;
}

/* popup4 */
.bridge-map-popup4 .bridge-map-popup-permalink {
    margin-bottom: 10px;
}

/* popup5 */
.bridge-map-popup5 h3 {
    margin-bottom: 0px;
}
.bridge-map-popup5 .bridge-map-popup-surtitre {
    margin-bottom: 20px;
}

/* FIN CARTO */

/* ------------------------------------------------------------------ */
/* Contrainte de base des images de fiche                              */
/* Reproduit le « img { max-width:100% } » habituellement fourni par   */
/* le thème (Elementor le posait implicitement) et absent de certains  */
/* thèmes FSE comme Twenty Twenty-Four → les galeries débordaient.     */
/* Exclusions :                                                        */
/*  - .uk-cover : images en mode « cover » UIkit (slideshow, grille)   */
/*    qui doivent pouvoir dépasser leur conteneur ;                    */
/*  - [height]  : images à hauteur fixe (icônes réseaux/téléphone) ;   */
/*  - les images Leaflet sont déjà protégées par leur propre           */
/*    max-width:none !important, la carte n'est donc pas affectée.     */
/* ------------------------------------------------------------------ */
.bridge-fiche img:not(.uk-cover):not([height]) {
    max-width: 100%;
    height: auto;
}

/* ------------------------------------------------------------------ */
/* Recherche dans la zone de la carte (cartes de liste uniquement)      */
/* ------------------------------------------------------------------ */
.bridge-area-search {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    max-width: calc(100% - 100px);
    /* le conteneur laisse passer les interactions avec la carte, pas les boutons */
    pointer-events: none;
}

.bridge-area-search-row {
    display: flex;
    align-items: stretch;
    max-width: 100%;
}

.bridge-area-search button {
    pointer-events: auto;
    margin: 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background-color: #fff;
    color: #333;
    font-size: 0.75rem;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
    border-radius: 4px;
    transition: background-color 0.15s ease-in-out;
}

.bridge-area-search button:hover {
    background-color: #f4f4f4;
}

.bridge-area-search button:focus-visible {
    outline: 2px solid #0461FE;
    outline-offset: 2px;
}

.bridge-area-search.is-busy button {
    opacity: 0.6;
    cursor: progress;
}

.bridge-area-search-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    text-align: left;
}

/* Interrupteur du mode « suivre la carte » */
.bridge-area-search-switch {
    flex: 0 0 auto;
    position: relative;
    display: inline-block;
    width: 28px;
    height: 16px;
    border-radius: 8px;
    /* contraste >= 3:1 avec le fond blanc du bouton (WCAG 1.4.11) */
    background-color: #8a8a8a;
    transition: background-color 0.15s ease-in-out;
}

.bridge-area-search-switch::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #fff;
    transition: transform 0.15s ease-in-out;
}

.bridge-area-search.is-auto .bridge-area-search-switch {
    background-color: #0461FE;
}

.bridge-area-search.is-auto .bridge-area-search-switch::after {
    transform: translateX(12px);
}

.bridge-area-search-clear {
    flex: 0 0 auto;
    width: 30px;
    padding: 0;
    margin-left: 4px;
    font-size: 1.1rem;
    line-height: 1;
}

.bridge-area-search-run {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    font-weight: 600;
}

.bridge-area-search-icon {
    flex: 0 0 auto;
}

.bridge-area-search.is-busy .bridge-area-search-icon {
    animation: bridge-area-search-spin 1s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    .bridge-area-search.is-busy .bridge-area-search-icon {
        animation: none;
    }

    .bridge-area-search-switch,
    .bridge-area-search-switch::after,
    .bridge-area-search button {
        transition: none;
    }
}

/* Region de statut : lue par les lecteurs d ecran, invisible a l ecran */
.bridge-area-search-status {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.bridge-area-search button[aria-disabled="true"] {
    opacity: 0.6;
    cursor: progress;
}

@keyframes bridge-area-search-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 640px) {
    .bridge-area-search {
        max-width: calc(100% - 80px);
    }

    .bridge-area-search button {
        font-size: 0.7rem;
    }

    .bridge-area-search-toggle {
        padding: 6px 10px;
    }
}

/* ==========================================================================
   Accessibilité des liens de fiche (listes et fiches associées)
   Le lien vers la fiche est porté par le titre, qui en fournit l'intitulé
   (RGAA 6.1/6.2, WCAG 2.4.4 et 4.1.2). Le lien couvrant la carte ne reste
   qu'une surface de clic pour la souris, retirée de l'arbre d'accessibilité.
   ========================================================================== */

/* Le titre garde son apparence de titre : pas d'aspect « lien ».
   display: block est nécessaire, pas cosmétique : le rendu du bloc titre
   encapsule le libellé dans un <div>, donc dans un élément de niveau bloc. Un
   lien resté en ligne autour d'un bloc voit ses boîtes fragmentées, ce qui
   morcelle l'outline de focus et empêche le soulignement de se propager. */
.bridge_link_fiche_titre {
    display: block;
    color: inherit;
    text-decoration: none;
}

/* Le titre passe au-dessus du lien couvrant : survol, clic et sélection du
   texte atteignent directement le lien porteur de l'intitulé. */
.ficheproduit .titre-de-la-fiche,
.ficheasso .uk-card-title {
    position: relative;
    z-index: 1;
}

/* Les commandes internes de la carte restent au-dessus du lien couvrant
   et du titre (bouton carnet, « Voir sur la carte »). */
.ficheproduit .uk-position-z-index,
.ficheproduit .bridge-cv-button-container,
.ficheproduit .zoom-on-click {
    z-index: 2;
}

/* Affordance de survol conservée sur toute la carte */
.ficheproduit:hover .bridge_link_fiche_titre,
.ficheasso .uk-card:hover .bridge_link_fiche_titre,
.bridge_link_fiche_titre:hover {
    text-decoration: underline;
}

/* Prise de focus clavier visible (RGAA 10.7, WCAG 2.4.7) */
.bridge_link_fiche_titre:focus-visible {
    outline: 2px solid #0461FE;
    outline-offset: 2px;
    text-decoration: underline;
}

/* Cas de repli : le lien couvrant est le lien accessible de la carte
   (gabarit sans titre). Outline rentrée pour rester visible malgré les
   débordements masqués. */
.bridge_link_fiche_cover:focus-visible {
    outline: 2px solid #0461FE;
    outline-offset: -4px;
}

/* Titre posé sur une photo (gabarits carteimage) : outline blanche, le bleu
   ne se détachant pas d'une image quelconque. Ciblage volontairement limité à
   l'overlay sombre : .uk-light enveloppe aussi des cartes blanches
   (fiches associées), où une outline blanche serait invisible. */
.uk-overlay-primary .bridge_link_fiche_titre:focus-visible {
    outline-color: #fff;
}

.ficheproduit.cardsimage1 .bridge_link_fiche_cover:focus-visible,
.ficheproduit.cardsimage2 .bridge_link_fiche_cover:focus-visible,
.ficheproduit.cardsimage3 .bridge_link_fiche_cover:focus-visible,
.ficheproduit.cardsimage4 .bridge_link_fiche_cover:focus-visible {
    outline-color: #fff;
}
