.eliotec-locator-wrap{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
}
.eliotec-locator-map{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:320px;
    box-sizing:border-box!important;
    border-radius:12px;
    overflow:hidden;
    background:#f3f3f3;
    margin-left:0!important;
    margin-right:0!important;
}
.eliotec-locator-wrap *,
.eliotec-locator-wrap *::before,
.eliotec-locator-wrap *::after{
    box-sizing:border-box;
}
.et_pb_code_inner .eliotec-locator-wrap,
.et_pb_text_inner .eliotec-locator-wrap,
.et_pb_module .eliotec-locator-wrap,
.wp-block-shortcode .eliotec-locator-wrap,
.elementor-widget-shortcode .eliotec-locator-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}
.eliotec-locator-error,
.eliotec-locator-message{
    padding:14px;
    border:1px solid #d63638;
    background:#fff5f5;
    color:#8a2424;
}
.eliotec-info{
    font-size:14px;
    line-height:1.45;
}
.eliotec-info strong{
    font-size:15px;
}
.eliotec-info span{
    display:inline-block;
    margin-top:4px;
    font-weight:600;
}
.eliotec-locator-empty{
    position:absolute;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:5;
    background:#fff;
    padding:10px 12px;
    border-radius:8px;
    box-shadow:0 2px 12px rgba(0,0,0,.12);
    font-size:13px;
}
.eliotec-locator-loading{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#777;
    font-size:14px;
}
.eliotec-locator-legend{
    display:block;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:14px 0 0 0;
    background:#fff;
    border:1px solid rgba(0,0,0,.09);
    border-radius:12px;
    padding:14px;
    box-shadow:0 4px 18px rgba(0,0,0,.06);
    overflow:hidden;
}

.eliotec-locator-legend-items{
    display:flex;
    width:100%;
    max-width:100%;
    min-width:0;
    gap:12px;
    flex-wrap:wrap;
    align-items:center;
}
.eliotec-locator-legend-vertical .eliotec-locator-legend-items{
    display:block;
}
.eliotec-locator-legend-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-width:0;
    max-width:100%;
    background:#f8f8f8;
    border:1px solid rgba(0,0,0,.06);
    border-radius:999px;
    padding:6px 10px;
    margin:0 6px 6px 0;
    font-size:14px;
}
.eliotec-locator-legend-vertical .eliotec-locator-legend-item{
    display:flex;
    width:max-content;
    max-width:100%;
}
.eliotec-locator-legend-item img{
    width:20px;
    height:27px;
    display:block;
    flex:0 0 auto;
}
.eliotec-locator-legend-item span{
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
}


/*
 * Didascalia disattivata:
 * NON usiamo display:none.
 * Rimane nel layout con identiche dimensioni ma è completamente invisibile.
 * Questo mantiene lo stesso calcolo di larghezza del page builder.
 */
.eliotec-locator-legend-hidden{
    display:block!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    user-select:none!important;
}
.eliotec-locator-legend-empty{
    min-height:0;
}


/* ELIOTEC Locator 1.6.7 - responsive frontend */
@media (max-width:1024px){
    .eliotec-locator-map{
        border-radius:10px;
    }

    .eliotec-locator-legend{
        padding:12px;
    }

    .eliotec-locator-legend-items{
        gap:9px;
    }

    .eliotec-locator-legend-item{
        font-size:13px;
        padding:5px 9px;
        margin:0 4px 5px 0;
    }

    .eliotec-locator-legend-item img{
        width:18px;
        height:24px;
    }
}

@media (max-width:600px){
    .eliotec-locator-wrap,
    .eliotec-locator-map,
    .eliotec-locator-legend{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }

    .eliotec-locator-map{
        min-height:300px;
        border-radius:8px;
    }

    .eliotec-locator-legend{
        margin-top:10px;
        padding:10px;
        border-radius:8px;
    }

    .eliotec-locator-legend-items{
        gap:6px;
    }

    .eliotec-locator-legend-item{
        max-width:100%;
        font-size:12px;
        padding:5px 8px;
        margin:0 3px 4px 0;
    }

    .eliotec-locator-legend-item img{
        width:17px;
        height:23px;
    }

    .eliotec-info{
        max-width:230px;
        font-size:13px;
    }

    .eliotec-info strong{
        font-size:14px;
    }
}

.eliotec-locator-legend-title{margin:0 0 10px;font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.01em;color:#444}
@media (max-width:600px){.eliotec-locator-legend-title{margin-bottom:8px;font-size:12px}}


/* ELIOTEC Locator 1.7.1 - legenda interattiva */
.eliotec-locator-legend-help{
    margin:-4px 0 10px;
    font-size:12px;
    line-height:1.35;
    color:#6b6b6b;
}
button.eliotec-locator-filter-button{
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    font-family:inherit;
    color:inherit;
    text-align:left;
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
button.eliotec-locator-filter-button:hover{
    transform:translateY(-1px);
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}
button.eliotec-locator-filter-button.is-active{
    background:#fff;
    border-color:rgba(0,0,0,.28);
    box-shadow:0 0 0 2px rgba(0,0,0,.06);
    font-weight:700;
}
.eliotec-locator-reset-filter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:8px;
    padding:6px 11px;
    border:1px solid #c9c9c9;
    border-radius:999px;
    background:#fff;
    color:#333;
    font:inherit;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
}
.eliotec-locator-reset-filter:hover{
    background:#f3f3f3;
}
.eliotec-locator-reset-filter[hidden]{
    display:none!important;
}
@media (max-width:600px){
    .eliotec-locator-legend-help{
        font-size:11px;
        margin-bottom:8px;
    }
    .eliotec-locator-reset-filter{
        font-size:11px;
        padding:6px 10px;
    }
}


/* ELIOTEC Locator 1.7.3 - reset filtro in linea */
.eliotec-locator-reset-filter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    min-height:39px;
    margin:0 6px 6px 0;
    padding:6px 11px;
    border:1px solid rgba(0,0,0,.14);
    border-radius:999px;
    background:#fff;
    color:#333;
    font:inherit;
    font-size:13px;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    white-space:nowrap;
}
.eliotec-locator-reset-filter:hover{
    background:#f3f3f3;
}
.eliotec-locator-reset-filter[hidden]{
    display:none!important;
}
@media (max-width:1024px){
    .eliotec-locator-reset-filter{
        min-height:36px;
        font-size:12px;
        padding:5px 9px;
        margin:0 4px 5px 0;
    }
}
@media (max-width:600px){
    .eliotec-locator-reset-filter{
        min-height:34px;
        font-size:11px;
        padding:5px 8px;
        margin:0 3px 4px 0;
    }
}


/*
 * Le mappe dedicate a una singola lavorazione non devono mantenere
 * lo spazio fantasma della didascalia.
 */
.eliotec-locator-no-legend-space .eliotec-locator-legend{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}


/* ELIOTEC Locator 2.0.0 - MapLibre/OpenFreeMap */
.eliotec-locator-map .maplibregl-canvas,
.eliotec-locator-map .maplibregl-canvas-container{
    width:100%!important;
    height:100%!important;
}
.eliotec-locator-map .maplibregl-ctrl-bottom-left,
.eliotec-locator-map .maplibregl-ctrl-bottom-right{
    z-index:4;
}
.eliotec-locator-map .maplibregl-ctrl-attrib{
    font-size:10px;
}
.eliotec-locator-map .maplibregl-popup-content{
    border-radius:10px;
    padding:12px 14px;
    box-shadow:0 4px 18px rgba(0,0,0,.16);
}
