/*
 * Homepage pubblica
 * --------------------------------------------------------------------------
 * CSS dedicato alla homepage pubblica.
 * Derivato da:
 * - resources/sass/custom/_home.scss
 * - resources/sass/user/_homepage.scss
 * - regole .tc-homecast-* in resources/sass/app.scss
 *
 * Le regole condivise del tema (Bootstrap, navbar, card, Swiper, utility)
 * continuano a essere fornite dal css/app.css del layout.
 */

.top-banner {
    text-decoration: none;
}

.top-banner--sticky {
    position: sticky;
    top: 0;
    z-index: 1040;
}

.homepage .nav-link.become-host {
    color: #fff !important;
}

.homepage .hero-home {
    display: flex;
    position: relative;
    align-items: center;
}

@media (min-width: 768px) {
    .homepage .hero-home {
        min-height: 600px;
    }
}

.homepage .multi-slider {
    height: 100vh;
    min-height: 800px;
}

.homepage .multi-slider .swiper-slide {
    padding-top: 95px;
}

.homepage .search-bar {
    border-radius: 10rem;
    background: #fff;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.homepage .search-bar .form-group {
    position: relative;
    margin-bottom: 0;
}

.homepage .search-bar .form-group::after {
    position: absolute;
    top: 20%;
    right: 0;
    display: block;
    width: 1px;
    height: 60%;
    content: "";
    background: #ddd;
}

.homepage .search-bar .form-group.no-divider::after,
.homepage .search-bar .form-group:last-of-type::after {
    display: none;
}

.homepage .search-bar .form-control {
    height: calc(1.5em + 1rem + 2px);
}

.homepage .search-bar .input-label-absolute-right .label-absolute {
    right: 0;
}

.homepage .search-bar.search-bar-with-tabs {
    border-radius: 0.4rem;
}

@media (max-width: 991.98px) {
    .homepage .search-bar {
        border-radius: 20px;
    }

    .homepage .search-bar .form-group {
        margin-bottom: 1rem;
    }

    .homepage .search-bar .form-group::after {
        position: absolute;
        top: auto;
        right: auto;
        bottom: 0;
        left: 50%;
        display: block;
        width: calc(100% - 4rem);
        height: 1px;
        content: "";
        transform: translateX(-50%);
        background: #dee2e6;
    }

    .homepage .search-bar .form-control {
        height: calc(1.6em + 0.75rem + 2px);
        padding: 10px 20px;
    }

    .homepage .search-bar .input-label-absolute-right .label-absolute {
        right: 1rem;
    }

    .homepage .search-bar .bootstrap-select {
        display: block !important;
        width: 100% !important;
        padding: 0;
    }

    .homepage .search-bar .bootstrap-select button {
        display: block;
        width: 100% !important;
        padding: 10px 20px;
    }
}

.homepage .nav-tabs.search-bar-nav-tabs {
    border-bottom: none;
}

.homepage .nav-tabs.search-bar-nav-tabs .nav-link {
    padding: 1rem 2rem 1.5rem;
    margin-bottom: -10px;
    border: 1px solid transparent;
    border-top-left-radius: 0.4rem;
    border-top-right-radius: 0.4rem;
    color: #495057;
    background-color: rgba(255, 255, 255, 0.5);
    font-weight: bold;
    transition: all 0.2s ease-in-out;
}

.homepage .nav-tabs.search-bar-nav-tabs .nav-link:hover,
.homepage .nav-tabs.search-bar-nav-tabs .nav-link:focus {
    color: #495057;
    background-color: rgba(255, 255, 255, 0.8);
}

.homepage .nav-tabs.search-bar-nav-tabs .nav-link.active,
.homepage .nav-tabs.search-bar-nav-tabs .nav-item.show .nav-link {
    border-color: #fff;
    color: #3e60c1;
    background-color: #fff;
}

.homepage .hero {
    position: relative;
    text-align: center;
    background: #f8f9fa;
    box-shadow: 0 0.05rem 0.3rem rgba(0, 0, 0, 0.1);
}

.homepage .clone-hero-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.homepage .clone-hero-slider .swiper-slide {
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.homepage .advantage-number {
    position: absolute;
    top: -40px;
    left: 20px;
    z-index: -1;
    width: 3rem;
    color: #3e60c1;
    font-size: 90px;
    font-weight: bold;
    text-align: center;
    opacity: 0.5;
}

.homepage .in-evidence-calendars .card-img-top {
    max-height: 350px;
}

.homepage .img-fluid {
    min-width: 100%;
}

.homepage .trustpilot-img {
    min-width: 90% !important;
}

@media (max-width: 767.98px) {
    .homepage .trustpilot-img {
        min-width: 100% !important;
    }
}

.homepage #come-funziona .border-radius {
    border-radius: 29px;
}

body.homepage main {
    margin-top: 0;
}

body.homepage header {
    top: auto;
    z-index: 20;
    width: 100%;
    background: transparent !important;
    box-shadow: none !important;
}

@media (min-width: 768px) {
    body.homepage header {
        position: absolute;
    }

    body.homepage header .brand,
    body.homepage header a#navbarDropdown {
        color: #fff !important;
    }
}

@media (max-width: 991.98px) {
    body.homepage header .search {
        position: relative !important;
        display: block;
    }
}

@media (min-width: 768px) {
    body.homepage header .search {
        position: absolute;
        top: 5rem;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

@media (min-width: 992px) {
    body.homepage header .search {
        top: 9rem;
    }
}

@media (max-width: 767.98px) {
    body.homepage header .search .row > div {
        flex: none;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 1rem;
    }
}

body.homepage header .search {
    width: 100%;
    max-width: 1140px;
}

body.homepage header .search label {
    display: block;
    margin-bottom: -7px;
}

body.homepage header .search .form-control {
    height: calc(1.5em + 0.5rem + 2px);
}

body.homepage header .navbar .become-host a {
    color: #fff !important;
}

body.homepage header .navbar-profile {
    display: none;
}

@media (min-width: 768px) {
    body.homepage .hero-home {
        min-height: 760px;
    }
}

body.homepage .hero-home .claim p {
    font-size: 1.6rem;
}

@media (max-width: 991.98px) {
    body.homepage .hero-home .claim p {
        font-size: 1rem;
        line-height: normal;
    }
}

body.homepage .hero-home .read-more {
    bottom: 1rem;
    margin-top: 3rem;
    font-size: 1rem;
    font-weight: bold;
}

@media (max-width: 991.98px) {
    body.homepage .hero-home .read-more {
        bottom: 0.5rem;
        font-size: 1rem;
    }
}

@media (max-width: 767.98px) {
    body.homepage .hero-home .read-more {
        bottom: 0.5rem;
        display: none;
        font-size: 1rem;
    }
}

body.homepage .testimonial {
    padding: 2.5rem;
}

body.homepage .tc-homecast {
    position: relative;
    overflow: hidden;
    background-position: center;
    background-size: cover;
}

body.homepage .tc-homecast-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

body.homepage .tc-homecast-tint {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.45));
    pointer-events: none;
}

body.homepage .tc-homecast .container {
    position: relative;
    z-index: 3;
}

body.homepage .tc-homecast-surface {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
}

body.homepage .tc-homecast-inner {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(6px);
}

@media (max-width: 991.98px) {
    body.homepage .tc-homecast-surface {
        min-height: 360px;
    }

    body.homepage .tc-homecast-surface::before {
        position: absolute;
        z-index: 1;
        content: "";
        inset: 0;
        background-image: var(--tc-homecast-mobile-bg);
        background-position: center;
        background-size: cover;
        transform: scale(1.02);
    }

    body.homepage .tc-homecast-surface::after {
        position: absolute;
        z-index: 2;
        content: "";
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        pointer-events: none;
    }

    body.homepage .tc-homecast-inner {
        position: relative;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: inherit;
        padding: 14px;
        border: 0;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
    }

    body.homepage .tc-homecast-video {
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    body.homepage .tc-homecast-surface {
        min-height: 300px;
    }
}

body.homepage .tc-homecast-video {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
}

body.homepage .tc-homecast-video-ratio {
    position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: 14px;
    aspect-ratio: 16 / 9;
    background: rgba(0, 0, 0, 0.25);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

body.homepage .tc-homecast-video-ratio iframe {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    inset: 0;
}

body.homepage .tc-video-facade {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: #111827;
    cursor: pointer;
    inset: 0;
}

body.homepage .tc-video-facade img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.homepage .tc-video-facade__play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
    transform: translate(-50%, -50%);
}

body.homepage .tc-video-facade__play::after {
    position: absolute;
    top: 50%;
    left: 53%;
    width: 0;
    height: 0;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 17px solid #2f4787;
    content: "";
    transform: translate(-50%, -50%);
}

body.homepage .tc-video-facade:focus-visible {
    outline: 3px solid #ffd600;
    outline-offset: -3px;
}

@media (max-width: 991.98px) {
    body.homepage .tc-homecast-video-ratio {
        border-radius: 12px;
    }
}

.tc-homecast-desktop {
    display: block;
}

.tc-homecast-mobile {
    display: none;
}

/* Home clone redesign */
.clone-home-redesign {
    --tc-graphite: #333333;
    --tc-gold: #ffe210;
    --tc-french-blue: #283d7b;
    --tc-periwinkle: #c1cceb;
    --tc-slate-indigo: #3f60c1;
    --tc-white: #ffffff;
    --tc-title-font: "Roboto Condensed", "Arial Narrow", sans-serif;
    --tc-body-font: "Geologica", "Inter", "Segoe UI", system-ui, sans-serif;
}

.clone-home-redesign { font-family: var(--tc-body-font); }
.clone-home-redesign main { overflow: hidden; color: var(--tc-graphite); font-family: var(--tc-body-font); }
.clone-home-redesign h1,
.clone-home-redesign h2,
.clone-home-redesign h3 { color: var(--tc-graphite); font-family: var(--tc-title-font); font-weight: 400; line-height: .95; letter-spacing: .015em; text-transform: uppercase; }
.clone-home-redesign h2 { font-size: clamp(2.15rem, 4vw, 3.6rem); }
.clone-home-redesign .tc-section { padding: 6.5rem 0; }
.clone-home-redesign .tc-kicker { display: inline-block; margin-bottom: 1rem; color: var(--tc-french-blue); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.clone-home-redesign .tc-section .tc-kicker,
.clone-home-redesign .tc-guarantee .tc-kicker {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    margin-bottom: 18px;
    color: var(--tc-slate-indigo);
    font-size: 13px;
    letter-spacing: .12em;
}
.clone-home-redesign .tc-section .tc-kicker::before,
.clone-home-redesign .tc-guarantee .tc-kicker::before {
    width: 34px;
    height: 4px;
    flex: 0 0 auto;
    border-radius: 999px;
    content: "";
    background: var(--tc-gold);
}
.clone-home-redesign .tc-heading { max-width: 760px; margin: 0 auto 3.2rem; text-align: center; }
.clone-home-redesign .tc-heading-left { margin-left: 0; text-align: left; }
.clone-home-redesign .tc-heading p,
.clone-home-redesign .tc-athena p,
.clone-home-redesign .tc-community > .container p { color: var(--tc-graphite); font-size: 1.1rem; line-height: 1.75; opacity: .78; }

.clone-home-redesign .tc-new-hero { position: relative; overflow: hidden; padding: 8rem 0 3rem; background: var(--tc-periwinkle); }
.clone-home-redesign .tc-new-hero::before,
.clone-home-redesign .tc-new-hero::after {
    position: absolute;
    z-index: 0;
    content: "";
    pointer-events: none;
    -webkit-mask: url('/img/SHAPE_10.svg') center / contain no-repeat;
    mask: url('/img/SHAPE_10.svg') center / contain no-repeat;
}
.clone-home-redesign .tc-new-hero::before {
    top: 8.5rem;
    left: -3rem;
    width: 30rem;
    height: 20rem;
    background-color: rgba(255,255,255,.27);
    transform: rotate(-4deg);
}
.clone-home-redesign .tc-new-hero::after {
    right: -4rem;
    bottom: -1rem;
    width: 32rem;
    height: 22rem;
    background-color: rgba(63,96,193,.19);
    transform: rotate(4deg);
}
.clone-home-redesign .tc-new-hero .container { position: relative; z-index: 1; }
.clone-home-redesign .tc-new-hero h1 { max-width: 650px; margin-bottom: 1.5rem; color: var(--tc-graphite); font-size: clamp(3rem, 5.5vw, 5.3rem); letter-spacing: -.045em; }
.clone-home-redesign .tc-new-hero .tc-kicker { position: relative; padding: .5rem .85rem .5rem 1.8rem; border: 1px solid rgba(40,61,123,.18); border-radius: 999px; color: var(--tc-french-blue); background: rgba(255,255,255,.5); }
.clone-home-redesign .tc-new-hero .tc-kicker::before { position: absolute; top: 50%; left: .75rem; width: .55rem; height: .55rem; border-radius: 50%; content: ""; background: var(--tc-gold); transform: translateY(-50%); }
.clone-home-redesign .tc-new-hero-copy > p { max-width: 620px; color: var(--tc-graphite); font-size: 1.2rem; line-height: 1.7; opacity: .8; }
.clone-home-redesign .tc-new-hero .btn-outline-primary { border-color: var(--tc-french-blue); color: var(--tc-french-blue); }
.clone-home-redesign .tc-new-hero .btn-outline-primary:hover { color: var(--tc-white); background: var(--tc-french-blue); }
.clone-home-redesign .tc-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.clone-home-redesign .tc-actions--desktop { display: flex; }
.clone-home-redesign .tc-actions--mobile { display: none; }
.clone-home-redesign .tc-new-video { padding: 14px; border: 1px solid rgba(40,61,123,.12); border-radius: 24px; background: var(--tc-white); box-shadow: 18px 20px 0 var(--tc-slate-indigo); transform: rotate(1.5deg); }
.clone-home-redesign .tc-homecast-video-ratio { border-radius: 15px; box-shadow: none; }

body.clone-home-redesign header {
    background: var(--tc-white) !important;
    box-shadow: 0 1px 0 rgba(40,61,123,.1) !important;
}

body.clone-home-redesign header .brand,
body.clone-home-redesign header a#navbarDropdown,
body.clone-home-redesign header .navbar .become-host a {
    color: var(--tc-graphite) !important;
}

body.clone-home-redesign header a#navbarDropdown .noun-menu {
    color: var(--tc-white) !important;
}

.clone-home-redesign .tc-trust-strip { position: relative; z-index: 2; color: var(--tc-white); background: var(--tc-french-blue); }
.clone-home-redesign .tc-stats { display: grid; grid-template-columns: repeat(3, 1fr); }
.clone-home-redesign .tc-stats div { position: relative; padding: 1.8rem; text-align: center; border-right: 1px solid rgba(255,255,255,.16); }
.clone-home-redesign .tc-stats div::after { position: absolute; bottom: 0; left: 50%; width: 38px; height: 3px; border-radius: 3px 3px 0 0; content: ""; background: var(--tc-gold); transform: translateX(-50%); }
.clone-home-redesign .tc-stats div:last-child { border: 0; }
.clone-home-redesign .tc-stats strong,
.clone-home-redesign .tc-stats span { display: block; }
.clone-home-redesign .tc-stats strong { color: var(--tc-white); font-size: 1.75rem; }
.clone-home-redesign .tc-stats span { opacity: .78; }

.clone-home-redesign .tc-card { display: flex; flex-direction: column; height: 100%; padding: 2.2rem; border: 1px solid rgba(40,61,123,.12); border-radius: 20px; background: var(--tc-white); box-shadow: 0 14px 40px rgba(40,61,123,.08); transition: .25s ease; }
.clone-home-redesign .tc-card:hover { transform: translateY(-7px); box-shadow: 0 22px 50px rgba(30,48,99,.14); }
.clone-home-redesign .tc-card-number { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 2rem; border-radius: 14px; color: var(--tc-french-blue); background: var(--tc-gold); font-weight: 900; }
.clone-home-redesign .tc-card h3 { min-height: 2.4em; font-size: 1.55rem; }
.clone-home-redesign .tc-card p { flex-grow: 1; min-height: 9em; color: var(--tc-graphite); line-height: 1.65; opacity: .78; }
.clone-home-redesign .tc-card a,
.clone-home-redesign .tc-text-link { color: var(--tc-slate-indigo); font-weight: 800; }

.clone-home-redesign .tc-method { background: var(--tc-periwinkle); }
.clone-home-redesign .tc-method-card { height: 100%; padding: 1.75rem; border-radius: 16px; background: var(--tc-white); box-shadow: 0 10px 30px rgba(40,61,123,.09); }
.clone-home-redesign .tc-method-card > span { color: var(--tc-gold); font-size: 2rem; font-weight: 900; text-shadow: -1px -1px 0 var(--tc-french-blue), 1px 1px 0 var(--tc-french-blue); }
.clone-home-redesign .tc-method-card h3 { margin: 1rem 0; font-size: 1.25rem; }
.clone-home-redesign .tc-method-card p { margin: 0; color: var(--tc-graphite); line-height: 1.65; opacity: .78; }

.clone-home-redesign .tc-athena-visual { overflow: hidden; border-radius: 20px; background: var(--tc-white); box-shadow: 0 22px 60px rgba(40,61,123,.18); }
.clone-home-redesign .tc-athena-visual picture,
.clone-home-redesign .tc-athena-image { display: block; width: 100%; }
.clone-home-redesign .tc-athena-image { height: auto; }
.clone-home-redesign .tc-browser-bar { padding: 14px 18px; background: var(--tc-periwinkle); }
.clone-home-redesign .tc-browser-bar i { display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 50%; background: var(--tc-slate-indigo); opacity: .55; }
.clone-home-redesign .tc-athena-screen { min-height: 350px; padding: 3rem; color: var(--tc-white); background: linear-gradient(145deg, var(--tc-slate-indigo), var(--tc-french-blue)); }
.clone-home-redesign .tc-athena-screen strong,
.clone-home-redesign .tc-athena-screen span { display: block; }
.clone-home-redesign .tc-athena-screen strong { color: var(--tc-gold); font-size: 2.4rem; }
.clone-home-redesign .tc-athena-cta { white-space: normal; }
.clone-home-redesign .tc-chart { display: flex; align-items: flex-end; gap: 8%; height: 175px; margin-top: 2rem; padding: 1.5rem; border-radius: 14px; background: rgba(255,255,255,.08); }
.clone-home-redesign .tc-chart i { flex: 1; border-radius: 7px 7px 0 0; background: linear-gradient(var(--tc-gold), var(--tc-white)); }

.clone-home-redesign .tc-guarantee { position: relative; overflow: hidden; padding: 4rem 0; color: var(--tc-white); background: var(--tc-slate-indigo); }
.clone-home-redesign .tc-guarantee::after { position: absolute; top: -8rem; right: -5rem; width: 24rem; height: 24rem; border: 5rem solid rgba(193,204,235,.16); border-radius: 50%; content: ""; }
.clone-home-redesign .tc-guarantee-inner { display: flex; align-items: center; gap: 2.5rem; max-width: 900px; margin: auto; }
.clone-home-redesign .tc-guarantee-inner { position: relative; z-index: 1; }
.clone-home-redesign .tc-guarantee h2 { color: var(--tc-white); }
.clone-home-redesign .tc-guarantee p { margin: 0; color: var(--tc-white); font-size: 1.05rem; line-height: 1.7; opacity: .78; }
.clone-home-redesign .tc-guarantee .tc-kicker { color: var(--tc-gold); }
.clone-home-redesign .tc-guarantee-mark { display: grid; flex: 0 0 130px; width: 130px; height: 130px; place-items: center; border: 4px solid var(--tc-gold); border-radius: 50%; color: var(--tc-gold); font-size: 3rem; font-weight: 900; transform: rotate(-8deg); }

.clone-home-redesign .tc-courses { background: rgba(193,204,235,.35); }
.clone-home-redesign .tc-course-card { overflow: hidden; height: 100%; border-radius: 14px; background: var(--tc-white); box-shadow: 0 12px 35px rgba(40,61,123,.1); }
.clone-home-redesign .tc-course-image { position: relative; display: block; height: 220px; overflow: hidden; }
.clone-home-redesign .tc-course-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.clone-home-redesign .tc-course-card:hover img { transform: scale(1.04); }
.clone-home-redesign .tc-course-image span { position: absolute; top: 14px; right: 14px; padding: .4rem .8rem; border-radius: 50px; color: var(--tc-french-blue); background: var(--tc-gold); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.clone-home-redesign .tc-course-body { padding: 1.25rem; }
.clone-home-redesign .tc-course-body h3 { margin-bottom: 1rem; font-family: "Roboto Condensed", "Arial Narrow", sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.3; }
.clone-home-redesign .tc-course-body h3 a { color: var(--tc-slate-indigo); text-decoration: none; }
.clone-home-redesign .tc-course-body h3 a:hover { color: var(--tc-french-blue); text-decoration: none; }
.clone-home-redesign .tc-course-body .tc-course-hours { margin: 0; color: #868e96; font-family: "Geologica", "Inter", "Segoe UI", system-ui, sans-serif; font-size: .875rem; font-weight: 400; line-height: 1.6; opacity: 1; }
.clone-home-redesign .tc-course-hours .noun-clock { margin-right: .15rem; }

.clone-home-redesign .tc-community { background: var(--tc-white); }
.clone-home-redesign .tc-community blockquote { position: relative; margin: 0; padding: 3.5rem 2.4rem 2.4rem; border-radius: 20px; background: var(--tc-periwinkle); color: var(--tc-graphite); box-shadow: 18px 18px 0 var(--tc-gold); }
.clone-home-redesign .tc-community blockquote::before { position: absolute; top: -12px; left: 22px; content: "“"; color: var(--tc-french-blue); font-size: 6.5rem; font-weight: 900; line-height: 1; }
.clone-home-redesign .tc-community blockquote p { position: relative; color: var(--tc-graphite); font-size: 1.2rem; font-style: italic; line-height: 1.7; opacity: 1; }
.clone-home-redesign .tc-community blockquote footer { color: rgba(51,51,51,.68); font-size: .85rem; }

.clone-home-redesign .tc-tutors { background: linear-gradient(180deg, rgba(193,204,235,.42), rgba(255,255,255,.78)); }
.clone-home-redesign .tc-tutors-row { align-items: stretch; }
.clone-home-redesign .tc-tutor-card { display: flex; width: 100%; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid rgba(40,61,123,.12); border-bottom: 6px solid var(--tc-french-blue); border-radius: 22px; background: var(--tc-white); box-shadow: 0 16px 38px rgba(40,61,123,.1); transition: transform .25s ease, box-shadow .25s ease; }
.clone-home-redesign .tc-tutor-card:hover { box-shadow: 0 22px 46px rgba(40,61,123,.16); transform: translateY(-5px); }
.clone-home-redesign .tc-tutor-card__header { position: relative; padding: 1.35rem 1.8rem 1.2rem; text-align: center; background: var(--tc-white); }
.clone-home-redesign .tc-tutor-card__header::after { position: absolute; right: 38%; bottom: .75rem; left: 38%; height: 3px; border-radius: 999px; content: ""; background: var(--tc-gold); }
.clone-home-redesign .tc-tutor-card__portrait { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; background: linear-gradient(145deg, var(--tc-periwinkle), rgba(255,226,16,.4)); }
.clone-home-redesign .tc-tutor-card__portrait--manuela { background: linear-gradient(145deg, rgba(255,226,16,.32), var(--tc-periwinkle)); }
.clone-home-redesign .tc-tutor-card__portrait--natale { background: linear-gradient(145deg, rgba(193,204,235,.72), rgba(73,101,203,.2)); }
.clone-home-redesign .tc-tutor-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.8rem; }
.clone-home-redesign .tc-tutor-card h3 { margin: 0; color: var(--tc-french-blue); font-size: 1.55rem; }
.clone-home-redesign .tc-tutor-card p { margin-bottom: 1rem; color: var(--tc-graphite); line-height: 1.65; opacity: .8; }
.clone-home-redesign .tc-tutor-card p:last-child { margin-bottom: 0; }

.clone-home-redesign .tc-team { background: radial-gradient(circle at 50% 0, rgba(193,204,235,.48), transparent 38%), var(--tc-white); }
.clone-home-redesign .tc-team-card { position: relative; overflow: hidden; padding: 56px 43px; border-radius: 28px; color: var(--tc-white); background: linear-gradient(145deg, var(--tc-french-blue), var(--tc-slate-indigo)); box-shadow: 0 25px 65px rgba(40,61,123,.2); }
.clone-home-redesign .tc-team-card::before { position: absolute; top: 0; left: 18%; width: 64%; height: 6px; border-radius: 0 0 20px 20px; content: ""; background: linear-gradient(90deg, var(--tc-periwinkle), var(--tc-slate-indigo), var(--tc-gold)); }
.clone-home-redesign .tc-team-card h2 { max-width: 850px; margin: 0 auto; color: var(--tc-white); font-size: clamp(43px, 6vw, 74px); line-height: .94; }
.clone-home-redesign .tc-team-card > p { max-width: 730px; margin: 23px auto 0; color: rgba(255,255,255,.8); font-size: 17px; line-height: 1.72; }
.clone-home-redesign .tc-team-card .tc-kicker { justify-content: center; color: var(--tc-white); }
.clone-home-redesign .tc-team-row { display: flex; flex-wrap: wrap; justify-content: center; margin: 36px 0 24px; }
.clone-home-redesign .tc-team-member { flex: 0 0 16.666667%; max-width: 16.666667%; text-align: center; }
.clone-home-redesign .tc-team-member img { display: block; width: 104px; height: 104px; margin: 0 auto 14px; border: 4px solid transparent; border-radius: 50%; object-fit: cover; background: linear-gradient(135deg, rgba(255,226,16,.75), rgba(193,204,235,.9)) border-box; box-shadow: 0 10px 26px rgba(0,0,0,.18); }
.clone-home-redesign .tc-team-member strong { display: block; font-size: 14px; font-weight: 800; }
.clone-home-redesign .tc-team-card .tc-team-cta { border-color: var(--tc-gold); color: var(--tc-graphite); background: var(--tc-gold); box-shadow: 0 12px 30px rgba(255,226,16,.28); transition: transform .2s, box-shadow .2s; }
.clone-home-redesign .tc-team-card .tc-team-cta:hover,
.clone-home-redesign .tc-team-card .tc-team-cta:focus { border-color: var(--tc-gold); color: var(--tc-graphite); background: var(--tc-gold); box-shadow: 0 18px 38px rgba(255,226,16,.36); transform: translateY(-2px); }
.clone-home-redesign .tc-team-card .btn-wa { border-color: #25d366; color: var(--tc-white) !important; background: #25d366; box-shadow: 0 9px 0 rgba(51,51,51,.18), 0 16px 28px rgba(51,51,51,.2); transition: transform .2s, box-shadow .2s, color .2s, background-color .2s; }
.clone-home-redesign .tc-team-card .btn-wa:hover,
.clone-home-redesign .tc-team-card .btn-wa:focus { border-color: #20bd5a; color: var(--tc-graphite) !important; background: #20bd5a; box-shadow: 0 5px 0 rgba(51,51,51,.2), 0 11px 20px rgba(51,51,51,.18); transform: translateY(4px); }

.clone-home-redesign .tc-press { background: var(--tc-periwinkle); }
.clone-home-redesign .tc-press-carousel-shell { position: relative; }
.clone-home-redesign .tc-press-carousel { position: relative; overflow: hidden; padding: 1rem 4px 2rem; cursor: grab; touch-action: pan-y; }
.clone-home-redesign .tc-press-carousel.is-dragging { cursor: grabbing; user-select: none; }
.clone-home-redesign .tc-press-carousel__track { display: flex; gap: 28px; align-items: stretch; will-change: transform; }
.clone-home-redesign .tc-press-carousel__slide { flex: 0 0 calc((100% - 56px) / 3); min-width: 0; scroll-snap-align: start; }
.clone-home-redesign .tc-press-carousel__arrow { display: grid; position: absolute; z-index: 20; top: 50%; width: 58px; height: 72px; padding: 0; place-items: center; border: 0; border-radius: 14px; color: var(--tc-white); background: var(--tc-french-blue); box-shadow: 7px 7px 0 var(--tc-gold); transform: translateY(-50%); transition: transform .2s, box-shadow .2s, opacity .2s; cursor: pointer; pointer-events: auto; }
.clone-home-redesign .tc-press-carousel__arrow--previous { left: -82px; }
.clone-home-redesign .tc-press-carousel__arrow--next { right: -82px; }
.clone-home-redesign .tc-press-carousel__arrow svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.clone-home-redesign .tc-press-carousel__arrow:hover { box-shadow: 4px 4px 0 var(--tc-gold); transform: translateY(calc(-50% + 3px)); }
.clone-home-redesign .tc-press-carousel__arrow:disabled { opacity: .28; box-shadow: none; cursor: default; transform: translateY(-50%); }
.clone-home-redesign .tc-press-card { height: 100%; padding: 2rem; border-radius: 18px; background: var(--tc-white); box-shadow: 0 12px 35px rgba(40,61,123,.08); }
.clone-home-redesign .tc-press-card > a { display: flex; min-height: 180px; margin-bottom: 1.25rem; align-items: center; justify-content: center; overflow: hidden; }
.clone-home-redesign .tc-press-card img { width: 100%; max-width: 360px; height: 155px; margin: 0; object-fit: contain; transform: scale(1.25); }
.clone-home-redesign .tc-press-card p { color: var(--tc-graphite); line-height: 1.65; opacity: .78; }
.clone-home-redesign .tc-partners { position: relative; isolation: isolate; padding-bottom: 5rem; background: var(--tc-white); }
.clone-home-redesign .tc-logo-carousel { position: relative; z-index: 5; overflow: hidden; padding: 1rem 4px 2rem; cursor: grab; touch-action: pan-y; pointer-events: auto; }
.clone-home-redesign .tc-logo-carousel * { pointer-events: auto; }
.clone-home-redesign .tc-logo-carousel.is-dragging { cursor: grabbing; user-select: none; }
.clone-home-redesign .tc-logo-carousel__track { display: flex; gap: 28px; will-change: transform; }
.clone-home-redesign .tc-logo-carousel__slide { flex: 0 0 calc((100% - 56px) / 3); min-width: 0; }
.clone-home-redesign .tc-logo-carousel__card { display: grid; height: 180px; padding: 2rem; place-items: center; border: 2px solid rgba(40,61,123,.12); border-radius: 22px; background: var(--tc-white); box-shadow: 0 12px 28px rgba(40,61,123,.09); }
.clone-home-redesign .tc-logo-carousel__card a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.clone-home-redesign .tc-logo-carousel__card img { width: auto; max-width: 100%; height: 125px; object-fit: contain; opacity: .9; transition: .2s; }
.clone-home-redesign .tc-logo-carousel__card:hover img { opacity: 1; transform: scale(1.03); }
.clone-home-redesign .tc-logo-carousel__navigation { display: inline-flex; position: relative; z-index: 20; left: 50%; justify-content: center; gap: .4rem; padding: .4rem; margin-top: .5rem; border: 1px solid rgba(40,61,123,.12); border-radius: 999px; background: rgba(193,204,235,.45); box-shadow: 0 8px 22px rgba(40,61,123,.1); transform: translateX(-50%); pointer-events: auto; }
.clone-home-redesign .tc-logo-carousel__navigation button { display: grid; width: 46px; height: 46px; padding: 0; place-items: center; border: 1px solid transparent; border-radius: 50%; color: var(--tc-french-blue); background: var(--tc-white); transition: .2s; cursor: pointer; }
.clone-home-redesign .tc-logo-carousel__navigation button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.clone-home-redesign .tc-logo-carousel__navigation button:hover { border-color: var(--tc-french-blue); color: var(--tc-white); background: var(--tc-french-blue); transform: translateY(-2px); }
.clone-home-redesign .tc-logo-carousel__navigation button:disabled { opacity: .35; cursor: default; transform: none; }

@media (max-width: 991.98px) {
    .clone-home-redesign .tc-new-hero { padding-top: 7rem; text-align: center; }
    .clone-home-redesign .tc-new-hero-copy { margin-bottom: 1rem; }
    .clone-home-redesign .tc-new-hero-copy > p { margin-right: auto; margin-left: auto; }
    .clone-home-redesign .tc-actions--desktop { display: none; }
    .clone-home-redesign .tc-new-video { transform: none; }
    .clone-home-redesign .tc-heading-left { margin: 0 auto 3rem; text-align: center; }
    .clone-home-redesign .tc-logo-carousel__slide { flex-basis: calc((100% - 18px) / 2); }
    .clone-home-redesign .tc-press-carousel__track { gap: 18px; }
    .clone-home-redesign .tc-press-carousel__slide { flex-basis: calc((100% - 18px) / 2); }
    .clone-home-redesign .tc-press-carousel-shell { padding: 0 54px; }
    .clone-home-redesign .tc-press-carousel__arrow { width: 44px; height: 58px; border-radius: 12px; box-shadow: 4px 4px 0 var(--tc-gold); }
    .clone-home-redesign .tc-press-carousel__arrow--previous { left: 0; }
    .clone-home-redesign .tc-press-carousel__arrow--next { right: 0; }
}

@media (min-width: 992px) {
    body.clone-home-redesign .py-4.px-3.py-lg-6.bg-gray-200 {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
}

@media (max-width: 767.98px) {
    body.clone-home-redesign header {
        position: absolute;
        z-index: 20;
        width: 100%;
        background: var(--tc-white) !important;
        box-shadow: 0 1px 0 rgba(40,61,123,.1) !important;
    }

    body.clone-home-redesign header .brand,
    body.clone-home-redesign header a#navbarDropdown,
    body.clone-home-redesign header .navbar .become-host a {
        color: var(--tc-graphite) !important;
    }

    body.clone-home-redesign header .navbar {
        padding-right: 0;
        padding-left: 0;
    }

    .clone-home-redesign .tc-section { padding: 4.5rem 0; }
    .clone-home-redesign .tc-new-hero { padding-top: 8.5rem; }
    .clone-home-redesign .tc-new-hero::before { top: 7.5rem; left: -8rem; width: 25rem; height: 17rem; transform: rotate(-5deg); }
    .clone-home-redesign .tc-new-hero::after { right: -9rem; bottom: 0; width: 27rem; height: 19rem; transform: rotate(5deg); }
    .clone-home-redesign .tc-new-hero h1 { font-size: 2.65rem; }
    .clone-home-redesign .tc-actions--mobile { display: grid; }
    .clone-home-redesign .tc-new-video { margin-right: 10px; box-shadow: 10px 12px 0 var(--tc-slate-indigo); }
    .clone-home-redesign .tc-stats { grid-template-columns: 1fr; }
    .clone-home-redesign .tc-stats div { padding: 1.25rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
    .clone-home-redesign .tc-card h3,
    .clone-home-redesign .tc-card p { min-height: 0; }
    .clone-home-redesign .tc-guarantee-inner { display: flex; flex-direction: column; text-align: center; }
    .clone-home-redesign .tc-guarantee-inner > div:not(.tc-guarantee-mark) { order: 1; }
    .clone-home-redesign .tc-guarantee-mark { order: 2; margin: 2rem auto 0; }
    .clone-home-redesign .tc-tutor-card__body { min-height: 430px; }
    .clone-home-redesign .tc-team-card { padding: 42px 20px; }
    .clone-home-redesign .tc-team-card > p { font-size: 15px; }
    .clone-home-redesign .tc-team-row { margin: 28px -6px 24px; row-gap: 24px; }
    .clone-home-redesign .tc-team-member { flex: 0 0 50%; max-width: 50%; padding-right: 6px; padding-left: 6px; }
    .clone-home-redesign .tc-team-member img { width: 108px; height: 108px; margin-bottom: 10px; }
    .clone-home-redesign .tc-team-member strong { font-size: 16px; }
    .clone-home-redesign .tc-community blockquote { box-shadow: 10px 10px 0 var(--tc-gold); }
    .clone-home-redesign .tc-logo-carousel__track { gap: 18px; }
    .clone-home-redesign .tc-logo-carousel__card { height: 155px; padding: 1.5rem; }
    .clone-home-redesign .tc-logo-carousel__card img { height: 105px; }
    .clone-home-redesign .tc-press-carousel__slide { flex-basis: 100%; }
    .clone-home-redesign .tc-press-card > a { min-height: 145px; }
    .clone-home-redesign .tc-press-card img { height: 128px; }
}

@media (max-width: 479.98px) {
    .clone-home-redesign .tc-new-hero-copy > p { font-size: 1.08rem; line-height: 1.6; }
    .clone-home-redesign .tc-logo-carousel__slide { flex-basis: 100%; }
    .clone-home-redesign .tc-press-carousel__slide { flex-basis: 100%; }
    .clone-home-redesign .tc-press-carousel-shell { padding: 0 42px; }
    .clone-home-redesign .tc-press-carousel__arrow { width: 36px; height: 50px; box-shadow: 3px 3px 0 var(--tc-gold); }
    .clone-home-redesign .tc-tutor-card__body { min-height: 570px; }
    .clone-home-redesign .tc-heading { margin-bottom: 2.5rem; }
    .clone-home-redesign .tc-heading h2,
    .clone-home-redesign h2 { font-size: 2.15rem; }
}

@media (max-width: 380px) {
    .clone-home-redesign .tc-team-member img { width: 94px; height: 94px; }
    .clone-home-redesign .tc-team-member strong { font-size: 14px; }
}

@media (max-width: 767.98px) {
    .tc-homecast-desktop {
        display: none !important;
    }

    .tc-homecast-mobile {
        display: block !important;
    }
}

/* Visibilità CTA Hero */
@media (min-width: 992px) { .clone-home-redesign .tc-actions--desktop { display:flex !important; } .clone-home-redesign .tc-actions--mobile { display:none !important; } }

@media (max-width: 991.98px) { .clone-home-redesign .tc-actions--desktop { display:none !important; } .clone-home-redesign .tc-actions--mobile { display:flex !important; justify-content:center; margin-top:2.5rem; } }

@media (max-width: 767.98px) { .clone-home-redesign .tc-actions--mobile { display:grid !important; width:100%; } .clone-home-redesign .tc-actions--mobile .btn { width:100%; } }
