
 /* /style/buttonLoader.css */ 

.spinner {
    display: inline-block;
    opacity: 1;
    width: auto;
    -webkit-transition: opacity 0.25s, width 0.25s;
    -moz-transition: opacity 0.25s, width 0.25s;
    -o-transition: opacity 0.25s, width 0.25s;
    transition: opacity 0.25s, width 0.25s;
}

.has-spinner.active {
    cursor:progress;
}

.has-spinner.active .spinner {
    opacity: 1;
    width: auto;
}

.has-spinner.btn.active .spinner {
    min-width: 20px;
}


 /* /style/login-register.css */ 

/* Login / Register page — modern auth card on the --tch-* design tokens.
   Loaded with style/components.css (tch-btn / tch-card) via createCssORJs.
   Scoped under .AuthPage — .LoginRegister is NOT used here because that class
   also names the header account-dropdown block (headerStyle.php / footer.css). */

.AuthPage{background:var(--tch-surface-warm); padding:56px 16px 80px;}

.AuthTitle{font-family:var(--tch-font-display,'Playfair Display',Georgia,serif); font-size:34px; font-weight:600; color:var(--tch-ink); text-align:center; margin:0 0 var(--tch-space-6);}
.AuthTitle:after{content:""; display:block; width:64px; height:3px; border-radius:2px; background:var(--tch-brand); margin:14px auto 0;}

.AuthPage .SignInForm{max-width:440px; margin:0 auto; text-align:center; padding:var(--tch-space-6);}

.AuthPage #loginFieldTitle h3{font-family:var(--tch-font-display,'Playfair Display',Georgia,serif); font-size:22px; font-weight:600; color:var(--tch-ink); margin:0 0 var(--tch-space-3);}
.AuthPage #loginFieldTitle span{display:inline-block; font-size:14px; color:var(--tch-muted); word-break:break-all; margin-bottom:var(--tch-space-1);}

.AuthPage .FormRow{margin-bottom:var(--tch-space-4); text-align:left;}
.AuthPage .FormRow .FormRow:last-child{margin-bottom:0;}

.AuthPage .SignInForm label{display:block; text-align:left; font-size:13px; font-weight:600; color:var(--tch-ink-2); padding:0; margin:0 0 var(--tch-space-1);}

.AuthPage .SignInForm input[type="text"],
.AuthPage .SignInForm input[type="password"]{display:block; width:100%; box-sizing:border-box; font-family:'Inter',Arial,sans-serif; font-size:15px; color:var(--tch-ink); background:var(--tch-surface); border:1px solid var(--tch-line); border-radius:var(--tch-radius); padding:11px 14px; height:auto; transition:border-color .15s ease, box-shadow .15s ease;}
.AuthPage .SignInForm input[type="text"]:focus,
.AuthPage .SignInForm input[type="password"]:focus{border-color:var(--tch-brand); outline:none; box-shadow:0 0 0 3px color-mix(in srgb, var(--tch-brand) 20%, transparent);}
.AuthPage .SignInForm input::placeholder{color:var(--tch-muted); opacity:1;}

.AuthPage .tch-btn{margin-top:var(--tch-space-2);}

.AuthPage .FormMsg{display:block; font-size:13px; font-weight:500; color:var(--tch-brand-dark); text-align:center; margin-top:var(--tch-space-2);}

/* Secondary text links (also injected by javascript/login.js) */
.AuthPage .loginFormLink,
.AuthPage .ForgotResetLink,
.AuthPage .guestPwdLink{font-size:14px; color:var(--tch-muted); margin:var(--tch-space-4) 0 0; line-height:1.6;}
.AuthPage .loginFormLink a,
.AuthPage .ForgotResetLink a,
.AuthPage .guestPwdLink a{color:var(--tch-brand-dark) !important; font-weight:600; cursor:pointer;}
.AuthPage .loginFormLink a:hover,
.AuthPage .ForgotResetLink a:hover,
.AuthPage .guestPwdLink a:hover{text-decoration:underline;}
.AuthPage #loginSeperator{color:var(--tch-muted);}
.AuthPage #guestRM{color:var(--tch-brand-dark) !important;}

.AuthPage .ForgotPasswordBox{margin-top:var(--tch-space-4);}

/* validationEngine inline error bubbles — keep readable inside the card */
.AuthPage .SignInForm .formError{text-align:left;}

/* Social sign-in */
.AuthPage .SocialDivider{display:flex; align-items:center; gap:12px; margin:var(--tch-space-5) 0 var(--tch-space-4); color:var(--tch-muted); font-size:12px; font-weight:600; letter-spacing:.08em;}
.AuthPage .SocialDivider:before,
.AuthPage .SocialDivider:after{content:""; flex:1; height:1px; background:var(--tch-line);}
.AuthPage .SocialLogin{display:flex; flex-direction:column; gap:10px;}
.AuthPage .SocialLogin a{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; box-sizing:border-box; padding:11px 16px; border-radius:var(--tch-radius); border:1px solid var(--tch-line); font-family:'Inter',Arial,sans-serif; font-size:14px; font-weight:600; text-decoration:none; transition:background .18s ease, border-color .18s ease, box-shadow .18s ease;}
.AuthPage .SocialLogin a i{font-size:19px;}
.AuthPage .SocialLogin a.fb{background:#1877f2; border-color:#1877f2; color:#fff;}
.AuthPage .SocialLogin a.fb:hover{background:#0b65da; border-color:#0b65da; color:#fff;}
.AuthPage .SocialLogin a.twitter{background:#55acee; border-color:#55acee; color:#fff;}
.AuthPage .SocialLogin a.twitter:hover{background:#2b94e4; border-color:#2b94e4; color:#fff;}
.AuthPage .SocialLogin a.Google{background:#fff; color:#3c4043;}
.AuthPage .SocialLogin a.Google:hover{background:#f7f7f7; border-color:#d0c4bb;}
.AuthPage .SocialLogin a.Google img{width:20px; height:20px;}

@media (max-width:480px){
	.AuthPage{padding:28px 12px 48px;}
	.AuthTitle{font-size:26px; margin-bottom:var(--tch-space-5);}
	.AuthPage .SignInForm{padding:var(--tch-space-5);}
}


