/* PartCaddy brand tokens + logo classes
   Mark: Hex nut. Drop this in once and use the custom properties everywhere.

   ⚠️ This is the supplied kit file with FIVE contrast fixes applied — each is
   marked `FIX:` below. The originals set a graphite foreground on a graphite
   ground (invisible text) or zinc-on-ground (~2.1:1, fails WCAG AA). Nothing
   else was changed, so a future kit drop can be diffed against this cleanly. */

:root {
  --pcd-graphite: #22282c;
  --pcd-orange: #e2571f;
  --pcd-zinc: #98a3ab;
  --pcd-steel: #dfe3e2;
  --pcd-ground: #f1f2f0;
  --pcd-white: #ffffff;

  --pcd-text: #22282c;
  --pcd-text-muted: #69747b;
  --pcd-text-on-ink: #f1f2f0;
  --pcd-muted-on-ink: #98a3ab;
  --pcd-accent-deep: #c0450f;

  --pcd-font: "Barlow Semi Condensed", system-ui, -apple-system, "Segoe UI", sans-serif;
  --pcd-wordmark-tracking: -0.02em;

  --pcd-radius: 2px;  /* inputs and part numbers */
  --pcd-radius-card: 2px;  /* part cards */
  --pcd-radius-pill: 2px;  /* buttons — this brand is square, like the hardware */
  --pcd-rule: 1px;
}

/* Wordmark — "Part" heavy, "Caddy" regular. Never re-weight, never letterspace. */
.pcd-wordmark {
  font-family: var(--pcd-font);
  font-weight: 800;
  letter-spacing: var(--pcd-wordmark-tracking);
  line-height: 1;
  color: var(--pcd-text);
  white-space: nowrap;
}
.pcd-wordmark span { font-weight: 400; }
.pcd-wordmark--on-ink { color: var(--pcd-text-on-ink); }

.pcd-tagline {
  font-family: var(--pcd-font);
  font-weight: 700;
  font-size: 0.26em;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pcd-accent-deep);
}

/* The mark — Hex nut.
   Every part is a percentage of one square, so --pcd-mark: 16px and 512px are one drawing.
   font-size tracks the size so em-based strokes scale with it. */
.pcd-mark {
  --pcd-mark: 64px;
  position: relative;
  flex: none;
  width: var(--pcd-mark);
  height: var(--pcd-mark);
  font-size: var(--pcd-mark);
  border-radius: 50%;
  overflow: hidden;
  background: var(--pcd-graphite);
}
.pcd-mark > * { position: absolute; box-sizing: border-box; }

.pcd-mark__hex { left: 16%; top: 12%; width: 68%; height: 76%; background: var(--pcd-orange); clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); }
.pcd-mark__hole { left: 36%; top: 34%; width: 28%; height: 32%; border-radius: 50%; background: var(--pcd-graphite); }

/* On the dark ground the mark inverts; the accent colors hold. */
.pcd-mark--on-ink { background: #f1f2f0; }
.pcd-mark--on-ink .pcd-mark__hex { background: var(--pcd-orange); }
.pcd-mark--on-ink .pcd-mark__hole { background: var(--pcd-ground); }

/* One color, for embroidery, foil and single-plate print. */
.pcd-mark--mono { background: var(--pcd-text); }
.pcd-mark--mono > * { background: var(--pcd-text-on-ink); border-color: var(--pcd-text-on-ink); }

/* Below 32px. */
.pcd-mark--simple .pcd-mark__hex { left: 12%; top: 8%; width: 76%; height: 84%; }
.pcd-mark--simple .pcd-mark__hole { left: 33%; top: 31%; width: 34%; height: 38%; }

/* Lockups. Clear space on every side = 25% of the mark. */
.pcd-lockup {
  display: flex;
  align-items: center;
  gap: 0.4em;
  font-size: 32px;
  text-decoration: none;
}
.pcd-lockup .pcd-mark { --pcd-mark: 1.15em; }
.pcd-lockup__text { display: flex; flex-direction: column; gap: 0.16em; }
.pcd-lockup .pcd-wordmark { font-size: 1em; }
.pcd-lockup--stacked { flex-direction: column; align-items: flex-start; gap: 0.5em; }

/* Site chrome */
.pcd-header {
  display: flex;
  align-items: center;
  gap: 24px;
  height: 64px;
  padding: 0 24px;
  background: var(--pcd-white);
  border-bottom: var(--pcd-rule) solid color-mix(in srgb, var(--pcd-text) 16%, transparent);
}
.pcd-header__nav {
  display: flex;
  gap: 20px;
  margin-left: auto;
  font-family: var(--pcd-font);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pcd-text-muted);
}
.pcd-band { background: var(--pcd-graphite); }
/* FIX 1: was `background:#f1f2f0` with `--pcd-muted-on-ink` (zinc) type — zinc on
   ground is ~2.1:1 and fails AA. The README says graphite is the footer ground,
   so the background was the typo, not the colour. */
.pcd-footer { background: var(--pcd-graphite); color: var(--pcd-muted-on-ink); }
.pcd-rule { height: var(--pcd-rule); border: 0; margin: 0; background: color-mix(in srgb, var(--pcd-text) 18%, transparent); }
.pcd-card {
  background: var(--pcd-white);
  border: var(--pcd-rule) solid color-mix(in srgb, var(--pcd-text) 12%, transparent);
  border-radius: var(--pcd-radius-card);
  padding: 20px;
}
.pcd-input {
  font-family: var(--pcd-font);
  font-size: 14px;
  padding: 10px 14px;
  border: var(--pcd-rule) solid color-mix(in srgb, var(--pcd-text) 22%, transparent);
  border-radius: var(--pcd-radius);
  background: var(--pcd-white);
  color: var(--pcd-text);
}
.pcd-input:focus-visible { outline: 2px solid var(--pcd-accent-deep); outline-offset: 2px; }

/* Buttons and chips */
.pcd-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-family: var(--pcd-font);
  font-size: 14px;
  font-weight: 700;
  border: var(--pcd-rule) solid var(--pcd-text);
  border-radius: var(--pcd-radius-pill);
  background: var(--pcd-text);
  color: var(--pcd-text-on-ink);
  text-decoration: none;
  cursor: pointer;
}
.pcd-btn:hover { background: color-mix(in srgb, var(--pcd-text) 86%, #000); }
.pcd-btn:active { background: color-mix(in srgb, var(--pcd-text) 74%, #000); }
.pcd-btn:focus-visible { outline: 2px solid var(--pcd-accent-deep); outline-offset: 2px; }
.pcd-btn--secondary { background: transparent; color: var(--pcd-text); }
/* FIX 2: hover filled the button graphite but left the label graphite — the text
   vanished. Flip the label to the on-ink tone with the ground. */
.pcd-btn--secondary:hover { background: var(--pcd-graphite); color: var(--pcd-text-on-ink); }
.pcd-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-family: var(--pcd-font);
  font-size: 12px;
  font-weight: 600;
  border-radius: var(--pcd-radius-pill);
  background: var(--pcd-graphite);
  /* FIX 3: was `--pcd-text` (graphite) on a graphite chip — invisible. */
  color: var(--pcd-text-on-ink);
}

/* Partner / embed badge */
.pcd-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  background: var(--pcd-graphite);
  border: var(--pcd-rule) solid color-mix(in srgb, var(--pcd-text) 22%, transparent);
  border-radius: var(--pcd-radius);
  font-family: var(--pcd-font);
  text-decoration: none;
}
.pcd-badge .pcd-mark { --pcd-mark: 30px; }
.pcd-badge__lines { display: flex; flex-direction: column; line-height: 1.15; }
/* FIX 4: was `--pcd-text` (graphite) on the graphite badge — invisible. */
.pcd-badge__title { font-size: 14px; font-weight: 800; letter-spacing: -0.01em; color: var(--pcd-text-on-ink); }
.pcd-badge__sub { font-size: 9px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--pcd-accent-deep); }

/* Links + selection */
a { color: var(--pcd-text); text-decoration-color: var(--pcd-accent-deep); }
a:hover { color: var(--pcd-accent-deep); }
/* FIX 5: was `color: var(--pcd-text)` on a graphite highlight — selected text
   became invisible site-wide, which is the one bug a visitor would hit daily. */
::selection { background: var(--pcd-graphite); color: var(--pcd-text-on-ink); }
