/* Customer sign-in: one layout per storefront theme. Shared form pieces first, then each theme. */
.customer-login{--lg-accent:var(--theme-accent,var(--primary,#ed633b));--lg-on-accent:var(--theme-button-ink,#fff);--lg-ink:var(--theme-ink,#252b25);--lg-muted:var(--theme-muted,#6b6f68);--lg-line:var(--theme-border,#e2e1d8);--lg-field:#fff;padding-top:40px;padding-bottom:64px}
.customer-login h1{margin:0;color:var(--lg-ink)}
.customer-login .login-lead{color:var(--lg-muted);margin:8px 0 24px;font-size:15px;line-height:1.55}
.customer-login .login-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--lg-accent)}
.customer-login .login-msg{border-radius:10px;padding:11px 14px;margin-bottom:16px;font-size:14px}
.customer-login .login-msg.error{background:#fdecea;color:#9b2219}
.customer-login .login-msg.ok{background:#e6f6ec;color:#1d6b3c}
.customer-login .login-field{margin-bottom:16px}
.customer-login .login-field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--lg-ink)}
.customer-login .login-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.customer-login .login-label-row a{font-size:13px;color:var(--lg-accent);text-decoration:none;font-weight:600}
.customer-login .login-label-row a:hover{text-decoration:underline}
.customer-login .login-field input{width:100%;height:50px;padding:0 14px;border:1.5px solid var(--lg-line);border-radius:12px;background:var(--lg-field);color:var(--lg-ink);font-size:15px;transition:border-color .15s,box-shadow .15s}
.customer-login .login-field input:focus{outline:none;border-color:var(--lg-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--lg-accent) 20%,transparent)}
.customer-login .login-password{position:relative}
.customer-login .login-password input{padding-right:48px}
.customer-login .login-eye{position:absolute;right:5px;top:5px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--lg-muted);cursor:pointer}
.customer-login .login-eye svg{width:20px;height:20px}
.customer-login .login-submit{width:100%;height:52px;margin-top:6px;border:0;border-radius:12px;background:var(--lg-accent);color:var(--lg-on-accent);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:filter .15s,transform .15s}
.customer-login .login-submit:hover{filter:brightness(1.07)}.customer-login .login-submit:active{transform:translateY(1px)}
.customer-login .login-submit[disabled]{opacity:.75;cursor:progress}
.customer-login .login-switch{margin:18px 0 0;text-align:center;font-size:14px;color:var(--lg-muted)}
.customer-login .login-switch a{color:var(--lg-accent);font-weight:700}
.customer-login :focus-visible{outline:3px solid var(--lg-accent);outline-offset:3px}

/* Everyday — friendly two-panel card */
.login-default .everyday-login{display:grid;grid-template-columns:.9fr 1.1fr;max-width:880px;margin:0 auto;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(37,43,37,.10);border:1px solid var(--lg-line)}
.login-default .everyday-perks{background:var(--lg-accent);color:var(--lg-on-accent);padding:44px 36px;position:relative;overflow:hidden}
.login-default .everyday-perks::after{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.14)}
.login-default .everyday-perks h2{color:inherit;font-size:28px;line-height:1.2;margin:18px 0 22px}
.login-default .everyday-wave{font-size:40px}
.login-default .everyday-perks ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.login-default .everyday-perks li{display:flex;align-items:center;gap:12px;font-weight:600}
.login-default .everyday-perks li i{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.18)}
.login-default .everyday-form{padding:44px 40px}
.login-default .everyday-form h1{font-size:32px}
.login-default .login-submit{border-radius:30px}

/* Dream Decor — arched window, airy serif, underlined fields */
.login-decor{--lg-field:transparent}
.login-decor .decor-login{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:960px;margin:0 auto}
.login-decor .decor-arch{position:relative;aspect-ratio:4/5;border-radius:999px 999px 24px 24px;background:var(--theme-surface,#e8e4dc);overflow:hidden;display:grid;place-items:center;padding:12%}
.login-decor .decor-arch img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.login-decor .decor-leaf{position:absolute;left:-30px;bottom:-30px;width:140px;height:140px;border-radius:0 100% 0 100%;background:color-mix(in srgb,var(--lg-accent) 22%,transparent);transform:rotate(-15deg)}
.login-decor .decor-card h1{font-size:clamp(32px,3.6vw,46px);line-height:1.1;font-weight:500;margin-top:14px}
.login-decor .login-field input{border:0;border-bottom:1.5px solid var(--lg-line);border-radius:0;padding-left:2px;background:transparent}
.login-decor .login-field input:focus{box-shadow:none;border-bottom-color:var(--lg-accent)}
.login-decor .login-eye{right:0}
.login-decor .login-submit{border-radius:40px;letter-spacing:.4px}

/* Fashion Studio — editorial spread, sharp edges */
.login-fashion{--lg-field:#fff}
.login-fashion .fashion-login{display:grid;grid-template-columns:1.05fr 1fr;max-width:1000px;margin:0 auto;border:1px solid var(--lg-line);background:#fff}
.login-fashion .fashion-cover{position:relative;overflow:hidden;min-height:520px;padding:36px;color:#fff;background:linear-gradient(150deg,#1f617d,#77b6c5)}
.login-fashion .fashion-issue{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;opacity:.85}
.login-fashion .fashion-cover strong{position:relative;z-index:1;display:block;margin-top:26px;font-size:clamp(64px,8vw,112px);line-height:.85;font-weight:800;letter-spacing:-3px}
.login-fashion .fashion-cover strong em{display:block;font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:.32em;letter-spacing:0;margin-top:14px;color:#f6ba62}
.login-fashion .fashion-cover img{position:absolute;right:-8%;bottom:-6%;width:62%;aspect-ratio:1;object-fit:contain;background:#fff;border:8px solid #fff;transform:rotate(-5deg);box-shadow:0 20px 40px rgba(0,0,0,.25)}
.login-fashion .fashion-form{padding:56px 44px;display:flex;flex-direction:column;justify-content:center}
.login-fashion .fashion-form h1{font-size:30px;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.login-fashion .login-field input,.login-fashion .login-submit,.login-fashion .login-eye{border-radius:2px}
.login-fashion .login-field label{text-transform:uppercase;letter-spacing:1.2px;font-size:11px}
.login-fashion .login-submit{text-transform:uppercase;letter-spacing:2px;font-size:14px}

/* Quality Electronics — dark spec sheet with an orange glow */
.login-electronics{--lg-field:#11131b}
.login-electronics .tech-login{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--lg-line);background:linear-gradient(140deg,#161822,#0b0c12)}
.login-electronics .tech-form{padding:52px 44px}
.login-electronics .tech-form h1{font-size:34px;font-weight:700;letter-spacing:-.5px;margin-top:14px}
.login-electronics .tech-led{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 10px #3ddc84}
.login-electronics .tech-visual{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:40px;background:radial-gradient(circle at 50% 40%,rgba(255,146,15,.35),transparent 60%);border-left:1px solid var(--lg-line)}
.login-electronics .tech-visual img{width:78%;max-height:300px;object-fit:contain;background:#f2f3f5;border-radius:14px;padding:16px;transform:perspective(900px) rotateY(-14deg) rotateX(4deg);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.login-electronics .tech-specs{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.login-electronics .tech-specs li{font-size:12px;color:var(--lg-muted);border:1px solid var(--lg-line);border-radius:30px;padding:6px 12px}
.login-electronics .tech-specs b{color:#ff920f}
.login-electronics .login-submit{border-radius:8px}
.login-electronics .login-msg.error{background:rgba(255,120,120,.12);color:#ffb3b3}
.login-electronics .login-msg.ok{background:rgba(61,220,132,.12);color:#9ff0c2}

/* Glass Studio — frosted card over colour blobs */
.login-glass .glass-login{position:relative;display:grid;place-items:center;min-height:560px}
.login-glass .glass-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.login-glass .glass-blob.one{width:340px;height:340px;background:var(--lg-accent);left:12%;top:4%}
.login-glass .glass-blob.two{width:300px;height:300px;background:#4fd1c5;right:12%;bottom:0}
.login-glass .glass-card{position:relative;width:100%;max-width:430px;padding:40px 34px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:0 30px 70px rgba(0,0,0,.35);text-align:center}
.login-glass .glass-card form,.login-glass .glass-card .login-msg{text-align:left}
.login-glass .glass-badge{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--lg-accent);color:var(--lg-on-accent);font-size:24px;font-weight:700;margin-bottom:16px}
.login-glass .glass-card h1{font-size:30px}
.login-glass{--lg-field:rgba(255,255,255,.06)}
.login-glass .login-submit{border-radius:14px}
.login-glass .login-msg.error{background:rgba(255,120,120,.14);color:#ffc2c2}
.login-glass .login-msg.ok{background:rgba(120,230,160,.14);color:#c2f5d4}

@media (max-width:820px){
 .customer-login{padding-top:20px;padding-bottom:40px}
 .login-default .everyday-login,.login-decor .decor-login,.login-fashion .fashion-login,.login-electronics .tech-login{grid-template-columns:1fr}
 .login-default .everyday-perks{padding:26px 22px}.login-default .everyday-perks h2{font-size:22px;margin:8px 0 14px}.login-default .everyday-perks ul{display:none}
 .login-default .everyday-form,.login-fashion .fashion-form,.login-electronics .tech-form{padding:28px 20px}
 .login-decor .decor-login{gap:24px}.login-decor .decor-arch{max-width:220px;margin:0 auto;aspect-ratio:4/4.4}
 .login-fashion .fashion-cover{min-height:220px;padding:22px}.login-fashion .fashion-cover strong{font-size:64px}.login-fashion .fashion-cover img{width:40%}
 .login-electronics .tech-visual{display:none}
 .login-glass .glass-login{min-height:0}.login-glass .glass-card{padding:30px 22px}
}
@media (prefers-reduced-motion:reduce){.customer-login .login-submit,.customer-login .login-field input{transition:none}}
