/* ============================================================
   Location Hub — VS Comparison
   File: assets/css/hub/hub-vs.css
   Scope: .hub-vs__* classes only
   Reusable comparison grid (cream): JustClaims vs other adjuster
   types. Mirrors Figma node #2236:716 exactly — a 4-column CSS
   grid of independent rounded pill cells (not a bordered table).
   Row 1 = 3 navy header pills (col 1 blank). Each data row = a
   navy label pill, a blue "JustClaims" pill, and two plain white
   pills. On mobile each row stacks into its own mini card.
   Default OFF; opt-in per page.
   ============================================================ */

.hub-vs {
    background: var(--hub-cream);
    color: var(--hub-navy);
    padding: var(--hub-section-pad) 0;
}

.hub-vs__header {
    text-align: center;
    max-width: 825px;
    margin: 0 auto 50px;
}

.hub-vs__heading {
    font-family: var(--hub-font-serif);
    font-size: 48px;
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: var(--hub-navy);
    margin: 0;
}

.hub-vs__intro {
    font-family: var(--hub-font-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 22.5px;
    letter-spacing: -0.04em;
    color: var(--hub-grey-dark);
    margin: 16px 0 0;
}

/* ============================
   GRID
   ============================
   4 equal-width columns: row label + 3 comparison columns, exactly
   matching the Figma grid ("repeat(4, minmax(0,1fr))", gap 33px/40px).
   `.hub-vs__row` uses display:contents so each row's cells become
   direct grid children (needed for column alignment) while the row
   wrapper still groups them for ARIA + the mobile stacked layout. */

.hub-vs__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 33px 40px;
    max-width: 1220px;
    width: 100%;
    margin: 0 auto;
}

.hub-vs__row {
    display: contents;
}

.hub-vs__cell {
    display: flex;
    align-items: center;
    border-radius: 20px;
    padding: 14px 20px;
    box-sizing: border-box;
}

.hub-vs__cell--blank {
    background: transparent;
}

.hub-vs__cell--header {
    background: var(--hub-navy);
    color: var(--hub-white);
    font-family: var(--hub-font-serif);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1.2;
}

.hub-vs__cell--label {
    background: var(--hub-navy);
    color: var(--hub-white);
    font-family: var(--hub-font-sans);
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0112em;
}

.hub-vs__cell--primary,
.hub-vs__cell--plain {
    font-family: var(--hub-font-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 22.5px;
    letter-spacing: -0.04em;
}

.hub-vs__cell--primary {
    background: var(--hub-blue);
    color: var(--hub-white);
}

.hub-vs__cell--plain {
    background: var(--hub-white);
    color: var(--hub-navy);
}

.hub-vs__footnote {
    font-family: var(--hub-font-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 22.5px;
    letter-spacing: -0.04em;
    color: var(--hub-grey);
    max-width: 825px;
    margin: 40px auto 0;
    text-align: center;
}


/* ============================
   RESPONSIVE — VS
   ============================
   The shared header row hides on mobile and each data row switches
   from display:contents to a stacked column, so the label pill sits
   above its three comparison pills as a self-contained mini card. */

@media (max-width: 768px) {
    .hub-vs__heading {
        font-size: 30px;
    }

    .hub-vs__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .hub-vs__row {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .hub-vs__row--head {
        display: none;
    }

    .hub-vs__cell {
        width: 100%;
    }
}
