
/* ================================================================
   ABITAPRONTO24 EXPERIENCE V2
   ================================================================ */

.ap24-experience-anchor{
    position:absolute;
    top:-100px;
}


.ap24-experience{
    position:relative;
    overflow:hidden;

    padding:
        118px 30px 112px;

    background:
        radial-gradient(
            circle at 0 0,
            rgba(34,88,58,.10),
            transparent 35rem
        ),
        radial-gradient(
            circle at 100% 100%,
            rgba(223,242,92,.08),
            transparent 28rem
        ),
        linear-gradient(
            180deg,
            #eef3ee,
            #e7ede8
        );
}


.ap24-experience-shell{
    position:relative;
    z-index:2;

    max-width:1240px;
    margin:auto;
}


/* HEADING */

.ap24-experience-heading{
    margin-bottom:48px;

    display:grid;
    grid-template-columns:1.12fr .88fr;
    gap:85px;
    align-items:end;
}


.ap24-exp-number{
    color:#6f7f75;
    font-size:.66rem;
    font-weight:850;
}


.ap24-exp-kicker{
    margin:5px 0 0;

    color:#3d6a50;

    font-size:.66rem;
    font-weight:850;
    letter-spacing:.15em;
}


.ap24-experience-heading h2{
    margin:13px 0 0;

    color:#101a13;

    font-size:
        clamp(
            3.2rem,
            5.1vw,
            5.3rem
        );

    line-height:.92;
    letter-spacing:-.064em;
}


.ap24-experience-heading h2 em{
    display:block;
    color:#78847c;
    font-style:normal;
}


.ap24-exp-intro p{
    margin:0;

    color:#657269;
    font-size:.92rem;
    line-height:1.72;
}


.ap24-exp-intro strong{
    display:block;
    margin-top:18px;

    color:#284c39;
    font-size:.93rem;
    line-height:1.5;
}


/* STAGE */

.ap24-exp-stage{
    min-height:520px;

    display:grid;
    grid-template-columns:1.18fr .82fr;

    overflow:hidden;

    border:1px solid rgba(23,61,49,.10);
    border-radius:28px;

    background:#fff;

    box-shadow:
        0 28px 75px
        rgba(13,43,29,.12);
}


/* PHOTO */

.ap24-exp-photo{
    position:relative;
    min-height:520px;

    background-image:
        url("/assets/img/home-v8/construction.jpg");

    background-size:cover;
    background-position:center;

    transition:
        opacity .25s ease;
}


.ap24-exp-photo.is-changing{
    opacity:.82;
}


.ap24-exp-photo-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(5,23,15,.02),
            rgba(5,23,15,.60)
        );
}


.ap24-exp-photo-caption{
    position:absolute;
    left:29px;
    bottom:27px;

    z-index:2;
}


.ap24-exp-photo-caption span{
    display:block;

    color:#dff25c;
    font-size:.58rem;
    font-weight:850;
    letter-spacing:.14em;
}


.ap24-exp-photo-caption strong{
    display:block;
    margin-top:5px;

    color:#fff;
    font-size:1.25rem;
}


/* COPY */

.ap24-exp-copy{
    padding:40px 38px;

    display:flex;
    flex-direction:column;

    background:
        linear-gradient(
            145deg,
            #fcfdfa,
            #f4f7f4
        );
}


.ap24-exp-copy-top{
    display:grid;
    grid-template-columns:45px 1fr;
    gap:17px;
}


.ap24-exp-index{
    width:43px;
    height:43px;

    display:grid;
    place-items:center;

    border-radius:13px;

    color:#245c40;
    background:#e4eee6;

    font-size:.64rem;
    font-weight:850;
}


.ap24-exp-eyebrow{
    margin:0;

    color:#658074;
    font-size:.58rem;
    font-weight:850;
    letter-spacing:.12em;
}


.ap24-exp-copy h3{
    margin:9px 0 0;

    color:#173326;

    font-size:
        clamp(
            1.9rem,
            2.6vw,
            2.8rem
        );

    line-height:1.03;
    letter-spacing:-.045em;
}


.ap24-exp-description{
    margin:24px 0 0;

    color:#69776e;
    font-size:.83rem;
    line-height:1.72;

    white-space:pre-line;
}


.ap24-exp-tags{
    margin-top:27px;

    display:flex;
    flex-wrap:wrap;
    gap:6px;
}


.ap24-exp-tags span{
    padding:7px 9px;

    border-radius:8px;

    color:#546f61;
    background:#eaf0eb;

    font-size:.62rem;
}


.ap24-exp-note{
    margin-top:auto;
    padding-top:25px;

    display:grid;
    grid-template-columns:40px 1fr;
    gap:12px;
    align-items:center;

    border-top:1px solid rgba(23,61,49,.09);
}


.ap24-exp-note>div{
    width:38px;
    height:38px;

    display:grid;
    place-items:center;

    border-radius:11px;

    color:#315f48;
    background:#e8efea;
}


.ap24-exp-note svg{
    width:20px;
    height:20px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.ap24-exp-note p{
    margin:0;

    color:#718078;
    font-size:.69rem;
    line-height:1.5;
}


/* SELECTOR */

.ap24-exp-selector{
    margin-top:14px;

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
}


.ap24-exp-option{
    position:relative;

    min-height:106px;
    padding:15px 16px;

    display:grid;
    grid-template-columns:30px 1fr;
    gap:9px;
    align-items:center;

    overflow:hidden;

    border:1px solid rgba(23,61,49,.09);
    border-radius:15px;

    cursor:pointer;
    text-align:left;

    background:rgba(255,255,255,.74);

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}


.ap24-exp-option:hover{
    transform:translateY(-2px);
    background:#fff;
}


.ap24-exp-option>span{
    width:29px;
    height:29px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#456553;
    background:#e5ece6;

    font-size:.59rem;
    font-weight:850;
}


.ap24-exp-option strong{
    display:block;

    color:#274737;
    font-size:.72rem;
}


.ap24-exp-option small{
    display:block;
    margin-top:3px;

    color:#829087;
    font-size:.59rem;
}


.ap24-exp-option i{
    position:absolute;
    left:0;
    bottom:0;

    width:0;
    height:3px;

    background:#427158;

    transition:width .25s ease;
}


.ap24-exp-option.is-active{
    border-color:rgba(39,96,64,.25);
    background:#fff;
}


.ap24-exp-option.is-active i{
    width:100%;
}


/* VALUES */

.ap24-exp-values{
    margin-top:19px;
    padding:10px;

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;

    border:1px solid rgba(23,61,49,.08);
    border-radius:17px;

    background:rgba(255,255,255,.68);
}


.ap24-exp-values article{
    min-height:112px;
    padding:15px;

    display:grid;
    grid-template-columns:40px 1fr;
    column-gap:10px;

    border-radius:12px;

    background:rgba(247,249,247,.87);
}


.ap24-exp-values article>div{
    width:38px;
    height:38px;

    grid-row:1/3;

    display:grid;
    place-items:center;

    border-radius:11px;

    color:#355f4a;
    background:#e4ece6;
}


.ap24-exp-values svg{
    width:20px;
    height:20px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}


.ap24-exp-values strong{
    align-self:end;

    color:#30513f;
    font-size:.69rem;
}


.ap24-exp-values p{
    margin:4px 0 0;

    color:#839087;
    font-size:.59rem;
    line-height:1.4;
}


/* RESPONSIVE */

@media(max-width:1000px){

    .ap24-experience-heading{
        grid-template-columns:1fr;
        gap:25px;
    }

    .ap24-exp-stage{
        grid-template-columns:1fr;
    }

    .ap24-exp-photo{
        min-height:390px;
    }

    .ap24-exp-selector{
        grid-template-columns:1fr 1fr;
    }

    .ap24-exp-values{
        grid-template-columns:1fr 1fr;
    }
}


@media(max-width:650px){

    .ap24-experience{
        padding:80px 17px;
    }

    .ap24-exp-photo{
        min-height:320px;
    }

    .ap24-exp-copy{
        padding:28px 21px;
    }

    .ap24-exp-selector{
        grid-template-columns:1fr;
    }

    .ap24-exp-values{
        grid-template-columns:1fr;
    }
}



/*
 * ===============================================================
 * ABITAPRONTO24_EXPERIENCE_FONTS_V4
 * Migliore leggibilità desktop + mobile
 * ===============================================================
 */


/* CARD 01-05 */

.ap24-exp-option strong{
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
}


.ap24-exp-option small{
    font-size:13px !important;
    line-height:1.4 !important;
}


/* NUMERO 01-05 */

.ap24-exp-option>span{
    font-size:12px !important;
    font-weight:800 !important;
}


/* FASCIA INFERIORE */

.ap24-exp-values strong{
    font-size:15px !important;
    line-height:1.3 !important;
    font-weight:800 !important;
}


.ap24-exp-values p{
    font-size:12.5px !important;
    line-height:1.45 !important;
}


/* TESTO GENERALE DEL BLOCCO */

.ap24-experience p{
    font-size:15px;
    line-height:1.6;
}


/*
 * Evitiamo che 5 card diventino troppo strette.
 */

.ap24-exp-options{
    grid-template-columns:
        repeat(5,minmax(0,1fr)) !important;
    gap:10px !important;
}


.ap24-exp-option{
    min-height:108px;
    padding:18px 15px !important;
}


/* tablet */

@media (max-width:1100px){

    .ap24-exp-options{
        grid-template-columns:
            repeat(3,minmax(0,1fr)) !important;
    }

}


/* mobile */

@media (max-width:700px){

    .ap24-exp-options{
        grid-template-columns:
            1fr !important;
    }

    .ap24-exp-option strong{
        font-size:17px !important;
    }

    .ap24-exp-option small{
        font-size:14px !important;
    }

    .ap24-exp-values strong{
        font-size:16px !important;
    }

    .ap24-exp-values p{
        font-size:13.5px !important;
    }

}


/* ABITAPRONTO24_EXPERIENCE_READABILITY_V5_START */


/*
 * TAG che nell'immagine risultano troppo piccoli.
 */
.ap24-exp-tags{
    gap:10px !important;
}


.ap24-exp-tags span{
    font-size:14px !important;
    line-height:1.25 !important;

    font-weight:600 !important;

    padding:
        9px
        13px
        !important;

    border-radius:
        9px
        !important;
}


/*
 * Descrizione scenario.
 */
[data-exp-description]{
    font-size:
        16px
        !important;

    line-height:
        1.62
        !important;
}


/*
 * Nota inferiore dello scenario.
 */
[data-exp-note]{
    font-size:
        14px
        !important;

    line-height:
        1.5
        !important;
}


/*
 * Titolo principale a destra.
 */
[data-exp-title]{
    line-height:
        1.08
        !important;
}


/*
 * Nome scenario sull'immagine.
 */
[data-exp-caption]{
    font-size:
        22px
        !important;

    line-height:
        1.2
        !important;
}


/*
 * Schede 01-05.
 */
.ap24-exp-option strong{
    font-size:
        16px
        !important;
}


.ap24-exp-option small{
    font-size:
        13.5px
        !important;

    line-height:
        1.38
        !important;
}


/*
 * Fascia informativa inferiore.
 */
.ap24-exp-values strong{
    font-size:
        15px
        !important;
}


.ap24-exp-values p{
    font-size:
        13px
        !important;

    line-height:
        1.45
        !important;
}


@media (max-width:700px){

    .ap24-exp-tags span{
        font-size:
            14px
            !important;
    }

    [data-exp-description]{
        font-size:
            15.5px
            !important;
    }

    [data-exp-note]{
        font-size:
            14px
            !important;
    }

}


/* ABITAPRONTO24_EXPERIENCE_READABILITY_V5_END */


