/* MemberSonic public authentication forms — visual-only improvements. */
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) {box-sizing:border-box; font-family:inherit; line-height:1.5;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) *, :where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) *::before, :where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) *::after {box-sizing:border-box;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) .col-md-12 {float:none; width:100%; min-width:0; padding-left:0; padding-right:0;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) .form-group {margin:0 0 18px; min-width:0;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) label {display:block; color:#202938; font-size:14px; font-weight:600; line-height:1.45; margin:0 0 7px; padding:0;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=hidden]), :where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) select, :where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) textarea {display:block; width:100%; max-width:100%; min-height:46px; height:auto; padding:11px 13px; background:#fff !important; background-color:#fff !important; color:#111827 !important; -webkit-text-fill-color:#111827; border:1px solid #cbd5e1; border-radius:8px; box-shadow:none; font-size:15px; line-height:1.5; opacity:1; transition:border-color .18s,box-shadow .18s;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) input::placeholder {color:#64748b !important; opacity:1; -webkit-text-fill-color:#64748b;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) input:not([type=submit]):focus, :where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) select:focus, :where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) textarea:focus {outline:2px solid transparent; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15);}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) input[type=submit]:focus-visible {outline:3px solid #93c5fd; outline-offset:2px;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) .bg-danger, :where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) .bg-success {padding:12px 14px; border-radius:8px; margin:12px 0; line-height:1.5;}
.fotgotpassform, .resetpwd {width:100%; max-width:420px; padding:22px 24px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.06);}
.fotgotpassform .lblforgotpass {font-size:19px; margin-bottom:15px;}
@media(max-width:480px){.fotgotpassform,.resetpwd{padding:18px 16px;}}

/* Text areas: explicit light appearance across themes and browsers. */
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) textarea {background:#fff !important;color:#111827 !important;-webkit-text-fill-color:#111827 !important;color-scheme:light;min-height:110px;resize:vertical;}
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) textarea::placeholder {color:#64748b !important;opacity:1;}

/* Public login identifiers */
:where(.mslogincustomcss,.msloginformcustomcss,.wp-smloginform,.fotgotpassform,.resetpwd,.newregcont,.loginformcont) label {font-weight:700 !important;}

/* Accessible, linear login progress indicator. */
.ms-login-spinner{display:block;position:relative;width:112px;max-width:100%;height:5px;overflow:hidden;border-radius:99px;background:#e2e8f0;vertical-align:middle;margin:12px auto}
.ms-login-spinner::after{content:"";position:absolute;top:0;bottom:0;left:0;width:38%;border-radius:inherit;background:#2563eb;animation:ms-login-progress 1.1s ease-in-out infinite alternate}
@keyframes ms-login-progress{from{transform:translateX(0)}to{transform:translateX(165%)}}
@media(prefers-reduced-motion:reduce){.ms-login-spinner::after{animation:none;width:65%}}
/* Let the page builder's parent text alignment control the horizontal menu. */
.ms-horizontal-menu{width:100%;box-sizing:border-box;justify-content:flex-start!important}
[style*="text-align: center"] .ms-horizontal-menu,[style*="text-align:center"] .ms-horizontal-menu,.has-text-align-center .ms-horizontal-menu,.elementor-align-center .ms-horizontal-menu{justify-content:center!important}
[style*="text-align: right"] .ms-horizontal-menu,[style*="text-align:right"] .ms-horizontal-menu,.has-text-align-right .ms-horizontal-menu,.elementor-align-right .ms-horizontal-menu{justify-content:flex-end!important}

/* Menu Builder alignment takes precedence over page builder alignment rules. */
.ms-horizontal-menu.ms-horizontal-menu--left{justify-content:flex-start!important}
.ms-horizontal-menu.ms-horizontal-menu--center{justify-content:center!important}
.ms-horizontal-menu.ms-horizontal-menu--right{justify-content:flex-end!important}

/* Theme owns the submit palette; form layout remains consistent. */
.mslogincustomcss input.btnloginsubmit{min-height:46px;width:100%;cursor:pointer;}
