/**
 * Tacticalia Business Discovery
 *
 * Sezione Servizi per Team.
 */


/*
 * ============================================================
 * SECTION
 * ============================================================
 */

.tbdc-team-services {
    position: relative;

    overflow: hidden;

    padding:
        38px clamp(28px, 3vw, 46px);

    background-color:
        var(--tbdc-primary-deep);

    background-image:
        linear-gradient(90deg,
            rgba(39, 51, 33, .97) 0%,
            rgba(39, 51, 33, .93) 48%,
            rgba(39, 51, 33, .78) 72%,
            rgba(39, 51, 33, .58) 100%),
        url('../images/team-services-bg.jpg');

    background-repeat:
        no-repeat,
        no-repeat;

    background-position:
        center center,
        right center;

    background-size:
        100% 100%,
        auto 100%;

    color:
        #FFFFFF;
}

/*
 * Leggero overlay per uniformare
 * il background fotografico.
 */

.tbdc-team-services::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        rgba(16, 24, 32, .10);

    pointer-events: none;
}


/*
 * ============================================================
 * INNER
 * ============================================================
 */

.tbdc-team-services__inner {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(260px, .9fr) minmax(460px, 1.5fr) minmax(170px, .5fr);

    align-items: center;

    gap:
        clamp(28px, 4vw, 62px);
}


/*
 * ============================================================
 * INTRO
 * ============================================================
 */

.tbdc-team-services__intro {
    max-width: 420px;
}

.tbdc-team-services__eyebrow {
    display: block;

    margin-bottom: 8px;

    color:
        var(--tbdc-accent);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .15em;
    text-transform: uppercase;
}

.tbdc-team-services__title {
    margin: 0;

    color: #FFFFFF;

    font-size:
        clamp(27px, 2.4vw, 36px);

    font-weight: 700;
    line-height: 1.1;

    letter-spacing: -.025em;
}

.tbdc-team-services__description {
    margin:
        14px 0 0;

    color:
        rgba(255, 255, 255, .84);

    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
}


/*
 * ============================================================
 * SERVICES GRID
 * ============================================================
 */

.tbdc-team-services__grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        24px 30px;
}


/*
 * ============================================================
 * SERVICE
 * ============================================================
 */

.tbdc-team-service {
    display: grid;

    grid-template-columns:
        44px minmax(0, 1fr);

    align-items: center;

    gap: 12px;

    min-width: 0;

    color:
        rgba(255, 255, 255, .92) !important;

    text-decoration:
        none !important;

    transition:
        color .18s ease,
        transform .18s ease;
}

.tbdc-team-service:hover,
.tbdc-team-service:focus {
    color:
        #FFFFFF !important;

    transform:
        translateX(2px);
}


/*
 * ============================================================
 * ICON
 * ============================================================
 */

.tbdc-team-service__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    color:
        var(--tbdc-accent);
}

.tbdc-team-service__icon .dashicons {
    width: 34px;
    height: 34px;

    font-size: 34px;
    line-height: 34px;

    color: inherit;
}


/*
 * ============================================================
 * SERVICE TITLE
 * ============================================================
 */

.tbdc-team-service__title {
    max-width: 160px;

    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}


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

.tbdc-team-services__action {
    display: flex;
    justify-content: flex-end;
}

.tbdc-team-services__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-width: 170px;
    min-height: 52px;

    padding:
        0 22px;

    border:
        1px solid var(--tbdc-accent) !important;

    border-radius: 7px;

    background:
        var(--tbdc-primary) !important;

    color:
        #FFFFFF !important;

    font-size: 12px;
    font-weight: 700;

    text-decoration:
        none !important;

    box-shadow:
        0 10px 24px rgba(0, 0, 0, .18);

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

.tbdc-team-services__cta:hover,
.tbdc-team-services__cta:focus {
    border-color:
        var(--tbdc-accent) !important;

    background:
        var(--tbdc-primary-hover) !important;

    color:
        #FFFFFF !important;

    transform:
        translateY(-1px);
}

.tbdc-team-services__cta .dashicons {
    width: 17px;
    height: 17px;

    font-size: 17px;
    line-height: 17px;
}


/*
 * ============================================================
 * ACCESSIBILITY
 * ============================================================
 */

.tbdc-team-service:focus-visible,
.tbdc-team-services__cta:focus-visible {
    outline:
        2px solid var(--tbdc-accent);

    outline-offset: 3px;
}


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

@media (max-width: 1100px) {

    .tbdc-team-services__inner {
        grid-template-columns:
            minmax(220px, .85fr) minmax(400px, 1.4fr);

        gap: 34px;
    }

    .tbdc-team-services__action {
        grid-column: 1 / -1;

        justify-content: flex-end;
    }

    .tbdc-team-services__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


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

@media (max-width: 768px) {

    .tbdc-team-services {
        padding:
            32px 18px 36px;
    }

    .tbdc-team-services__inner {
        grid-template-columns: 1fr;

        gap: 28px;
    }

    .tbdc-team-services__intro {
        max-width: none;
    }

    .tbdc-team-services__grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .tbdc-team-service__title {
        max-width: none;
    }

    .tbdc-team-services__action {
        grid-column: auto;

        justify-content: stretch;
    }

    .tbdc-team-services__cta {
        width: 100%;
    }
}