/* ============================================================
   Zuma Eats - onboarding, account and legal screens.
   White, red accents, large controls, one thought per screen.
   ============================================================ */

body.auth-open{overflow:hidden}

#auth-host .au{position:fixed;inset:0;z-index:90;background:#fff;display:flex;flex-direction:column;
  animation:auIn .3s cubic-bezier(.16,1,.3,1) both;font-family:var(--sf)}
@keyframes auIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.au-top{display:flex;align-items:center;gap:12px;padding:max(14px,env(safe-area-inset-top)) 16px 10px;flex:none}
.au-back,.au-close{width:38px;height:38px;flex:none;border:0;border-radius:50%;background:#f4f2f2;color:#111;
  display:grid;place-items:center;cursor:pointer;transition:background .2s}
.au-back:hover,.au-close:hover{background:#eceaea}
.au-back-space{width:38px;flex:none}

.au-progress{flex:1;display:flex;gap:5px;align-items:center;max-width:280px;margin:0 auto}
.au-progress i{flex:1;height:3px;border-radius:99px;background:#efedec;transition:background .35s}
.au-progress i.done{background:#ED1732}
.au-progress i.now{background:#ED1732;opacity:.45}

.au-body{flex:1;overflow-y:auto;overscroll-behavior:contain;
  padding:14px 22px max(28px,env(safe-area-inset-bottom));max-width:520px;width:100%;margin:0 auto}

.au-h1{font-size:clamp(1.55rem,5.4vw,2rem);line-height:1.15;letter-spacing:-.03em;margin:8px 0 8px;color:#111}
.au-sub{font-size:.95rem;line-height:1.55;color:#6d6d72;margin:0 0 26px}
.au-sub strong{color:#111;font-weight:600}
.au-meta{font-size:.82rem;color:#9a9aa0;margin:-16px 0 24px}

.au-label{display:block;font-size:.8rem;font-weight:600;color:#6d6d72;margin:0 0 7px}
.au-input{width:100%;border:1px solid #e4e2e2;border-radius:15px;padding:16px 17px;font-size:1.02rem;
  background:#fff;color:#111;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none}
.au-input:focus{outline:0;border-color:#ED1732;box-shadow:0 0 0 4px rgb(237 23 50 / 10%)}
.au-hint{font-size:.82rem;line-height:1.5;color:#8a8a8f;margin:9px 2px 0}

.au-pw{position:relative}
.au-eye{position:absolute;right:8px;top:30px;border:0;background:none;color:#ED1732;font-size:.84rem;
  font-weight:600;padding:10px 10px;cursor:pointer}
.au-rules{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.au-rules li{font-size:.82rem;color:#9a9aa0;padding-left:22px;position:relative;transition:color .2s}
.au-rules li:before{content:'';position:absolute;left:0;top:5px;width:13px;height:13px;border-radius:50%;
  border:1.5px solid #dcdada;transition:.2s}
.au-rules li.ok{color:#1c7a3d}
.au-rules li.ok:before{background:#1c7a3d;border-color:#1c7a3d;
  box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 6px #1c7a3d}

.au-cta{width:100%;border:0;border-radius:16px;background:#ED1732;color:#fff;padding:17px;margin-top:26px;
  font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;
  transition:background .2s,transform .12s}
.au-cta:hover:not(:disabled){background:#d5122b}
.au-cta:active:not(:disabled){transform:scale(.99)}
.au-cta:disabled{opacity:.62;cursor:default}
.au-cta.secondary{background:#fff;color:#111;border:1px solid #e4e2e2;margin-top:0}
.au-cta.secondary:hover{background:#faf8f8}

.au-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgb(255 255 255 / 35%);
  border-top-color:#fff;animation:auSpin .7s linear infinite;display:inline-block}
.au-spin.dark{border-color:#e4e2e2;border-top-color:#ED1732;width:24px;height:24px}
@keyframes auSpin{to{transform:rotate(360deg)}}
.au-loading{display:grid;place-items:center;padding:80px 0}

.au-stack{display:grid;gap:11px;margin-top:6px}
.au-stack .au-cta{margin-top:0}

.au-error{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff2f4;border:1px solid #ffd7de;
  border-radius:14px;padding:13px 15px;margin:0 0 20px;font-size:.88rem;line-height:1.45;color:#a3283a}
.au-retry{border:0;background:#ED1732;color:#fff;border-radius:9px;padding:8px 14px;font-size:.82rem;
  font-weight:600;cursor:pointer;margin-left:auto}
.au-inline-note{background:#f8f6f6;border-radius:13px;padding:13px 15px;margin-top:14px;
  font-size:.86rem;line-height:1.5;color:#4a4a4f}

.au-link{border:0;background:none;color:#ED1732;font-weight:600;font-size:inherit;padding:0;cursor:pointer;
  text-decoration:underline;text-underline-offset:2px}
.au-link:hover{color:#c11029}
.au-centre{display:block;margin:2px auto 0;text-align:center}
.au-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:.86rem}
.au-row-end{text-align:right;margin:12px 0 0;font-size:.86rem}
.au-muted{color:#9a9aa0;font-size:.86rem}
.au-switch{text-align:center;font-size:.9rem;color:#6d6d72;margin:22px 0 0}
.au-guest{display:block;width:100%;border:0;background:none;color:#6d6d72;font-size:.9rem;
  padding:16px;margin-top:6px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.au-guest:hover{color:#111}
.au-legal{font-size:.78rem;line-height:1.6;color:#9a9aa0;text-align:center;margin:18px 0 0}
.au-legal .au-link{font-size:.78rem;font-weight:500}

/* Apple's own treatment: black, white logo, full label. */
.au-apple{width:100%;border:0;border-radius:16px;background:#000;color:#fff;padding:16px;
  font-size:1rem;font-weight:500;letter-spacing:-.01em;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:9px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif}
.au-apple:hover{background:#151515}
.au-apple-logo{position:relative;top:-1px;flex:none}
.au-apple[disabled]{opacity:.7;cursor:default}
.au-apple[disabled]:hover{background:#000}

.au-or{display:flex;align-items:center;gap:14px;margin:20px 0;color:#b6b6bb;font-size:.82rem}
.au-or:before,.au-or:after{content:'';flex:1;height:1px;background:#efedec}

.au-welcome{text-align:center;padding-top:6px}
.au-welcome .au-h1,.au-welcome .au-sub{text-align:center}
.au-mark{width:66px;height:66px;border-radius:18px;margin:10px auto 22px;display:block}

.au-phone{display:flex;gap:9px}
.au-country{flex:none;width:126px;border:1px solid #e4e2e2;border-radius:15px;padding:16px 10px;
  font-size:.95rem;background:#fff;color:#111;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23999' stroke-width='1.6'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center}
.au-phone .au-input{flex:1;min-width:0}

.au-avatar{width:128px;height:128px;border-radius:50%;margin:6px auto 24px;background:#f4f2f2;overflow:hidden;
  display:grid;place-items:center;border:1px solid #efedec}
.au-avatar-img{width:100%;height:100%;object-fit:cover}
.au-avatar-initials{font-size:2.6rem;font-weight:600;color:#c4c2c2;letter-spacing:-.02em}

.au-done{text-align:center;padding-top:34px}
.au-done .au-h1,.au-done .au-sub{text-align:center}
.au-tick{width:82px;height:82px;border-radius:50%;background:#eaf7ee;color:#1c7a3d;display:grid;
  place-items:center;margin:0 auto 22px;animation:auPop .5s cubic-bezier(.34,1.56,.64,1) both}
@keyframes auPop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}

.au-doc h2{font-size:1.08rem;letter-spacing:-.02em;margin:26px 0 8px;color:#111}
.au-doc p,.au-doc li{font-size:.94rem;line-height:1.65;color:#3a3a3f}
.au-doc ul{padding-left:20px}
.au-doc li{margin:5px 0}
.au-doc a{color:#ED1732}
.au-doc .zuma-note{background:#fff6f7;border:1px solid #ffdfe4;border-radius:14px;padding:14px 16px;
  font-size:.86rem;color:#7a4148;margin-top:26px}
.au-doc .zuma-contact{display:grid;gap:11px;margin:4px 0 8px}
.au-doc .zuma-contact-row{display:block;border:1px solid #ececec;border-radius:16px;padding:16px 18px;
  text-decoration:none;color:#111}
.au-doc .zuma-contact-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;
  color:#ED1732;font-weight:700}
.au-doc .zuma-contact-row strong{display:block;font-size:1.18rem;letter-spacing:-.02em;margin:5px 0 2px;user-select:all}
.au-doc .zuma-contact-note{display:block;font-size:.82rem;color:#6d6d72}

@media(min-width:900px){
  #auth-host .au{max-width:560px;left:50%;transform:translateX(-50%);border-radius:0}
}
@media(prefers-reduced-motion:reduce){
  #auth-host .au,.au-tick{animation:none}
}

/* ---------- Account screen ---------- */
.acct-method{display:inline-flex;align-items:center;gap:9px;background:#f6f5f5;border-radius:999px;
  padding:9px 15px;font-size:.84rem;font-weight:600;color:#3a3a3f;margin:0 0 22px}
.acct-method-dot{width:8px;height:8px;border-radius:50%;background:#1c7a3d;flex:none}
.acct-method.guest .acct-method-dot{background:#c49a12}
.acct-method .au-link{font-size:.84rem}

.acct-head{display:flex;align-items:center;gap:15px;margin:0 0 26px}
.acct-avatar{width:66px;height:66px;border-radius:50%;background:#f4f2f2;overflow:hidden;flex:none;
  display:grid;place-items:center;border:1px solid #efedec}
.acct-avatar img{width:100%;height:100%;object-fit:cover}
.acct-initials{font-size:1.4rem;font-weight:600;color:#a9a7a7}
.acct-who strong{display:block;font-size:1.15rem;letter-spacing:-.02em}
.acct-who small{display:block;font-size:.85rem;color:#8a8a8f;margin-top:3px}

.acct-join{border:1px solid #ffe0e5;background:#fff6f7;border-radius:20px;padding:22px;margin:0 0 28px}
.acct-join h3{margin:0 0 6px;font-size:1.05rem;letter-spacing:-.02em}
.acct-join p{margin:0 0 16px;font-size:.9rem;line-height:1.55;color:#7a6167}
.acct-join .primary{width:100%}
.acct-join-signin{display:block;width:100%;text-align:center;margin-top:13px;font-size:.88rem}

.acct-group{margin:0 0 28px}
.acct-group h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:#9a9aa0;
  font-weight:700;margin:0 0 10px}
.acct-row{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #f2f0f0;
  background:none;padding:16px 2px;text-align:left;cursor:pointer;color:#111}
.acct-row:last-child{border-bottom:0}
.acct-row:hover{background:#faf8f8}
.acct-row-text{flex:1;min-width:0}
.acct-row-text strong{display:block;font-size:.95rem;font-weight:500}
.acct-row-text small{display:block;font-size:.8rem;color:#8a8a8f;margin-top:2px}
.acct-row-value{font-size:.88rem;color:#8a8a8f;max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-row .acct-chev{color:#c9c9ce;font-size:1.25rem;flex:none}

.acct-toggle{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;padding:17px 2px;border-bottom:1px solid #f2f0f0}
.acct-toggle:last-child{border-bottom:0}
.acct-toggle.off{opacity:.55}
.acct-switch{width:52px;height:31px;border-radius:99px;border:0;background:#dedcdc;position:relative;
  flex:none;cursor:pointer;transition:background .22s}
.acct-switch i{position:absolute;top:3px;left:3px;width:25px;height:25px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgb(0 0 0 / 22%);transition:left .22s cubic-bezier(.34,1.4,.64,1)}
.acct-switch.on{background:#1c7a3d}
.acct-switch.on i{left:24px}
.acct-note{flex:1 0 100%;font-size:.8rem;line-height:1.5;color:#8a8a8f;margin:10px 0 0}
.acct-preview{margin:4px 0 30px}
.acct-preview .secondary{width:100%}
.acct-footnote{font-size:.82rem;line-height:1.6;color:#8a8a8f;margin:0}

.acct-danger{margin-top:36px;display:grid;gap:12px}
.acct-signout{width:100%;border:1px solid #e7e7e7;background:#fff;color:#111;border-radius:15px;
  padding:15px;font-size:.95rem;font-weight:600;cursor:pointer}
.acct-signout:hover{background:#faf8f8}
.acct-delete{width:100%;border:0;background:#ED1732;color:#fff;border-radius:15px;padding:16px;
  font-size:.98rem;font-weight:600;cursor:pointer;transition:background .2s}
.acct-delete:hover{background:#c11029}

/* ---------- delete confirmation ---------- */
body.del-open{overflow:hidden}
#del-host .au{position:fixed;inset:0;z-index:95;background:#fff;display:flex;flex-direction:column;
  animation:auIn .3s cubic-bezier(.16,1,.3,1) both;font-family:var(--sf)}
.del-list{border:1px solid #efedec;border-radius:18px;padding:20px;margin:0 0 24px}
.del-list h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:#9a9aa0;
  font-weight:700;margin:0 0 10px}
.del-list h3+ul{margin:0 0 20px}
.del-list ul{padding-left:20px;margin:0}
.del-list li{font-size:.9rem;line-height:1.6;color:#3a3a3f;margin:5px 0}
.del-small{font-size:.84rem;color:#8a8a8f;margin:16px 0 0;line-height:1.55}
.del-go{width:100%;border:0;background:#ED1732;color:#fff;border-radius:16px;padding:17px;margin-top:12px;
  font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}
.del-go:hover:not(:disabled){background:#c11029}
.del-go:disabled{opacity:.62;cursor:default}
.au-tick.grey{background:#f4f2f2;color:#6d6d72}
@media(min-width:900px){#del-host .au{max-width:560px;left:50%;transform:translateX(-50%)}}

/* ---------- guest checkout ---------- */
.ck-guest{padding:20px clamp(16px,5vw,28px) 6px;border-bottom:1px solid #f0eeee;margin-bottom:6px}
.ck-guest-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ck-guest h2{font-size:1.05rem;letter-spacing:-.02em;margin:0 0 4px}
.ck-guest-note{font-size:.84rem;line-height:1.55;color:#8a8a8f;margin:0 0 16px}
.ck-guest .au-label{margin-top:14px}
.ck-guest .au-input{font-size:.98rem;padding:14px 15px}
