/* Opt-in modal for ExceptionalWeb.com CTAs. Brand: teal #2BB9AD, dark #013946.
   Loaded site-wide; the modal markup is injected by optin.js. */

.ew-optin-overlay{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  background:rgba(1,57,70,.55);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  opacity:0; transition:opacity .18s ease;
}
.ew-optin-overlay[hidden]{ display:none; }
.ew-optin-overlay.ew-open{ opacity:1; }

.ew-optin-dialog{
  position:relative; width:100%; max-width:460px;
  background:#fff; border-radius:18px;
  padding:36px 32px 32px;
  box-shadow:0 24px 60px rgba(1,57,70,.30);
  transform:translateY(10px) scale(.98); transition:transform .18s ease;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  max-height:calc(100vh - 40px); overflow:auto;
}
.ew-optin-overlay.ew-open .ew-optin-dialog{ transform:translateY(0) scale(1); }

.ew-optin-close{
  position:absolute; top:14px; right:16px;
  width:34px; height:34px; padding:0;
  border:0; border-radius:50%; cursor:pointer;
  background:#f0f4f5; color:#013946;
  font-size:22px; line-height:1; font-weight:400;
  transition:background .15s ease;
}
.ew-optin-close:hover{ background:#e2eaec; }

.ew-optin-title{
  margin:0 0 6px; padding:0;
  font-size:24px; line-height:1.2; font-weight:600; color:#013946;
}
.ew-optin-sub{
  margin:0 0 22px; padding:0;
  font-size:15px; line-height:1.45; color:#5a6b70;
}

.ew-optin-field{ display:block; margin-bottom:14px; }
.ew-optin-field > span{
  display:block; margin-bottom:6px;
  font-size:13px; font-weight:600; color:#013946;
}
.ew-optin-field input{
  width:100%; box-sizing:border-box;
  padding:12px 14px;
  font-size:15px; color:#013946;
  background:#fff; border:1px solid #cdd9dc; border-radius:10px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.ew-optin-field input::placeholder{ color:#9aabb0; }
.ew-optin-field input:focus{
  outline:none; border-color:#2BB9AD;
  box-shadow:0 0 0 3px rgba(43,185,173,.18);
}
.ew-optin-field.ew-invalid input{ border-color:#e2574c; }

/* Honeypot — visually hidden, off-screen, not focusable in normal flow */
.ew-optin-hp{
  position:absolute !important; left:-9999px !important;
  width:1px; height:1px; opacity:0; pointer-events:none;
}

.ew-optin-status{
  margin:2px 0 12px; padding:10px 12px;
  font-size:13.5px; line-height:1.4; border-radius:8px;
  background:#fdecea; color:#b03a30; border:1px solid #f3c6c1;
}
.ew-optin-status[hidden]{ display:none; }

.ew-optin-submit{
  width:100%; margin-top:6px; padding:14px 18px;
  font-size:15px; font-weight:600; cursor:pointer;
  color:#013946; background:#2BB9AD;
  border:0; border-radius:10px;
  transition:background .15s ease, opacity .15s ease;
}
.ew-optin-submit:hover{ background:#27a99e; }
.ew-optin-submit[disabled]{ opacity:.6; cursor:progress; }

body.ew-optin-lock{ overflow:hidden; }

@media (max-width:479px){
  .ew-optin-dialog{ padding:30px 22px 24px; border-radius:16px; }
  .ew-optin-title{ font-size:21px; }
}
