.pricing-card{
  width:100%; height:100%; box-sizing:border-box; position:relative;
  background:var(--md-neutral-background-1-rest);
  border:1px solid var(--md-neutral-stroke-1-rest);
  border-radius:var(--md-radius-240,24px);
  padding:28px 32px; display:flex; flex-direction:column; gap:16px;
}
.pricing-card[data-style="solid"]{ background:var(--md-neutral-background-2-rest); border-color:transparent; }
.pricing-card[data-style="accent"]{ background:var(--md-brand-background-inverted-rest); border-color:transparent; }
.pricing-card[data-style="accent"] .pricing-title,
.pricing-card[data-style="accent"] .pricing-price{ color:var(--md-color-grey-white); }
.pricing-card[data-style="accent"] .pricing-description,
.pricing-card[data-style="accent"] .pricing-frequency,
.pricing-card[data-style="accent"] .pricing-frequency-slash,
.pricing-card[data-style="accent"] .pricing-compare-label,
.pricing-card[data-style="accent"] .pricing-compare-count,
.pricing-card[data-style="accent"] .list-item-label{ color:rgba(255,255,255,0.8); }
.pricing-card[data-style="accent"] .pricing-divider,
.pricing-card[data-style="accent"] .pricing-compare-dots{ border-color:rgba(255,255,255,0.24); }
.pricing-card[data-style="accent"] .list-item-icon{ color:var(--md-color-grey-white); }

.pricing-tag-wrap{ order:-1; }
.pricing-card[data-kind="pricing-plan"] .pricing-tag-wrap{ position:absolute; top:20px; right:24px; order:0; }
.pricing-tag-wrap.hidden{ display:none; }

.pricing-price-row{ display:flex; align-items:flex-end; gap:4px; }
.pricing-price{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:56px; line-height:1; color:var(--md-brand-foreground-1-rest); outline:none; }
.pricing-frequency{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-3-rest); outline:none; padding-bottom:4px; }
.pricing-frequency-slash{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-3-rest); padding-bottom:4px; }
.pricing-price-row:not(:has(.pricing-frequency:not(:empty))) .pricing-frequency-slash{ display:none; }

.pricing-body{ display:flex; flex-direction:column; gap:8px; width:100%; }
.pricing-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-700); line-height:40px; color:var(--md-neutral-foreground-1-rest); outline:none; }
.pricing-title:empty{ display:none; }
.pricing-description{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-3-rest); outline:none; padding-bottom:2px; white-space:pre-wrap; }
.pricing-description:empty{ display:none; }

.pricing-items{ display:flex; flex-direction:column; gap:4px; width:100%; }
.pricing-items .list-item-icon{ color:var(--md-brand-foreground-1-rest); }
.pricing-footer{ display:flex; flex-direction:column; gap:10px; width:100%; margin-top:auto; }
.pricing-footer.hidden{ display:none; }
.pricing-footer[data-icon-empty="true"] .list-item-icon{ display:none; }
.pricing-footer-fields-row{ display:flex; gap:8px; align-items:flex-end; }
.pricing-footer-fields-row .pricing-footer-icon-field{ flex:1; min-width:0; }
.pricing-footer-fields-row .pricing-footer-text-field{ flex:2; min-width:0; }
.pricing-divider{ width:100%; height:1px; background:var(--md-neutral-stroke-1-rest); flex-shrink:0; margin-top:auto; }

.pricing-compare-items, .pricing-total-items{ display:flex; flex-direction:column; gap:4px; width:100%; }
.pricing-compare-row{ display:flex; align-items:center; padding:4px 0; width:100%; }
.pricing-compare-label, .pricing-compare-count{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-3-rest); outline:none; white-space:nowrap; }
.pricing-compare-dots{ flex:1 1 auto; min-width:12px; height:0; align-self:flex-end; margin-bottom:5px; border-bottom:2px dotted var(--md-neutral-stroke-1-rest); }
.pricing-total-row .pricing-compare-label, .pricing-total-row .pricing-compare-count{ font-family:var(--font-display); color:var(--md-brand-foreground-1-rest); }

.pricing-card[data-size="M"]{ gap:10px; }
.pricing-card[data-size="M"] .pricing-price{ font-size:44px; }
.pricing-card[data-size="M"] .pricing-title{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.pricing-card[data-size="M"] .pricing-description,
.pricing-card[data-size="M"] .list-item-label{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.pricing-card[data-size="M"] .pricing-compare-label, .pricing-card[data-size="M"] .pricing-compare-count{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.pricing-card[data-size="S"]{ gap:8px; }
.pricing-card[data-size="S"] .pricing-price{ font-size:var(--md-typography-font-size-800); }
.pricing-card[data-size="S"] .pricing-title{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.pricing-card[data-size="S"] .pricing-description,
.pricing-card[data-size="S"] .list-item-label{ font-size:13px; line-height:18px; }
.pricing-card[data-size="S"] .pricing-compare-label, .pricing-card[data-size="S"] .pricing-compare-count{ font-size:var(--md-typography-font-size-400); line-height:24px; }


.pricing-card[data-size="S"] .tag{ height:24px; gap:4px; padding:0 10px 0 8px; border-radius:6px; width:fit-content; }
.pricing-card[data-size="S"] .tag-icon i{ font-size:var(--md-typography-font-size-300); }
.pricing-card[data-size="S"] .tag-label{ font-size:var(--md-typography-font-size-300); line-height:16px; }

.pricing-divider:has(~ .pricing-total-items:empty){ display:none; }
