.elementor-2190 .elementor-element.elementor-element-8551a98{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2190 .elementor-element.elementor-element-82ac334{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-2190 .elementor-element.elementor-element-8b5f057 .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-2190 .elementor-element.elementor-element-8b5f057 .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-2190 .elementor-element.elementor-element-8b5f057{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2190 .elementor-element.elementor-element-8b5f057 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-2190 .elementor-element.elementor-element-42660c0 .elementor-icon-list-icon i{color:#00B6B6;transition:color 0.3s;}.elementor-2190 .elementor-element.elementor-element-42660c0 .elementor-icon-list-icon svg{fill:#00B6B6;transition:fill 0.3s;}.elementor-2190 .elementor-element.elementor-element-42660c0{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2190 .elementor-element.elementor-element-42660c0 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for text-editor, class: .elementor-element-207dc68 */.elementor-2190 .elementor-element.elementor-element-207dc68 a:hover {
    color: #0B1957;
    text-decoration: underline;
}
.elementor-2190 .elementor-element.elementor-element-207dc68 a {
    color: #FA9EBC;
    font-weight: 900;
    text-decoration: underline;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-822d9f9 */#hotspot-3181 .hotspot-assainissement-non-collectif-anc {
    fill: #31B7B6 !important;
    fill-opacity: 1 !important;
    stroke: black !important;
    stroke-opacity: 1 !important;
    stroke-width: 0.5 !important;
}

#hotspot-3181 .hotspot-assainissement-non-collectif-anc:hover {
    fill: #16E7E7 !important;
    fill-opacity: 1 !important;
    stroke: black !important;
    stroke-opacity: 1 !important;
    stroke-width: 0.5 !important;
}



#hotspot-3181 .hotspot-assainissement-collectif-ac-anc {
    fill: #FA9EBC !important;
    fill-opacity: 1 !important;
    stroke: black !important;
    stroke-opacity: 1 !important;
    stroke-width: 0.5 !important;
}

#hotspot-3181 .hotspot-assainissement-collectif-ac-anc:hover {
    fill: #FCC2D5 !important;
    fill-opacity: 1 !important;
    stroke: black !important;
    stroke-opacity: 1 !important;
    stroke-width: 0.5 !important;
}


/* --- TEXTE INTRO (h2 sur-titre, h3 titre principal) --- */
#content-hotspot-3181 h2 {
    font-family: "Comfortaa", Sans-serif;
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #1a2b5e !important;
    margin-bottom: 5px !important;
}

#content-hotspot-3181 h3 {
    font-family: "Josefin Sans", Sans-serif;
    font-size: 42px !important;
    font-weight: 900 !important;
    color: #1a2b5e !important;
    position: relative;
    display: inline-block;
    z-index: 1;
    margin-bottom: 25px !important;
}

#content-hotspot-3181 h3::after {
    content: "";
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 10px;
    background-color: #ff8da1;
    z-index: -1;
    opacity: 0.7;
}

/* --- BLOC INITIAL TRANSPARENT --- */
#content-hotspot-3181 .hotspot-initial {
    background: transparent !important;
    box-shadow: none !important;
    padding-left: 0 !important;
}

/* --- STRUCTURE GLOBALE --- */
#hotspot-3181 .hotspots-image-container,
#hotspot-3181 .leaflet-container {
    background-color: rgba(0, 0, 0, 0) !important;
}

#hotspot-3181 .hotspots-interaction {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
    width: 100% !important;
    max-width: 1400px;
    margin: 0 auto;
    gap: 5%;
}

#hotspot-3181 .hotspots-placeholder {
    flex: 0 0 35% !important;
    max-width: 35% !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
}

#hotspot-3181 .hotspots-image-container {
    flex: 0 0 60% !important;
    max-width: 60% !important;
}

#hotspot-3181 .hotspots-image,
#hotspot-3181 .leaflet-container {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1724 / 1294;
    background: transparent !important;
}

div#hotspot-hotspot-3181-0 {
    width: 100% !important;
}

div#content-hotspot-3181 {
    gap: 20px;
}

/* --- FICHE COMMUNE --- */
.hotspot-info .hotspot-thumb {
    height: 280px !important;
    overflow: hidden;
    border-radius: 8px;
}

.hotspot-info .hotspot-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.hotspot-info .hotspot-content {
    position: absolute !important;
    bottom: 10px;
    left: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: blur(10px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    z-index: 10;
}

.hotspot-info .hotspot-content p {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #1a2b5e !important;
    line-height: 1.5 !important;
    margin: 5px 0 !important;
}

.hotspot-info .hotspot-content p strong {
    color: #ff8da1 !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.5px;
    margin-right: 5px;
    display: inline-block;
}

.hotspot-info .hotspot-content a {
    color: #1a2b5e !important;
    text-decoration: underline;
}

.hotspot-info .hotspot-title {
    position: absolute !important;
    top: 15px;
    left: 20px;
    color: #ffffff !important;
    font-family: "Josefin Sans", Sans-serif;
    font-size: 24px !important;
    font-weight: 800 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
    z-index: 11;
}

/* --- VIGNETTE PAR DÉFAUT --- */
#content-hotspot-3181 .hotspot-initial .hotspot-content::after {
    content: "";
    display: block;
    width: 380px;
    height: 220px;
    margin-top: 30px;
    border-radius: 8px;
    background-image: url('https://doubsbaumois.org/wp-content/uploads/2025/09/4486ad60921d99b0fa9c9d57e73ecd309fcac19a-1-scaled.jpg');
    background-size: cover;
    background-position: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transition: opacity 0.3s;
}

#content-hotspot-3181:has(.hotspot-info.visible) .hotspot-initial .hotspot-content::after {
    display: none !important;
}

/* --- MOBILE --- */
@media (max-width: 991px) {
    #hotspot-3181 .hotspots-interaction { flex-direction: column !important; }
    #hotspot-3181 .hotspots-placeholder,
    #hotspot-3181 .hotspots-image-container { flex: 0 0 100% !important; max-width: 100% !important; }
    .hotspot-info.visible,
    #content-hotspot-3181 .hotspot-initial .hotspot-content::after { width: 100% !important; }
}

.hotspot-info .hotspot-title {
    position: absolute !important;
    top: 15px;
    left: 15px;
    color: #1a2b5e !important;
    font-family: "Josefin Sans", Sans-serif;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    padding: 6px 14px !important;
    border-radius: 20px !important;
    z-index: 11;
    text-shadow: none !important;
}/* End custom CSS */