/* Login uses the shared theme tokens and Bootstrap layout. */
.tooner-login-page{background:var(--ice)}
.tooner-login-screen>.woocommerce{width:100%;font-size:18px}
.tooner-login-layout{position:relative;isolation:isolate;overflow:hidden;max-width:1440px;min-height:100svh;margin:auto}
.login-form-column{position:relative;z-index:1;padding:110px 40px}
.login-form-content{width:371px;max-width:100%}
.login-brand{position:relative;display:block;width:194px;height:41px;margin-bottom:56px}
.login-brand>img{position:absolute;top:0;left:0;transform:scale(2.522);transform-origin:top left}
.login-brand>img.login-trademark{left:189px;top:37.7px}
.login-introduction h1{font-family:var(--body);font-size:32px;font-weight:500;text-transform:none;letter-spacing:-.03em;line-height:1.28;margin:0 0 16px}
.login-introduction p{font-size:18px;line-height:1.4;margin:0}
.login-introduction{margin-bottom:80px}
.tooner-login-layout .form-label{display:block;font-size:16px;line-height:26px;font-weight:500;color:rgba(102,46,141,.7);margin-bottom:10px}
.login-phone-input{height:62px;background:white;border:1.5px solid rgba(102,46,141,.2);border-radius:58px;padding:5px;gap:12px}
.login-country{background:rgba(102,46,141,.1);border-radius:60px;display:flex;align-items:center;justify-content:center;height:48px;padding:0 22px;white-space:nowrap;color:var(--purple);font-size:20px;font-weight:500}
.login-phone-input .form-control{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;color:var(--purple);min-width:0;font-size:20px}
.login-phone-input .form-control::placeholder{color:rgba(102,46,141,.4)}
.login-input-caret{width:.198267px;height:10.3098px;flex:none;align-self:center;transform:scale(2.522);transform-origin:center}
.tooner-login-layout .login-continue{width:100%;height:62px;border:0;border-radius:60px;background:var(--purple);color:white;padding:5px 8px 5px 25px;font-size:20px;font-weight:500;margin-top:16px}
.tooner-login-layout .login-continue:disabled{opacity:1;background:rgba(102,46,141,.1);color:rgba(102,46,141,.4)}
.login-button-arrow{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--yellow)}
.login-button-arrow img{transform:rotate(90deg) scale(2.522)}
.login-continue:disabled .login-button-arrow{background:rgba(255,255,255,.7)}
.login-button-arrow .login-arrow-disabled{display:none}
.login-continue:disabled .login-arrow-disabled{display:block}
.login-continue:disabled .login-arrow-active{display:none}
.login-phone-input.has-number .login-input-caret{display:none}
.login-phone-input .form-control{font-weight:500;line-height:1.28;letter-spacing:-.03em}
.login-phone-input:focus-within{outline:2px solid rgba(102,46,141,.25);outline-offset:3px}
.login-phone-input .form-control:focus-visible{outline:0}
.login-otp-recipient{gap:12px;font-size:18px;line-height:1.4}.login-otp-recipient strong{font-weight:600}
.login-edit-phone{border:0;background:transparent;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0}.login-edit-phone img{transform:scale(2.522)}
.login-otp-inputs{gap:10px;width:100%}.login-otp-box{position:relative;flex:1;min-width:0;height:54px}
.login-otp-box>img{position:absolute;left:0;top:0;transform:scale(2.522);transform-origin:top left;pointer-events:none}
.login-otp-box .form-control{position:relative;width:100%;height:54px;padding:0;border:1.3px solid transparent;border-radius:16px;background:transparent;color:var(--purple);text-align:center;font-size:20px;font-weight:500;box-shadow:none}
.login-otp-box.has-digit .form-control{background:white;border-color:rgba(102,46,141,.4)}.login-otp-box.has-digit>img{visibility:hidden}
.is-otp-step .login-continue{margin-top:20px}
.login-otp-resend{gap:18px;margin-top:20px;font-size:16px;line-height:1.28}.login-otp-resend>span{text-decoration:underline;text-underline-offset:3px}.login-otp-resend .login-text-link{font-size:16px;color:var(--text)}.login-otp-resend button:disabled{opacity:.7}
.login-otp-agreement{font-size:14px;line-height:1.4;margin-top:80px}.login-otp-agreement a{color:var(--text)}
.is-otp-step .login-policy-links{display:none!important}.is-otp-step .login-demo-note{margin-top:14px}
@media(max-width:1100px){.login-otp-inputs{gap:8px}.login-otp-box{height:48px}.login-otp-box>img{transform:scale(2.15)}.login-otp-box .form-control{height:48px;border-radius:14px}.login-otp-recipient{font-size:16px}.login-otp-agreement{font-size:12px}}
.login-demo-note{font-size:12px;line-height:1.4;margin-top:12px}
.login-text-link{background:transparent;border:0;padding:0;color:var(--purple);font-size:14px;text-decoration:underline;text-underline-offset:3px}
.login-mode-toggle{margin-top:20px}
.login-policy-links{gap:24px;margin-top:64px;font-size:14px;line-height:1.4}
.login-policy-links a,.login-policy-links span{color:var(--text)}
.login-photo-column{padding:28px 28px 28px 0}
.login-photo{position:relative;overflow:hidden;border-radius:18px;width:100%;height:100%;min-height:740px}
.login-photo>img{position:absolute;max-width:none!important;width:146.54%;height:156.99%;left:-18.29%;top:-26.06%}
.tooner-login-layout .login-close{position:absolute;z-index:3;right:48px;top:48px;width:46px;height:46px;background:#fff;border:0;border-radius:8.635px;backdrop-filter:blur(3px);box-shadow:none;transition:background-color .15s ease}
.tooner-login-layout .login-close:hover,.tooner-login-layout .login-close:active{background:#fff;color:var(--purple)}
.login-close img{display:block;flex:none;transform:scale(2.522);pointer-events:none}
@media(max-width:767px){.tooner-login-layout .login-close{right:20px;top:20px}.tooner-login-layout .login-close img{transform:scale(2.522)}}
.login-decoration{position:absolute;z-index:0;max-width:none!important;transform:scale(2.522);transform-origin:top left;pointer-events:none}
.login-decoration-top{width:240.355px;height:150.682px;left:232px;top:-182px}
.login-decoration-bottom{width:187.56px;height:130.915px;left:-147px;top:calc(100% - 260px)}
.login-feedback:empty{display:none}.login-feedback .alert{margin-bottom:20px;font-size:14px;line-height:1.5}
.tooner-login-layout form.login.login-password-form{border:0;margin:0;padding:0;border-radius:0;background:transparent}
.login-password-form>.form-control,.login-code-input,.login-registration .form-control{height:62px;border:1.5px solid rgba(102,46,141,.2);border-radius:31px;background:white;color:var(--purple);font-size:18px;padding:12px 22px;margin-bottom:20px}
.login-password-help{gap:12px;font-size:13px;margin-top:8px}.login-password-help label{color:var(--text)}
.login-password-form>.form-control{font-size:20px;font-weight:500;line-height:1.28;letter-spacing:-.03em;border-radius:58px;padding:12px 25px}
.login-password-form>.form-control:focus{border-color:rgba(102,46,141,.4);box-shadow:0 0 0 3px rgba(102,46,141,.08)}
.login-password-help .form-check-input{accent-color:var(--purple)}.login-password-help .form-check-input:checked{background-color:var(--purple);border-color:var(--purple)}
.login-password-form .login-continue[aria-busy="true"]{pointer-events:none}
.is-password-step .login-introduction{margin-bottom:48px}
.is-password-step .login-form-column{padding-top:64px;padding-bottom:64px}.is-password-step .login-brand{margin-bottom:40px}.is-password-step .login-policy-links{margin-top:40px}
.login-code-step .login-text-link{margin-bottom:4px}
.login-registration{font-size:14px;margin-top:20px}.login-registration summary{color:var(--purple)}.login-registration form{padding-top:20px}
.tooner-login-screen>.woocommerce>.woocommerce-notices-wrapper{position:relative;z-index:4;max-width:1440px;margin:0 auto;padding:0 28px}.tooner-login-screen>.woocommerce>.woocommerce-notices-wrapper:empty{display:none}
.tooner-login-layout [hidden]{display:none!important}
@media(max-width:1100px) and (min-width:768px){.login-form-column{padding:100px 30px}.login-form-content{width:320px}.login-introduction h1{font-size:28px}.login-introduction{margin-bottom:55px}.login-photo{min-height:720px}.login-country{padding:0 16px;font-size:18px}.login-phone-input .form-control{font-size:18px}}
@media(max-width:767px){.login-form-column{padding:96px 28px 64px;min-height:100svh}.login-photo-column{display:none}.login-close{right:20px;top:20px;width:40px;height:40px}.login-close img{transform:scale(2)}.login-introduction{margin-bottom:48px}.login-introduction h1{font-size:28px}.login-introduction p{font-size:16px}.login-policy-links{margin-top:48px;font-size:12px;gap:20px}.login-decoration-top{left:50%;top:-220px}.login-decoration-bottom{top:calc(100% - 190px)}.login-brand{margin-bottom:44px}}


/* Responsive login controls: square OTP slots scale with available width. */
.tooner-login-layout .login-otp-inputs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.tooner-login-layout .login-otp-box{height:auto;aspect-ratio:1;background:url('../images/login-otp-box.svg') center/100% 100% no-repeat}
.tooner-login-layout .login-otp-box>img{display:none}
.tooner-login-layout .login-otp-box .form-control{height:100%;border-radius:29%;font-size:20px}
.tooner-login-layout .login-otp-box.has-digit{background:none}
.login-policy-links{flex-wrap:wrap}
@media(max-width:991px){
 .tooner-login-layout .login-photo-column{display:none}
 .tooner-login-layout .login-form-column{width:100%;min-height:100svh;padding:96px 32px 48px}
 .tooner-login-layout .login-form-content{width:420px;max-width:100%}
 .tooner-login-layout .login-close{right:20px;top:20px}
 .tooner-login-layout .login-decoration-top{left:45%;top:-220px}
 .tooner-login-layout .login-decoration-bottom{top:calc(100% - 190px)}
 .tooner-login-layout .login-policy-links{margin-top:40px}
}
@media(max-width:575px){
 .tooner-login-layout .login-form-column{padding:84px 20px 36px}
 .tooner-login-layout .login-form-content{width:371px}
 .tooner-login-layout .login-brand{width:154px;height:33px;margin-bottom:36px}
 .tooner-login-layout .login-brand>img{transform:scale(2)}
 .tooner-login-layout .login-brand>img.login-trademark{left:150px;top:30px}
 .tooner-login-layout .login-introduction{margin-bottom:36px}
 .tooner-login-layout .login-introduction h1{font-size:26px}
 .tooner-login-layout .login-introduction p{font-size:15px}
 .tooner-login-layout .login-phone-input{height:56px;gap:8px}
 .tooner-login-layout .login-country{height:44px;padding:0 14px;font-size:16px}
 .tooner-login-layout .login-phone-input .form-control{font-size:16px}
 .tooner-login-layout .form-label{font-size:14px;margin-bottom:8px}
 .tooner-login-layout .login-continue{height:56px;font-size:18px;padding-left:20px}
 .tooner-login-layout .login-button-arrow{width:46px;height:46px;flex:none}
 .tooner-login-layout .login-otp-inputs{gap:6px}
 .tooner-login-layout .login-otp-box .form-control{font-size:18px}
 .tooner-login-layout .login-otp-recipient{gap:8px}
 .tooner-login-layout .login-otp-recipient p{font-size:14px;white-space:nowrap}
 .tooner-login-layout .login-otp-resend,.tooner-login-layout .login-otp-resend button{font-size:14px}
 .tooner-login-layout .login-otp-agreement{margin-top:40px;font-size:12px}
 .tooner-login-layout .login-password-form>.form-control{height:56px;font-size:16px;padding:10px 20px}
 .tooner-login-layout .login-password-help{flex-wrap:wrap;gap:12px;font-size:12px}
 .tooner-login-layout .login-policy-links{gap:16px;font-size:12px;margin-top:32px}
 .tooner-login-layout .login-feedback .alert{font-size:13px}
}

/* Password recovery shares the responsive login shell and native WooCommerce forms. */
.login-recovery-layout .login-introduction{margin-bottom:28px}
.login-recovery-content{font-size:18px;line-height:1.4}
.login-recovery-content .login-recovery-description,.login-recovery-content form>p:first-child{margin-bottom:40px}
.login-recovery-content form{padding:0;margin:0;border:0;background:transparent}
.login-recovery-content label{display:block;font-size:16px;font-weight:500;color:rgba(102,46,141,.7);margin-bottom:10px}
.login-recovery-content input:not([type=hidden]){width:100%;height:62px;border:1.5px solid rgba(102,46,141,.2);border-radius:58px;background:white;padding:12px 25px;color:var(--purple);font-size:20px}
.login-recovery-content .woocommerce-form-row{float:none;width:100%;margin-bottom:20px}
.login-recovery-content .woocommerce-notices-wrapper:empty{display:none}
.login-recovery-content .woocommerce-error,.login-recovery-content .woocommerce-message,.login-recovery-content .woocommerce-info{font-size:14px;margin-bottom:24px}
@media(max-width:575px){.login-recovery-content{font-size:15px}.login-recovery-content input:not([type=hidden]){height:56px;font-size:16px;padding:10px 20px}.login-recovery-content label{font-size:14px}.login-recovery-content .login-recovery-description,.login-recovery-content form>p:first-child{margin-bottom:28px}}
.login-recovery-layout .login-mode-toggle{display:inline-block;margin-top:20px}
