.webfruct-pricing [hidden] { display: none !important; }
.billing-switch {
  display: flex;
  width: fit-content;
  max-width: 100%;
  padding: 6px;
  margin: 0 auto 1rem;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .8);
}
.billing-switch button {
  min-height: 48px;
  padding: .75rem 1.3rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font-weight: 600;
  cursor: pointer;
  transition: background 180ms, color 180ms;
}
.billing-switch button[aria-pressed="true"] { background: var(--blue); color: white; }
.billing-switch button:focus-visible,
.webfruct-pricing a:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.pricing-mode-status { text-align: center; color: var(--muted); margin: 0 0 2rem; line-height: 1.6; }
.webfruct-pricing .price { letter-spacing: -.075em; line-height: 1.15; white-space: nowrap; }
.price-currency { font-size: .42em; letter-spacing: -.03em; }
.price-period { display: block; margin-top: .35rem; font: 500 .875rem/1.4 'IBM Plex Sans', sans-serif; letter-spacing: 0; color: var(--muted); }
.price-from { display: block; font: 500 .875rem/1.4 'IBM Plex Sans', sans-serif; letter-spacing: 0; color: var(--muted); }
.plan-kicker { font: 500 .7rem/1.5 'IBM Plex Mono', monospace; color: var(--muted); min-height: 30px; margin-bottom: .9rem; text-transform: uppercase; }
.webfruct-pricing .popular { min-height: 30px; display: flex; align-items: center; width: fit-content; background: var(--blue); line-height: 1.4; }
.webfruct-pricing .price-card h3 { font-size: clamp(1rem, 1.7vw, 1.35rem); overflow-wrap: anywhere; }
.webfruct-pricing .price-card ul { flex: 1; margin-bottom: 1.2rem; }
.webfruct-pricing .price-card li { font-size: .94rem; line-height: 1.6; }
.webfruct-pricing .price-card.highlighted { transform: none; border: 2px solid var(--blue); }
.webfruct-pricing .plan-description { color: var(--muted); line-height: 1.65; font-size: .98rem; }
.webfruct-pricing .plan-commitment { margin: 0 0 1.2rem; font-size: .8rem; font-weight: 600; line-height: 1.5; color: var(--ink); }
.webfruct-pricing .btn-primary { background: var(--blue); }
.webfruct-pricing .btn { text-align: center; }
.pricing-terms { margin-top: 1.6rem; padding: 1.2rem 1.5rem; border-left: 3px solid var(--blue); background: var(--soft); border-radius: 0 16px 16px 0; }
.pricing-terms p { font-size: .875rem; line-height: 1.7; color: var(--muted); margin: 0 0 .6rem; }
.pricing-terms p:last-child { margin-bottom: 0; }
.pricing-terms strong { color: var(--ink); }
.pricing-exclusions { margin: 1rem 0 0; color: var(--muted); font-size: .8rem; line-height: 1.7; }
.pricing-exclusions a { color: var(--blue); }
@media (max-width: 380px) {
  .billing-switch { border-radius: 22px; }
  .billing-switch button { padding: .7rem .8rem; font-size: .875rem; }
}
@media (prefers-reduced-motion: reduce) { .billing-switch button { transition: none; } }
