
/* ==================================================================
   ABITAPRONTO24 - PROFESSIONAL + COUNTER V2
   ================================================================== */


/* ==================================================================
   SEZIONE PROFESSIONISTI
   ================================================================== */

.professionals-v2{
    position:relative!important;
    padding:115px 30px!important;
}


.professional-v2-shell{
    position:relative;
    z-index:3;
    max-width:1240px;
    margin:auto;
}


.professional-v2-main{
    display:grid;
    grid-template-columns:1.03fr .97fr;
    gap:60px;
    align-items:start;
}


.professional-v2-copy{
    padding:34px;
    border:1px solid rgba(23,61,49,.10);
    border-radius:26px;
    background:rgba(252,253,250,.91);
    box-shadow:
        0 22px 60px rgba(15,43,30,.09);
    backdrop-filter:blur(12px);
}


.professional-v2-copy h2{
    margin:12px 0 0;
    font-size:clamp(3rem,5vw,5rem);
    line-height:.94;
    letter-spacing:-.06em;
}


.professional-v2-copy h2 em{
    display:block;
    margin-top:10px;
    color:#748078;
    font-style:normal;
}


.professional-v2-intro{
    margin:23px 0 0;
    color:#627068;
    font-size:.91rem;
    line-height:1.68;
}


.professional-v2-features{
    margin-top:25px;
    display:flex;
    flex-direction:column;
    gap:8px;
}


.professional-v2-features article{
    padding:13px 14px;
    display:grid;
    grid-template-columns:38px 1fr;
    gap:12px;
    border:1px solid rgba(23,61,49,.08);
    border-radius:13px;
    background:rgba(246,249,246,.86);
}


.professional-v2-features article>span{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#174633;
    background:#dfe9e1;
    font-size:.61rem;
    font-weight:850;
}


.professional-v2-features strong{
    color:#193326;
    font-size:.76rem;
}


.professional-v2-features p{
    margin:4px 0 0;
    color:#758078;
    font-size:.69rem;
    line-height:1.45;
}



/* ==================================================================
   METRICHE
   ================================================================== */

.professional-v2-metrics{
    display:flex;
    flex-direction:column;
    gap:12px;
}


.professional-v2-smallcards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}


.professional-v2-smallcards article{
    min-height:145px;
    padding:20px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    border:1px solid rgba(23,61,49,.10);
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:
        0 10px 30px rgba(15,43,30,.05);
}


.professional-v2-smallcards strong{
    color:#12251b;
    font-size:1.8rem;
    letter-spacing:-.04em;
}


.professional-v2-smallcards span{
    color:#737f77;
    font-size:.70rem;
}


.professional-v2-highlight{
    border-color:#d8ea51!important;
}



/* ==================================================================
   CONTATORE PUBBLICO
   ================================================================== */

.public-visit-counter{
    min-height:176px;
    padding:23px;
    display:grid;
    grid-template-columns:60px minmax(165px,.75fr) 1fr;
    gap:20px;
    align-items:center;
    border:1px solid rgba(21,84,55,.18);
    border-radius:20px;
    background:
        linear-gradient(
            135deg,
            rgba(14,62,43,.97),
            rgba(23,82,56,.94)
        );
    color:#fff;
    box-shadow:
        0 20px 50px rgba(9,48,32,.18);
}


.public-visit-counter-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:17px;
    color:#dff25c;
    background:rgba(255,255,255,.10);
}


.public-visit-counter-icon svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.public-visit-counter-number{
    display:flex;
    flex-direction:column;
}


.public-visit-counter-number>span{
    color:#b8cdbf!important;
    font-size:.60rem!important;
    font-weight:850;
    letter-spacing:.13em;
}


.public-visit-counter-number>strong{
    margin-top:5px;
    color:#fff!important;
    font-size:clamp(2.8rem,4vw,4.2rem)!important;
    line-height:.9;
    letter-spacing:-.06em;
}


.public-visit-counter-number>small{
    margin-top:9px;
    color:#c1d1c7;
    font-size:.65rem;
}


.public-visit-counter-description{
    padding-left:20px;
    border-left:1px solid rgba(255,255,255,.18);
}


.public-visit-counter-description strong{
    display:block;
    color:#dff25c;
    font-size:.78rem;
}


.public-visit-counter-description p{
    margin:7px 0 0;
    color:#c5d4cb;
    font-size:.72rem;
    line-height:1.55;
}



/* ==================================================================
   BOTTOM
   ================================================================== */

.professional-v2-bottom{
    margin-top:24px;
    padding:20px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    border:1px solid rgba(23,61,49,.09);
    border-radius:16px;
    background:rgba(255,255,255,.72);
}


.professional-v2-bottom span{
    flex:0 0 auto;
    color:#315e48;
    font-size:.61rem;
    font-weight:850;
    letter-spacing:.13em;
}


.professional-v2-bottom p{
    max-width:700px;
    margin:0;
    color:#67756d;
    font-size:.76rem;
    line-height:1.55;
}



/* ==================================================================
   ADMIN
   ================================================================== */

.counter-admin-description{
    max-width:680px;
    margin:7px 0 0;
    color:#727e76;
}


.counter-admin-grid{
    margin-top:25px;
    display:grid;
    grid-template-columns:1.1fr .8fr .9fr 1fr;
    gap:10px;
}


.counter-admin-total,
.counter-admin-detail,
.counter-admin-reset{
    min-height:180px;
    padding:22px;
    border-radius:17px;
}


.counter-admin-total{
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #0c3829,
            #18523b
        );
}


.counter-admin-total>span,
.counter-admin-detail>span{
    font-size:.61rem;
    font-weight:850;
    letter-spacing:.12em;
}


.counter-admin-total>span{
    color:#b9cec1;
}


.counter-admin-total>strong{
    margin-top:9px;
    font-size:4rem;
    line-height:.9;
    letter-spacing:-.06em;
}


.counter-admin-total>small{
    margin-top:12px;
    color:#c4d4ca;
}


.counter-admin-detail{
    border:1px solid #dde4dd;
    background:#f6f8f5;
}


.counter-admin-detail>span{
    color:#758279;
}


.counter-admin-detail>strong{
    display:block;
    margin-top:14px;
    color:#244936;
    font-size:1.1rem;
}


.counter-admin-detail p{
    margin:12px 0 0;
    color:#7b857f;
    font-size:.70rem;
    line-height:1.45;
}


.counter-admin-reset{
    border:1px solid #ead1ce;
    background:#fff6f4;
}


.counter-admin-reset>strong{
    color:#7d3832;
}


.counter-admin-reset>p{
    margin:10px 0 18px;
    color:#806d69;
    font-size:.72rem;
    line-height:1.5;
}


.counter-reset-button{
    color:#8d3731!important;
    border-color:#ddb1ad!important;
    background:#fff!important;
}


.counter-reset-button:hover{
    color:#fff!important;
    background:#963d35!important;
}



/* ==================================================================
   RESPONSIVE
   ================================================================== */

@media(max-width:1050px){

    .professional-v2-main{
        grid-template-columns:1fr;
    }

    .counter-admin-grid{
        grid-template-columns:1fr 1fr;
    }
}


@media(max-width:700px){

    .professionals-v2{
        padding:
            80px 17px!important;
    }

    .professional-v2-copy{
        padding:24px 20px;
    }

    .professional-v2-smallcards{
        grid-template-columns:1fr 1fr;
    }

    .public-visit-counter{
        grid-template-columns:52px 1fr;
    }

    .public-visit-counter-description{
        grid-column:1/-1;
        padding:
            15px 0 0;
        border-left:0;
        border-top:
            1px solid rgba(255,255,255,.18);
    }

    .professional-v2-bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

    .counter-admin-grid{
        grid-template-columns:1fr;
    }
}


@media(max-width:440px){

    .professional-v2-smallcards{
        grid-template-columns:1fr;
    }
}

