/* Tokens copied from the Basketwise app (shopping-budget-saas/public/css/site.css). */
:root{
  --bg:#f6f8f6;--surface:#fff;--border:#e1e9e4;--line:#e4ebe7;--text:#1f322c;--muted:#5d7069;
  --accent:#276d59;--accent-ink:#fff;--accent-soft:#e3eee9;--focus:#0b57d0;--error:#b3261e;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans Hebrew',sans-serif;color:var(--text);background:var(--bg);color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#111a16;--surface:#1a2822;--border:#2f4339;--line:#2f4339;--text:#ecf4ef;--muted:#a9bdb3;--accent:#5fbf9f;--accent-ink:#0d1d17;--accent-soft:#263a31;--focus:#8ab4f8;--error:#f2b8b5;
}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);line-height:1.5;overflow-wrap:anywhere;accent-color:var(--accent)}
h1,h2{line-height:1.15;text-wrap:balance}
p,li{text-wrap:pretty}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;color:var(--text);text-decoration:none}
.site-head{max-inline-size:1120px;margin:auto;padding:20px 24px}
.wrap{max-inline-size:1120px;margin:auto;padding:0 24px}

.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;padding-block:32px 64px}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:0 0 16px;letter-spacing:-.02em}
.lede{font-size:1.2rem;color:var(--muted);margin:0 0 24px;max-inline-size:36ch}
.badge{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--accent-soft);font-size:.85rem;font-weight:600;margin-block-end:16px}
.points{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.points li{padding-inline-start:28px;position:relative}
.points li::before{content:"✓";position:absolute;inset-inline-start:0;color:var(--accent);font-weight:800}

.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 12px 40px rgb(0 0 0 / .08)}
.card h2{margin:0 0 20px;font-size:1.5rem}
.field{display:flex;flex-direction:column;gap:6px;margin-block-end:18px}
label,legend{font-weight:600}
input[type=email],input[type=text],select{font:inherit;font-size:max(1rem,1em);min-block-size:48px;padding:10px 14px;border:1px solid #767676;border-radius:12px;background:var(--surface);color:var(--text);inline-size:100%}
:is(input,select):user-invalid{border-color:var(--error)}
.error-msg{display:none;margin:0;color:var(--error);font-size:.9rem;font-weight:600}
:is(input,select):user-invalid + .error-msg{display:block}

.stores{border:0;margin:0 0 18px;padding:0;min-inline-size:0}
.stores legend{padding:0;margin-block-end:2px}
.hint{margin:0 0 10px;color:var(--muted);font-size:.9rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:14px}
.chips[hidden]{display:none}
.chips label{display:inline-flex;align-items:center;gap:8px;min-block-size:44px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;font-weight:500;cursor:pointer;background:var(--bg)}
.chips label:has(:checked){background:var(--accent-soft);border-color:var(--accent)}
.chips input{margin:0;inline-size:18px;block-size:18px}
.other{display:block;margin-block-end:6px}
.optional{font-weight:400;color:var(--muted)}

.trap{position:absolute;inset-inline-start:-9999px;inline-size:1px;block-size:1px;overflow:hidden}

button{display:inline-flex;align-items:center;justify-content:center;inline-size:100%;min-block-size:52px;padding:12px 20px;border-radius:12px;border:0;font:inherit;font-weight:700;cursor:pointer;background:var(--accent);color:var(--accent-ink);margin-block:4px 12px}
button:hover{filter:brightness(1.05)}
button:disabled{opacity:.6;cursor:default}
.status{margin:8px 0 0;font-weight:600}
.status:empty{display:none}
.status.error{color:var(--error)}
#done-view h2{margin-block-end:8px}
#done-view:focus{outline:none}

.site-foot{border-block-start:1px solid var(--line);padding-block:24px;color:var(--muted);font-size:.9rem}

@media (max-width:860px){
  .hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:8px 40px}
  .wrap,.site-head{padding-inline:16px}
  .card{padding:20px}
}
