
.heading-top-meta, 
.store-open-close, 
.rtcl-listing-badge-wrap, 
.rtclbh-status {
    /*opacity: 0.4;*/
    display: none!important;
}



:root {
    --swiper-navigation-sides-offset: -80px;
}

.custom-style-p .elementor-widget-container {
    background: rgb(0 0 0 / 35%);
}

.taxonomy-level-other {
    display: none;
}

.taxonomy-level-1 ul {
    list-style: disc inside none;
    padding-left: 2.2rem;
}

.taxonomy-level-1 {
	padding-left: 0;
	margin-bottom: 0!important;
}

.taxonomy-level-2 {
	padding-left: 0!important;
}

ul.taxonomy-level-2, 
ul.taxonomy-level-4 {
    list-style: circle inside none;
}

ul.taxonomy-level-1>li>span {
	display: none;
}





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

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;

    /* Center slide text vertically */
    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;
    flex-direction: column;
}

.swiper-slide img {
    width: 100%;
    height: auto;
}

.swiper-button-next,
.swiper-button-prev {
    color: #000;
}

.custom-slider__wrap {
    aspect-ratio: 5.7 / 3;
    display: flex;
    justify-content: center;
    align-items: center;
}

.custom-slider .swiper-slide img {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    max-width: 100%;
}

.custom-slider {
    display: flex!important;
    align-items: center; 
    padding: 25px 0 85px; 
    overflow: hidden;  
    opacity: 1!important;

    & .swiper-slide {
        border-radius: 7px;
        overflow: hidden;
        transition: all 0.3s ease;
        box-shadow: 0 0 10px rgb(0 0 0 / 5%);

        &:hover {
            box-shadow: 0 0 10px rgb(0 0 0 / 10%);
        }

        & a {
            display: inline-block;
            width: 100%;
        }
    }

    & .custom-slider__text {
        text-align: left;
        padding: 1em 0.5em;
        background: rgb(225 225 225 / 12%);
    }

    & .custom-slider__address {
        font-size: 16px;
        line-height: 1.2em;
        min-height: 3.6em;

        & i {
            margin-right: 0.45em;
        }
    }

    & .swiper-pagination {
        bottom: 25px!important;
    }

    & h3 {
        font-size: 18px;
        line-height: 1.2em;
        min-height: 2.4em;
    }
}

.custom-slider_doctors {
    & .custom-slider__wrap {
        aspect-ratio: 4 / 3;
        background: rgb(207 205 205 / 46%);
    }

    & h3 {
        min-height: unset;
    }
}

.listing-taxonomy.rtcl_category {
    border-top: 1px solid #E3E3E3;
    border-bottom: 1px solid #E3E3E3;
    padding: 7px 0 7px;
    margin-bottom: 11px;
    width: 100%;
}

.listing-taxonomy.rtcl_location {
    display: none;
}

.rtcl-listings.rtcl-list-view.columns-2 {

    & .listing-footer {
        padding: 0 28px 0 28px;
        margin-top: 0;
        border-top: 0px solid #E3E3E3;
    }

    & .listing-item .entry-meta {
        padding-right: 0px;
        margin-bottom: 0px;
        column-gap: 15px;
        row-gap: 1px;
    }

}

span.listing-term {
/*    word-break: break-all;*/
}

.listing-taxonomy__specialization {
    color: rgb(22 28 38 / 82%);
    font-weight: 500;
}

span.show-more,
span.show-less {
    cursor: pointer;
    color: rgb(22 28 38 / 84%);
    text-decoration: underline;
    text-decoration-color: rgb(64 69 77 / 65%);
    text-underline-offset: 2px;
    text-shadow: 0 0 0.1px rgb(0 0 0 / 15%);

    &:hover {
        color: var(--rt-primary-color);
        text-decoration-color: var(--rt-primary-color);
    }
}

.rtcl-related-slider-wrap.rtcl-listings.rtcl-grid-view * {
    text-align: left!important;
}

.rtcl-related-slider-wrap.rtcl-listings.rtcl-grid-view .swiper-slide {
    justify-content: flex-start!important;
    background-color: transparent!important;
}

.rtcl-related-slider-wrap.rtcl-listings.rtcl-grid-view .listing-footer {
    flex-direction: column!important;
    padding: 0 20px;
    text-align: left;
    font-size: 16.5px !important;
    border-top-width: 0;
    margin-top: 0;

    & .entry-meta {
        padding: 0 0;
        justify-content: center;
        width: 100%;
    }
}

#cldirectory-toggle-sidebar {
    cursor: pointer;
}

.tax-rtcl_category #cldirectory-toggle-sidebar {
    background: var(--rt-primary-color);
    padding: 10px 20px;
    border-radius: 2px;
    margin-bottom: 20px;
    text-align: center;
    font-weight: 500;
    color: #fff;
    font-size: 18px;
    line-height: 1.3;
    display: none;
}

.rtcl-widget-search-form .search-item-custom-field .search-item.checkbox-wrapper {
    gap: 3px 20px;
}

.rtcl .search-item-custom-field .form-check {
    padding-left: 0;
}

.form-check label {
    line-height: 1.3em;
}

.form-check label {
    padding-top: 4px;
}

.mobile-offscreen-menu .mean-bar .mobile-logo img {
    max-height: 68px;
    margin-bottom: -7px;
}

.rtcl .rtcl-listings.rtcl-list-view .listing-item .listing-thumb-inner > img {
    height: 100%;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.rtcl .rtcl-list-view .listing-item:hover .listing-thumb-inner:after {
    opacity: 0;
}

.rtcl .rtcl-list-view .listing-item .listing-thumb-inner:before {
    opacity: 0;
}

.rtcl .rtcl-list-view .listing-item .listing-thumb {
    background: rgb(204 204 204 / 0%);
    box-shadow: 0 0 20px rgb(121 121 121 / 15%);
    max-height: 335px;
}

.rtcl .rtcl-list-view .listing-box .listing-thumb .listing-action-items {
    display: none;
}

.rtcl .rtcl-grid-view .listing-box .listing-thumb .listing-action-items {
    display: none;
}

.rtcl .rtcl-grid-view .listing-box .listing-thumb:before {
    background: none;
}

.rtcl .rtcl-grid-view .listing-item .listing-thumb {
    background: rgb(204 204 204 / 8%);
    box-shadow: 0 0 20px rgb(121 121 121 / 15%);    
}

.rtcl .rtcl-grid-view .listing-item .listing-thumb {
    background: rgb(204 204 204 / 0%);
    box-shadow: 0 0 20px rgb(121 121 121 / 15%);
    border: 1px;
    border-style: solid;
    border-color: #ededed;
    border-radius: 11px 11px 0 0;
    border-bottom: none;    
}

.term-weight-loss-doctors .rtcl-grid-view .listing-item .listing-thumb {
    aspect-ratio: 350 / 335;
}

.rtcl .rtcl-listings.rtcl-grid-view .listing-item .listing-thumb-inner > img {
    height: 100%;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.single-listing-style .listing-sidebar .rtcl-listing-user-info .member-header .member-img img {
    width: 100%;
    max-width: 350px;
    height: unset;
    object-fit: contain;
    border-radius: 0;
}

.single-listing-style .listing-sidebar .rtcl-listing-user-info .member-header .member-title {
    display: none;
}

.single-listing-style .listing-sidebar .rtcl-member-info-wrapper .member-header {
    flex-direction: column;
    align-items: flex-start;
}

.rtcl .rtcl-list-view .rtcl-listing-badge-wrap, 
.rtcl .rtcl-list-view .listing-item .store-open-close {
    display: none;
}

.rtcl .rtcl-listings.rtcl-list-view .listing-item h2.listing-title {
    margin-top: -4px;
}



/* Общие стили для формы */
form.wpcf7-form {
    max-width: 500px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Стили для меток (label) */
form.wpcf7-form label {
    font-size: 16px;
    color: #333;
    display: block;
    margin-bottom: 8px;
}

/* Стили для текстовых полей и textarea */
form.wpcf7-form input[type="text"],
form.wpcf7-form input[type="email"],
form.wpcf7-form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 0;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
    font-family: Arial, sans-serif;
    box-sizing: border-box;    
    max-width: 100%;
}

/* Стили для textarea */
form.wpcf7-form textarea {
    height: 120px;
    resize: vertical;
    max-width: 100%;
}

/* Стили для кнопки отправки */
form.wpcf7-form input[type="submit"] {
    background-color: #009414;
    width: 100%;
    max-width: 100%;
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-family: Arial, sans-serif;
}

/* Стили при наведении на кнопку */
form.wpcf7-form input[type="submit"]:hover {
    background-color: #0056b3;
}

/* Дополнительные стили для адаптивности */
@media (max-width: 600px) {
    form.wpcf7-form {
        padding: 15px;
    }
    
    form.wpcf7-form input[type="text"],
    form.wpcf7-form input[type="email"],
    form.wpcf7-form textarea {
        font-size: 14px;
    }
    
    form.wpcf7-form input[type="submit"] {
        font-size: 14px;
        padding: 10px 15px;        
    }
}

.lotty-animation .elementor-widget-container {
   width: 310px;
   max-width: 20vw; 
}

#rtcl-slider-wrapper-custom {

    & .rtcl-listing-gallery__trigger {
        display: none!important;
    }

    & .rtcl-slider.swiper-initialized .rtcl-slider-item {
        max-height: 500px;        
        display: block;
    }

    & .swiper-slide img {
        width: auto;
        height: auto;
    }

}

#listing-gallery {

    & .rtcl-slider.swiper-initialized .rtcl-slider-item {
        max-height: 500px;
    }

    & .swiper-slide img {
        width: auto;
        height: auto;
    }

}

.before-after-gallery {

    & .swiper-slide {
        max-height: 500px;
    }

    & .swiper-slide a {
        display: block;
        max-height: inherit;
    }

    & .swiper-slide img {
        width: auto;
        height: auto;
        max-height: inherit;
    }

}


.listing-cards {

    display: flex;
    flex-wrap: wrap;
    gap: 30px calc(4% / 2);
    padding: 40px 20px;
    width: 1336px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;

    & .card {
        width: 32%;
        border: 0px solid rgba(0, 0, 0, .125);
        overflow: hidden;
        border-radius: 7px;
        transition: all 0.3s ease;
        box-shadow: 0 0 10px rgb(0 0 0 / 5%);
        color: #434343;

        &:hover {
            box-shadow: 0 0 10px rgb(0 0 0 / 10%);
        }

        & h2 {
            font-size: 22px;
            line-height: 1.2em;
            margin-top: 0.1em;
            margin-bottom: 0.8em;
        }
    }

    & h2, 
    & .rtcl-listing-user-info > p, 
    & .member-img {
        text-align: center;
    }

    & .before-and-after-slider {
        width: 100%;
        max-height: 290px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        border-bottom: 2px solid #cdcdcd;
    }

    & .before-and-after-slider .swiper-slide {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: auto;
        max-height: 350px;
        overflow: hidden;
        cursor: pointer;
        background: rgb(207 205 205 / 46%);

        & a {
            max-height: 100%;
        }
    }

    & .before-and-after-slider .swiper-slide img {
        width: auto;
        height: 100%;
        max-width: 100%;
        object-fit: contain;
    }

    & .widget {
        border: 0px solid #e7e7e7;
        padding-top: 10px;
        margin-bottom: 0;

        & p {
            margin-bottom: 3px;
            line-height: 1.3em;
        }
    }

    & .store-meta {
        list-style: none!important;
        margin-top: 1em;
        padding-left: 0 !important;
        display: flex;
        flex-direction: column;
        gap: 0.3em;
    }

    & .social-icons {   
        list-style: none!important;     
        display: flex;
        gap: 0.5em;
        transform: scale(1.5);
        transform-origin: 0% 50%;
        margin-top: 1em;
        padding-left: 0 !important;
    }

    & .twitter svg {
        fill: var(--rt-primary-color);
        font-size: 16px;
        width: 1em;
        position: relative;
        top: -0.1em;
    }

    & .member-img img {
        box-shadow: 0 0 6px rgb(0 0 0 / 5%);
        max-height: 150px;
    }

    & .swiper-horizontal>.swiper-pagination-bullets, 
    & .swiper-pagination-bullets.swiper-pagination-horizontal {
        left: auto;
        width: auto;
        display: flex;
        margin-left: auto;
        justify-content: center;
        background: rgb(255 255 255 / 84%);
        padding: 5px;
        border-radius: 10px;
    }

    & .swiper-pagination-lock {
        display: none!important;
    }


    @media screen and (max-width: 1199px) {

        & .card {
            width: 49%;
        }
    }

    @media screen and (max-width: 767px) {

        & .card {
            width: 450px;
            max-width: 100%;
            margin-left: auto;
            margin-right: auto;
        }
    }


}


.pagination-x {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
}

.pagination-x a,
.pagination-x span {
    display: inline-block;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.pagination-x a:hover {
    color: #fff;
    background-color: var(--rt-primary-color);
    border-color: var(--rt-primary-color);
}

.pagination-x .current {
    color: #fff;
    background-color: var(--rt-primary-color);;
    border-color: var(--rt-primary-color);;
    pointer-events: none;
}

.pagination-x .prev,
.pagination-x .next {
    font-size: 14px;
    color: #555;
}

.pagination-x .prev:hover,
.pagination-x .next:hover {
    color: #fff;
}

.site-main:not(.cldirectory-myaccount) .main-content {
    padding: 0;
    margin-bottom: 0;
}


.page-template-before-after-page-template {

    .listing-cards {
        padding: 80px 20px 40px;
    }

    .pagination-x {
        padding-bottom: 55px;
    }
}

.new-heading-h2 {
    width: 1150px;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto!important;
    margin-right: auto!important;
    text-align: center;
    margin-top: 1.3em !important;
    margin-bottom: -1.3em !important;
    /* @link https://utopia.fyi/clamp/calculator?a=390,1600,26—32 */
    font-size: clamp(26px, 24.0661px + 0.4959vw, 32px)!important;
    line-height: 1.2em !important;

    @media screen and (max-width: 767px) {

        & br {
            display: none;
        }

    }
}

.footer-shape {
    display: none;
}

.main-footer {
    padding: 85px 0 30px;
}






.category-description-wrapper {
    position: relative;
    margin-bottom: 0;
    margin-top: 3.9em;

    & a {
        text-decoration: underline;
    }
}

.category-description-wrapper_2 {
    margin-top: 0;
    margin-bottom: 5em;
}

.category-description.limited {
  max-height: 120px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.4s ease;
  mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}

.category-description.expanded {
  max-height: none;
  mask-image: none;
  -webkit-mask-image: none;
}

.read-more-btn {
  background: none;
  border: none;
  color: #0073aa;
  cursor: pointer;
  font-weight: bold;
  padding: 0;
  margin-top: 0.5em !important;
}

.read-more-btn:hover {
  text-decoration: underline;
}


.custom-description-before-after {
    font-size: 19px;
    line-height: 1.6;
    color: #333;
    margin: 1.5em auto 0;
    padding: 0 20px 4em;
    width: 1110px;
    max-width: 100%;

    & h2, & h3 {
        text-align: center;
    }
}



.custom-description-before-after-wrapper {
    position: relative;
    margin-bottom: 0;
    margin-top: 3.9em;

    & a {
        text-decoration: underline;
    }
}

.custom-description-before-after-wrapper_2 {
    margin-top: 0;
    margin-bottom: 5em;
}

.custom-description-wrapper.limited {
  max-height: 210px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.4s ease;
  mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}

.custom-description-wrapper.expanded {
  max-height: none;
  mask-image: none;
  -webkit-mask-image: none;
}


.page-template-before-after-page-template {

    & .site-content {
        min-height: calc(100vh - 600px);
        padding-bottom: 2em;
    }

}





















@media screen and (max-width: 1400px) {

    .swiper-button-next, 
    .swiper-button-prev {
        display: none;
    }
}


@media screen and (max-width: 1199px) {

    .rtcl-listings.rtcl-list-view.columns-2 {

        & .listing-footer {
            padding: 0 0 0 0;
        }

        & h2.listing-title {
            padding: 0 0!important;
        }
    }

}


@media (max-width: 991.98px) {

    .tax-rtcl_category #cldirectory-toggle-sidebar {
        display: block;
    }

    .tax-rtcl_category .main-sidebar-wrapper {
        display: none;
    }

}

@media only screen and (max-width: 991px) {

    .sidebar-break-lg {
        margin-top: 10px;
    }

    .single-listing-style .listing-sidebar .widget-contact-form {
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    .rtcl .rtcl-list-view .listing-item .listing-footer {
        row-gap: 0;
    }

    .lotty-animation .elementor-widget-container {
        
    }
}


@media screen and (max-width: 575px) {

    .widget {
        padding: 25px 20px 30px 20px;
    }

}


@media screen and (max-width: 460px) {

    .single-listing-style .listing-sidebar .rtcl-listing-user-info .member-header .member-img {
        max-height: 350px;
        overflow: hidden;
    }

}

/* Видео-отзывы */
.video-reviews-gallery {
    & #rtcl-video-reviews-slider {
        position: relative;
        
        & .video-reviews-swiper {
            position: relative;
            /* overflow: visible; */
            
            & .swiper-wrapper {
                display: flex;
                align-items: center;
            }
            
            & .swiper-slide {
                width: 100%;
                flex-shrink: 0;
                display: flex;
                align-items: center;
                justify-content: center;
                height: auto;
            }
        }
        
        & .swiper-button-next,
        & .swiper-button-prev {
            color: #fff !important;
            background: rgba(0, 0, 0, 0.6) !important;
            width: 44px !important;
            height: 44px !important;
            border-radius: 50% !important;
            transition: all 0.3s;
            margin-top: 0 !important;
            top: calc(50% - 22px) !important;
            transform: translateY(-50%);
            z-index: 10 !important;
            display: flex !important;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            
            &:after {
                font-size: 20px !important;
                font-weight: bold !important;
                color: #fff !important;
            }

            & svg {
                display: none;
            }
            
            &:hover {
                background: rgba(0, 0, 0, 0.9) !important;
            }
            
            &[aria-disabled="true"] {
                display: none !important;
            }
        }
        
        & .swiper-button-next {
            right: 10px !important;
            left: auto !important;
        }
        
        & .swiper-button-prev {
            left: 10px !important;
            right: auto !important;
        }
        
        & .swiper-pagination {
            position: relative;
            margin-top: 20px;
            bottom: auto !important;
            
            & .swiper-pagination-bullet {
                width: 12px;
                height: 12px;
                background: rgba(0, 0, 0, 0.3);
                opacity: 1;
                margin: 0 6px;
                transition: all 0.3s;
                
                &.swiper-pagination-bullet-active {
                    background: rgba(0, 0, 0, 0.8);
                    transform: scale(1.2);
                }
            }
        }
        
        & .video-review-item {
            width: 100%;
            
            & .ratio {
                position: relative;
                width: 100%;
                
                & iframe {
                    width: 100%;
                    border-radius: 8px;
                    box-shadow: none;
                    display: block;
                }
            }
            
            & .ratio-16x9 {
                & iframe {
                    height: 100%;
                }
            }
        }
        
        & .ratio-16x9 {
            --bs-aspect-ratio: 56.25%; /* 16:9 соотношение */
        }
        
        & .ratio-video {
            --bs-aspect-ratio: auto;
            padding-bottom: 0 !important;
            height: auto;
        }
        
        & .ratio-video--instagram {
            aspect-ratio: 1 / 1; /* Квадрат для Instagram */
            max-height: 600px;
            width: 100%;
            
            & iframe {
                width: 100%;
                height: 100%;
                border: none;
            }
        }
        
        & .ratio-video--tiktok {
            aspect-ratio: 9 / 16; /* Вертикальное для TikTok */
            max-height: 700px;
            width: 100%;
            
            & iframe {
                width: 100%;
                height: 100%;
                border: none;
            }
        }
    }
}