/* ===== SIDEBAR READABILITY FIX ===== */

#sidebar {
  background: #ffffff;
  color: #111827;
}

#sidebar a {
  color: #111827;
  font-weight: 500;
}

#sidebar a:hover {
  color: #ef4444;
}

#sidebar nav a.active {
  color: #111827;
  font-weight: 700;
}

/* Описания, подписи, мелкий текст */
#sidebar p,
#sidebar span,
#sidebar li,
#sidebar label {
  color: #374151;
}

/* Разделители */
#sidebar .inner > * {
  border-top-color: rgba(17, 24, 39, 0.12);
}

/* ===== BUTTON COLORS FIX ===== */

/* базовый текст кнопок */
.btn{
  color:#e8eef6;
}

/* основная кнопка (Подробнее) */
.btn--primary{
  background:#ef4444;          /* чистый акцент */
  color:#ffffff;               /* белый текст */
  border-color:transparent;    /* убрать грязную обводку */
}

/* вторичные кнопки */
.btn--muted{
  background:#2a3340;
  color:#e8eef6;
}

/* призрачные кнопки */
.btn--ghost{
  color:#e8eef6;
  border-color:rgba(169,180,194,.35);
}

/* состояния */
.btn:hover{
  filter:brightness(1.08);
}

.btn:active{
  transform:translateY(1px);
}

/* ===== Athlete card "Подробнее" button fix ===== */
.card .btn.btn--primary.toggle{
  background:#ef4444;
  color:#ffffff;
  border-color:transparent;
}

.card .btn.btn--primary.toggle:hover{
  filter:brightness(1.08);
}

.card .btn.btn--primary.toggle:active{
  transform:translateY(1px);
}

/* ===== Fix text color in athlete card button ===== */
.card .btn.btn--primary.toggle{
  color:#ffffff !important;
  font-weight:600;
  opacity:1;
}

/* Intro текст перед кейсами */
.cases-intro {
  max-width: 720px;
  margin: 0 auto 48px auto;
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  color: #cfd6df;
}

.cases-intro strong {
  color: #ffffff;
}

/* Сетка кейсов — 2 в ряд */
.cases-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-bottom: 40px;
}

/* На мобильных — 1 в ряд */
@media (max-width: 768px) {
  .cases-grid {
    grid-template-columns: 1fr;
  }
}

/* Кейсы: сетка 2 в ряд */
#athletesGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}

/* Мобилка: 1 в ряд */
@media (max-width: 768px){
  #athletesGrid{ grid-template-columns:1fr; }
}
/* Sidebar: keep template logic based on #sidebar.inactive */

/* Кнопка меню (гамбургер) */
#sidebar .toggle{
  opacity:1 !important;
}

#sidebar .toggle::before{
  color:#f8fafc !important;
  font-size:1.35rem !important;
}

#sidebar .toggle::after{
  content:"";
  position:absolute;
  top:1rem;
  left:1rem;
  width:4.5rem;
  height:3.5rem;
  border-radius:0.65rem;
  background:rgba(31,111,235,.18);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  z-index:0;
}

#sidebar .toggle:hover::before{
  color:#7dd3fc !important;
}
