.fmwa{position:fixed;right:22px;bottom:22px;z-index:99999;font-family:Arial,Helvetica,sans-serif;color:#1f2937}.fmwa *{box-sizing:border-box}.fmwa-launcher{border:0;border-radius:999px;background:#25d366;color:#fff;display:flex;align-items:center;gap:10px;padding:12px 18px 12px 13px;min-height:54px;font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.18);cursor:pointer;transition:background .2s ease,transform .2s ease}.fmwa-launcher:hover{transform:translateY(-1px)}.fmwa.is-offline .fmwa-launcher{background:#c62828}.fmwa-launcher__icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff}.fmwa-launcher__icon svg{width:23px;height:23px;fill:#25d366}.fmwa.is-offline .fmwa-launcher__icon svg{fill:#c62828}.fmwa-status-dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2)}.fmwa-panel{position:absolute;right:0;bottom:68px;width:min(390px,calc(100vw - 28px));background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.22);border:1px solid #e5e7eb}.fmwa-header{background:#075e54;color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center}.fmwa-header strong{display:block;font-size:17px}.fmwa-header span{display:block;font-size:12px;opacity:.86;margin-top:2px}.fmwa-close{border:0;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:4px 7px}.fmwa-body{padding:18px}.fmwa-step{display:none}.fmwa-step.is-active{display:block}.fmwa-welcome{font-size:17px;font-weight:700;margin:0 0 6px}.fmwa-muted,.fmwa-small{color:#6b7280}.fmwa-muted{font-size:13px;margin:0 0 16px}.fmwa-small{font-size:11px;line-height:1.45;margin:12px 0 0}.fmwa h3{font-size:16px;margin:8px 0 14px;color:#111827}.fmwa-choice,.fmwa-email{width:100%;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:11px;padding:12px 13px;margin:0 0 9px;text-align:left;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:block}.fmwa-choice:hover,.fmwa-email:hover{border-color:#25d366}.fmwa-primary{background:#25d366!important;border-color:#25d366!important;color:#fff!important;text-align:center!important}.fmwa-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.fmwa-grid .fmwa-choice{margin:0;min-height:50px}.fmwa-back{border:0;background:transparent;padding:0;margin:0 0 8px;color:#4b5563;font-size:12px;cursor:pointer}.fmwa textarea{width:100%;resize:vertical;border:1px solid #d1d5db;border-radius:11px;padding:12px;font:inherit;font-size:14px;margin:0 0 10px;min-height:98px}.fmwa textarea:focus{outline:2px solid rgba(37,211,102,.25);border-color:#25d366}.fmwa-footer{border-top:1px solid #eef0f2;text-align:center;padding:10px 14px;font-size:11px;color:#6b7280;background:#fafafa}@media(max-width:600px){.fmwa{right:14px;bottom:14px}.fmwa-panel{bottom:66px}.fmwa-launcher__text{display:none}.fmwa-launcher{width:56px;height:56px;padding:0;justify-content:center}.fmwa-status-dot{position:absolute;right:2px;top:2px}.fmwa-launcher__icon{background:transparent}.fmwa-launcher__icon svg{fill:#fff!important;width:30px;height:30px}.fmwa-grid{grid-template-columns:1fr}}
.fmwa-question-text{width:100%;box-sizing:border-box;border:1px solid #d9dee5;border-radius:10px;padding:10px 12px;font:inherit;margin:0 0 10px;min-height:96px}

/* v2.2.2 - liste catalogo scorrevoli */
#fmwa-path-list,#fmwa-product-list{max-height:340px;overflow-y:auto;overflow-x:hidden;padding-right:5px;overscroll-behavior:contain;scrollbar-gutter:stable}
#fmwa-path-list::-webkit-scrollbar,#fmwa-product-list::-webkit-scrollbar{width:7px}
#fmwa-path-list::-webkit-scrollbar-thumb,#fmwa-product-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}
#fmwa-path-list::-webkit-scrollbar-track,#fmwa-product-list::-webkit-scrollbar-track{background:transparent}
@media(max-width:600px){#fmwa-path-list,#fmwa-product-list{max-height:300px;-webkit-overflow-scrolling:touch}}

/* v2.2.3 - scroll prodotti robusto e cache-busting */
.fmwa-panel{
  max-height:calc(100vh - 110px);
}
.fmwa-body{
  max-height:calc(100vh - 205px);
  overflow:hidden;
}
.fmwa-step[data-step="products"].is-active,
.fmwa-step[data-step="paths"].is-active{
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:calc(100vh - 245px);
}
#fmwa-product-list,
#fmwa-path-list{
  display:block!important;
  flex:1 1 auto;
  min-height:0;
  max-height:420px!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-right:7px;
  touch-action:pan-y;
}
#fmwa-product-list .fmwa-choice,
#fmwa-path-list .fmwa-choice{
  display:block;
  width:100%;
  margin:0 0 9px;
  min-height:48px;
}
@media(max-width:600px){
  .fmwa-panel{max-height:calc(100vh - 92px)}
  .fmwa-body{max-height:calc(100vh - 175px)}
  .fmwa-step[data-step="products"].is-active,
  .fmwa-step[data-step="paths"].is-active{max-height:calc(100vh - 210px)}
  #fmwa-product-list,#fmwa-path-list{max-height:360px!important}
}



/* v2.4.1 configurable appearance - viewport safe */
#fmwa-root.fmwa{
  position:fixed!important;
  right:auto!important;
  left:auto!important;
  bottom:var(--fmwa-bottom,24px)!important;
  z-index:var(--fmwa-z,2147483000)!important;
  max-width:calc(100vw - 16px);
}
#fmwa-root.fmwa-right{right:var(--fmwa-side,24px)!important;left:auto!important}
#fmwa-root.fmwa-left{left:var(--fmwa-side,24px)!important;right:auto!important}
#fmwa-root .fmwa-launcher{
  position:relative!important;
  right:auto!important;left:auto!important;bottom:auto!important;
  background:var(--fmwa-online,#25D366)!important;
  min-height:var(--fmwa-size,56px)!important;
}
#fmwa-root.is-offline .fmwa-launcher{background:var(--fmwa-offline,#D64545)!important}
#fmwa-root .fmwa-panel{
  position:absolute!important;
  bottom:calc(var(--fmwa-size,56px) + 12px)!important;
  width:var(--fmwa-panel-width-safe,390px)!important;
  max-width:calc(100vw - 16px)!important;
  max-height:var(--fmwa-panel-max-height-px,640px)!important;
  overflow:hidden!important;
}
#fmwa-root.fmwa-right .fmwa-panel{right:0!important;left:auto!important}
#fmwa-root.fmwa-left .fmwa-panel{left:0!important;right:auto!important}
#fmwa-root .fmwa-body{
  max-height:calc(var(--fmwa-panel-max-height-px,640px) - 96px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
#fmwa-root.fmwa-icon-only .fmwa-launcher__text{display:none!important}
#fmwa-root.fmwa-icon-only .fmwa-launcher{width:var(--fmwa-size,56px)!important;min-width:var(--fmwa-size,56px)!important;height:var(--fmwa-size,56px)!important;padding:0!important;justify-content:center!important}
#fmwa-root #fmwa-product-list,#fmwa-root #fmwa-path-list{max-height:min(420px,calc(var(--fmwa-panel-max-height-px,640px) - 175px))!important;overflow-y:auto!important}
@media(max-width:767px){
  #fmwa-root .fmwa-launcher__text{display:inline}
  #fmwa-root.fmwa-icon-only .fmwa-launcher__text{display:none!important}
  #fmwa-root .fmwa-panel{max-width:calc(100vw - 12px)!important}
}


/* v2.5.1 - widget sempre verde anche fuori orario */
#fmwa-root .fmwa-launcher,
#fmwa-root.is-online .fmwa-launcher,
#fmwa-root.is-offline .fmwa-launcher{
  background:var(--fmwa-online,#25D366)!important;
}
#fmwa-root .fmwa-status-dot{
  background:#fff!important;
}
#fmwa-root .fmwa-contact-mode{
  background:var(--fmwa-online,#25D366)!important;
  border-color:var(--fmwa-online,#25D366)!important;
}

/* v2.5.2 calcolatore distensione porta */
#fmwa-root .fmwa-measure-input{
  width:100%;box-sizing:border-box;border:1px solid #dce3e8;border-radius:12px;
  padding:13px 14px;font-size:16px;margin:8px 0 10px;background:#fff;color:#17202a
}
#fmwa-root .fmwa-measure-result{
  margin:12px 0;padding:13px 14px;border-radius:12px;background:#f5f7f9;
  color:#334155;font-size:14px;line-height:1.5;white-space:normal
}


/* v2.5.3 - mobile responsive hardening */
@media (max-width: 767px){
  #fmwa-root.fmwa{
    left:0!important;
    right:0!important;
    width:100%!important;
    pointer-events:none;
  }
  #fmwa-root .fmwa-launcher{
    pointer-events:auto;
    max-width:calc(100vw - 24px)!important;
    box-sizing:border-box!important;
  }
  #fmwa-root .fmwa-panel{
    pointer-events:auto;
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    width:auto!important;
    max-width:none!important;
    bottom:8px!important;
    max-height:calc(100vh - 16px)!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  #fmwa-root .fmwa-body{
    max-height:calc(100vh - 150px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    padding:16px!important;
  }
  #fmwa-root .fmwa-grid,
  #fmwa-root #fmwa-product-list,
  #fmwa-root #fmwa-path-list{
    max-height:calc(100vh - 250px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  #fmwa-root .fmwa-choice{
    width:100%!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    word-break:break-word!important;
  }
  #fmwa-root .fmwa-header{
    padding:14px 16px!important;
  }
  #fmwa-root .fmwa-footer{
    padding:10px 14px!important;
  }
}


/* v2.5.4 - mobile compact bottom sheet */
@media (max-width:767px){
  #fmwa-root.fmwa{
    position:fixed!important;
    inset:0!important;
    width:auto!important;
    height:auto!important;
    pointer-events:none!important;
    z-index:var(--fmwa-z,2147483000)!important;
  }

  #fmwa-root .fmwa-launcher{
    position:fixed!important;
    right:var(--fmwa-side,12px)!important;
    left:auto!important;
    bottom:var(--fmwa-bottom,16px)!important;
    max-width:calc(100vw - 24px)!important;
    pointer-events:auto!important;
  }
  #fmwa-root.fmwa-left .fmwa-launcher{
    left:var(--fmwa-side,12px)!important;
    right:auto!important;
  }
  #fmwa-root.fmwa-panel-open .fmwa-launcher{
    display:none!important;
  }

  #fmwa-root .fmwa-panel{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:min(78vh,680px)!important;
    margin:0!important;
    border-radius:18px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    pointer-events:auto!important;
  }
  #fmwa-root .fmwa-panel[hidden]{
    display:none!important;
  }
  #fmwa-root .fmwa-header{
    flex:0 0 auto!important;
    padding:14px 16px!important;
  }
  #fmwa-root .fmwa-header strong{
    font-size:18px!important;
  }
  #fmwa-root .fmwa-header span{
    font-size:13px!important;
  }
  #fmwa-root .fmwa-body{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px 16px 16px!important;
  }
  #fmwa-root .fmwa-footer{
    flex:0 0 auto!important;
    padding:9px 12px!important;
    font-size:12px!important;
  }
  #fmwa-root .fmwa-step h3{
    font-size:20px!important;
    margin:12px 0 14px!important;
  }
  #fmwa-root .fmwa-back{
    margin:0 0 4px!important;
    padding:5px 0!important;
  }
  #fmwa-root .fmwa-grid,
  #fmwa-root #fmwa-product-list,
  #fmwa-root #fmwa-path-list{
    max-height:none!important;
    overflow:visible!important;
  }
  #fmwa-root .fmwa-choice{
    min-height:50px!important;
    padding:11px 13px!important;
    margin:7px 0!important;
    border-radius:12px!important;
    font-size:15px!important;
    line-height:1.25!important;
  }
  #fmwa-root .fmwa-faq-answer{
    font-size:14px!important;
    line-height:1.45!important;
  }
}


/* v2.5.6 - mobile launcher and panel */
@media (max-width:767px){
  #fmwa-root.fmwa{
    position:fixed!important;
    inset:0!important;
    width:auto!important;
    height:auto!important;
    pointer-events:none!important;
    z-index:var(--fmwa-z,2147483000)!important;
  }
  #fmwa-root .fmwa-launcher{
    position:fixed!important;
    right:16px!important;
    left:auto!important;
    bottom:20px!important;
    transform:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:190px!important;
    min-height:50px!important;
    height:auto!important;
    padding:10px 14px!important;
    border-radius:999px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    pointer-events:auto!important;
    overflow:hidden!important;
  }
  #fmwa-root.fmwa-left .fmwa-launcher{left:16px!important;right:auto!important}
  #fmwa-root .fmwa-launcher__text{
    white-space:nowrap!important;
    word-break:normal!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:126px!important;
    font-size:14px!important;
    line-height:1.1!important;
  }
  #fmwa-root .fmwa-launcher__icon{flex:0 0 28px!important;width:28px!important;height:28px!important}
  #fmwa-root.fmwa-icon-only .fmwa-launcher{width:54px!important;height:54px!important;padding:0!important}
  #fmwa-root.fmwa-icon-only .fmwa-launcher__text{display:none!important}

  #fmwa-root .fmwa-panel{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:10px!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(78vh,680px)!important;
    border-radius:18px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    pointer-events:auto!important;
  }
  #fmwa-root .fmwa-panel[hidden]{display:none!important}
  #fmwa-root.fmwa-panel-open .fmwa-launcher{display:none!important}
  #fmwa-root .fmwa-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:14px 16px!important}
  #fmwa-root .fmwa-header{flex:0 0 auto!important;padding:14px 16px!important}
  #fmwa-root .fmwa-footer{flex:0 0 auto!important;padding:9px 12px!important}
  #fmwa-root .fmwa-choice{width:100%!important;box-sizing:border-box!important;white-space:normal!important;word-break:break-word!important}
}

#fmwa-root.fmwa-delayed{display:none!important}
