/* ============================================================
   Pucks & Timepieces — Shared Brand Tokens
   Derived from pucksandtimepieces.com live styles
   ============================================================ */
:root {
  /* Core palette */
  --pt-teal:        #287b9b;   /* primary brand teal */
  --pt-teal-deep:   #1f6480;
  --pt-teal-soft:   #eaf1f4;
  --pt-ink:         #1a1f1b;   /* near-black buttons / headings */
  --pt-black:       #211d18;   /* warm body black */
  --pt-greige:      #d6d2cb;   /* page canvas */
  --pt-cream:       #f4f1e8;   /* cards / panels */
  --pt-cream-2:     #faf8f2;
  --pt-white:       #ffffff;
  --pt-offwhite:    #f8f5ef;   /* text on dark buttons */
  --pt-border:      #e5dcc7;   /* thin panel border */
  --pt-muted:       #6d6a63;   /* secondary text */
  --pt-gold:        #b08d3f;   /* subtle luxury accent (used sparingly) */

  /* Type */
  --pt-display: 'Boska', 'Georgia', serif;
  --pt-body:    'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Radius / shadow */
  --pt-radius:   10px;
  --pt-radius-sm: 6px;
  --pt-shadow:   0 8px 30px rgba(26, 31, 27, 0.12);
  --pt-shadow-sm: 0 2px 10px rgba(26, 31, 27, 0.08);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--pt-body);
  color: var(--pt-black);
  background: var(--pt-greige);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, .display {
  font-family: var(--pt-display);
  color: var(--pt-ink);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

/* Buttons */
.pt-btn {
  font-family: var(--pt-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: none;
  border-radius: var(--pt-radius-sm);
  padding: 14px 22px;
  cursor: pointer;
  transition: transform .12s ease, background .18s ease, box-shadow .18s ease;
  text-align: left;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.pt-btn:active { transform: translateY(1px); }

.pt-btn--primary { background: var(--pt-ink); color: var(--pt-offwhite); }
.pt-btn--primary:hover { background: #000; box-shadow: var(--pt-shadow-sm); }

.pt-btn--teal { background: var(--pt-teal); color: #fff; }
.pt-btn--teal:hover { background: var(--pt-teal-deep); }

.pt-btn--ghost {
  background: transparent;
  color: var(--pt-ink);
  border: 1.5px solid var(--pt-ink);
}
.pt-btn--ghost:hover { background: var(--pt-ink); color: var(--pt-offwhite); }

/* Choice chips (used in both apps) */
.pt-choice {
  width: 100%;
  background: var(--pt-white);
  border: 1.5px solid var(--pt-border);
  border-radius: var(--pt-radius);
  padding: 16px 18px;
  font-family: var(--pt-body);
  font-size: 15.5px;
  color: var(--pt-black);
  text-align: left;
  cursor: pointer;
  transition: all .15s ease;
  display: flex;
  align-items: center;
  gap: 14px;
  line-height: 1.3;
}
.pt-choice:hover {
  border-color: var(--pt-teal);
  background: var(--pt-teal-soft);
  transform: translateY(-1px);
  box-shadow: var(--pt-shadow-sm);
}
.pt-choice .badge {
  flex: 0 0 auto;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--pt-ink);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  display: grid; place-items: center;
}

/* Trust footer */
.pt-trust {
  font-size: 12.5px;
  color: var(--pt-muted);
  line-height: 1.6;
}
.pt-trust strong { color: var(--pt-ink); }
