/* =========================================
   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, background-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;
}
.t-text a:hover, .t-descr a:hover {
  color: var(--color-accent) !important;
}

/* =========================================
   3. КНОПКИ (ФИКС: БЕЛЫЙ ТЕКСТ БЕЗ СЖАТИЯ)
   ========================================= */
.t-btn, button, input[type="submit"], .t-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, .t-submit:hover,
.t-btn:hover a, a.t-btn:hover, .header-menu a.t-btn:hover {
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 8px 20px rgba(230, 126, 34, 0.6) !important;
  background-color: #f39c12 !important;
  color: #ffffff !important; /* Текст строго белый */
  text-decoration: none !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-logo img {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  background: transparent !important;
  background-color: transparent !important;
}
/* Полный запрет на окрашивание логотипа при наведении */
.t-logo:hover, .t-logotext:hover, .header-logo a:hover, .t-logo img:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: inherit !important;
}

.t-menu__link, .header-menu a, nav a {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
/* Ссылки меню (не кнопки!) при наведении плавно подсвечиваются основным цветом */
.t-menu__link:not(.t-btn):hover, .header-menu a:not(.t-btn):hover {
  color: #ffffff !important;
  background-color: var(--color-primary) !important;
  border-radius: var(--radius-sm) !important;
}

/* =========================================
   5. НОВОСТНЫЕ КАРТОЧКИ, СТРЕЛКИ И ТЕГИ
   ========================================= */
/* Убран жесткий белый контур карточек, анимация сохранена */
.t-feed__card, .js-feed-post, .t-feed__card_grid,
.t-feed__card__bg-wrapper, .js-feed-post-inner {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.t-feed__card .t-feed__card-title,
.t-feed__card .t-feed__card-title a,
.t-feed__card .t-feed__story-title,
.t-feed__card .t-feed__story-title a,
.js-feed-post .t-feed__card-title,
.js-feed-post .t-feed__card-title a {
  color: #1a1a1a !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.t-feed__card:hover .t-feed__card-title,
.t-feed__card:hover .t-feed__card-title a,
.t-feed__card:hover .t-feed__story-title,
.t-feed__card:hover .t-feed__story-title a,
.js-feed-post:hover .t-feed__card-title,
.js-feed-post:hover .t-feed__card-title a {
  color: #1a1a1a !important;
  text-decoration: none !important;
  background: transparent !important;
}

.t-feed__card .t-feed__card-descr,
.t-feed__card .t-descr,
.js-feed-post .t-feed__card-descr {
  color: #444444 !important;
}

.t-feed__card:hover .t-feed__card-descr,
.js-feed-post:hover .t-feed__card-descr {
  color: #444444 !important;
}

/* ФИКС ТЕКСТА КАТЕГОРИЙ: Намертво забиваем ЧИСТЫЙ БЕЛЫЙ цвет без прозрачности */
.t-feed__parts-switch-btn,
.t-feed__parts-switch-btn span,
.t-feed__parts-switch-btn a,
.t-feed__tag-link,
.t-feed__tag-link span,
.t-feed__tag-link div,
a.t-feed__tag-link,
.t-feed__tag-link_active,
.t-feed__tag-link_active span {
  color: #ffffff !important;
  opacity: 1 !important;
  text-decoration: none !important;
  border: none !important;
  font-weight: 600 !important;
}

/* При наведении текст тегов строго подчеркивается линией и остается белым */
.t-feed__parts-switch-btn:hover,
.t-feed__parts-switch-btn:hover span,
.t-feed__parts-switch-btn:hover a,
.t-feed__tag-link:hover, 
.t-feed__tag-link:hover span,
.t-feed__tag-link:hover div,
a.t-feed__tag-link:hover {
  color: #ffffff !important;
  opacity: 1 !important;
  text-decoration: underline !important;
  border: none !important;
}

/* Стрелки карусели */
.t-carousel__arrow,
.t-carousel__arrow-wrapper,
.t-carousel__arrow_right,
.t-carousel__arrow_left {
  background-color: transparent !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.t-carousel__arrow:hover,
.t-carousel__arrow-wrapper:hover {
  background-color: transparent !important;
  background: transparent !important;
  transform: translateY(-50%) scale(1.15) !important;
}

.t-carousel__arrow_small {
  opacity: 0.7 !important;
}
.t-carousel__arrow_small:hover {
  opacity: 1 !important;
}

.t-feed__card-date {
  font-size: 13px !important;
  color: #718096 !important;
  font-weight: 600 !important;
  margin-bottom: 8px !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 {
  animation: gentleFadeIn 0.5s var(--transition-smooth) forwards;
}

/* =========================================
   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;
  }
}

/* =========================================
   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;
}

.partnership-card {
  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;
}