/* ===== БЛОК ЖЕРТВОВАТЕЛЕЙ — mpei/endowment.donors ===== */

.ew-donors {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 100px 0 88px;
  overflow: hidden;
  background: linear-gradient(135deg, #00274a 0%, #004076 55%, #003060 100%);
}

/* Точечная сетка */
.ew-donors-grid-bg {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.07) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}

/* Декоративные кольца */
.ew-donors-decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.ew-donors-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.06);
}
.ew-donors-ring--1 {
  width: 600px; height: 600px;
  top: 50%; left: 15%;
  transform: translate(-50%, -50%);
}
.ew-donors-ring--2 {
  width: 380px; height: 380px;
  top: 50%; left: 15%;
  transform: translate(-50%, -50%);
  border-color: rgba(193,8,49,0.15);
}
.ew-donors-ring--3 {
  width: 800px; height: 800px;
  top: 50%; right: -120px;
  transform: translateY(-50%);
  border-color: rgba(255,255,255,0.04);
}

/* Шапка */
.ew-donors-head {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 64px 56px;
}

.ew-donors-title {
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 14px;
  letter-spacing: -0.02em;
}

.ew-donors-sub {
  font-size: clamp(14px, 1.2vw, 18px);
  color: rgba(255,255,255,0.55);
  margin: 0;
}

/* Полосы прокрутки */
.ew-donors-track-wrap {
  position: relative;
  z-index: 2;
}

.ew-donors-row {
  margin-bottom: 14px;
}
.ew-donors-row:last-of-type { margin-bottom: 0; }

.ew-donors-inner {
  display: flex;
  gap: 12px;
  width: max-content;
}

/* Карточка — стекло */
.ew-donor-card {
  flex-shrink: 0;
  padding: 16px 28px;
  border-radius: 40px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  white-space: nowrap;
  backdrop-filter: blur(4px);
  transition: background 0.25s, border-color 0.25s;
  cursor: default;
  user-select: none;
}
.ew-donor-card:hover {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.35);
}

/* Красный акцент — для компаний */
.ew-donor-card--red {
  background: rgba(193,8,49,0.20);
  border-color: rgba(193,8,49,0.40);
  color: #fff;
}
.ew-donor-card--red:hover {
  background: rgba(193,8,49,0.35);
  border-color: rgba(193,8,49,0.70);
}

/* Анимации */
@keyframes donorScrollLeft {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes donorScrollRight {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

.ew-donors-row--left  .ew-donors-inner { animation: donorScrollLeft  50s linear infinite; }
.ew-donors-row--right .ew-donors-inner { animation: donorScrollRight 50s linear infinite; }
.ew-donors-row--slow  .ew-donors-inner { animation-duration: 65s; }
.ew-donors-row--fast  .ew-donors-inner { animation-duration: 38s; }

.ew-donors-row:hover .ew-donors-inner { animation-play-state: paused; }

/* Fade-маски */
.ew-donors-fade {
  position: absolute;
  top: 0; bottom: 0;
  width: 160px;
  pointer-events: none;
  z-index: 3;
}
.ew-donors-fade--l {
  left: 0;
  background: linear-gradient(to right, #00274a 0%, transparent 100%);
}
.ew-donors-fade--r {
  right: 0;
  background: linear-gradient(to left, #003060 0%, transparent 100%);
}

@media (max-width: 768px) {
  .ew-donors { padding: 64px 0 56px; }
  .ew-donors-head { padding: 0 24px 36px; }
  .ew-donor-card { padding: 13px 20px; font-size: 13px; }
  .ew-donors-fade { width: 60px; }
  .ew-donors-ring--1, .ew-donors-ring--3 { display: none; }
}
