/* Shared chrome for the standalone policy + support pages
   (/shipping, /returns, /privacy, /terms, /support).

   These pages are plain HTML — no React, no build step — so they live in
   public/ and share this one stylesheet rather than each inlining a copy of
   the design tokens. about.html and glossary.html predate this file and still
   inline their own; if they ever get touched again, fold them in here.

   Brand tokens match components/shop/* and shop.html. No italic anywhere. */

@font-face { font-family:'Archivo Black'; src:url('/fonts/ArchivoBlack-Regular.ttf') format('truetype'); font-weight:900; font-display:swap; }
@font-face { font-family:'DM Serif Display'; src:url('/fonts/DMSerifDisplay-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Inter'; src:url('/fonts/Inter-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Inter'; src:url('/fonts/Inter-SemiBold.ttf') format('truetype'); font-weight:600; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('/fonts/JetBrainsMono-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }

:root {
  --pine:#1A4A3B; --peach:#F2D6C4; --bone:#FEFAED;
  --coral:#E68B6E; --butter:#F0CC5A; --ink:#14181C;
  --rule:rgba(26,74,59,0.16);
}

* { box-sizing:border-box; }

html, body {
  margin:0; padding:0;
  background:var(--bone); color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
}

a { color:inherit; }

.wrap { max-width:760px; margin:0 auto; padding:0 24px; }

/* --- header ------------------------------------------------------------- */

header {
  position:sticky; top:0; z-index:10;
  background:rgba(254,250,237,0.92);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--rule);
}
.nav {
  max-width:1100px; margin:0 auto; padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.wm {
  font-family:'Archivo Black', sans-serif; font-size:17px;
  color:var(--pine); text-decoration:none; letter-spacing:0.02em;
}
.nav-links { display:flex; gap:18px; align-items:center; }
.nav-links a {
  font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:600;
  letter-spacing:0.08em; color:var(--pine); text-decoration:none;
}
.nav-links a:hover { color:var(--coral); }

/* --- page head ---------------------------------------------------------- */

.hero { padding:56px 0 8px; }
.kicker {
  font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:600;
  letter-spacing:0.22em; color:var(--coral);
}
h1 {
  font-family:'Archivo Black', sans-serif;
  font-size:clamp(30px,4vw,44px); line-height:1.04; letter-spacing:-0.01em;
  color:var(--pine); margin:12px 0 0;
}
.updated {
  font-family:'JetBrains Mono', monospace; font-size:12px;
  color:rgba(20,24,28,0.55); margin-top:14px;
}

/* --- prose -------------------------------------------------------------- */

.body { padding-bottom:16px; }
.body h2 {
  font-family:'Archivo Black', sans-serif; font-size:20px; line-height:1.2;
  color:var(--pine); margin:44px 0 0; letter-spacing:0.01em;
}
.body h3 {
  font-family:'Inter', sans-serif; font-weight:600; font-size:16px;
  color:var(--pine); margin:28px 0 0;
}
.body p, .body li {
  font-family:'Inter', sans-serif; font-size:16px; line-height:1.68;
  color:var(--ink);
}
.body p { margin:16px 0; }
.body ul { margin:16px 0; padding-left:22px; }
.body li { margin:9px 0; }
.body a { color:var(--pine); text-decoration:underline; text-underline-offset:2px; }
.body a:hover { color:var(--coral); }
.body strong { font-weight:600; }

/* A quiet callout — used for the things people actually need to notice.
   Same white-card-on-hairline idiom as the panels in OrderApp.jsx: the fill and
   the border do the separating, no accent bar down one side. */
.note {
  background:#fff; border:1px solid var(--rule);
  padding:20px 24px; margin:24px 0;
}
.note p { margin:8px 0; }
.note p:first-child { margin-top:0; }
.note p:last-child { margin-bottom:0; }

.lede {
  font-family:'DM Serif Display', serif; font-size:22px; line-height:1.4;
  color:var(--pine); margin:26px 0 0;
}

.cta {
  display:inline-block; font-family:'Inter', sans-serif; font-weight:700;
  font-size:14px; letter-spacing:0.03em; padding:13px 22px;
  background:var(--coral); color:var(--ink);
  border:1px solid var(--ink); text-decoration:none; margin-top:8px;
}
.cta:hover { background:var(--butter); color:var(--ink); }

/* --- support form ------------------------------------------------------- */

.form { margin:22px 0 8px; }
.field { margin:14px 0; }
.field label {
  display:block; font-family:'JetBrains Mono', monospace; font-size:12px;
  font-weight:600; letter-spacing:0.12em; color:var(--pine); margin-bottom:6px;
}
/* 16px is also what keeps iOS from zooming the viewport on focus. */
.field input, .field textarea {
  width:100%; font-family:'Inter', sans-serif; font-size:16px; color:var(--ink);
  background:#fff; border:1px solid var(--rule); border-radius:12px;
  padding:12px 14px;
}
/* Butter is the only focus colour in the system — see DESIGN.md. */
.field input:focus, .field textarea:focus,
.form button:focus-visible, .cta:focus-visible {
  outline:2px solid var(--butter); outline-offset:3px;
}
.field textarea { min-height:140px; resize:vertical; }
.form button {
  font-family:'Inter', sans-serif; font-weight:700; font-size:14px;
  letter-spacing:0.03em; padding:13px 24px; cursor:pointer;
  background:var(--pine); color:var(--peach); border:1px solid var(--ink);
}
.form button:hover { background:var(--coral); color:var(--ink); }
.form button[disabled] { opacity:0.6; cursor:default; }
.form-msg {
  font-family:'Inter', sans-serif; font-size:16px; margin-top:14px; padding:12px 16px;
}
.form-msg.ok { background:var(--pine); color:var(--peach); }
.form-msg.err { background:var(--coral); color:var(--ink); }

/* --- footer ------------------------------------------------------------- */

.foot { background:var(--pine); color:var(--peach); margin-top:64px; padding:40px 0 44px; }
.foot .wm { color:var(--peach); }
.foot p {
  font-family:'JetBrains Mono', monospace; font-size:12px;
  color:rgba(242,214,196,0.75); line-height:1.7; margin:12px 0;
}
.foot-nav { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:18px; }
.foot-nav a {
  font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:600;
  letter-spacing:0.1em; color:var(--peach); text-decoration:none;
  text-transform:uppercase; opacity:0.85;
}
.foot-nav a:hover { color:var(--butter); opacity:1; }

@media (max-width:600px) {
  .nav-links a:not(:last-child) { display:none; }
  .hero { padding:36px 0 4px; }
}
