/* Prime Path Athletics — shared styles for the standing pages
   (privacy, terms, verification, correct a listing, about).
   Tokens mirror index.html so the pages read as one site. */

/* Light theme for reading areas; the brand bars keep the dark palette (the logo has a black background). */
:root{
  --ink:#1C1D2B; --paper:#FBFAFD; --paper-2:#F3F1F8; --white:#FFFFFF; --ground:#ECEAF3; --purple:#5B47C9; --purple-deep:#3E2F9E; --lift:#8B7FD6; --lavender:#6E5CD6; --lavender-tint:#ECE8FB; --line:rgba(28,29,43,0.10); --line-2:rgba(28,29,43,0.18); --muted:#5F6274; --ink-soft:#3A3C4E; color-scheme:light;
}
.pm, .pf{
  --ink:#E9E9ED; --paper:#161826; --paper-2:#1C1E2C; --white:#232532; --ground:#101121; --purple:#A79BE8; --purple-deep:#C6BFFA; --lift:#6E63A8; --lavender:#B5ABFC; --lavender-tint:#2B2741; --line:rgba(233,233,237,0.12); --line-2:rgba(233,233,237,0.20); --muted:#9598A8; --ink-soft:#C3C4CE; color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--purple);text-decoration:none}
a:hover{color:var(--purple-deep)}
img,svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.container{max-width:1200px;margin:0 auto;padding:0 28px}
.container-narrow{max-width:780px;margin:0 auto;padding:0 28px}

/* masthead */
.pm{background:var(--ground);color:var(--ink);padding:22px 0;border-bottom:1px solid var(--line)}
.pm .container{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pm-lockup{height:40px;width:auto}
.pm-nav{display:flex;flex-wrap:wrap;gap:2px 4px}
.pm-nav a{padding:8px 13px;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-soft);border-radius:2px}
.pm-nav a:hover{color:var(--ink);background:rgba(167,155,232,0.12)}
.pm-nav a.on{color:var(--purple);background:transparent;box-shadow:inset 0 0 0 1px var(--purple)}

/* document body */
.doc{padding:56px 0 88px}
.crumbs{font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
.crumbs a{text-decoration:underline;text-underline-offset:3px}
.kicker{font-family:'Inter',system-ui,sans-serif;font-size:11px;letter-spacing:0.4em;text-transform:uppercase;color:var(--purple);font-weight:600;margin:0 0 12px}
h1,h2,h3,h4{font-family:'Inter',system-ui,sans-serif;font-weight:500;color:var(--ink);margin:0;line-height:1.14;letter-spacing:-0.015em}
h1{font-size:clamp(34px,4.6vw,52px);letter-spacing:-0.022em}
h2{font-size:22px;margin:44px 0 12px;padding-top:22px;border-top:1px solid var(--line-2)}
h3{font-size:15px;letter-spacing:0.14em;text-transform:uppercase;margin:26px 0 8px}
p{margin:0 0 14px}
.lead{font-size:18px;line-height:1.6;color:var(--ink-soft);margin-top:18px;max-width:44em}
.updated{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin:22px 0 0}
.doc p,.doc li{color:var(--ink-soft);font-size:15.5px}
.doc ul,.doc ol{margin:0 0 16px;padding-left:20px}
.doc li{margin-bottom:7px}
.doc strong{font-weight:600;color:var(--ink)}
.doc a{text-decoration:underline;text-underline-offset:3px}

/* callout — used for the things a reader must not miss */
.callout{background:var(--white);border:1px solid var(--line-2);border-left:3px solid var(--purple);padding:18px 22px;margin:22px 0}
.callout p{margin:0;font-size:14.5px}
.callout p + p{margin-top:10px}
.callout h3{margin-top:0}

/* draft banner — About only, until copy is approved */
.draft{background:#FFF6E0;border:1px solid #E2C27A;border-left:3px solid #B98900;padding:18px 22px;margin:22px 0}
.draft p{margin:0;font-size:14.5px;color:#5C3D00}
.draft p + p{margin-top:10px}
.gap{background:var(--lavender-tint);border:1px dashed var(--lift);padding:16px 20px;margin:18px 0}
.gap p{margin:0;font-size:14.5px;color:var(--purple-deep)}

/* tier / definition table */
.tbl{width:100%;border-collapse:collapse;margin:18px 0 24px;background:var(--white);border:1px solid var(--line-2)}
.tbl th{text-align:left;font-family:'Inter',system-ui,sans-serif;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--purple);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--line-2)}
.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-soft);vertical-align:top;line-height:1.5}
.tbl tr:last-child td{border-bottom:none}
.tbl td strong{white-space:nowrap}

/* badge chips matching the directory's three tiers */
.badge{display:inline-block;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;padding:4px 9px;border-radius:2px;white-space:nowrap}
.badge-verified{background:#ECE8FB;color:#3E2F9E;border:1px solid #C9C0F5}
.badge-contact{background:var(--lavender-tint);color:var(--purple-deep);border:1px solid var(--lavender)}
.badge-listed{background:var(--paper-2);color:var(--muted);border:1px solid var(--line-2)}

/* actions */
.btn{display:inline-block;background:transparent;border:1px solid var(--purple);color:var(--purple);font-family:'Inter',system-ui,sans-serif;font-size:11px;letter-spacing:0.28em;text-transform:uppercase;font-weight:600;padding:13px 25px;border-radius:8px;text-decoration:none}
.btn:hover{background:rgba(167,155,232,0.14);color:var(--purple-deep);border-color:var(--purple-deep)}
.doc .btn{text-decoration:none}

/* footer */
.pf{background:var(--ground);color:var(--ink-soft);padding:44px 0 34px;font-size:13px;border-top:1px solid var(--line)}
.pf a{color:var(--ink-soft);text-decoration:none}
.pf a:hover{color:var(--purple)}
.pf-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:22px;font-size:11px;letter-spacing:0.2em;text-transform:uppercase}
.pf-fine{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--muted);letter-spacing:0.06em}

@media (max-width:720px){
  .doc{padding:40px 0 64px}
  h2{margin-top:34px}
  .pm .container{justify-content:flex-start}
}

/* ---- generated trainer index pages ---- */
.tcard{background:var(--white);border:1px solid var(--line-2);border-left:3px solid var(--purple);padding:18px 22px;margin:0 0 14px}
.tcard h3{font-size:18px;letter-spacing:0.02em;text-transform:none;margin:0}
.tbrand{font-size:13px;color:var(--muted);margin-top:3px}
.tbadges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.badge-warn{background:#FFF6E0;color:#7A4E00;border:1px solid #E2C27A}
.tcard p{margin:9px 0 0}
.tspec{font-size:14.5px;color:var(--ink-soft);font-weight:500}
.tbio{font-size:14px;color:var(--ink-soft)}
.tfacts,.tlinks{font-size:13.5px}
.tfacts strong,.tlinks strong{font-weight:600;color:var(--muted);font-size:11px;letter-spacing:0.1em;text-transform:uppercase}
.tlinks a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.tnote{font-size:13px;color:var(--muted);font-style:italic}
.tmeta{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-top:12px}
.linklist{list-style:none;margin:14px 0 20px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 18px}
.linklist.inline{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.linklist li{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.linklist a{text-decoration:none;font-size:14.5px}
.linklist a:hover{text-decoration:underline;text-underline-offset:3px}
.linklist .n{font-size:11px;letter-spacing:0.1em;color:var(--muted);flex-shrink:0}
.thin{font-size:13.5px;color:var(--muted)}
.doc .tcard h3{font-family:'Inter',system-ui,sans-serif}
@media (max-width:600px){.linklist{grid-template-columns:1fr}}


/* ---- generated league pages: search + bands ---- */
.lsearch{background:var(--white);border:1px solid var(--line-2);padding:20px 22px;margin:18px 0 14px}
.lsearch-row{display:flex;flex-wrap:wrap;gap:14px 18px;margin-bottom:14px}
.lfield{display:flex;flex-direction:column;gap:6px;flex:1 1 180px;min-width:0}
.lfield.wide{flex:1 1 100%}
.lfield span{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:600}
.lfield input,.lfield select{font-family:'Inter',system-ui,sans-serif;font-size:15px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-2);border-radius:6px;padding:11px 13px;width:100%}
.lfield input::placeholder{color:var(--muted)}
.lfield input:focus,.lfield select:focus{outline:2px solid var(--purple);outline-offset:1px;border-color:var(--purple)}
.lsearch-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn-quiet{border-color:var(--line-2);color:var(--muted)}
.btn-quiet:hover{border-color:var(--ink-soft);color:var(--ink-soft);background:transparent}
.lstatus{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}
.lband{font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--purple);margin:30px 0 6px;padding-top:18px;border-top:1px solid var(--line-2)}
.lbandnote{font-size:14px;color:var(--ink-soft);margin:0 0 16px;max-width:44em}
.ldist{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin:8px 0 0}
.doc .tcard .tnote{color:var(--purple-deep);font-style:normal;font-size:13.5px}
@media (max-width:600px){.lsearch{padding:16px 16px}.lfield{flex:1 1 100%}}
/* Page actions, share button, key facts, past-camp notice (2026-10-14) */
.page-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px}
.page-actions .btn{cursor:pointer;font-size:11px}
.share-btn{background:transparent;border-color:var(--line-2);color:var(--ink-soft)}
.share-btn:hover{border-color:var(--purple);color:var(--purple)}
.keyfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:8px;overflow:hidden;margin:22px 0 4px}
.keyfacts div{background:var(--paper-2);padding:12px 14px}
.keyfacts span{display:block;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:4px}
.keyfacts strong{font-weight:500;font-size:14.5px;color:var(--ink)}
.past-note{border:1px solid #c9a227;background:rgba(201,162,39,0.10);border-radius:8px;padding:12px 16px;margin:18px 0 0;font-size:14px}
.doc .tcard h3 a{color:inherit;text-decoration:none}
.doc .tcard h3 a:hover{color:var(--purple);text-decoration:underline}

/* Camp levels: the same colors as the camp lists in index.html */
.lvl-elite{--lvl:#B3261E;--lvl-bg:#FCE8E6}
.lvl-competitive{--lvl:#A85400;--lvl-bg:#FFF0DC}
.lvl-developmental{--lvl:#1E7B4F;--lvl-bg:#E3F5EB}
.lvl-recreational{--lvl:#1F6FB2;--lvl-bg:#E3F0FB}
.lvl-other{--lvl:#5C5F73;--lvl-bg:#EEEEF3}
.overview{background:var(--white);border:1px solid var(--line-2);border-top:4px solid var(--lvl);border-radius:8px;padding:20px 22px;margin:22px 0}
.overview h2{margin:0 0 8px;padding:0;border:0;font-size:20px}
.ov-about{margin:0 0 16px;font-size:16px}
.ov-level{display:flex;gap:14px;align-items:flex-start;background:var(--lvl-bg);border-radius:6px;padding:12px 14px}
.ov-level p{margin:0;font-size:14.5px;color:var(--ink)}
.lvl{flex:none;font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#fff;background:var(--lvl);border-radius:4px;padding:5px 9px}
.ov-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:16px}
.ov-facts span{display:block;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:3px}
.ov-facts strong{font-weight:500;font-size:14.5px}
@media (max-width:520px){.ov-level{flex-direction:column;gap:8px}}
.ov-ask{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line-2);font-size:15px}
