/* VSN Quote Wizard — floating button + modal
   THEME-PROOFED: host themes style bare <button> aggressively (e.g. ducatibox:
   button:not(.rm-style-default){background:var(--primary-color);padding:0 30px;line-height:52px;
   border-radius:0;position:relative}) which outguns our single-class selectors — options turned
   into giant red slabs and the close ✕ was knocked out of its corner. Every wizard control is
   therefore pinned with !important on all visual props. Values are unchanged from the design. */
#vsn-fab{position:fixed!important;right:20px!important;bottom:20px!important;left:auto!important;top:auto!important;z-index:99998!important;display:inline-flex!important;align-items:center!important;gap:9px!important;
  padding:14px 20px!important;margin:0!important;border:none!important;border-radius:50px!important;cursor:pointer!important;height:auto!important;min-height:0!important;width:auto!important;
  font:600 15px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;
  color:var(--vsn-accent-text,#fff)!important;background:linear-gradient(135deg,var(--vsn-accent,#1466B8),color-mix(in srgb,var(--vsn-accent,#1466B8) 65%,#000))!important;
  box-shadow:0 8px 24px rgba(0,0,0,.28)!important;transition:transform .15s ease,box-shadow .15s ease!important}
#vsn-fab:hover{transform:translateY(-2px)!important;box-shadow:0 12px 30px rgba(0,0,0,.34)!important;color:var(--vsn-accent-text,#fff)!important;background:linear-gradient(135deg,var(--vsn-accent,#1466B8),color-mix(in srgb,var(--vsn-accent,#1466B8) 65%,#000))!important}
#vsn-fab svg{width:20px!important;height:20px!important;fill:currentColor!important}
#vsn-fab .vsn-pulse{position:absolute!important;inset:0!important;border-radius:50px!important;box-shadow:0 0 0 0 var(--vsn-accent,#1466B8);animation:vsn-pulse 2.4s infinite}
@keyframes vsn-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--vsn-accent,#1466B8) 55%,transparent)}70%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 0 transparent}}

.vsn-overlay{position:fixed!important;inset:0!important;z-index:99999!important;display:none;align-items:center!important;justify-content:center!important;background:rgba(12,17,23,.6)!important;backdrop-filter:blur(3px);padding:16px!important;margin:0!important}
.vsn-overlay.open{display:flex!important}
.vsn-modal{width:100%!important;max-width:520px!important;max-height:92vh!important;overflow:hidden!important;background:#fff!important;border-radius:18px!important;box-shadow:0 30px 80px rgba(0,0,0,.4)!important;display:flex!important;flex-direction:column!important;margin:0!important;padding:0!important;border:none!important;
  font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;color:#0D1117!important;text-align:left!important}
.vsn-head{padding:18px 56px 18px 20px!important;margin:0!important;background:linear-gradient(135deg,var(--vsn-accent,#1466B8),color-mix(in srgb,var(--vsn-accent,#1466B8) 65%,#000))!important;color:var(--vsn-accent-text,#fff)!important;position:relative!important;border:none!important}
.vsn-head h3{margin:0!important;padding:0!important;font-size:18px!important;font-weight:700!important;line-height:1.3!important;color:inherit!important;text-transform:none!important;letter-spacing:0!important;font-family:inherit!important}
.vsn-head p{margin:4px 0 0!important;padding:0!important;font-size:13px!important;line-height:1.4!important;opacity:.9;color:inherit!important}
.vsn-close{position:absolute!important;top:14px!important;right:14px!important;left:auto!important;bottom:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
  background:rgba(255,255,255,.2)!important;border:none!important;color:inherit!important;width:30px!important;height:30px!important;min-height:0!important;padding:0!important;margin:0!important;
  border-radius:50%!important;cursor:pointer!important;font-size:18px!important;line-height:1!important;text-transform:none!important;box-shadow:none!important}
.vsn-close:hover{background:rgba(255,255,255,.32)!important;color:inherit!important}
.vsn-ask{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:10px 0 0!important;width:auto!important;height:auto!important;min-height:0!important;
  background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.35)!important;color:inherit!important;padding:6px 12px!important;border-radius:20px!important;cursor:pointer!important;
  font-size:13px!important;font-weight:600!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;font-family:inherit!important}
.vsn-ask:hover{background:rgba(255,255,255,.28)!important;color:inherit!important}
.vsn-bar{height:4px!important;background:rgba(255,255,255,.25)!important;margin:0!important;padding:0!important}
.vsn-bar i{display:block!important;height:100%!important;background:var(--vsn-accent-text,#fff)!important;transition:width .3s ease!important;margin:0!important}
.vsn-body{padding:20px!important;margin:0!important;overflow-y:auto!important;background:transparent!important}
.vsn-q{font-size:17px!important;font-weight:700!important;margin:0 0 14px!important;padding:0!important;color:#0D1117!important;line-height:1.35!important;text-transform:none!important;font-family:inherit!important}
.vsn-opts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0!important;padding:0!important}
.vsn-opt{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;
  padding:14px!important;border:2px solid #e5e9f0!important;border-radius:12px!important;cursor:pointer!important;background:#fff!important;color:#0D1117!important;
  text-align:left!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;
  font-family:inherit!important;transition:border-color .12s ease,background-color .12s ease!important}
.vsn-opt:hover{border-color:var(--vsn-accent,#1466B8)!important;background:#fff!important;color:#0D1117!important}
.vsn-opt.sel{border-color:var(--vsn-accent,#1466B8)!important;background:color-mix(in srgb,var(--vsn-accent,#1466B8) 8%,#fff)!important;color:#0D1117!important}
.vsn-opt .emo{font-size:22px!important;line-height:1!important}
.vsn-field{margin:0 0 12px!important;padding:0!important}
.vsn-field label{display:block!important;font-size:13px!important;font-weight:600!important;margin:0 0 5px!important;padding:0!important;color:#0D1117!important;text-transform:none!important}
.vsn-field input{width:100%!important;height:auto!important;padding:12px 14px!important;margin:0!important;border:2px solid #e5e9f0!important;border-radius:10px!important;
  font-size:15px!important;line-height:1.4!important;box-sizing:border-box!important;background:#fff!important;color:#0D1117!important;box-shadow:none!important;font-family:inherit!important}
.vsn-field input:focus{outline:none!important;border-color:var(--vsn-accent,#1466B8)!important;background:#fff!important;box-shadow:none!important}
.vsn-hp{position:absolute!important;left:-9999px!important}
.vsn-foot{display:flex!important;gap:10px!important;padding:14px 20px!important;margin:0!important;border-top:1px solid #eef1f5!important;background:transparent!important}
.vsn-btn{flex:1!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:13px!important;border-radius:10px!important;border:none!important;cursor:pointer!important;
  font-size:15px!important;font-weight:700!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;font-family:inherit!important;text-align:center!important}
.vsn-btn.ghost{flex:0 0 auto!important;background:#f0f2f5!important;color:#0D1117!important}
.vsn-btn.ghost:hover{background:#e4e7ec!important;color:#0D1117!important}
.vsn-btn.primary{color:var(--vsn-accent-text,#fff)!important;background:linear-gradient(135deg,var(--vsn-accent,#1466B8),color-mix(in srgb,var(--vsn-accent,#1466B8) 65%,#000))!important}
.vsn-btn.primary:hover{color:var(--vsn-accent-text,#fff)!important;background:linear-gradient(135deg,var(--vsn-accent,#1466B8),color-mix(in srgb,var(--vsn-accent,#1466B8) 65%,#000))!important;filter:brightness(1.08)}
.vsn-btn[disabled]{opacity:.45!important;cursor:not-allowed!important}
.vsn-done{text-align:center!important;padding:40px 24px!important}
.vsn-done .tick{width:64px!important;height:64px!important;margin:0 auto 16px!important;border-radius:50%!important;background:color-mix(in srgb,var(--vsn-accent,#1466B8) 12%,#fff)!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:34px!important}
@media(max-width:480px){.vsn-opts{grid-template-columns:1fr!important}#vsn-fab span.lbl{display:none!important}}
