/* Canonical vps presentation for the homepage and service pages. */
:where(#vps-generator) .button { min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:6px;padding:12px 18px;font:inherit;border:1px solid var(--line);font-weight:750;cursor:pointer;text-align:center;white-space:nowrap }
:where(#vps-generator) .button.primary { color:#031224;background:linear-gradient(90deg,#31f3ee,#4aa0ff);border-color:transparent }
:where(#vps-generator) .button:disabled { opacity:.62;cursor:wait }
:where(#vps-generator) .button.secondary { background:#ffffff0e;color:#eef6ff }
:where(#vps-generator) .section-head { display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px }
:where(#vps-generator) .section-head p { margin:0;color:var(--paper-muted);max-width:520px;font-size:17px;line-height:1.55 }
:where(#vps-generator).dark .section-head p { color:var(--muted) }
:where(#vps-generator) .pill { width:fit-content;padding:6px 10px;border:1px solid rgba(30,232,240,.42);border-radius:999px;color:#adfbff;font-size:13px;font-weight:700;display:inline-block;margin-bottom:16px }
:where(#vps-generator) .generator { display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);gap:22px;align-items:stretch }
:where(#vps-generator) .generator>* { min-width:0;max-width:100% }
:where(#vps-generator) .generator-controls,
:where(#vps-generator) .generator-summary { border:1px solid rgba(172,210,255,.16);background:#ffffff0b;border-radius:8px;padding:24px }
:where(#vps-generator) .generator-controls { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px }
:where(#vps-generator) .field { display:grid;gap:8px }
:where(#vps-generator) .field span { color:#d9e8f9;font-size:14px;font-weight:800 }
:where(#vps-generator) .field select,
:where(#vps-generator) .field input[type=number] { width:100%;min-height:46px;border:1px solid rgba(172,210,255,.26);border-radius:6px;background:#0c1c35;color:#fff;padding:0 12px;font:inherit;outline:none }
:where(#vps-generator) .field select:focus,
:where(#vps-generator) .field input[type=number]:focus { border-color:#1ee8f0d1;box-shadow:0 0 0 3px #1ee8f01f }
:where(#vps-generator) .field small { color:var(--muted);line-height:1.42 }
:where(#vps-generator) .generator-summary { display:flex;flex-direction:column;justify-content:space-between;gap:18px }
:where(#vps-generator) .generator-summary h3 { margin:0;font-size:24px;letter-spacing:0 }
:where(#vps-generator) .generator-price { color:#fff;font-size:clamp(44px,7vw,72px);line-height:.95;font-weight:900;letter-spacing:0 }
:where(#vps-generator) .generator-summary p { margin:0;color:var(--muted);line-height:1.55 }
:where(#vps-generator) .generator-note { border-top:1px solid rgba(172,210,255,.14);padding-top:14px;font-size:14px }
@media (max-width:900px) {
:where(#vps-generator) .generator { grid-template-columns:minmax(0,1fr) }
:where(#vps-generator) .section-head { align-items:flex-start;flex-direction:column }
}
@media (max-width:560px) {
:where(#vps-generator) .generator-controls { grid-template-columns:1fr }
:where(#vps-generator) .button { width:100%;white-space:normal }
}

/* Keep the current quote and cart action reachable while editing on a phone. */
:where(#vps-generator) [hidden] { display:none!important }
:where(#vps-generator) a[aria-disabled="true"] { opacity:.6;cursor:wait;pointer-events:none }
:where(#vps-generator) .vps-mobile-purchase { display:none }
@media (max-width:900px) {
 :where(#vps-generator) .vps-mobile-purchase { position:fixed;inset:auto 0 0;z-index:80;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.85fr);align-items:center;gap:12px;padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#0c1c35;border-top:1px solid #36506d;box-shadow:0 -4px 24px #0005;color:#fff }
 :where(#vps-generator) .vps-mobile-price { display:grid;gap:3px;min-width:0;line-height:1.3 }
 :where(#vps-generator) .vps-mobile-price strong { font-size:20px;overflow-wrap:anywhere }
 :where(#vps-generator) .vps-mobile-price small { font-size:12px;color:#d1e0f2;overflow-wrap:anywhere }
 :where(#vps-generator) .vps-mobile-action { display:grid;gap:6px }
 :where(#vps-generator) .vps-mobile-action .button { min-height:48px;padding:10px 12px;width:100%;white-space:normal }
 :where(#vps-generator) .generator-controls { scroll-margin-bottom:160px }
 :where(#vps-generator) .field { scroll-margin-bottom:160px }
 body.vps-mobile-purchase-visible { padding-bottom:var(--vps-purchase-height,150px) }
}
