.os-pricing-table {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin-block: 0 !important;
    padding: var(--space-l);
    border-radius: var(--radius-l);
    background: var(--bg-dark);
    color: var(--base-light);
    font-family: var(--text-font-family, inherit);
    container: os-pricing-table / inline-size;
}

.os-pricing-table *, .os-pricing-table *::before, .os-pricing-table *::after {
    box-sizing: border-box;
}

.os-pricing-table .os-pricing-table__table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    color: inherit;
}

.os-pricing-table__column-1 { width: 60%; }
.os-pricing-table__column-2 { width: 40%; }

.os-pricing-table .os-pricing-table__table :is(th, td) {
    padding: var(--space-m) 0;
    border: 0;
    border-bottom: 1px solid var(--base-dark);
    background: transparent;
    color: inherit;
    font-size: var(--text-l);
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.os-pricing-table .os-pricing-table__table tr > :first-child { padding-right: var(--space-m); }
.os-pricing-table .os-pricing-table__table tr > :last-child { text-align: right; }
.os-pricing-table .os-pricing-table__table thead th {
    padding-top: 0;
    padding-bottom: var(--space-s);
    color: var(--primary);
    font-size: var(--text-m);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.os-pricing-table .os-pricing-table__table tbody tr:last-child > * { padding-bottom: 0; border-bottom: 0; }
.os-pricing-table .os-pricing-table__table:not(:has(thead)) tbody tr:first-child > * { padding-top: 0; }
.os-pricing-table .os-pricing-table__title,
.os-pricing-table .os-pricing-table__table td :is(strong, b) {
    color: var(--white);
    font-size: 1.125em;
    font-weight: var(--heading-font-weight, 900);
}
.os-pricing-table .os-pricing-table__text {
    margin-top: .5em;
    font-size: var(--text-m);
    font-weight: 400;
}
.os-pricing-table .os-pricing-table__table td :where(p, ul, ol, li) {
    margin-block: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}
.os-pricing-table .os-pricing-table__table td > * + * { margin-top: .5em; }
.os-pricing-table .os-pricing-table__table td a { color: var(--white); text-decoration: underline; }
.os-pricing-table .os-pricing-table__table td .os-pricing-table__accent,
.os-pricing-table .os-pricing-table__table td .os-pricing-table__accent :is(strong, b) { color: var(--primary); }

/* Keep the table's column relationships and headings intact on small screens. */
@container os-pricing-table (max-width: 600px) {
    .os-pricing-table__column-1, .os-pricing-table__column-2 { width: 50%; }
    .os-pricing-table .os-pricing-table__table :is(th, td) { font-size: var(--text-m); padding-block: var(--space-s); }
    .os-pricing-table .os-pricing-table__table tr > :first-child { padding-right: var(--space-xs); }
    .os-pricing-table .os-pricing-table__table thead th { font-size: var(--text-m); }
    .os-pricing-table .os-pricing-table__text { font-size: var(--text-s); }
}

@media (max-width: 479px) {
    .os-pricing-table { padding: var(--space-s); }
    .os-pricing-table .os-pricing-table__table :is(th, td),
    .os-pricing-table .os-pricing-table__table thead th,
    .os-pricing-table .os-pricing-table__text { font-size: 14px; }
}
