<!-- ============================================================
     СТИЛИ САЙТА — единый оптимизированный файл
     Вставить в: Настройки сайта → Ещё → HTML-код внутрь 
     ============================================================ -->

/* ============================================================
   0. ТОКЕНЫ
   ============================================================ */
:root {
  --uc-dark:      #0d2240;
  --uc-red:       #c0392b;
  --uc-red-hover: #B83228;
  --uc-gold:      #e8b84b;
  --uc-bg:        #f4f6f9;
  --uc-muted:     #7a8a9e;
  --uc-border:    #d0d8e4;
  --uc-radius:    12px;
  --uc-font-head: var(--t-headline-font, Arial);
  --uc-font-text: var(--t-text-font, Arial);
}

/* ============================================================
   1. ПЛАВНОЕ ПОЯВЛЕНИЕ — только у наших кастомных блоков
   ⚠️ НЕ трогаем .t-records / .t-rec / .t-feed — они ломают
   dropdown-меню и position: fixed внутри Tilda
   ============================================================ */
.sport-section,
.hp-sports,
.sp-facilities,
.history-block,
.promo-athletic {
  animation: ucFadeIn .6s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes ucFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   2. ЗАЩИТА ХЕДЕРА И ВЫПАДАЮЩЕГО МЕНЮ
   ============================================================ */
#t-header,
#t-header .t-rec,
#t-header .t-records,
.hp-menu,
.hp-menu * {
  animation: none !important;
}
.hp-menu__submenu {
  z-index: 9999 !important;
}
.hp-menu__mobile-panel,
.hp-menu__overlay {
  z-index: 9999 !important;
}

/* ============================================================
   3. ЗАГОЛОВОК .t015 — 24px
   ============================================================ */
body .t015 .t015__title {
  display: block !important;
  font-family: var(--uc-font-head) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--uc-red) !important;
  line-height: 1.3 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  width: 100% !important;
}
body .t015 .t015__title::after {
  content: '' !important;
  display: block !important;
  height: 1px !important;
  width: 100% !important;
  background: var(--uc-border) !important;
  margin-top: 14px !important;
}

/* ============================================================
   4. КАРТОЧКИ НОВОСТЕЙ t2823 / t-cms (сетка главной)
   ============================================================ */
.t2823__items,
.js-cms-container-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.t-cms__card {
  position: relative !important;
  background: #fff !important;
  border: 1px solid var(--uc-border) !important;
  border-radius: var(--uc-radius) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 2px 8px rgba(13, 34, 64, .04) !important;
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--uc-font-text) !important;
}
.t-cms__card:hover {
  box-shadow: 0 10px 28px rgba(13, 34, 64, .12) !important;
  border-color: var(--uc-red) !important;
  transform: translateY(-2px) !important;
}
.t-cms__card__link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  text-decoration: none !important;
}
.t-cms__card__cell_media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  background: var(--uc-bg) !important;
  overflow: hidden !important;
  border-radius: var(--uc-radius) var(--uc-radius) 0 0 !important;
}
.t-cms__card__atom_placeholder,
.t-cms__card__slider-image {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  display: block !important;
  transition: transform .35s ease !important;
}
.t-cms__card:hover .t-cms__card__slider-image,
.t-cms__card:hover .t-cms__card__atom_placeholder {
  transform: scale(1.03) !important;
}
.t-cms__card__atom_placeholder { background-color: #e8edf3 !important; }

.t-cms__card__slider {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  overflow: hidden !important;
  width: 100% !important;
}
.t-cms__card__slider-item { flex: 0 0 100% !important; width: 100% !important; }
.t-cms__card__slider-nav {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important; right: 0 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  justify-content: space-between !important;
  padding: 0 12px !important;
  z-index: 4 !important;
  pointer-events: none !important;
}
.t-cms__card__slider-btn {
  pointer-events: auto !important;
  width: 38px !important; height: 38px !important;
  border-radius: 50% !important;
  background: rgba(13, 34, 64, .75) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  opacity: 0 !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  transition: background .25s ease, transform .15s ease, opacity .25s ease !important;
}
.t-cms__card:hover .t-cms__card__slider-btn { opacity: 1 !important; }
.t-cms__card__slider-btn:hover { background: var(--uc-red) !important; transform: scale(1.08) !important; }
.t-cms__card__slider-btn svg { width: 18px !important; height: 18px !important; display: block !important; }
.t-cms__card__slider-btn svg path { stroke: #fff !important; stroke-width: 2 !important; fill: none !important; }
.t-cms__card__slider-btn_prev svg { transform: rotate(180deg) !important; }

.t-cms__card__molecule_label {
  position: absolute !important;
  top: 12px !important; left: 12px !important;
  padding: 5px 10px !important;
  background: rgba(13, 34, 64, .88) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border-radius: 6px !important;
  z-index: 4 !important;
  display: inline-block !important;
  line-height: 1 !important;
}
.t-cms__card__molecule_label .t-uptitle,
.t-cms__card__molecule_label .t-cms__card__text {
  font-family: var(--uc-font-text) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  line-height: 1.2 !important;
}
.t-cms__card__cell_txt {
  padding: 20px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
}
.t-cms__card__atom.t-name,
.t-cms__card__atom.t-name_md {
  display: block !important;
  font-family: var(--uc-font-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--uc-dark) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  transition: color .2s ease !important;
}
.t-cms__card__atom.t-name .t-cms__card__text { color: inherit !important; font: inherit !important; }
.t-cms__card:hover .t-cms__card__atom.t-name,
.t-cms__card:hover .t-cms__card__atom.t-name_md { color: var(--uc-red) !important; }
.t-cms__card__separator { display: none !important; }

/* ============================================================
   5. НОВОСТНОЙ ПОТОК t897 — ТОЛЬКО цвет/типографика
   ⚠️ Никаких height, padding, display, margin — иначе съезжает 4-я карточка
   ============================================================ */

/* 5.1. Фильтры-табы */
ul.t-feed__parts-switch-wrapper {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.t-feed__parts-switch-btn {
  border-color: var(--uc-border) !important;
  background-color: #fff !important;
}
.t-feed__parts-switch-btn a,
.t-feed__parts-switch-btn span {
  font-family: var(--uc-font-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--uc-dark) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}
.t-feed__parts-switch-btn:hover {
  border-color: var(--uc-red) !important;
  background-color: rgba(192, 57, 43, .04) !important;
}
.t-feed__parts-switch-btn:hover a,
.t-feed__parts-switch-btn:hover span { color: var(--uc-red) !important; }
.t-feed__parts-switch-btn.t-active {
  background-color: var(--uc-red) !important;
  border-color: var(--uc-red) !important;
}
.t-feed__parts-switch-btn.t-active a,
.t-feed__parts-switch-btn.t-active span { color: #fff !important; font-weight: 700 !important; }

/* 5.2. Карточка поста — только фон/рамка */
.t-feed__col-grid__post-wrapper {
  background-color: #fff !important;
  border-color: var(--uc-border) !important;
}
.t-feed__post:hover .t-feed__col-grid__post-wrapper {
  border-color: var(--uc-red) !important;
}
.t-feed__col-grid__wrapper { background-color: #fff !important; }
.t-feed__post-imgwrapper .t-bgimg,
.t-feed__post-bgimg { transition: transform .35s ease !important; }
.t-feed__post:hover .t-feed__post-bgimg { transform: scale(1.04) !important; }

/* 5.3. КАТЕГОРИЯ (tag) */
.t-feed__post-tag,
.t-feed__post-tag.t-uptitle,
.t-feed__post-tag.t-uptitle_xs {
  display: inline-block !important;
  font-family: var(--uc-font-text) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--uc-red) !important;
  background-color: rgba(192, 57, 43, .1) !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.t-feed__post-parts-date-row,
.t-feed__post-parts-date-row_beforetitle {
  border: none !important;
  background: none !important;
}

/* 5.4. Дата на фото */
.t-feed__post-label {
  background-color: rgba(13, 34, 64, .88) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border-radius: 6px !important;
}
.t-feed__post-date,
.t-feed__post-date.t-uptitle,
.t-feed__post-date.t-uptitle_xs {
  font-family: var(--uc-font-text) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
}

/* 5.5. Заголовок карточки */
.t-feed__post-title,
.t-feed__post-title.t-name,
.t-feed__post-title.t-name_md {
  font-family: var(--uc-font-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--uc-dark) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  transition: color .2s ease !important;
}
.t-feed__post-title a,
.t-feed__link {
  color: inherit !important;
  text-decoration: none !important;
  font: inherit !important;
}
.t-feed__post:hover .t-feed__post-title { color: var(--uc-red) !important; }

/* 5.6. Кнопка «Загрузить ещё» */
.t-feed__buttons-wrapper {
  display: flex !important;
  justify-content: center !important;
}
.t-feed__showmore-btn,
.t-btnflex.t-btnflex_type_bbutton {
  background-color: var(--uc-red) !important;
  color: #fff !important;
  border-color: var(--uc-red) !important;
  font-family: var(--uc-font-head) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}
.t-btnflex__text { color: inherit !important; font: inherit !important; }
@media (hover: hover) {
  .t-feed__showmore-btn:hover,
  .t-btnflex.t-btnflex_type_bbutton:hover,
  .t-btnflex.t-btnflex_type_bbutton:not(.t-animate_no-hover):hover {
    background-color: var(--uc-dark) !important;
    border-color: var(--uc-dark) !important;
    color: #fff !important;
  }
}

/* ============================================================
   6. СЛАЙДЕР t1004 — карточки + уборка отступов сверху
   ============================================================ */
#rec389835959 .t-section__title,
.t1004 .t-section__title { margin-bottom: 0 !important; }
#rec389835959 .t-section__container,
#rec389835959 .t-container,
#rec389835959 .t-col,
#rec389835959 .t-col_12,
.t-feed .t-slds,
.t-feed .t-slds__main,
.t-feed .t-slds__container,
.t-feed .t-slds__items-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.t1004 .t1004__scroll-icon-wrapper { display: none !important; }
.t-feed .js-feed-parts-select-container { display: none !important; }

.t-feed .t-feed__slider-grid__post-wrapper {
  background-color: #fff !important;
  border: 1px solid var(--uc-border) !important;
  border-radius: var(--uc-radius) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(13, 34, 64, .04) !important;
}
.t-feed .t-feed__post:hover .t-feed__slider-grid__post-wrapper {
  border-color: var(--uc-red) !important;
}
.t-feed .t-feed__slider-grid__content,
.t-feed .t-feed__slider-grid__wrapper { background-color: #fff !important; }

/* ============================================================
   7. ХЛЕБНЫЕ КРОШКИ (t758)
   ============================================================ */
.t758 .t-menu__link-item {
  font-family: var(--uc-font-text) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--uc-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}
.t758 .t-menu__link-item:hover { color: var(--uc-red) !important; }
.t758 .t-menu__link-item.t758__link-item_active {
  color: var(--uc-dark) !important;
  font-weight: 600 !important;
}
.t758 .t758__breadcrumb-divider { color: #b8c2d1 !important; }

/* ============================================================
   8. КНОПКА «Все новости» (t2823__buttons)
   ============================================================ */
body .t2823__buttons,
body .js-cms-container-buttons {
  display: flex !important;
  justify-content: center !important;
}

/* ============================================================
   9. СПОРТ-СЕКЦИЯ (расписание + тренеры)
   ============================================================ */
.sport-section,
.sport-section * { box-sizing: border-box; }

.sport-section {
  background: var(--uc-bg);
  padding: 64px 20px;
  font-family: var(--uc-font-text);
  color: var(--uc-dark);
}
.sport-section__inner { max-width: 1200px; margin: 0 auto; }

.sport-section__lead {
  font-size: 16px;
  line-height: 1.75;
  color: var(--uc-dark);
  margin: 0 0 36px;
  max-width: 860px;
  font-weight: 400;
}
.sport-section__lead strong {
  font-weight: 700;
  color: var(--uc-dark);
  background: linear-gradient(transparent 62%, rgba(232, 184, 75, .45) 62%);
  padding: 0 2px;
}

body .sport-section .sport-section__section-label {
  display: block !important;
  font-family: var(--uc-font-head) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--uc-red) !important;
  line-height: 1.4 !important;
  margin: 48px 0 24px !important;
  padding: 0 !important;
  width: 100% !important;
}
body .sport-section .sport-section__section-label::after {
  content: '' !important;
  display: block !important;
  height: 1px !important;
  width: 100% !important;
  background: var(--uc-border) !important;
  margin-top: 12px !important;
}
body .sport-section .sport-section__section-label:first-child { margin-top: 0 !important; }
body .sport-section .sport-section__section-label .sport-section__count {
  display: inline-block !important;
  margin: 0 0 0 10px !important;
  padding: 3px 9px !important;
  background: rgba(192, 57, 43, .12) !important;
  color: var(--uc-red) !important;
  font-family: var(--uc-font-text) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  vertical-align: middle !important;
}
.sport-section__notice {
  background: #fff;
  border: 1px dashed var(--uc-border);
  border-radius: 10px;
  padding: 16px 20px;
  font-size: 14px;
  color: var(--uc-muted);
  margin-bottom: 24px;
}

/* ---------- Сетка расписания ---------- */
.schedule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0 0 8px 0;
  align-items: stretch;
}
.schedule-card {
  background: #fff;
  border: 1px solid var(--uc-border);
  border-radius: var(--uc-radius);
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 2px 8px rgba(13, 34, 64, .04);
  transition: box-shadow .25s ease, border-color .25s ease;
  overflow: hidden;
  height: 340px;
  min-height: 340px;
}
.schedule-card:hover {
  box-shadow: 0 10px 28px rgba(13, 34, 64, .10);
  border-color: var(--uc-red);
}
.schedule-card__tag {
  display: inline-block;
  align-self: flex-start;
  background: rgba(13, 34, 64, .07);
  color: var(--uc-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 6px;
  flex-shrink: 0;
}
.schedule-card__time {
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--uc-red);
  line-height: 1.4;
  display: inline-block;
  align-self: flex-start;
  background: rgba(192, 57, 43, .07);
  padding: 4px 10px;
  border-radius: 4px;
  border-left: 3px solid var(--uc-red);
  margin-bottom: 2px;
  flex-shrink: 0;
}
.schedule-card__days {
  font-size: 14px;
  font-weight: 500;
  color: var(--uc-dark);
  line-height: 1.55;
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.schedule-card__meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: auto 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--uc-border);
}
.schedule-card__place {
  font-size: 13px;
  color: var(--uc-muted);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.schedule-card__trainer {
  font-size: 14px;
  font-weight: 600;
  color: var(--uc-dark);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.schedule-card__phone {
  font-size: 15px;
  font-weight: 600;
  color: var(--uc-dark) !important;
  text-decoration: none;
  margin-top: 6px;
  transition: color .2s ease;
}
.schedule-card__phone:hover { color: var(--uc-red) !important; }
.schedule-card__action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 12px 0 0;
  padding: 12px 16px;
  background: var(--uc-red);
  color: #fff !important;
  border: 1px solid var(--uc-red);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
  line-height: 1.2;
  flex-shrink: 0;
}
.schedule-card__action:hover {
  background: var(--uc-dark);
  border-color: var(--uc-dark);
  box-shadow: 0 4px 12px rgba(13, 34, 64, .25);
}

/* ---------- Сетка тренеров ---------- */
.trainers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
  align-items: stretch;
}
.trainer-card {
  background: #fff;
  border: 1px solid var(--uc-border);
  border-radius: var(--uc-radius);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 2px 8px rgba(13, 34, 64, .04);
  transition: box-shadow .25s ease, border-color .25s ease;
  height: 440px;
  min-height: 440px;
  overflow: hidden;
}
.trainer-card:hover { box-shadow: 0 10px 28px rgba(13, 34, 64, .10); border-color: var(--uc-red); }
.trainer-card__photo {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 200px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--uc-bg);
  border: 1px solid var(--uc-border);
  flex-shrink: 0;
}
.trainer-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.trainer-card__name {
  font-family: var(--uc-font-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--uc-dark) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  text-transform: none !important;
  min-height: 2.7em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.trainer-card__role {
  font-family: var(--uc-font-text) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--uc-muted) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  text-transform: none !important;
  min-height: 2.9em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.trainer-card__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  margin-top: auto;
  padding: 8px 16px;
  background: transparent;
  color: var(--uc-dark);
  border: 1px solid var(--uc-border);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
  flex-shrink: 0;
}
.trainer-card__more:hover {
  border-color: var(--uc-red);
  color: var(--uc-red);
  background: rgba(192, 57, 43, .04);
}
.trainer-card--nophoto { justify-content: center; }
.sport-section b, .sport-section strong { text-transform: none; font-style: normal; }

/* ============================================================
   10. ЗАЩИТА ОТ ШРИФТОВ < 12px
   ============================================================ */
.t-uptitle,
.t-uptitle_xs,
.t-uptitle_sm,
.t-name_xs,
.t-name_xxs,
.t-descr_xxs,
.t-descr_xs,
small,
.t-cms__card__molecule_label,
.t-cms__card__molecule_label .t-uptitle,
.t-cms__card__molecule_label .t-cms__card__text,
.t-feed__post-tag,
.t-feed__post-tag.t-uptitle,
.t-feed__post-tag.t-uptitle_xs,
.t-feed__post-date,
.t-feed__post-date.t-uptitle,
.t-feed__post-date.t-uptitle_xs,
.schedule-card__tag,
.schedule-card__place,
.sport-section__count,
.trainer-card__role {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* ============================================================
   11. АДАПТИВ
   ============================================================ */
@media (max-width: 960px) {
  .t2823__items,
  .js-cms-container-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  .schedule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .trainers-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
  .t-cms__card__atom.t-name { font-size: 15px !important; }
  .t-cms__card__cell_txt { padding: 18px 18px 20px !important; }
  .t-feed__post-title { font-size: 15px !important; }
  .schedule-card { height: 320px; min-height: 320px; }
  .trainer-card { height: 400px; min-height: 400px; }
  .trainer-card__photo { max-height: 180px; }
}

@media (max-width: 640px) {
  body .t015 .t015__title {
    font-size: 20px !important;
    letter-spacing: .08em !important;
    margin-bottom: 18px !important;
  }

  .t2823__items,
  .js-cms-container-cards {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .t-cms__card__slider-btn { width: 32px !important; height: 32px !important; opacity: 1 !important; }
  .t-cms__card__cell_txt { padding: 16px 16px 18px !important; }
  .t-cms__card__atom.t-name { font-size: 15px !important; }

  /* Фильтры — горизонтальный скролл */
  ul.t-feed__parts-switch-wrapper {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 8px !important;
    margin-bottom: 24px !important;
    scrollbar-width: none !important;
  }
  ul.t-feed__parts-switch-wrapper::-webkit-scrollbar { display: none !important; }
  .t-feed__parts-switch-btn { flex-shrink: 0 !important; }
  .t-feed__parts-switch-btn a,
  .t-feed__parts-switch-btn span { padding: 7px 14px !important; font-size: 13px !important; }

  .t-feed__post-title { font-size: 15px !important; }
  .t-feed__col-grid__wrapper { padding: 16px 16px 18px !important; }

  /* Секции */
  .sport-section { padding: 40px 10px; }
  body .sport-section .sport-section__section-label {
    margin: 36px 0 18px !important;
    font-size: 13px !important;
    letter-spacing: .12em !important;
  }
  .schedule-grid { grid-template-columns: 1fr; gap: 16px; }
  .schedule-card { padding: 20px; gap: 10px; height: auto; min-height: 0; }
  .schedule-card__action { padding: 11px 14px; font-size: 13px; }
  .trainers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .trainer-card { padding: 12px; gap: 10px; height: 380px; min-height: 380px; }
  .trainer-card__photo { max-height: 150px; }
  .trainer-card__name { font-size: 14px !important; min-height: 2.7em; }
  .trainer-card__role { font-size: 12px !important; min-height: 2.9em; }

  .t-feed__buttons-wrapper { margin-top: 24px !important; }
  .t-feed__showmore-btn,
  .t-btnflex.t-btnflex_type_bbutton {
    padding: 12px 28px !important;
    font-size: 13px !important;
    max-width: 320px !important;
  }
}
</style>