/* Final polish palette — Town Square (approved by Caitlin, Nov 13 2026)
   Cool-gray canvas #F8FAFC · white cards #FFFFFF · light blue-gray borders #BDC9C9
   ink #1D2A27 · periwinkle blue #3B66F5 (logo mark, main buttons, focus, selected states)
   spark coral #F36C56 (hero "Go do stuff.", deeper #DC5840 in --hero-accent).
   Chip groups (all #1D2A27 text): Social blush #ECB6A7, Active coral #F36C56,
   Food & Shopping mustard #C2A630, Culture & Learning lavender #B8ABC4,
   Community & Family blue-gray #BDC9C9. Signup cards #EEF2FF.
   No beige/cream, no forest green.
*/
:root {
  --ink: #1D2A27;
  --ink-soft: #33413E;
  --muted: #475569;            /* 7.2:1 on #F8FAFC, 7.6:1 on white */
  --paper: #F8FAFC;
  --paper-2: #EEF2F7;          /* cool gray wash for icon buttons / skeletons */
  --card: #FFFFFF;
  --tomato: #3B66F5;           /* primary: buttons + logo mark (white 4.77:1) */
  --tomato-deep: #2F55DB;      /* primary hover */
  --sun: #C2A630;              /* mustard accents */
  --green: #2F55DB;            /* eyebrow text (blue, 5.9:1) */
  --blue: #3B66F5;             /* focus ring, sponsor border */
  --line: #BDC9C9;
  --shadow: 0 8px 24px rgba(29, 42, 39, 0.06);

  --hero-accent: #DC5840;
  --link: #3B66F5;
  --link-hover: #2F55DB;
  --on-primary: #FFFFFF;
  --on-sun: #1D2A27;
  --on-ink: #FFFFFF;
  --input-bg: #FFFFFF;
  --overlay: rgba(29, 42, 39, 0.45);
  --inverse: #3B66F5;          /* selected chips/toggles, skip link, back-to-top, toast */
  --inverse-soft: #2F55DB;
  --inverse-line: #BDC9C9;
  --inverse-input: #FFFFFF;
  --on-inverse: #FFFFFF;
  --on-inverse-muted: #475569;
  --on-inverse-subtle: #475569;
  --status-bg: #FDE8E4;
  --status-fg: #B23A28;
  --sponsor-bg: #EEF2FF;
  --pill-bg: #EEF2F7;
  --pill-fg: #1D2A27;
  --pill-free-bg: #E0E8FE;
  --pill-free-fg: #1E3FAF;
  --pill-pay-bg: #FBE4DD;
  --pill-pay-fg: #7A2E1F;
  --empty-dot: #7A8794;
  --on-inverse-danger: #B23A28;
  --heart: #C24632;            /* coral as icon/text, 4.98:1 on white */
}

/* Buttons */
.btn-primary:hover { background: var(--tomato-deep); color: #FFFFFF; }
.btn-sun { background: #FFFFFF; color: #1D2A27; border: 2px solid #3B66F5; }
.btn-sun:hover { background: #EEF2FF; color: #1D2A27; filter: none; }
.btn-ghost:hover { background: #1D2A27; color: #FFFFFF; }

/* Logo mark */
.logo-mark { background: #3B66F5; color: #FFFFFF; }

/* Hearts & form errors use coral */
.save-btn.is-on, .save-btn:hover, .save-btn:focus-visible { color: var(--heart); }
.saved-nav .saved-nav-heart { color: var(--heart); }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border-color: var(--heart); outline-color: var(--heart); }
.badge, .saved-badge { background: #F36C56; color: #1D2A27; }
.suggest-toggle { border-bottom-color: #3B66F5; }
.date-chip .dot { background: #F36C56; }
.date-chip.is-on .dot { background: #FFFFFF; }
.cat-grid input { accent-color: #3B66F5; }

/* Focus rings: blue everywhere */
:focus-visible,
.signup-band :focus-visible, .signup-slim-inner :focus-visible, .skip-link:focus-visible { outline-color: #3B66F5; }
.skip-link:focus-visible, .back-to-top:focus-visible { outline-color: #1D2A27; }

/* Hero wash: soft blue / lavender instead of blush */
.hero { background: radial-gradient(22rem 14rem at 80% 8%, rgba(59, 102, 245, 0.10), transparent 70%); }

/* Category chips (tone set by app.js data-tone) */
.chip[data-tone], .detail-cat-chip[data-tone] { color: #1D2A27; }
.chip[data-tone="lavender"], .detail-cat-chip[data-tone="lavender"] { background: #B8ABC4; border-color: #B8ABC4; }
.chip[data-tone="coral"],    .detail-cat-chip[data-tone="coral"]    { background: #F36C56; border-color: #F36C56; }
.chip[data-tone="mustard"],  .detail-cat-chip[data-tone="mustard"]  { background: #C2A630; border-color: #C2A630; }
.chip[data-tone="blush"],    .detail-cat-chip[data-tone="blush"]    { background: #ECB6A7; border-color: #ECB6A7; }
.chip[data-tone="sage"],     .detail-cat-chip[data-tone="sage"]     { background: #BDC9C9; border-color: #BDC9C9; }
.chip[data-tone]:hover { border-color: #1D2A27; }
.chip[data-tone] .n { opacity: 0.85; }
.chip.is-on, .chip[data-tone].is-on { background: #3B66F5; color: #FFFFFF; border-color: #3B66F5; }
/* Selected category chips: dark ink + checkmark so they never look like an unselected color chip */
.chip[data-tone].is-on { background: #1D2A27; color: #FFFFFF; border-color: #1D2A27; }
.chip[data-tone].is-on::before { content: "✓"; display: inline-block; margin-right: 0.3rem; font-weight: 800; }
.chip[data-tone].is-on:hover { border-color: #1D2A27; }
.chip[data-tone].is-on .n { opacity: 0.9; }

/* Good Company slim card under the hero: white card, 2px blue border, soft blue accent bar */
.signup-slim-inner {
  background: linear-gradient(#DCE5FE, #DCE5FE) top / 100% 6px no-repeat, #EEF2FF;
  color: #1D2A27; border: 2px solid #3B66F5;
  box-shadow: 0 8px 24px rgba(59, 102, 245, 0.10);
}
.signup-slim-inner p { color: #33413E; }
.signup-slim .btn-sun, .signup-nudge .btn-sun { background: #3B66F5; color: #FFFFFF; border: 0; }
.signup-slim .btn-sun:hover, .signup-nudge .btn-sun:hover { background: #2F55DB; color: #FFFFFF; }

/* Main newsletter section: light card instead of dark band */
.signup-band {
  background: linear-gradient(#DCE5FE, #DCE5FE) top / 100% 6px no-repeat, #EEF2FF;
  color: #1D2A27; border: 2px solid #3B66F5; border-radius: 16px;
  width: calc(100% - 2.4rem); max-width: calc(var(--max) - 2.4rem);
  margin: 0 auto 2rem;
  box-shadow: 0 8px 24px rgba(59, 102, 245, 0.10);
}
.signup-band .field input, .signup-band .field select, .signup-band .field textarea {
  background: #FFFFFF; border-color: #BDC9C9; color: #1D2A27;
}
.signup-band .consent-note, .consent-note { color: #1D2A27; }
.share-ref-lead strong { color: #1D2A27; }
.share-ref-lead:hover strong, .share-ref-lead:focus-visible strong { color: #2F55DB; }
.form-thanks, .signup-band .form-thanks { color: #2F55DB; }
.signup-band .share-sms.btn-ghost, .referral .btn-ghost { color: #1D2A27; border-color: #1D2A27; }
.signup-band .share-sms.btn-ghost:hover, .referral .btn-ghost:hover { background: #1D2A27; color: #FFFFFF; }

/* Sponsored (real sponsors only) */
.event-card.is-sponsor { border: 2px dashed #3B66F5; background: #EEF2FF; }
.presented[hidden] { display: none !important; }

/* Month compact dots (mobile) use the same group tones */
.month-dot[data-tone="lavender"] { background: #B8ABC4; }
.month-dot[data-tone="coral"] { background: #F36C56; }
.month-dot[data-tone="mustard"] { background: #C2A630; }
.month-dot[data-tone="blush"] { background: #ECB6A7; }
.month-dot[data-tone="sage"] { background: #BDC9C9; }

/* Signup body copy on #EEF2FF */
.signup-band .signup-copy p,
.signup-band .privacy-note,
.signup-band .field em,
.signup-band .referral p { color: #33413E; }
