@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;600;700;800&family=Material+Symbols+Outlined&display=swap');

.ecom-page--auth, .ecom-page__auth-content { padding: 0; max-width: none; }
.emc-auth-screen { --auth-red:#c8102e; --auth-ink:#111c2d; --auth-muted:#566475; --auth-navy:#263143; box-sizing:border-box; min-height:620px; width:100%; max-width:none; padding:48px 20px 72px; color:var(--auth-ink); font:400 14px/1.55 'Plus Jakarta Sans',sans-serif; background:radial-gradient(circle at 12% 8%,rgba(200,16,46,.055),transparent 38%),radial-gradient(circle at 88% 85%,rgba(49,79,105,.07),transparent 43%),linear-gradient(135deg,#f8fafc,#fdfdff); }
.emc-auth-screen--customer { background:radial-gradient(at 50% 0%,rgba(200,16,46,.043),transparent 50%),radial-gradient(at 100% 0%,rgba(49,79,105,.04),transparent 40%),#f8fafc; }
.emc-auth-screen--seller { background:radial-gradient(at 15% 10%,rgba(220,38,38,.07),transparent 55%),radial-gradient(at 85% 85%,rgba(30,58,138,.08),transparent 55%),#f8fafc; }
.emc-auth-screen *, .emc-auth-screen *::before, .emc-auth-screen *::after { box-sizing:border-box; }
.emc-auth-screen .emc-layout { max-width:1240px; margin:auto; }
.emc-auth-screen a { color:var(--auth-red); text-decoration:none; }
.emc-auth-screen a:hover { text-decoration:underline; }
.emc-auth-screen .material-symbols-outlined { font-family:'Material Symbols Outlined'; font-size:20px; line-height:1; font-weight:normal; font-style:normal; letter-spacing:normal; white-space:nowrap; direction:ltr; font-feature-settings:'liga'; -webkit-font-smoothing:antialiased; }
.emc-crumbs { display:flex; align-items:center; gap:10px; max-width:760px; margin:0 auto 24px; color:var(--auth-muted); font:600 12px/1.4 Inter,sans-serif; }
.emc-crumbs a { color:var(--auth-muted); }
.emc-crumbs strong { color:var(--auth-ink); }
.emc-layout--narrow { max-width:620px; margin:auto; }
.emc-design-card { background:#fff; border:1px solid rgba(226,232,240,.85); border-radius:14px; box-shadow:0 24px 48px -12px rgba(15,23,42,.08),0 4px 12px -2px rgba(15,23,42,.03); }
.emc-login-card,.emc-recovery-card { padding:40px; }
.emc-auth-screen h1,.emc-auth-screen h2,.emc-auth-screen h3,.emc-auth-screen p { margin-top:0; }
.emc-login-card h1,.emc-recovery-card h1 { color:var(--auth-ink); font:800 clamp(28px,3vw,36px)/1.2 'Plus Jakarta Sans',sans-serif; letter-spacing:-.02em; margin:0 0 28px; text-transform:none; text-align:left; }
.emc-recovery-card h1 { margin-bottom:10px; }
.emc-lead { color:var(--auth-muted); margin-bottom:28px; }
.emc-auth-screen .emc-auth-form,.emc-auth-screen .emc-registration-form { display:flex; flex-direction:column; gap:19px; }
.emc-auth-screen .emc-field { min-width:0; }
.emc-auth-screen .emc-field label,.emc-auth-screen .emc-label-line { display:block; margin:0 0 7px; color:var(--auth-ink); font:600 13px/1.4 Inter,sans-serif; }
.emc-auth-screen .emc-field label b { color:var(--auth-red); }
.emc-auth-screen .emc-label-line { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.emc-auth-screen .emc-label-line label { margin:0; }
.emc-auth-screen .emc-label-line small { font:700 10px/1.2 Inter,sans-serif; letter-spacing:.08em; color:var(--auth-muted); }
.emc-auth-screen .emc-label-line a { font-size:12px; }
.emc-auth-screen .emc-field-input { position:relative; display:flex; align-items:center; }
.emc-auth-screen .emc-field-input > .material-symbols-outlined { position:absolute; z-index:1; left:14px; color:#697789; pointer-events:none; }
.emc-auth-screen .emc-field input,.emc-auth-screen .emc-field select,.emc-auth-screen .lost_reset_password input[type=text],.emc-auth-screen .lost_reset_password input[type=password] { display:block; width:100%; height:48px; min-height:48px; padding:10px 15px; margin:0; border:1px solid transparent; border-radius:9px; color:var(--auth-ink); background:#f0f3ff; font:500 14px/1.4 'Plus Jakarta Sans',sans-serif; box-shadow:none; }
.emc-auth-screen .emc-field-input > input { padding-left:44px; }
.emc-auth-screen .emc-field input:focus,.emc-auth-screen .emc-field select:focus,.emc-auth-screen .lost_reset_password input:focus { outline:none; border-color:var(--auth-red); background:#fff; box-shadow:0 0 0 3px rgba(200,16,46,.12); }
.emc-auth-screen .emc-password-field { width:100%; }
.emc-auth-screen .emc-password-toggle { top:50%; }
.emc-auth-screen .emc-field-input .emc-password-field input { padding-left:44px; }
.emc-auth-screen .emc-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.emc-auth-screen .emc-span-2 { grid-column:span 2; }
.emc-auth-screen .emc-check { display:flex; align-items:flex-start; gap:10px; color:var(--auth-muted); font-size:13px; font-weight:400; cursor:pointer; }
.emc-auth-screen .emc-check input { flex:0 0 17px; width:17px; height:17px; margin:2px 0 0; accent-color:var(--auth-red); }
.emc-auth-screen .emc-check a { font-weight:700; }
.emc-auth-screen .emc-design-button,.emc-auth-screen .lost_reset_password button[type=submit] { width:100%; min-height:52px; display:flex; align-items:center; justify-content:center; gap:10px; padding:12px 24px; margin:0; border:0; border-radius:999px; color:#fff; background:var(--auth-red); font:700 15px/1.3 Inter,sans-serif; box-shadow:0 7px 17px rgba(200,16,46,.2); cursor:pointer; text-transform:none; }
.emc-auth-screen .emc-design-button:hover,.emc-auth-screen .lost_reset_password button[type=submit]:hover { background:#9e001f; color:#fff; text-decoration:none; }
.emc-auth-screen .emc-design-button:focus-visible,.emc-auth-screen a:focus-visible { outline:3px solid rgba(200,16,46,.5); outline-offset:3px; }
.emc-signup-links { display:flex; flex-direction:column; align-items:center; gap:4px; padding-top:22px; margin-top:4px; border-top:1px solid #dce4f2; color:var(--auth-muted); font:400 12px/1.5 Inter,sans-serif; }
.emc-signup-links a { font-weight:700; }
.emc-dark-card { position:relative; overflow:hidden; padding:26px 28px; margin-top:24px; border-radius:14px; color:#fff; background:#263143; box-shadow:0 20px 40px -10px rgba(15,23,42,.25); }
.emc-dark-card::after { content:''; position:absolute; width:150px; height:150px; right:-50px; bottom:-65px; border-radius:50%; background:rgba(200,16,46,.12); filter:blur(20px); pointer-events:none; }
.emc-dark-pill { display:inline-block; padding:4px 9px; margin-bottom:12px; border-radius:999px; color:#fff; background:var(--auth-red); font:800 10px/1.2 Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.emc-dark-card h2 { color:#fff; font:700 19px/1.3 'Plus Jakarta Sans',sans-serif; margin:0 0 8px; }
.emc-dark-card p { color:#dce5f4; margin:0 0 18px; }
.emc-dark-card a { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:42px; padding:9px 18px; border-radius:999px; color:#263143; background:#fff; font:700 12px/1.4 Inter,sans-serif; }
.emc-dark-card a:hover { color:#263143; }
.emc-recovery-card .lost_reset_password { display:flex; flex-direction:column; gap:18px; }
.emc-recovery-card .lost_reset_password > p:first-child { display:none; }
.emc-recovery-card .lost_reset_password p { float:none; width:100%; margin:0; }
.emc-recovery-card .lost_reset_password label { display:block; margin-bottom:8px; color:var(--auth-ink); font:600 13px/1.4 Inter,sans-serif; }
.emc-recovery-card .lost_reset_password .clear { display:none; }
.emc-recovery-card .lost_reset_password button { float:none; }
.emc-back-login { margin-top:24px; padding:16px; text-align:center; border-radius:9px; background:#f6f8ff; }
.emc-back-login a { display:inline-flex; align-items:center; gap:5px; font-weight:700; }
.emc-back-login p { margin:8px 0 0; color:var(--auth-muted); font-size:12px; }
.emc-help-card { display:flex; gap:16px; margin-top:24px; padding:24px; border:1px solid #d1dbea; border-radius:12px; background:#e7eeff; }
.emc-help-card > .material-symbols-outlined { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#314f69; background:#fff; }
.emc-help-card h2 { color:var(--auth-ink); font:700 17px/1.3 'Plus Jakarta Sans',sans-serif; margin:0 0 5px; }
.emc-help-card p { color:var(--auth-muted); margin:0; }
.emc-layout--customer { max-width:760px; margin:auto; }
.emc-customer-card { padding:46px; }
.emc-customer-heading { text-align:center; margin-bottom:34px; }
.emc-kicker { display:inline-flex; align-items:center; gap:4px; margin-bottom:12px; padding:4px 11px; border-radius:999px; color:#9e001f; background:#ffdad8; font:700 10px/1.3 Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.emc-kicker .material-symbols-outlined { font-size:14px; }
.emc-customer-heading h1 { color:var(--auth-ink); font:800 clamp(27px,3.4vw,36px)/1.2 'Plus Jakarta Sans',sans-serif; letter-spacing:-.02em; margin:0; text-transform:none; }
.emc-strength { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:8px; }
.emc-strength span { height:5px; border-radius:6px; background:#d8e3fb; }
.emc-strength span.is-filled { background:var(--auth-red); }
.emc-switch-text { margin:0; text-align:center; color:var(--auth-muted); }
.emc-switch-text a { font-weight:800; }
.emc-trust-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; }
.emc-trust-row > div { display:flex; align-items:center; gap:10px; padding:13px; border-radius:11px; background:#fff; box-shadow:0 4px 12px rgba(15,23,42,.04); font:600 12px/1.3 Inter,sans-serif; }
.emc-trust-row .material-symbols-outlined { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; color:var(--auth-red); background:#e7eeff; }
.emc-seller-heading { max-width:800px; margin:0 0 28px; text-align:left; }
.emc-seller-kicker { display:inline-block; padding:5px 12px; margin-bottom:13px; border:1px solid #fecaca; border-radius:999px; color:var(--auth-red); background:#fff1f2; font:800 11px/1.2 Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.emc-seller-heading h1 { color:#0f172a; font:800 clamp(26px,2.8vw,36px)/1.18 Inter,sans-serif; letter-spacing:-.03em; margin:0 0 10px; text-transform:none; text-align:left; }
.emc-seller-heading p { color:#475569; font-size:14px; line-height:1.6; text-align:left; }
.emc-seller-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(250px,1fr); align-items:start; gap:30px; }
.emc-seller-card { padding:38px; }
.emc-auth-screen .emc-registration-form--seller { gap:24px; }
.emc-seller-section h2 { display:flex; align-items:center; gap:12px; padding-bottom:12px; margin:0 0 19px; border-bottom:1px solid #e2e8f0; color:#0f172a; font:700 14px/1.3 Inter,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.emc-seller-section h2 span { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; color:#fff; background:#1b2b40; font-size:12px; }
.emc-seller-card .emc-field label { color:#334155; font-size:12px; }
.emc-seller-card .emc-field input,.emc-seller-card .emc-field select { background:#fff; border:1px solid #cbd5e1; }
.emc-seller-card .emc-design-button { border-radius:12px; }
.emc-seller-aside { display:flex; flex-direction:column; gap:20px; }
.emc-seller-aside .emc-dark-card { width:100%; margin-top:0; }
.emc-aside-card,.emc-aside-help { padding:25px; border:1px solid #e2e8f0; border-radius:14px; background:#fff; box-shadow:0 10px 25px -5px rgba(15,23,42,.05); }
.emc-aside-card h2 { font:800 13px/1.3 Inter,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.emc-aside-card ol { padding:0 0 0 25px; margin:0; border-left:2px solid #e2e8f0; list-style:none; counter-reset:step; }
.emc-aside-card li { position:relative; display:flex; flex-direction:column; gap:3px; margin:0 0 20px; color:#475569; font-size:12px; counter-increment:step; }
.emc-aside-card li:last-child { margin-bottom:0; }
.emc-aside-card li::before { content:counter(step); position:absolute; left:-35px; top:0; display:grid; place-items:center; width:18px; height:18px; border:2px solid #fff; border-radius:50%; color:#fff; background:#94a3b8; font:700 10px Inter,sans-serif; }
.emc-aside-card li:first-child::before { background:var(--auth-red); }
.emc-aside-card li strong { color:#0f172a; }
.emc-aside-help { background:linear-gradient(135deg,#f1f5f9,#e2e8f0); }
.emc-aside-help h2 { color:#1e293b; font:700 15px Inter,sans-serif; margin-bottom:7px; }
.emc-aside-help p { color:#475569; margin-bottom:10px; }
.emc-aside-help a { display:block; margin-top:4px; font-weight:700; }
body.taste-storefront .emc-auth-screen { padding:48px 20px 72px; }
body.taste-storefront .emc-auth-screen .emc-auth-form .emc-field input { min-height:48px; }
@media(max-width:900px) { .emc-seller-layout { grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr); gap:20px; } .emc-seller-card { padding:27px; } .emc-aside-card,.emc-aside-help { padding:20px; } }
@media(max-width:700px) { .emc-auth-screen { padding:25px 14px 50px; } .emc-seller-layout { grid-template-columns:1fr; } .emc-seller-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .emc-seller-aside .emc-dark-card { grid-column:1/-1; } .emc-customer-card { padding:28px; } }
@media(max-width:520px) { .emc-auth-screen { padding:18px 12px 45px; } .emc-crumbs { gap:6px; margin-bottom:16px; font-size:11px; } .emc-login-card,.emc-recovery-card { padding:23px 20px; } .emc-login-card h1,.emc-recovery-card h1 { font-size:28px; } .emc-account-pill { margin-bottom:15px; } .emc-customer-card { padding:20px; border-radius:22px; } .emc-customer-heading { text-align:left; margin-bottom:21px; } .emc-customer-heading h1 { font-size:26px; } .emc-customer-heading i { display:none; } .emc-customer-heading p { font-size:13px; margin-top:8px; } .emc-auth-screen .emc-registration-form { gap:14px; } .emc-auth-screen .emc-form-grid { gap:10px; } .emc-auth-screen .emc-field label { font-size:12px; } .emc-auth-screen .emc-field input,.emc-auth-screen .emc-field select { height:44px; min-height:44px; font-size:13px; } .emc-auth-screen .emc-field-input > .material-symbols-outlined { left:10px; font-size:18px; } .emc-auth-screen .emc-field-input > input,.emc-auth-screen .emc-field-input .emc-password-field input { padding-left:36px; } .emc-trust-row { gap:5px; margin-top:13px; } .emc-trust-row > div { flex-direction:column; text-align:center; gap:3px; padding:9px 3px; font-size:9px; } .emc-trust-row .material-symbols-outlined { width:26px; height:26px; flex-basis:26px; font-size:16px; } .emc-mobile-business { display:block; padding:19px; } .emc-seller-heading { text-align:left; margin-bottom:22px; } .emc-seller-heading h1 { font-size:29px; } .emc-seller-heading p { font-size:14px; } .emc-seller-card { padding:20px; } .emc-seller-card .emc-form-grid { grid-template-columns:1fr; gap:14px; } .emc-seller-card .emc-span-2 { grid-column:auto; } .emc-seller-aside { grid-template-columns:1fr; } .emc-help-card { padding:16px; } }
@media(max-width:700px) { body.taste-storefront .emc-auth-screen { padding:25px 14px 50px; } }
@media(max-width:520px) { body.taste-storefront .emc-auth-screen { padding:18px 12px 45px; } body.taste-storefront .emc-auth-screen .emc-auth-form .emc-field input { min-height:44px; } }
@media(max-width:360px) { .emc-auth-screen--customer .emc-form-grid { grid-template-columns:1fr; } }

/* Keep the login background flush with the existing header and footer. */
body.taste-storefront #primary > .ecom-page--auth { margin:0; padding:0; max-width:none; }
body.taste-storefront #primary .emc-auth-screen--login { min-height:0; padding:28px 20px 34px; }
.emc-auth-screen--login .emc-layout { max-width:1420px; padding-inline:40px; }
.emc-auth-screen--login .emc-crumbs { max-width:none; margin:0 0 24px; }
.emc-auth-screen--login .emc-layout--narrow { display:grid; grid-template-columns:minmax(0,620px) minmax(280px,1fr); align-items:start; gap:24px; max-width:1080px; margin-inline:auto; }
.emc-auth-screen--login .emc-login-side { display:flex; flex-direction:column; gap:12px; min-width:0; }
.emc-auth-screen--login .emc-dark-card { margin-top:0; }
@media(max-width:900px) {
  .emc-auth-screen--login .emc-layout { padding-inline:0; }
  .emc-auth-screen--login .emc-layout--narrow { grid-template-columns:1fr; max-width:620px; }
  .emc-auth-screen--login .emc-dark-card { margin-top:0; }
}
@media(max-width:700px) { body.taste-storefront #primary .emc-auth-screen--login { padding:25px 14px 34px; } }
@media(max-width:520px) { body.taste-storefront #primary .emc-auth-screen--login { padding:18px 12px 28px; } }

/* Customer registration shares the login page frame and wholesale card. */
body.taste-storefront #primary .emc-auth-screen--customer { min-height:0; padding:28px 20px 34px; }
.emc-auth-screen--customer .emc-layout { max-width:1420px; padding-inline:40px; }
.emc-auth-screen--customer .emc-crumbs { max-width:none; margin:0 0 24px; }
.emc-auth-screen--customer .emc-layout--customer { display:grid; grid-template-columns:minmax(0,760px) minmax(270px,1fr); align-items:start; gap:28px; max-width:1130px; margin-inline:auto; }
.emc-auth-screen--customer .emc-customer-main { min-width:0; }
.emc-auth-screen--customer .emc-customer-side { display:flex; flex-direction:column; gap:12px; min-width:0; }
.emc-auth-screen--customer .emc-customer-heading { margin-bottom:25px; }
.emc-auth-screen--customer .emc-dark-card { margin-top:0; }
.emc-auth-screen .emc-field .iti { display:block; width:100%; }
.emc-auth-screen .emc-field .iti input[type="tel"] { width:100%; padding-left:var(--iti-input-padding, 100px); }
@media(max-width:900px) {
  .emc-auth-screen--customer .emc-layout { padding-inline:0; }
  .emc-auth-screen--customer .emc-layout--customer { grid-template-columns:1fr; max-width:760px; gap:20px; }
}
@media(max-width:700px) { body.taste-storefront #primary .emc-auth-screen--customer { padding:25px 14px 34px; } }
@media(max-width:520px) {
  body.taste-storefront #primary .emc-auth-screen--customer { padding:18px 12px 28px; }
  .emc-auth-screen--customer .emc-customer-heading { margin-bottom:20px; }
  .emc-auth-screen--customer :is(.emc-form-grid--contact,.emc-form-grid--password) { grid-template-columns:1fr; }
}

/* Shared sidebar benefits on account pages. */
.emc-auth-screen .emc-trust-row--aside { width:100%; grid-template-columns:1fr; gap:10px; margin-top:0; }
.emc-auth-screen .emc-trust-row--aside > div { justify-content:flex-start; min-height:60px; padding:12px 14px; border:1px solid #e2e8f0; font-size:13px; box-shadow:0 8px 20px rgba(15,23,42,.055); animation:emc-trust-breathe 3.6s ease-in-out infinite; transition:transform .22s ease,border-color .22s ease; }
.emc-auth-screen .emc-trust-row--aside > div:nth-child(2) { animation-delay:-1.2s; }
.emc-auth-screen .emc-trust-row--aside > div:nth-child(3) { animation-delay:-2.4s; }
.emc-auth-screen .emc-trust-row--aside .material-symbols-outlined { animation:emc-trust-float 3.6s ease-in-out infinite; }
.emc-auth-screen .emc-trust-row--aside > div:nth-child(2) .material-symbols-outlined { animation-delay:-1.2s; }
.emc-auth-screen .emc-trust-row--aside > div:nth-child(3) .material-symbols-outlined { animation-delay:-2.4s; }
.emc-auth-screen .emc-trust-row--aside > div:hover { transform:translateY(-4px); border-color:#e5bdbb; animation-play-state:paused; box-shadow:0 14px 26px rgba(15,23,42,.11); }
@keyframes emc-trust-breathe { 0%,100% { box-shadow:0 8px 20px rgba(15,23,42,.055); } 50% { box-shadow:0 12px 26px rgba(200,16,46,.18); } }
@keyframes emc-trust-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
@media(max-width:700px) { .emc-auth-screen .emc-trust-row--aside { grid-column:1/-1; } }
@media(max-width:520px) { .emc-auth-screen .emc-trust-row--aside > div { flex-direction:row; gap:12px; text-align:left; font-size:13px; } }
@media(prefers-reduced-motion:reduce) { .emc-auth-screen .emc-trust-row--aside > div,.emc-auth-screen .emc-trust-row--aside .material-symbols-outlined { animation:none; transition:none; } .emc-auth-screen .emc-trust-row--aside > div:hover { transform:none; } }
