/* Public pricing uses the same billing choices and whole-number estimates as registration. */
.pricing-page [hidden] { display: none !important; }
.pricing-controls {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
    gap: .75rem 2rem; padding: 1.5rem 1.75rem; margin-top: 2.5rem;
    border: 1px solid var(--border); border-radius: 12px; background: var(--surface);
}
.pricing-currency { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.pricing-currency label { font-size: .85rem; font-weight: 600; }
.pricing-currency select {
    font: inherit; font-size: .85rem; min-height: 46px; max-width: 100%; padding: .7rem 2rem .7rem .85rem;
    border: 1px solid var(--border); border-radius: 7px; background: #fff; color: var(--foreground);
}
.pricing-currency select:disabled { color: var(--muted-foreground); }
.pricing-period { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.pricing-period button {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    min-height: 44px; padding: .65rem 1rem; border-radius: 5px; cursor: pointer;
    font-size: .85rem; font-weight: 700; color: var(--foreground);
}
.pricing-period button[aria-pressed='true'] { background: #007cbd; color: #fff; }
.pricing-period span { font-size: .7rem; color: #26704c; }
.pricing-period button[aria-pressed='true'] span { color: #fff; }
.pricing-controls :focus-visible { outline: 2px solid #007cbd; outline-offset: 3px; }
.pricing-controls > p { grid-column: 1 / -1; margin: 0; color: var(--muted-foreground); font-size: .75rem; line-height: 1.6; }
.pricing-controls .pricing-controls-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pricing-page .pricing-controls + .pricing-grid { margin-top: 1.5rem; }
.pricing-page .price strong { font-size: clamp(1.9rem, 2.65vw, 2.55rem); overflow-wrap: anywhere; }
.pricing-page .price-local-estimate { margin: .5rem 0 0; color: var(--muted-foreground); font-size: .8rem; line-height: 1.6; }
.pricing-billing-note, .pricing-rate-source { text-align: center; color: var(--muted-foreground); line-height: 1.7; }
.pricing-billing-note { margin: 1.5rem 0 0; font-size: .85rem; }
.pricing-rate-source { margin: .6rem 0 0; font-size: .75rem; }
.pricing-rate-source a { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 760px) {
    .pricing-controls { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.25rem; margin-top: 2rem; }
    .pricing-currency { display: grid; gap: .6rem; }
    .pricing-currency select { width: 100%; }
    .pricing-period button { flex: 1; padding-inline: .7rem; }
    .pricing-page .price strong { font-size: 2rem; }
}
