.swiper {
    width:  100%;
    height: 100%;
}

.swiper-wrapper {
    transform:           unset;
    transition-property: left;
}

.swiper-slide {
    background:              var(--bkg-color);
    display:                 -webkit-box;
    display:                 -ms-flexbox;
    display:                 -webkit-flex;
    display:                 flex;
    -webkit-box-pack:        center;
    -ms-flex-pack:           center;
    -webkit-justify-content: center;
    justify-content:         center;
    -webkit-box-align:       center;
    -ms-flex-align:          center;
    -webkit-align-items:     center;
    align-items:             center;
}

.swiper-slide__img-wrapper {
    border-radius: 16px;
    overflow:      hidden;
}

.swiper-slide__img-wrapper:hover img {
    transform: scale(1.3);
}

.swiper-slide img,
.swiper-slide picture {
    display:          block;
    width:            100%;
    height:           100%;
    object-fit:       cover;
    background-color: var(--bkg-color);
    overflow:         hidden;
    transition:       transform .3s;
}

body.theme-dark .swiper-slide img {
    filter: brightness(.9);
}

/* Кастомные стили */
.promo-swiper-section {
    background-color: var(--additional-color);
}

.promo-swiper {
    position: relative;
    padding:  60px 0 70px 0;
}

.main-banner {
    padding: 0 30px;
}

.swiper-slide__link {
    background-color: var(--additional-color);
}

.swiper-slide__title {
    margin-top:    16px;
    margin-bottom: 8px;
    font-size:     var(--fs22);
    font-weight:   500;
    color:         var(--green-color);
}

.swiper-slide__desc {
    font-size: var(--fs14);
}

.swiper-button-prev,
.swiper-button-next {
    top:           calc(30% + 31px);
    width:         60px;
    height:        60px;
    background:    #fff;
    border:        1px solid #eaecee;
    border-radius: 50%;
}

.swiper-button-prev {
    left: 0;
}

.swiper-button-next {
    right: 0;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    position: absolute;
    top:      3px;
}

.swiper-button-prev::after {
    content: url("data:image/svg+xml; utf8, %3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url%28%23clip0%5f1613%5f2741%29%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.30491%2012.1049L11.4977%205.20996L12.8817%206.65376L8.2383%2011.1049H19V13.1049H8.2383L12.8817%2017.556L11.4977%2018.9998L4.30491%2012.1049Z%22%20fill%3D%22%231B1918%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0%5f1613%5f2741%22%3E%0A%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E");
}

.swiper-button-next::after {
    content: url("data:image/svg+xml; utf8, %3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url%28%23clip0%5f1613%5f2723%29%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M19%2012.1049L11.8072%205.20996L10.4232%206.65376L15.0666%2011.1049H4.30493V13.1049H15.0666L10.4232%2017.556L11.8072%2018.9998L19%2012.1049Z%22%20fill%3D%22%231B1918%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0%5f1613%5f2723%22%3E%0A%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E");
}

.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 27px;
}

.swiper-pagination-bullet {
    background: var(--disabled-bkg);
}

.swiper-pagination-bullet-active {
    background: green;
}

/* // запрет на клик последнего слайда */
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    cursor:         not-allowed;
    pointer-events: auto;
}

@media (max-width: 1023px) {
    .swiper-button-prev,
    .swiper-button-next {
        display: none;
    }
}

@media (max-width: 768px) {
    .promo-swiper {
        padding-top: 35px;
    }

    .swiper-slide__title {
        font-size: var(--fs18);
    }

    .swiper-button-prev,
    .swiper-button-next {
        width:  44px;
        height: 44px;
    }

    .swiper-button-prev::after,
    .swiper-button-next::after {
        position: absolute;
        top:      -5px;
    }
}

.promo-swiper-string {
    color:         var(--disabled-text);
    font-size:     18px;
    font-weight:   400;
    text-align:    center;
    padding:       0;
    bottom:        27px;
    margin-bottom: 60px; /* +sameza */
}

.top-services__header {
    display:        flex;
    flex-direction: column;
    gap:            32px;
}

.top-services__header .nav-item.active {
    color:            var(--text-color);
    background-color: var(--bkg-color);
}

.top-services__header-title {
    font-size: 25px;
}

.top-services__tab-content {
    height: 392px;
}

.top-services__slider {
    display:         flex;
    flex-direction:  column;
    justify-content: center;
    width:           100%;
    max-width:       1600px;
    padding:         32px 30px;
}

.top-services__slide {
    width:            282px;
    height:           272px;
    background-color: #f8f3ff;
    padding:          24px;
    border-radius:    8px;
    color:            var(--black-color);
}

.top-services__slide:hover {
    background-color: var(--white-color) !important;
    box-shadow:       0 0 40px 0 rgba(0, 0, 0, 0.10);
}

.top-services__pagination {
    text-align: center;
    margin-top: 32px;
}

.top-services__slide-wrapper {
    display:        flex;
    flex-direction: column;
    height:         100%;
}

.top-services__slide-number {
    font-size: 12px;
    flex:      1;
}

.top-services__slide-title {
    flex:               2;
    font-size:          18px;
    font-weight:        500;
    display:            -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp:         2;
    overflow:           hidden;
}

.top-services__slide-body {
    flex: 4;
}

.top-services__slide-body-text {
    display:            -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp:         3;
    overflow:           hidden;
    line-height:        1.4rem;
    height:             4.2rem;
    margin-bottom:      0;
    margin-top:         0.4rem;
}

.top-services__slide-price {
    flex:        1;
    font-size:   20px;
    font-weight: 500;
}

@media (max-width: 768px) {
    .top-services__slider {
        padding: 16px;
    }

    .top-services__tab-content {
        height: 360px;
    }
}

@media (max-width: 320px) {
    .top-services__slide {
        width: 288px;
    }
}
