.anoneo-login-modal-is-open {
  overflow: hidden;
}

.anoneo-login-modal {
  position: fixed;
  z-index: calc(var(--anoneo-z-drawer, 900) + 6);
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--anoneo-transition, 180ms ease);
}

.anoneo-login-modal[hidden] {
  display: none !important;
}

body.admin-bar .anoneo-login-modal {
  padding-top: calc(var(--wp-admin--admin-bar--height, 32px) + 18px);
}

.anoneo-login-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.anoneo-login-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--anoneo-modal-backdrop, rgba(3, 5, 10, 0.78));
  backdrop-filter: var(--anoneo-modal-backdrop-filter, blur(10px) saturate(1.08));
  cursor: pointer;
  -webkit-backdrop-filter: var(--anoneo-modal-backdrop-filter, blur(10px) saturate(1.08));
}

.anoneo-login-modal__panel {
  position: relative;
  width: min(460px, calc(100vw - 36px));
  max-height: min(720px, calc(100dvh - 36px));
  overflow: auto;
  border: 1px solid var(--anoneo-modal-border-accent, rgba(77, 239, 202, 0.34));
  border-radius: var(--anoneo-radius, 12px);
  background: var(--anoneo-modal-panel-background, linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 32%), #101827);
  box-shadow: var(--anoneo-modal-shadow, 0 24px 72px rgba(0, 0, 0, 0.58), var(--anoneo-inset-highlight, inset 0 1px rgba(255, 255, 255, 0.08)));
  scrollbar-color: rgba(77, 239, 202, 0.68) rgba(3, 5, 10, 0.48);
  scrollbar-width: thin;
}

.anoneo-login-modal__panel::-webkit-scrollbar {
  width: 8px;
}

.anoneo-login-modal__panel::-webkit-scrollbar-track {
  background: rgba(3, 5, 10, 0.48);
  border-radius: 999px;
}

.anoneo-login-modal__panel::-webkit-scrollbar-thumb {
  border: 2px solid rgba(3, 5, 10, 0.48);
  border-radius: 999px;
  background: rgba(77, 239, 202, 0.68);
}

body.admin-bar .anoneo-login-modal__panel {
  max-height: min(700px, calc(100dvh - var(--wp-admin--admin-bar--height, 32px) - 36px));
}

.anoneo-login-modal__header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid var(--anoneo-border, rgba(141, 165, 205, 0.22));
  padding: 18px;
}

.anoneo-login-modal__header p {
  margin: 0 0 6px;
  color: var(--anoneo-accent, #4defca);
  font-size: 0.76rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.anoneo-login-modal.is-registering .anoneo-login-modal__header p {
  display: none;
}

.anoneo-login-modal__title {
  display: block;
  margin: 0;
  color: var(--anoneo-text, #f5f8ff);
  font-size: clamp(1.15rem, 2.8vw, 1.65rem);
  line-height: 1.12;
}

.anoneo-login-modal__form {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.anoneo-login-modal__form label {
  display: grid;
  gap: 7px;
  color: var(--anoneo-muted, #b9c5dc);
  font-size: 0.82rem;
  font-weight: 900;
}

.anoneo-login-modal__field-group {
  display: grid;
  gap: 14px;
}

.anoneo-login-modal__field-group[hidden] {
  display: none;
}

.anoneo-login-modal__form input[type="text"],
.anoneo-login-modal__form input[type="email"],
.anoneo-login-modal__form input[type="password"] {
  width: 100%;
  border: 1px solid var(--anoneo-border, rgba(141, 165, 205, 0.22));
  border-radius: var(--anoneo-radius-sm, 8px);
  background: rgba(5, 10, 19, 0.8);
  color: var(--anoneo-text, #f5f8ff);
  font: inherit;
  min-height: 46px;
  padding: 0 13px;
}

.anoneo-login-modal__privacy {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--anoneo-muted, #b9c5dc);
  font-size: 0.76rem;
  font-weight: 850;
  line-height: 1.35;
  padding: 0;
}

.anoneo-login-modal__privacy input {
  margin-top: 2px;
}

.anoneo-login-modal__privacy a {
  color: var(--anoneo-accent-2, #75c7ff);
  font-weight: 950;
  text-decoration: none;
}

.anoneo-login-modal__row {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.anoneo-login-modal__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.anoneo-login-modal__remember {
  display: inline-flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  color: var(--anoneo-muted, #b9c5dc);
}

.anoneo-login-modal__row a,
.anoneo-login-modal__actions a {
  color: var(--anoneo-accent-2, #75c7ff);
  font-size: 0.84rem;
  font-weight: 900;
  text-decoration: none;
}

.anoneo-login-modal__actions button,
.anoneo-login-modal__actions a {
  min-height: 44px;
}

.anoneo-login-modal__actions button {
  border: 1px solid rgba(78, 244, 197, 0.45);
  border-radius: var(--anoneo-radius-sm, 8px);
  background: var(--anoneo-accent, #4defca);
  color: #02100d;
  cursor: pointer;
  font: inherit;
  font-weight: 950;
  padding: 0 18px;
  transition:
    border-color var(--anoneo-transition, 180ms ease),
    background var(--anoneo-transition, 180ms ease),
    color var(--anoneo-transition, 180ms ease),
    transform var(--anoneo-transition, 180ms ease);
}

.anoneo-login-modal__actions button:hover,
.anoneo-login-modal__actions button:focus-visible {
  border-color: rgba(78, 244, 197, 0.66);
  background: #8affdd;
  color: #04110e;
  transform: translateY(var(--anoneo-hover-lift, -2px));
}

.anoneo-login-modal__actions .anoneo-login-modal__create-account {
  border: 1px solid rgba(117, 199, 255, 0.28);
  border-radius: var(--anoneo-radius-sm, 8px);
  background: rgba(117, 199, 255, 0.08);
  color: var(--anoneo-text, #f5f8ff);
  font-size: 0.88rem;
  font-weight: 950;
  padding: 0 14px;
}

.anoneo-login-modal__actions .anoneo-login-modal__create-account:hover,
.anoneo-login-modal__actions .anoneo-login-modal__create-account:focus-visible {
  border-color: rgba(117, 199, 255, 0.52);
  background: rgba(117, 199, 255, 0.14);
  color: var(--anoneo-text, #f5f8ff);
  transform: translateY(var(--anoneo-hover-lift, -2px));
}

.anoneo-login-modal__action-divider {
  color: var(--anoneo-muted, #b9c5dc);
  font-size: 0.75rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.anoneo-login-modal__actions button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.anoneo-login-modal__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.anoneo-login-modal__submit-foot {
  display: grid;
  gap: 8px;
}

.anoneo-login-modal__submit-foot--verify {
  gap: 8px;
}

.anoneo-login-modal__verification {
  min-height: 0;
}

.anoneo-login-modal__verification:empty {
  display: none;
}

.anoneo-login-modal__secondary {
  display: grid;
  gap: 8px;
  border-top: 1px solid var(--anoneo-border, rgba(141, 165, 205, 0.22));
  padding-top: 12px;
}

.anoneo-login-modal__secondary a {
  display: grid;
  gap: 3px;
  border: 1px solid var(--anoneo-border, rgba(141, 165, 205, 0.22));
  border-radius: var(--anoneo-radius-sm, 8px);
  background: rgba(5, 10, 19, 0.42);
  color: var(--anoneo-text, #f5f8ff);
  padding: 10px 12px;
  text-decoration: none;
  transition:
    border-color var(--anoneo-transition, 180ms ease),
    background var(--anoneo-transition, 180ms ease),
    color var(--anoneo-transition, 180ms ease),
    transform var(--anoneo-transition, 180ms ease);
}

.anoneo-login-modal__secondary .anoneo-login-modal__create-account {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border-color: rgba(117, 199, 255, 0.28);
  background: rgba(117, 199, 255, 0.08);
  color: var(--anoneo-text, #f5f8ff);
  font-size: 0.88rem;
  font-weight: 950;
}

.anoneo-login-modal__secondary a:hover,
.anoneo-login-modal__secondary a:focus-visible {
  border-color: rgba(117, 199, 255, 0.52);
  background: rgba(117, 199, 255, 0.12);
  transform: translateY(var(--anoneo-hover-lift, -2px));
}

.anoneo-login-modal__secondary strong {
  color: var(--anoneo-text, #f5f8ff);
  font-size: 0.9rem;
  line-height: 1.2;
}

.anoneo-login-modal__secondary span {
  color: var(--anoneo-muted, #b9c5dc);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.3;
}

.anoneo-login-modal__status {
  margin: 0;
  color: var(--anoneo-muted, #b9c5dc);
  font-size: 0.86rem;
  font-weight: 850;
}

.anoneo-login-modal__status:empty {
  display: none;
}

.anoneo-login-modal__status[data-tone="success"] {
  color: var(--anoneo-accent, #4defca);
}

.anoneo-login-modal__status[data-tone="error"] {
  color: var(--anoneo-pink, #ff7ac8);
}

.anoneo-auth-turnstile-field {
  display: grid;
  gap: 0.65rem;
  width: 100%;
  margin: 0.85rem 0;
  padding: 0.85rem;
  border: 1px solid color-mix(in srgb, var(--anoneo-accent, #4defca) 28%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--anoneo-panel, #101927) 88%, #071016);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.anoneo-auth-turnstile-field__copy {
  display: grid;
  gap: 0.2rem;
  color: var(--anoneo-cream, #f7fbff);
  line-height: 1.35;
}

.anoneo-auth-turnstile-field__copy strong {
  font-size: 0.86rem;
  font-weight: 900;
}

.anoneo-auth-turnstile-field__copy span {
  color: var(--anoneo-muted, #aebbd0);
  font-size: 0.78rem;
  font-weight: 750;
}

.anoneo-auth-turnstile-field__challenge {
  min-height: 0;
}

.woocommerce-form .anoneo-auth-turnstile-field,
#loginform .anoneo-auth-turnstile-field,
#registerform .anoneo-auth-turnstile-field,
#lostpasswordform .anoneo-auth-turnstile-field {
  clear: both;
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}

.anoneo-auth-turnstile {
  min-height: 0;
  margin-block: 0;
}

.anoneo-auth-turnstile__widget {
  overflow: hidden;
  width: 100%;
  min-height: 0;
}

.anoneo-auth-turnstile__widget iframe {
  width: 100% !important;
  max-width: 100%;
}

.anoneo-auth-turnstile__widget[data-anoneo-turnstile-rendered] {
  min-height: 0;
}

.anoneo-auth-turnstile__status {
  display: none;
  margin: 0;
  color: #ffb7dc;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.3;
}

.anoneo-auth-turnstile[data-anoneo-turnstile-ready="1"] .anoneo-auth-turnstile__widget {
  min-height: 65px;
}

.anoneo-auth-turnstile[data-anoneo-turnstile-failed="1"] {
  display: grid;
  min-height: 0;
  border: 1px solid rgba(255, 122, 200, 0.28);
  border-radius: 8px;
  background: rgba(255, 122, 200, 0.1);
  padding: 8px 10px;
}

.anoneo-auth-turnstile[data-anoneo-turnstile-failed="1"] .anoneo-auth-turnstile__widget {
  display: none;
}

.anoneo-auth-turnstile[data-anoneo-turnstile-failed="1"] .anoneo-auth-turnstile__status {
  display: block;
}

.anoneo-live-chat-launcher__ticket-form .anoneo-auth-turnstile,
.digico-support-ticket-form .anoneo-auth-turnstile {
  margin: 0;
}

.anoneo-live-chat-launcher__ticket-form .anoneo-auth-turnstile[data-anoneo-turnstile-ready="1"],
.digico-support-ticket-form .anoneo-auth-turnstile[data-anoneo-turnstile-ready="1"] {
  margin-top: 4px;
}

@media (max-width: 700px) {
  .anoneo-login-modal {
    padding: 10px;
  }

  .anoneo-login-modal__panel {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }

  body.admin-bar .anoneo-login-modal {
    padding-top: calc(var(--wp-admin--admin-bar--height, 46px) + 10px);
  }

  body.admin-bar .anoneo-login-modal__panel {
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px) - 20px);
  }

  .anoneo-login-modal__header,
  .anoneo-login-modal__form {
    padding: 14px;
  }

  .anoneo-login-modal__row,
  .anoneo-login-modal__actions {
    align-items: stretch;
  }

  .anoneo-login-modal__row {
    flex-direction: column;
  }

  .anoneo-login-modal__actions {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
  }
}
