/* ================= Tournament Page (SCOPED) ================= */
.tour-page{
  --radius:16px; --shadow:0 12px 30px rgba(0,0,0,.06);
  --green:#166534; --gold:#c08b00; --gold-2:#f1c232; /* richer golds */
  --ink:#111827; --muted:#6b7280; --border:#e5e7eb; --bg-soft:#f8fafc; --stripe:#fcfcfc;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Micro transitions */
.tour-page .tour-tab,
.tour-page .btn-ghost,
.tour-page .results__event,
.tour-page .phc-chip,
.tour-page .badge,
.tour-page .badge-major,
.tour-page .view-btn { transition: all .15s ease; }

.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Hero */
.tour-page .hero{ text-align:center; padding:4rem 1rem 2rem; background:linear-gradient(180deg,#ffffff 0%,#fafafa 100%); }
.tour-page .hero h1{ font-size:clamp(2.2rem,5vw,3rem); margin:0 0 .4rem; font-weight:800; letter-spacing:-.5px; color:var(--ink); }
.tour-page .hero p{ font-size:1.1rem; color:var(--muted); margin:0; }
.tour-page .banner{ height:3px; background:linear-gradient(90deg,var(--ink),#6b6b6b); margin:0 auto 1.25rem; max-width:1200px; }

/* Tabs + season switch */
.tour-page .tabs-wrap{ position:relative; max-width:1200px; margin:0 auto 1rem; padding:0 1.25rem; }
.tour-page .tour-tabs{ display:flex; justify-content:center; gap:.35rem; background:#fff; border-radius:999px; box-shadow:var(--shadow); width:max-content; margin:0 auto; padding:.5rem; }
.tour-page .tour-tab{ appearance:none; border:0; background:transparent; color:var(--ink); padding:.55rem .95rem; border-radius:999px; font-weight:700; cursor:pointer; }
.tour-page .tour-tab:is(:hover,:focus-visible){ background:#f3f4f6; outline:none; }
.tour-page .tour-tab.is-active{ background:var(--green); color:#fff; }
.tour-page .season-switch{ position:absolute; right:1.25rem; top:50%; transform:translateY(-50%); }
.tour-page .season-switch select{ border:1px solid var(--border); border-radius:999px; padding:.45rem .7rem; font-weight:700; background:#fff; }

/* Panels */
.tour-page .tour-panels{ max-width:1200px; margin:0 auto 2rem; padding:0 1.25rem; }
.tour-page .tour-panel[hidden]{ display:none; }

/* ================= SCHEDULE ================= */
.tour-page .fixture-card{ background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.tour-page .fixture-head{ padding:1rem 1.25rem; border-bottom:1px solid var(--border); }
.tour-page .fixture-titlebar{ display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; }
.tour-page .fixture-head h3{ margin:0; font-size:1.3rem; font-weight:800; color:var(--ink); }
.tour-page .head-meta{ color:var(--muted); font-weight:700; }

.tour-page .fixture-list{ display:flex; flex-direction:column; }
.tour-page .fixture-row{
  display:grid; grid-template-columns: 140px 1fr 280px 160px 140px; gap:1rem; align-items:center;
  padding:1rem 1.25rem; border-bottom:1px solid #f1f5f9; position:relative;
}
.tour-page .fixture-row:nth-child(odd){ background:var(--stripe); }
.tour-page .date-pill{ display:inline-flex; align-items:center; justify-content:center; padding:.4rem .6rem; border-radius:10px; font-weight:800; color:var(--ink); background:#fff; border:1px solid var(--border); }
.tour-page .fixture-title{ display:flex; align-items:center; gap:.5rem; }
.tour-page .fixture-title strong{ font-size:1.05rem; }
.tour-page .fixture-meta{ color:#374151; font-weight:600; margin-top:.15rem; position:relative; }
.tour-page .info-btn{ margin-left:.35rem; font-size:.85rem; color:#6b7280; border:1px solid var(--border); border-radius:6px; padding:0 .35rem; background:#fff; cursor:pointer; }
.tour-page .fixture-format-col{ color:var(--muted); font-weight:700; display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.tour-page .badge{ display:inline-block; padding:.3rem .6rem; border-radius:999px; font-weight:800; font-size:.8rem; }
.tour-page .badge-completed{ background:#e8f5ee; color:#166534; border:1px solid #cfe9d9; }
.tour-page .badge-upcoming{ background:#fff7ed; color:var(--gold); border:1px solid #ffedd5; }
.tour-page .fixture-status{ text-align:center; }
.tour-page .fixture-action{ text-align:right; }
.tour-page .btn-ghost{ appearance:none; border:1px solid #166534; background:transparent; color:#166534; padding:.5rem .8rem; border-radius:10px; font-weight:800; cursor:pointer; }
.tour-page .btn-ghost:hover{ background:#166534; color:#fff; }

/* Major badge (truer gold) */
.tour-page .badge-major{ display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .55rem; border-radius:999px; border:1px solid var(--gold-2); color:#6b4500; background:linear-gradient(180deg,#fff8d6,#feeaa4); font-weight:800; }

/* Venue portal tooltip */
.tour-venue-portal{
  position: fixed; z-index: 9999; min-width:260px; max-width:320px;
  background:#ffffff; border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); padding:.75rem .9rem;
}
.tour-venue-portal h5{ margin:0 0 .35rem; font-size:.9rem; color:#111; font-weight:800; }
.tour-venue-portal .row{ display:flex; justify-content:space-between; font-weight:700; color:#374151; }
.tour-venue-portal .arrow{ position:absolute; width:10px; height:10px; background:#fff; border-left:1px solid var(--border); border-top:1px solid var(--border); transform:rotate(45deg); }

/* ================= RESULTS ================= */
.tour-page .results-card{
  display:grid; grid-template-columns:200px 1fr; gap:1rem; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:1rem;
}
.tour-page .results__menu{ display:flex; flex-direction:column; gap:.5rem; position:sticky; top:12px; align-self:start; }
.tour-page .results__event{ appearance:none; border:1px solid var(--border); background:#fafafa; color:#000; padding:.6rem .75rem; border-radius:12px; text-align:left; font-weight:800; cursor:pointer; }
.tour-page .results__event.is-active{ background:#166534; color:#fff; border-color:#166534; }

.tour-page .results__header{ display:grid; gap:.35rem; margin:.1rem 0 1.1rem; }
.tour-page .results__title{ font-size:1.25rem; font-weight:800; margin:0; color:#111; display:flex; align-items:center; gap:.5rem; }
.tour-page .results__meta{ color:#6b7280; font-weight:700; }
.tour-page .results__flags{ display:flex; gap:.5rem; align-items:center; justify-content:space-between; }
.tour-page .condensed-flag{ display:inline-flex; align-items:center; padding:.2rem .5rem; border-radius:999px; border:1px dashed var(--border); font-weight:800; color:#374151; background:#fff; }

.tour-page .results__view{ display:flex; gap:.35rem; }
.tour-page .view-btn{ appearance:none; border:1px solid var(--border); background:#fff; color:#111; padding:.35rem .6rem; border-radius:10px; font-weight:800; cursor:pointer; }
.tour-page .view-btn:hover{ background:#f3f4f6; }
.tour-page .view-btn.is-active{ background:var(--green); color:#fff; border-color:var(--green); }

.tour-page .player-cell{ line-height:1.2; }
.tour-page .player-name{ font-weight:800; }
.tour-page .phc-inline{ display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.25rem; }
.tour-page .phc-chip{ display:inline-flex; align-items:center; padding:.15rem .45rem; border-radius:999px; border:1px solid var(--border); font-size:.8rem; font-weight:800; background:#fff; color:#166534; }
.tour-page .round-nets{ margin-top:.3rem; display:flex; gap:.35rem; flex-wrap:wrap; }
.tour-page .round-chip{ font-size:.78rem; font-weight:800; border:1px solid var(--border); border-radius:999px; padding:.1rem .45rem; background:#fff; color:#374151; }
.tour-page .build-line{ margin-top:.35rem; color:#6b7280; font-weight:700; }

.tour-page .results__panel[hidden]{ display:none; }
.tour-page .results-empty{ padding:1rem; border:1px dashed var(--border); border-radius:12px; color:#6b7280; background:#fafafa; }
.tour-page .results-table{ width:100%; border-collapse:collapse; font-size:.98rem; line-height:1.45; }
.tour-page .results-table.sticky-head thead th{ position:sticky; top:0; z-index:1; }
.tour-page .results-table thead th{ background:var(--bg-soft); text-align:left; padding:.8rem .9rem; border-bottom:1px solid var(--border); font-weight:800; color:#374151; }
.tour-page .results-table tbody td{ padding:.7rem .9rem; border-bottom:1px solid #f1f5f9; }
.tour-page .results-table tbody tr:nth-child(odd){ background:#fcfcfc; }
.tour-page .results-table td.num, .tour-page .results-table th.num{ text-align:right; }

/* Scoregrids */
.tour-page .cards__wrap{ overflow-x:auto; }
.tour-page .cards-gap{ margin-bottom:1.25rem; }
.tour-page .scoregrid{ min-width:980px; border-collapse:collapse; width:100%; font-size:.92rem; }
.tour-page .scoregrid thead th{ position:sticky; top:0; background:var(--bg-soft); z-index:1; text-align:center; padding:.55rem .5rem; border-bottom:1px solid var(--border); font-weight:800; color:#374151; }
.tour-page .scoregrid td,.tour-page .scoregrid th{ border:1px solid #f1f5f9; padding:.45rem .5rem; text-align:center; }
.tour-page .scoregrid tbody tr:nth-child(odd){ background:#fff; }
.tour-page .scoregrid .row-par{ background:#f6fff9; }
.tour-page .scoregrid tbody tr:hover{ background:#fafafa; }
.tour-page .scoregrid td:first-child{ text-align:left; font-weight:700; }

/* Stronger vertical separators on Out/In/Total/Par+/- */
.tour-page .scoregrid th.sep, .tour-page .scoregrid td.sep { border-left:2px solid #dfe7ee; }

/* Round header spacing + emphasis */
.tour-page .round-block{ margin-top:1.6rem; }
.tour-page .round-badge{ display:inline-block; padding:.45rem .8rem; font-weight:900; border-radius:999px; background:#eef2ff; color:#111; margin-bottom:.8rem; letter-spacing:.2px; }

/* ================= STANDINGS ================= */
.tour-page .standings-card{ background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:1rem; }
.tour-page .standings-titlebar{ display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; }
.tour-page .leaderboard{ width:100%; border-collapse:collapse; font-size:.98rem; line-height:1.45; table-layout:fixed; }
.tour-page .leaderboard thead th{ background:var(--bg-soft); padding:.85rem 1rem; text-align:left; border-bottom:1px solid var(--border); color:#374151; font-weight:800; }
.tour-page .leaderboard tbody td{ padding:.85rem 1rem; border-bottom:1px solid #f1f5f9; vertical-align:middle; }
.tour-page .leaderboard tbody tr:nth-child(odd){ background:#fcfcfc; }
.tour-page .leaderboard td.num, .tour-page .leaderboard th.num{ text-align:right; }
.tour-page .medal{ display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:999px; font-weight:800; color:#111; }
.tour-page .medal.gold{ background:linear-gradient(180deg,var(--gold-2),var(--gold)); }
.tour-page .medal.silver{ background:linear-gradient(180deg,#d1d5db,#9ca3af); }
.tour-page .medal.bronze{ background:linear-gradient(180deg,#d97706,#b45309); }

.tour-page .trend{ font-weight:800; display:inline-flex; align-items:center; gap:.25rem; font-family:ui-monospace,Menlo,Consolas,monospace; }
.tour-page .trend.up{ color:#166534; }
.tour-page .trend.down{ color:#b91c1c; }
.tour-page .trend.flat{ color:#6b7280; }

/* fixed col widths */
.tour-page .leaderboard col.w-rank{ width:72px; }
.tour-page .leaderboard col.w-arrow{ width:28px; } /* discreet, tight to name */
.tour-page .leaderboard col.w-player{ width:26%; }
.tour-page .leaderboard col.w-event{ width:auto; }
.tour-page .leaderboard col.w-total{ width:10%; }
.tour-page .leaderboard col.w-num{ width:8%; }

/* ================= WINNERS ================= */
.tour-page .winners-hero{
  display:grid; grid-template-columns:1fr; gap:1rem;
  background:
    radial-gradient(220px 140px at 85% -20%, rgba(241,194,50,.18), transparent 60%),
    radial-gradient(280px 160px at -10% 110%, rgba(21,128,61,.14), transparent 60%),
    #fff;
  border-radius:var(--radius); box-shadow:var(--shadow); padding:1.1rem; position:relative;
}
.tour-page .hero-left{
  display:flex; align-items:center; gap:1.2rem;
  background: linear-gradient(135deg, #fff6bf, #fee697, #f1c232);
  border-radius:16px; padding:1.1rem 1.3rem; position:relative; overflow:hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}
.tour-page .crest{ position:absolute; right:14px; top:12px; font-size:1.35rem; background:linear-gradient(90deg,var(--gold),var(--gold-2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tour-page .label{ font-weight:800; color:#166534; letter-spacing:.2px; text-transform:uppercase; font-size:.8rem; }
.tour-page .avatar{ width:72px; height:72px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; background:#fff; color:#166534; margin:0; box-shadow: 0 0 0 4px rgba(22,101,52,0.15); border:3px solid #166534; }
.tour-page .winner-name{ font-size:clamp(1.8rem,3.2vw,2.35rem); margin:0; font-weight:900; color:#111; letter-spacing:-.3px; }
.tour-page .winner-meta{ color:#111; font-weight:800; }
.tour-page .winner-meta .divider{ margin:0 .35rem; color:#6b7280; }
.tour-page .winner-chips{ display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.4rem; }
.tour-page .chip{ display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .55rem; border:1px solid rgba(0,0,0,.08); border-radius:999px; font-weight:800; background:#fff; color:#374151; font-size:.85rem; }
.tour-page .winner-path{ margin-top:.35rem; font-weight:800; color:#374151; }
.tour-page .shimmer{ position:absolute; inset:0; pointer-events:none; background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%); transform:translateX(-100%); animation:shine 1.4s ease forwards; }
@keyframes shine{ to{ transform:translateX(120%); } }

.tour-page .winners-standings{ margin:1rem 0; }
.tour-page .winners-standings-card{ background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:1rem; }
.tour-page .winners-standings-head{ display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; margin-bottom:.5rem; }
.tour-page .winners-standings-head h4{ margin:0; font-size:1.1rem; font-weight:800; color:#111; }
.tour-page .winners-standings-table table{ width:100%; border-collapse:collapse; font-size:.96rem; }
.tour-page .winners-standings-table thead th{ background:var(--bg-soft); text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--border); font-weight:800; color:#374151; }
.tour-page .winners-standings-table tbody td{ padding:.7rem .9rem; border-bottom:1px solid #f1f5f9; }
.tour-page .winners-standings-table tbody tr:nth-child(odd){ background:#fcfcfc; }
.tour-page .winners-standings-table .num{ text-align:right; }
.tour-page .winners-standings-table col.w-w-event{ width:auto; }

.tour-page .winners-roll{ margin-top:1rem; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:1rem; }
.tour-page .winners-roll h4{ margin:.25rem 0 .5rem; font-size:1.1rem; font-weight:800; color:#111; }
.tour-page .winners-table{ width:100%; border-collapse:collapse; }
.tour-page .winners-table thead th{ background:var(--bg-soft); text-align:left; padding:.8rem .9rem; border-bottom:1px solid var(--border); color:#374151; font-weight:800; }
.tour-page .winners-table tbody td{ padding:.7rem .9rem; border-bottom:1px solid #f1f5f9; }
.tour-page .winners-table tbody tr:nth-child(odd){ background:#fcfcfc; }
.tour-page .winners-table td.num{ text-align:center; } /* center aggregate */

.tour-page .num{ text-align:right; }

/* ================= STATS ================= */
.tour-page .stats-card{ background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:1rem; }
.tour-page .stats-head{ display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; justify-content:space-between; margin-bottom:.75rem; }
.tour-page .stats-head h3{ margin:0; font-size:1.3rem; font-weight:800; color:#111; }
.tour-page .recap-btn{ white-space:nowrap; }

.tour-page .stats-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem;
}
.tour-page .stat-tile{ padding:1rem; border:1px solid var(--border); border-radius:14px; background:linear-gradient(180deg,#ffffff 0%,#fbfbfb 100%); box-shadow:0 6px 18px rgba(0,0,0,.04); }
.tour-page .stat-tile.alt{ background:linear-gradient(180deg,#fcfffd 0%,#f9fffb 100%); }
.tour-page .stat-tile h5{ margin:0 0 .4rem; font-size:.95rem; color:#6b7280; font-weight:800; text-transform:uppercase; letter-spacing:.2px; display:flex; align-items:center; gap:.35rem; }
.tour-page .stat-tile h5 .hint{ font-size:.85em; color:#94a3b8; cursor:help; }
.tour-page .stat-value{ font-size:1.35rem; font-weight:900; color:#111; }
.tour-page .stat-sub{ color:#6b7280; font-weight:700; margin-top:.25rem; }

.tour-page .stats-distribution{ margin-top:1rem; }
.tour-page .dist-table{ width:100%; border-collapse:collapse; }
.tour-page .dist-table thead th{ background:var(--bg-soft); padding:.7rem .9rem; text-align:right; border-bottom:1px solid var(--border); font-weight:800; color:#374151; }
.tour-page .dist-table thead th:first-child{ text-align:left; }
.tour-page .dist-table tbody td{ padding:.7rem .9rem; border-bottom:1px solid #f1f5f9; }
.tour-page .dist-table tbody td:first-child{ text-align:left; }

/* Responsive */
@media (max-width:1024px){
  .tour-page .results-card{ grid-template-columns:1fr; }
  .tour-page .results__menu{ position:static; flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:640px){
  .tour-page .season-switch{ position:static; transform:none; margin-top:.5rem; display:flex; justify-content:center; }
  .tour-page .fixture-row{ grid-template-columns: 110px 1fr 1fr 120px 100px; }
  .tour-page .avatar{ width:64px; height:64px; }
}

/* === Non-destructive tweaks (append only) ===================== */

/* 1) Schedule hover accent (left green bar) */
.tour-page .fixture-row {
  position: relative; /* ensure pseudo element anchors properly */
}
.tour-page .fixture-row::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;     /* full height, left edge */
  width:4px;
  background:transparent;
  transition:background .15s ease;
  border-radius: 0 6px 6px 0;
}
.tour-page .fixture-row:hover::before{
  background: var(--green);
}

/* Optional: very light hover wash so the row feels interactive */
.tour-page .fixture-row:hover{
  background: linear-gradient(180deg,#ffffff 0%, #f9fff9 100%);
}

/* 2) Keep Major badge inline with title (no layout push) */
.tour-page .fixture-title{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}
.tour-page .fixture-title .badge-major{
  /* keep it compact and inline next to the title */
  white-space:nowrap;
  line-height:1;
  padding:.22rem .5rem;
  font-size:.78rem;
}

/* 3) Make sure format/meta columns don’t shift because of the badge */
.tour-page .fixture-format-col{
  min-width: 160px; /* prevent jitter across rows */
}

/* 4) Results view buttons – ensure the active/hover styling shows up */
.tour-page .results__view .view-btn{
  appearance:none;
  border:1px solid var(--border);
  background:#fff;
  color:#111;
  padding:.35rem .6rem;
  border-radius:10px;
  font-weight:800;
  cursor:pointer;
}
.tour-page .results__view .view-btn:hover{ background:#f3f4f6; }
.tour-page .results__view .view-btn.is-active{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}

/* 5) Venue tooltip arrow border to match your theme vars */
.tour-venue-portal .arrow{
  border-left:1px solid var(--border);
  border-top:1px solid var(--border);
}

/* ===== Stats visual polish (non-destructive append) ===== */

/* Head: space + soft divider */
.tour-page .stats-head{
  background: linear-gradient(180deg,#ffffff 0%, #fbfbfb 100%);
  border:1px solid var(--border);
  border-radius:12px;
  padding:.75rem .9rem;
}

/* Tiles: more pop + subtle hover */
.tour-page .stat-tile{
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}
.tour-page .stat-tile::after{
  content:"";
  position:absolute; inset:auto -40% -60% auto; width:220px; height:220px;
  background: radial-gradient(closest-side, rgba(22,101,52,.08), transparent 70%);
  pointer-events:none;
}
.tour-page .stat-tile:hover{ transform: translateY(-1px); box-shadow:0 14px 28px rgba(0,0,0,.08); }

/* Tile header w/ icon */
.tour-page .stat-tile h5{
  display:flex; align-items:center; gap:.5rem;
}
.tour-page .stat-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:999px;
  border:1px solid var(--border); background:#fff; font-weight:900;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
/* value emphasis + good/bad coloring */
.tour-page .stat-value{ font-size:1.5rem; letter-spacing:-.2px; }
.tour-page .stat-value.good{ color:#166534; }
.tour-page .stat-value.bad{ color:#b91c1c; }
.tour-page .stat-note{
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.85rem; font-weight:800; padding:.2rem .5rem; border-radius:999px;
  border:1px dashed var(--border); color:#374151; background:#fff;
}

/* Distribution: add stacked bar */
.tour-page .dist-wrap{ display:flex; align-items:center; gap:.6rem; }
.tour-page .dist-bar{
  position:relative; height:10px; width:160px; border-radius:999px;
  overflow:hidden; background:#eef2f7; border:1px solid #e6edf5;
}
.tour-page .dist-seg{ height:100%; display:inline-block; }
.tour-page .seg-bird{ background:rgba(22,101,52,.75); }
.tour-page .seg-par { background:#9ca3af; }
.tour-page .seg-bog { background:#d97706; }

/* Results view buttons: ensure the active state styling is visible */
.tour-page .view-btn.is-active{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}

/* Condensed pill: make it a little more present */
.tour-page .condensed-flag{
  border-color:#cbd5e1;
  background:linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
}

/* Minor: winners hero shimmer a touch softer so stats tiles stand out */
.tour-page .shimmer{ opacity:.85; }

/* Scoregrids – header row darker than Par row */
.tour-page .scoregrid thead th{
  position:sticky; top:0; z-index:1;
  text-align:center; padding:.55rem .5rem;
  border-bottom:1px solid var(--border);
  font-weight:800; color:#374151;
  background:#b4beb4;           /* darker than par row */
}

/* Par row slightly darker than player rows (light grey, not green) */
.tour-page .scoregrid .row-par{
  background:#0424a5;           /* very light grey */
}

/* Strong separators — give Out/In/Total/Par+/- the same LEFT & RIGHT border */
.tour-page .scoregrid th.sep,
.tour-page .scoregrid td.sep{
  border-left:2px solid #dfe7ee;
  border-right:2px solid #dfe7ee;   /* add right border to match left */
}


/* Scoreboard refinements */
.tour-page .scoreboard .player-cell { line-height: 1.15; }
.tour-page .scoreboard .player-name { font-weight: 800; }
.tour-page .scoreboard .phc-mini { margin-top: .25rem; font-weight: 700; font-size: .85rem; color: #6b7280; }
.tour-page .scoreboard .phc-mini .muted { color: #94a3b8; margin-right: .35rem; }

.tour-page .scoreboard .total-strong { font-weight: 900; }

.tour-page .scoreboard .pos-plain { font-weight: 800; color: #111; }
.tour-page .scoreboard col.w-rank { width: 72px; }
.tour-page .scoreboard col.w-round { width: 9%; }
.tour-page .scoreboard col.w-total { width: 12%; }

/* net vs par coloring */
.tour-page .delta--neg { color: #166534; font-weight: 800; }   /* under par */
.tour-page .delta--zero { color: #374151; font-weight: 800; }  /* even */
.tour-page .delta--pos { color: #b91c1c; font-weight: 800; }   /* over par */

