.elementor-9489 .elementor-element.elementor-element-f06ae11{--display:flex;}.elementor-9489 .elementor-element.elementor-element-6d5ab7d > .elementor-widget-container{margin:100px 0px 0px 0px;}.elementor-9489 .elementor-element.elementor-element-6d5ab7d.elementor-element{--align-self:center;}/* Start custom CSS for html, class: .elementor-element-6d5ab7d */#vvq-root{
    --vvq-navy:#0B2A57;
    --vvq-navy-dark:#071C3B;
    --vvq-coral:#F0653A;
    --vvq-coral-dark:#D6522A;
    --vvq-ice:#F2F6FB;
    --vvq-line:#E2E8F1;
    --vvq-ink:#16213E;
    --vvq-muted:#6E7A93;
    --vvq-white:#FFFFFF;
    --vvq-radius:16px;
    --vvq-shadow: 0 30px 70px -24px rgba(11,42,87,.45);
    font-family: "Segoe UI", -apple-system, Roboto, Helvetica, Arial, sans-serif;
  }
  #vvq-root *{ box-sizing:border-box; }

  /* --- Trigger --- */
  #vvq-root .vvq-demo{ text-align:center; max-width:480px; margin:0 auto; }
  #vvq-root .vvq-eyebrow{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--vvq-coral); margin-bottom:10px; display:block; }
  #vvq-root .vvq-demo h1{ font-size:1.5rem; letter-spacing:-.01em; margin:0 0 10px 0; color:var(--vvq-navy); }
  #vvq-root .vvq-demo p{ color:var(--vvq-muted); font-size:.95rem; line-height:1.55; margin-bottom:30px; }
  #vvq-root .vvq-trigger{
    appearance:none !important; border:none !important; cursor:pointer;
    background: var(--vvq-navy) !important; color:#fff !important;
    padding:15px 28px !important; border-radius:999px !important;
    font-size:.95rem !important; font-weight:600 !important; letter-spacing:.01em;
    display:inline-flex !important; align-items:center; gap:10px;
    transition: transform .15s ease, background .15s ease;
    box-shadow: 0 12px 30px -10px rgba(11,42,87,.5);
    line-height:1.2 !important;
  }
  #vvq-root .vvq-trigger:hover{ background: var(--vvq-navy-dark) !important; transform: translateY(-1px); }
  #vvq-root .vvq-trigger svg{ width:16px; height:16px; flex:none; }

  /* --- Overlay: nascosto di default in modo esplicito, non solo via opacity --- */
  #vvq-overlay{
    display:none !important;
    position:fixed !important; inset:0 !important;
    background: rgba(7,28,59,.6);
    backdrop-filter: blur(3px);
    align-items:center; justify-content:center;
    opacity:0;
    transition: opacity .25s ease;
    z-index:99999 !important;
    padding:20px;
  }
  #vvq-overlay.vvq-open{
    display:flex !important;
    opacity:1;
  }

  #vvq-overlay .vvq-modal{
    background: var(--vvq-white);
    border-radius: var(--vvq-radius);
    width:100%; max-width:580px;
    box-shadow: var(--vvq-shadow);
    transform: translateY(16px) scale(.98);
    opacity:0;
    transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
    overflow-x:hidden;
    overflow-y:hidden;
    max-height:90vh;
    display:flex; flex-direction:column;
  }
  #vvq-overlay.vvq-open .vvq-modal{ transform: translateY(0) scale(1); opacity:1; }

  #vvq-overlay .vvq-modal-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 26px 0 26px;
  }
  #vvq-overlay .vvq-modal-head .vvq-eyebrow{ margin-bottom:0; }
  #vvq-overlay .vvq-close{
    appearance:none !important; border:none !important; background:none !important; cursor:pointer;
    width:34px; height:34px; border-radius:50%;
    display:flex !important; align-items:center; justify-content:center;
    color:var(--vvq-muted);
    transition: background .15s ease, color .15s ease;
    padding:0 !important;
  }
  #vvq-overlay .vvq-close:hover{ background: var(--vvq-ice) !important; color: var(--vvq-navy) !important; }
  #vvq-overlay .vvq-close svg{ width:16px; height:16px; }

  /* --- Progress --- */
  #vvq-overlay .vvq-progress{ display:flex; align-items:center; gap:6px; padding:8px 26px 22px 26px; }
  #vvq-overlay .vvq-seg{ height:4px; flex:1; border-radius:3px; background: var(--vvq-line); overflow:hidden; }
  #vvq-overlay .vvq-seg span{ display:block; height:100%; width:0%; background: var(--vvq-coral); transition: width .35s ease; }
  #vvq-overlay .vvq-seg.vvq-done span{ width:100%; }
  #vvq-overlay .vvq-seg.vvq-current span{ width:100%; }

  #vvq-overlay .vvq-body{ padding: 4px 26px 30px 26px; overflow-y:auto; overflow-x:hidden; max-width:100%; box-sizing:border-box; }

  #vvq-overlay .vvq-step{ display:none; animation: vvq-fade .3s ease; }
  #vvq-overlay .vvq-step.vvq-active{ display:block; }
  @keyframes vvq-fade{ from{ opacity:0; transform: translateX(8px);} to{opacity:1; transform:translateX(0);} }

  #vvq-overlay .vvq-q-title{ font-size:1.2rem; font-weight:700; margin:0 0 20px 0; letter-spacing:-.01em; color:var(--vvq-navy); }

  #vvq-overlay .vvq-options{ display:flex; flex-direction:column; gap:10px; }
  #vvq-overlay .vvq-option{
    text-align:left;
    border:1.5px solid var(--vvq-line) !important;
    background: var(--vvq-white) !important;
    border-radius:12px !important;
    padding:16px 18px !important;
    cursor:pointer;
    display:flex !important; align-items:center; justify-content:space-between; gap:12px;
    transition: border-color .15s ease, background .15s ease, transform .1s ease;
    width:100%;
    max-width:100%;
    box-sizing:border-box !important;
    appearance:none !important;
    white-space:normal !important;
  }
  #vvq-overlay .vvq-option:hover{ border-color: var(--vvq-coral) !important; background: #FFF6F3 !important; }
  #vvq-overlay .vvq-option:active{ transform: scale(.99); }
  #vvq-overlay .vvq-option .vvq-text{ flex:1; min-width:0; max-width:100%; }
  #vvq-overlay .vvq-option .vvq-label{ font-weight:700; font-size:.96rem; color:var(--vvq-navy); display:block; white-space:normal !important; word-break:break-word; overflow-wrap:anywhere; }
  #vvq-overlay .vvq-option .vvq-sub{ font-size:.83rem; color:var(--vvq-muted); margin-top:3px; line-height:1.4; display:block; white-space:normal !important; word-break:break-word; overflow-wrap:anywhere; }
  #vvq-overlay .vvq-option .vvq-arrow{ flex:none; color: var(--vvq-coral); opacity:0; transition: opacity .15s ease, transform .15s ease; }
  #vvq-overlay .vvq-option:hover .vvq-arrow{ opacity:1; transform: translateX(2px); }
  #vvq-overlay .vvq-option .vvq-arrow svg{ width:16px; height:16px; }

  #vvq-overlay .vvq-back{
    margin-top:18px; background:none !important; border:none !important; cursor:pointer;
    color:var(--vvq-muted); font-size:.83rem; display:flex; align-items:center; gap:4px;
    padding:4px 0 !important;
  }
  #vvq-overlay .vvq-back:hover{ color: var(--vvq-navy); }

  /* --- Result --- */
  #vvq-overlay .vvq-result-badge{
    width:46px; height:46px; border-radius:50%;
    background: var(--vvq-navy); color:#fff;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px;
  }
  #vvq-overlay .vvq-result-badge svg{ width:22px; height:22px; }
  #vvq-overlay .vvq-result-title{ font-size:1.35rem; font-weight:700; letter-spacing:-.01em; margin:0 0 8px 0; color:var(--vvq-navy); }
  #vvq-overlay .vvq-result-desc{ font-size:.94rem; line-height:1.6; color:var(--vvq-muted); margin:0 0 24px 0; }
  #vvq-overlay .vvq-cta{
    appearance:none !important; border:none !important; cursor:pointer;
    background: var(--vvq-coral) !important; color:#fff !important;
    padding:15px 24px !important; border-radius:999px !important;
    font-size:.93rem !important; font-weight:700 !important; letter-spacing:.01em;
    display:inline-flex !important; align-items:center; gap:8px;
    transition: background .15s ease;
    text-decoration:none !important;
    box-shadow: 0 12px 30px -10px rgba(240,101,58,.55);
  }
  #vvq-overlay .vvq-cta:hover{ background: var(--vvq-coral-dark) !important; }
  #vvq-overlay .vvq-restart{
    display:block; margin-top:16px; background:none !important; border:none !important; cursor:pointer;
    color:var(--vvq-muted); font-size:.83rem; text-decoration:underline; text-underline-offset:3px;
    padding:0 !important;
  }

  @media (max-width:420px){
    #vvq-overlay{ padding:12px; }
    #vvq-overlay .vvq-modal-head{ padding:18px 18px 0 18px; }
    #vvq-overlay .vvq-progress{ padding:6px 18px 16px 18px; }
    #vvq-overlay .vvq-body{ padding:4px 18px 22px 18px; }
    #vvq-overlay .vvq-option{ padding:14px 14px !important; }
    #vvq-overlay .vvq-option .vvq-label{ font-size:.9rem; }
    #vvq-overlay .vvq-q-title{ font-size:1.08rem; }
  }/* End custom CSS */