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%;
    }

    .header__logo img {
        max-width: 100px;
    }
}

.page__title img {
    object-fit: contain;
    max-width:205px;
}

/* Ограничение размера логотипа */
.header__logo img,
.header__logo svg {
    max-width: 150px !important;
    height: auto !important;
    width: 100% !important;
}

.position-relative {
    position:relative;
}

.bg-element {
    position:absolute;
}

.bg-elements-outer {
    overflow:hidden;
}

.philosofy-block {
    z-index: 9;
    position: relative;
    border-radius: 20px;
}

.cards-row {
    position: relative;
    z-index: 2;
}

.gallery-dark-gradient {
    background-image: url(/wp-content/themes/tailpress-theme/assets/images/hero-bg.png.webp);
    background-size:cover;
}

.gallery-dark-gradient * {
    color:#fff;
}

.gallery-dark-gradient .swiper-scrollbar-drag {
    border-radius: 10px;
    background: #989597;
}

.gallery-dark-gradient .swiper-scrollbar {
    background: rgba(255, 255, 255, 0.10);
}

.philosofy-block {
    padding: 28px;
    background-size: 76%;
    background-position: right;
    background-repeat: no-repeat;
    background-color: #f2f2f2;
}

@media (max-width:500px) {
    .bg-element {
        display:none;
    }

    .philosofy-block {
        background-size: 100%;
        background-position: bottom;
    }
}

/* Для мобильных можно уменьшить */
@media (max-width: 768px) {

    .header__logo img,
    .header__logo svg {
        max-width: 120px !important;
    }
}

#price-options [data-inject="price-12-month-full"] strike {
    font-size: 16px;
    color: #e41f25;
}
#price-options [data-inject="price-12-month-day"] strike {
    font-size: 14px;
    color: #e41f25;
}

.card-button-long {
    width:250px;
}

@media (width < 1300px) {
    .card-button-long {
        width: 100%;
    }
}

.free-trainer-form {
    display:flex;
    gap:24px;
}
@media (max-width:800px) {
    .free-trainer-form__left {
        display:none;
    }
}