/* Floating WA icon (pojok kanan bawah, jarak aman) */
.wlt-float{
  position:fixed;
  right:20px;
  bottom:90px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  z-index:99999;
  text-decoration:none !important;
}
.wlt-float:active{ transform: translateY(1px); }
.wlt-wa-icon{ width:30px; height:30px; filter:none!important; }

/* Overlay + Modal */
.wlt-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:99998;
}

.wlt-modal{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(92vw,420px);
  background:#fff;
  border-radius:16px;
  padding:18px;
  z-index:100000;
  box-shadow:0 12px 34px rgba(0,0,0,.25);
}

/* CLOSE: kecil di pojok kanan atas (paksa tidak melebar) */
.wlt-modal .wlt-close{
  position:absolute !important;
  right:12px !important;
  top:12px !important;
  width:32px !important;
  height:32px !important;
  border-radius:10px;
  border:0 !important;
  background:transparent !important;
  color:#111 !important;
  font-size:22px !important;
  line-height:32px !important;
  padding:0 !important;
  margin:0 !important;
  cursor:pointer;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
}
.wlt-modal .wlt-close:hover{ background:rgba(0,0,0,.06) !important; }

/* Title */
.wlt-title{ margin:0 0 6px; font-size:20px; }
.wlt-sub{ margin:0 0 14px; color:#444; font-size:13px; }

/* Form */
.wlt-form{ margin-top:8px; }
.wlt-field{ margin-bottom:12px; }

.wlt-modal label{
  display:block;
  font-size:12px;
  margin:0 0 6px;
  color:#222;
}

/* Asterisk merah */
.wlt-req{
  color:#d11 !important;
  font-weight:800;
}

.wlt-modal input,
.wlt-modal select{
  width:100%;
  padding:12px;
  border:1px solid #d6d6d6;
  border-radius:12px;
  font-size:15px;
  outline:none;
  background:#fff;
}
.wlt-modal input:focus,
.wlt-modal select:focus{ border-color:#25D366; }

/* Alert */
.wlt-alert{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff3f3;
  border:1px solid #ffd2d2;
  color:#a40000;
  font-size:13px;
}

/* Submit */
.wlt-submit{
  width:100% !important;
  margin-top:16px !important;
  padding:14px 12px;
  border-radius:12px;
  background:#25D366 !important;
  color:#fff !important;
  border:0 !important;
  font-weight:800;
  cursor:pointer;
}
.wlt-disabled{ opacity:.7; cursor:not-allowed; }

/* Footer note */
.wlt-note{
  display:block;
  margin-top:10px;
  color:#666;
  font-size:12px;
}
