/**
 * world-cup-team.css  -  Direction E editorial-publication treatment
 *
 * Shared styling for every /world-cup/2026/group-{X}/{team}/ page and
 * every /world-cup/2026/group-{X}/ group page. USA + Group D are the
 * pilot pair; replicates to the other 47 team pages and 11 group pages
 * mechanically once this template is right.
 *
 * Visual direction: editorial publication that happens to be about
 * markets. Light off-white surfaces, navy reserved for the top band
 * and the live-markets data anchor strip. Hero is a two-column
 * editorial feature (text + image), not a dashboard tile. Body cards
 * are paper-toned with hover lift and an electric-blue accent on the
 * leading platform. Sticky sidebar carries fixtures and desk-output
 * links.
 *
 * Class prefix: .wc-team-* for team-page-specific components,
 * .wc-group-* for group-page-specific, .wc-* for shared chrome
 * (top band, breadcrumb, hero, live-markets band, editorial body
 * shell, sidebar). Three-tier namespace, same pattern as the prior
 * version of this file.
 *
 * Design tokens added below in :root scope. Existing shared.css
 * tokens (--navy, --navy-mid, --grey, --dim) are NOT redefined here
 * because their values differ from the brief's Direction E palette;
 * the Direction E values live under new token names (--ink, --ink-mid,
 * --ink-soft, --paper, --navy-deep, --navy-card, --navy-border, etc.)
 * to coexist without collision. Where the brief listed a token name
 * that would conflict (e.g. --grey at #a8b8d0 vs shared.css --grey at
 * #6b7a99), the Direction E value is exposed under a new name
 * (--wc-grey-cool).
 */

:root {
  /* Surfaces */
  /* --paper matches shared.css --off-white #f7f9fc, the cool off-white
     used by section blocks across the rest of the site (homepage Top
     Picks, /markets/, /trending-markets/, category pages). Previously
     #f7f6f1 (a warm cream introduced by mistake in d8dc3d6); v3 aligns
     to the canonical site tint so team and group pages stop reading
     as a different shade from everything else. */
  --paper:         #f7f9fc;
  --paper-card:    #ffffff;
  --navy-deep:     #080d1a;
  --navy-mid-deep: #0d1629;
  --navy-card:     #111827;
  --navy-border:   #1e2d47;

  /* Ink (text on paper) */
  --ink:           #080d1a;
  --ink-mid:       #2a3548;
  --ink-soft:      #5a6478;

  /* Ink on dark (text on navy) */
  --ink-on-dark:        rgba(255,255,255,.85);
  --ink-on-dark-soft:   rgba(255,255,255,.65);
  --ink-on-dark-dim:    rgba(255,255,255,.45);

  /* Accents (Direction E mid-tones, distinct from shared.css --grey) */
  --wc-grey-cool:  #a8b8d0;
  --wc-dim-cool:   #4a5a74;

  /* Blue accents already in shared.css as --blue / --blue-light, used
     verbatim where consistent. */
}

/* Pulse animation retained for .wc-live-band-dot; the .wc-top-band strip it
   was originally named for has been removed from group and team sub-pages. */
@keyframes wc-top-band-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: .55; }
}

/* ─── Breadcrumb (on paper) ─────────────────────────────────────── */
.wc-breadcrumb-row {
  background: var(--paper);
  border-bottom: 1px solid rgba(8,13,26,.06);
}
.wc-breadcrumb {
  max-width: 1240px;
  margin: 0 auto;
  padding: 18px 2rem;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .78rem;
  letter-spacing: .04em;
  color: var(--ink-soft);
  text-transform: uppercase;
}
.wc-breadcrumb a {
  color: var(--blue);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s;
}
.wc-breadcrumb a:hover { border-bottom-color: var(--blue); }
.wc-breadcrumb-sep {
  margin: 0 10px;
  color: var(--ink-soft);
  opacity: .5;
}

/* ─── Hero (editorial two-column) ────────────────────────────────
   Text left (1fr), image right (1.15fr) on desktop. Image is a
   container ready for a fal-generated atmospheric sport image
   placement; for now it carries a CSS gradient placeholder. */
.wc-hero {
  background: var(--paper);
  padding: 32px 2rem;
}
.wc-hero-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 56px;
  /* v4: text column 40%, image column 60% (was 47/53). The wider image
     reads as editorial spread; text column align-self: center handles
     the height differential against the taller image column. */
  align-items: start;
}
.wc-hero-text { min-width: 0; align-self: center; }

.wc-hero-eyebrow {
  display: flex; align-items: center; gap: 12px;
  flex-wrap: wrap;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 20px;
}

/* Two-line eyebrow stack for group pages where the eyebrow content
   does not fit on a single row cleanly. Used on /world-cup/2026/group-d/
   to separate "Group D / Host nation" from the four-team list. */
.wc-hero-eyebrow-stack {
  display: flex; flex-direction: column;
  gap: 6px;
  margin: 0 0 20px;
}
.wc-hero-eyebrow-stack .wc-hero-eyebrow { margin: 0; }
.wc-hero-eyebrow--sub {
  font-size: .72rem;
  opacity: .75;
}
.wc-hero-eyebrow .wc-flag-eyebrow .fi {
  width: 22px; height: 16px;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.15);
  vertical-align: middle;
}
.wc-hero-eyebrow-sep {
  color: var(--ink-soft);
  opacity: .4;
}

.wc-hero-headline {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  letter-spacing: -.025em;
  line-height: 1.1;
  color: var(--ink);
  margin: 0 0 22px;
}
.wc-hero-headline em {
  font-style: italic;
  font-weight: 800;
  color: var(--blue);
}

.wc-hero-deck {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: clamp(1rem, 1.2vw, 1.08rem);
  line-height: 1.4;
  color: var(--ink-mid);
  margin: 0 0 22px;
  max-width: 56ch;
}
.wc-hero-deck strong { color: var(--ink); font-weight: 700; }

.wc-hero-pullout {
  border-left: 3px solid var(--blue);
  padding: 6px 0 6px 18px;
  margin: 0 0 26px;
  font-family: "Syne", sans-serif;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(1.1rem, 1.6vw, 1.5rem);
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -.01em;
}
.wc-hero-pullout-attr {
  display: block;
  margin-top: 8px;
  font-style: normal;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-weight: 400;
  font-size: .78rem;
  letter-spacing: .04em;
  color: var(--ink-soft);
  text-transform: uppercase;
}

.wc-hero-meta {
  display: flex; align-items: center; gap: 16px;
  flex-wrap: wrap;
  padding-top: 22px;
  border-top: 1px solid rgba(8,13,26,.08);
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .76rem;
  letter-spacing: .04em;
  color: var(--ink-soft);
  text-transform: uppercase;
}
.wc-hero-meta a {
  color: var(--blue);
  text-decoration: none;
  border-bottom: 1px solid var(--blue);
  margin-left: auto;
}
.wc-hero-meta a:hover { color: var(--ink); border-bottom-color: var(--ink); }
.wc-hero-meta-sep { color: var(--ink-soft); opacity: .4; }

/* Hero image column. Gradient placeholder with subtle geometric
   accent until a fal-generated atmospheric sport image lands. Aspect
   roughly 4:5 portrait-ish on desktop; the image, when added, should
   be kit close-up or training detail, no faces. */
.wc-hero-image {
  position: relative;
  /* aspect-ratio sizes the image container proportionally to its column
     width instead of imposing a fixed min-height. Previous min-height:
     540px caused the grid row to exceed the text column's natural
     height, visually clipping the headline. */
  /* v4: aspect-ratio 4/3 unchanged; max-height ceiling removed so the
     image grows naturally with the wider 1.5fr column. Aligns to top
     of the grid row while the text column centres against it, giving
     the magazine-spread feel. */
  aspect-ratio: 4 / 3;
  min-height: 240px;
  align-self: start;
  border-radius: 4px;
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 40%, rgba(41,121,232,.12) 0%, transparent 55%),
    linear-gradient(140deg, var(--navy-deep) 0%, var(--navy-card) 60%, var(--navy-mid-deep) 100%);
  box-shadow: 0 24px 60px -28px rgba(8,13,26,.55);
}
/* Stored fal hero image, when present, fills the container; the gradient
   background + ::after texture/darkening sit behind/over it. object-fit:cover
   handles the desktop 4:3 vs mobile full-bleed crop from a single image. */
.wc-hero-image img.wc-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 0;
}
.wc-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, transparent 60%, rgba(8,13,26,.55) 100%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.025) 0 1px, transparent 1px 12px);
  pointer-events: none;
}
.wc-hero-image-caption {
  position: absolute;
  left: 20px; bottom: 18px;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-on-dark-soft);
  z-index: 2;
}

/* Tablet (769-960px): stacked layout with the image on top at a fixed
   240px height. Reasonable middle ground between desktop spread and
   mobile overlay. */
@media (max-width: 960px) {
  .wc-hero { padding: 36px 1.25rem 44px; }
  .wc-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .wc-hero-text { align-self: stretch; }
  .wc-hero-image {
    aspect-ratio: auto;
    height: 240px;
    min-height: 240px;
    align-self: stretch;
    order: -1;
  }
}

/* Phone (<=768px): overlay treatment with text rendered ON TOP of the
   image rather than stacked beside it. Linear-gradient darkens the
   bottom of the image so the text reads white-on-dark. Hero box is
   65vh tall (with a 480px floor on tall narrow viewports) so the
   user sees hero + scroll cue within one viewport. */
@media (max-width: 768px) {
  .wc-hero {
    padding: 0;
    overflow: hidden;
  }
  .wc-hero-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0;
    /* Flow layout: min-height keeps the tall editorial overlay on short
       titles, but the in-flow text column (see .wc-hero-text below)
       expands the box when the headline + deck need more room, so a long
       title is never clipped off the top. Previous height/max-height cap
       plus bottom-anchored absolute text clipped multi-line group titles. */
    min-height: 65vh;
    padding: 0;
  }
  .wc-hero-image {
    position: absolute;
    inset: 0;
    z-index: 1;
    aspect-ratio: auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 0;
    box-shadow: none;
    order: 0;
    /* Placeholder gradient flipped to darker bottom for text legibility. */
    background:
      radial-gradient(circle at 30% 30%, rgba(41,121,232,.10) 0%, transparent 55%),
      linear-gradient(180deg, var(--navy-card) 0%, var(--navy-deep) 100%);
  }
  .wc-hero-image::after {
    background:
      linear-gradient(to top, rgba(8,13,26,.85) 0%, rgba(8,13,26,.40) 50%, rgba(8,13,26,.15) 100%);
  }
  .wc-hero-image-caption { display: none; }
  .wc-hero-text {
    /* In flow (not absolute) so its height expands .wc-hero-inner;
       the flex parent's justify-content: flex-end keeps it bottom-aligned
       over the image when the title is short. Top padding gives breathing
       room from the band above once a long title fills the hero. */
    position: relative;
    padding: 32px 20px 32px;
    z-index: 2;
    align-self: stretch;
    min-width: 0;
  }

  /* White-on-dark text overrides for overlay context */
  .wc-hero-eyebrow,
  .wc-hero-eyebrow-stack .wc-hero-eyebrow {
    color: rgba(255,255,255,.78);
    margin-bottom: 14px;
  }
  .wc-hero-eyebrow-sep { color: rgba(255,255,255,.4); }
  .wc-hero-eyebrow .wc-flag-eyebrow .fi {
    box-shadow: 0 1px 2px rgba(0,0,0,.3);
  }
  .wc-hero-headline {
    color: var(--white);
    margin-bottom: 14px;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
  }
  /* Italic emphasis: electric blue still reads on dark; brighten one step */
  .wc-hero-headline em { color: var(--blue-light); }
  .wc-hero-deck {
    color: rgba(255,255,255,.92);
    margin-bottom: 16px;
  }
  .wc-hero-deck strong { color: var(--white); }
  .wc-hero-pullout {
    color: var(--white);
    margin-bottom: 16px;
  }
  .wc-hero-pullout::before { color: var(--blue-light); }
  .wc-hero-pullout-attr-text { color: rgba(255,255,255,.75); }
  .wc-hero-meta {
    color: rgba(255,255,255,.7);
    border-top-color: rgba(255,255,255,.15);
    padding-top: 14px;
  }
  .wc-hero-meta a {
    color: var(--blue-light);
    border-bottom-color: var(--blue-light);
  }
  .wc-hero-meta a:hover {
    color: var(--white);
    border-bottom-color: var(--white);
  }
  .wc-hero-meta-sep { color: rgba(255,255,255,.35); }

  /* v5: dark navy breadcrumb on phones so the band reads as continuous
     with the dark top-band above and the dark hero overlay below.
     Light off-white breadcrumb was breaking the dark-context flow. */
  .wc-breadcrumb-row {
    background: var(--navy-deep);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .wc-breadcrumb { color: rgba(255,255,255,.7); }
  .wc-breadcrumb a {
    color: var(--blue-light);
    border-bottom-color: transparent;
  }
  .wc-breadcrumb a:hover { border-bottom-color: var(--blue-light); }
  .wc-breadcrumb-sep { color: rgba(255,255,255,.35); }
}

/* v5: hide the "WORLD CUP LIVE" ticker prefix on narrow phones so the
   scrolling content gets the full viewport width. The ticker still
   loops via the existing transform animation; the wider visible band
   means the scroll reads slower per perceived character. */
@media (max-width: 600px) {
  .wc-ticker-label { display: none; }
}

/* ─── Live markets band (navy data anchor) ──────────────────────── */
.wc-live-band {
  background: var(--navy-deep);
  border-top: 1px solid var(--navy-border);
  border-bottom: 1px solid var(--navy-border);
  color: var(--ink-on-dark);
  padding: 22px 2rem;
}
.wc-live-band-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 32px;
  align-items: center;
}
.wc-live-band-label {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .76rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-on-dark);
}
.wc-live-band-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #16a34a;
  box-shadow: 0 0 8px rgba(22,163,74,.6);
  animation: wc-top-band-pulse 2s infinite;
}
.wc-live-band-stats {
  display: flex; gap: 36px; align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
}
.wc-live-band-stat {
  display: flex; flex-direction: column;
  gap: 2px;
}
.wc-live-band-stat-label {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-on-dark-soft);
}
.wc-live-band-stat-value {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: 1.45rem;
  font-variant-numeric: tabular-nums;
  color: #fff;
  letter-spacing: -.01em;
  line-height: 1;
}
.wc-live-band-stat-value.is-leading { color: var(--blue-light); }
.wc-live-band-cta {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--blue-light);
  text-decoration: none;
  border-bottom: 1px solid var(--blue-light);
  transition: color .15s, border-color .15s;
}
.wc-live-band-cta:hover { color: #fff; border-bottom-color: #fff; }

@media (max-width: 768px) {
  .wc-live-band { padding: 18px 1.25rem; }
  .wc-live-band-inner { grid-template-columns: 1fr; gap: 14px; }
  .wc-live-band-stats { justify-content: flex-start; gap: 24px; }
  .wc-live-band-cta { justify-self: flex-start; }
}

/* ─── Editorial body shell ──────────────────────────────────────── */
.wc-editorial-body {
  background: var(--paper);
  padding: 72px 2rem 96px;
}
.wc-editorial-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 56px;
  align-items: flex-start;
}
.wc-editorial-main { min-width: 0; }
.wc-editorial-sidebar { min-width: 0; }

@media (max-width: 960px) {
  .wc-editorial-body { padding: 44px 1.25rem 56px; }
  .wc-editorial-inner { grid-template-columns: 1fr; gap: 40px; }
}

/* ─── Section eyebrow + heading on paper ───────────────────────── */
.wc-section {
  padding-top: 28px;
  border-top: 2px solid var(--ink);
  margin-top: 40px;
}
.wc-section:first-child {
  margin-top: 0;
}
.wc-section-eyebrow {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 10px;
}
.wc-section-title {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: clamp(1.6rem, 2.6vw, 2.05rem);
  letter-spacing: -.02em;
  color: var(--ink);
  margin: 0 0 8px;
  line-height: 1.15;
}
.wc-section-sub {
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  color: var(--ink-mid);
  line-height: 1.5;
  margin: 0 0 24px;
  max-width: 60ch;
}

/* ─── Market cards (light treatment, on paper) ────────────────── */
.wc-markets-grid {
  display: grid; grid-template-columns: 1fr; gap: 16px;
}
.wc-market-card {
  background: var(--paper-card);
  border: 1px solid rgba(8,13,26,.06);
  border-radius: 6px;
  padding: 24px;
  /* v4: subtle shadow lift at rest so white cards on the off-white body
     read as elevated rather than border-only. Border reduced slightly
     since the shadow now carries part of the visual separation. */
  box-shadow: 0 1px 2px rgba(8,13,26,.04), 0 2px 8px rgba(8,13,26,.04);
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.wc-market-card:hover {
  transform: translateY(-2px);
  border-color: rgba(8,13,26,.16);
  box-shadow: 0 4px 12px rgba(8,13,26,.08), 0 12px 32px rgba(8,13,26,.06);
}
.wc-market-card-title {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: 1.18rem;
  letter-spacing: -.01em;
  color: var(--ink);
  margin: 0 0 4px;
}
.wc-market-card-sub {
  font-family: "DM Sans", sans-serif;
  font-size: .92rem;
  color: var(--ink-soft);
  margin: 0 0 18px;
}
.wc-market-platforms {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 14px;
}
.wc-market-platforms.is-two-col { grid-template-columns: repeat(2, 1fr); }

.wc-market-platform {
  display: flex; flex-direction: column;
  padding: 14px;
  background: rgba(8,13,26,.025);
  border: 1px solid rgba(8,13,26,.06);
  border-radius: 4px;
  text-decoration: none;
  color: inherit;
  transition: background .15s, border-color .15s, transform .12s;
}
.wc-market-platform[href]:hover {
  background: rgba(41,121,232,.05);
  border-color: rgba(41,121,232,.35);
  transform: translateY(-1px);
}
.wc-market-platform.is-leading {
  background: rgba(41,121,232,.06);
  border-color: rgba(41,121,232,.35);
}
.wc-market-platform-label {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 6px;
}
.wc-market-platform-price {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: 1.45rem;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
  letter-spacing: -.01em;
  line-height: 1;
}
.wc-market-platform.is-leading .wc-market-platform-price { color: var(--blue); }
.wc-market-platform-price.is-placeholder {
  color: var(--ink-soft);
  font-style: italic;
  font-weight: 500;
  font-size: .9rem;
  font-family: "DM Sans", sans-serif;
}
.wc-market-platform-volume {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .7rem;
  letter-spacing: .04em;
  color: var(--ink-soft);
  margin-top: 6px;
}
.wc-market-card-foot {
  padding-top: 12px;
  border-top: 1px solid rgba(8,13,26,.06);
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .72rem;
  letter-spacing: .04em;
  color: var(--ink-soft);
  text-transform: uppercase;
}
.wc-market-placeholder {
  padding: 16px 0;
  font-family: "DM Sans", sans-serif;
  font-style: italic;
  color: var(--ink-soft);
}

@media (max-width: 768px) {
  .wc-market-card { padding: 20px; }
  .wc-market-platforms, .wc-market-platforms.is-two-col { grid-template-columns: 1fr; }
}

/* ─── Squad grid on paper ─────────────────────────────────────── */
.wc-team-squad-group { margin-top: 28px; }
.wc-team-squad-group:first-of-type { margin-top: 18px; }
.wc-team-squad-group-heading {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(8,13,26,.08);
}
.wc-team-squad-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.wc-team-squad-player {
  padding: 12px 14px;
  background: var(--paper-card);
  border: 1px solid rgba(8,13,26,.06);
  border-radius: 4px;
  display: flex; flex-direction: column; gap: 2px;
}
.wc-team-squad-player-name {
  font-family: "DM Sans", sans-serif;
  font-weight: 600;
  color: var(--ink);
  font-size: .95rem;
  line-height: 1.2;
}
.wc-team-squad-player-position {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .06em;
  color: var(--ink-soft);
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .wc-team-squad-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}

/* ─── Key players placeholder ─────────────────────────────────── */
.wc-team-keyplayers-placeholder {
  margin-top: 20px;
  padding: 28px;
  background: var(--paper-card);
  border: 1.5px dashed rgba(8,13,26,.18);
  border-radius: 6px;
  font-family: "DM Sans", sans-serif;
  font-style: italic;
  color: var(--ink-soft);
  font-size: .95rem;
  text-align: center;
}

/* ─── Form & news entries ─────────────────────────────────────── */
.wc-form-list { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.wc-form-entry {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  padding: 18px;
  background: var(--paper-card);
  border: 1px solid rgba(8,13,26,.06);
  border-radius: 6px;
}
.wc-form-date {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .74rem;
  letter-spacing: .06em;
  color: var(--ink-soft);
  text-transform: uppercase;
}
.wc-form-headline {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--ink);
  margin: 0 0 6px;
  letter-spacing: -.01em;
}
.wc-form-summary {
  font-family: "DM Sans", sans-serif;
  font-size: .92rem;
  color: var(--ink-mid);
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 768px) {
  .wc-form-entry { grid-template-columns: 1fr; gap: 8px; padding: 16px; }
}

/* ─── Sidebar blocks ──────────────────────────────────────────── */
.wc-editorial-sidebar { position: sticky; top: 92px; align-self: flex-start; }
@media (max-width: 960px) { .wc-editorial-sidebar { position: static; } }

.wc-sidebar-block {
  background: var(--paper-card);
  border: 1px solid rgba(8,13,26,.08);
  border-radius: 6px;
  padding: 22px;
  margin-bottom: 18px;
}
.wc-sidebar-block-eyebrow {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(8,13,26,.08);
}

/* Fixtures list inside sidebar block */
.wc-fixture-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.wc-fixture-list li { padding: 10px 0; border-bottom: 1px solid rgba(8,13,26,.05); }
.wc-fixture-list li:last-child { border-bottom: none; padding-bottom: 0; }
.wc-fixture-date {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .7rem;
  letter-spacing: .08em;
  color: var(--blue);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.wc-fixture-opponent {
  display: flex; align-items: center; gap: 8px;
  font-family: "Syne", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  color: var(--ink);
  letter-spacing: -.01em;
  margin-bottom: 2px;
}
.wc-fixture-opponent-vs {
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: .82rem;
  color: var(--ink-soft);
}
.wc-fixture-flag .fi {
  width: 22px; height: 16px;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.15);
  vertical-align: middle;
}
.wc-fixture-venue {
  font-family: "DM Sans", sans-serif;
  font-size: .82rem;
  color: var(--ink-soft);
}

/* Desk-output list inside sidebar block */
.wc-desk-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.wc-desk-list li { padding: 12px 0; border-bottom: 1px solid rgba(8,13,26,.05); }
.wc-desk-list li:last-child { border-bottom: none; padding-bottom: 0; }
.wc-desk-entry { display: block; text-decoration: none; color: inherit; }
.wc-desk-entry-date {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .08em;
  color: var(--ink-soft);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.wc-desk-entry-title {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -.01em;
  transition: color .15s;
}
.wc-desk-entry:hover .wc-desk-entry-title { color: var(--blue); }

/* ─── Group page: team-card grid (replaces dull cards from Step 4) ─ */
.wc-group-team-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 8px;
}
.wc-group-team-card {
  display: block;
  background: var(--paper-card);
  border: 1px solid rgba(8,13,26,.06);
  border-radius: 6px;
  padding: 24px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 2px rgba(8,13,26,.04), 0 2px 8px rgba(8,13,26,.04);
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.wc-group-team-card:hover {
  transform: translateY(-2px);
  border-color: rgba(8,13,26,.18);
  box-shadow: 0 4px 12px rgba(8,13,26,.08), 0 12px 32px rgba(8,13,26,.06);
}
.wc-group-team-head {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 16px;
}
.wc-group-team-flag .fi {
  width: 40px; height: 30px;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
}
.wc-group-team-name {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: -.02em;
  color: var(--ink);
  margin: 0;
}
.wc-group-team-host {
  display: inline-block;
  margin-left: auto;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .64rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue);
  padding: 4px 8px;
  border: 1px solid var(--blue);
  border-radius: 3px;
}
.wc-group-team-prices {
  display: flex; flex-direction: column; gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(8,13,26,.06);
}
.wc-group-team-price-row {
  display: flex; align-items: baseline; justify-content: space-between;
  font-family: "DM Sans", sans-serif;
}
.wc-group-team-price-label {
  font-size: .86rem;
  color: var(--ink-mid);
}
.wc-group-team-price-value {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--blue);
  font-variant-numeric: tabular-nums;
}
.wc-group-team-price-value.is-placeholder {
  color: var(--ink-soft);
  font-weight: 500;
  font-size: .9rem;
  font-style: italic;
  font-family: "DM Sans", sans-serif;
}
.wc-group-team-keyplayer {
  font-family: "DM Sans", sans-serif;
  font-size: .85rem;
  color: var(--ink-mid);
  margin-bottom: 14px;
  line-height: 1.5;
}
.wc-group-team-keyplayer-label {
  display: block;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .6rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 1px;
}
.wc-group-team-fixtures {
  list-style: none; padding: 0; margin: 0 0 16px;
  display: flex; flex-direction: column; gap: 4px;
  font-family: "DM Sans", sans-serif;
  font-size: .85rem;
  color: var(--ink-mid);
}
.wc-group-team-fixtures li strong { color: var(--ink); font-weight: 600; margin-right: 6px; }
.wc-group-team-cta {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .74rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--blue);
  border-bottom: 1px solid var(--blue);
  padding-bottom: 2px;
  display: inline-block;
}

@media (max-width: 768px) {
  .wc-group-team-grid { grid-template-columns: 1fr; gap: 14px; }
  .wc-group-team-card { padding: 20px; }
  .wc-group-team-name { font-size: 1.35rem; }
}

/* ═══════════════════════════════════════════════════════════════════
   Direction E v2 additions
   ═══════════════════════════════════════════════════════════════════
   Scoring layer on every market card (tier badge + AI explainer toggle
   + save/alert + whole-card click target), editorial typographic lift
   across hero / pull-quote / section eyebrows / sidebar, dedicated
   editorial-desk section, matchday card link structure. */

/* ─── Market card v2: anchor wrap (whole card clickable) ────────── */
a.wc-market-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* Card eyebrow above the title (DM Mono, blue accent). */
.wc-market-card-eyebrow {
  display: inline-block;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 10px;
}

/* Card deck line below the title (DM Sans, ink-mid) */
.wc-market-card-deck {
  font-family: "DM Sans", sans-serif;
  font-size: .94rem;
  color: var(--ink-mid);
  margin: 0 0 14px;
  line-height: 1.5;
}

/* Tier badge wrapper inside card */
.wc-market-card-tier { margin: 0 0 10px; }
.wc-market-card-tier:empty { margin: 0; }

/* Override the shared.css market-rationale styling slightly to fit the
   paper-toned card context (the shared rule uses var(--off-white) bg
   which reads fine here too). Margin tuned for card flow. */
.wc-market-card .rationale-toggle {
  display: inline-block;
  margin: 4px 0 12px;
}
.wc-market-card .market-rationale {
  margin: 0 0 16px;
}

/* Card footer with save/alert + cross-platform note */
.wc-market-card-footer {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(8,13,26,.06);
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.wc-market-card-footer .mca-wrap {
  display: inline-flex; gap: 6px;
  margin-left: auto;
}

/* Single-platform variant (when only one venue carries the market) */
.wc-market-platforms.is-single { grid-template-columns: 1fr; }

/* Multi-outcome table inside a single card (Group D Winner) */
.wc-market-outcomes {
  display: flex; flex-direction: column;
  gap: 8px;
  margin: 4px 0 14px;
  padding: 14px;
  background: rgba(8,13,26,.025);
  border-radius: 4px;
}
.wc-market-outcome {
  display: grid;
  grid-template-columns: 24px 1fr auto auto;
  align-items: center;
  gap: 12px;
}
.wc-market-outcome-flag .fi {
  width: 22px; height: 16px;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.15);
}
.wc-market-outcome-team {
  font-family: "Syne", sans-serif;
  font-weight: 600;
  font-size: .98rem;
  color: var(--ink);
  letter-spacing: -.01em;
}
.wc-market-outcome-prob {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.wc-market-outcome.is-leader .wc-market-outcome-prob { color: var(--blue); }
.wc-market-outcome-bar {
  width: 80px; height: 4px;
  background: rgba(8,13,26,.08);
  border-radius: 2px;
  overflow: hidden;
}
.wc-market-outcome-bar-fill {
  height: 100%;
  background: var(--blue);
}

@media (max-width: 540px) {
  .wc-market-outcome { grid-template-columns: 22px 1fr auto; }
  .wc-market-outcome-bar { display: none; }
}

/* ─── Editorial lift v2 ─────────────────────────────────────────── */

/* Hero italic emphasis slightly bigger than surrounding headline */
.wc-hero-headline em {
  font-style: italic;
  font-weight: 800;
  color: var(--blue);
  font-size: 1.04em;
}

/* Pull-quote decorative quote mark + attribution flag */
.wc-hero-pullout {
  position: relative;
}
.wc-hero-pullout::before {
  content: "\201C"; /* left double quotation mark */
  position: absolute;
  left: -2px;
  top: -22px;
  font-family: "Syne", sans-serif;
  font-weight: 900;
  font-size: 3rem;
  color: var(--blue);
  line-height: 1;
  opacity: .9;
}
.wc-hero-pullout-attr {
  display: flex; align-items: center; gap: 8px;
  margin-top: 12px;
}
.wc-hero-pullout-attr-flag .fi {
  width: 16px; height: 12px;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.15);
  display: inline-block;
  vertical-align: middle;
}

/* Body section eyebrow accent line */
.wc-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .74rem;
  letter-spacing: .18em;
}
.wc-section-eyebrow::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 3px;
  background: var(--blue);
}

/* ─── Sidebar editorial furniture v2 ────────────────────────────── */
.wc-sidebar-block-v2 {
  background: transparent;
  border: none;
  border-top: 1px solid rgba(8,13,26,.2);
  border-radius: 0;
  padding: 26px 0 16px;
  margin-bottom: 8px;
}
.wc-sidebar-block-v2 .wc-sidebar-block-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .72rem;
  letter-spacing: .2em;
  margin: 0 0 16px;
  padding: 0;
  border: none;
}
.wc-sidebar-block-v2 .wc-sidebar-block-eyebrow::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 2px;
  background: var(--blue);
}
.wc-sidebar-block-v2 .wc-fixture-date {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--ink);
}
.wc-sidebar-block-v2 .wc-fixture-venue {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .72rem;
  letter-spacing: .06em;
  color: var(--ink-soft);
  text-transform: uppercase;
}

/* Group D quick context block (sidebar): four team mini-rows */
.wc-quick-context-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.wc-quick-context-row {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 10px;
  font-family: "DM Sans", sans-serif;
}
.wc-quick-context-row .fi {
  width: 22px; height: 16px;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.15);
}
.wc-quick-context-team {
  font-family: "Syne", sans-serif;
  font-weight: 600;
  font-size: .95rem;
  color: var(--ink);
  letter-spacing: -.01em;
}
.wc-quick-context-prob {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  font-size: .95rem;
  color: var(--ink-mid);
}
.wc-quick-context-row.is-leader .wc-quick-context-prob { color: var(--blue); }

/* ─── Editorial band (v5: replaces the larger desk section that lived
   inside the editorial body in v2-v4). Compact full-width band sitting
   between .wc-live-band and the markets body section, so editorial
   surfaces ABOVE the deep-dive markets section rather than buried at
   the bottom of the main column. The previous .wc-desk-* classes are
   dropped; this commit re-uses no part of them. */
.wc-editorial-band {
  background: var(--off-white);
  border-top: 1px solid rgba(8,13,26,.1);
  padding: 28px 2rem;
}
.wc-editorial-band-inner {
  max-width: 1240px;
  margin: 0 auto;
}
.wc-editorial-band-label {
  display: inline-flex; align-items: center; gap: 10px;
  margin: 0 0 16px;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--blue);
}
.wc-editorial-band-label::before {
  content: "";
  display: inline-block;
  width: 14px; height: 3px;
  background: var(--blue);
}
.wc-editorial-band-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

/* v6: card dimensions enlarged for visual presence. Image grows to
   160x120 (was 100x75), card padding 20 (was 16), title 1.05rem with
   3-line clamp (was .95rem 2-line). New 1-line deck and meta-footer
   rows give the card the breathing room it lacked at v5 dimensions. */
.wc-editorial-band-card {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 20px;
  align-items: stretch;
  padding: 20px;
  background: var(--paper-card);
  border: 1px solid rgba(8,13,26,.06);
  border-radius: 4px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 2px rgba(8,13,26,.04), 0 2px 8px rgba(8,13,26,.04);
  transition: border-color .15s, box-shadow .15s;
}
.wc-editorial-band-card:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 12px rgba(8,13,26,.08), 0 12px 32px rgba(8,13,26,.06);
  cursor: pointer;
}
.wc-editorial-band-card-image {
  position: relative;
  width: 160px;
  height: 120px;
  border-radius: 4px;
  overflow: hidden;
  align-self: center;
  background:
    radial-gradient(circle at 30% 40%, rgba(41,121,232,.10) 0%, transparent 55%),
    linear-gradient(135deg, var(--navy-deep) 0%, var(--navy-card) 70%, var(--navy-mid-deep) 100%);
}
.wc-editorial-band-card-image::after {
  content: "";
  position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0 1px, transparent 1px 12px);
  pointer-events: none;
}
.wc-editorial-band-card-image img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
}
.wc-editorial-band-card-body {
  min-width: 0;
  display: flex; flex-direction: column;
  justify-content: center;
}
.wc-editorial-band-card-date {
  display: block;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .64rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 6px;
}
.wc-editorial-band-card-title {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -.01em;
  color: var(--ink);
  line-height: 1.25;
  margin: 0 0 8px;
  /* Three-line clamp; cards stay uniform height across headline lengths. */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wc-editorial-band-card-deck {
  font-family: "DM Sans", sans-serif;
  font-size: .85rem;
  color: var(--ink-mid);
  line-height: 1.4;
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wc-editorial-band-card-meta {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 4px;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .66rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.wc-editorial-band-card-readtime { color: var(--ink-soft); }
.wc-editorial-band-card-cta {
  color: var(--blue);
  border-bottom: 1px solid var(--blue);
  padding-bottom: 2px;
}

.wc-editorial-band-more {
  display: none;
  margin-top: 14px;
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--blue);
  text-decoration: none;
  border-bottom: 1px solid var(--blue);
  padding-bottom: 2px;
}

@media (max-width: 768px) {
  .wc-editorial-band { padding: 24px 1.25rem; }
  .wc-editorial-band-cards { grid-template-columns: 1fr; }
  /* Mobile: show only the first card; the rest collapse behind the
     "More analysis" link below. */
  .wc-editorial-band-card:nth-child(n+2) { display: none; }
  .wc-editorial-band-more { display: inline-block; }
}

/* ─── Matchday cards (Group D body section) ─────────────────────── */
.wc-matchday-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 12px;
}
.wc-matchday-card {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  background: var(--paper-card);
  border: 1px solid rgba(8,13,26,.08);
  border-radius: 4px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s, background .15s;
}
a.wc-matchday-card:hover {
  border-color: rgba(41,121,232,.4);
  background: rgba(41,121,232,.03);
}
.wc-matchday-date {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue);
  min-width: 80px;
}
.wc-matchday-fixture {
  display: flex; align-items: center; gap: 8px;
  font-family: "Syne", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  color: var(--ink);
}
.wc-matchday-fixture .fi {
  width: 22px; height: 16px;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.15);
}
.wc-matchday-venue {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .74rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.wc-matchday-cta {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--blue);
}
.wc-matchday-card.is-placeholder {
  cursor: default;
}
.wc-matchday-card.is-placeholder .wc-matchday-cta {
  color: var(--ink-soft);
  font-style: italic;
}

@media (max-width: 768px) {
  .wc-matchday-card { grid-template-columns: auto 1fr; gap: 10px; padding: 14px; }
  .wc-matchday-venue, .wc-matchday-cta { grid-column: 2; font-size: .7rem; }
}

/* ── Captured (hedged) market cards: real Polymarket price, as-of dated, linked,
      NO iPredicta score. Designed to read as a complete "sourced market price"
      card, not a scored card missing its badge. ── */
.wc-market-card--implied {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.wc-implied {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.wc-implied-pct {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--ink);
}
.wc-implied-meta {
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .68rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.wc-implied-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wc-implied-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 9px 13px;
  background: rgba(8,13,26,.025);
  border: 1px solid rgba(8,13,26,.05);
  border-radius: 4px;
}
.wc-implied-row-name {
  font-family: "DM Sans", sans-serif;
  font-weight: 500;
  font-size: .92rem;
  color: var(--ink);
}
.wc-implied-row-pct {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #2979e8;
}
.wc-market-card-source {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "DM Sans", sans-serif;
  font-weight: 600;
  font-size: .85rem;
  color: #2979e8;
  margin-top: auto;
}
a.wc-market-card--implied:hover .wc-market-card-source {
  text-decoration: underline;
}

/* Eyebrow team-name links (group hero) — inherit the eyebrow colour so they read
   as eyebrow text, with a subtle underline affordance on hover. */
.wc-hero-eyebrow a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s ease;
}
.wc-hero-eyebrow a:hover {
  border-bottom-color: currentColor;
}

/* Sidebar foot note (thin-group market context: as-of date + market link). */
.wc-sidebar-foot {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(8,13,26,.06);
  font-family: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .66rem;
  letter-spacing: .02em;
  line-height: 1.55;
  color: var(--ink-soft);
}
.wc-sidebar-foot a {
  color: #2979e8;
  text-decoration: none;
  white-space: nowrap;
}
.wc-sidebar-foot a:hover {
  text-decoration: underline;
}

/* Full-width "form & news" band above the two columns (used when a team has news
   but no tagged article — the article band otherwise fills this slot). */
.wc-editorial-inner--single {
  display: block;
}
.wc-editorial-body--band {
  padding-bottom: 0;
}
