/* PlayMakers design system — shared tokens (Plans 1–3) */
:root {
  --pm-blue: #2AA8E0;
  --pm-blue-deep: #1B7FB5;
  --pm-ink: #2B2B2B;
  --pm-coral: #F0563F;
  --pm-yellow: #FFC83D;
  --pm-cream: #F7F1E3;
  --pm-white: #FFFFFF;
  --pm-gray-100: #F3F4F6;
  --pm-gray-300: #D7DBE0;
  --pm-gray-600: #6B7280;
  --pm-success: #38A169;
  --pm-warn: #DD8B23;
  --pm-danger: #E53E3E;

  --pm-radius: 18px;
  --pm-radius-sm: 10px;
  --pm-shadow: 0 10px 30px rgba(27, 38, 56, 0.10);
  --pm-shadow-lg: 0 18px 50px rgba(27, 38, 56, 0.16);
  --pm-gradient-ring: linear-gradient(120deg, #FF6FB5, #FF9F45, #2AA8E0);

  --pm-font-head: 'Fredoka', 'Poppins', system-ui, sans-serif;
  --pm-font-body: 'Poppins', 'Lato', system-ui, sans-serif;
  --pm-step: clamp(1rem, 0.9rem + 0.5vw, 1.15rem);
}

* { box-sizing: border-box; }
body { margin: 0; font-family: var(--pm-font-body); color: var(--pm-ink); font-size: var(--pm-step); }
h1, h2, h3 { font-family: var(--pm-font-head); line-height: 1.1; }

.pm-btn {
  font-family: var(--pm-font-head); border: 0; cursor: pointer;
  padding: 0.85em 1.4em; border-radius: 999px; font-size: 1.05rem;
  background: var(--pm-blue); color: #fff; box-shadow: var(--pm-shadow);
  transition: transform .12s ease, box-shadow .12s ease;
}
.pm-btn:hover { transform: translateY(-2px); box-shadow: var(--pm-shadow-lg); }
.pm-btn--ghost { background: #fff; color: var(--pm-ink); border: 2px solid var(--pm-gray-300); box-shadow: none; }
.pm-btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
.pm-pill { display: inline-flex; align-items: center; gap: .4em; padding: .3em .8em; border-radius: 999px; font-size: .85rem; font-weight: 600; }
.pm-pill--ok { background: rgba(56,161,105,.14); color: var(--pm-success); }
.pm-pill--low { background: rgba(221,139,35,.16); color: var(--pm-warn); }
.pm-pill--full { background: rgba(229,62,62,.14); color: var(--pm-danger); }

/* ── Plan 3: marketing-shared additions (Plan 3 OWNS these) ───────────────── */
@font-face {
  font-family: 'Loma Stamp';
  src: url('/fonts/Loma-Regular.otf') format('opentype');
  font-weight: 400;
  font-display: swap;
}

:root {
  /* Per-camp accents (one per themed week) */
  --pm-accent-dream: #5FC9C0;
  --pm-accent-fashion: #8B7CF0;
  --pm-accent-pets: #E8B04B;
  --pm-accent-camping: #3F7D4E;
  --pm-accent-school: #2A7DE1;
  /* Marketing display "poster" face (hero only) + layout */
  --pm-font-poster: 'Baloo 2', 'Fredoka', system-ui, sans-serif;
  --pm-maxw: 1140px;
}

.pm-container { width: 100%; max-width: var(--pm-maxw); margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); }

.pm-eyebrow {
  font-family: var(--pm-font-body);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 600;
  font-size: .8rem;
  /* Darkened from #1B7FB5 to clear WCAG AA (>=4.5:1) on the cream background */
  color: #14688F;
}

.pm-wordmark {
  font-family: 'Loma Stamp', var(--pm-font-poster);
  letter-spacing: .04em;
  line-height: .9;
  color: var(--pm-ink);
}

.pm-visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  clip: rect(0 0 0 0); clip-path: inset(50%);
  overflow: hidden; white-space: nowrap;
}

/* Visible keyboard focus everywhere (accessibility floor) */
:focus-visible { outline: 3px solid var(--pm-blue); outline-offset: 2px; border-radius: 4px; }
