/* ================================================================
 * Block: Fit columns — fit_columns
 * Design: Figma "GS - LP Design - Service" §14 FIT
 * Tokens: assets/css/tokens.css only (gaps listed in build report).
 * ================================================================ */

.block-fit_columns {
    background: var(--color-cultured);
    padding-block: calc(var(--verti-padding) + var(--space-6));
}

.block-fit_columns__inner {
    max-width: calc(var(--container-service) + 2 * var(--container-pad));
    margin-inline: auto;
    padding-inline: var(--container-pad);
}

/* ── Head ── */
.block-fit_columns__head {
    display: flex;
    flex-direction: column;
    gap: var(--space-15);
    max-width: var(--measure-quote);
    margin-bottom: calc(var(--space-6) + var(--space-6));
}

.block-fit_columns__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--space-10);
    font-family: var(--font-body);
    font-size: var(--fs-h6);
    font-weight: var(--fw-light);
    line-height: var(--lh-h3);
    text-transform: uppercase;
    color: var(--color-whimsical-blue);
    margin: 0;
}

.block-fit_columns__eyebrow::before {
    content: "";
    flex: none;
    width: 33px;
    height: calc(var(--btn-border-width) / 2);
    background: var(--color-whimsical-blue);
}

.block-fit_columns__heading {
    font-family: var(--font-display);
    font-size: var(--fs-display-50);
    font-weight: var(--fw-heading);
    line-height: var(--lh-heading);
    color: var(--color-yankees-blue);
    margin: 0;
}

.block-fit_columns__heading p {
    margin: 0;
}

/* ── Cards ── */
.block-fit_columns__cards {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
}

@media (min-width: 900px) {
    .block-fit_columns__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.block-fit_columns__card {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: calc(var(--space-6) + var(--space-2));
    border: calc(var(--btn-border-width) / 2) solid var(--color-yankees-blue-08);
    border-radius: var(--radius-md);
    background: var(--color-white);
    min-width: 0;
}

.block-fit_columns__card--not {
    background: var(--color-cultured);
}

.block-fit_columns__label {
    font-family: var(--font-display);
    font-size: var(--fs-h6);
    font-weight: var(--fw-medium);
    line-height: var(--lh-h3);
    color: var(--color-yankees-blue);
    margin: 0;
}

.block-fit_columns__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.block-fit_columns__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-10);
    min-width: 0;
}

.block-fit_columns__icon {
    flex: none;
    /* 3px top offset of the design (icon 18 vs 26.4 line). */
    margin-top: calc(var(--space-1) - (var(--btn-border-width) / 2));
}

.block-fit_columns__icon--check {
    color: var(--color-whimsical-blue);
}

.block-fit_columns__icon--x {
    color: var(--color-pitch-violet);
}

.block-fit_columns__icon-img {
    flex: none;
    width: var(--icon-18);
    height: var(--icon-18);
    object-fit: contain;
    margin-top: calc(var(--space-1) - (var(--btn-border-width) / 2));
}

.block-fit_columns__text {
    font-family: var(--font-body);
    font-size: var(--fs-body);
    font-weight: var(--fw-light);
    line-height: var(--lh-relaxed);
    color: var(--color-yankees-blue);
    min-width: 0;
}
