/* ============================================================
   Block: Cost Table  (.blk-cost-table)
   Editorial multi-column comparison table — hairline rules, small
   green column labels, responsive stacked-card transform on mobile.
   Styling mirrors the pricing-page table for site consistency.
   ============================================================ */

.blk-cost-table {
    padding: clamp(2.5rem, 6vw, 4.5rem) 0;
}

.blk-cost-table__container {
    max-width: var(--sd-content-max, 1200px);
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 5vw, 2rem);
}

.blk-cost-table__header {
    max-width: 760px;
    margin-bottom: var(--sd-space-6, 1.5rem);
}

.blk-cost-table__overline {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--sd-color-cta, #5f7d3a);
    margin-bottom: var(--sd-space-2, 0.5rem);
}

.blk-cost-table__heading {
    font-size: clamp(1.5rem, 1.2vw + 1rem, 2rem);
    line-height: 1.2;
    color: var(--sd-color-primary, #36452f);
    margin: 0;
}

.blk-cost-table__intro {
    margin: var(--sd-space-3, 0.75rem) 0 0;
    color: var(--sd-color-text-light, #525252);
    line-height: 1.6;
}

.blk-cost-table__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: var(--sd-space-4, 1rem);
}

.blk-cost-table__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: var(--sd-font-size-sm, 0.95rem);
}

.blk-cost-table__table thead {
    background: transparent;
}

.blk-cost-table__table th {
    padding: 0 var(--sd-space-5, 1.25rem) var(--sd-space-3, 0.75rem);
    text-align: left;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sd-color-cta, #5f7d3a);
    border-bottom: 1px solid var(--sd-color-gray-200, #e5e5e5);
    white-space: nowrap;
}

.blk-cost-table__table th:first-child,
.blk-cost-table__table td:first-child {
    padding-left: 0;
}

.blk-cost-table__table td {
    padding: var(--sd-space-4, 1rem) var(--sd-space-5, 1.25rem);
    border-bottom: 1px solid var(--sd-color-gray-200, #e5e5e5);
    color: var(--sd-color-text, #171717);
    vertical-align: top;
}

.blk-cost-table__table tbody tr:last-child td {
    border-bottom: none;
}

.blk-cost-table__table tbody tr:hover {
    background: rgba(95, 125, 58, 0.04);
}

.blk-cost-table__table td strong {
    font-weight: 600;
    color: var(--sd-color-primary, #36452f);
}

.blk-cost-table__note {
    font-size: var(--sd-font-size-xs, 0.75rem);
    color: var(--sd-color-text-light, #525252);
    line-height: 1.7;
    max-width: 760px;
}

.blk-cost-table__note a {
    color: var(--sd-color-cta, #5f7d3a);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ── Mobile: table → stacked cards ──────────────────────────── */
@media (max-width: 767px) {
    .blk-cost-table__table thead {
        display: none;
    }

    .blk-cost-table__table,
    .blk-cost-table__table tbody,
    .blk-cost-table__table tr,
    .blk-cost-table__table td {
        display: block;
    }

    .blk-cost-table__table tr {
        padding: var(--sd-space-4, 1rem) 0;
        border-bottom: 1px solid var(--sd-color-gray-200, #e5e5e5);
    }

    .blk-cost-table__table tbody tr:last-child {
        border-bottom: none;
    }

    .blk-cost-table__table td {
        padding: var(--sd-space-1, 0.25rem) 0;
        border-bottom: none;
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: var(--sd-space-4, 1rem);
    }

    .blk-cost-table__table td::before {
        content: attr(data-label);
        font-size: var(--sd-font-size-xs, 0.75rem);
        font-weight: 600;
        color: var(--sd-color-text-light, #525252);
        text-transform: uppercase;
        letter-spacing: 0.04em;
        flex-shrink: 0;
    }

    .blk-cost-table__table td:first-child {
        padding-top: var(--sd-space-2, 0.5rem);
        font-size: 1.05rem;
    }
}
