/* Shared look for the public pages (home, stores, privacy). Tokens, header and footer match the signed-in web app
   (/app/v1/styles.css in browser mode) so moving between them feels like one site. */
@font-face{font-family:"Fraunces";src:url("/assets/fonts/fraunces-700.woff2") format("woff2");font-weight:700 900;font-display:swap}
:root{--ink:#14231c;--muted:#5b6a60;--green:#157347;--green-dark:#0d5234;--mint:#eaf5ed;--paper:#fffdf8;--wash:#f5f3ed;--line:#dce5de;--display:"Fraunces",Georgia,"Times New Roman",serif;--content:1120px;--gutter:24px}
*{box-sizing:border-box}
html{scroll-padding-top:80px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--green)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #6fbf8e;outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--content);margin:0 auto;padding:0 var(--gutter)}
main.wrap{padding-bottom:40px}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;color:var(--green);font-size:12px;font-weight:800}
h1,.display{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.02}

/* Header: the same green bar as the web app. */
.site-header{position:sticky;top:0;z-index:20;background:var(--green);color:#fff;box-shadow:0 2px 10px #102c1e28}
.site-header .wrap{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:18px;font-weight:900;letter-spacing:-.035em;white-space:nowrap}
.site-brand img{width:34px;height:34px;border-radius:10px;object-fit:cover;box-shadow:0 1px 5px #102c1e35}
.site-nav{display:flex;align-items:stretch;align-self:stretch;gap:2px}
.site-nav a{display:flex;align-items:center;padding:0 14px;color:#fff;text-decoration:none;font-weight:700;opacity:.8;border-bottom:3px solid transparent;min-height:44px}
.site-nav a:hover{opacity:1}
.site-nav a[aria-current="page"]{opacity:1;border-bottom-color:#fff}
.site-nav .account-link{gap:8px}
.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:var(--green-dark);font-size:13px;font-weight:900;text-transform:uppercase}
.avatar[hidden]{display:none}
@media(max-width:560px){
  :root{--gutter:16px}
  .site-header .wrap{height:58px;padding-right:6px}
  .site-brand{font-size:0;gap:0}
  .site-brand img{width:32px;height:32px}
  .site-nav{flex:1;justify-content:flex-end}
  .site-nav a{padding:0 10px;font-size:15px}
}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:12px;text-decoration:none;font-weight:800;font-size:16px;border:1px solid transparent;cursor:pointer}
.button.primary{background:var(--green);color:#fff}
.button.primary:hover{background:var(--green-dark)}
.button.secondary{background:#fff;color:var(--green);border-color:#c9d8cd}
.button.secondary:hover{border-color:var(--green)}

/* Footer */
.site-footer{margin-top:56px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.site-footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-top:18px;padding-bottom:28px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:0 4px}
.site-footer a{color:var(--muted);font-weight:600}
.site-footer nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 10px}
.site-footer a:hover{color:var(--green);text-decoration:underline}
.site-footer nav a:first-child{padding-left:0}

/* Signed-in / signed-out content. public-boot.js sets the class before first paint from the last known state, and
   public-account.js corrects it once the session is confirmed. */
.signed-in-only{display:none}
.is-signed-in .signed-in-only{display:block}
.is-signed-in .signed-out-only{display:none}
