/* Pricing composition uses the shared Flask surfaces, controls and design tokens. */
.wf-pricing { max-width: 1200px; margin: 0 auto; padding: calc(var(--wf-space-xl) * 2) var(--wf-space-lg); }
.wf-pricing p { line-height: var(--wf-reading-line-height); }
.wf-pricing-intro { max-width: var(--wf-reading-measure); margin: 0 auto var(--wf-space-xl); text-align: center; }
.wf-pricing-eyebrow { font-size: .75rem; text-transform: uppercase; letter-spacing: .13em; color: var(--wf-color-accent); font-weight: 650; margin-bottom: var(--wf-space-md); }
.wf-pricing h1 { font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: 1.12; margin-bottom: var(--wf-space-lg); }
.wf-pricing h2 { font-size: 2rem; line-height: 1.2; }
.wf-pricing-lead { max-width: 43rem; margin: 0 auto; color: var(--wf-color-muted); font-size: 1.125rem; }
.wf-pricing-terms { margin-top: var(--wf-space-md); font-size: .875rem; color: var(--wf-color-muted); }
.wf-pricing-availability { display: grid; grid-template-columns: 13rem 1fr; align-items: center; gap: var(--wf-space-lg); padding: var(--wf-space-md) var(--wf-space-lg); margin-bottom: var(--wf-space-xl); background: var(--wf-color-selection); font-size: .875rem; }
.wf-pricing-availability p { margin: 0; }
.wf-pricing-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--wf-space-lg); }
.wf-pricing-card { display: flex; flex-direction: column; padding: var(--wf-space-lg); box-shadow: var(--wf-shadow-panel); }
.wf-pricing-featured { border-color: var(--wf-color-accent); }
.wf-pricing-card-label { color: var(--wf-color-accent); font-size: .75rem; margin-bottom: var(--wf-space-md); }
.wf-pricing-card h2 { margin: 0; }
.wf-pricing-price { display: flex; align-items: baseline; gap: var(--wf-space-sm); margin: var(--wf-space-md) 0; }
.wf-pricing-price span:first-child { font: 3rem/1.1 var(--wf-font-literary); }
.wf-pricing-price span:last-child, .wf-pricing-description { color: var(--wf-color-muted); }
.wf-pricing-description { min-height: 3.1em; }
.wf-pricing-limits { display: grid; gap: var(--wf-space-sm); margin: var(--wf-space-lg) 0; padding: var(--wf-space-lg) 0; border-block: 1px solid var(--wf-color-border); font-weight: 600; list-style: none; }
.wf-pricing-card h3 { font-family: var(--wf-font-interface); font-size: .875rem; font-weight: 650; margin-bottom: var(--wf-space-md); }
.wf-pricing-features { display: grid; gap: var(--wf-space-md); font-size: .9375rem; list-style: none; padding: 0; }
.wf-pricing-features li { display: flex; gap: var(--wf-space-sm); align-items: baseline; }
.wf-pricing-features li span { color: var(--wf-color-accent); }
.wf-pricing-card-footer { margin-top: auto; padding-top: var(--wf-space-xl); display: grid; gap: var(--wf-space-sm); }
.wf-pricing-card-footer p, .wf-pricing small { color: var(--wf-color-muted); font-size: .8125rem; }
.wf-pricing-card-footer .wf-button { gap: var(--wf-space-sm); }
.wf-pricing-trial { display: grid; grid-template-columns: 1fr 17rem; gap: var(--wf-space-xl); padding: var(--wf-space-xl); margin-top: var(--wf-space-xl); align-items: center; }
.wf-pricing-trial h2 { margin-bottom: var(--wf-space-md); }
.wf-pricing-trial-action { display: grid; gap: var(--wf-space-sm); text-align: center; }
.wf-pricing-trial-action strong { font: 2rem/1.4 var(--wf-font-literary); }
.wf-pricing-ai { display: grid; grid-template-columns: 1fr 1.1fr; gap: calc(var(--wf-space-xl) * 2); padding-block: calc(var(--wf-space-xl) * 2); scroll-margin-top: 7rem; }
.wf-pricing-ai p { margin-top: var(--wf-space-md); }
.wf-pricing-ai-card { padding: var(--wf-space-xl); }
.wf-pricing-ai-card h3 { font-size: 1.4rem; }
.wf-pricing-topups { display: flex; flex-wrap: wrap; gap: var(--wf-space-sm); list-style: none; padding: 0; margin-top: var(--wf-space-lg); }
.wf-pricing-topups li { padding: var(--wf-space-sm) var(--wf-space-md); border: 1px solid var(--wf-color-border); border-radius: var(--wf-radius-control); font-weight: 600; }
.wf-pricing-ai-card ol { padding-left: var(--wf-space-lg); margin-top: var(--wf-space-lg); display: grid; gap: var(--wf-space-md); line-height: var(--wf-reading-line-height); list-style: decimal; }
.wf-pricing-note { font-size: .875rem; color: var(--wf-color-muted); }
.wf-pricing-faq { max-width: var(--wf-reading-measure); margin: var(--wf-space-xl) auto 0; }
.wf-pricing-faq h2 { margin-bottom: var(--wf-space-lg); }
.wf-pricing-faq details { border-bottom: 1px solid var(--wf-color-border); padding-block: var(--wf-space-md); }
.wf-pricing-faq summary { cursor: pointer; font-weight: 600; min-height: var(--wf-control-touch); align-content: center; }
.wf-pricing-faq summary:focus-visible { outline: var(--wf-control-focus-width) solid var(--wf-color-accent); outline-offset: 3px; }
.wf-pricing-faq details p { padding-block: var(--wf-space-sm); color: var(--wf-color-muted); }
@media(max-width:900px) {
    .wf-pricing { padding: var(--wf-space-xl) var(--wf-space-md); }
    .wf-pricing-plans { grid-template-columns: minmax(0,1fr); }
    .wf-pricing-description { min-height: 0; }
    .wf-pricing-availability, .wf-pricing-trial, .wf-pricing-ai { grid-template-columns: minmax(0,1fr); gap: var(--wf-space-lg); }
    .wf-pricing-trial, .wf-pricing-ai-card { padding: var(--wf-space-lg); }
    .wf-pricing-trial-action { text-align: start; }
}

/* Product pages reuse the shared card family and spacing tokens. */
.wf-product-capabilities, .wf-product-benchmarks, .wf-product-gallery { margin-block: calc(var(--wf-space-xl) * 2); }
.wf-product-capabilities h2, .wf-product-gallery h2 { margin-bottom: var(--wf-space-xl); }
.wf-product-capabilities .wf-pricing-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wf-product-capabilities .wf-pricing-card h3 { font-family: var(--wf-font-literary); font-size: 1.35rem; line-height: 1.3; }
.wf-product-capabilities .wf-pricing-card p { margin: 0; max-width: var(--wf-reading-measure); }
.wf-product-benchmarks > article { padding-block: var(--wf-space-lg); border-bottom: 1px solid var(--wf-color-border); }
.wf-product-benchmarks h3 { margin-bottom: var(--wf-space-sm); }
.wf-product-figure { margin-block: var(--wf-space-xl); }
.wf-product-figure img, .wf-product-gallery img { display: block; width: 100%; height: auto; border: 1px solid var(--wf-color-border); border-radius: var(--wf-radius-control); }
.wf-product-figure figcaption, .wf-product-gallery figcaption { margin-top: var(--wf-space-md); color: var(--wf-color-muted); line-height: var(--wf-reading-line-height); }
@media(max-width:900px) { .wf-product-capabilities .wf-pricing-plans { grid-template-columns: minmax(0, 1fr); } }

/* Global catalogue composition keeps the shared library dropdown and controls. */
[data-wf-application] .wf-pricing-intro .wf-catalogue-options { left: 50%; transform: translateX(-50%); text-align: start; }
.wf-pricing-intro .wf-catalogue-selector:has(> .wf-catalogue-heading) { margin-bottom: var(--wf-space-md); }
.wf-catalogue-search { display: flex; flex-wrap: wrap; align-items: end; gap: var(--wf-space-md); margin-bottom: var(--wf-space-xl); }
.wf-catalogue-search .wf-field { flex: 1 1 16rem; max-width: 32rem; }
.wf-catalogue-search .wf-button { min-height: var(--wf-control-touch); }
