.trx-contact-gate-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(3,16,11,.72);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.trx-contact-gate-overlay[hidden]{display:none!important}

body.trx-contact-gate-open{overflow:hidden}

.trx-contact-gate-dialog{
  position:relative;
  width:min(100%,500px);
  max-height:calc(100vh - 48px);
  overflow:auto;
  box-sizing:border-box;
  padding:34px;
  border:1px solid rgba(0,132,61,.2);
  border-radius:20px;
  background:#fff;
  color:#17221d;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
  text-align:center;
}

.trx-contact-gate-dialog:focus{outline:none}

.trx-contact-gate-dialog:focus-visible{
  outline:3px solid rgba(0,132,61,.35);
  outline-offset:4px;
}

.trx-contact-gate-close{
  position:absolute;
  top:13px;
  right:13px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#f1f5f3;
  color:#263b31;
  font:700 30px/1 Arial,sans-serif;
  cursor:pointer;
}

.trx-contact-gate-close:hover{background:#e4ece8}

.trx-contact-gate-mark{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 auto 16px;
  border-radius:16px;
  background:linear-gradient(145deg,#00843d,#005f2c);
  color:#fff;
  font:700 26px/1 Arial,sans-serif;
  box-shadow:0 10px 24px rgba(0,132,61,.22);
}

.trx-contact-gate-dialog h2{
  margin:0 32px 9px;
  color:#101914;
  font:700 clamp(22px,4vw,28px)/1.2 Arial,sans-serif;
  letter-spacing:-.02em;
}

.trx-contact-gate-dialog>p{
  margin:0 auto;
  max-width:410px;
  color:#526158;
  font:400 15px/1.55 Arial,sans-serif;
}

.trx-contact-gate-status{
  min-height:24px;
  margin-top:17px!important;
  padding:10px 12px;
  border-radius:9px;
  background:#f3f6f4;
  color:#435148!important;
  font-size:14px!important;
}

.trx-contact-gate-status[data-state="success"]{
  background:#e8f7ee;
  color:#116134!important;
}

.trx-contact-gate-status[data-state="error"]{
  background:#fff0ee;
  color:#9d271c!important;
}

.trx-contact-gate-status[data-state="loading"]{color:#46574d!important}

.trx-contact-gate-turnstile{
  width:100%;
  min-height:70px;
  margin:18px auto 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.trx-contact-gate-turnstile iframe{max-width:100%!important}

.trx-contact-gate-actions{
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:12px;
  margin-top:20px;
}

.trx-contact-gate-actions button{
  min-height:48px;
  padding:12px 18px;
  border-radius:10px;
  font:700 15px/1.2 Arial,sans-serif;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}

.trx-contact-gate-actions button:active:not(:disabled){transform:translateY(1px)}

.trx-contact-gate-cancel{
  border:1px solid #cdd8d2;
  background:#fff;
  color:#24352c;
}

.trx-contact-gate-cancel:hover{background:#f4f7f5}

.trx-contact-gate-continue{
  border:1px solid #00843d;
  background:#00843d;
  color:#fff;
}

.trx-contact-gate-continue:hover:not(:disabled){background:#006f34;border-color:#006f34}

.trx-contact-gate-actions button:disabled{
  border-color:#b8c5be;
  background:#b8c5be;
  color:#fff;
  cursor:not-allowed;
}

.trx-contact-gate-close:focus-visible,
.trx-contact-gate-actions button:focus-visible{
  outline:3px solid rgba(0,132,61,.3);
  outline-offset:3px;
}

@media(max-width:560px){
  .trx-contact-gate-overlay{
    align-items:flex-end;
    padding:12px;
  }

  .trx-contact-gate-dialog{
    width:100%;
    max-height:calc(100dvh - 24px);
    padding:30px 20px 20px;
    border-radius:18px;
  }

  .trx-contact-gate-actions{grid-template-columns:1fr}
  .trx-contact-gate-continue{grid-row:1}
  .trx-contact-gate-cancel{grid-row:2}
}

@media(prefers-reduced-motion:reduce){
  .trx-contact-gate-actions button{transition:none}
}
