.activ8-grant-table {
    width: 100%;
}

/* ── Scroll wrapper ───────────────────────────────────── */

.activ8-grant-table__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.activ8-grant-table__inner {
    min-width: calc(var(--gt-cols, 3) * 160px);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ── Header + Footer: separate pill cells with gaps ──── */

.activ8-grant-table__header,
.activ8-grant-table__footer {
    display: grid;
    grid-template-columns: repeat(var(--gt-cols, 3), minmax(0, 1fr));
    gap: 1rem;
    margin: 0.5rem 0;
}

.activ8-grant-table__hcell {
    background: var(--gt-header-bg, #f2f2f2);
    color: var(--gt-header-text, #0D1B3E);
    font-weight: 700;
    font-size: var(--text-sm);
    text-align: center;
    padding: 14px 20px;
    border-radius: 8px;
}

.activ8-grant-table__tcell {
    background: var(--gt-accent, #1DB0A0);
    color: var(--gt-total-text, #fff);
    font-weight: 700;
    font-size: var(--text-base);
    text-align: center;
    padding: 18px 20px;
    border-radius: 8px;
}

/* ── Content: one shared bordered wrapper ────────────── */

.activ8-grant-table__content {
    display: grid;
    grid-template-columns: repeat(var(--gt-cols, 3), minmax(0, 1fr));
    gap: 1rem;
    overflow: hidden;
}

/* ── Columns ─────────────────────────────────────────── */

.activ8-grant-table__col {
    display: flex;
    flex-direction: column;
    border-radius: var(--space-sm);
}

.activ8-grant-table__col--label {
    background: var(--gt-body-bg, #f2f2f2);
}

.activ8-grant-table__col--value {
    background: transparent;
}

/* Vertical separator between columns */
.activ8-grant-table__col + .activ8-grant-table__col {
    border: 1px solid var(--gt-divider, #F0F1F3);
}

/* ── Cells ───────────────────────────────────────────── */

.activ8-grant-table__cell {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 18px 20px;
    color: var(--gt-body-text, #0D1B3E);
    font-size: var(--text-sm);
}

.activ8-grant-table__cell:last-child {
    border-bottom: none;
}

.activ8-grant-table__col--value .activ8-grant-table__cell {
    font-weight: 600;
}

/* ── Responsive ──────────────────────────────────────── */

@media (max-width: 768px) {
    .activ8-grant-table__inner {
        min-width: calc(var(--gt-cols, 3) * 140px);
    }

    .activ8-grant-table__hcell,
    .activ8-grant-table__cell,
    .activ8-grant-table__tcell {
        padding: 12px 14px;
        font-size: var(--text-xs, 0.75rem);
    }
}
