
/* =========================================================
   CYBER ONIONS LAB
   Stile coerente con il tema grafico del sito
   ========================================================= */


/* =========================================================
   PAGINA
   ========================================================= */

.s-lab {
    min-height: 70vh;
    padding: 16rem 0 9rem;
    background: #000;
    color: #757575;
}

.s-lab > .row {
    max-width: 1040px;
}


/* =========================================================
   HEADER
   ========================================================= */

.lab-header {
    max-width: 820px;
    margin: 0 auto 7rem;
    text-align: center;
}

.lab-kicker {
    margin: 0 0 1.2rem;
    color: #0087cc;
    font: 1.2rem montserrat-semibold, sans-serif;
    letter-spacing: .22rem;
}

.lab-kicker span {
    padding: 0 .5rem;
    color: #555;
}

.lab-header h1 {
    margin: 0 0 1.8rem;
    color: #fff;
}

.lab-period {
    color: #0087cc;
}

.lab-intro {
    margin: 0 auto 1.6rem;
    color: #d0d0d0;
    font: 2rem/1.6 montserrat-regular, sans-serif;
}

.lab-lead {
    max-width: 680px;
    margin: 0 auto;
    color: #858585;
    font-size: 1.6rem;
}


/* =========================================================
   SEZIONI
   ========================================================= */

.lab-section {
    max-width: 900px;
    margin: 0 auto 6.5rem;
    padding-top: 2.8rem;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.lab-section-title {
    font-family: montserrat-medium,sans-serif;
    font-size:3rem;
    line-height:1.333;
    text-transform:uppercase;
    letter-spacing:.25rem;
    color:#0087cc;
    margin-top:0;
    margin-bottom:1.3rem;
}


/* =========================================================
   BOX TEMATICI
   ========================================================= */

.lab-topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.8rem;
}

.lab-topic-box {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    min-width: 0;
    min-height: 160px;
    padding: 2.8rem 2.5rem;

    text-align: center;
    color: #959595;

    border: 1px solid rgba(255, 255, 255, .2);
    background: transparent;

    transition: color .3s ease-in-out,
                background-color .3s ease-in-out,
                border-color .3s ease-in-out;
}

/* Titoli tematici */

.lab-topic-box h3 {
    margin: 0 0 1.2rem;
    color: #c9c9c9;
    font: 1.55rem montserrat-semibold, sans-serif;
    letter-spacing: .04rem;
    transition: color .3s ease-in-out;
}

.lab-topic-box h3 span {
    color: #0087cc;
    transition: color .3s ease-in-out;
}

/* Descrizioni tematiche */

.lab-topic-box p {
    margin: 0;
    color: #999;
    font-size: 1.45rem;
    line-height: 1.7;
    transition: color .3s ease-in-out;
}


/* =========================================================
   HOVER AZZURRO
   Stesso effetto dei pulsanti .news-filter
   ========================================================= */

.lab-topic-box:hover,
.lab-plan:hover {
    color: #fff;
    border-color: #006A80;
    background-color: rgba(0, 106, 128, .25);
}

/* Testi dei box tematici */

.lab-topic-box:hover h3,
.lab-topic-box:hover h3 span,
.lab-topic-box:hover p {
    color: #fff;
}


/* =========================================================
   CONTENUTI E ARTICOLI
   ========================================================= */

.lab-article-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.lab-article-list li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 2rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.lab-article-list a {
    color: #c8c8c8;
    font: 1.5rem montserrat-regular, sans-serif;
}

.lab-article-list a:hover,
.lab-more a:hover,
.lab-footer-link a:hover {
    color: #c8e675;
    border-bottom-color: #c8e675;
}

.lab-article-list span {
    flex: 0 0 auto;
    color: #666;
    font-size: 1.2rem;
}

.lab-muted {
    color: #777;
}

.lab-more {
    margin: 2rem 0 0;
    font: 1.3rem montserrat-semibold, sans-serif;
    text-transform: uppercase;
    letter-spacing: .08rem;
}


/* =========================================================
   PIANI DI ACCESSO
   FREE - LAB MEMBER - TOOLKIT
   ========================================================= */

.lab-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
}

.lab-plan {
    box-sizing: border-box;
    display: grid;

    /* Titolo, descrizione, prezzo e nota */
    grid-template-rows: auto minmax(7.5rem, 1fr) auto auto;

    align-content: start;
    align-items: start;
    justify-items: center;

    min-width: 0;
    min-height: 250px;
    padding: 3rem 2.4rem;

    text-align: center;
    color: #959595;

    border: 1px solid rgba(255, 255, 255, .2);
    background: transparent;

    transition: color .3s ease-in-out,
                background-color .3s ease-in-out,
                border-color .3s ease-in-out;
}

/* Titoli FREE, LAB MEMBER e TOOLKIT */

.lab-plan h2 {
    width: 100%;
    margin: 0 0 1.8rem;

    color: #fff;
    font: 1.6rem montserrat-semibold, sans-serif;
    letter-spacing: .12rem;
    text-transform: uppercase;

    transition: color .3s ease-in-out;
}

/* Descrizioni dei piani */

.lab-plan p {
    width: 100%;
    margin: 0;

    color: #999;
    font-size: 1.4rem;
    line-height: 1.7;

    transition: color .3s ease-in-out;
}

/* Prezzi */

.lab-price {
    display: block;
    width: 100%;
    margin-top: 1.5rem;

    color: #fff;
    font: 2rem montserrat-semibold, sans-serif;

    transition: color .3s ease-in-out;
}

.lab-price small {
    color: #999;
    font: 1.2rem montserrat-regular, sans-serif;

    transition: color .3s ease-in-out;
}

/* Note aggiuntive, ad esempio prezzo annuale */

.lab-note {
    display: block;
    width: 100%;
    margin-top: .6rem;

    color: #777;
    font-size: 1.2rem;

    transition: color .3s ease-in-out;
}

/* Disclaimer prezzi */

.lab-disclaimer {
    display: block;
    margin-top: 2rem;
    color: #666;
    font-size: 1.2rem;
}


/* Testi dei piani durante hover */

.lab-plan:hover h2,
.lab-plan:hover p,
.lab-plan:hover .lab-price,
.lab-plan:hover .lab-price small,
.lab-plan:hover .lab-note {
    color: #fff;
}


/* =========================================================
   FOOTER
   ========================================================= */

.lab-footer-link {
    max-width: 900px;
    margin: 0 auto;

    font: 1.3rem montserrat-semibold, sans-serif;
    text-transform: uppercase;
    letter-spacing: .08rem;
}

.lab-footer-link a {
    color: #888;
}


/* =========================================================
   RESPONSIVE - TABLET E SMARTPHONE
   ========================================================= */

@media only screen and (max-width: 700px) {

    .s-lab {
        padding: 13rem 0 6rem;
    }

    .lab-header {
        margin-bottom: 5rem;
    }

    .lab-intro {
        font-size: 1.7rem;
    }

    /* Box tematici e piani su una colonna */

    .lab-topics,
    .lab-plans {
        grid-template-columns: 1fr;
    }

    .lab-topic-box {
        min-height: 140px;
        padding: 2.5rem 2rem;
    }

    .lab-plan {
        min-height: 220px;
        padding: 2.5rem 2rem;
    }

    .lab-plan p {
        min-height: 0;
    }

    /* Lista articoli */

    .lab-article-list li {
        display: block;
    }

    .lab-article-list span {
        display: block;
        margin-top: .5rem;
    }
}


/* =========================================================
   ACCESSIBILITÀ
   Rispetto delle preferenze di movimento ridotto
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .lab-topic-box,
    .lab-topic-box h3,
    .lab-topic-box h3 span,
    .lab-topic-box p,
    .lab-plan,
    .lab-plan h2,
    .lab-plan p,
    .lab-plan .lab-price,
    .lab-plan .lab-price small,
    .lab-plan .lab-note {
        transition: none;
    }
}
