/* Cobblestone Courier — consolidated component CSS
 *
 * Extracted from inline <style> blocks in wp-content/mu-plugins/cc-content-types.php
 * at mu-plugin v1.5.0 → v1.6.0.
 *
 * Each section retains its original PHP file:line reference for traceability.
 * Selectors use the cc-* namespace throughout.
 *
 * Enqueued once per page via wp_enqueue_style('cc-core', ..., [], CC_VERSION).
 * Browser caches it across requests → empty HTML bodies on every page.
 */

/* === from cc-content-types.php:439 === */
:root {
  --cc-parch:#F4ECD8; --cc-ox:#8B1A1A; --cc-brass:#B8860B;
  --cc-torch:#FF9D2E; --cc-slate:#14171C; --cc-surface:#1E232B;
  --cc-hair:#2F3640; --cc-muted:#8A8676;
}
.cc-bc { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--cc-muted); padding:18px 0;
  border-bottom:1px solid var(--cc-hair); margin-bottom:28px; }
.cc-bc a { color:var(--cc-brass); text-decoration:none; }
.cc-bc a:hover { color:var(--cc-torch); }
.cc-bc .separator { color:var(--cc-hair); margin:0 8px; }

.cc-byline { display:flex; align-items:center; gap:14px; padding:18px 0 24px;
  border-bottom:1px solid var(--cc-hair); margin-bottom:32px;
  font-family:Inter,sans-serif; }
.cc-byline-avatar { border-radius:50%; border:2px solid var(--cc-brass); }
.cc-byline-body { display:flex; flex-direction:column; }
.cc-byline-name { font-family:Oswald,sans-serif; font-weight:700; font-size:14px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--cc-parch);
  text-decoration:none; }
.cc-byline-name:hover { color:var(--cc-torch); }
.cc-byline-meta { font-size:12px; color:var(--cc-muted); margin-top:2px; }
.cc-byline-meta a { color:var(--cc-brass); text-decoration:none; }

.cc-related { margin:56px 0 24px; padding-top:36px;
  border-top:1px solid var(--cc-hair); }
.cc-related h3 { font-family:Oswald,sans-serif; font-weight:700; font-size:14px;
  color:var(--cc-torch); letter-spacing:.22em; text-transform:uppercase;
  margin:0 0 20px; }
.cc-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media (max-width:720px) { .cc-related-grid { grid-template-columns:1fr; } }
.cc-related-card { background:var(--cc-surface); border:1px solid var(--cc-hair);
  text-decoration:none; color:var(--cc-parch); display:flex; flex-direction:column;
  transition:border-color .15s, transform .15s; overflow:hidden; }
.cc-related-card:hover { border-color:var(--cc-torch); transform:translateY(-2px); }
.cc-related-thumb { display:block; aspect-ratio:16/9; background-size:cover;
  background-position:center; background-color:#0E1116; }
.cc-related-thumb--empty::after { content:'⚑'; display:block;
  font-family:Cinzel,serif; font-size:32px; color:var(--cc-hair);
  text-align:center; padding-top:calc(50% - 24px); }
.cc-related-cat { font-family:Oswald,sans-serif; font-size:10px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--cc-torch);
  padding:14px 16px 0; }
.cc-related-title { font-family:Cinzel,serif; font-size:16px; line-height:1.3;
  color:var(--cc-parch); padding:6px 16px 10px; }
.cc-related-date { font-family:Inter,sans-serif; font-size:12px;
  color:var(--cc-muted); padding:0 16px 16px; margin-top:auto; }

/* === from cc-content-types.php:599 === */
.cc-dx { color:var(--cc-parch); padding:80px 0 64px; font-family:Inter,sans-serif; }
    .cc-dx-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
    .cc-dx-head { margin-bottom:30px; }
    .cc-dx-head .eyebrow { font-family:Oswald,sans-serif; font-size:11px;
      letter-spacing:.24em; text-transform:uppercase; color:var(--cc-torch); margin-bottom:8px; }
    .cc-dx-head h2 { font-family:Cinzel,serif; font-size:clamp(28px,3.4vw,42px);
      color:var(--cc-parch); margin:0; line-height:1.1; }
    .cc-dx-head p { font-family:Inter,sans-serif; font-size:15px;
      color:#C8C1B3; margin:12px 0 0; max-width:680px; line-height:1.6; }
    .cc-dx-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
    .cc-dx-chip { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.18em;
      text-transform:uppercase; color:#B7B0A2; padding:8px 14px;
      border:1px solid var(--cc-hair); background:var(--cc-surface);
      text-decoration:none; display:inline-flex; align-items:center; gap:8px;
      transition:border-color .12s, color .12s, background .12s; }
    .cc-dx-chip:hover { border-color:var(--cc-torch); color:var(--cc-torch); }
    .cc-dx-chip.is-active { background:var(--cc-torch); border-color:var(--cc-torch); color:var(--cc-slate); }
    .cc-dx-chip-count { background:rgba(0,0,0,.2); padding:2px 7px; font-size:10px; }
    .cc-dx-chip.is-active .cc-dx-chip-count { background:rgba(0,0,0,.3); color:var(--cc-slate); }

    .cc-dx-grid { display:grid; grid-template-columns:repeat(var(--cc-dx-cols, 3),1fr); gap:18px; margin-bottom:40px; }
    @media (max-width:900px) { .cc-dx-grid { grid-template-columns:repeat(2,1fr); } }
    @media (max-width:600px) { .cc-dx-grid { grid-template-columns:1fr; } }

    .cc-dx-card { background:var(--cc-surface); border:1px solid var(--cc-hair);
      display:flex; flex-direction:column; position:relative; transition:border-color .15s, transform .15s; }
    .cc-dx-card:hover { border-color:var(--cc-torch); transform:translateY(-2px); }
    .cc-dx-card::before { content:''; position:absolute; top:0; left:0; right:0;
      height:2px; background:linear-gradient(90deg,var(--cc-ox),var(--cc-brass),var(--cc-torch)); }
    .cc-dx-card.is-lead { grid-column:1 / -1; display:grid; grid-template-columns:1.3fr 1fr; }
    @media (max-width:900px) { .cc-dx-card.is-lead { grid-template-columns:1fr; grid-column:auto; } }
    .cc-dx-thumb { display:block; aspect-ratio:16/9; background-size:cover;
      background-position:center; background-color:#0E1116; }
    .cc-dx-thumb--empty::after { content:'⚑'; display:block; font-family:Cinzel,serif;
      font-size:48px; color:var(--cc-hair); text-align:center; padding-top:calc(50% - 34px); }
    .cc-dx-card.is-lead .cc-dx-thumb { aspect-ratio:auto; min-height:320px; }
    .cc-dx-card-body { padding:24px 24px 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
    .cc-dx-meta { display:flex; gap:12px; font-family:Oswald,sans-serif; font-size:10px;
      letter-spacing:.2em; text-transform:uppercase; color:var(--cc-muted); flex-wrap:wrap; }
    .cc-dx-meta .cat { color:var(--cc-torch); }
    .cc-dx-meta .num { color:var(--cc-brass); }
    .cc-dx-card h3 { font-family:Cinzel,serif; font-size:22px; line-height:1.2; margin:0; }
    .cc-dx-card.is-lead h3 { font-size:32px; }
    .cc-dx-card h3 a { color:var(--cc-parch); text-decoration:none; }
    .cc-dx-card h3 a:hover { color:var(--cc-torch); }
    .cc-dx-card p { font-family:Inter,sans-serif; font-size:14px; line-height:1.6;
      color:#B7B0A2; margin:0; }
    .cc-dx-foot { margin-top:auto; padding-top:14px; border-top:1px dashed rgba(255,157,46,.2);
      display:flex; justify-content:space-between; align-items:center;
      font-family:Inter,sans-serif; font-size:12px; }
    .cc-dx-author { color:var(--cc-muted); }
    .cc-dx-read { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.2em;
      text-transform:uppercase; color:var(--cc-torch); text-decoration:none; }

    .cc-dx-pag { font-family:Oswald,sans-serif; font-size:12px; letter-spacing:.14em;
      text-transform:uppercase; color:var(--cc-muted); margin-top:16px;
      display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
    .cc-dx-pag a, .cc-dx-pag .current { padding:8px 14px; border:1px solid var(--cc-hair);
      text-decoration:none; color:var(--cc-parch); }
    .cc-dx-pag a:hover { border-color:var(--cc-torch); color:var(--cc-torch); }
    .cc-dx-pag .current { background:var(--cc-torch); color:var(--cc-slate); border-color:var(--cc-torch); }

    .cc-dx-empty { padding:40px 32px; text-align:center; background:#0E1116;
      border:1px dashed var(--cc-hair); color:var(--cc-muted); }
    .cc-dx-empty strong { display:block; font-family:Oswald,sans-serif; font-size:16px;
      letter-spacing:.14em; text-transform:uppercase; color:var(--cc-parch); margin-bottom:6px; }
    .cc-dx-empty a { color:var(--cc-torch); }

/* === from cc-content-types.php:855 === */
.cc-event { font-family:Inter,sans-serif; color:var(--cc-parch); padding:12px 0 48px; }
.cc-event-hero { padding:32px 0 40px; border-bottom:1px solid var(--cc-hair); margin-bottom:40px; }
.cc-event-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.cc-event-status { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  padding:5px 12px; border:1px solid; border-radius:999px; display:inline-flex; align-items:center; gap:8px; }
.cc-event-status--live { color:#FF6B5B; border-color:#FF6B5B; background:rgba(255,107,91,.08); }
.cc-event-status--live::before { content:''; width:7px; height:7px; border-radius:50%;
  background:#FF6B5B; animation:cc-evt-p 1.8s infinite; }
@keyframes cc-evt-p { 0%{box-shadow:0 0 0 0 rgba(255,107,91,.5);} 70%{box-shadow:0 0 0 9px rgba(255,107,91,0);} 100%{box-shadow:0 0 0 0 rgba(255,107,91,0);} }
.cc-event-status--upcoming { color:var(--cc-torch); border-color:var(--cc-torch); }
.cc-event-status--past { color:var(--cc-muted); border-color:var(--cc-hair); }
.cc-event-status--cancelled { color:#E06464; border-color:#E06464; text-decoration:line-through; }
.cc-event-tier { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  padding:4px 10px; border:1px solid var(--cc-hair); color:#B7B0A2; }
.cc-event-tier.is-major { border-color:var(--cc-brass); color:var(--cc-brass); }
.cc-event-title { font-family:Cinzel,serif; font-size:clamp(30px,4.2vw,52px); font-weight:700;
  color:var(--cc-parch); margin:0 0 14px; line-height:1.1; }
.cc-event-meta-line { font-family:Inter,sans-serif; font-size:15px; color:#C8C1B3;
  display:flex; gap:8px; flex-wrap:wrap; }

.cc-event-cd { margin-top:22px; display:inline-flex; gap:8px; align-items:center;
  padding:10px 16px; background:var(--cc-surface); border:1px solid var(--cc-hair); font-family:Oswald,sans-serif; }
.cc-event-cd-label { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--cc-muted); margin-right:6px; }
.cc-event-cd-value { font-family:Cinzel,serif; font-size:22px; font-weight:700; color:var(--cc-parch); font-variant-numeric:tabular-nums; }
.cc-event-cd-unit { font-size:10px; letter-spacing:.18em; color:var(--cc-torch); text-transform:uppercase; margin-right:8px; }

.cc-event-grid { display:grid; grid-template-columns:320px 1fr; gap:40px; align-items:start; }
@media (max-width:900px) { .cc-event-grid { grid-template-columns:1fr; } }

.cc-event-infobox { background:var(--cc-surface); border:1px solid var(--cc-hair); border-top:3px solid var(--cc-brass); padding:24px 26px; font-family:Inter,sans-serif; }
.cc-ib-title { font-family:Oswald,sans-serif; font-weight:700; font-size:12px; color:var(--cc-parch);
  letter-spacing:.22em; text-transform:uppercase; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid var(--cc-hair); }
.cc-ib-title span { color:var(--cc-torch); }
.cc-ib-row { display:grid; grid-template-columns:100px 1fr; gap:12px; padding:8px 0; font-size:13px; border-bottom:1px dashed rgba(47,54,64,.5); }
.cc-ib-row:last-child { border-bottom:none; }
.cc-ib-row .k { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--cc-muted); padding-top:2px; }
.cc-ib-row .v { color:#C8C1B3; }
.cc-ib-row .v a { color:var(--cc-torch); text-decoration:none; border-bottom:1px dashed rgba(255,157,46,.35); }
.cc-ib-row .v .muted { color:var(--cc-muted); }

.cc-event-main p:first-child { margin-top:0; }
.cc-event-champ, .cc-event-pickem {
  background:#0E1116; border:1px solid var(--cc-hair); border-left:3px solid var(--cc-torch);
  padding:22px 24px; margin-bottom:28px;
}
.cc-event-champ { border-left-color:var(--cc-verdigris,#5BA38A); }
.cc-event-champ .eyebrow, .cc-event-pickem .eyebrow {
  font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--cc-torch); display:block; margin-bottom:8px;
}
.cc-event-champ .eyebrow { color:var(--cc-verdigris,#5BA38A); }
.cc-event-champ .name { font-family:Cinzel,serif; font-size:28px; font-weight:700; color:var(--cc-parch); text-decoration:none; display:block; }
.cc-event-champ .name:hover { color:var(--cc-torch); }
.cc-event-pickem .title { font-family:Cinzel,serif; font-size:20px; color:var(--cc-parch); margin-bottom:10px; }
.cc-event-pickem p { font-family:Inter,sans-serif; font-size:14px; color:#B7B0A2; line-height:1.6; margin:0 0 12px; }
.cc-event-pickem .btn { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cc-torch); text-decoration:none; padding:10px 16px; border:1px solid var(--cc-torch);
  display:inline-block; transition:background .12s, color .12s; }
.cc-event-pickem .btn:hover { background:var(--cc-torch); color:var(--cc-slate); }

.cc-event-dispatches { margin-top:24px; }
.cc-event-dispatches h3 { font-family:Oswald,sans-serif; font-weight:700; font-size:12px;
  color:var(--cc-torch); letter-spacing:.22em; text-transform:uppercase; margin:0 0 14px; }
.cc-event-dispatches .list { display:grid; gap:8px; }
.cc-event-dispatch { background:var(--cc-surface); border:1px solid var(--cc-hair); padding:14px 18px; display:flex; gap:14px; align-items:center; text-decoration:none; transition:border-color .15s; }
.cc-event-dispatch:hover { border-color:var(--cc-torch); }
.cc-event-dispatch .eyebrow { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--cc-brass); min-width:80px; }
.cc-event-dispatch .title { font-family:Cinzel,serif; font-size:16px; color:var(--cc-parch); }

.cc-event-provenance { margin-top:40px; padding-top:18px; border-top:1px solid var(--cc-hair);
  font-family:Inter,sans-serif; font-size:11px; color:var(--cc-muted); display:flex; gap:10px; flex-wrap:wrap; }
.cc-event-provenance a { color:var(--cc-brass); text-decoration:none; border-bottom:1px dashed rgba(184,134,11,.35); }

/* === from cc-content-types.php:1066 === */
.cc-team-pg { font-family:Inter,sans-serif; color:var(--cc-parch); padding:12px 0 48px; }
.cc-team-hero { display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center;
  padding:24px 0 32px; border-bottom:1px solid var(--cc-hair); margin-bottom:40px; }
@media (max-width:720px) { .cc-team-hero { grid-template-columns:1fr; } }
.cc-team-emblem { width:120px; height:120px; background:var(--cc-surface); border:1px solid var(--cc-hair);
  display:flex; align-items:center; justify-content:center; border-top:3px solid var(--cc-brass); }
.cc-team-logo { max-width:100%; max-height:100%; object-fit:contain; }
.cc-team-logo--empty { font-family:Cinzel,serif; font-size:56px; color:var(--cc-hair); }
.cc-team-region { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--cc-torch); margin-bottom:8px; }
.cc-team-title { font-family:Cinzel,serif; font-size:clamp(30px,4vw,48px); font-weight:700;
  color:var(--cc-parch); margin:0 0 16px; line-height:1.1; }
.cc-team-stats { display:flex; gap:24px; flex-wrap:wrap; }
.cc-team-stats .stat { display:flex; flex-direction:column; gap:2px; }
.cc-team-stats .label { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--cc-muted); }
.cc-team-stats .val { font-family:Cinzel,serif; font-size:22px; color:var(--cc-parch); }
.cc-team-form { display:inline-flex; gap:3px; }
.cc-team-form span { width:16px; height:16px; border-radius:2px; font-size:10px; line-height:16px;
  text-align:center; font-weight:700; font-family:Oswald,sans-serif; display:inline-block; }
.cc-team-form .w { background:rgba(91,163,138,.22); color:var(--cc-verdigris,#5BA38A); }
.cc-team-form .l { background:rgba(139,26,26,.3); color:#E06464; }

.cc-sub { font-family:Oswald,sans-serif; font-weight:700; font-size:12px; color:var(--cc-torch);
  letter-spacing:.22em; text-transform:uppercase; margin:0 0 16px; }
.cc-team-roster { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
.cc-team-roster-card { background:var(--cc-surface); border:1px solid var(--cc-hair); padding:14px 16px;
  text-decoration:none; display:flex; flex-direction:column; gap:4px; transition:border-color .15s; }
.cc-team-roster-card:hover { border-color:var(--cc-torch); }
.cc-team-roster-handle { font-family:Oswald,sans-serif; font-weight:700; font-size:15px; color:var(--cc-parch); letter-spacing:.04em; }
.cc-team-roster-meta { font-family:Inter,sans-serif; font-size:11px; color:var(--cc-muted); }
.cc-team-empty { padding:28px 30px; text-align:center; background:#0E1116; border:1px dashed var(--cc-hair);
  color:var(--cc-muted); font-family:Inter,sans-serif; font-size:13px; }
.cc-team-empty strong { display:block; font-family:Oswald,sans-serif; font-size:14px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--cc-parch); margin-bottom:6px; }

/* === from cc-content-types.php:1167 === */
.cc-player-pg { font-family:Inter,sans-serif; color:var(--cc-parch); padding:12px 0 48px; }
.cc-player-realname { font-family:Cinzel,serif; font-style:italic; color:var(--cc-muted); font-size:16px; margin-top:-6px; }

/* === from cc-content-types.php:1448 === */
.cc-matchpg { font-family:Inter,sans-serif; color:var(--cc-parch); padding:8px 0 48px; }
.cc-matchpg-bc { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--cc-muted); margin-bottom:22px; }
.cc-matchpg-bc a { color:var(--cc-brass); text-decoration:none; }
.cc-matchpg-bc a:hover { color:var(--cc-torch); }

.cc-matchpg-hero { display:grid; grid-template-columns:1fr auto 1fr; gap:28px; align-items:center;
  padding:28px 28px 32px; background:var(--cc-surface); border:1px solid var(--cc-hair); border-top:3px solid var(--cc-brass);
  margin-bottom:36px; }
@media (max-width:720px) { .cc-matchpg-hero { grid-template-columns:1fr; } }
.cc-matchpg-side { display:flex; flex-direction:column; align-items:center; gap:10px; opacity:.82; }
.cc-matchpg-side.winner { opacity:1; }
.cc-matchpg-logo { width:80px; height:80px; object-fit:contain; background:#0E1116; border:1px solid var(--cc-hair); padding:8px; }
.cc-matchpg-logo--empty { display:flex; align-items:center; justify-content:center; font-family:Cinzel,serif; font-size:36px; color:var(--cc-hair); }
.cc-matchpg-tname { font-family:Cinzel,serif; font-size:22px; color:var(--cc-parch); text-decoration:none;
  text-align:center; line-height:1.2; }
.cc-matchpg-tname:hover { color:var(--cc-torch); }

.cc-matchpg-center { text-align:center; }
.cc-matchpg-stage { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--cc-torch); margin-bottom:10px; }
.cc-matchpg-scoreline { display:flex; align-items:baseline; justify-content:center; gap:14px; }
.cc-matchpg-score { font-family:Cinzel,serif; font-weight:700; font-size:64px; color:var(--cc-muted); line-height:1;
  font-variant-numeric:tabular-nums; }
.cc-matchpg-score.lead { color:var(--cc-parch); }
.cc-matchpg-sep { font-family:Cinzel,serif; font-size:42px; color:var(--cc-hair); }
.cc-matchpg-status { margin-top:14px; font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; padding:5px 12px; border:1px solid; border-radius:999px; display:inline-block; }
.cc-matchpg-status.is-live { color:#FF6B5B; border-color:#FF6B5B; background:rgba(255,107,91,.08); }
.cc-matchpg-status.is-past { color:var(--cc-muted); border-color:var(--cc-hair); }
.cc-matchpg-status.is-sched { color:var(--cc-torch); border-color:var(--cc-torch); }
.cc-matchpg-status.is-cancel { color:#E06464; border-color:#E06464; text-decoration:line-through; }

.cc-match-cd { margin-top:12px; display:inline-flex; gap:6px; padding:8px 14px;
  background:#0E1116; border:1px solid var(--cc-hair); font-family:Oswald,sans-serif; font-size:12px;
  color:var(--cc-parch); letter-spacing:.06em; }
.cc-match-cd-label { color:var(--cc-muted); letter-spacing:.18em; text-transform:uppercase; margin-right:6px; }
.cc-match-cd [data-cc-d], .cc-match-cd [data-cc-h], .cc-match-cd [data-cc-m] { color:var(--cc-torch); font-weight:700; }

.cc-mm { margin-bottom:28px; }
.cc-mm-list { display:grid; gap:8px; }
.cc-mm-row { display:grid; grid-template-columns:80px 1fr auto auto auto; gap:14px; align-items:center;
  background:var(--cc-surface); border:1px solid var(--cc-hair); padding:14px 22px; font-family:Inter,sans-serif;
  font-size:14px; }
.cc-mm-num { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--cc-muted); }
.cc-mm-map { font-family:Oswald,sans-serif; font-weight:700; font-size:15px; color:var(--cc-parch); letter-spacing:.04em; text-transform:uppercase; }
.cc-mm-score { font-family:Cinzel,serif; font-weight:700; font-size:22px; color:var(--cc-muted); font-variant-numeric:tabular-nums; min-width:34px; text-align:center; }
.cc-mm-score.is-winner { color:var(--cc-parch); }
.cc-mm-sep { color:var(--cc-hair); }
.cc-mm-map a { color:var(--cc-parch); text-decoration:none; border-bottom:1px dashed transparent; }
.cc-mm-map a:hover { color:var(--cc-torch); border-bottom-color:var(--cc-torch); }

.cc-ps { margin:28px 0 24px; }
.cc-ps-map { margin-bottom:18px; }
.cc-ps-map-title { font-family:Oswald,sans-serif; font-weight:700; font-size:11px; color:var(--cc-brass);
  letter-spacing:.22em; text-transform:uppercase; margin-bottom:8px; padding-bottom:6px;
  border-bottom:1px dashed rgba(184,134,11,.3); }
.cc-ps-map-title a { color:var(--cc-brass); text-decoration:none; }
.cc-ps-table { width:100%; border-collapse:collapse; background:var(--cc-surface); border:1px solid var(--cc-hair);
  font-family:Inter,sans-serif; font-size:13px; }
.cc-ps-table th { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--cc-muted); text-align:left; padding:12px 14px; border-bottom:1px solid var(--cc-hair); font-weight:600; }
.cc-ps-table td { padding:10px 14px; border-bottom:1px solid var(--cc-hair); color:#C8C1B3; }
.cc-ps-table tr:last-child td { border-bottom:none; }
.cc-ps-table td a { color:var(--cc-parch); text-decoration:none; font-family:Oswald,sans-serif; font-weight:700; letter-spacing:.04em; }
.cc-ps-table td a:hover { color:var(--cc-torch); }
.cc-ps-table td.team-a { color:var(--cc-torch); font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.14em; }
.cc-ps-table td.team-b { color:var(--cc-brass); font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.14em; }
.cc-ps-table td.rating { color:var(--cc-verdigris,#5BA38A); font-weight:600; }

.cc-matchpg-links { display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
.cc-matchpg-link { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:#C8C1B3; padding:10px 16px; border:1px solid var(--cc-hair); text-decoration:none; transition:border-color .12s, color .12s; }
.cc-matchpg-link:hover { border-color:var(--cc-torch); color:var(--cc-torch); }
.cc-matchpg-link.is-primary { background:var(--cc-torch); color:var(--cc-slate); border-color:var(--cc-torch); }
.cc-matchpg-link.is-primary:hover { background:var(--cc-brass); border-color:var(--cc-brass); color:var(--cc-slate); }

/* Shared match row styles (used on event/team pages) */
.cc-match-row { display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center;
  background:var(--cc-surface); border:1px solid var(--cc-hair); padding:14px 22px; text-decoration:none;
  transition:border-color .15s; font-family:Inter,sans-serif; }
.cc-match-row:hover { border-color:var(--cc-torch); }
.cc-match-side { display:flex; align-items:center; gap:10px; font-family:Oswald,sans-serif; font-size:15px;
  font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--cc-parch); }
.cc-match-side.left { justify-content:flex-end; text-align:right; }
.cc-match-side.right { justify-content:flex-start; text-align:left; }
.cc-match-side.is-self .cc-match-tname { color:var(--cc-torch); }
.cc-match-middle { text-align:center; min-width:140px; }
.cc-match-stage { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cc-muted); margin-bottom:4px; }
.cc-match-score { font-family:Cinzel,serif; font-weight:700; font-size:20px; color:var(--cc-muted); line-height:1;
  font-variant-numeric:tabular-nums; display:flex; gap:8px; justify-content:center; align-items:baseline; }
.cc-match-score .lead { color:var(--cc-parch); }
.cc-match-score .sep { color:var(--cc-hair); }
.cc-match-score.muted { color:var(--cc-muted); font-size:16px; }
.cc-match-time { font-family:Oswald,sans-serif; font-size:13px; color:#C8C1B3; letter-spacing:.04em; }
.cc-match-curmap { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#FF6B5B; margin-top:4px; }
.cc-match-status-line { margin-top:4px; }
.cc-match-status { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase; padding:2px 8px; border:1px solid; border-radius:999px; display:inline-block; }
.cc-match-status.is-live { color:#FF6B5B; border-color:#FF6B5B; background:rgba(255,107,91,.08); }
.cc-match-status.is-live::before { content:'● '; }
.cc-match-status.is-past { color:var(--cc-muted); border-color:var(--cc-hair); }
.cc-match-status.is-sched { color:var(--cc-torch); border-color:var(--cc-torch); }
.cc-match-status.is-cancel { color:#E06464; border-color:#E06464; text-decoration:line-through; }

/* === from cc-content-types.php:1716 === */
.cc-mappg { font-family:Inter,sans-serif; color:var(--cc-parch); padding:0 0 48px; }
.cc-mappg-hero { padding:80px 24px 64px; background-color:#0E1116; background-size:cover; background-position:center;
  border-bottom:1px solid var(--cc-hair); margin-bottom:40px; }
.cc-mappg-head { max-width:900px; }
.cc-mappg-tag { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  padding:5px 12px; border:1px solid var(--cc-hair); color:#C8C1B3; border-radius:999px; display:inline-block; margin-bottom:18px; }
.cc-mappg-tag.is-active { color:var(--cc-verdigris,#5BA38A); border-color:var(--cc-verdigris,#5BA38A); }
.cc-mappg-tag.is-inactive { color:var(--cc-muted); }
.cc-mappg-title { font-family:Cinzel,serif; font-size:clamp(36px,5vw,64px); font-weight:700; color:var(--cc-parch); margin:0; line-height:1.05; }
.cc-mappg-code { font-family:'JetBrains Mono','Courier New',monospace; font-size:14px; color:var(--cc-torch); background:rgba(255,157,46,.08); padding:3px 8px; display:inline-block; margin-top:10px; }
.cc-mappg-setting { font-family:Inter,sans-serif; font-style:italic; color:#C8C1B3; margin-top:14px; font-size:16px; }

.cc-mappg.is-cobble .cc-mappg-tag {
  color:var(--cc-brass); border-color:var(--cc-brass); background:rgba(184,134,11,.08);
}
.cc-mappg-cobble { max-width:900px; margin:0 auto 40px; padding:0 24px; }
.cc-mappg-cobble .eyebrow { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--cc-brass); margin-bottom:8px; }
.cc-mappg-cobble h2 { font-family:Cinzel,serif; font-size:32px; color:var(--cc-parch); margin:0 0 14px; }
.cc-mappg-cobble p { font-family:Inter,sans-serif; font-size:16px; color:#C8C1B3; line-height:1.7; margin:0 0 20px; }
.cc-mappg-cta-row { display:flex; gap:10px; flex-wrap:wrap; }
.cc-mappg-cta { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:#C8C1B3; padding:12px 18px; border:1px solid var(--cc-hair); text-decoration:none;
  transition:border-color .15s, color .15s, background .15s; }
.cc-mappg-cta:hover { border-color:var(--cc-torch); color:var(--cc-torch); }
.cc-mappg-cta.is-primary { background:var(--cc-torch); color:var(--cc-slate); border-color:var(--cc-torch); }
.cc-mappg-cta.is-primary:hover { background:var(--cc-brass); border-color:var(--cc-brass); color:var(--cc-slate); }

.cc-mappg-ports { margin-bottom:36px; }
.cc-mappg-ports-list { display:grid; gap:8px; }
.cc-mappg-port { background:var(--cc-surface); border:1px solid var(--cc-hair); padding:16px 20px; text-decoration:none;
  display:grid; grid-template-columns:1fr 1fr 2fr; gap:14px; align-items:center; transition:border-color .15s; }
.cc-mappg-port:hover { border-color:var(--cc-torch); }
.cc-mappg-port .name { font-family:Oswald,sans-serif; font-weight:700; font-size:14px; color:var(--cc-parch); letter-spacing:.04em; text-transform:uppercase; }
.cc-mappg-port .author { font-family:Inter,sans-serif; font-size:12px; color:var(--cc-brass); }
.cc-mappg-port .note { font-family:Inter,sans-serif; font-size:12px; color:#B7B0A2; }

.cc-mappg-matches { margin-bottom:20px; }
.cc-mappg-match-list { display:grid; gap:10px; }

/* === from cc-content-types.php:1797 === */
.cc-team-events { margin-top:32px; }
    .cc-team-events-list { display:grid; gap:8px; }
    .cc-team-event { background:var(--cc-surface); border:1px solid var(--cc-hair); border-left:2px solid var(--cc-hair);
      padding:14px 20px; text-decoration:none; display:flex; flex-direction:column; gap:4px; transition:border-color .15s; }
    .cc-team-event:hover { border-color:var(--cc-torch); border-left-color:var(--cc-torch); }
    .cc-team-event.won { border-left-color:var(--cc-verdigris,#5BA38A); }
    .cc-team-event-name { font-family:Oswald,sans-serif; font-weight:700; font-size:14px; color:var(--cc-parch);
      letter-spacing:.04em; text-transform:uppercase; }
    .cc-team-event-meta { font-family:Inter,sans-serif; font-size:12px; color:var(--cc-muted); display:flex; gap:8px; flex-wrap:wrap; }
    .cc-team-event-meta .champ { color:var(--cc-verdigris,#5BA38A); font-weight:600; }

/* === from cc-content-types.php:1842 === */
.cc-event-teams { margin-top:28px; margin-bottom:28px; }
    .cc-event-teams-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
    .cc-event-team { background:var(--cc-surface); border:1px solid var(--cc-hair); padding:16px 18px;
      text-decoration:none; color:var(--cc-parch); position:relative; transition:border-color .15s, transform .15s; }
    .cc-event-team:hover { border-color:var(--cc-torch); transform:translateY(-2px); }
    .cc-event-team .rank { position:absolute; top:10px; right:12px; font-family:Oswald,sans-serif; font-size:10px;
      letter-spacing:.14em; color:var(--cc-brass); }
    .cc-event-team .name { font-family:Oswald,sans-serif; font-weight:700; font-size:15px; letter-spacing:.04em;
      text-transform:uppercase; }
    .cc-event-team .region { font-family:Inter,sans-serif; font-size:11px; color:var(--cc-muted); margin-top:4px; text-transform:uppercase; letter-spacing:.1em; }
    .cc-event-team.is-unknown { color:var(--cc-muted); font-family:Oswald,sans-serif; letter-spacing:.04em; text-transform:uppercase; }

/* === from cc-content-types.php:1891 === */
.cc-event-matches { margin-top:32px; }
    .cc-event-matches-group { margin-bottom:24px; }
    .cc-event-matches-stage { font-family:Oswald,sans-serif; font-weight:700; font-size:11px;
      color:var(--cc-brass); letter-spacing:.22em; text-transform:uppercase; margin:0 0 10px;
      padding-bottom:8px; border-bottom:1px dashed rgba(184,134,11,.3); }
    .cc-event-matches-list { display:grid; gap:10px; }

/* === from cc-content-types.php:1935 === */
.cc-team-matches { margin-top:32px; }
    .cc-team-matches-list { display:grid; gap:10px; }

/* === from cc-content-types.php:2095 === */
.cc-events { color:var(--cc-parch); padding:80px 0 96px; font-family:Inter,sans-serif; }
.cc-events-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
.cc-events-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:30px; }
.cc-events-head .eyebrow { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--cc-torch); margin-bottom:6px; }
.cc-events-head h2 { font-family:Cinzel,serif; font-size:clamp(28px,3.4vw,42px); color:var(--cc-parch); margin:0; line-height:1.1; }
.cc-events-head p { font-family:Inter,sans-serif; font-size:15px; color:#C8C1B3; max-width:600px; margin:10px 0 0; line-height:1.6; }
.cc-events-head .chip { display:inline-flex; align-items:center; gap:8px; padding:6px 12px;
  background:rgba(91,163,138,.14); border:1px solid rgba(91,163,138,.45); color:var(--cc-verdigris,#5BA38A);
  font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; border-radius:999px; }
.cc-events-head .chip::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--cc-verdigris,#5BA38A); }

.cc-tabs { display:flex; gap:2px; border-bottom:1px solid var(--cc-hair); margin-bottom:32px; flex-wrap:wrap; }
.cc-tab { background:transparent; border:0; border-bottom:2px solid transparent; padding:12px 22px 14px;
  font-family:Oswald,sans-serif; font-weight:700; font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--cc-muted); cursor:pointer; transition:color .12s, border-color .12s;
  display:inline-flex; align-items:center; gap:10px; }
.cc-tab[aria-selected="true"] { color:var(--cc-parch); border-bottom-color:var(--cc-torch); }
.cc-tab[aria-selected="false"]:hover { color:#C8C1B3; }
.cc-tab-count { display:inline-block; padding:2px 8px; border:1px solid currentColor; font-size:10px; letter-spacing:.14em; }
.cc-tab-dot { width:7px; height:7px; border-radius:50%; background:#FF6B5B; box-shadow:0 0 0 0 rgba(255,107,91,.55);
  animation:cc-evt-pulse 1.8s infinite; }
@keyframes cc-evt-pulse { 0%{box-shadow:0 0 0 0 rgba(255,107,91,.6);} 70%{box-shadow:0 0 0 9px rgba(255,107,91,0);} 100%{box-shadow:0 0 0 0 rgba(255,107,91,0);} }
.cc-tab-panel { display:none; }
.cc-tab-panel.is-active { display:block; }
.cc-tab-empty { padding:36px 32px; text-align:center; background:#0E1116; border:1px dashed var(--cc-hair);
  color:var(--cc-muted); font-family:Inter,sans-serif; font-size:14px; }
.cc-tab-empty strong { display:block; font-family:Oswald,sans-serif; font-size:16px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--cc-parch); margin-bottom:6px; }

.cc-sched { display:grid; gap:14px; }
.cc-sched-row { background:var(--cc-surface); border:1px solid var(--cc-hair); border-left:3px solid var(--cc-torch);
  padding:22px 26px; display:grid; gap:16px; grid-template-columns:130px 1fr auto; align-items:center;
  transition:border-left-color .15s, transform .15s; }
.cc-sched-row:hover { border-left-color:var(--cc-brass); transform:translateX(2px); }
.cc-sched-row[data-status="past"] { border-left-color:var(--cc-muted); opacity:.75; }
.cc-sched-row[data-status="live"] { border-left-color:#FF6B5B; }
.cc-sched-date { font-family:Oswald,sans-serif; }
.cc-sched-month { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--cc-torch); }
.cc-sched-dayrange { font-size:22px; font-weight:700; color:var(--cc-parch); line-height:1; margin-top:4px; letter-spacing:.02em; }
.cc-sched-year { font-size:10px; letter-spacing:.18em; color:var(--cc-muted); text-transform:uppercase; margin-top:6px; }
.cc-sched-body h3 { font-family:Oswald,sans-serif; font-weight:700; font-size:18px; color:var(--cc-parch);
  margin:0 0 4px; letter-spacing:.04em; text-transform:uppercase; }
.cc-sched-body .meta { font-family:Inter,sans-serif; font-size:13px; color:var(--cc-muted);
  display:flex; flex-wrap:wrap; gap:12px; }
.cc-sched-body .meta span::before { content:'· '; color:var(--cc-hair); }
.cc-sched-body .meta span:first-child::before { content:''; }
.cc-sched-body .meta .champ { color:var(--cc-verdigris,#5BA38A); font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.cc-sched-tags { display:flex; gap:6px; flex-wrap:wrap; }
.cc-sched-tag { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  padding:4px 8px; border:1px solid var(--cc-hair); color:#B7B0A2; }
.cc-sched-tag.major { border-color:var(--cc-brass); color:var(--cc-brass); }

.cc-events-foot { margin-top:40px; padding:22px 24px; background:#0B0D11; border:1px solid var(--cc-hair);
  border-left:3px solid var(--cc-brass); font-family:Inter,sans-serif; font-size:13px; color:#C8C1B3;
  display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; align-items:center; }
.cc-events-foot a { color:var(--cc-torch); text-decoration:none; border-bottom:1px dashed rgba(255,157,46,.4); }
.cc-events-foot a:hover { border-bottom-color:var(--cc-torch); }

@media (max-width:720px) { .cc-sched-row { grid-template-columns:1fr; } .cc-sched-tags { justify-content:flex-start; } }

/* === from cc-content-types.php:2215 === */
.cc-window-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
.cc-team { background:var(--cc-surface); border:1px solid var(--cc-hair); padding:18px 16px 16px;
  display:flex; flex-direction:column; gap:4px; position:relative; transition:border-color .15s, transform .15s;
  text-decoration:none; color:var(--cc-parch); }
.cc-team:hover { border-color:var(--cc-torch); transform:translateY(-2px); }
.cc-team-rank { position:absolute; top:12px; right:14px; font-family:Oswald,sans-serif; font-size:11px;
  letter-spacing:.18em; color:var(--cc-brass); }
.cc-team-region { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--cc-muted); margin-bottom:6px; }
.cc-team-name { font-family:Oswald,sans-serif; font-weight:700; font-size:18px; color:var(--cc-parch);
  letter-spacing:.04em; text-transform:uppercase; }
.cc-team-form { margin-top:10px; display:flex; gap:3px; }
.cc-team-form span { width:14px; height:14px; border-radius:2px; display:inline-block; font-size:9px;
  line-height:14px; text-align:center; font-weight:700; font-family:Oswald,sans-serif; }
.cc-team-form .w { background:rgba(91,163,138,.22); color:var(--cc-verdigris,#5BA38A); }
.cc-team-form .l { background:rgba(139,26,26,.3); color:#E06464; }

/* === from cc-content-types.php:2367 === */
.cc-rank { color:var(--cc-parch); padding:80px 0 64px; font-family:Inter,sans-serif; }
.cc-rank-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
.cc-rank-head { margin-bottom:30px; }
.cc-rank-head .eyebrow { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--cc-torch); margin-bottom:8px; }
.cc-rank-head h2 { font-family:Cinzel,serif; font-size:clamp(28px,3.4vw,42px); color:var(--cc-parch); margin:0; line-height:1.1; }
.cc-rank-head p { font-family:Inter,sans-serif; font-size:15px; color:#C8C1B3; margin:12px 0 0; max-width:680px; line-height:1.6; }

.cc-rank-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.cc-rank-chip { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:#B7B0A2; padding:8px 14px; border:1px solid var(--cc-hair); background:var(--cc-surface); text-decoration:none;
  display:inline-flex; align-items:center; gap:8px; transition:border-color .12s, color .12s, background .12s; }
.cc-rank-chip:hover { border-color:var(--cc-torch); color:var(--cc-torch); }
.cc-rank-chip.is-active { background:var(--cc-torch); border-color:var(--cc-torch); color:var(--cc-slate); }
.cc-rank-chip .count { background:rgba(0,0,0,.2); padding:2px 7px; font-size:10px; }
.cc-rank-chip.is-active .count { background:rgba(0,0,0,.3); color:var(--cc-slate); }

.cc-rank-table { width:100%; border-collapse:collapse; background:var(--cc-surface); border:1px solid var(--cc-hair);
  font-family:Inter,sans-serif; font-size:14px; }
.cc-rank-table th { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cc-muted); text-align:left; padding:14px 18px; border-bottom:1px solid var(--cc-hair); font-weight:600; }
.cc-rank-table th.rank, .cc-rank-table th.country { width:60px; }
.cc-rank-table th.region { width:120px; }
.cc-rank-table th.form { width:140px; }
.cc-rank-table td { padding:14px 18px; border-bottom:1px solid var(--cc-hair); }
.cc-rank-table tr:last-child td { border-bottom:none; }
.cc-rank-table tr:hover td { background:rgba(255,157,46,.04); }
.cc-rank-table td.rank { font-family:Cinzel,serif; font-weight:700; color:var(--cc-brass); font-size:16px; }
.cc-rank-table td.name a { color:var(--cc-parch); text-decoration:none; font-family:Oswald,sans-serif; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; font-size:15px; }
.cc-rank-table td.name a:hover { color:var(--cc-torch); }
.cc-rank-table td.region { color:var(--cc-muted); font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; }
.cc-rank-table td.country { font-family:'JetBrains Mono',monospace; color:var(--cc-brass); font-size:12px; letter-spacing:.08em; }
.cc-rank-table td.form { white-space:nowrap; }
.cc-rank-table td.form span { display:inline-block; width:16px; height:16px; border-radius:2px; margin-right:3px;
  text-align:center; font-size:10px; line-height:16px; font-weight:700; font-family:Oswald,sans-serif; }
.cc-rank-table td.form span.w { background:rgba(91,163,138,.22); color:var(--cc-verdigris,#5BA38A); }
.cc-rank-table td.form span.l { background:rgba(139,26,26,.3); color:#E06464; }

.cc-rank-empty { padding:40px 32px; text-align:center; background:#0E1116; border:1px dashed var(--cc-hair); color:var(--cc-muted); }
.cc-rank-empty strong { display:block; font-family:Oswald,sans-serif; font-size:16px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--cc-parch); margin-bottom:6px; }

.cc-rank-unranked { margin-top:40px; padding:28px 30px; background:#0E1116; border:1px dashed var(--cc-hair); }
.cc-rank-unranked-head { margin-bottom:20px; }
.cc-rank-unranked-head h3 { font-family:Oswald,sans-serif; font-weight:700; font-size:12px;
  color:var(--cc-brass); letter-spacing:.22em; text-transform:uppercase; margin:0 0 6px; }
.cc-rank-unranked-head p { font-family:Inter,sans-serif; font-size:13px; color:var(--cc-muted); margin:0; }
.cc-rank-unranked-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px; }
.cc-rank-unranked-card { background:var(--cc-surface); border:1px solid var(--cc-hair); padding:14px 16px;
  text-decoration:none; color:var(--cc-parch); display:flex; flex-direction:column; gap:4px;
  transition:border-color .15s; }
.cc-rank-unranked-card:hover { border-color:var(--cc-torch); }
.cc-rank-unranked-card .name { font-family:Oswald,sans-serif; font-weight:700; font-size:14px;
  letter-spacing:.04em; text-transform:uppercase; }
.cc-rank-unranked-card .meta { display:flex; gap:8px; font-family:Oswald,sans-serif; font-size:10px;
  letter-spacing:.14em; color:var(--cc-muted); text-transform:uppercase; }

.cc-pending, .cc-meta-tba { color:var(--cc-muted); font-family:Oswald,sans-serif; font-size:12px;
  letter-spacing:.14em; text-transform:uppercase; font-style:normal; }

/* === from cc-content-types.php:2521 === */
.cc-ticker { background:#0B0D11; border-top:1px solid var(--cc-hair); border-bottom:1px solid var(--cc-hair);
  font-family:Inter,sans-serif; color:var(--cc-parch); font-size:13px; }
.cc-ticker-wrap { max-width:1180px; margin:0 auto; padding:12px 24px;
  display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.cc-ticker-label { font-family:Oswald,sans-serif; font-weight:700; font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--cc-parch); display:flex; align-items:center; gap:8px; flex-shrink:0; }
.cc-ticker.is-live .cc-ticker-label { color:#FF6B5B; }
.cc-ticker-dot { width:8px; height:8px; border-radius:50%; background:#FF6B5B;
  box-shadow:0 0 0 0 rgba(255,107,91,.55); animation:cc-tick-p 1.8s infinite; }
@keyframes cc-tick-p { 0%{box-shadow:0 0 0 0 rgba(255,107,91,.6);} 70%{box-shadow:0 0 0 8px rgba(255,107,91,0);} 100%{box-shadow:0 0 0 0 rgba(255,107,91,0);} }
.cc-ticker-list { flex:1; display:flex; gap:18px; overflow-x:auto; align-items:center; }
.cc-ticker-match { display:inline-flex; align-items:center; gap:8px; text-decoration:none; color:var(--cc-parch);
  padding:4px 10px; border:1px solid transparent; border-radius:2px; transition:border-color .15s, background .15s; white-space:nowrap; }
.cc-ticker-match:hover { border-color:var(--cc-hair); background:var(--cc-surface); }
.cc-ticker-team { font-family:Oswald,sans-serif; font-weight:700; font-size:12px; letter-spacing:.06em;
  text-transform:uppercase; }
.cc-ticker-score { font-family:Cinzel,serif; font-weight:700; font-size:14px; color:var(--cc-muted); font-variant-numeric:tabular-nums; min-width:14px; text-align:center; }
.cc-ticker-score.lead { color:var(--cc-parch); }
.cc-ticker-sep { color:var(--cc-hair); }
.cc-ticker-vs { color:var(--cc-muted); font-size:11px; font-style:italic; }
.cc-ticker-extra { color:var(--cc-muted); font-family:Inter,sans-serif; font-size:11px; margin-left:6px; }
.cc-ticker-empty { color:var(--cc-muted); font-style:italic; font-size:12px; }
.cc-ticker-more { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cc-torch); text-decoration:none; flex-shrink:0; }
.cc-ticker-more:hover { color:var(--cc-brass); }
@media (max-width:640px) {
  .cc-ticker-wrap { flex-direction:column; align-items:stretch; gap:8px; }
  .cc-ticker-list { overflow-x:auto; padding-bottom:4px; }
}

/* === from cc-content-types.php:2661 === */
.cc-arch { padding:80px 0 96px; color:var(--cc-parch); font-family:Inter,sans-serif; }
    .cc-arch-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
    .cc-arch-head { margin-bottom:32px; }
    .cc-arch-head .eyebrow { font-family:Oswald,sans-serif; font-size:11px; letter-spacing:.24em;
      text-transform:uppercase; color:var(--cc-torch); margin-bottom:8px; }
    .cc-arch-head h2 { font-family:Cinzel,serif; font-size:clamp(28px,3.4vw,42px); color:var(--cc-parch); margin:0; line-height:1.1; }
    .cc-arch-head p { font-family:Inter,sans-serif; font-size:15px; color:#C8C1B3; margin:12px 0 0; max-width:680px; line-height:1.6; }
    .cc-arch-sub { font-family:Oswald,sans-serif; font-weight:700; font-size:12px; color:var(--cc-brass);
      letter-spacing:.22em; text-transform:uppercase; margin:28px 0 14px; padding-bottom:10px;
      border-bottom:1px dashed rgba(184,134,11,.3); }

    .cc-map-cobble-slot { margin-bottom:36px; }
    .cc-map-cobble-slot .cc-map-card { min-height:320px; padding:40px; }
    .cc-map-cobble-slot .cc-map-card h3 { font-size:42px; }

    .cc-map-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
    .cc-map-card { background:#0E1116 center/cover no-repeat; border:1px solid var(--cc-hair);
      text-decoration:none; color:var(--cc-parch); padding:22px 24px; min-height:180px; display:flex;
      align-items:flex-end; transition:border-color .15s, transform .15s; }
    .cc-map-card:hover { border-color:var(--cc-torch); transform:translateY(-2px); }
    .cc-map-card.cobble { border-color:var(--cc-brass); border-left:3px solid var(--cc-brass); }
    .cc-map-card-body { width:100%; }
    .cc-map-card-tag { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase;
      padding:3px 8px; border:1px solid; display:inline-block; margin-bottom:8px; }
    .cc-map-card-tag.is-cobble { color:var(--cc-brass); border-color:var(--cc-brass); }
    .cc-map-card-tag.is-active { color:var(--cc-verdigris,#5BA38A); border-color:var(--cc-verdigris,#5BA38A); }
    .cc-map-card-tag.is-reserve { color:var(--cc-muted); border-color:var(--cc-hair); }
    .cc-map-card h3 { font-family:Cinzel,serif; font-size:24px; color:var(--cc-parch); margin:0 0 4px; line-height:1.1; }
    .cc-map-card code { font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--cc-torch);
      background:rgba(255,157,46,.1); padding:2px 6px; }
    .cc-map-card-set { font-family:Inter,sans-serif; font-size:12px; color:#B7B0A2; margin-top:8px; font-style:italic; }
    .cc-map-card-removed { font-family:Oswald,sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase;
      color:var(--cc-muted); margin-top:6px; }
    .cc-arch-main { background:var(--cc-slate); }

/* === from cc-content-types.php:2749 === */
.cc-arch-group { margin-bottom:32px; }
    .cc-arch-group .count { color:var(--cc-muted); font-weight:400; margin-left:6px; }
    .cc-arch-group .cc-arch-sub a { color:var(--cc-brass); text-decoration:none; }
    .cc-arch-group .cc-arch-sub a:hover { color:var(--cc-torch); }
    .cc-arch-matches { display:grid; gap:10px; }

/* === from cc-content-types.php:2823 === */
.cc-arch-player-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
    .cc-arch-player { background:var(--cc-surface); border:1px solid var(--cc-hair); padding:14px 16px;
      text-decoration:none; display:flex; flex-direction:column; gap:4px; transition:border-color .15s; }
    .cc-arch-player:hover { border-color:var(--cc-torch); }
    .cc-arch-player .handle { font-family:Oswald,sans-serif; font-weight:700; font-size:15px; color:var(--cc-parch);
      letter-spacing:.04em; }
    .cc-arch-player .meta { display:flex; gap:8px; font-family:Oswald,sans-serif; font-size:10px;
      letter-spacing:.14em; text-transform:uppercase; }
    .cc-arch-player .role { color:var(--cc-torch); }
    .cc-arch-player .country { color:var(--cc-muted); }


/* === v1.6.x visual fixes ==============================================
 * V1 · Hide Hello Elementor's default .entry-title on CPT singular pages
 *      (our cc_render_*_template provides the hero h1).
 * V2 · Widen the header search input.
 * V3 · Roster grid density (120px min, was 160px).
 * H1 · Lock logo to a sane square size — 500x500 source was being flex-crushed.
 * H2 · Tighten nav-menu padding + font so 8 items fit on a single row at 1200+.
 * H3 · Widen header boxed inner container to 1400px (default ~1140 is too tight).
 * H4 · Header buttons never wrap text vertically (no more "SIGN / IN / SOON").
 * H5 · Below 1200px switch the main nav to a hamburger — 8 items just won't
 *      fit horizontally alongside search + 2 CTAs at tablet widths.
 * H6 · Ticker row full-bleed tidy.
 */

/* ---- V1 duplicate H1 suppression on CPT singulars -------------------- */
body.single-cc_event  .entry-title,
body.single-cc_team   .entry-title,
body.single-cc_player .entry-title,
body.single-cc_match  .entry-title,
body.single-cc_map    .entry-title {
  display: none;
}
body.single-cc_event  .entry-header:empty,
body.single-cc_team   .entry-header:empty,
body.single-cc_player .entry-header:empty,
body.single-cc_match  .entry-header:empty,
body.single-cc_map    .entry-header:empty {
  display: none;
}

/* ---- V3 roster grid density ----------------------------------------- */
.cc-team-roster {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
}

/* ===================================================================== *
 * HEADER LAYOUT FIXES
 * ===================================================================== */

/* H3 — Give the header more horizontal room */
.elementor-location-header .e-con-boxed > .e-con-inner,
header.elementor-location-header .e-con-boxed > .e-con-inner {
  max-width: 1440px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* H3b — Left-cluster can shrink/grow; right is fixed.
 *       Also tighten the Elementor flex-gap between logo and nav
 *       (default was 48px — wastes horizontal room). */
.elementor-location-header .e-con-boxed > .e-con-inner > .e-child:first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  gap: 16px !important;
  column-gap: 16px !important;
}

/* H1 — Logo: FORCE explicit size; flex parent was crushing the img */
.elementor-location-header .elementor-widget-theme-site-logo {
  flex: 0 0 auto !important;
  width: auto !important;
}
.elementor-location-header .elementor-widget-theme-site-logo .elementor-widget-container {
  width: 72px;
}
.elementor-location-header .elementor-widget-theme-site-logo img {
  width: 72px !important;
  height: 72px !important;
  max-width: none !important;
  object-fit: contain;
}
@media (min-width: 1300px) {
  .elementor-location-header .elementor-widget-theme-site-logo .elementor-widget-container {
    width: 84px;
  }
  .elementor-location-header .elementor-widget-theme-site-logo img {
    width: 84px !important;
    height: 84px !important;
  }
}

/* H2 — Nav menu: tighter item padding, no wrap, no overflow into right cluster
 *      Measured at 1440: 8 items with 14px padding = 883px; left container gets
 *      862px → de_cbble overlapped the search. Dropping to 10px saves ~64px. */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu {
  flex-wrap: nowrap !important;
  gap: 0;
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
  padding-left: 9px !important;
  padding-right: 9px !important;
  font-size: 12.5px !important;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
@media (min-width: 1400px) {
  .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
    padding-left: 11px !important;
    padding-right: 11px !important;
    font-size: 13px !important;
  }
}

/* H4 — Header buttons: never wrap text, tighter padding */
.elementor-location-header .elementor-button {
  white-space: nowrap !important;
}
.elementor-location-header .elementor-button .elementor-button-text,
.elementor-location-header .elementor-button-content-wrapper {
  white-space: nowrap !important;
}
.cc-header-signin .elementor-button,
.elementor-location-header .elementor-widget-button .elementor-button {
  padding-left: 12px !important;
  padding-right: 12px !important;
  font-size: 11.5px !important;
}
.elementor-location-header .elementor-widget-button {
  flex: 0 0 auto !important;
}

/* H7 — Right-cluster container: kill internal overflow.
 *      Elementor had paddingL:32px + justify:flex-end on a locked 408px
 *      container, so the overflowing content (search+buttons = ~455px) was
 *      bleeding LEFT and covering the last nav item (de_cbble). */
.elementor-location-header .e-con-inner > .e-child:last-child,
.elementor-location-header .e-con-inner > .e-child.elementor-hidden-mobile {
  flex: 0 0 auto !important;
  min-width: 0;
  padding-left: 12px !important;
  padding-right: 0 !important;
  gap: 8px !important;
  column-gap: 8px !important;
}

/* V2 (refined) — Search input: compact fixed width */
.cc-header-search {
  flex: 0 0 170px !important;
  min-width: 170px !important;
  max-width: 170px;
}
.cc-header-search .elementor-search-form__container {
  width: 100%;
  min-width: 0;
}
.cc-header-search input[type="search"],
.cc-header-search .elementor-search-form__input {
  width: 100%;
  min-width: 0;
  font-size: 13px;
}

/* H5 — Collapse to hamburger below 1300px. 8 items + search + 2 CTAs
 *      measurably can't fit below ~1320. Only enable full nav at 1300+. */
@media (max-width: 1299px) {
  .elementor-location-header .elementor-nav-menu--main {
    display: none !important;
  }
  .elementor-location-header .elementor-menu-toggle {
    display: flex !important;
  }
}
@media (max-width: 900px) {
  /* At narrow tablet, also hide search + CTAs in the header row —
     they'll be reachable via the dropdown / footer */
  .cc-header-search {
    display: none !important;
  }
}

/* H6 — Ticker: tighten the top "Next up" strip so it doesn't feel airy */
.elementor-location-header .cc-ticker-wrap {
  padding-top: 6px;
  padding-bottom: 6px;
}

/* ===================================================================== *
 * CTA CONTAINER FIXES
 * Player Profiles + Community Submissions pages have an outer Elementor
 * container with a stale khaki background (rgb 138,134,118) wrapping the
 * real dark CTA card, producing a photo-frame look off-brand for the
 * dark-slate design system. Kill the outer bg + tighten padding so the
 * card sits flush on the page's dark surface.
 * ===================================================================== */
.elementor-element.elementor-element-54c76a44,
.elementor-element.elementor-element-5f7a82e9 {
  background-color: transparent !important;
  background-image: none !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Give the inner card (heading + form + legal line) a subtle dark-card look
 * matching News page's mid-CTA treatment. */
.elementor-element-54c76a44 .e-con-inner > .e-child,
.elementor-element-5f7a82e9 .e-con-inner > .e-child {
  background-color: var(--cc-surface, #1E232B) !important;
  border: 1px solid var(--cc-hair, #2F3640) !important;
  border-left: 3px solid var(--cc-brass, #B8860B) !important;
  padding: 28px 32px !important;
  max-width: 720px;
  margin: 0 auto !important;
}
.elementor-element-54c76a44 .elementor-heading-title,
.elementor-element-5f7a82e9 .elementor-heading-title {
  font-family: Cinzel, serif;
  letter-spacing: 0.02em;
}

/* Elementor form submit buttons shouldn't wrap ("NOTIFY ME" on two lines
 * looks broken; Sign In / Join Discord already handled in H4). */
.elementor-form .elementor-button,
.elementor-form .elementor-button .elementor-button-text {
  white-space: nowrap !important;
}
.elementor-form .e-form__buttons {
  flex: 0 0 auto !important;
}

/* Defensive sweep: any e-con-boxed with inline khaki bg gets the same
 * treatment (survives if Elementor regenerates different IDs). */
.elementor-location-footer ~ * .e-con-boxed[style*="138, 134, 118"],
body .e-con-boxed[style*="rgb(138, 134, 118)"] {
  background-color: transparent !important;
}
