.netgsm-otp-wrap { margin: 12px 0; }
.netgsm-otp-modal { display:none; position:fixed; inset:0; z-index:99999; }
.netgsm-otp-modal.is-open { display:block; }
.netgsm-otp-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.55); }
.netgsm-otp-dialog {
  position:relative;
  width:min(92vw, 420px);
  margin:8vh auto;
  background:#fff;
  border-radius:14px;
  padding:18px 18px 14px;
  box-shadow:0 10px 40px rgba(0,0,0,.25);
}
.netgsm-otp-dialog h3 { margin:0 0 10px; font-size:18px; }

.netgsm-otp-close{
  position:absolute !important;
  top:8px !important;
  right:8px !important;
  left:auto !important;
  bottom:auto !important;
  z-index: 10 !important;
  width:40px !important;
  height:40px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:28px !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.netgsm-otp-step label { display:block; font-weight:600; margin:10px 0 6px; }
.netgsm-otp-step input {
  width:100%;
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:10px;
  outline:none;
}
.netgsm-otp-step small { display:block; margin:6px 0 10px; opacity:.75; }
.netgsm-otp-step .button { width:100%; margin-top:10px; }
.netgsm-otp-resend { margin-top:8px; opacity:.9; }
.netgsm-otp-msg { margin-top:12px; font-size:14px; }
.netgsm-otp-msg.is-error { color:#b00020; }

.netgsm-otp-user-select{margin-top:10px;}
.netgsm-otp-user-select select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px;}


/* Strong override for themes that reposition modal close button (e.g., Woodmart) */
.netgsm-otp-modal .netgsm-otp-dialog .netgsm-otp-close{
  position:absolute !important;
  top:8px !important;
  right:8px !important;
  left:auto !important;
  bottom:auto !important;
  float:none !important;
  transform:none !important;
}

/* Final hard override for Woodmart and RTL themes */
.netgsm-otp-modal,
.netgsm-otp-modal * {
  direction: ltr !important;
}

.netgsm-otp-modal .netgsm-otp-dialog {
  position: relative !important;
}

.netgsm-otp-modal :where(.netgsm-otp-close){
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  left:auto !important;
  bottom:auto !important;
  float:none !important;
  transform:none !important;
  z-index:99999 !important;
}

/* Extra-specific close button override */
body .netgsm-otp-modal.is-open .netgsm-otp-dialog > .netgsm-otp-close{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  left:auto !important;
  bottom:auto !important;
  float:none !important;
  transform:none !important;
  z-index:99999 !important;
}
