/* ===== portfolio.css ===== */

/* ===== portfolio.css ===== */

/* ============================================================
   PORTFOLIO.CSS — Секция чемпионов (#portfolio)
   ============================================================ */

#portfolio {
  background: var(--off);
  padding: 80px 0;
}

/* ── Шапка раздела ── */
.portfolio-header {
  padding: 0 60px 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  border-bottom: 1px solid var(--line);
}

.portfolio-desc {
  font-size: 18px;
  line-height: 1.9;
  color: var(--muted);
  max-width: 360px;
  text-align: right;
  margin-left: auto;
}

/* ── Строка таблицы ── */
.champion-row {
  display: grid;
  grid-template-columns: 60px 1fr 240px 160px 120px;
  align-items: center;
  padding: 26px 60px;
  border-bottom: 1px solid var(--line);
  transition: background .2s;
}

.champion-row:hover {
  background: rgba(230, 184, 74, .08);
}

.champion-row.top {
  border-left: 3px solid var(--gold);
}

/* Строка-заголовок таблицы */
.champion-row.hdr {
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
  padding: 18px 60px;
}

.champion-row.hdr:hover {
  background: transparent;
}

/* ── Ячейки строки ── */
.ch-num {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-size: 24px;
  color: var(--muted);
}

.champion-row.top .ch-num {
  color: var(--gold);
}

.ch-name {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-size: 24px;
  font-weight: 400;
  color: var(--black);
}

.champion-row.top .ch-name {
  font-size: 24px;
}

.ch-award {
  font-size: 16px;
  color: var(--muted);
}

.champion-row.top .ch-award {
  color: var(--gold);
}

.ch-rating {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-size: 22px;
  font-weight: 300;
  color: var(--black);
}

.ch-age {
  font-size: 16px;
  color: var(--muted);
  text-align: right;
}

/* ── Скрытые строки (раскрываются кнопкой) ── */
.ch-extra {
  display: none;
}

.ch-extra.open {
  display: grid;
  animation: rowIn .4s cubic-bezier(.25, .46, .45, .94) both;
}

@keyframes rowIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: none; }
}

/* ── Кнопка «Показать ещё» ── */
.ch-expand-row {
  padding: 20px 60px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: background .2s;
}

.ch-expand-row:hover {
  background: var(--cream);
}

.ch-expand-btn {
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'DM Sans', system-ui, -apple-system, Arial, sans-serif;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  transition: color .2s;
}

.ch-expand-btn:hover {
  color: var(--black);
}

.ch-expand-icon {
  width: 26px;
  height: 26px;
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  color: var(--gold);
  flex-shrink: 0;
  transition: transform .35s cubic-bezier(.25, .46, .45, .94),
              border-color .25s;
}

/* Поворот иконки «+» в «×» при раскрытии */
.ch-expand-btn.expanded .ch-expand-icon {
  transform: rotate(45deg);
  border-color: var(--gold);
}