/* SMF Mail Lightbox (Classic) */
.smfml-open-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:0.7em 1.4em;background:#2eaadc;color:#fff;border:1px solid #2eaadc;border-radius:24px;font-weight:bold;cursor:pointer;transition:filter .15s ease-in-out,transform .1s ease-in-out;}
.smfml-open-btn:hover{filter:brightness(0.95);transform:translateY(-1px);}

body.smfml-modal-open{overflow:hidden;}

.smfml-modal{isolation:isolate;position:fixed;inset:0;z-index:2147483647;display:none;}
.smfml-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .2s ease-out;}
.smfml-modal__dialog{position:relative;margin:5vh auto 0 auto;max-width:640px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.35);transform:translateY(20px);opacity:0;transition:opacity .2s ease-out,transform .2s ease-out;}
.smfml-modal.is-open .smfml-modal__backdrop{opacity:1;}
.smfml-modal.is-open .smfml-modal__dialog{opacity:1;transform:translateY(0);}
.smfml-modal__content{padding:18px 20px;}

/* close button */
.smfml-modal__close{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.92);box-shadow:0 2px 10px rgba(0,0,0,.08);color:#222;font-size:20px;font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-in-out;}
.smfml-modal__close:hover{background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.12);transform:scale(1.03);}
.smfml-modal__close:active{transform:scale(0.98);}
.smfml-modal__close:focus-visible{outline:2px solid #2eaadc;outline-offset:2px;}

.smfml-form{display:flex;flex-direction:column;gap:12px;font-family:inherit;font-size:16px;}
.smfml-field label{display:block;margin-bottom:4px;font-weight:600;}
.smfml-form input,.smfml-form textarea{width:100%;box-sizing:border-box;padding:9px 10px;border-radius:8px;border:1px solid #ddd;}
.smfml-form textarea{min-height:120px;resize:vertical;}
.smfml-actions{margin-top:4px;}
.smfml-submit-btn{padding:0.7em 1.4em;border-radius:10px;border:1px solid #000;background:#000;color:#fff;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;}
.smfml-submit-btn:hover{filter:brightness(0.95);}

.smfml-success,.smfml-error{margin-bottom:14px;padding:10px 12px;border-radius:8px;font-size:0.95em;}
.smfml-success{background:#f1fff1;border:1px solid #b4e2b4;color:#205320;}
.smfml-error{background:#fff4f4;border:1px solid #e9a3a3;color:#a32121;}
.smfml-field-error{display:block;margin-top:4px;font-size:0.85em;color:#c02020;}
.smfml-retry-hint{margin-top:8px;font-size:0.9em;color:#555;}


/* processing message */
.smfml-processing{
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:8px;
  background:#f6f8ff;
  border:1px solid #cfd7ff;
  color:#24306a;
  font-size:0.95em;
}

/* disabled submit button */
.smfml-submit-btn[disabled],
.smfml-submit-btn.is-loading{
  opacity:0.7;
  cursor:not-allowed;
  filter:none;
}


/* honeypot field: hide from humans but leave in DOM for bots */
.smfml-hp{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}


/* hCaptcha spacing */
.smfml-hcaptcha{
  margin-top:6px;
}
.smfml-hcaptcha .h-captcha{
  max-width:100%;
}
