.dm-box{
    width:100%;
    background:#fff;
    border:1px solid #e6eef5;
    border-radius:12px;
    box-shadow:0 12px 35px rgba(14, 39, 74, 0.08);
    padding:24px;
    overflow:hidden;
}

.dm-head{
    text-align:left;
    margin-bottom:18px;
}

.dm-head h2{
    font-size:28px;
    line-height:1.15;
    margin:0 0 10px 0;
    color:#112f55;
    font-weight:700;
}

.dm-head h2:after{
    content:'';
    display:block;
    width:52px;
    height:2px;
    background:#d93636;
    margin-top:12px;
}

.dm-head p{
    margin:0;
    color:#112f55;
    font-size:15px;
    font-weight:600;
    line-height:1.45;
}

/* Avis row/cols, ale wymuszone tylko w tym module */
.dm-row{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
}

.dm-row .dm-map-col{
    flex:0 0 58.333333%;
    max-width:58.333333%;
    width:58.333333%;
    min-width:0;
}

.dm-row .dm-results-col{
    flex:0 0 41.666667%;
    max-width:41.666667%;
    width:41.666667%;
    min-width:0;
}

.dm-map-hover-name{
    font-size:14px;
    color:#2498d3;
    margin:0 0 10px 0;
    font-weight:600;
    min-height:20px;
}

.dm-map-holder{
    width:100%;
    overflow:hidden;
}

/* najważniejsze: SVG ma być 100% szerokości col-7 i ma mieć viewBox */
.dm-map-holder svg,
.dm-map-svg{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    overflow:visible !important;
    filter:drop-shadow(8px 10px 7px rgba(13,47,74,.16));
}

.dm-map-holder svg .dm-region{
    fill:#1697c4 !important;
    stroke:#ffffff !important;
    stroke-width:1.2 !important;
    cursor:pointer;
    transition:all .18s ease;
}

.dm-map-holder svg .dm-region.no-distributors{
    fill:#74b8d4 !important;
}

.dm-map-holder svg .dm-region.is-hover{
    fill:#0d7eae !important;
}

.dm-map-holder svg .dm-region.is-active{
    fill:#f5b82e !important;
}

.dm-results-top{
    margin-bottom:15px;
}

.dm-results-small{
    font-size:13px;
    color:#2498d3;
    margin-bottom:4px;
    font-weight:600;
}

.dm-results-title{
    font-size:24px;
    font-weight:600;
    color:#15355b;
    line-height:1.2;
}

.dm-results-body{
    min-height:120px;
}

.dm-distributor{
    border:1px solid #e5edf4;
    border-radius:10px;
    padding:16px;
    margin-bottom:12px;
    background:#f9fcff;
}

.dm-distributor-name{
    font-size:20px;
    font-weight:600;
    color:#15355b;
    margin-bottom:10px;
}

.dm-line{
    margin-bottom:7px;
    color:#4f6175;
    font-size:14px;
    line-height:1.45;
}

.dm-line span{
    font-weight:600;
    color:#1e3f64;
}

.dm-line a{
    color:#2498d3;
    text-decoration:none;
}

.dm-line a:hover{
    text-decoration:underline;
}

.dm-desc{
    margin-top:10px;
    color:#5c6f82;
    line-height:1.55;
    font-size:14px;
}

.dm-empty,
.dm-loading{
    background:#f5f9fc;
    border:1px dashed #c9d8e6;
    border-radius:10px;
    padding:18px;
    color:#5f7288;
    font-size:14px;
}

@media (max-width: 760px){
    .dm-box{
        padding:18px;
    }

    .dm-row .dm-map-col,
    .dm-row .dm-results-col{
        flex:0 0 100%;
        max-width:100%;
        width:100%;
    }

    .dm-results-title{
        font-size:22px;
    }
}
