/* socks-legal.css — the Club Rules and privacy notice, in both themes.
 *
 * A SEPARATE FILE, unlike the store's inline styles, because two documents share it and because a
 * legal page is exactly the sort of thing a fingerprinted, day-cacheable static asset is for
 * (`lambda.js` caches static bytes; the page HTML itself stays `no-cache`).
 *
 * The retro rules are scoped to `[data-theme="retro"]`, which the server stamps on `<html>`, so
 * `SOCKS_THEME=modern` returns these pages to a plain document with no other change. Textures are
 * CSS gradients; the only font beyond the workhorse is the same 11 KB slab the store loads. */

:root { --navy:#010066; --blue:#0033FF; --ink:#1c2030; --muted:#6b7280; --line:#e5e7eb; }

@font-face {
  font-family:"GT Haptik"; src:url("fonts/GT-Haptik-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face {
  font-family:"GT Haptik"; src:url("fonts/GT-Haptik-Medium.ttf") format("truetype");
  font-weight:500 600; font-style:normal; font-display:swap;
}
@font-face {
  font-family:"GT Haptik"; src:url("fonts/GT-Haptik-Bold.ttf") format("truetype");
  font-weight:700 800; font-style:normal; font-display:swap;
}
@font-face {
  font-family:"Alfa Slab One"; src:url("fonts/AlfaSlabOne-Regular.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
}

* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family:"GT Haptik", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color:var(--ink); background:#fff; font-size:15px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
a { color:var(--blue); text-underline-offset:2px; }

.topbar {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 24px; border-bottom:1px solid var(--line);
}
.topbar .logo-link { display:block; line-height:0; }
.topbar img { height:28px; display:block; }
.account-link { font-size:13px; font-weight:600; color:var(--navy); text-decoration:none; white-space:nowrap; }
.account-link:hover { text-decoration:underline; }

.masthead-strip, .retro-only { display:none; }

.doc { max-width:720px; margin:0 auto; padding:44px 22px 20px; }
.doc .eyebrow {
  font-size:11px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  color:var(--blue); margin-bottom:8px;
}
.doc h1 { font-size:38px; line-height:1.08; color:var(--navy); letter-spacing:-.5px; margin-bottom:12px; }
.doc h2 { font-size:19px; color:var(--navy); margin:34px 0 8px; }
.doc p { margin-bottom:12px; }
.doc .lede { color:var(--muted); font-size:16px; }
.doc .stamp-date {
  font-size:12px; color:var(--muted); letter-spacing:.4px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:9px 0; margin:18px 0 6px;
}
.doc ul { margin:0 0 12px 20px; }
.doc li { margin-bottom:7px; }
.doc .doc-foot {
  margin-top:34px; padding-top:16px; border-top:1px solid var(--line);
  font-size:13px; color:var(--muted);
}

footer {
  border-top:1px solid var(--line); padding:22px; text-align:center;
  font-size:12px; color:var(--muted); margin-top:26px;
}
footer p { margin-bottom:4px; }
footer .foot-links a { margin:0 7px; }
footer .foot-credit { margin-top:6px; max-width:62ch; margin-left:auto; margin-right:auto; }

@media (max-width:640px) { .doc h1 { font-size:30px; } }

/* ═══ THE BRAND DRESS ══════════════════════════════════════════════════════════
   The same document on the platform's own page colour, so a buyer who follows the consent line
   out of `/socks?theme=brand` lands somewhere that plainly belongs to the store they came from.
   It is a light pass on purpose: the base document above is already brand type on brand navy, and
   a legal page earns nothing from decoration. Not one word below changes what the page commits
   to. */

[data-theme="brand"] { --page:#f9fafb; --line:#e5e7eb; --ink:#374151; }
[data-theme="brand"] body { background:var(--page); color:var(--ink); }
[data-theme="brand"] .topbar { background:#fff; border-bottom:1px solid var(--line); padding:16px 24px; }
[data-theme="brand"] .topbar img { height:26px; }
[data-theme="brand"] .doc {
  background:#fff; border:1px solid var(--line); border-radius:16px;
  margin:32px auto; padding:44px 44px 34px;
  box-shadow:0 1px 2px rgba(1,0,102,.04);
}
[data-theme="brand"] .doc .eyebrow { letter-spacing:1.6px; }
[data-theme="brand"] .doc h1 { font-size:40px; font-weight:800; letter-spacing:-1px; }
[data-theme="brand"] .doc h2 { font-size:19px; font-weight:700; letter-spacing:-.2px; }
[data-theme="brand"] .doc .stamp-date { border-color:var(--line); }
[data-theme="brand"] footer { background:#fff; border-top:1px solid var(--line); padding:26px 22px; }
[data-theme="brand"] footer .foot-links a { color:var(--navy); font-weight:600; }

@media (max-width:640px) {
  [data-theme="brand"] .doc { padding:28px 22px 24px; border-radius:14px; margin:20px auto; }
  [data-theme="brand"] .doc h1 { font-size:30px; }
}

/* ═══ THE RETRO DRESS ══════════════════════════════════════════════════════════
   The same document as a page of catalog fine print. Nothing below changes a word of what the
   page commits to — only the paper it is printed on. */

[data-theme="retro"] {
  --paper:#f6ecd6;
  --paper-card:#fdf8ec;
  --navy:#010066;
  --blue:#0033FF;
  --spot:#b23a2c;
  --ink:#241f3d;
  --muted:#6f6450;
  --line:#cbb28a;
  --slab:"Alfa Slab One", Georgia, "Times New Roman", serif;
}
[data-theme="retro"] body {
  background-color:var(--paper);
  background-image:radial-gradient(circle at 1px 1px, rgba(1,0,102,.075) 1px, transparent 0);
  background-size:6px 6px;
  color:var(--ink);
}
[data-theme="retro"] a { color:var(--navy); }
[data-theme="retro"] .topbar {
  background:var(--paper-card); border-bottom:4px double var(--navy); padding:14px 24px;
}
[data-theme="retro"] .account-link {
  font-family:var(--slab); font-weight:400; font-size:12px; letter-spacing:.4px; text-transform:uppercase;
}
[data-theme="retro"] .masthead-strip {
  display:block; background:var(--navy); color:var(--paper);
  font-family:var(--slab); font-size:11.5px; letter-spacing:2.4px; text-transform:uppercase;
  text-align:center; padding:7px 16px;
}
[data-theme="retro"] .masthead-strip span { opacity:.72; letter-spacing:1.4px; }

[data-theme="retro"] .doc {
  background:var(--paper-card); border:2.5px solid var(--navy);
  box-shadow:6px 6px 0 rgba(1,0,102,.14);
  margin:32px auto; padding:34px 34px 26px;
}
[data-theme="retro"] .doc .eyebrow { font-family:var(--slab); color:var(--spot); letter-spacing:3px; }
[data-theme="retro"] .doc h1 {
  font-family:var(--slab); font-weight:400; font-size:42px; letter-spacing:0;
  text-shadow:3px 3px 0 rgba(178,58,44,.30);
}
[data-theme="retro"] .doc h2 {
  font-family:var(--slab); font-weight:400; font-size:19px; letter-spacing:.3px;
  border-bottom:1px dashed var(--line); padding-bottom:5px;
}
[data-theme="retro"] .doc .stamp-date {
  border-top:3px double var(--navy); border-bottom:3px double var(--navy);
  font-family:var(--slab); font-size:11px; letter-spacing:1.4px; text-transform:uppercase;
  color:var(--navy); text-align:center;
}
[data-theme="retro"] .doc .doc-foot { border-top:3px double var(--navy); }

[data-theme="retro"] footer {
  border-top:4px double var(--navy); background:var(--paper-card); color:var(--muted);
  padding:26px 22px 30px; margin-top:0;
}
[data-theme="retro"] footer .foot-links a {
  font-family:var(--slab); font-size:12px; letter-spacing:.6px; text-transform:uppercase;
}
[data-theme="retro"] .airmail {
  display:block; height:9px; margin-bottom:18px;
  background:repeating-linear-gradient(-45deg,
    var(--spot) 0 11px, var(--paper-card) 11px 22px, var(--navy) 22px 33px, var(--paper-card) 33px 44px);
}

@media (max-width:640px) {
  [data-theme="retro"] .doc { margin:16px 10px; padding:24px 20px 20px; }
  [data-theme="retro"] .doc h1 { font-size:31px; }
}
