/* Forma Auth — canonical Login/Register integration.
 * Forma owns the outer shell and safe UM visual normalization.
 * Ultimate Member retains ownership of form DOM, validation and workflow. */
body.forma-auth-v2-page{
  background:var(--forma-page);
  color:var(--forma-text);
}
.forma-auth-v2{
  width:100%;
  padding:clamp(28px,4vw,64px) var(--forma-page-gutter) clamp(44px,6vw,80px);
  box-sizing:border-box;
}
.forma-auth-v2__frame{
  position:relative;
  width:min(100%,760px);
  margin-inline:auto;
  background:var(--forma-panel);
  border:1px solid var(--forma-border);
  border-radius:var(--forma-radius-lg);
  box-shadow:var(--forma-shadow-soft);
  overflow:hidden;
}
.forma-auth-v2__frame::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:var(--forma-accent);
  z-index:2;
}
.forma-auth-v2__head{
  padding:24px 28px 20px;
  border-bottom:1px solid var(--forma-border);
  text-align:right;
}
.forma-auth-v2__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  padding:5px 8px;
  margin-bottom:12px;
  border:1px solid color-mix(in srgb,var(--forma-accent) 34%,var(--forma-border));
  border-radius:var(--forma-radius-pill);
  background:var(--forma-accent-soft);
  color:var(--forma-accent);
  font-size:10px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.08em;
}
.forma-auth-v2__head h1{
  margin:0;
  color:var(--forma-text);
  font-size:clamp(23px,2.3vw,30px);
  line-height:1.4;
  font-weight:850;
  letter-spacing:-.025em;
}
.forma-auth-v2__head p{
  margin:8px 0 0;
  color:var(--forma-text-2);
  font-size:12px;
  line-height:2;
}
.forma-auth-v2__head::after{
  content:"FORMA";
  display:block;
  margin-top:24px;
  color:var(--forma-muted);
  font-size:10px;
  font-weight:850;
  letter-spacing:.22em;
  direction:ltr;
  text-align:right;
}
.forma-auth-v2__host{
  padding:26px 28px 30px;
  min-width:0;
}

/* Safe geometry normalization for the third-party UM host. */
.forma-auth-v2__host :is(.um,.um-form,.um-row,.um-col-1,.um-col-2,.um-col-alt){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.forma-auth-v2__host :is(.um,.um-form){margin:0!important}
.forma-auth-v2__host .um-field{max-width:100%!important;box-sizing:border-box!important}
.forma-auth-v2__host :is(input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],select,textarea){max-width:100%!important;box-sizing:border-box!important}

/* UM integration details not covered by shared Forma form primitives. */
.forma-auth-v2__host .um{color:var(--forma-text)!important}
.forma-auth-v2__host .um .um-field-label label{font-weight:700!important}
.forma-auth-v2__host .um :is(input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],select,textarea){
  border-radius:8px!important;
  box-shadow:none!important;
  transition:border-color var(--forma-transition-fast),box-shadow var(--forma-transition-fast),background var(--forma-transition-fast)!important;
}
.forma-auth-v2__host .um :is(input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],select,textarea):focus{outline:none!important}
.forma-auth-v2__host .um :is(.um-button,input[type="submit"]){border-radius:8px!important;font-family:inherit!important;font-weight:800!important}
.forma-auth-v2__host .um .um-button:not(.um-alt),
.forma-auth-v2__host .um input[type="submit"]{
  min-height:44px!important;
  background:var(--forma-accent)!important;
  color:#fff!important;
  box-shadow:none!important;
  transition:background var(--forma-transition-fast),transform var(--forma-transition-fast),box-shadow var(--forma-transition-fast)!important;
}
.forma-auth-v2__host .um :is(.um-button:not(.um-alt),input[type="submit"]):hover{background:var(--forma-accent-hover)!important;transform:translateY(-1px)}
.forma-auth-v2__host .um .um-button.um-alt{background:var(--forma-panel-2)!important;color:var(--forma-text)!important;border:1px solid var(--forma-border)!important}
.forma-auth-v2__host .um a{color:var(--forma-accent)!important}
.forma-auth-v2__host .um .um-field-error{border-radius:8px!important}
.forma-auth-v2__host .um .um-col-alt{margin-top:22px!important}

/* Register-only account type cards; the field itself remains UM-owned. */
body.forma-auth-v2-register .um-field-ecm_account_type{
  margin-top:26px!important;
  padding-top:24px!important;
  border-top:1px solid var(--forma-border)!important;
}
body.forma-auth-v2-register .um-field-ecm_account_type > .um-field-label{margin-bottom:12px!important}
body.forma-auth-v2-register .um-field-ecm_account_type > .um-field-label label{font-size:14px!important;font-weight:850!important;letter-spacing:-.01em}
body.forma-auth-v2-register .um-field-ecm_account_type .um-field-area{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
body.forma-auth-v2-register .um-field-ecm_account_type .um-field-area > label.um-field-radio{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  min-width:0!important;
  min-height:112px!important;
  margin:0!important;
  padding:16px 16px 14px!important;
  border:1px solid var(--forma-border)!important;
  border-radius:12px!important;
  background:var(--forma-panel-2)!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  transition:border-color var(--forma-transition-fast),background var(--forma-transition-fast),box-shadow var(--forma-transition-fast),transform var(--forma-transition-fast)!important;
}
body.forma-auth-v2-register .um-field-ecm_account_type .um-field-area > label.um-field-radio:hover{border-color:color-mix(in srgb,var(--forma-accent) 52%,var(--forma-border))!important;background:color-mix(in srgb,var(--forma-accent) 5%,var(--forma-panel-2))!important}
body.forma-auth-v2-register .um-field-ecm_account_type .um-field-area > label.um-field-radio:has(input:checked){border-color:var(--forma-accent)!important;background:color-mix(in srgb,var(--forma-accent) 9%,var(--forma-panel))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--forma-accent) 14%,transparent)!important}
body.forma-auth-v2-register .um-field-ecm_account_type .um-field-radio-state{flex:0 0 auto!important;margin:1px 0 0 10px!important}
body.forma-auth-v2-register .um-field-ecm_account_type .um-field-radio-state i{color:var(--forma-muted)!important}
body.forma-auth-v2-register .um-field-ecm_account_type label:has(input:checked) .um-field-radio-state i{color:var(--forma-accent)!important}
body.forma-auth-v2-register .um-field-ecm_account_type .um-field-radio-option{display:block!important;min-width:0!important;color:var(--forma-text)!important;font-size:14px!important;line-height:1.55!important;font-weight:850!important}
body.forma-auth-v2-register .um-field-ecm_account_type .um-field-radio-option::after{display:block;margin-top:7px;color:var(--forma-text-2);font-size:10.5px;line-height:1.75;font-weight:500;white-space:normal}
body.forma-auth-v2-register .um-field-ecm_account_type label:has(input[value="فرد"]) .um-field-radio-option::after{content:"هنرمند، کیوریتور، برنامه‌گذار یا فعالیت حرفه‌ای به نام خودتان"}
body.forma-auth-v2-register .um-field-ecm_account_type label:has(input[value="سازمان / مؤسسه"]) .um-field-radio-option::after{content:"گالری، مؤسسه هنری، فستیوال، استودیو یا مجموعه فرهنگی"}

@media (min-width:900px){
  .forma-auth-v2{padding-top:clamp(42px,6vh,78px)}
  .forma-auth-v2__frame{width:min(100%,960px);display:grid;grid-template-columns:minmax(0,1fr) 286px;align-items:stretch}
  .forma-auth-v2__host{grid-column:1;grid-row:1;padding:34px 38px 38px}
  .forma-auth-v2__head{
    grid-column:2;grid-row:1;
    padding:38px 30px;
    border-bottom:0;
    border-right:1px solid var(--forma-border);
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:420px;
    background:linear-gradient(180deg,color-mix(in srgb,var(--forma-accent) 10%,transparent),transparent 58%),var(--forma-panel-2);
  }
  .forma-auth-v2--register .forma-auth-v2__head{min-height:520px}
}

@media (max-width:899px){
  .forma-auth-v2{padding:28px 14px 52px}
  .forma-auth-v2__frame{width:min(100%,680px)}
  .forma-auth-v2__head{padding:22px 22px 18px}
  .forma-auth-v2__host{padding:22px}
  .forma-auth-v2__head::after{margin-top:14px}
  .forma-auth-v2__frame::before{height:2px}
}

@media (max-width:639px){
  .forma-auth-v2{padding:16px 10px 36px}
  .forma-auth-v2__frame{width:100%;margin:0;border-radius:12px}
  .forma-auth-v2__head{padding:18px 16px 15px}
  .forma-auth-v2__head h1{font-size:19px;line-height:1.45}
  .forma-auth-v2__head p{font-size:11px;line-height:1.8}
  .forma-auth-v2__head::after{display:none}
  .forma-auth-v2__eyebrow{margin-bottom:9px;padding:4px 7px;font-size:9px}
  .forma-auth-v2__host{padding:16px}
  .forma-auth-v2__host :is(.um,.um-form,.um-row,.um-col-1,.um-col-2,.um-col-alt,.um-field,.um-field-area){
    width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important;float:none!important;
  }
  .forma-auth-v2__host :is(input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],select,textarea){width:100%!important;min-height:44px;font-size:16px!important}

  /* Register may contain third-party anti-spam nodes; contain them without rearranging UM DOM. */
  body.forma-auth-v2-register{width:100%!important;max-width:100%!important;overflow-x:hidden!important;position:relative}
  body.forma-auth-v2-register :is(#page,.site,.site-content,.content-area,main){max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  body.forma-auth-v2-register :is(.forma-auth-v2,.forma-auth-v2__frame,.forma-auth-v2__host){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:clip!important}
  body.forma-auth-v2-register .forma-auth-v2__host .um-register :is(.um-form,.um-row,[class*="um-col-"],.um-field,.um-field-area){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}

  body.forma-auth-v2-register .um-field-ecm_account_type{margin-top:20px!important;padding-top:20px!important}
  body.forma-auth-v2-register .um-field-ecm_account_type .um-field-area{grid-template-columns:1fr!important;gap:8px!important}
  body.forma-auth-v2-register .um-field-ecm_account_type .um-field-area > label.um-field-radio{min-height:0!important;padding:13px 13px 12px!important;border-radius:10px!important}
  body.forma-auth-v2-register .um-field-ecm_account_type .um-field-radio-option{font-size:13px!important}
  body.forma-auth-v2-register .um-field-ecm_account_type .um-field-radio-option::after{margin-top:4px;font-size:10px;line-height:1.65}
}

/* Email verification login intent — canonical account-security notice. */
.ecm-verification-login-notice{margin:0 0 20px;padding:16px 18px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:14px;line-height:1.8;background:color-mix(in srgb,currentColor 3%,transparent)}
.ecm-verification-login-notice strong{display:block;margin-bottom:2px}
