.comparison-table {
    width: 100%;
}

.comparison-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; /* equal column widths, fills full width */
}

.comparison-table__descriptor {
    text-align: left;
    width: 30%;
    padding: 1rem;
    vertical-align: middle;
    border-right: 1px solid var(--border-dark);
    border-bottom: 1px solid var(--border-dark);
}

.comparison-table__col,
.comparison-table__cell {
    font-family: var(--body-font);
    font-size: 1.25rem;
    text-align: center;
    padding: 1rem;
    vertical-align: middle;
    border-right: 1px solid var(--border-dark);
    border-bottom: 1px solid var(--border-dark);
    
}



.comparison-table__col {
    border-top: 1px solid var(--border-dark);
}

.comparison-table__col picture {
    padding-bottom: 1rem;
}

/* center icon + text together inside the cell */
.comparison-table__cell {
    display: table-cell; /* keep as table-cell for layout */
}

.comparison-table__cell > * {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

/* if icon and text are siblings, wrap them */
.cell-icon,
.cell-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cell-icon svg,
.cell-icon img {
    width: 2rem;
    height: 2rem;
    max-width: 2rem;
    max-height: 2rem;
}

.comparison-table__cell.is-positive span svg { color: var(--green-600); }
.comparison-table__cell.is-negative span svg { color: var(--text-dull); }

/* column header */
.comparison-table__col {
    vertical-align: top; /* align headers to bottom if heights differ */
}

.col-title {
    font-size: 1.5rem;
    display: block;
}

.col-description {
    display: block;
    opacity: 0.7;
    font-weight: var(--regular);
}

.descriptor-title {
    font-size: 1.5rem;
    display: block;
}

.descriptor-description {
    display: block;
    opacity: 0.7;
    font-weight: var(--regular);
}

.cell-inner {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}