/* Pricing-only product sheets, using the approved Home palette and shell styling. */
.pricing-page { --accent:#00e4ef; --accent-strong:#58f5ff; --text-muted:#b1c6dd; background:#00101e; }
.pricing-page .container { width:calc(100% - 68px); max-width:1380px; }
.pricing-page .bg-orb,.pricing-page .bg-grid { display:none; }
.pricing-page #pricing-main { background:linear-gradient(180deg,#00101ec7 0,#00101ee8 520px,#00101e 900px),url('/assets/home-hero-background.webp') center top / auto 900px no-repeat; padding-bottom:48px; }
.pricing-page .site-header { background:rgba(0,15,29,.95); border-bottom:1px solid #0d354a; }
.pricing-page .header-inner { min-height:78px; gap:20px; }
.pricing-page .brand-mark { border-radius:12px; border-color:#00cee0; }
.pricing-page .site-header .brand-text { font-size:21px; }
.pricing-page .brand-subtext { color:#d3e2ef; font-size:12px; }
.pricing-page .site-nav { gap:25px; }
.pricing-page .site-nav a { font-size:14px; white-space:nowrap; }
.pricing-page .site-nav a[aria-current="page"] { color:var(--accent); text-decoration:underline; text-underline-offset:10px; }
.pricing-page .header-actions { gap:10px; }
.pricing-page .header-actions .btn { padding:10px 14px; font-size:14px; min-height:42px; border-radius:9px; }
.pricing-page .header-actions .lang-toggle { min-width:48px; }
.pricing-page .btn { border-radius:9px; min-height:44px; font-size:14px; line-height:1.4; padding:11px 16px; text-align:center; white-space:normal; }
.pricing-page .btn-primary { background:#00e4ef; border:1px solid #37f1fb; color:#001321; box-shadow:0 4px 24px #00dcec18; }
.pricing-page .btn-primary:hover { background:#62f4ff; }
.pricing-page .btn-secondary,.pricing-page .btn-ghost { background:#001321; border:1px solid #116080; color:#f0f7ff; }
.pricing-page .btn-secondary { border-color:#00d9e8; }
.pricing-page :is(a,button,summary,input):focus-visible { outline:3px solid #68f5ff; outline-offset:4px; }
.pricing-page .pricing-skip-link { position:fixed; left:16px; top:-100px; z-index:10000; padding:12px 20px; background:#00e4ef; color:#001321; border-radius:6px; }
.pricing-page .pricing-skip-link:focus { top:12px; }
.pricing-page :is(.pricing-sheet,.pricing-secondary,#pricing-catalog) { scroll-margin-top:110px; }
.pricing-page .pricing-hero { padding-block:30px 25px; }
.pricing-page .pricing-hero h1 { margin:0 0 8px; color:#fff; font-size:40px; line-height:1.1; letter-spacing:-.035em; }
.pricing-page .pricing-hero p { margin:0; color:#c7daea; font-size:16px; line-height:1.5; }
.pricing-page .pricing-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:18px; }
.pricing-page .pricing-sheet { min-width:0; border:1px solid #11647c; border-radius:12px; background:#031827f7; box-shadow:0 8px 28px #0004,inset 0 1px 0 #a6f4ff0d; overflow:hidden; }
.pricing-page .pricing-sheet[data-product="pro"] { border-color:#00bbce; }
.pricing-page .pricing-sheet-heading { padding:24px 24px 0; }
.pricing-page .pricing-product-name { display:flex; align-items:center; gap:13px; }
.pricing-page .pricing-product-icon { width:47px; height:50px; display:grid; place-items:center; flex-shrink:0; border:1px solid #087b9c; border-radius:10px; color:#00e5ee; background:#002b40; }
.pricing-page .pricing-product-icon svg { width:28px; height:28px; }
.pricing-page .pricing-kicker { color:#62e6ef; font-size:11px; line-height:1.5; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin:0 0 4px; }
.pricing-page .pricing-sheet h2 { margin:0; color:#fff; font-size:28px; line-height:1.15; letter-spacing:-.025em; }
.pricing-page .pricing-price { display:flex; align-items:baseline; gap:8px; color:#fff; font-size:48px; font-weight:800; line-height:1.15; letter-spacing:-.045em; margin:22px 0 8px; }
.pricing-page .pricing-currency { font-size:13px; font-weight:600; letter-spacing:.02em; color:#b8cfdf; }
.pricing-page .pricing-term { margin:0 0 5px; color:#f3f8fe; font-size:15px; line-height:1.5; font-weight:600; }
.pricing-page .pricing-license { font-size:14px; line-height:1.5; color:#c1d2e1; margin:0; }
.pricing-page .pricing-requirement { font-size:14px; line-height:1.5; color:#c1d2e1; margin:12px 0 18px; }
.pricing-page .pricing-sheet-heading > .btn { width:100%; }
.pricing-page .pricing-included-count { margin:20px 0 0; padding:16px 0; border-top:1px solid #1b3b50; color:#c3d5e4; font-size:13px; line-height:1.4; }
.pricing-page .pricing-sheet-functions { padding:0 24px; }
.pricing-page .pricing-function-group { margin:0; padding:0; }
.pricing-page .pricing-function-group h3 { margin:0; padding:11px 0 8px; color:#60eaf3; font-size:13px; line-height:1.4; font-weight:700; border-top:1px solid #175069; }
.pricing-page .pricing-function-group ul { list-style:none; padding:0; margin:0 0 16px; }
.pricing-page .pricing-function { padding:0; border-bottom:1px solid #153344; }
.pricing-page .pricing-function:last-child { border-bottom:0; }
.pricing-page .pricing-function strong { display:block; color:#eef6ff; font-size:14px; line-height:1.4; font-weight:600; }
.pricing-page .pricing-function p { margin:0 0 12px; color:#bed0e0; font-size:14px; line-height:1.5; }
.pricing-page .pricing-function-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:8px 0; cursor:pointer; list-style:none; }
.pricing-page .pricing-function-disclosure > summary::-webkit-details-marker { display:none; }
.pricing-page .pricing-function-disclosure > summary::after { content:'+'; flex:0 0 18px; text-align:center; color:#60eaf3; font-size:20px; line-height:1; }
.pricing-page .pricing-function-disclosure[open] > summary::after { content:'−'; }
.pricing-page .pricing-function-disclosure > summary:hover strong { color:#60eaf3; }
.pricing-page .pricing-function-disclosure { min-width:0; }
.pricing-page .pricing-function-disclosure :is(strong,p) { overflow-wrap:anywhere; }
.pricing-page .pricing-category-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:10px 0; border-top:1px solid #175069; cursor:pointer; list-style:none; }
.pricing-page .pricing-category-disclosure > summary::-webkit-details-marker { display:none; }
.pricing-page .pricing-category-disclosure > summary h3 { min-width:0; padding:0; border:0; overflow-wrap:anywhere; }
.pricing-page .pricing-category-disclosure > summary::after { content:'+'; flex:0 0 18px; text-align:center; color:#60eaf3; font-size:20px; line-height:1; }
.pricing-page .pricing-category-disclosure[open] > summary::after { content:'−'; }
.pricing-page .pricing-category-count { white-space:nowrap; color:#c3d5e4; }
.pricing-page .pricing-category-disclosure > summary:hover h3 { color:#b8faff; }
.pricing-page .pricing-category-disclosure { min-width:0; }
.pricing-page .pricing-sheet-footer { border-top:1px solid #1b3b50; padding:14px 24px; background:#00213566; }
.pricing-page .pricing-detail-link { display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:600; color:#20e8f1; text-decoration:underline; text-underline-offset:5px; }
.pricing-page .pricing-secondary { margin-top:36px; }
.pricing-page .pricing-secondary h2 { font-size:26px; line-height:1.2; margin:0 0 12px; letter-spacing:-.025em; }
.pricing-page .pricing-secondary p { color:#c1d2e1; font-size:15px; line-height:1.6; margin:0 0 10px; }
.pricing-page .pricing-full-selection { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.45fr); gap:40px; align-items:center; padding:26px; background:#041b2b; border:1px solid #14536b; border-radius:12px; }
.pricing-page .pricing-secondary .pricing-kicker { font-size:11px; color:#62e6ef; }
.pricing-page .pricing-full-selection .pricing-price { color:#fff; font-size:38px; margin:0 0 4px; line-height:1.2; }
.pricing-page .pricing-full-action .btn { margin-top:8px; }
.pricing-page .pricing-account-access { display:flex; align-items:center; gap:20px; padding:18px 0 0; }
.pricing-page .pricing-account-access #commerceStatus { margin:0; font-size:13px; }
.pricing-page .pricing-account-access .btn { flex-shrink:0; }
.pricing-page .pricing-lower-zone { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; align-items:start; }
.pricing-page .pricing-lower-panel { min-width:0; padding:24px; border:1px solid #174056; border-radius:10px; background:#041b2b66; }
.pricing-page .pricing-lower-zone .pricing-free-price { color:#eef7ff; font-size:20px; font-weight:600; margin-bottom:16px; }
.pricing-page .pricing-free-description { max-width:60ch; }
.pricing-page .pricing-faq-list { border-top:1px solid #174056; }
.pricing-page .pricing-faq-list details { border-bottom:1px solid #174056; padding:0; }
.pricing-page .pricing-faq-list summary { cursor:pointer; padding:19px 5px; font-size:16px; font-weight:600; line-height:1.45; }
.pricing-page .pricing-faq-list p { max-width:90ch; padding:0 5px 16px; margin:0; }
@media (min-width:1181px) and (max-width:1370px) {
  .pricing-page .header-inner { gap:12px; }
  .pricing-page .site-nav { gap:14px; }
  .pricing-page .site-header .brand-text { font-size:18px; }
  .pricing-page .brand-subtext { font-size:10px; }
  .pricing-page .header-actions .btn { padding-inline:10px; font-size:13px; }
}
@media (max-width:1180px) {
  .pricing-page .container { width:calc(100% - 40px); }
  .pricing-page .site-nav { gap:0; top:78px; }
  .pricing-page .pricing-catalog { gap:12px; }
  .pricing-page .pricing-sheet-heading { padding:20px 18px 0; }
  .pricing-page .pricing-sheet-functions { padding:0 18px; }
}
@media (max-width:980px) {
  .pricing-page .pricing-lower-zone { grid-template-columns:1fr; gap:20px; }
  .pricing-page .pricing-catalog { grid-template-columns:1fr; gap:24px; }
  .pricing-page .pricing-sheet-heading { padding:24px 26px 0; }
  .pricing-page .pricing-sheet-functions { padding:0 26px; }
  .pricing-page .pricing-sheet-footer { padding-inline:26px; }
  .pricing-page .pricing-sheet-heading > .btn { width:auto; min-width:240px; }
}
@media (max-width:640px) {
  .pricing-page .container { width:calc(100% - 28px); }
  .pricing-page .header-inner { min-height:100px; padding:8px 0; gap:6px; }
  .pricing-page .site-header .brand-text { font-size:19px; }
  .pricing-page .site-header .brand-mark { width:36px; height:36px; border-radius:9px; }
  .pricing-page .header-actions .btn { min-height:37px; font-size:12px; padding:7px 11px; }
  .pricing-page .site-nav { top:102px; width:calc(100% - 28px); right:14px; }
  .pricing-page .pricing-hero { padding:24px 0 20px; }
  .pricing-page .pricing-hero h1 { font-size:34px; }
  .pricing-page .pricing-hero p { font-size:15px; }
  .pricing-page .pricing-sheet-heading { padding:21px 20px 0; }
  .pricing-page .pricing-sheet-functions { padding:0 20px; }
  .pricing-page .pricing-sheet-footer { padding-inline:20px; }
  .pricing-page .pricing-sheet-heading > .btn { width:100%; min-width:0; }
  .pricing-page .pricing-function strong { font-size:15px; }
  .pricing-page .pricing-price { font-size:44px; margin-top:18px; }
  .pricing-page .pricing-secondary { margin-top:28px; }
  .pricing-page .pricing-full-selection { grid-template-columns:1fr; gap:18px; }
  .pricing-page .pricing-lower-panel { padding:22px 20px; }
  .pricing-page .pricing-full-selection { padding:22px 20px; }
  .pricing-page .pricing-account-access { flex-direction:column; align-items:flex-start; gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .pricing-page *,.pricing-page *::before,.pricing-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
