/* Pricing and the authenticated Boost Panel share the existing Nexwa theme. */
.pricing-hero { position:relative; isolation:isolate; overflow:hidden; padding:clamp(40px,7vw,80px) 0 36px; }
.pricing-hero::before { content:''; position:absolute; inset:-80% 10% -60% -30%; z-index:-1; background:radial-gradient(closest-side,rgba(var(--brand-rgb),var(--spot-hero)),transparent 70%); pointer-events:none; }
.pricing-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,280px); align-items:center; gap:clamp(24px,5vw,72px); }
.pricing-copy { max-width:760px; }
.pricing-hero h1 { font-size:clamp(2.4rem,6vw,4rem); letter-spacing:-.05em; margin:0 0 14px; }
.pricing-hero p { max-width:65ch; margin:0; color:var(--text-secondary); line-height:1.8; }
.pricing-actions { display:grid; gap:9px; padding:12px; border:1px solid var(--border-primary); border-radius:20px; background:color-mix(in srgb,var(--bg-elevated) 88%,transparent); box-shadow:0 14px 38px rgba(15,10,35,.08); }
.pricing-actions .btn { width:100%; justify-content:center; min-height:48px; }
.pricing-actions #pricing-register { background:transparent; }
.pricing-actions [hidden], .catalog-shell [hidden], #boost-section [hidden] { display:none!important; }
@media (max-width:700px) {
  .pricing-hero-inner { grid-template-columns:minmax(0,1fr); gap:22px; }
  .pricing-actions { grid-template-columns:minmax(0,1.35fr) minmax(110px,.8fr); align-items:center; padding:9px; }
  .pricing-actions .btn { min-height:46px; padding-inline:12px; }
}
.catalog-shell { padding-bottom:40px; }
.catalog-controls { display:grid; gap:16px; padding:22px; background:var(--bg-elevated); border:1px solid var(--border-primary); border-radius:22px; }
.catalog-field { min-width:0; display:flex; flex-direction:column; gap:8px; }
.catalog-field label { font-size:.85rem; font-weight:600; }
.catalog-field .input { width:100%; min-width:0; min-height:48px; font-family:inherit; font-size:1rem; }
.catalog-field select { appearance:none; -webkit-appearance:none; text-overflow:ellipsis; padding-right:38px; border:1px solid var(--border-primary); border-radius:14px; background-color:var(--bg-primary); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%239690aa' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }
.catalog-field select option { color:var(--text-primary); background:var(--bg-elevated); }
.catalog-field :focus-visible, .pricing-platform summary:focus-visible { outline:3px solid var(--brand-primary); outline-offset:4px; }
.catalog-field small, .catalog-note { color:var(--text-secondary); font-size:.83rem; line-height:1.7; }
.catalog-status { padding:20px 2px; color:var(--text-secondary); }
.pricing-loader { display:grid; justify-items:center; gap:10px; min-height:190px; padding:38px 20px; text-align:center; color:var(--text-secondary); animation:pricing-loader-in .28s ease both; }
.pricing-loader[hidden] { display:none; }
.pricing-loader .spinner { margin-bottom:2px; }
.pricing-loader strong { color:var(--text-primary); font-size:1.05rem; }
.pricing-loader span:last-child { font-size:.92rem; }
@keyframes pricing-loader-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .pricing-loader { animation:none; } }
.pricing-list { display:grid; gap:14px; margin-top:18px; }
.pricing-platform { background:var(--bg-elevated); border:1px solid var(--border-primary); border-radius:20px; overflow:hidden; }
.pricing-platform > summary, .pricing-category > summary { display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; min-height:64px; padding:20px; }
.pricing-platform summary::-webkit-details-marker { display:none; }
.pricing-platform summary::after { content:'+'; margin-left:auto; font-size:1.4rem; color:var(--text-secondary); }
.pricing-platform details[open] > summary::after, .pricing-platform[open] > summary::after { content:'−'; }
.pricing-platform-name { font-weight:650; font-size:1.15rem; }
.catalog-count { border-radius:8px; padding:3px 8px; background:rgba(var(--brand-rgb),.1); color:var(--text-primary); font-size:.8rem; }
.pricing-category { border-top:1px solid var(--border-primary); }
.pricing-category > summary { font-weight:550; padding-inline:24px; font-size:.95rem; }
.pricing-rows { display:grid; gap:12px; padding:0 12px 12px; }
.pricing-service { min-width:0; border:1px solid var(--border-primary); border-radius:14px; background:var(--bg-primary); padding:20px; }
.pricing-service h4 { font-size:1rem; font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
.catalog-id { color:var(--text-secondary); font-size:.75rem; margin-bottom:6px; }
.catalog-description { color:var(--text-secondary); font-size:.875rem; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; margin:12px 0; }
.catalog-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; margin-top:20px; }
.catalog-facts dt { font-size:.75rem; color:var(--text-secondary); margin-bottom:5px; }
.catalog-facts dd { margin:0; font-size:.875rem; font-weight:600; overflow-wrap:anywhere; }
.catalog-facts > div:first-child dd { color:var(--brand-primary); }
.boost-layout { display:grid; gap:20px; }
.boost-fields { display:grid; gap:20px; }
.boost-selection { margin-top:24px; padding-top:24px; border-top:1px solid var(--border-primary); }
.boost-selection h3 { line-height:1.6; overflow-wrap:anywhere; }
.boost-order-fields { display:grid; gap:20px; margin-top:24px; }
.boost-summary { align-self:start; }
.boost-summary h3 { margin-bottom:18px; }
.boost-total { display:block; font-size:2rem; font-weight:700; margin:12px 0; font-variant-numeric:tabular-nums; }
.boost-total-spinner { display:inline-block; vertical-align:middle; margin-left:8px; }
.boost-total-spinner[hidden] { display:none; }
.boost-summary .btn { width:100%; margin-top:20px; white-space:normal; }
.boost-links { display:flex; gap:16px; flex-wrap:wrap; margin-top:20px; font-size:.85rem; }
.boost-links a { color:var(--brand-primary); text-decoration:underline; text-underline-offset:4px; }
.boost-notice { padding:16px; margin-bottom:20px; border:1px solid var(--border-primary); border-radius:14px; color:var(--text-secondary); line-height:1.7; }
.boost-notice a { color:var(--brand-primary); text-decoration:underline; }
.boost-error { color:var(--error); font-size:.875rem; line-height:1.6; margin-top:12px; }
.pricing-rows, .boost-selection { animation:catalog-reveal .25s ease-out; }
@keyframes catalog-reveal { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:700px) { .catalog-controls { grid-template-columns:2fr 1fr 1fr; } .catalog-facts { grid-template-columns:repeat(3,minmax(0,1fr)); } .boost-fields { grid-template-columns:1fr 1fr; } .boost-fields .catalog-field:last-child { grid-column:1/-1; } }
@media(min-width:1200px) { .boost-layout { grid-template-columns:minmax(0,1fr) 280px; } .boost-summary { position:sticky; top:calc(var(--nav-height) + 24px); } }
@media(prefers-reduced-motion:reduce) { .pricing-rows, .boost-selection { animation:none; } }
