:root{
  --navy:#161c45;
  --navy-light:#222a63;
  --burgundy:#6e1b27;
  --burgundy-light:#8a2632;
  --gold:#f2a93c;
  --gold-deep:#d98c1f;
  --cream:#f7f0dd;
  --silver:#b9c2c9;
  --bronze:#b07a4a;
  --red:#b3392e;
  --green:#1e7a37;
  --text:#22264a;
  --card-bg:#ffffff;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Inter',Helvetica,Arial,sans-serif;
  background:var(--cream);
  color:var(--text);
}
h1,h2,h3,.discipline-title,.card-head .name{
  font-family:'Playfair Display',Georgia,serif;
}
a{color:inherit;}

/* Nav */
.site-nav{
  background:linear-gradient(135deg,var(--navy) 0%, var(--burgundy) 100%);
  border-bottom:4px solid var(--gold);
}
.nav-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
}
.nav-wrap .brand{
  color:var(--cream);
  font-family:'Playfair Display',Georgia,serif;
  font-weight:800;
  font-size:1.2em;
  text-decoration:none;
}
.nav-links{display:flex;gap:18px;}
.nav-links a{
  color:var(--cream);
  text-decoration:none;
  font-weight:600;
  font-size:0.92em;
  opacity:0.9;
}
.nav-links a:hover{opacity:1;text-decoration:underline;}

/* Hero (home page) */
.hero{
  position:relative;
  min-height:380px;
  background:linear-gradient(135deg,var(--navy) 0%, var(--burgundy) 100%);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.85;
}
.hero.hero-noimg{min-height:300px;}
.hero-overlay{
  position:relative;
  z-index:1;
  width:100%;
  padding:32px 24px;
  background:linear-gradient(to top, rgba(0,0,0,0.65), rgba(0,0,0,0));
  color:#fff;
}
.hero-overlay h1{
  margin:0 0 6px;
  font-size:2.6em;
  font-weight:800;
}
.hero-overlay p{margin:0;font-size:1.05em;opacity:0.95;}

.home-links{
  max-width:1180px;
  margin:0 auto;
  padding:28px 18px 60px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
}
.tile{
  display:block;
  background:var(--card-bg);
  border-radius:12px;
  padding:22px 20px;
  text-decoration:none;
  box-shadow:0 2px 12px rgba(0,0,0,0.1);
  border-top:6px solid var(--gold);
  transition:transform 0.15s ease;
}
.tile:hover{transform:translateY(-3px);}
.tile h2{margin:0 0 8px;color:var(--navy);font-size:1.3em;}
.tile p{margin:0;color:#666;font-size:0.92em;}

/* Generic page wrap */
.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:28px 18px 60px;
}
.page-header{
  background:linear-gradient(135deg,var(--navy) 0%,var(--burgundy) 100%);
  color:var(--cream);
  padding:36px 24px 26px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:6px;
  background:linear-gradient(90deg,var(--gold) 0%, var(--gold-deep) 100%);
}
.page-header h1{margin:0 0 6px;font-size:2.1em;font-weight:800;}
.page-header p{margin:0;opacity:0.9;font-size:0.98em;font-weight:500;}

h2.section-title{
  color:var(--navy);
  border-bottom:3px solid var(--gold);
  padding-bottom:8px;
  margin-top:40px;
  font-size:1.4em;
  font-weight:700;
}

.legend{
  display:flex;
  gap:18px;
  align-items:center;
  margin-top:10px;
  flex-wrap:wrap;
  font-size:0.85em;
}
.legend .chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:20px;
  font-weight:700;
  font-size:0.8em;
  color:#fff;
  letter-spacing:0.3px;
}
.chip.gent{background:var(--burgundy);}
.chip.gerrie{background:var(--navy);}

/* Leaderboard table */
table.leaderboard{
  width:100%;
  border-collapse:collapse;
  background:var(--card-bg);
  box-shadow:0 2px 12px rgba(0,0,0,0.1);
  border-radius:10px;
  overflow:hidden;
  font-size:0.92em;
}
table.leaderboard th{
  background:var(--navy);
  color:var(--cream);
  padding:11px 8px;
  text-align:center;
  font-weight:700;
  font-family:'Inter',sans-serif;
  font-size:0.82em;
  text-transform:uppercase;
  letter-spacing:0.8px;
}
table.leaderboard td{
  padding:9px 8px;
  text-align:center;
  border-bottom:1px solid #ece3cf;
}
table.leaderboard td.name{
  text-align:left;
  font-weight:600;
}
table.leaderboard td.name a{text-decoration:none;color:var(--navy);}
table.leaderboard td.name a:hover{text-decoration:underline;}
table.leaderboard tr:hover{background:#fbf3e3;}
tr.in-1st-team td{background:rgba(242,169,60,0.10);}
tr.in-1st-team:hover td{background:#fbf3e3;}
.cut-label{
  text-align:center;
  background:var(--navy);
  color:var(--cream);
  font-size:0.72em;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.6px;
}
.cut-label td{
  padding:5px 0;
  border-bottom:3px solid var(--gold-deep);
}
th.avg-col, td.avg-col{
  font-weight:800;
  color:var(--gold-deep);
  background:rgba(242,169,60,0.14);
  font-size:1.05em;
}
th.avg-col{
  color:var(--gold);
  background:rgba(242,169,60,0.22);
}
.cat-pill{
  display:inline-block;
  font-size:0.68em;
  font-weight:700;
  padding:2px 7px;
  border-radius:10px;
  color:#fff;
  margin-left:6px;
  letter-spacing:0.3px;
  vertical-align:middle;
}
.cat-pill.gent{background:var(--burgundy);}
.cat-pill.gerrie{background:var(--navy);}
.rank-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;height:26px;
  border-radius:50%;
  font-weight:700;
  color:#fff;
  font-size:0.85em;
}
.rank-1{background:var(--gold);color:#3a2400;}
.rank-2{background:var(--silver);color:#2b2b2b;}
.rank-3{background:var(--bronze);}
.rank-other{background:#cbb98f;color:#3a2f1c;}
.pts-pos{color:var(--green);font-weight:700;}
.pts-neg{color:var(--red);font-weight:700;}
.money-pos{color:var(--green);}
.money-neg{color:var(--red);}

/* Player cards */
.cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:18px;
  margin-top:18px;
}
.card{
  background:var(--card-bg);
  border-radius:12px;
  box-shadow:0 2px 12px rgba(0,0,0,0.1);
  overflow:hidden;
  border-top:6px solid var(--navy);
  position:relative;
}
.card.gent{border-top-color:var(--burgundy);}
.card.gerrie{border-top-color:var(--navy);}
.card .medal{
  position:absolute;
  top:10px;right:14px;
  font-size:1.3em;
}
.card-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px 10px;
  background:#fbf6ea;
}
.photo-slot{
  width:54px;
  height:54px;
  flex:0 0 auto;
  border-radius:50%;
  background:repeating-linear-gradient(45deg, #e9e1c9, #e9e1c9 6px, #f3ecd9 6px, #f3ecd9 12px);
  border:2px dashed #c9bd98;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4em;
  color:#a89a6c;
  overflow:hidden;
}
.photo-slot img{width:100%;height:100%;object-fit:cover;}
.card-head-text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.card-head .name{
  font-size:1.1em;
  font-weight:700;
  color:var(--navy);
  text-decoration:none;
}
.card-head a.name:hover{text-decoration:underline;}
.card-head .overall-rank{
  font-size:0.78em;
  color:#777;
  font-weight:600;
}
.card-body{padding:12px 16px 16px;}
.stat-row{
  display:flex;
  justify-content:space-between;
  font-size:0.85em;
  padding:3px 0;
  border-bottom:1px dashed #eee;
}
.stat-row span.label{color:#666;}
.stat-row span.val{font-weight:600;}
.discipline{
  margin-top:10px;
  background:#f7f4ea;
  border-radius:8px;
  padding:8px 10px;
}
.discipline-title{
  font-weight:700;
  font-size:0.82em;
  text-transform:uppercase;
  letter-spacing:0.5px;
  color:var(--navy);
  margin-bottom:4px;
  display:flex;
  justify-content:space-between;
}
.discipline-title .drank{font-weight:500;color:#999;text-transform:none;letter-spacing:0;}
.summary-strip{
  display:flex;
  justify-content:space-between;
  background:var(--navy);
  color:var(--cream);
  border-radius:8px;
  padding:8px 10px;
  margin-bottom:10px;
  font-size:0.82em;
}
.card.gent .summary-strip{background:var(--burgundy);}
.summary-strip div{text-align:center;flex:1;}
.summary-strip .big{font-size:1.2em;font-weight:700;display:block;font-family:'Playfair Display',Georgia,serif;}

/* Players index */
.players-index-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;
  margin-top:18px;
}
.player-chip{
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--card-bg);
  border-radius:10px;
  padding:12px 14px;
  text-decoration:none;
  box-shadow:0 2px 8px rgba(0,0,0,0.08);
  border-left:5px solid var(--navy);
}
.player-chip.gent{border-left-color:var(--burgundy);}
.player-chip.gerrie{border-left-color:var(--navy);}
.player-chip .player-name{font-weight:700;color:var(--navy);}

/* Years index */
.years-index-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:14px;
  margin-top:18px;
}
.year-chip{
  display:block;
  background:var(--card-bg);
  border-radius:10px;
  padding:18px;
  text-align:center;
  text-decoration:none;
  box-shadow:0 2px 8px rgba(0,0,0,0.08);
  border-top:5px solid var(--gold);
}
.year-chip .yr{font-family:'Playfair Display',Georgia,serif;font-size:1.6em;font-weight:800;color:var(--navy);}
.year-chip .yr-title{font-size:0.85em;color:#777;}

/* Player profile page (career table) */
table.career{
  width:100%;
  border-collapse:collapse;
  background:var(--card-bg);
  box-shadow:0 2px 12px rgba(0,0,0,0.1);
  border-radius:10px;
  overflow:hidden;
  font-size:0.92em;
  margin-top:14px;
}
table.career th{
  background:var(--navy);
  color:var(--cream);
  padding:10px 8px;
  text-align:center;
  font-weight:700;
  font-size:0.8em;
  text-transform:uppercase;
  letter-spacing:0.6px;
}
table.career td{
  padding:9px 8px;
  text-align:center;
  border-bottom:1px solid #ece3cf;
}
table.career td.year-cell a{color:var(--navy);font-weight:700;text-decoration:none;}
table.career td.year-cell a:hover{text-decoration:underline;}

footer.site-footer{
  text-align:center;
  color:#888;
  font-size:0.8em;
  padding:24px;
}
.note{
  font-size:0.82em;
  color:#777;
  margin-top:6px;
}
.empty-state{
  background:var(--card-bg);
  border-radius:10px;
  padding:24px;
  text-align:center;
  color:#888;
  margin-top:14px;
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
