
:root{
  --ad-bg: #FAE2C9 !important;
  --ad-panel: rgba(253,242,231,0.74) !important;
  --ad-border: rgba(17,17,17,0.10) !important;

  --ad-brand: #7D9D95 !important;
  --ad-brand-border: #61887E !important;
  --ad-accent: #F5C7B0 !important;

  --ad-primary: #7D9D95 !important;
  --ad-primary-hover: #61887E !important;

  --ad-text: #333333 !important;
  --ad-muted: #6b7280 !important;

  --ad-input-bg: rgba(253,242,231,0.88) !important;
  --ad-focus: rgba(95,168,151,0.35) !important;
}
	
/* =========================
   AUTH WRAPPER
========================= */
.ad-auth-wrap{
  max-width: 640px !important;
  margin: 32px auto 72px !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  position: relative !important;
  z-index: 0 !important;

}

/* Hintergrund kommt jetzt zentral über die globale Brand-Surface und matcht Join-Profile */
.ad-auth-wrap::before{
  content:none !important;
  display:none !important;
}

.ad-auth-title{
  font-family: Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  text-align: center !important;
  font-weight: 700 !important;
}

.ad-auth-handle{
  font-weight: 700 !important;
}

.ad-auth-panel{
  max-width: 640px !important;
  margin: 0 auto !important;

  background: var(--ad-panel) !important;
  border: 1px solid rgba(17,17,17,0.06) !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 80px rgba(0,0,0,0.08) !important;
  backdrop-filter: blur(10px) !important;

  padding: 28px 28px 24px !important;
}

/* =========================
   SOCIAL (YOUR PLACEHOLDER BUTTONS)
========================= */
.ad-auth-social{
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
}

.ad-auth-social-btn{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  border-radius: 16px !important;
  border: 1px solid var(--ad-brand-border) !important;
  background: var(--ad-brand) !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  cursor: pointer !important;
  transition: background .15s ease, box-shadow .15s ease, transform .06s ease !important;
}

.ad-auth-social-btn:active{
  transform: translateY(1px) !important;
}

.ad-auth-social-icon{
  width: 22px !important;
  height: 22px !important;
  border-radius: 0 !important;
  border: none !important;
  font-size: 0 !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* =========================
   NEXTEND SOCIAL LOGIN (NSL) OVERRIDES
   Works for shortcode output: [nextend_social_login]
========================= */
.ad-auth-social .nsl-container{
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ad-auth-social .nsl-container-buttons{
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Anchor button */
.ad-auth-social .nsl-container-buttons a.nsl-button{
  display: flex !important;
  width: 100% !important;
  text-decoration: none !important;
  border-radius: 16px !important;
  border: 1px solid var(--ad-brand-border) !important;
  background: var(--ad-brand) !important;
  padding: 12px 16px !important;
  box-shadow: none !important;
  transition: background .15s ease, box-shadow .15s ease, transform .06s ease !important;
}

.ad-auth-social .nsl-container-buttons a.nsl-button:active{
  transform: translateY(1px) !important;
}

/* Inner content layout: fixed icon column -> label -> spacer, so text aligns on an imaginary line */
.ad-auth-social .nsl-container-buttons a.nsl-button .nsl-button-label-container{
  display: grid !important;
  grid-template-columns: 40px 1fr 40px !important;
  align-items: center !important;
  width: 100% !important;
}

.ad-auth-social .nsl-container-buttons a.nsl-button .nsl-button-label-container .nsl-button-svg-container{
  width: 28px !important;
  height: 28px !important;
  margin-right: 12px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

/* Kill the default colored SVG/IMG icon – we replace it with our own background-image */
.ad-auth-social .nsl-container-buttons a.nsl-button .nsl-button-svg-container svg,
.ad-auth-social .nsl-container-buttons a.nsl-button .nsl-button-svg-container img{
  display: none !important;
}

/* Provider icons */
.ad-auth-social .nsl-container-buttons a.nsl-button.nsl-button-google  .nsl-button-svg-container{ background-image: var(--ad-google-icon) !important; }
.ad-auth-social .nsl-container-buttons a.nsl-button.nsl-button-facebook .nsl-button-svg-container{ background-image: var(--ad-facebook-icon) !important; }
.ad-auth-social .nsl-container-buttons a.nsl-button.nsl-button-apple   .nsl-button-svg-container{ background-image: var(--ad-apple-icon) !important; }
.ad-auth-social .nsl-container-buttons a.nsl-button.nsl-button-x,
.ad-auth-social .nsl-container-buttons a.nsl-button.nsl-button-twitter .nsl-button-svg-container{ background-image: var(--ad-x-icon) !important; }

.ad-auth-social .nsl-container-buttons a.nsl-button .nsl-button-label-container .nsl-button-label{
  grid-column: 2 !important;
  justify-self: start !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

/* =========================
   SEPARATOR
========================= */
.ad-auth-separator{
  text-align: center !important;
  position: relative !important;
  margin: 8px 0 18px !important;
  font-size: 13px !important;
  color: #9ca3af !important;
}

.ad-auth-separator::before,
.ad-auth-separator::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  width: 42% !important;
  height: 1px !important;
  background: #9ca3af !important;
}

.ad-auth-separator::before{ left: 0 !important; }
.ad-auth-separator::after{ right: 0 !important; }

.ad-auth-separator span{
  background: transparent !important;
  padding: 0 8px !important;
}

/* =========================
   FORM
========================= */
.ad-auth-form{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.ad-auth-form input[type="email"],
.ad-auth-form input[type="text"],
.ad-auth-form input[type="password"],
.ad-auth-form input[type="search"]{
  width: 100% !important;
  border-radius: 12px !important;
  border: 1px solid rgba(17,17,17,0.10) !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  background: var(--ad-input-bg) !important;
  box-sizing: border-box !important;
  box-shadow: 0 12px 26px rgba(0,0,0,0.06) !important;
}

.ad-auth-form input[type="email"]:focus,
.ad-auth-form input[type="text"]:focus,
.ad-auth-form input[type="password"]:focus,
.ad-auth-form input[type="search"]:focus{
  outline: none !important;
  border-color: #5fa897 !important;
  box-shadow: 0 0 0 3px var(--ad-focus) !important;
}

/* =========================
   INLINE FIELD ERRORS (unter dem Feld)
========================= */

/* bei invalid: Feld rot */
.ad-auth-form input[aria-invalid="true"],
.ad-auth-form input.ad-has-error{
  border-color: rgba(185,28,28,0.55) !important;
  box-shadow: 0 0 0 3px rgba(185,28,28,0.18) !important;
}

/* Text direkt nach normalem Input */
.ad-auth-form input[aria-invalid="true"] + p,
.ad-auth-form input[aria-invalid="true"] + span,
.ad-auth-form input[aria-invalid="true"] + div{
  display: inline-block !important;
  margin-top: 8px !important;

  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;

  color: #b91c1c !important;
  background: rgba(185,28,28,0.08) !important;
  border: 1px solid rgba(185,28,28,0.18) !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
}

/* Text nach Passwort-Wrap (weil Input im .ad-pw-field steckt) */
.ad-pw-field:has(input[aria-invalid="true"]) + p,
.ad-pw-field:has(input[aria-invalid="true"]) + span,
.ad-pw-field:has(input[aria-invalid="true"]) + div{
  display: inline-block !important;
  margin-top: 8px !important;

  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;

  color: #b91c1c !important;
  background: rgba(185,28,28,0.08) !important;
  border: 1px solid rgba(185,28,28,0.18) !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
}

/* =========================
   FIELD ERRORS (inline under inputs)
========================= */

/* Input rot markieren bei Fehler */
.ad-auth-form input[aria-invalid="true"],
.ad-auth-form input.ad-has-error,
.ad-auth-form input:invalid:user-invalid{
  border-color: rgba(185,28,28,0.55) !important;
  box-shadow: 0 0 0 3px rgba(185,28,28,0.18) !important;
}

/* Inline error text (egal ob span/div/p – wir fangen die üblichen Klassen ab) */
.ad-auth-form .ad-field-error,
.ad-auth-form .ad-input-error,
.ad-auth-form .field-error,
.ad-auth-form .error,
.ad-auth-form .error-message,
.ad-auth-form .invalid-feedback{
  display: block !important;
  margin-top: 8px !important;

  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;

  color: #b91c1c !important;
  background: rgba(185,28,28,0.08) !important;
  border: 1px solid rgba(185,28,28,0.18) !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
}


/* =========================
   PASSWORD VISIBILITY (EYE ICON) – “integrated”, no floating island
========================= */
.ad-pw-field{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.ad-pw-field input[type="password"],
.ad-pw-field input[type="text"],
.ad-pw-field input[type="email"],
.ad-pw-field input[type="search"]{
  width: 100% !important;
  padding-right: 48px !important;
  box-sizing: border-box !important;
}

/* Hide browser-native password reveal controls so only the custom right icon is shown */
.ad-pw-field input[type="password"]::-ms-reveal,
.ad-pw-field input[type="password"]::-ms-clear,
.ad-pw-field input[type="password"]::-webkit-credentials-auto-fill-button{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.ad-pw-toggle{
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;

  border: none !important;
  background: transparent !important; /* <- wichtig, sonst „übermalt“ es den Input-Rand */
  box-shadow: none !important;
  outline: none !important;

  color: #94a3b8 !important;
  cursor: pointer !important;
  border-radius: 999px !important;
}

.ad-pw-toggle:hover{
  background: rgba(0,0,0,0.04) !important;
}


.ad-pw-toggle:focus-visible{
  outline: 2px solid #94a3b8 !important;
  outline-offset: 2px !important;
}

.ad-pw-toggle[aria-pressed="true"]{
  color: #0f172a !important;
}

.ad-pw-icon{
  width: 22px !important;
  height: 22px !important;
}

.ad-pw-icon-open{
  display: none !important;
}

.ad-pw-toggle[aria-pressed="true"] .ad-pw-icon-open{
  display: block !important;
}

.ad-pw-toggle[aria-pressed="true"] .ad-pw-icon-closed{
  display: none !important;
}

/* Never show an “eye” inside OTP field if some script accidentally wraps it */
.ad-otp-wrap .ad-pw-toggle{
  display: none !important;
}

/* =========================
   OTP
========================= */
.ad-otp-wrap{
  position: relative !important;
}

.ad-otp-row{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.ad-otp-input{
  padding-right: 104px !important;
}

.ad-otp-resend{
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: none !important;
  background: transparent !important;
  color: var(--ad-muted) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  padding: 6px 8px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.ad-otp-resend:hover{
  background: rgba(255,255,255,0.45) !important;
}

.ad-otp-help{
  font-size: 13px !important;
  color: var(--ad-muted) !important;
  margin-top: 8px !important;
}

/* =========================
   REMEMBER ME
========================= */
.ad-auth-form .ad-remember-row{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: var(--ad-text) !important;
}

/* =========================
   SUBMIT BUTTON (Continue)
========================= */
.ad-auth-submit{
  width: 100% !important;
  border-radius: 999px !important;

  background: var(--ad-primary) !important; /* pastell */
  color: #ffffff !important;
  border: none !important;

  padding: 14px 20px !important;
  font-size: 18px !important;
  font-weight: 800 !important;

  margin-top: 10px !important;
  cursor: pointer !important;

  box-shadow: 0 18px 40px rgba(0,0,0,0.10) !important;
  transition: transform .12s ease, box-shadow .15s ease, background .15s ease, opacity .15s ease !important;
}

.ad-auth-submit:hover{
  background: var(--ad-primary-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 22px 52px rgba(0,0,0,0.12) !important;
}

.ad-auth-submit:active{
  transform: translateY(0) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.10) !important;
}

.ad-auth-submit:disabled{
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}


/* =========================
   MESSAGES
========================= */
.ad-auth-msg{
  font-size: 14px !important;
  line-height: 1.35 !important;
  color: var(--ad-muted) !important;
}

/* Standard-Error (falls irgendwo als eigener Block gerendert) */
/* =========================
   VALIDATION / STATUS TEXT
   (artistdonations-auth.js: .ad-field-msg / .ad-form-msg + ad-is-*)
   ========================= */

.ad-auth-error,
.ad-field-msg,
.ad-form-msg{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(17, 17, 17, 0.70);
}

/* Keine leeren Platzhalter-Zeilen */
.ad-field-msg:empty,
.ad-form-msg:empty{
  display: none;
}

/* Zustände aus JS: ad-is-error / ad-is-info / ad-is-success / ad-is-loading */
.ad-field-msg.ad-is-error,
.ad-form-msg.ad-is-error,
.ad-auth-error{
  color: #9b2c2c;
  font-weight: 600;
}

.ad-field-msg.ad-is-info,
.ad-form-msg.ad-is-info,
.ad-field-msg.ad-is-loading{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 18px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(125, 157, 149, 0.24);
  background: rgba(125, 157, 149, 0.10);
  color: #586963;
  font-weight: 600;
}

.ad-form-msg.ad-is-loading{
  display: block;
  min-height: 18px;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #586963;
  font-weight: 600;
}

.ad-field-msg.ad-is-success,
.ad-form-msg.ad-is-success{
  color: #1f6f46;
  font-weight: 600;
}

.ad-auth-success{
  display: inline-block !important;
  margin-top: 8px !important;

  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;

  color: #166534 !important;
  background: rgba(22,101,52,0.08) !important;
  border: 1px solid rgba(22,101,52,0.18) !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
}


/* =========================
   RESPONSIVE
========================= */
@media (max-width: 480px){
  .ad-auth-wrap{
    margin: 22px auto 56px !important;
  }

  .ad-auth-title{
    font-size: clamp(26px, 8vw, 36px) !important;
  }

  .ad-auth-form input[type="email"],
  .ad-auth-form input[type="text"],
  .ad-auth-form input[type="password"],
  .ad-auth-form input[type="search"]{
    padding: 13px 14px !important;
  }

  .ad-auth-submit{
    padding: 13px 18px !important;
    font-size: 17px !important;
  }
}

/* =========================================================
   AUTH LAYOUT REBUILD (2026-03-18)
========================================================= */
html body.ad-artistdonations-join-signup,
body.ad-artistdonations-join-signup,
body.ad-artistdonations-join-signup .wp-site-blocks,
body.ad-artistdonations-join-signup .site,
body.ad-artistdonations-join-signup .site-main,
body.ad-artistdonations-join-signup .content-area,
body.ad-artistdonations-join-signup main,
html body.ad-artistdonations-login,
body.ad-artistdonations-login,
body.ad-artistdonations-login .wp-site-blocks,
body.ad-artistdonations-login .site,
body.ad-artistdonations-login .site-main,
body.ad-artistdonations-login .content-area,
body.ad-artistdonations-login main{
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.ad-auth-page,
.ad-auth-page *,
.ad-auth-page *::before,
.ad-auth-page *::after{
  box-sizing: border-box !important;
}

.ad-auth-page{
  --ad-auth-pad-y: clamp(18px, 4vw, 28px) !important;
  position: relative !important;
  --ad-auth-pad-x: clamp(16px, 3vw, 24px) !important;
  width: 100% !important;
  min-height: calc(100svh - (var(--ad-auth-pad-y) * 2)) !important;
  min-height: calc(100dvh - (var(--ad-auth-pad-y) * 2)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--ad-auth-pad-y) var(--ad-auth-pad-x) !important;
  overflow-x: hidden !important;
}

body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page{
  flex: 1 0 auto !important;
  min-height: 0 !important;
}

.ad-auth-wrap{
  width: min(100%, 680px) !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.ad-auth-wrap::before{
  display: none !important;
}

.ad-auth-header{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  text-align: center !important;
}

.ad-auth-step{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(67,72,80,.08) !important;
  background: rgba(255,255,255,.62) !important;
  color: #7f858e !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.ad-auth-title{
  margin: 0 !important;
  max-width: none !important;
  color: #43474f !important;
  font-size: clamp(2.6rem, 5.8vw, 4.4rem) !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
  font-weight: 800 !important;
}

.ad-auth-title-line,
.ad-auth-handle{
  display: block !important;
}

.ad-auth-wrap--signup .ad-auth-title{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
}

.ad-auth-wrap--signup .ad-auth-title-line{
  max-width: 100% !important;
}

.ad-auth-wrap--signup .ad-auth-handle{
  max-width: calc(100vw - 40px) !important;
  color: inherit !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-wrap: nowrap !important;
  font-size: clamp(1.7rem, 4.85vw, 3.95rem) !important;
  letter-spacing: -.065em !important;
}

.ad-auth-wrap--login .ad-auth-title{
  max-width: none !important;
  font-size: clamp(2.25rem, 5vw, 3.6rem) !important;
}

.ad-auth-wrap--login .ad-auth-subtitle{
  max-width: 30ch !important;
}

.ad-auth-handle{
  color: inherit !important;
}

.ad-auth-subtitle{
  margin: 0 !important;
  max-width: 34ch !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: var(--ad-text) !important;
}

.ad-auth-wrap--signup .ad-auth-subtitle{
  overflow-wrap: anywhere !important;
  text-wrap: balance !important;
}

.ad-auth-panel{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 36px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: var(--ad-cream, #FDF2E7) !important;
  box-shadow: var(--ad-shadow, 0 20px 56px rgba(0,0,0,.08)) !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

.ad-auth-wrap--login{
  position: relative !important;
  padding-top: 0 !important;
}

.ad-auth-wrap--login .ad-auth-panel{
  max-width: 680px !important;
}

.ad-auth-switch{
  position: absolute !important;
  top: clamp(18px, 3vw, 30px) !important;
  right: clamp(18px, 3vw, 36px) !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(97,136,126,.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.64) !important;
  box-shadow: 0 10px 24px rgba(61,55,48,.06) !important;
  color: var(--ad-brand-hover, #61887E) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  max-width: calc(100vw - 32px) !important;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.ad-auth-switch:hover{
  background: #fff !important;
  box-shadow: 0 14px 30px rgba(61,55,48,.09) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

@media (max-width: 640px){
  .ad-auth-wrap--login{
    padding-top: 0 !important;
  }

  .ad-auth-switch{
    top: 16px !important;
    right: 16px !important;
    min-height: 32px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }
}

/* =========================
   LOGGED-IN AUTH NOTICE
========================= */
.ad-auth-page-logged-in{
  min-height: min(680px, calc(100svh - (var(--ad-auth-pad-y, 24px) * 2))) !important;
}

.ad-auth-logged-in{
  width: min(100%, 560px) !important;
  max-width: 560px !important;
}

.ad-auth-logged-card{
  width: 100% !important;
  margin: 0 auto !important;
  padding: clamp(28px, 5vw, 42px) !important;
  border: 1px solid rgba(17,17,17,.07) !important;
  border-radius: 28px !important;
  background: rgba(253,242,231,.88) !important;
  box-shadow: 0 24px 70px rgba(61,55,48,.10) !important;
  text-align: center !important;
}

.ad-auth-logged-eyebrow{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  margin-bottom: 14px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(125,157,149,.24) !important;
  border-radius: 999px !important;
  background: rgba(125,157,149,.10) !important;
  color: #5f756f !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

.ad-auth-logged-title{
  margin: 0 !important;
  color: #43474f !important;
  font-family: Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: clamp(2.1rem, 4.2vw, 3.1rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  font-weight: 800 !important;
}

.ad-auth-logged-handle{
  display: block !important;
  width: fit-content !important;
  max-width: min(100%, 440px) !important;
  margin: 12px auto 0 !important;
  overflow: hidden !important;
  color: #43474f !important;
  font-family: Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: clamp(1.45rem, 3.5vw, 2.4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.055em !important;
  line-height: 1.08 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.ad-auth-logged-copy{
  max-width: 34ch !important;
  margin: 16px auto 0 !important;
  color: rgba(51,51,51,.72) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.ad-auth-logged-actions{
  display: grid !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

.ad-auth-logged-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  width: 100% !important;
  padding: 14px 22px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: transform .12s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease !important;
}

.ad-auth-logged-button--primary{
  border: 1px solid rgba(97,136,126,.22) !important;
  background: var(--ad-brand, #7D9D95) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 38px rgba(97,136,126,.18) !important;
}

.ad-auth-logged-button--secondary{
  border: 1px solid rgba(17,17,17,.09) !important;
  background: rgba(255,255,255,.54) !important;
  color: #586963 !important;
  box-shadow: none !important;
}

.ad-auth-logged-button:hover{
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

.ad-auth-logged-button--primary:hover{
  background: var(--ad-brand-hover, #61887E) !important;
  color: #ffffff !important;
}

.ad-auth-logged-button--secondary:hover{
  border-color: rgba(125,157,149,.30) !important;
  background: rgba(255,255,255,.72) !important;
  color: #4b625c !important;
}

.ad-auth-social{
  margin: 0 0 18px !important;
}

.ad-auth-social .nsl-container-buttons,
.ad-auth-social{
  gap: 12px !important;
}

.ad-auth-social .nsl-container-buttons a.nsl-button,
.ad-auth-social-btn{
  min-height: 40px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  background: #f3f4f6 !important;
  padding: 8px 14px !important;
  box-shadow: none !important;
}

.ad-auth-social .nsl-container-buttons a.nsl-button:hover,
.ad-auth-social-btn:hover{
  background: #ffffff !important;
  border-color: rgba(125,157,149,.36) !important;
}

.ad-auth-social .nsl-container-buttons a.nsl-button .nsl-button-label,
.ad-auth-social-btn{
  color: #1f2937 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.ad-auth-separator{
  margin: 0 0 18px !important;
  color: #9a9894 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.ad-auth-separator::before,
.ad-auth-separator::after{
  width: calc(50% - 36px) !important;
  background: rgba(17,17,17,.12) !important;
}

.ad-auth-form{
  gap: 12px !important;
}

.ad-auth-form-group{
  margin: 0 !important;
}

.ad-auth-input-shell{
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 62px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.05) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
  overflow: visible !important;
}

.ad-auth-form-group:focus-within .ad-auth-input-shell{
  background: #fff !important;
  border-color: rgba(125,157,149,.76) !important;
  box-shadow: 0 0 0 4px rgba(125,157,149,.20), 0 10px 22px rgba(0,0,0,.05) !important;
}

.ad-auth-form-group.ad-has-error .ad-auth-input-shell,
.ad-auth-form-group:has(input[aria-invalid="true"]) .ad-auth-input-shell,
.ad-auth-form-group:has(input.ad-has-error) .ad-auth-input-shell{
  border-color: rgba(185,28,28,.45) !important;
  box-shadow: 0 0 0 4px rgba(185,28,28,.12), 0 10px 22px rgba(0,0,0,.05) !important;
}

.ad-auth-input-shell input[type="email"],
.ad-auth-input-shell input[type="text"],
.ad-auth-input-shell input[type="password"],
.ad-auth-input-shell input[type="search"]{
  width: 100% !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #333 !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.ad-auth-input-shell input::placeholder{
  font-size: 19px !important;
  line-height: 1.25 !important;
  color: #9a9ea5 !important;
  opacity: 1 !important;
}

.ad-auth-form input[type="email"]:focus,
.ad-auth-form input[type="text"]:focus,
.ad-auth-form input[type="password"]:focus,
.ad-auth-form input[type="search"]:focus{
  outline: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.ad-auth-input-shell input[aria-invalid="true"],
.ad-auth-input-shell input.ad-has-error,
.ad-auth-input-shell input:invalid,
.ad-auth-input-shell input:invalid:user-invalid{
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

.ad-pw-field{
  width: 100% !important;
}

.ad-pw-field input[type="password"],
.ad-pw-field input[type="text"]{
  padding-right: 44px !important;
}

.ad-pw-toggle{
  right: 0 !important;
  width: 36px !important;
  height: 36px !important;
  color: #94a3b8 !important;
}

.ad-auth-confirm{
  overflow: hidden !important;
}

.ad-auth-confirm.ad-is-open{
  overflow: visible !important;
}

.ad-auth-code-group{
  margin: 4px 0 0 !important;
  display: none !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-code-group{
  display: flex !important;
}

.ad-auth-code-group .ad-otp-help,
.ad-auth-code-group .ad-otp-note{
  margin: 2px auto 0 !important;
  padding: 0 !important;
  max-width: 28ch !important;
  min-height: 1.45em !important;
  color: rgba(61, 70, 89, 0.78) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-wrap: balance !important;
}

.ad-auth-code-group .ad-otp-error,
.ad-auth-code-group .ad-otp-status,
.ad-auth-code-group .ad-otp-aux{
  display: none !important;
}

.ad-auth-input-shell--otp{
  position: relative !important;
  display: block !important;
  min-height: auto !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(97, 136, 126, 0.12) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.46) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.58), 0 12px 26px rgba(0,0,0,.04) !important;
}

.ad-auth-form-group:focus-within .ad-auth-input-shell--otp,
.ad-auth-form-group.ad-has-error .ad-auth-input-shell--otp{
  background: linear-gradient(180deg, rgba(255,255,255,0.84) 0%, rgba(255,255,255,0.58) 100%) !important;
}

.ad-auth-form-group:focus-within .ad-auth-input-shell--otp{
  border-color: rgba(125,157,149,.34) !important;
  box-shadow: 0 0 0 4px rgba(125,157,149,.12), inset 0 1px 0 rgba(255,255,255,.6), 0 12px 26px rgba(0,0,0,.04) !important;
}

.ad-auth-form-group.ad-has-error .ad-auth-input-shell--otp{
  border-color: rgba(185,28,28,.24) !important;
  box-shadow: 0 0 0 4px rgba(185,28,28,.08), inset 0 1px 0 rgba(255,255,255,.56), 0 12px 26px rgba(0,0,0,.04) !important;
}

.ad-auth-input-shell--otp .ad-otp-row{
  position: relative !important;
  width: 100% !important;
}

.ad-auth-input-shell--otp .ad-otp-digits{
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}

.ad-auth-input-shell--otp .ad-otp-digit{
  flex: 0 0 58px !important;
  width: 58px !important;
  min-width: 58px !important;
  height: 66px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(97, 136, 126, 0.14) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.045) !important;
  color: #2f3b46 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-align: center !important;
  letter-spacing: 0 !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ad-auth-input-shell--otp .ad-otp-digit-text{
  display: block !important;
  min-width: 1ch !important;
}

.ad-auth-input-shell--otp .ad-otp-digit.ad-is-active{
  border-color: rgba(97, 136, 126, 0.72) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 26px rgba(97,136,126,.12) !important;
  transform: translateY(-1px) !important;
}

.ad-auth-input-shell--otp .ad-otp-digit.ad-has-value{
  border-color: rgba(125, 157, 149, 0.34) !important;
  background: rgba(255, 255, 255, 1) !important;
}

.ad-auth-input-shell--otp .ad-otp-input--collector{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
  color: transparent !important;
  caret-color: transparent !important;
}

.ad-auth-code-group .ad-otp-resend{
  position: static !important;
  align-self: center !important;
  transform: none !important;
  margin: 2px 0 0 !important;
  padding: 6px 14px !important;
  min-height: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(97, 136, 126, 0.14) !important;
  background: rgba(255,255,255,.74) !important;
  color: #5f6d78 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.04) !important;
}

.ad-auth-code-group .ad-otp-resend:hover{
  background: #ffffff !important;
  color: #44515b !important;
  border-color: rgba(97, 136, 126, 0.22) !important;
}

.ad-auth-code-group .ad-otp-resend:disabled{
  opacity: 0.55 !important;
  cursor: default !important;
}

.ad-auth-wrap.ad-is-code-mode{
  gap: 16px !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-header{
  gap: 10px !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-title{
  max-width: none !important;
  font-size: clamp(2.6rem, 5.8vw, 4.4rem) !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-subtitle{
  max-width: 34ch !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-panel{
  padding: 36px !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-social,
.ad-auth-wrap.ad-is-code-mode .ad-auth-separator,
.ad-auth-wrap.ad-is-code-mode .ad-auth-confirm,
.ad-auth-wrap.ad-is-code-mode .ad-msg-pass,
.ad-auth-wrap.ad-is-code-mode .ad-auth-password-status,
.ad-auth-wrap.ad-is-code-mode .ad-auth-remember{
  display: none !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-password-group{
  display: block !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-password-group .ad-auth-input-shell{
  opacity: 1 !important;
}

.ad-auth-wrap.ad-is-code-mode #ad-auth-email,
.ad-auth-wrap.ad-is-code-mode .ad-auth-password-group input{
  cursor: default !important;
  pointer-events: none !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-password-group input[readonly],
.ad-auth-wrap.ad-is-code-mode #ad-auth-email[readonly]{
  color: #2f3b46 !important;
  -webkit-text-fill-color: #2f3b46 !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-password-group .ad-pw-toggle{
  pointer-events: auto !important;
  opacity: 0.78 !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-group-is-locked:focus-within .ad-auth-input-shell,
.ad-auth-wrap.ad-is-code-mode .ad-auth-group-is-locked .ad-auth-input-shell:focus-within{
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(17,17,17,.10) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.05) !important;
}

.ad-auth-password-status{
  min-height: 0 !important;
}

.ad-auth-form-group.ad-auth-remember{
  position: relative !important;
  margin-top: 2px !important;
}

.ad-auth-remember__input{
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
}

.ad-auth-remember__card{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 62px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.04) !important;
  cursor: pointer !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease !important;
}

.ad-auth-remember__input:focus-visible + .ad-auth-remember__card{
  border-color: rgba(125,157,149,.76) !important;
  box-shadow: 0 0 0 4px rgba(125,157,149,.20), 0 10px 22px rgba(0,0,0,.05) !important;
}

.ad-auth-remember__input:checked + .ad-auth-remember__card{
  border-color: rgba(125,157,149,.34) !important;
  background: rgba(125,157,149,.10) !important;
}

.ad-auth-remember__input:disabled + .ad-auth-remember__card{
  opacity: .62 !important;
  cursor: default !important;
}

.ad-auth-remember__copy{
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.ad-auth-remember__title{
  color: #43474f !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}

.ad-auth-remember__hint{
  color: #7f858e !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

.ad-auth-remember__switch{
  position: relative !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  width: 46px !important;
  height: 28px !important;
  padding: 3px !important;
  border-radius: 999px !important;
  background: rgba(148,163,184,.38) !important;
  transition: background-color .18s ease !important;
}

.ad-auth-remember__knob{
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 3px 10px rgba(15,23,42,.18) !important;
  transform: translateX(0) !important;
  transition: transform .18s ease !important;
}

.ad-auth-remember__input:checked + .ad-auth-remember__card .ad-auth-remember__switch{
  background: #7D9D95 !important;
}

.ad-auth-remember__input:checked + .ad-auth-remember__card .ad-auth-remember__knob{
  transform: translateX(18px) !important;
}

.ad-field-msg,
.ad-form-msg,
.ad-auth-status{
  padding: 0 2px !important;
}


.ad-auth-wrap.ad-is-code-mode .ad-form-msg.ad-is-info,
.ad-auth-wrap.ad-is-code-mode .ad-form-msg.ad-is-loading{
  display: none !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-form-msg.ad-is-success{
  display: block !important;
  margin-top: 10px !important;
}

.ad-auth-status{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@keyframes ad-auth-spin{
  to{
    transform: rotate(360deg) !important;
  }
}

.ad-auth-submit{
  width: 100% !important;
  min-height: 54px !important;
  margin-top: 8px !important;
  padding: 14px 22px !important;
  border-radius: 14px !important;
  border: none !important;
  background: var(--ad-brand, #7D9D95) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 38px rgba(97,136,126,.18) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.ad-auth-submit:hover{
  background: var(--ad-brand-hover, #61887E) !important;
  box-shadow: 0 18px 38px rgba(97,136,126,.18) !important;
}

.ad-auth-submit:active{
  transform: translateY(0) !important;
}

.ad-auth-submit:disabled:not(.ad-is-loading){
  opacity: .45 !important;
  box-shadow: none !important;
}

.ad-auth-submit.ad-is-loading,
.ad-auth-submit.ad-is-loading:disabled{
  opacity: 1 !important;
  cursor: progress !important;
  box-shadow: 0 18px 38px rgba(97,136,126,.18) !important;
}

.ad-auth-submit.ad-is-loading{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.ad-auth-submit.ad-is-loading::before{
  content: '' !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 999px !important;
  border: 2px solid rgba(255,255,255,.4) !important;
  border-top-color: #ffffff !important;
  animation: ad-auth-spin .7s linear infinite !important;
}

@media (max-width: 768px){
  .ad-auth-page{
    --ad-auth-pad-y: 16px !important;
    --ad-auth-pad-x: 16px !important;
    align-items: flex-start !important;
  }

  .ad-auth-page-login{
    --ad-login-card-center-offset: clamp(-82px, -6svh, -56px) !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: calc(var(--ad-auth-pad-y) + 52px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .ad-auth-page-login .ad-auth-wrap--login{
    margin: 0 auto !important;
    transform: translateY(var(--ad-login-card-center-offset)) !important;
  }

  .ad-auth-page-login .ad-auth-panel{
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  .ad-auth-wrap{
    gap: 14px !important;
  }

  .ad-auth-title{
    max-width: none !important;
    font-size: clamp(1.9rem, 9vw, 3rem) !important;
  }

  .ad-auth-wrap--signup .ad-auth-title,
  .ad-auth-wrap.ad-is-code-mode .ad-auth-title{
    width: 100% !important;
    max-width: 100% !important;
  }

  .ad-auth-wrap--signup .ad-auth-handle{
    max-width: none !important;
    font-size: clamp(1.4rem, 7.2vw, 2.4rem) !important;
  }

  .ad-auth-subtitle{
    max-width: none !important;
    font-size: 16px !important;
  }

  .ad-auth-panel{
    padding: 24px 18px !important;
  }

  .ad-auth-logged-card{
    padding: 28px 20px !important;
    border-radius: 24px !important;
  }

  .ad-auth-logged-handle{
    max-width: calc(100vw - 72px) !important;
  }

  .ad-auth-input-shell{
    min-height: 58px !important;
    padding: 14px 16px !important;
  }

  .ad-auth-input-shell input[type="email"],
  .ad-auth-input-shell input[type="text"],
  .ad-auth-input-shell input[type="password"],
  .ad-auth-input-shell input[type="search"],
  .ad-auth-input-shell input::placeholder{
    font-size: 17px !important;
  }

  .ad-auth-input-shell--otp{
    padding: 12px 10px !important;
  }

  .ad-auth-input-shell--otp .ad-otp-digits{
    gap: 8px !important;
  }

  .ad-auth-input-shell--otp .ad-otp-digit{
    flex-basis: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 52px !important;
    font-size: 22px !important;
    border-radius: 15px !important;
  }

  .ad-auth-wrap.ad-is-code-mode .ad-auth-panel{
    padding: 24px 20px !important;
  }

  .ad-auth-remember__card{
    min-height: 58px !important;
    padding: 12px 14px !important;
  }
}


.ad-auth-wrap.ad-is-code-mode .ad-auth-code-group .ad-otp-note.ad-is-info{
  color: rgba(61, 70, 89, 0.78) !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-code-group .ad-otp-note.ad-is-success{
  color: #13795b !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-code-group .ad-otp-note.ad-is-error{
  color: #b91c1c !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-code-group .ad-otp-status.ad-is-success{
  color: #13795b !important;
}

.ad-auth-wrap.ad-is-code-mode .ad-auth-code-group .ad-otp-status.ad-is-error{
  color: #b91c1c !important;
}

@media (max-width: 900px){
  .ad-auth-wrap--signup .ad-auth-handle{
    font-size: clamp(1.45rem, 7vw, 3.05rem) !important;
  }
}

/* Mini-footer viewport fit: keep auth content and legal footer in one viewport when
   content is short, without using a fixed footer. */
body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page,
body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page-login,
body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page-logged-in{
  min-height:0 !important;
  flex:1 1 auto !important;
}

@media (max-width:768px){
  body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page-login{
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding-top:calc(10px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom:12px !important;
  }

  body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page-login .ad-auth-switch{
    position:absolute !important;
    top:calc(14px + env(safe-area-inset-top, 0px)) !important;
    right:16px !important;
    align-self:auto !important;
    margin:0 !important;
    transform:none !important;
  }

  body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page-login .ad-auth-wrap--login{
    transform:none !important;
    margin:0 auto !important;
  }
}

@media (max-width:430px){
  body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page-login .ad-auth-wrap--login{
    gap:12px !important;
  }

  body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page-login .ad-auth-title{
    font-size:clamp(2.05rem, 9.4vw, 2.75rem) !important;
  }

  body.ad-contextual-footer--mini.ad-artistdonations-auth .ad-auth-page-login .ad-auth-subtitle{
    font-size:15px !important;
    line-height:1.5 !important;
  }
}

