.pricing-card { --pricing-gap: 0.875rem; --pricing-copy: var(--color-description); --pricing-divider: var(--color-border-divider); position: relative; display: flex; flex-direction: column; justify-content: space-between; min-inline-size: 0; min-block-size: 34rem; padding: var(--space-8); gap: var(--space-8); border-radius: var(--radius-feature); overflow: hidden; background: var(--color-surface); color: var(--color-text); }
.pricing-card--featured { --pricing-copy: var(--color-on-accent); --pricing-divider: var(--color-on-accent); background: var(--color-brand-action); color: var(--color-on-accent); }
.pricing-card__background { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: 0.22; pointer-events: none; }
.pricing-card__content, .pricing-card__footer { position: relative; }
.pricing-card__content { display: grid; gap: var(--pricing-gap); }
.pricing-card__header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); padding-block-end: var(--space-4); border-block-end: 1px solid var(--pricing-divider); }
.pricing-card__name { margin: 0; font-family: var(--font-heading); font-size: var(--fs-label); font-weight: 400; line-height: var(--line-height-label); text-transform: uppercase; overflow-wrap: anywhere; }
.pricing-card__badge { padding: var(--space-1) 0.625rem; border-radius: var(--radius-pill); background: var(--color-background); color: var(--color-text); font-size: var(--fs-micro); font-weight: 500; line-height: 1.35; }
.pricing-card__description { margin: 0; font-size: var(--fs-label); line-height: 1.2; }
.pricing-card__features { display: grid; gap: var(--pricing-gap); margin: 0; padding: 0; list-style: none; }
.pricing-card__feature { display: flex; align-items: start; gap: var(--space-2); color: var(--pricing-copy); font-size: var(--fs-small); font-weight: 500; line-height: var(--line-height-control); }
.pricing-card__feature svg { inline-size: var(--space-4); block-size: var(--space-4); flex: 0 0 var(--space-4); color: var(--color-text); margin-block-start: 0.125rem; }
.pricing-card--featured .pricing-card__feature svg { color: var(--color-on-accent); }
.pricing-card__footer { display: grid; gap: var(--space-2); }
.pricing-card__price-line { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); margin: 0; }
.pricing-card__prefix { font-size: var(--fs-small); font-weight: 500; }
.pricing-card__price { font-family: var(--font-heading); font-size: clamp(var(--fs-label), 1.944444vw, var(--fs-kicker-max)); font-weight: 600; line-height: 1.1; white-space: nowrap; }
.pricing-card__unit { font-size: var(--fs-body-large); line-height: var(--line-height-control); }
.pricing-card__note { margin: 0; color: var(--pricing-copy); font-size: var(--fs-micro); font-weight: 500; line-height: 1.35; }
@media (width < 75rem) { .pricing-card { min-block-size: 0; } }
@media (width < 48rem) { .pricing-card { padding: var(--space-6); border-radius: var(--radius-panel); } .pricing-card__unit { font-size: var(--fs-body); } }
.pricing-card--wide { min-block-size: 0; }
.pricing-card--wide .pricing-card__price { white-space: normal; overflow-wrap: anywhere; }
.pricing-card--wide .pricing-card__header { padding-block: 0.625rem; gap: var(--space-6); }
.pricing-card--wide .pricing-card__name { font-size: clamp(var(--fs-label), 2.361111vw, var(--fs-legal-heading-max)); line-height: 1.2; text-transform: none; }
.pricing-card--wide .pricing-card__features { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(var(--pricing-feature-rows), auto); grid-auto-flow: column; column-gap: var(--space-4); }
.pricing-card--wide .pricing-card__footer { text-align: end; }
.pricing-card--wide .pricing-card__price-line { justify-content: end; }
@media (width < 48rem) {
    .pricing-card--wide .pricing-card__header { flex-direction: column; align-items: start; }
    .pricing-card--wide .pricing-card__footer { text-align: start; }
    .pricing-card--wide .pricing-card__price-line { justify-content: start; }
    .pricing-card--wide .pricing-card__features { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
}
