header {
    position:fixed;
    background:#fff;
    z-index:99;
}

.header-top-line, .header-menu-line {
    transition:all ease-out .2s;
}

.header-fixed .header-top-line {
    padding-top:12px;
}

.header-fixed .header-menu-line {
    padding-top:12px;
    padding-bottom:12px;
}

.header-mobile-menu {
    transition:all ease-out .2s;
}

.header-fixed #menu-overlay {
    top:125px;
    height: calc(100vh - 125px);
}

.text-\[16px\].leading-\[145\%\].font-\[500\].text-\[\#222\] {
  display: -webkit-box;
  -webkit-line-clamp: 4;       /* ограничиваем 4 строки */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* скрыть блок "Тренировки..." целиком на главной */
body.home section[id^="training-block-block_"] {
  /* display: none !important; */
}
/* Принудительно растягиваем картинку внутри слайда */
.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.header-phone-icon {
    display:none;
}

.hero-promo-block .swiper-wrapper {
    cursor:pointer !important;
}

.card-highlight {
    background: #e41f25;
    color: #fff;
}

.card-highlight .red-gradient-hover {
    background: #fff;
    color: #e41f25;
}

.trainers-swiper .swiper-wrapper, .trainings-swiper .swiper-wrapper {
    transition-timing-function: linear
}

.content-block h2 {
    font-weight:600;
    line-height: 125%;
    font-size: 24px;
}

.content-block li {
    position:relative;
    padding-left:17px;
}

.content-block li:before {
    content: '';
    width: 4px;
    height: 4px;
    display: block;
    background: linear-gradient(90deg, #e21e24 39.42%, #ff2f35 92.9%) 0 0 / 177% 100%;
    position: absolute;
    top: 9px;
    left: 5px;
    border-radius: 50%;
}

.cookie-message {
    max-width:470px;
}

.trainer-custom-prev {
    display:none;
}

.trainer-custom-next {
    display:none;
}

.cards-swiper-block .swiper-wrapper {
    align-items:stretch;
}

.cards-swiper-block .swiper-slide {
    height:auto;
}

.cards-swiper-block .swiper-slide > div {
    height:100%;
}

.cards-swiper-block .swiper-slide .card-club-footer {
    margin-top:auto !important;
}

#modal-overlay {
    z-index:100;
}

.gallery-page {
    display:flex;
    flex-wrap:wrap;
    gap:24px;
}

.gallery-page__item {
    max-width:calc(100% / 3 - 16px);
}

.gallery-page__item img {
    width:100%;
    object-fit:cover;
    height:100%;
}

.gallery-swiper .swiper-wrapper {
    align-items:stretch;
}

.gallery-swiper .swiper-slide {
    height:auto;
}

.gallery-swiper .swiper-slide * {
    height:100%;
}

.social-banners-row {
    display:flex;
    gap:24px;
}

.social-banners-item a {
    transition:all ease-out .2s;
}

.social-banners-item a:hover {
    opacity:.9;
}

@media (max-width:900px) {
    .social-banners-row {
        gap:12px;
    }
}

@media (max-width:600px) {
    .social-banners-row {
        flex-direction:column;
    }
}

@media (max-width:900px) {
    .gallery-page__item {
        max-width:calc(100% / 2 - 16px);
        min-height:200px;
    }
}

@media (max-width:500px) {
    .gallery-page {
        gap:12px;
    }

    .gallery-page__item {
        max-width:calc(100% / 2 - 8px);
        min-height:150px;
    }
}

@media (min-width: 1301px) {
  .h-\[258px\] {
    height: auto !important;
  }
}

@media (max-width: 768px) {
    header:not(.header-fixed) #menu-overlay {
        top:82px;
        height: calc(100vh - 82px);
    }

    .header-fixed #menu-overlay {
        top:70px;
        height: calc(100vh - 70px);
    }
}

.footer-download-icons {
    display:flex;
    padding-top: 20px;
    gap:10px;
}

.footer-download-icons img {
    max-width:120px;
}

@media (max-width:500px) {
    .footer-download-icons img {
        max-width:100%;
    }
}