/*
Theme Name:   GeneratePress Child - basketraffle.org
Template:     generatepress
Description:  Child theme for basketraffle.org. Tokens, typography, and shared utility classes only. No page-specific rules. See GeneratePress_Build_Sheet.md for the standing spec this follows.
Version:      1.0.0
Author:       The Chance2Win Team
*/

:root {
  /* Color - basketraffle.org brand */
  --wdn-color-primary: #C8102E;       /* red - CTAs */
  --wdn-color-primary-dark: #A00D24;  /* red hover */
  --wdn-color-secondary: #1A1464;     /* navy - headings */
  --wdn-color-accent: #7B2FBE;        /* purple - links/accents */
  --wdn-color-badge: #00D4FF;         /* cyan - badges */
  --wdn-color-dark: #0D0B2B;          /* dark accent modules only */
  --wdn-color-text: #4A4C65;          /* body copy */
  --wdn-color-text-muted: #7E8096;
  --wdn-color-bg: #FAF9F7;            /* page background (cream) */
  --wdn-color-bg-alt: #F1EFE8;        /* alt section background */
  --wdn-color-border: #E7E6EE;
  --wdn-color-pink-bg: #FCEBEB;       /* "at the table" comparison tint */
  --wdn-color-blue-bg: #E6F1FB;       /* "online" comparison tint */

  /* Spacing scale */
  --wdn-space-xs: 0.5rem;
  --wdn-space-sm: 1rem;
  --wdn-space-md: 2rem;
  --wdn-space-lg: 4rem;
  --wdn-space-xl: 6rem;

  /* Typography */
  --wdn-font-heading: 'DM Serif Display', Georgia, serif;
  --wdn-font-body: 'Inter', system-ui, sans-serif;
  --wdn-font-size-h1: clamp(2.25rem, 5vw, 3.5rem);
  --wdn-font-size-h2: clamp(1.75rem, 3.5vw, 2.5rem);
  --wdn-font-size-body: 1.0625rem;

  /* Radius */
  --wdn-radius-sm: 4px;
  --wdn-radius-md: 8px;
  --wdn-radius-lg: 14px;
}

body {
  font-family: var(--wdn-font-body);
  color: var(--wdn-color-text);
  background: var(--wdn-color-bg);
}

h1, h2, h3,
.wdn-heading {
  font-family: var(--wdn-font-heading);
  color: var(--wdn-color-secondary);
  font-weight: 400;
  line-height: 1.15;
}

a {
  color: var(--wdn-color-accent);
}

/* ---- Shared utility classes ---- */

.wdn-section            { padding-block: var(--wdn-space-lg); }
.wdn-section--tight     { padding-block: var(--wdn-space-md); }
.wdn-section--alt-bg    { background: var(--wdn-color-bg-alt); }
.wdn-section--dark      { background: var(--wdn-color-dark); color: #fff; }
.wdn-section--dark h1, .wdn-section--dark h2, .wdn-section--dark h3 { color: #fff; }

.wdn-container-narrow   { max-width: 760px; margin-inline: auto; }
.wdn-container-wide     { max-width: 1200px; margin-inline: auto; }

.wdn-card               { border: 1px solid var(--wdn-color-border); border-radius: var(--wdn-radius-md); padding: var(--wdn-space-sm); }
.wdn-card-grid          { display: grid; gap: var(--wdn-space-sm); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

.wdn-btn                { border-radius: var(--wdn-radius-sm); padding: 0.75rem 1.5rem; font-weight: 600; display: inline-block; text-decoration: none; }
.wdn-btn--primary       { background: var(--wdn-color-primary); color: #fff; }
.wdn-btn--primary:hover { background: var(--wdn-color-primary-dark); color: #fff; }
.wdn-btn--outline       { background: transparent; border: 2px solid var(--wdn-color-secondary); color: var(--wdn-color-secondary); }
.wdn-btn--text          { background: transparent; color: var(--wdn-color-accent); font-weight: 600; padding: 0.75rem 0; }

.wdn-text-muted         { color: var(--wdn-color-text-muted); }
.wdn-text-center        { text-align: center; }

.wdn-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--wdn-color-badge);
  color: #043142;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
}

.wdn-eyebrow {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wdn-color-accent);
  margin-bottom: var(--wdn-space-xs);
}

/*
  New utility classes added for basketraffle.org (approved additions,
  logged in GeneratePress_Build_Sheet.md Section 9 - Per-Project Notes).
  Kept generic/reusable rather than page-specific per the Build Sheet rule.
*/

.wdn-grid-2              { display: grid; gap: var(--wdn-space-md); grid-template-columns: 1fr 1fr; align-items: center; }
.wdn-grid-3              { display: grid; gap: var(--wdn-space-sm); grid-template-columns: repeat(3, 1fr); }
.wdn-grid-2-uneven       { display: grid; gap: var(--wdn-space-md); grid-template-columns: 0.85fr 1.15fr; align-items: center; }

.wdn-panel               { border: 1px solid var(--wdn-color-border); border-radius: var(--wdn-radius-lg); padding: var(--wdn-space-md); background: #fff; }
.wdn-panel--tint-pink    { background: var(--wdn-color-pink-bg); border: none; }
.wdn-panel--tint-blue    { background: var(--wdn-color-blue-bg); border: none; }
.wdn-panel--dark-outline { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); }

.wdn-step-num {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--wdn-color-badge);
  color: #043142;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  margin-bottom: 10px;
}

.wdn-list-check, .wdn-list-x {
  list-style: none;
  padding: 0;
  margin: 0;
}
.wdn-list-check li, .wdn-list-x li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 0.95rem;
}
.wdn-list-check li::before { content: "\2713"; color: #1D9E75; font-weight: 700; }
.wdn-list-x li::before     { content: "\2715"; color: var(--wdn-color-primary); font-weight: 700; }

.wdn-img-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  aspect-ratio: 4 / 3;
  background: repeating-linear-gradient(45deg, #EEEAE0, #EEEAE0 10px, var(--wdn-color-bg-alt) 10px, var(--wdn-color-bg-alt) 20px);
  border: 1px dashed var(--wdn-color-border);
  color: var(--wdn-color-text-muted);
  text-align: center;
  font-size: 0.85rem;
  padding: var(--wdn-space-sm);
}
.wdn-img-placeholder small { color: var(--wdn-color-text-muted); }

@media (max-width: 782px) {
  .wdn-grid-2, .wdn-grid-3, .wdn-grid-2-uneven { grid-template-columns: 1fr; }
}
