/* Auth-only rules: do not reuse horizontal catalog .store-card styling. */
.customer-auth{width:100%;max-width:520px;margin:0 auto;padding:32px 20px 48px;box-sizing:border-box}
.customer-auth *{box-sizing:border-box}
.auth-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}
.auth-icon-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#fff;color:#555;text-decoration:none;font-size:28px;line-height:1}
.auth-icon-link:hover{color:#008e50;background:#e9f5ee}
.auth-toolbar-title{font-size:20px;font-weight:700}
.auth-heading{margin:0 0 24px}
.auth-heading h1{font-size:25px;font-weight:600;line-height:1.3;margin:0 0 8px}
.auth-heading p{font-size:14px;color:#777;line-height:1.6;margin:0}
.auth-card{display:block;min-width:0;padding:24px;background:#fff;border:1px solid #ededed;border-radius:20px;box-shadow:0 5px 20px #00000004}
.auth-form{display:flex;flex-direction:column;gap:20px;min-width:0}
.auth-field{min-width:0}
.auth-field>label{display:block;font-size:15px;font-weight:500;margin:0 0 9px;line-height:1.5}
.auth-field>label>span{color:#c65050}
.auth-field>label>small{font-size:12px;font-weight:400;color:#777}
.auth-field input:not([type=checkbox]){display:block;width:100%;min-width:0;height:50px;border:1px solid #d1d1d1;border-radius:12px;background:#fff;color:#202020;padding:12px 14px;font:inherit;font-size:16px;line-height:1.4}
.auth-field input::placeholder{color:#939393;opacity:1}
.auth-field input:focus{border-color:#008e50;outline:2px solid #008e5033;outline-offset:1px}
.auth-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.auth-password-wrap{position:relative}
.auth-password-wrap input{padding-right:54px!important}
.auth-password-toggle{position:absolute;right:3px;top:3px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#737373;cursor:pointer}
.auth-captcha-row{display:flex;align-items:center;gap:12px;min-width:0}
.auth-captcha-row img{display:block;flex:0 0 150px;max-width:100%;width:150px;height:40px;border:1px solid #e6e6e6;border-radius:6px}
.auth-captcha-row input{flex:1;min-width:0}
.auth-help{display:block;margin-top:7px;line-height:1.5;color:#777;font-size:12px}
.auth-remember{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;color:#666;cursor:pointer}
.auth-remember input{width:22px;height:22px;flex-shrink:0;accent-color:#009b58;margin:0}
.auth-submit{width:100%;min-height:50px;padding:12px 16px;border:1px solid #009b58;border-radius:12px;background:#009b58;color:#fff;font:inherit;font-size:17px;font-weight:600;line-height:1.4;cursor:pointer;white-space:normal}
.auth-submit:hover{background:#008447;border-color:#008447}
.auth-account-link{margin:28px 0 0;text-align:center;color:#777;font-size:15px;line-height:1.7}
.auth-account-link a{display:inline-block;padding:8px 3px;color:#008e50;font-weight:500}
.auth-errors{padding:12px 14px;margin-bottom:20px;background:#fff0f0;border:1px solid #f0bebe;border-radius:10px;color:#9a2525;overflow-wrap:anywhere}
.auth-errors ul{padding-left:18px;margin:0;line-height:1.6}
@media(max-width:767px){
 body.front-body.customer-auth-page{background:#f5f5f5;padding-bottom:env(safe-area-inset-bottom)}
 .customer-auth-page>.front-topbar,.customer-auth-page>.front-footer,.customer-auth-page>.mobile-bottom-nav{display:none!important}
 .customer-auth{padding:16px 14px calc(32px + env(safe-area-inset-bottom));max-width:520px}
 .auth-toolbar{margin-bottom:24px}
 .auth-icon-link{background:#eee}
 .auth-heading h1{font-size:23px}
 .auth-heading{margin-bottom:20px}
 .auth-card{padding:20px 18px;border:0;border-radius:18px}
 .auth-form{gap:19px}
 .auth-field>label{font-size:16px}
 .auth-account-link{margin-top:22px}
}
@media(max-width:380px){.auth-name-grid{grid-template-columns:minmax(0,1fr)}.auth-captcha-row{flex-wrap:wrap}.auth-captcha-row input{flex:1 1 100%}.auth-card{padding:20px 16px}.auth-heading h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){.customer-auth *{scroll-behavior:auto}}
.auth-sr-only{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}
.auth-alternatives{text-align:center;color:#999;margin-top:24px}
.auth-or{margin:0 0 8px;font-size:16px}
.auth-otp-link{margin:0;font-size:16px;line-height:1.6}
.auth-otp-link a,.auth-account-link a{color:#4288c9;text-decoration:none}
.auth-otp-link a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:10px 3px}
.auth-otp-link [aria-disabled]{color:#777}
.auth-divider{display:flex;align-items:center;gap:12px;font-size:15px;margin:34px 0 22px}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#bbb;flex:1;min-width:10px}
.auth-google{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;min-width:150px;padding:10px 22px;border:1px solid #e0e0e0;border-radius:12px;background:#eee;color:#111;font:inherit;font-size:17px;font-weight:600;text-decoration:none}
.auth-google:disabled{opacity:.6;cursor:not-allowed}
.auth-google-mark{font-family:Arial,sans-serif;font-size:28px;line-height:1;font-weight:700;color:#4285f4}
.auth-recaptcha{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:100%}
.auth-captcha-label{font-size:14px;color:#777}
.auth-phone-wrap{position:relative}
.auth-phone-wrap input{padding-left:56px!important}
.auth-phone-country{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:22px;pointer-events:none}
.auth-otp-input{letter-spacing:.32em;text-align:center;font-size:24px!important}
.auth-submit:disabled{opacity:.6;cursor:not-allowed}
.auth-status{color:#006b3d;padding:12px;background:#e9f8ef;border-radius:10px;line-height:1.5}
@media(max-width:767px){.auth-toolbar-title{font-size:18px}.auth-icon-link{background:transparent}.auth-heading h1{font-size:24px;font-weight:500}.auth-heading p{color:#999}.auth-card{border-radius:18px;padding:20px}.auth-field-placeholder input,.auth-password-wrap input{height:52px}.auth-alternatives{margin-top:20px}.auth-account-link{margin-top:30px}}
