.sgcw-wr-archive {
  --sgcw-green: #00582f;
  --sgcw-green-2: #008832;
  --sgcw-gold: #d9a300;
  --sgcw-ice: #eef7fb;
  display: grid;
  gap: 34px;
  width: 100%;
  margin: 0 auto;
}

.sgcw-wr-season {
  position: relative;
  width: min(920px, 100%);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(0, 88, 50, .18);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 15px 38px rgba(0, 55, 35, .14);
}

.sgcw-wr-hero {
  position: relative;
  min-height: 150px;
  padding: 24px 24px 18px;
  text-align: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 18%, rgba(255,255,255,.95) 0 3px, transparent 4px),
    radial-gradient(circle at 82% 22%, rgba(255,255,255,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 66% 68%, rgba(255,255,255,.85) 0 3px, transparent 4px),
    linear-gradient(180deg, #dff0f8 0%, #f7fbfd 66%, #edf6f4 100%);
}

.sgcw-wr-hero::before,
.sgcw-wr-hero::after {
  content: "";
  position: absolute;
  bottom: -58px;
  width: 360px;
  height: 120px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
}

.sgcw-wr-hero::before { left: -70px; transform: rotate(7deg); }
.sgcw-wr-hero::after { right: -60px; transform: rotate(-6deg); }

.sgcw-wr-clubline,
.sgcw-wr-hero h2,
.sgcw-wr-year,
.sgcw-wr-updated {
  position: relative;
  z-index: 2;
}

.sgcw-wr-clubline {
  color: var(--sgcw-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
}

.sgcw-wr-hero h2 {
  margin: 10px 0 2px;
  color: #063f2b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 4.4vw, 48px);
  line-height: 1.05;
  letter-spacing: .035em;
}

.sgcw-wr-year {
  color: var(--sgcw-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 3.4vw, 38px);
  font-weight: 700;
  letter-spacing: .08em;
}

.sgcw-wr-updated {
  margin: 7px 0 0;
  color: #315c50;
  font-size: 13px;
  font-weight: 700;
}

.sgcw-wr-table-wrap {
  width: 100%;
  overflow: visible;
  background: #fff;
}

.sgcw-wr-table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-variant-numeric: tabular-nums;
}

.sgcw-wr-table col.col-rank { width: 6%; }
.sgcw-wr-table col.col-name { width: 19%; }
.sgcw-wr-table col.col-factor { width: 11%; }
.sgcw-wr-table col.col-best { width: 10%; }
.sgcw-wr-table col.col-score { width: 8%; }
.sgcw-wr-table col.col-penalty { width: 8%; }
.sgcw-wr-table col.col-total { width: 11%; }

.sgcw-wr-table th,
.sgcw-wr-table td {
  border: 1px solid #dfe8e4;
  padding: 9px 5px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.15;
}

.sgcw-wr-table thead th {
  color: #fff;
  background: linear-gradient(180deg, #00623a 0%, #004c2e 100%);
  font-size: clamp(9px, 1.35vw, 13px);
  font-weight: 800;
  text-transform: uppercase;
}

.sgcw-wr-table td {
  color: #163a2f;
  background: rgba(255,255,255,.96);
  font-size: clamp(10px, 1.45vw, 14px);
}

.sgcw-wr-table tbody tr:nth-child(even):not(.podium-1):not(.podium-2):not(.podium-3) td {
  background: #f7faf9;
}

.sgcw-wr-table .name-cell {
  text-align: left;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.sgcw-wr-table .best-cell,
.sgcw-wr-table .total-cell {
  font-weight: 850;
}

.sgcw-wr-table .is-top1 {
  color: #fff;
  background: linear-gradient(180deg, #e7b311 0%, #d89b00 100%) !important;
  font-weight: 850;
}

.sgcw-wr-table .is-highlight {
  color: #3d1a00;
  background: #ff7219 !important;
  font-weight: 850;
}

.sgcw-wr-table tr.podium-1 td { background: linear-gradient(90deg, #fff8d8, #fffdf4); }
.sgcw-wr-table tr.podium-2 td { background: linear-gradient(90deg, #f1f4f7, #fafcfd); }
.sgcw-wr-table tr.podium-3 td { background: linear-gradient(90deg, #f7d7ac, #fff1dc); }

.rank-medal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  min-width: 42px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 800;
}
.rank-medal strong { font-size: 20px; }
.rank-1 { color: #b68200; }
.rank-2 { color: #7e8892; }
.rank-3 { color: #a55d17; }

.sgcw-wr-empty {
  padding: 22px !important;
  color: #5b6f68 !important;
  font-style: italic;
}

.sgcw-wr-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 62px;
  padding: 12px 20px;
  color: #fff;
  background: linear-gradient(135deg, #00653a 0%, #004b2d 75%);
  border-top: 4px solid var(--sgcw-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(17px, 2.6vw, 28px);
  font-style: italic;
}

.sgcw-wr-footer span:last-child {
  font-size: 28px;
  font-style: normal;
}

.sgcw-wr-season.is-kids .sgcw-wr-hero {
  background:
    radial-gradient(circle at 14% 22%, rgba(255,255,255,.95) 0 3px, transparent 4px),
    linear-gradient(180deg, #e9f5ff 0%, #fff7e4 100%);
}

@media (max-width: 782px) {
  .sgcw-wr-archive {
    gap: 24px;
  }

  .sgcw-wr-season {
    width: calc(100vw - 16px);
    max-width: 920px;
    margin-left: 50%;
    transform: translateX(-50%);
    border-radius: 13px;
  }

  .sgcw-wr-hero {
    min-height: 104px;
    padding: 14px 10px 10px;
  }

  .sgcw-wr-clubline { font-size: 9px; }
  .sgcw-wr-hero h2 { margin-top: 6px; font-size: clamp(22px, 6vw, 36px); }
  .sgcw-wr-year { font-size: clamp(18px, 5vw, 30px); }
  .sgcw-wr-updated { font-size: 10px; }

  .sgcw-wr-table th,
  .sgcw-wr-table td {
    padding: 5px 2px;
  }

  .sgcw-wr-table thead th {
    font-size: clamp(7px, 1.55vw, 10px);
  }

  .sgcw-wr-table td {
    font-size: clamp(8px, 1.75vw, 11px);
  }

  .rank-medal {
    min-width: 0;
    gap: 0;
    font-size: 8px;
  }
  .rank-medal strong { font-size: 14px; }
  .sgcw-wr-footer { min-height: 48px; padding: 8px; }
}

@media (max-width: 520px) {
  .sgcw-wr-table col.col-rank { width: 5.5%; }
  .sgcw-wr-table col.col-name { width: 20%; }
  .sgcw-wr-table col.col-factor { width: 10%; }
  .sgcw-wr-table col.col-best { width: 9%; }
  .sgcw-wr-table col.col-score { width: 7.4%; }
  .sgcw-wr-table col.col-penalty { width: 7.5%; }
  .sgcw-wr-table col.col-total { width: 10%; }
  .sgcw-wr-table th,
  .sgcw-wr-table td { padding-left: 1px; padding-right: 1px; }
  .sgcw-wr-table .name-cell { hyphens: auto; }
}
