/* Public pricing reuses the site's typography, cards, colours and buttons. */
.public-pricing-page { max-width: 1500px; }
.public-pricing-page .page-sub { max-width: 760px; }
.public-pricing-heading { margin-bottom: 24px; }
.public-pricing-intro { margin-bottom: 32px; max-width: 760px; }
.public-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.public-price-card { display: flex; flex-direction: column; min-width: 0; }
.public-price-summary { min-height: 3.4em; }
.public-price-amount { font-family: 'Bebas Neue', sans-serif; font-size: clamp(40px, 6vw, 72px); line-height: 1; letter-spacing: 0.03em; margin: 24px 0 12px; }
.public-price-amount span { font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: normal; color: var(--mid); white-space: nowrap; }
.public-price-features { padding-left: 20px; margin: 24px 0; }
.public-price-features li { margin-bottom: 8px; }
.public-price-features li::marker { color: var(--accent); }
.public-price-included { margin-top: auto; margin-bottom: 24px; }
.public-price-card .btn-primary { text-align: center; justify-content: center; }
.public-pricing-note { margin: 24px 0; }
.public-pricing-actions { display: flex; flex-wrap: wrap; gap: 18px; }
.public-pricing-details { margin-top: 60px; }
.public-pricing-details > h2 { margin-bottom: 24px; }
.public-pricing-details a:not(.btn-primary):not(.btn-secondary), .public-pricing-note a, .pricing-unavailable a { color: var(--accent); text-decoration: underline; }
.public-module-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 24px 0; }
.public-module-options .feature-card p + p { margin-top: 12px; }
.public-pricing-faq { max-width: 960px; }
.public-pricing-faq details { border-bottom: 1px solid var(--border); padding: 20px 0; }
.public-pricing-faq summary { cursor: pointer; font-weight: 600; line-height: 1.6; }
.public-pricing-faq details p { margin-top: 12px; }
.public-pricing-page :focus-visible, #pricing :focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 1000px) {
    .public-pricing-grid, .public-module-options { grid-template-columns: 1fr; }
    .public-price-summary { min-height: 0; }
}
