/* =========================================
   0. ПЕРЕМЕННЫЕ: Дизайн-система v4.0
   ========================================= */
:root {
  --color-primary: #2C5F8D;
  --color-accent: #E67E22;
  --color-bg-light: #F8FAFC;
  --color-bg-mid: #E6F0FA;
  --color-bg-dark: #A3CCE6;
  --color-text: #1a1a1a;
  --color-text-soft: #444444;
  
  --shadow-md: 0 8px 24px rgba(0,0,0,0.08);
  --shadow-lg: 0 16px 48px rgba(44,95,141,0.15);
  
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  
  --transition-smooth: cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* =========================================
   1. ФОН: Градиент с фиксацией
   ========================================= */
body, .t-records, .t-cover, .t-cover__filter {
  background: transparent !important;
}
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(180deg, 
    var(--color-bg-light) 0%, 
    var(--color-bg-mid) 45%, 
    var(--color-bg-dark) 100%);
  z-index: -2;
  pointer-events: none;
  background-attachment: fixed;
}

/* =========================================
   2. ТИПОГРАФИКА
   ========================================= */
h1, h2, h3, h4, h5, h6 {
  color: var(--color-text) !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.8) !important;
  letter-spacing: -0.02em !important;
}
p, li, label {
  color: var(--color-text-soft) !important;
  line-height: 1.6 !important;
}
a {
  color: var(--color-primary) !important;
  transition: color 0.2s ease !important;
  text-decoration: none !important;
}
a:hover {
  color: var(--color-accent) !important;
  text-decoration: underline !important;
}
.t-text a, .t-descr a {
  color: var(--color-primary) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* =========================================
   3. КНОПКИ
   ========================================= */
.t-btn, button, input[type="submit"] {
  background-color: var(--color-accent) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
  border-radius: var(--radius-sm) !important;
  transition: all 0.3s var(--transition-smooth) !important;
  box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4) !important;
  border: none !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
}
.t-btn:hover, button:hover, input[type="submit"]:hover {
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 8px 20px rgba(230, 126, 34, 0.6) !important;
  background-color: #f39c12 !important;
}
.t-btn:active, button:active, input[type="submit"]:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow: 0 2px 8px rgba(230, 126, 34, 0.4) !important;
}
.t-btn:focus, button:focus, input[type="submit"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.4) !important;
}

/* =========================================
   4. ЛОГОТИП И МЕНЮ
   ========================================= */
.t-logo, .t-logotext, .header-logo a, a[href="/"],
.t-menu__link, .header-menu a, nav a {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* =========================================
   5. НОВОСТНЫЕ КАРТОЧКИ
   ========================================= */
.t-feed__card {
  border-radius: var(--radius-lg) !important;
  background: #fff !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  box-shadow: 
    0 4px 8px rgba(0, 0, 0, 0.04),
    0 12px 24px rgba(44, 95, 141, 0.08) !important;
  transition: all 0.5s var(--transition-smooth) !important;
  position: relative !important;
  margin-bottom: 32px !important;
}

.t-feed__card:hover {
  transform: translateY(-10px) scale(1.02) !important;
  box-shadow: 
    0 8px 16px rgba(0, 0, 0, 0.08),
    0 24px 48px rgba(44, 95, 141, 0.2) !important;
}

.t-feed__card img {
  transition: transform 0.8s var(--transition-smooth) !important;
}

.t-feed__card:hover img {
  transform: scale(1.1) !important;
}

.t-feed__card-title,
.t-feed__card .t-feed__card-title a {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--color-text) !important;
  line-height: 1.4 !important;
  margin-bottom: 12px !important;
  transition: color 0.3s ease !important;
}

.t-feed__card:hover .t-feed__card-title,
.t-feed__card:hover .t-feed__card-title a {
  color: var(--color-primary) !important;
}

.t-feed__card-date {
  font-size: 13px !important;
  color: #8899a6 !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
}

.t-feed__card-date::before {
  content: "📅" !important;
  font-size: 14px !important;
  margin-right: 6px !important;
}

/* Анимация появления карточек */
.t-feed__card {
  animation: cardFadeIn 0.6s var(--transition-smooth) forwards !important;
  opacity: 0 !important;
  transform: translateY(20px) !important;
}

.t-feed__card:nth-child(1) { animation-delay: 0.1s !important; }
.t-feed__card:nth-child(2) { animation-delay: 0.2s !important; }
.t-feed__card:nth-child(3) { animation-delay: 0.3s !important; }
.t-feed__card:nth-child(4) { animation-delay: 0.4s !important; }

@keyframes cardFadeIn {
  to {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}

/* =========================================
   6. КОНТАКТЫ
   ========================================= */
.cl02__col, .contact-card {
  background: rgba(255, 255, 255, 0.95) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px !important;
  box-shadow: 
    0 4px 12px rgba(0,0,0,0.06),
    0 12px 24px rgba(44,95,141,0.1) !important;
  transition: transform 0.3s var(--transition-smooth) !important;
}
.cl02__col:hover, .contact-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 
    0 8px 20px rgba(0,0,0,0.08),
    0 20px 40px rgba(44,95,141,0.15) !important;
}
.cl02__title {
  color: var(--color-primary) !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}
.cl02__text {
  color: var(--color-text-soft) !important;
  line-height: 1.6 !important;
  font-size: 15px !important;
}
.cl02__text a {
  color: var(--color-primary) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.cl02__text a:hover {
  color: var(--color-accent) !important;
  text-decoration: underline !important;
}

/* =========================================
   7. СОЦСЕТИ
   ========================================= */
.cn103__social {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.cn103__social a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(44,95,141,0.1);
  border-radius: 30px;
  color: var(--color-primary) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  transition: all 0.2s ease !important;
}
.cn103__social a:hover {
  background: var(--color-primary) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

/* =========================================
   8. БЕЙДЖИ ГРАНТОВ
   ========================================= */
.grant-badge {
  background: var(--color-primary);
  color: white;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(44, 95, 141, 0.3);
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.badge-fpg { background: var(--color-primary); }
.badge-mayor { background: #8E44AD; }
.badge-report { background: #27AE60; }
.badge-media { background: var(--color-accent); }

/* =========================================
   9. ФУТЕР
   ========================================= */
.t-footer {
  background: linear-gradient(180deg, 
    rgba(230,240,250,0.95), 
    rgba(163,204,230,0.98)) !important;
  border-top: 1px solid rgba(44,95,141,0.2) !important;
  padding: 40px 0 24px !important;
}
.t-footer__text {
  color: var(--color-text) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.t-footer__link {
  color: var(--color-primary) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.t-footer__link:hover {
  color: var(--color-accent) !important;
  text-decoration: underline !important;
}
.t-footer__partners {
  display: flex;
  gap: 24px;
  justify-content: center;
  margin: 24px 0;
  opacity: 0.8;
  flex-wrap: wrap;
}
.t-footer__partners img {
  height: 40px;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}
.t-footer__partners img:hover {
  filter: grayscale(0%);
}

/* =========================================
   10. АНИМАЦИИ
   ========================================= */
@keyframes gentleFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.t-title, .t-text, .t-feed__card {
  animation: gentleFadeIn 0.5s var(--transition-smooth) forwards;
}
.t-feed__card:nth-child(1) { animation-delay: 0.1s; }
.t-feed__card:nth-child(2) { animation-delay: 0.2s; }
.t-feed__card:nth-child(3) { animation-delay: 0.3s; }
.t-feed__card:nth-child(4) { animation-delay: 0.4s; }

/* =========================================
   11. ДОСТУПНОСТЬ
   ========================================= */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .t-feed__card, .t-feed__card img, .t-btn, 
  .cl02__col, .contact-card, .cn103__social a {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

.t-visibility-mode-on body::before {
  background: #fff !important;
}
.t-visibility-mode-on h1, 
.t-visibility-mode-on h2, 
.t-visibility-mode-on h3 {
  color: #000 !important;
  text-shadow: none !important;
}
.t-visibility-mode-on p, 
.t-visibility-mode-on li, 
.t-visibility-mode-on span {
  color: #000 !important;
}

/* =========================================
   12. ЛИПКАЯ КНОПКА
   ========================================= */
.sticky-donate-btn {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 9999 !important;
  box-shadow: 0 8px 24px rgba(230, 126, 34, 0.4) !important;
}

/* =========================================
   13. СТРАНИЦА СОТРУДНИЧЕСТВА ✨ НОВОЕ
   ========================================= */

/* Применяем только к конкретной странице */
body[class*="page123710886"] .t-container,
body[class*="sotrudnichestvo"] .t-container,
.t-page__partnership .t-container {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 40px 20px !important;
}

/* Заголовок страницы */
body[class*="page123710886"] .t-title,
body[class*="sotrudnichestvo"] .t-title {
  font-size: 40px !important;
  color: var(--color-primary) !important;
  margin-bottom: 16px !important;
  text-align: center !important;
}

/* Подзаголовок */
body[class*="page123710886"] .t-descr:first-of-type,
body[class*="sotrudnichestvo"] .t-descr:first-of-type {
  font-size: 18px !important;
  color: var(--color-text-soft) !important;
  max-width: 700px !important;
  margin: 0 auto 48px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

/* Карточки форматов сотрудничества */
.partnership-card,
.t-card--partnership,
[class*="partnership"] {
  background: #fff !important;
  border-radius: var(--radius-lg) !important;
  padding: 32px !important;
  margin: 24px 0 !important;
  box-shadow: var(--shadow-md) !important;
  border-left: 4px solid var(--color-primary) !important;
  transition: all 0.3s var(--transition-smooth) !important;
}

.partnership-card:hover,
.t-card--partnership:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-lg) !important;
  border-left-color: var(--color-accent) !important;
}

/* Иконка карточки */
.partnership-card__icon,
[class*="partnership"] .t-icon {
  font-size: 32px !important;
  margin-bottom: 16px !important;
  display: block !important;
  color: var(--color-primary) !important;
}

/* Заголовок карточки */
.partnership-card__title,
[class*="partnership"] .t-title,
[class*="partnership"] h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--color-text) !important;
  margin-bottom: 12px !important;
}

/* Список преимуществ */
.partnership-card__list,
[class*="partnership"] ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}

.partnership-card__list li,
[class*="partnership"] li {
  padding: 8px 0 8px 28px !important;
  position: relative !important;
  color: var(--color-text-soft) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.partnership-card__list li::before,
[class*="partnership"] li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--color-success) !important;
  font-weight: bold !important;
}

/* Кнопки в карточках */
.partnership-card__btn,
[class*="partnership"] .t-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 24px !important;
  background: rgba(44, 95, 141, 0.1) !important;
  color: var(--color-primary) !important;
  border-radius: var(--radius-sm) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  transition: all 0.2s ease !important;
}

.partnership-card__btn:hover,
[class*="partnership"] .t-btn:hover {
  background: var(--color-primary) !important;
  color: #fff !important;
  transform: translateX(4px) !important;
}

/* Блок "Есть идея?" */
.idea-block,
[class*="idea"] {
  background: linear-gradient(135deg, 
    rgba(230, 240, 250, 0.8), 
    rgba(163, 204, 230, 0.6)) !important;
  border-radius: var(--radius-lg) !important;
  padding: 40px !important;
  margin: 48px 0 !important;
  text-align: center !important;
  border: 2px dashed var(--color-primary) !important;
}

.idea-block__title,
[class*="idea"] .t-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  margin-bottom: 16px !important;
}

.idea-block__text,
[class*="idea"] .t-text {
  font-size: 16px !important;
  color: var(--color-text-soft) !important;
  margin-bottom: 24px !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Сетка карточек */
.partnership-grid,
.t-grid--partnership {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  margin: 40px 0 !important;
}

/* Адаптация */
@media (max-width: 768px) {
  body[class*="page123710886"] .t-container {
    padding: 24px 16px !important;
  }
  body[class*="page123710886"] .t-title {
    font-size: 32px !important;
  }
  .partnership-grid {
    grid-template-columns: 1fr !important;
  }
  .partnership-card {
    padding: 24px !important;
  }
}
