/* FB Buttons — front-end floating button + popup form. Scoped to .fbmnv2. */
.fbmnv2{position:fixed;z-index:99990;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
/* Matches v1 exactly: split transitions, explicit-width technique (JS), !important circle. */
.fbmnv2-launch{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  background:var(--fbmn-accent,#2d6a4f);color:var(--fbmn-text,#fff);border:none;cursor:pointer;
  font-size:20px;font-weight:normal;line-height:1.2;padding:12px 20px;
  width:auto;min-width:48px;min-height:48px;border-radius:50px;
  white-space:nowrap;overflow:hidden;box-sizing:border-box;box-shadow:0 4px 15px rgba(0,0,0,.2);
  transition:width .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1),
             border-radius .5s cubic-bezier(.4,0,.2,1),padding .5s cubic-bezier(.4,0,.2,1),
             box-shadow .3s ease,transform .3s ease;}
.fbmnv2-launch:hover,.fbmnv2-launch:focus{box-shadow:0 6px 20px rgba(0,0,0,.3);outline:none;}
.fbmnv2-launch:not(.scrolled):hover{transform:translateY(-2px);}
.fbmnv2-launch.scrolled:hover{transform:scale(1.1);}
.fbmnv2-text{display:inline-block;opacity:1;transform:translateX(0);
  transition:opacity .25s ease,transform .25s ease;}
.fbmnv2-launch:not(.scrolled) .fbmnv2-text{transition-delay:.25s;}
.fbmnv2-icon{position:absolute;top:50%;left:50%;display:flex;opacity:0;
  transform:translate(-50%,-50%) scale(0);transition:opacity .25s ease,transform .25s ease;}
/* Collapsed circle — !important so it overrides the inline px width the JS sets */
.fbmnv2-launch.scrolled{border-radius:50%;padding:12px!important;width:48px!important;height:48px!important;}
.fbmnv2-launch.scrolled .fbmnv2-text{opacity:0;transform:translateX(-20px);transition-delay:0s;}
.fbmnv2-launch.scrolled .fbmnv2-icon{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.25s;}
@media(max-width:767px){
  .fbmnv2-launch{font-size:16px;padding:8px 14px;min-width:40px;min-height:40px;}
  .fbmnv2-launch.scrolled{padding:10px!important;width:40px!important;height:40px!important;}
}
/* Per-button custom font (var set inline on .fbmnv2; inherits theme when unset) */
.fbmnv2-launch,.fbmnv2-title,.fbmnv2-form input,.fbmnv2-form textarea,.fbmnv2-submit{font-family:var(--fbmn-font,inherit);}
/* Device visibility — hide the button on devices it isn't enabled for */
@media(max-width:767px){.fbmnv2:not(.fbmnv2-show-mobile){display:none!important;}}
@media(min-width:768px) and (max-width:991px){.fbmnv2:not(.fbmnv2-show-tablet){display:none!important;}}
@media(min-width:992px){.fbmnv2:not(.fbmnv2-show-desktop){display:none!important;}}

.fbmnv2-modal{position:fixed;inset:0;z-index:99991;background:rgba(16,24,40,.45);
  display:flex;align-items:center;justify-content:center;padding:18px;}
.fbmnv2-modal[hidden]{display:none;}
.fbmnv2-card{background:#fff;width:100%;max-width:420px;border-radius:16px;padding:26px 24px 22px;
  position:relative;box-shadow:0 24px 60px rgba(16,24,40,.35);animation:fbmnv2-pop .18s ease;}
@keyframes fbmnv2-pop{from{transform:translateY(10px);opacity:0;}to{transform:none;opacity:1;}}
.fbmnv2-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:24px;
  line-height:1;color:#9aa4b2;cursor:pointer;}
.fbmnv2-close:hover{color:#5b6878;}
.fbmnv2-title{margin:0 0 16px;font-size:19px;font-weight:700;color:#1f2733;padding-right:24px;}
.fbmnv2-form label{display:block;margin-bottom:12px;}
.fbmnv2-form label span{display:block;font-size:13px;font-weight:600;color:#3a4452;margin-bottom:5px;}
.fbmnv2-form input,.fbmnv2-form textarea{
  width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid #d4dae3;border-radius:10px;
  font-size:14px;font-family:inherit;color:#1f2733;background:#fff;transition:.15s;}
.fbmnv2-form input:focus,.fbmnv2-form textarea:focus{outline:none;border-color:var(--fbmn-accent,#2d6a4f);
  box-shadow:0 0 0 3px rgba(45,106,79,.15);}
.fbmnv2-form textarea{resize:vertical;min-height:90px;}
.fbmnv2-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden;}
.fbmnv2-submit{width:100%;margin-top:6px;background:var(--fbmn-accent,#2d6a4f);color:var(--fbmn-text,#fff);
  border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;transition:.15s;}
.fbmnv2-submit:hover{filter:brightness(.94);}
.fbmnv2-submit:disabled{opacity:.6;cursor:default;}
.fbmnv2-feedback{margin-top:12px;font-size:13.5px;text-align:center;min-height:18px;}
.fbmnv2-feedback.ok{color:#1c6b45;}
.fbmnv2-feedback.err{color:#c0392b;}
@media(max-width:480px){.fbmnv2-launch{font-size:14px;padding:12px 18px;}}
