/* ==========================================================
   PAGINE SERVIZI
   ========================================================== */

.service-detail{
    padding:80px 0;
    background:#ffffff;
}

/* ==========================================================
   HERO
   ========================================================== */

.service-detail__hero{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:50px;
    align-items:center;
    margin-bottom:90px;
}

.service-detail__hero-media{
    text-align:center;
}

.service-detail__hero-media img{
    width:100%;
    max-width:280px;
    height:auto;
    display:block;
    margin:0 auto;
}

.service-detail__hero-content{
    min-width:0;
}

.service-detail__eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:7px 18px;

    border-radius:999px;

    background:#eaf4fd;

    color:#0b6fb8;

    font-size:.80rem;
    font-weight:700;

    letter-spacing:.08em;
    text-transform:uppercase;

    margin-bottom:18px;
}

.service-detail__title{
    margin:0 0 20px;

    color:#0b6fb8;

    font-size:clamp(2.8rem,4vw,4.5rem);
    line-height:1.05;

    font-weight:800;
    text-transform:uppercase;
}

.service-detail__intro{
    margin:0;

    color:#374151;

    font-size:1.08rem;
    line-height:1.9;

    max-width:850px;
}

/* ==========================================================
   FEATURES
   ========================================================== */

.service-features{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:75px 90px;

    margin-bottom:80px;
}

.service-feature{
    display:flex;
    align-items:flex-start;
    gap:24px;

    opacity:0;
    transform:translateY(30px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}

.service-feature.is-visible{
    opacity:1;
    transform:translateY(0);
}

.service-feature__icon img{
    width:44px;
    height:44px;
    display:block;
    object-fit:contain;
}

.service-feature__content{
    min-width:0;
}

.service-feature__content h3{
    margin:0 0 16px;

    color:#0b6fb8;

    font-size:2rem;
    line-height:1.08;

    font-weight:800;
    text-transform:uppercase;
}

.service-feature__content p{
    margin:0 0 16px;

    color:#374151;

    font-size:1rem;
    line-height:1.8;
}

.service-feature__content p:last-child{
    margin-bottom:0;
}

/* ==========================================================
   BOX FINALE
   ========================================================== */

.service-detail__reassurance{
    max-width:1000px;

    margin:0 auto 50px;

    padding:32px;

    border-radius:16px;

    background:#f7fbff;

    border-left:5px solid #0b6fb8;

    display:flex;
    align-items:flex-start;
    gap:18px;
}

.service-detail__reassurance-icon{
    flex:0 0 52px;

    width:52px;
    height:52px;

    border-radius:50%;

    background:#0b6fb8;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:1.5rem;
    font-weight:700;
}

.service-detail__reassurance p{
    margin:0;

    color:#374151;

    font-size:1.05rem;
    line-height:1.9;
}

/* ==========================================================
   CTA
   ========================================================== */

.btn-services-all{
    display:table;

    margin:0 auto;

    padding:16px 34px;

    border-radius:12px;

    background:linear-gradient(
        135deg,
        #0b6fb8,
        #095a94
    );

    color:#ffffff;

    font-size:.95rem;
    font-weight:700;

    text-transform:uppercase;
    text-decoration:none;
    letter-spacing:.04em;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.btn-services-all:hover{
    color:#ffffff;

    transform:translateY(-2px);

    box-shadow:
        0 12px 28px rgba(11,111,184,.22);
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width:1024px){

    .service-detail{
        padding:70px 0;
    }

    .service-detail__hero{
        grid-template-columns:1fr;
        text-align:center;

        gap:35px;

        margin-bottom:70px;
    }

    .service-detail__intro{
        max-width:none;
    }

    .service-features{
        gap:50px 40px;
    }

    .service-feature__content h3{
        font-size:1.55rem;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width:768px){

    .service-detail{
        padding:55px 0;
    }

    .service-detail__hero{
        margin-bottom:50px;
    }

    .service-detail__hero-media img{
        max-width:220px;
    }

    .service-detail__title{
        font-size:2.3rem;
    }

    .service-detail__intro{
        font-size:1rem;
        line-height:1.75;
    }

    .service-features{
        grid-template-columns:1fr;

        gap:40px;

        margin-bottom:50px;
    }

    .service-feature{
        gap:18px;
    }

    .service-feature__icon{
        width:64px;
        height:64px;
        flex-basis:64px;
    }

    .service-feature__icon svg{
        width:34px;
        height:34px;
    }

    .service-feature__content h3{
        font-size:1.35rem;
        margin-bottom:12px;
    }

    .service-feature__content p{
        font-size:.95rem;
        line-height:1.7;
    }

    .service-detail__reassurance{
        flex-direction:column;
        text-align:center;

        padding:24px;
    }

    .service-detail__reassurance-icon{
        margin:0 auto;
    }

    .btn-services-all{
        width:100%;
        text-align:center;
    }
}

.service-detail__hero-media video{
    width:100%;
    height:auto;
    display:block;
}

/* ==========================================================
   PARTNER PER REGIONE
   ========================================================== */

.sr-regions{
    padding:72px 0 82px;
    background:#edf5ff;
    border-top:1px solid #dce9f9;
    border-bottom:1px solid #d9e6f6;
    overflow:hidden;
}
.sr-regions + .faq{
    background:#fff;
}
.sr-regions__head{
    max-width:960px;
    margin:0 auto 34px;
    text-align:center;
}
.sr-regions__title{
    margin:0 0 8px;
    color:#0c2346;
    font-size:clamp(30px,3vw,46px);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.02em;
}
.sr-regions__subtitle{
    margin:0;
    color:#65738a;
    font-size:clamp(17px,1.5vw,22px);
    line-height:1.45;
}
.sr-regions__grid{
    display:grid;
    grid-template-columns:minmax(360px,.9fr) minmax(540px,1.25fr);
    gap:54px;
    align-items:start;
}
.sr-regions-map{
    position:relative;
    min-height:690px;
}
.sr-regions-map__canvas{
    position:relative;
    width:min(100%,520px);
    margin:0 auto;
}
.sr-regions-map__image{
    display:block;
    width:100%;
    height:auto;
    user-select:none;
    -webkit-user-drag:none;
    filter:drop-shadow(0 16px 20px rgba(28,80,150,.09));
}
.sr-region-marker{
    position:absolute;
    left:var(--x);
    top:var(--y);
    width:18px;
    height:18px;
    padding:0;
    transform:translate(-50%,-50%);
    border:3px solid #fff;
    border-radius:50%;
    background:#2677e8;
    box-shadow:0 1px 5px rgba(0,41,110,.28);
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
    z-index:3;
}
.sr-region-marker:hover,
.sr-region-marker:focus-visible{
    transform:translate(-50%,-50%) scale(1.28);
    outline:none;
    box-shadow:0 0 0 5px rgba(255,255,255,.40),0 2px 8px rgba(0,41,110,.30);
}
.sr-region-marker.is-active{
    background:#fff;
    box-shadow:0 0 0 4px rgba(38,119,232,.28),0 2px 8px rgba(0,41,110,.28);
}
.sr-regions-map__hint{
    position:absolute;
    left:0;
    bottom:8px;
    display:flex;
    align-items:center;
    gap:16px;
    width:310px;
    padding:22px 24px;
    border:1px solid #e7edf6;
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 28px rgba(17,48,91,.10);
}
.sr-regions-map__hint-icon{
    flex:0 0 40px;
    width:40px;
    height:40px;
    color:#2677e8;
}
.sr-regions-map__hint strong{
    display:block;
    margin-bottom:5px;
    color:#1359c7;
    font-size:16px;
}
.sr-regions-map__hint span{
    display:block;
    color:#65738a;
    font-size:15px;
    line-height:1.45;
}
.sr-regions-panel{
    overflow:hidden;
    border:1px solid #e4eaf2;
    border-radius:17px;
    background:#fff;
    box-shadow:0 10px 34px rgba(17,48,91,.10);
}
.sr-regions-panel__head{
    padding:27px 28px 22px;
}
.sr-regions-panel__selected{
    margin:0 0 18px;
    padding-bottom:18px;
    border-bottom:1px solid #dfe6ef;
    color:#12294c;
    font-size:21px;
    line-height:1.3;
    font-weight:500;
}
.sr-regions-panel__selected strong{
    color:#1359c7;
    font-weight:800;
}
.sr-regions-panel__heading{
    margin:0;
    color:#0c2346;
    font-size:18px;
    line-height:1.35;
    font-weight:800;
}
.sr-region-partners-list{
    padding:0 28px;
}
.sr-region-partner{
    display:grid;
    grid-template-columns:122px minmax(0,1fr) 145px;
    gap:20px;
    align-items:center;
    min-height:108px;
    padding:17px 0;
    border-bottom:1px solid #e3e8ef;
}
.sr-region-partner:last-child{
    border-bottom:0;
}
.sr-region-partner__logo{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-width:0;
}
.sr-region-partner__logo img{
    display:block;
    max-width:112px;
    max-height:54px;
    width:auto;
    height:auto;
}
.sr-region-partner__logo-text{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:92px;
    max-width:112px;
    min-height:42px;
    padding:7px 9px;
    border:1px solid #dfe6ef;
    border-radius:5px;
    background:#fff;
    color:#10294f;
    font-size:15px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.03em;
    text-align:center;
}
.sr-region-partner__name{
    margin:0 0 3px;
    color:#0c2346;
    font-size:17px;
    line-height:1.25;
    font-weight:800;
}
.sr-region-partner__description{
    margin:0 0 6px;
    color:#6b788c;
    font-size:13px;
    line-height:1.4;
}
.sr-region-partner__location{
    position:relative;
    margin:0;
    padding-left:17px;
    color:#64748a;
    font-size:13px;
    line-height:1.35;
}
.sr-region-partner__location:before{
    content:"";
    position:absolute;
    left:2px;
    top:3px;
    width:7px;
    height:7px;
    border:2px solid #65758c;
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    box-sizing:border-box;
}
.sr-region-partner__action{
    display:flex;
    justify-content:flex-end;
}
.sr-region-partner__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:142px;
    min-height:45px;
    padding:8px 15px;
    border:1.5px solid #1262d5;
    border-radius:6px;
    background:#fff;
    color:#1262d5;
    font-size:13px;
    line-height:1;
    font-weight:800;
    text-decoration:none;
    text-transform:uppercase;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}
.sr-region-partner__link:hover,
.sr-region-partner__link:focus-visible{
    background:#1262d5;
    color:#fff;
    text-decoration:none;
    transform:translateY(-1px);
    outline:none;
}
.sr-region-partner__link--disabled{
    opacity:.45;
    cursor:default;
    pointer-events:none;
}
.sr-regions-panel__footer{
    padding:0 28px 28px;
}
.sr-regions-panel__all{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:100%;
    min-height:52px;
    padding:12px 20px;
    border:0;
    border-radius:7px;
    background:#edf4ff;
    color:#1262d5;
    font-size:15px;
    line-height:1.3;
    font-weight:800;
    cursor:pointer;
    transition:background .18s ease,color .18s ease;
}
.sr-regions-panel__all:hover,
.sr-regions-panel__all:focus-visible{
    background:#dfebff;
    color:#0b50b6;
    outline:none;
}
.sr-regions-panel__all-arrow{
    font-size:23px;
    line-height:1;
    font-weight:400;
}
.sr-regions-empty{
    padding:34px 12px 42px;
    color:#65738a;
    text-align:center;
}
.sr-regions-empty strong{
    display:block;
    margin-bottom:7px;
    color:#0c2346;
    font-size:17px;
}
@media (max-width:1100px){
    .sr-regions__grid{
        grid-template-columns:minmax(320px,.85fr) minmax(470px,1.15fr);
        gap:32px;
    }
    .sr-region-partner{
        grid-template-columns:105px minmax(0,1fr) 128px;
        gap:14px;
    }
    .sr-region-partner__link{
        width:126px;
    }
}
@media (max-width:900px){
    .sr-regions{
        padding:58px 0 66px;
    }
    .sr-regions__grid{
        grid-template-columns:1fr;
        gap:34px;
    }
    .sr-regions-map{
        min-height:0;
        padding-bottom:116px;
    }
    .sr-regions-map__canvas{
        width:min(100%,470px);
    }
    .sr-regions-map__hint{
        left:50%;
        bottom:0;
        transform:translateX(-50%);
        width:min(330px,calc(100% - 20px));
        box-sizing:border-box;
    }
    .sr-regions-panel{
        max-width:720px;
        width:100%;
        margin:0 auto;
    }
}
@media (max-width:620px){
    .sr-regions{
        padding:46px 0 54px;
    }
    .sr-regions__head{
        margin-bottom:24px;
    }
    .sr-regions__title{
        font-size:30px;
    }
    .sr-regions__subtitle{
        font-size:16px;
    }
    /* Area touch ampia, pallino visivo invariato */
    .sr-region-marker{
        width:clamp(36px,10vw,44px);
        height:clamp(36px,10vw,44px);
        border:0;
        background:transparent;
        box-shadow:none;
        transform:translate(-50%,-50%);
        touch-action:manipulation;
        -webkit-tap-highlight-color:transparent;
    }
    .sr-region-marker::after{
        content:"";
        position:absolute;
        left:50%;
        top:50%;
        width:16px;
        height:16px;
        transform:translate(-50%,-50%);
        border:3px solid #fff;
        border-radius:50%;
        background:#2677e8;
        box-shadow:0 1px 5px rgba(0,41,110,.28);
        transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
        pointer-events:none;
    }
    .sr-region-marker:hover,
    .sr-region-marker:focus-visible{
        transform:translate(-50%,-50%);
        outline:none;
        box-shadow:none;
        z-index:4;
    }
    .sr-region-marker:hover::after,
    .sr-region-marker:focus-visible::after{
        transform:translate(-50%,-50%) scale(1.20);
        box-shadow:0 0 0 5px rgba(255,255,255,.40),0 2px 8px rgba(0,41,110,.30);
    }
    .sr-region-marker.is-active{
        background:transparent;
        box-shadow:none;
        z-index:4;
    }
    .sr-region-marker.is-active::after{
        background:#fff;
        box-shadow:0 0 0 4px rgba(38,119,232,.28),0 2px 8px rgba(0,41,110,.28);
    }
    .sr-regions-panel__head,
    .sr-region-partners-list,
    .sr-regions-panel__footer{
        padding-left:18px;
        padding-right:18px;
    }
    .sr-regions-panel__selected{
        font-size:18px;
    }
    .sr-region-partner{
        grid-template-columns:86px minmax(0,1fr);
        gap:12px;
        min-height:0;
        padding:18px 0;
    }
    .sr-region-partner__logo-text{
        min-width:72px;
        max-width:82px;
        min-height:38px;
        font-size:12px;
    }
    .sr-region-partner__logo img{
        max-width:82px;
        max-height:44px;
    }
    .sr-region-partner__action{
        grid-column:2;
        justify-content:flex-start;
    }
    .sr-region-partner__link{
        width:auto;
        min-width:122px;
        min-height:40px;
    }
    .sr-regions-panel__all{
        font-size:14px;
    }
}