/* Clean register field info buttons */
.icw-field-info-btn{
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  margin-left:8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:
    linear-gradient(135deg, rgba(96,165,250,.16), rgba(168,85,247,.12)),
    rgba(255,255,255,.06);
  color:rgba(255,255,255,.9);
  font-size:12px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  vertical-align:middle;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.icw-field-info-btn:hover{
  transform:translateY(-1px) scale(1.04);
  border-color:rgba(96,165,250,.36);
  box-shadow:0 12px 26px rgba(96,165,250,.13);
}

.icw-field-info-btn:focus-visible{
  outline:2px solid rgba(96,165,250,.75);
  outline-offset:3px;
}

/* Hide old long helper texts so form stays clean */
.register-info-box,
.registration-info-box,
.email-domain-info,
.wa-info-box,
.register-helper-card,
.register-notice,
.form-helper,
.input-helper,
.email-helper,
.phone-helper,
small:has(+ .icw-field-info-btn){
  display:none !important;
}

.field-info-modal{
  position:fixed;
  inset:0;
  z-index:1000000;
  display:none;
  place-items:center;
  padding:20px;
}

.field-info-modal.is-open{
  display:grid;
  animation:icwInfoFade .18s ease both;
}

.field-info-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.66);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.field-info-card{
  position:relative;
  width:min(430px, 100%);
  padding:26px;
  border-radius:26px;
  color:#fff;
  background:
    radial-gradient(circle at top left, rgba(96,165,250,.18), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.05)),
    rgba(9,13,28,.88);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:
    0 28px 80px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.12);
  animation:icwInfoUp .25s cubic-bezier(.22,1,.36,1) both;
}

.field-info-close{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  color:rgba(255,255,255,.75);
  background:rgba(255,255,255,.08);
  cursor:pointer;
  font-size:22px;
  line-height:1;
}

.field-info-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:16px;
  margin-bottom:14px;
  font-weight:950;
  background:linear-gradient(135deg, #2563eb, #7c3aed);
  box-shadow:0 16px 34px rgba(37,99,235,.22);
}

.field-info-card h3{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-.03em;
}

.field-info-card p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.7;
}

@keyframes icwInfoFade{
  from{opacity:0}
  to{opacity:1}
}

@keyframes icwInfoUp{
  from{opacity:0; transform:translateY(12px) scale(.98)}
  to{opacity:1; transform:translateY(0) scale(1)}
}

@media(max-width:640px){
  .field-info-modal{
    align-items:end;
    padding:14px;
  }

  .field-info-card{
    border-radius:24px;
    padding:24px;
  }

  .icw-field-info-btn{
    width:21px;
    height:21px;
    font-size:11px;
  }
}

/* Final clean register form: helper text is moved into the ! popup. */
.field-help{
  display:none !important;
}
