/* Find Your Level quiz. Uses the pbcoachdavewptheme theme.json presets when present,
   with brand fallbacks so the standalone demo looks the same. */
.pcd-level {
  --pcd-navy: var(--wp--preset--color--primary-navy, #15384B);
  --pcd-navy-dark: var(--wp--preset--color--navy-dark, #0D2634);
  --pcd-link: var(--wp--preset--color--navy-light, #3A6885);
  --pcd-tint: var(--wp--preset--color--navy-tint, #EDF2F5);
  --pcd-yellow: var(--wp--preset--color--ball-yellow, #E9B420);
  /* Hover and tint follow the accent, so they still match if the site's accent color changes. */
  --pcd-yellow-dark: color-mix(in srgb, var(--pcd-yellow), #000 15%);
  --pcd-yellow-tint: color-mix(in srgb, var(--pcd-yellow) 14%, #fff);
  --pcd-bar: var(--color-secondary-500, #729CAD);
  --pcd-ink: var(--wp--preset--color--ink, #242A34);
  --pcd-muted: var(--wp--preset--color--ink-muted, #656E7C);
  --pcd-line: var(--wp--preset--color--hairline, #DDE1E8);
  --pcd-subtle: var(--wp--preset--color--off-white, #F7F8FA);
  --pcd-head: var(--wp--preset--font-family--outfit, 'Outfit', system-ui, sans-serif);
  --pcd-body: var(--wp--preset--font-family--source-sans-3, 'Source Sans 3', system-ui, sans-serif);
  font-family: var(--pcd-body);
  font-size: 1.0625rem;
  color: var(--pcd-ink);
  line-height: 1.6;
  max-width: 40rem;
  margin: 0 auto;
}
.pcd-level *, .pcd-level *::before, .pcd-level *::after { box-sizing: border-box; }

.pcd-screen { animation: pcd-in .25s ease-out; }
@keyframes pcd-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .pcd-screen { animation: none; } }

.pcd-progress { height: 6px; background: var(--pcd-tint); border-radius: 999px; overflow: hidden; margin-bottom: 1rem; }
.pcd-progress span { display: block; height: 100%; background: var(--pcd-yellow); border-radius: 999px; transition: width .3s ease; }

.pcd-step, .pcd-eyebrow {
  font-family: var(--pcd-head); font-weight: 600; font-size: .75rem;
  letter-spacing: .08em; text-transform: uppercase; color: var(--pcd-link); margin: 0 0 .5rem;
}
.pcd-question, .pcd-result-name {
  font-family: var(--pcd-head); font-weight: 700; color: var(--pcd-navy);
  font-size: clamp(1.5rem, 5vw, 1.95rem); line-height: 1.2; margin: 0 0 1.25rem;
}
.pcd-question:focus, .pcd-result-name:focus { outline: none; }

.pcd-answers { display: grid; gap: .625rem; }
.pcd-answer {
  font: inherit; font-size: 1.0625rem; text-align: left; color: var(--pcd-ink);
  background: #fff; border: 2px solid var(--pcd-line); border-radius: 12px;
  padding: .875rem 1rem; min-height: 3.25rem; cursor: pointer;
  transition: border-color .15s, background .15s;
}
.pcd-answer:hover { border-color: var(--pcd-navy); background: var(--pcd-tint); }
.pcd-answer:focus-visible, .pcd-secondary:focus-visible, .pcd-back:focus-visible,
.pcd-button:focus-visible, .pcd-level a:focus-visible {
  outline: 3px solid var(--pcd-yellow); outline-offset: 2px;
}
.pcd-answer:active { background: var(--pcd-yellow-tint); border-color: var(--pcd-yellow); }

.pcd-back {
  font-family: var(--pcd-head); font-weight: 600; font-size: .9375rem;
  background: none; border: 0; color: var(--pcd-link); padding: .75rem 0; margin-top: .5rem; cursor: pointer;
}
.pcd-back::before { content: '\2190\00a0'; }

/* Results */
.pcd-estimate { font-family: var(--pcd-head); font-weight: 600; font-size: 1.0625rem; color: var(--pcd-navy); margin: -.75rem 0 .5rem; }
.pcd-intro { margin: 0 0 1rem; }
.pcd-note { background: var(--pcd-yellow-tint); border-left: 4px solid var(--pcd-yellow); padding: .75rem 1rem; border-radius: 0 8px 8px 0; }

.pcd-block { border-top: 1px solid var(--pcd-line); padding: 1.25rem 0 .25rem; }
.pcd-block h3 { font-family: var(--pcd-head); font-weight: 700; font-size: 1.25rem; color: var(--pcd-navy); line-height: 1.25; margin: 0 0 .5rem; }
.pcd-block p { margin: 0 0 .75rem; }
.pcd-tip { background: var(--pcd-subtle); padding: .75rem 1rem; border-radius: 8px; }
.pcd-tip strong { font-family: var(--pcd-head); color: var(--pcd-navy); }

.pcd-profile { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.pcd-bar { display: grid; grid-template-columns: 8.5rem 1fr 2.25rem; align-items: center; gap: .625rem; }
.pcd-bar-label { font-family: var(--pcd-head); font-weight: 500; font-size: .9375rem; line-height: 1.2; }
.pcd-bar-track { height: 14px; background: var(--pcd-tint); border-radius: 999px; overflow: hidden; }
.pcd-bar-fill { display: block; height: 100%; background: var(--pcd-navy); border-radius: 999px; }
.pcd-bar-value { font-family: var(--pcd-head); font-weight: 600; font-size: .9375rem; text-align: right; font-variant-numeric: tabular-nums; }
.pcd-bar.is-weak .pcd-bar-fill { background: var(--pcd-yellow); }
.pcd-bar.is-weak .pcd-bar-label { font-weight: 700; color: var(--pcd-navy); }
.pcd-scale { font-size: .875rem; color: var(--pcd-muted); margin-top: .5rem !important; }
.pcd-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 380px) { .pcd-bar { grid-template-columns: 7rem 1fr 2rem; } .pcd-bar-label { font-size: .875rem; } }

.pcd-drills { list-style: none; margin: 0 0 .75rem; padding: 0; display: grid; gap: .5rem; }
.pcd-drills li { border: 1px solid var(--pcd-line); border-radius: 10px; padding: .75rem 1rem; }
.pcd-drills li:first-child { border: 2px solid var(--pcd-navy); }
.pcd-drill-tag { display: block; font-family: var(--pcd-head); font-weight: 600; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--pcd-muted); }
.pcd-drills a { font-family: var(--pcd-head); font-weight: 600; font-size: 1.0625rem; color: var(--pcd-navy); text-decoration: none; }
.pcd-drills a::after { content: '\00a0\2192'; color: var(--pcd-link); }
.pcd-drills a:hover { text-decoration: underline; }

.pcd-link { color: var(--pcd-link); font-weight: 600; }

.pcd-cta { background: var(--pcd-navy); color: #fff; border-radius: 16px; padding: 1.5rem 1.25rem; margin: 1.25rem 0 1rem; text-align: center; }
.pcd-cta-lead { font-family: var(--pcd-head); font-weight: 600; font-size: 1.125rem; margin: 0 0 1rem; }
.pcd-button {
  display: inline-block; font-family: var(--pcd-head); font-weight: 700; font-size: 1.0625rem;
  background: var(--pcd-yellow); color: var(--color-neutral-900, #151920); text-decoration: none;
  padding: .875rem 1.5rem; border-radius: 999px; transition: background .15s, color .15s;
}
.pcd-button:hover { background: var(--pcd-yellow-dark); }
.pcd-cta-note { font-size: .9375rem; opacity: .85; margin: .625rem 0 0; }
.pcd-cta .pcd-link { display: block; width: fit-content; margin: 1rem auto 0; color: #fff; }

.pcd-code { display: flex; justify-content: center; align-items: center; gap: .5rem; margin: .625rem 0 0; }
.pcd-code-value {
  font-family: ui-monospace, 'SF Mono', Menlo, monospace; font-size: 1.375rem; font-weight: 700; letter-spacing: .08em;
  background: #fff; color: var(--pcd-navy); padding: .25rem .75rem; border-radius: 8px; user-select: all;
}
.pcd-copy {
  font-family: var(--pcd-head); font-weight: 600; font-size: .875rem; cursor: pointer;
  background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.6); border-radius: 999px; padding: .375rem .875rem;
}
.pcd-copy:hover { border-color: #fff; }
.pcd-cta-alt { border-top: 1px solid rgba(255,255,255,.2); margin-top: 1.25rem; padding-top: 1.25rem; }
.pcd-cta-alt p { margin: 0 0 .75rem; font-size: .9375rem; }
.pcd-button-outline {
  display: inline-block; font-family: var(--pcd-head); font-weight: 600; font-size: 1rem; color: #fff; text-decoration: none;
  border: 2px solid #fff; border-radius: 999px; padding: .625rem 1.25rem;
}
.pcd-button-outline:hover { background: #fff; color: var(--pcd-navy); }
.pcd-copy:focus-visible, .pcd-button-outline:focus-visible { outline: 3px solid var(--pcd-yellow); outline-offset: 2px; }

.pcd-smallprint { font-size: .875rem; color: var(--pcd-muted); }
.pcd-actions { display: flex; flex-wrap: wrap; gap: .625rem; margin-top: .5rem; }
.pcd-secondary {
  font-family: var(--pcd-head); font-weight: 600; font-size: .9375rem; cursor: pointer;
  background: #fff; color: var(--pcd-navy); border: 2px solid var(--pcd-navy); border-radius: 999px; padding: .625rem 1.125rem;
}
.pcd-secondary:hover { background: var(--pcd-tint); }
.pcd-error { background: var(--color-error-bg, #FAEDED); color: var(--color-error-text, #8A2E28); padding: 1rem; border-radius: 8px; }

/* Where to play */
.pcd-courts { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
.pcd-courts li { border: 1px solid var(--pcd-line); border-radius: 10px; padding: .75rem 1rem; display: grid; gap: .125rem; }
.pcd-court-name { font-family: var(--pcd-head); font-weight: 600; font-size: 1.0625rem; color: var(--pcd-navy); text-decoration: none; }
.pcd-court-name:hover { text-decoration: underline; }
.pcd-court-meta { font-size: .875rem; color: var(--pcd-muted); }
.pcd-map { display: block; width: 100%; height: 320px; border: 0; border-radius: 12px; background: var(--pcd-tint); margin-bottom: .75rem; }
.pcd-map-tall { height: 420px; }
.pcd-courts-page h2 { font-family: var(--pcd-head); font-weight: 700; color: var(--pcd-navy); font-size: 1.5rem; line-height: 1.2; margin: 2rem 0 .75rem; }
.pcd-court-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.pcd-court { border: 1px solid var(--pcd-line); border-radius: 12px; padding: 1rem 1.125rem; }
.pcd-court h3, .pcd-court h4 { font-family: var(--pcd-head); font-weight: 600; font-size: 1.125rem; color: var(--pcd-navy); margin: 0 0 .25rem; }
.pcd-court p { margin: 0 0 .375rem; }
.pcd-court p:last-child { margin-bottom: 0; }
.pcd-court a, .pcd-smallprint a { color: var(--pcd-link); }
