@charset "UTF-8";

/*
Theme Name: cmei
Author: Sergey Kholosha
*/

@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600,700&display=swap');

html {
    scroll-behavior: smooth;
}

:target {
    scroll-margin-top: 162px;
    /* высота твоего хедера */
}

body,
header {
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 30px;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

header {
    background: #fff;
    overflow: visible;
    position: fixed;
    z-index: 9999;
    width: 100%;
    top: 0;
}


section.breadcrumbs,
.slider,
.checkout-section {
    padding-top: 160px;
}

.logo-block>img,
.logo-block>a>img {
    width: 200px;
}

.main-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.searh-nav {
    width: 100%;
    padding: 0 25px;
}

.serch-block {
    width: 100%;
}

.other-location {
    display: none;
}

.main-menu-desktop {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
}

.location-phone {
    width: 260px;
}

img.icon_click.icon-phone {
    width: 20px;
    height: 16px;
    margin-right: 10px;
}

.link-phone {
    color: #000;
    text-decoration: none;
    font-weight: 400;
}

.location {
    border-bottom: 1px dashed;
    cursor: pointer;
    padding: 5px;
}

.now-location {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.now-location>img {
    width: 16px;
    margin-right: 10px;
}

.top-side-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
}

.list-language {
    display: flex;
    justify-content: space-around;
}

.menu-language-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

ul#menu-language,
ul#menu-language-russian {
    list-style: none;
    display: flex;
    justify-content: space-around;
    width: 100%;
    padding: 0;
    margin: 0;
}

ul#menu-language>li,
ul#menu-language-russian>li {
    padding: 0 5px;
}

.top-side {
    background: #023a51;
    color: #fff;
}

.wpml-ls-last-item>a,
.wpml-ls-current-language>a,
.wpml-ls-first-item>a {
    color: #fff;
}


.name-page {
    padding: 10px 0;
    text-align: center;
}

/*
/*****Start saerch******* /
.search-container {
    position: relative;
    width: 100%;
    margin: 20px auto;
    display: flex;
}

#customSearchInput {
    flex-grow: 1;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px 0 0 5px;
    box-sizing: border-box;
    outline: none;
}

#customSearchButton {
    padding: 0 15px;
    background-color: #02538d;
    color: white;
    border: none;
    border-radius: 0 5px 5px 0;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease-in-out;
}

#customSearchButton:hover {
    background-color: #0056b3;
}

.search-icon {
    width: 20px;
}

.autocomplete-list {
    list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    border: 1px solid #eee;
    border-top: none;
    background-color: white;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    max-height: 250px;
    overflow-y: auto;
    display: none;
}

.autocomplete-list li {
    padding: 10px;
    cursor: pointer;
    border-bottom: 1px solid #f9f9f9;
    display: flex;
    align-items: center;
}

.autocomplete-list li:hover,
.autocomplete-list li.selected {
    background-color: #f0f0f0;
}

.autocomplete-list li img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    margin-right: 10px;
    border-radius: 3px;
}

.autocomplete-list li .price {
    margin-left: auto;
    font-weight: 600;
    color: var(--color-green-A1);
}

.autocomplete-list li .item-details {
    display: flex;
    flex-direction: column;
}

.autocomplete-list li .item-details span {
    font-size: 0.9em;
    color: #666;
}

/*****End search**** /
*/
.swiper-container.your-custom-slider {
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.slider-image {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 15px;
}

.swiper-pagination {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 10;
}

.swiper-pagination-bullet {
    background: #fff;
    opacity: 0.8;
}

.swiper-pagination-bullet-active {
    background: #00af00 !important;
    opacity: 1;
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    color: #00af00 !important;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 10;
    transition: background-color 0.3s ease;
}

.swiper-button-prev {
    left: 10px;
}

.swiper-button-next {
    right: 10px;
}

.mega-menu-content {
    display: none;
    position: absolute;
    top: 100%;
    width: 300px;
    background: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 20px 0;
    box-sizing: border-box;
}

.unit {
    margin: 30px 0;
}

.unit-block {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
}

.go-to-init {}

.main-menu-desktop li.mega-menu-parent:hover>.mega-menu-content {
    display: block;
}

.mega-menu-inner {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
}


.mega-menu-second {
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    border-right: 1px solid #eee;
    position: relative;
}

.main-menu-desktop>.menu-item>a {
    text-decoration: none;
    color: #000;

}

.main-menu-desktop>.menu-item.current-menu-item>a,
.main-menu-desktop>.menu-item.current_page_item>a,
.main-menu-desktop>.menu-item.current-menu-ancestor>a,
.main-menu-desktop>.menu-item.current-menu-parent>a {
    color: #000;
    font-weight: 600;
    text-decoration: underline;
}

.mega-menu-second>li>a {
    display: block;
    padding: 10px;
    color: #333;
    text-decoration: none;
}

.mega-menu-second>li:hover>a {
    background: #f0f0f0;
}

/* правая часть */
/* по умолчанию скрыто */
.mega-menu-third {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    width: 100%;
    background: #fff;
    min-height: 100%;
    padding: 0 10px
}

/* показываем, когда ховер на LI второго уровня */
.mega-menu-second>li:hover>.mega-menu-third {
    display: block;
    z-index: 99;
}



.mega-menu-third .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px 30px;
}

.mega-menu-third .sub-menu li {
    min-width: 150px;
}

.mega-menu-third .sub-menu a {
    display: block;
    padding: 5px 0;
    text-decoration: none;
    color: #555;
}

.mega-menu-third .sub-menu a:hover {
    color: #007bff;
}

.accordion .accordion-body {
    display: none;
    padding-left: 15px;
}

.accordion .accordion-header {
    cursor: pointer;
    font-weight: bold;
    margin-top: 10px;
}

.product-list {
    list-style: disc;
    margin-left: 20px;
    padding: 0;
}

.point-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 15px 0;
}

.left-point {
    width: 300px;
}

.left-point .img>img {
    width: 100%;
    border-radius: 15px;
    box-shadow: 0px 6px 13px 3px rgb(0 0 0 / 15%);
}

.right-point {
    width: 74%;
}

.name-point>h1 {
    margin: 0;
    padding: 0 10px 20px 0;
    line-height: 38px;
}

.name-block,
.call-me-point {
    display: flex;
    justify-content: start;
    align-items: center;
}

.schedule-point,
.phone-list-point,
.email-ponit {
    padding: 10px;
    border-radius: 8px;
    margin: 10px 0;
}


.name-block>img,
.call-me-point>img {
    width: 30px;
    height: auto;
    padding-right: 10px;
}

.call-me-point {
    cursor: pointer;
}

.call-me-point>span {
    border-bottom: 1px dashed #c0c0c0;
}

#map,
#points-map {
    border-radius: 8px;
}

.points-page {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-gap: 10px;
}

.list-points {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 10px;
}

.img_point>a>img {
    width: 100%;
}

.item_point {
    padding: 10px;
    border: 1px solid #ebebeb;
    border-radius: 8px;
}

.name-point>h2 {
    font-size: 16px;
    justify-content: center;
    height: 70px;
    align-items: center;
    display: flex;
}

.adrres-point {
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Ваши существующие стили */
.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(3 81 3 / 40%);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 900px;
    position: relative;
    animation-name: animatetop;
    animation-duration: 0.4s
}

@keyframes animatetop {
    from {
        top: -300px;
        opacity: 0
    }

    to {
        top: 0;
        opacity: 1
    }
}

.close-modal {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 20px;
    z-index: 10000;
}

.close-modal:hover,
.close-modal:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.modal.active {
    display: flex;
}

.modal-content-hidden {
    display: none;
}

.modal-content-hidden.active {
    display: block;
}

.modal-box {
    max-width: 600px;
    background: #fff;
    width: 100%;
    border-radius: 8px;
    padding: 20px 0;
}

span.modal-close {
    text-align: right;
    width: 94%;
    display: block;
    padding: 10px;
    margin: 10px;
    font-size: 40px;
}

.modal-body {
    padding: 10px;
    margin: 15px;
}

/* Дополнительные стили для динамического контента внутри модального окна */
#dynamic-map {
    height: 500px;
    /* Высота для карты */
}

.schedule-content {
    text-align: center;
    padding: 20px;
}

.side-bar-point {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.open-map-modal>img {
    width: 25px;
    height: auto;
    cursor: pointer;
}

.link-point {
    padding: 6px;
    background: #0aa13a;
    border-radius: 15px;
}

.link-point>a {
    color: #fff;
    text-decoration: none;
}

.name-item::first-letter {
    text-transform: uppercase;
}

.open-schedule-modal>img {
    width: 38px;
    height: auto;
    cursor: pointer;
}


.accordion-item {
    border: 2px solid #00af00;
    border-radius: 25px;
    background: #f3fff3;
    margin-bottom: 25px;
    padding: 0;
}

/* ======= 2 уровень ====== */
.accordion-header.second-level {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 22px 25px;
    cursor: pointer;
    position: relative;
    background: none;
}

.accordion-header.second-level:hover {
    background: none;
}

/* ПРОБИРКА */
.accordion-header.second-level .icon-container {
    width: 80px;
    height: 106px;
    background: #00af00;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transform: translateY(-6px);
    position: absolute;
}

.accordion-header.second-level .icon-container::before {
    content: "💧";
    font-size: 30px;
}

/* НАЗВАНИЕ */
.accordion-header.second-level .name-item {
    font-size: 20px;
    font-weight: 700;
    color: #0b2777;
    margin: 0;
    padding: 0;
    flex: 1;
    margin-left: 10px;
}

.product-name-list {
    width: 65%;
}

.short-desc-toggle {
    padding: 10px 0;
    color: #4d4d4d;
}

.short-desc-toggle>span {
    border-bottom: 1px dashed #4d4d4d;
}

a.product-link {
    width: 80%;
    color: #000;
    text-decoration: none;
    font-size: 18px;
}

.add-to-cart_img {
    width: 30px;
}

.accordion-header.second-level::after {
    content: "+";
    font-size: 32px;
    font-weight: 700;
    color: #00af00;
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
}

.accordion-item.active>.accordion-header.second-level::after {
    content: "−";
}

/* ======= 3 уровень ====== */
.header-subitem {
    display: flex;
    align-items: center;
    padding: 18px 22px;
    background: #eaffea;
    border: 2px solid #00af00;
    border-radius: 20px;
    margin: 15px 20px;
    position: relative;
}

.header-subitem .icon-container {
    display: none !important;
}

.accordion-header.third-level {
    flex: 1;
    font-size: 18px;
    font-weight: 600;
    color: #0b2777;
    padding-left: 0;
}

.accordion-header.third-level::after {
    content: "+";
    font-size: 26px;
    color: #00af00;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.accordion-subitem.active .accordion-header.third-level::after {
    content: "−";
}

/* ======= BODY ====== */
.accordion-body {
    display: none;
    padding: 0 25px 0;
}

.accordion-item.active>.accordion-body,
.accordion-subitem.active>.accordion-body {
    display: block;
}


span.name-item {
    margin: 0;
}


.woocommerce-breadcrumb {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 10px 0;
}

.list-map-block,
.desktop-version,
.points-home {
    display: flex;
    flex-direction: row-reverse;
    padding: 10px 0;
    width: 100%;
}

div#points-map {
    width: 100%;
}

.point-item {
    cursor: pointer;
    padding: 5px 0;
}

.filter-select {
    width: 100%;
    padding: 10px;
    font-size: 16px;
}

.filter-item {
    cursor: pointer;
}

.list-posint-block {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 0;
}

.item_points-block {
    display: flex;
    flex-direction: column;
    width: 22%;
    height: auto;
    padding: 10px;
    border: 1px solid #ebebeb;
    border-radius: 15px;
    box-shadow: 0px 6px 13px 3px rgb(0 0 0 / 15%);
}

/* Бургер */
.nav-burger {
    position: fixed;
    top: 35%;
    left: 20px;
    font-size: 26px;
    cursor: pointer;
    z-index: 1001;
}

ul.related-items {
    padding: 0;
    margin: 0;
}

.block-select-city {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px;
    height: 189px;
}

.list-select-city {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.city {
    padding: 15px 0;
    border-radius: 15px;
    width: 100px;
}

.city {
    padding: 10px 0;
    border-radius: 15px;
    width: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border: 1px solid #014679;
    margin: 10px;
    background: #014679;
    color: #fff;
    text-decoration: none;
}

a.selected-city.city {
    background: #011c31;
}

.list-service-home,
.list-item-analiz {
    display: flex;
    flex-wrap: wrap;
    padding: 15px 0;
}

.item-service {
    width: 17%;
    border: 1px solid #e3e2e2;
    padding: 5px;
    margin: 10px;
    border-radius: 15px;
    box-shadow: 0px 6px 13px 3px rgb(0 0 0 / 15%);
}

.img-service {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
}

.img-service>a>img {
    height: 80px;
    text-align: center;
    display: block;
    width: 80px;
    padding: 10px;
}

.link-analize {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    padding: 15px 0;
}

.link-analize>a {
    color: #000;
    text-decoration: none;
    text-align: center;
    font-size: 20px;
}

.menu-toggle {
    display: none;
}

.mobile-nav {
    display: none;
}

.promo-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px 0;
}

.item-ptomo {
    width: 22%;
    padding: 10px;
    border: 1px solid #e3e2e2;
    border-radius: 8px;
    margin-right: 10px;
}

.img-promo>a>img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.title-promo>h2 {
    text-align: center;
    font-size: 20px;
}

.link-promo {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 15px 0;
    padding: 10px 0;
}

.link-promo>a {
    border: 1px solid;
    padding: 10px;
    border-radius: 6px;
    text-decoration: none;
    background: #008300;
    color: #fff;
    width: 100%;
    text-align: center;
}

.doctor-content {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
}

.left-part-doctor,
.rigth-part-doctor {
    width: 50%;
    margin: 5px;
}

.name-doctor>h1 {
    line-height: 42px;
    margin: 0 0 10px 0;
}

.img-doctor>img {
    width: 100%;
    height: auto;
}

.list-doc {
    display: grid;
    justify-content: space-between;
    padding: 10px 0;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 10px;
}

.item-doc {
    padding: 10px;
    border: 1px solid #ebebeb;
    border-radius: 8px;
}

.name-doc {
    text-align: center;
    line-height: 31px;
    height: 105px;
}

.img-doc>a img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.stach-appoint {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
}

button.appointment-btn {
    padding: 15px 20px;
    border-radius: 6px;
    background: #006395;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
}

.block-app {
    display: flex;
    justify-content: space-between;
    align-items: center;
}



.doc>img {
    display: block;
    margin: -20px;
    width: 40%;
}

.quick-form {
    width: 30%;
}

.name-blcok>h1 {
    padding: 20px;
    line-height: 40px;
}

.about-us {
    background-image: url(./assets/img/bg4.jpg);
    background-size: cover;
    padding: 40px 0;
    text-align: center;
}

.form-main {
    background-image: url(./assets/img/bg.jpg);
    background-size: cover;
    padding: 20px 0;
    text-align: center;
}

.input-text-field {
    width: 300px;
    height: 40px;
    border-radius: 6px;
    padding: 5px 10px;
    border: 1px solid #676666;
    color: #000;
}

.send-btn {
    width: 321px;
    height: 51px;
    border-radius: 6px;
    padding: 10px;
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(145deg, #014679 0%, #3694f9 45%, #033357 100%);
    border: none;
}

.we_block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 0;
}

.first_we_blcock,
.second_we_block,
.third_we_block {
    width: 30%;
    border-radius: 8px;
    border: 1px solid #fff;
    padding: 10px;
    background: #ffffffbd;
}

.img_blcok>img {
    width: 100%;
    border-radius: 8px;
}

.list-specialist-service,
.list-doctor {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 10px;
}

.product-title-cart {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}

del {
    font-size: 16px;
}

ins {
    font-size: 24px;
    margin: 0 15px;
    text-decoration: none;
}

button.single_add_to_cart_button.button.alt {
    width: 100%;
    padding: 15px;
    margin: 15px 0;
    color: #fff;
    border: none;
    background: linear-gradient(145deg, #00af00 0%, #00ff00 45%, #00af00 100%);
    border-radius: 6px;
    font-size: 20px;
    cursor: pointer;
}

.btn-fixed {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 999;
    bottom: 50%;
}

button.opent-btn-modal.appoint-btn {
    padding: 10px;
    background: linear-gradient(145deg, #00af00 0%, #00ff00 45%, #00af00 100%);
    border: none;
    border-radius: 6px;
    color: #ffffff;
    font-size: 18px;
    width: 140px;
    text-align: center;
    cursor: pointer;
}

button.opent-btn-modal.callback-btn {
    background: linear-gradient(145deg, #014679 0%, #3694f9 45%, #033357 100%);
    border: none;
    padding: 10px;
    margin: 15px 0;
    border-radius: 6px;
    font-size: 18px;
    color: #fff;
    width: 140px;
    text-align: center;
    cursor: pointer;
}

.list-service-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
}


.services-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.services-grid>.item-service {
    width: auto;
}

.price-content {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.points-list {
    height: 600px;
    overflow-y: scroll;
}

.go-to-init {
    padding: 15px;
    border-radius: 8px;
    background: #f1f1f1;
    color: #000;
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    border: 1px dashed #959595;
}

.go-to-init>img {
    width: 47px;
    margin-right: 8px;
}

.list-home-sale {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: flex-start;
    grid-gap: 19px;
    align-items: flex-start;
    padding: 10px 0;
}

.item-sale-home {
    border-radius: 8px;
    border: 1px solid #fff;
    padding: 10px;
    background: #ffffffbd;
}

.name-sale {
    font-size: 12px;
    height: 89px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.name-sale>h2>a {
    color: #000;
    text-decoration: none;
}

.side-promo {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
}


.points-home {
    display: flex;
    flex-direction: row-reverse;
}

.link-to-sale>a {

    border-radius: 6px;
    padding: 10px;
    text-decoration: none;
    color: #ffffff;
    background: #00af00;
}

.points-home {
    display: flex;
    flex-direction: row-reverse;
}

.list-news-home-wrapper {
    position: relative;
    overflow: hidden;
    padding: 15px 0;
}

.list-news-home {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE */
}

.list-news-home::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari */
}

.item-news {
    flex: 0 0 calc(25% - 10px);
    min-width: 200px;
    border: 1px solid #e3e2e2;
    padding: 5px;
    border-radius: 8px;
}

.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 2;
    opacity: 0.3;
}

.nav-btn:hover {
    opacity: 1;
}

.nav-btn.prev {
    left: 10px;
}

.nav-btn.next {
    right: 10px;
}

.nav-btn:hover {
    background: rgba(0, 0, 0, 0.7);
}

.img-news>a>img {
    width: 100%;
    max-width: 335px;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    height: auto;
    border-radius: 8px;
}

.name_news {
    padding: 10px 0;
    height: 140px;
}

.name_news>a {
    color: #000;
    text-decoration: none;
    margin: 10px 0;
}

.user-nav {
    display: flex;
    justify-content: space-evenly;
    width: 100px;
}

.header-cart {
    position: relative;
    display: inline-block;
}

.cart-link {
    display: flex;
    align-items: center;
    position: relative;
}

.cart-icon {
    width: 24px;
    height: 24px;
}

.cart-count {
    background: #00af00;
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    line-height: 16px;
    width: 16px;
    height: 16px;
    text-align: center;
    position: absolute;
    bottom: -5px;
    right: -8px;
}

.user-btn {
    background: no-repeat;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.user-btn>img {
    width: 20px;
    height: 20px;
}



.side-nav {
    background: #fff;
    z-index: 999;
    transition: all 0.3s ease;
}

.side-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.side-nav li {
    display: block;
}

.side-nav a {
    display: block;
    padding: 10px 20px;
    text-decoration: none;
    color: #333;
    transition: color 0.3s;
}

.side-nav a.active {
    color: #007bff;
    font-weight: 600;
}

.link-from-home {
    background: linear-gradient(145deg, #00af00 0%, #00ff00 45%, #00af00 100%);
    width: 250px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    border-radius: 8px;
    margin: 5px;
    font-size: 30px;
    color: #fff;
    padding: 20px;
    text-decoration: none;
}

.page-link-icon {
    height: 30px;
    text-align: center;
    width: auto;
}

.page-links-container {
    display: flex;
    justify-content: center;
}

.rating-stars {
    direction: rtl;
    unicode-bidi: bidi-override;
    font-size: 32px;
    cursor: pointer;
}

.rating-stars span {
    color: #ccc;
    padding: 2px;
    transition: 0.2s;
}

.rating-stars span.active,
.rating-stars span:hover,
.rating-stars span:hover~span {
    color: gold;
}

.form_reviews {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

.form-review {
    width: 500px;
    padding: 25px;
    border-radius: 8px;
    border: 1px dashed #c1c1c1;
    margin: 20px;
    text-align: center;
}

.input_review {
    width: 300px;
    height: 36px;
    border-radius: 6px;
    padding: 5px 10px;
    border: 1px solid #676666;
    color: #000;
    margin: 10px;
}

.send_reviews {
    background: linear-gradient(145deg, #014679 0%, #3694f9 45%, #033357 100%);
    border: none;
    padding: 10px;
    margin: 15px 0;
    border-radius: 6px;
    font-size: 18px;
    color: #fff;
    width: 140px;
    text-align: center;
    cursor: pointer;
}

.review-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px 0;
}

.review-item {
    width: 30%;
    height: auto;
}

.whe-online {
    height: 50vh;
    display: flex;
    align-items: center;
    background: #d9ffe3;
}

.why-main {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-text {
    background: #009f4d;
    color: #fff;
    padding: 35px 35px;
    border-radius: 8px;
    max-width: 420px;
    position: relative;
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}

.step {
    background: #f2fff8;
    color: #000000;
    padding: 35px 35px;
    border-radius: 8px;
    max-width: 420px;
    position: relative;
    height: 300px;
    border: 1px dashed #cfcfcf;
    margin: 10px;
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}

.nubmber_step {
    display: flex;
    flex-direction: column;
}

.list-step {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.numer_step {
    font-size: 40px;
    font-weight: 900;
    color: #0884b7;
}


.acf-links-wrapper {
    display: flex;
    justify-content: end;
    align-items: center;
    padding: 15px 0;
}

.acf-link-item {
    display: flex;
    width: 24%;
    justify-content: center;
    padding: 10px;
    margin: 0 10px;
    border: 1px solid #ebebeb;
    border-radius: 8px;
}


.link-online {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.link-online>img {
    width: 200px;
    margin: 10px;
}

.link-online>span {
    color: #000;
}

.cart-item-info {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    background: #fff;
}

.cart-item-name {
    width: 70%;
}

.cart-item-name>a {
    color: #000;
    text-decoration: none;
}


.cart-item-remove>a {
    color: red;
    text-decoration: none;
    font-size: 30px;
}

.cart-coupon {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}


.cart-coupon>input {
    height: 40px;
    border-radius: 6px;
    padding: 5px 10px;
    border: 1px solid #676666;
    color: #000;
    width: 40%;
}

.cart-coupon>button {
    background: #fff;
    padding: 16px;
    border: 1px solid #00af00;
    border-radius: 6px;
    font-size: 16px;
    width: 45%;
}

.cart-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.cart-actions>a {
    border: 1px solid #02538d;
    background: #00af00;
    color: #FFF;
    padding: 10px 15px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 900;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
    width: 100% !important;
}

.checkout-wrapper {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    grid-gap: 30px;
}

.checkout-form {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
}

.list-news {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 10px;
}

.list-preparation {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 10px;
    padding: 40px 0;
}

.item-preparation {
    display: flex;
    justify-content: left;
    align-items: center;
    padding: 30px 40px;
    border: 1px solid #ebebeb;
    border-radius: 15px;
    box-shadow: 0px 6px 13px 3px rgb(0 0 0 / 15%);
}

.item-preparation>a {
    text-decoration: none;
    color: #000;
    cursor: pointer;
}

h2.prep-title {
    font-size: 100%;
}

.name-page>h1 {
    line-height: 40px;
}



.copyright {
    border-bottom: 1px solid #cdcdcc;
}

.copyright-text {
    display: flex;
    justify-content: center;
    padding: 10px;
}


.footer {
    padding: 15px 0;
    border-top: 1px dashed #c0c0c0;
    border-bottom: 1px dashed #c0c0c0;
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    grid-gap: 10px;
}

.footer-nav {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 10px;
}

.footer_menu {
    list-style: none;
    padding: 0 5px;
    margin: 0;
}


.footer_menu>li>a {
    color: #000;
    text-decoration: none;
    cursor: pointer;

}


.contact-content {
    text-align: center;
    padding: 15px 0;
}

section.feed-back {
    background: #d9ffe3;
    padding: 15px 0;
}

.list-certificate {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

.list-certificate>p {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.feedback-from {
    text-align: center;
    padding: 20px 0;
}

.form-block>select {
    width: 400px;
    padding: 10px;
    margin: 5px;
    border-radius: 15px;
    border: 1px solid #00af00;
}

.form-block>input,
.form-block>.col>input {
    width: 380px;
    padding: 10px;
    margin: 5px;
    border-radius: 15px;
    border: 1px solid #00af00;
}

.form-block>textarea {
    width: 380px;
    padding: 10px;
    margin: 5px;
    border-radius: 15px;
    border: 1px solid #00af00;
    height: 100px;
}

.file-col>input {
    border-bottom: 1px solid #00af00;
    width: 406px;
    padding: 10px 0;
    margin: 10px;
}

.button-col>button {
    padding: 10px;
    margin: 5px;
    width: 407px;
    border-radius: 15px;
    background: #fff;
    border: 1px solid #00af00;
    text-transform: uppercase;
    cursor: pointer;
}

.steps-container>.step {
    color: #000000;
    border-radius: 15px;
}

section.send-fran {
    background: linear-gradient(135deg, #009834 0%, #229954 100%);
    color: #fff;
    padding: 20px;
}

.send-fran>.container>.name-block {
    text-align: center !important;
    justify-content: center;
}

form#contactForm {
    max-width: 600px;
    margin: 2px auto 0;
    background: white;
    padding: 15px;
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.popup {
    display: none;
    position: fixed;
    z-index: 999999;
    padding-top: 50px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background: #00af0057;
}

.popup-content {
    display: block;
    margin: auto;
    max-width: 95%;
    max-height: 95vh;
    box-shadow: 0 0 20px #000;
    border-radius: 8px;
}

.popup-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

.prep-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.prep-nav-item {
    display: flex;
    justify-content: left;
    align-items: center;
    padding: 14px 13px;
    border: 1px solid #ebebeb;
    border-radius: 15px;
    margin: 5px;
    box-shadow: -1px 6px 4px 3px rgb(0 0 0 / 6%);
}

.prep-nav-item>a {
    color: #000;
    text-decoration: none;
}

.user-tab-content {
    display: none;
}

.user-tab-content.active {
    display: block;
}




@media (max-width: 768px) {

    .container {
        max-width: calc(100% - 20px);
        margin: 0 auto;
    }

    section.breadcrumbs {
        padding-top: 110px;
    }

    .slider {
        padding-top: 0;
    }

    .breadcrumbs {
        white-space: nowrap;
        overflow-x: auto;
    }

    .product-title-cart>.product-title>h1 {
        text-align: justify;
        font-size: 17px;
    }

    .product-title-cart {
        flex-direction: column;
    }

    .price-add-tocart {
        display: flex;
        justify-content: space-between;
        width: 100%;
        align-items: center;
    }

    bdi,
    .price-value {
        font-size: 20px;
    }



    .phone-main {
        margin: 0;
        padding-top: 160px;
    }

    .slider-image {
        width: 100%;
        padding: 0;
    }

    .item-service {
        width: auto;
    }

    .list-doc {
        grid-template-columns: 1fr;
    }


    .link-analize>a {
        font-size: 14px;
    }

    ul#menu-main-menu {
        display: flex;
        flex-direction: column;
    }

    .menu-toggle {
        border: none;
        width: 46px !important;
        height: 46px !important;
        display: flex;
        color: #fff;
        font-size: 20px;
    }

    .desktop-menu {
        display: none;
    }

    .mobile-nav {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 80vw;
        max-width: 360px;
        height: 100vh;
        background: #fff;
        box-shadow: 2px 0 10px rgba(0, 0, 0, .2);
        padding: 20px;
        z-index: 1002;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform .28s ease;
    }

    .mobile-nav.is-open {
        transform: translateX(0);
    }

    .mobile-menu {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-menu>li {
        border-bottom: 1px solid #eee;
        position: relative;
    }

    .mobile-menu a {
        display: block;
        text-decoration: none;
        font-size: 18px;
        color: #000;
        padding: 12px 8px;
    }

    .mobile-menu li.menu-item-has-children>a {
        position: relative;
        padding-right: 28px;
    }

    .mobile-menu li.menu-item-has-children>a::after {
        content: "⮟";
        position: absolute;
        right: 5px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 25px;
        color: #959595;
        border-left: 1px dashed #bbbaba;
        padding-left: 10px;
    }

    .mobile-menu ul.sub-menu {
        display: none;
        list-style: none;
        margin: 0;
        padding: 6px 0 6px 12px;
        background: #f9f9f9;
    }

    .mobile-menu .submenu-open>.sub-menu {
        display: block;
    }

    .unit {
        margin: 10px 0;
    }

    .form-review {
        width: 100%;
    }

    .review-item {
        width: 100%;
    }


    .mobile-menu>li.open>ul.sub-menu {
        display: flex;
        gap: 12px 20px;
        padding: 10px 0;
        flex-direction: column;
    }

    .mobile-menu>li.open>ul.sub-menu>li {
        flex: 1 1 45%;
        min-width: 140px;
    }

    .mobile-menu .sub-menu {
        display: none;
    }

    .mobile-menu .submenu-open>.sub-menu {
        display: block;
    }

    .mobile-menu ul.sub-menu a {
        font-size: 16px;
        padding: 6px 0;
        color: #333;
    }

    .mobile-menu .menu-item-has-children>a {
        position: relative;
        padding-right: 25px !important;
    }



    .mobile-menu .menu-item-has-children.submenu-open>a::after {
        content: '↓';
    }

    .mobile-menu .sub-menu {
        display: none;
    }

    .mobile-menu .submenu-open>.sub-menu {
        display: block;
    }

    .menu-close {
        background: none;
        border: none;
        font-size: 26px;
        line-height: 1;
        cursor: pointer;
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 1003;
    }

    .item-phone {
        padding: 10px 0;
        border: 1px dashed #cfcfce;
        border-radius: 15px;
        margin: 10px 0;
        text-align: center;
    }

    .menu-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        visibility: hidden;
        transition: 0.3s ease;
        z-index: 1000;
    }

    .menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .item-ptomo {
        width: 100%;
    }

    .product-list {
        list-style: none;
        margin: 5px 0;
        padding: 0;
    }

    .price-add {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 10px 0;
    }

    h1#hero-title {
        font-size: 42px;
        line-height: 48px;
    }

    .steps-container>.step {
        color: #000000;
        border-radius: 15px;
        padding: 5px;
        height: auto;
        margin: 5px 0;
        border: none;
    }

    .list-certificate {
        flex-wrap: wrap;
    }

    .form-block>select {
        width: 345px;
    }

    .form-block>input,
    .form-block>.col>input,
    .form-block>textarea,
    .file-col>input {
        width: 325px;
    }

    .button-col>button {
        width: 345px;
    }


    .lng-color>.menu-language-container>.menu .menu-item>a,
    .lng-color>.menu-language-russian-container>.menu .menu-item>a {
        color: #000;
    }

    .form-review {
        width: calc(100% - 10px);
    }

    .content-service-page>h2 {
        font-size: 100%;
    }

    .language {
        border-bottom: 1px solid #eee;
        position: relative;
        font-size: 18px;
        color: #000;
        padding: 12px 8px;
    }


    .we_block {
        overflow-x: scroll;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 5px;
    }

    .first_we_blcock,
    .second_we_block,
    .third_we_block {
        width: 300px;
    }

    .list-preparation {
        grid-template-columns: 1fr;
    }

    .item-preparation {
        padding: 30px 20px;
    }

    .text-block {
        height: 390px;
        overflow-y: scroll;
    }

    .doc {
        display: none;
    }

    .whe-online {
        height: auto;
    }

    .why-main {
        flex-wrap: wrap;
        padding: 20px 0;
    }

    .main-text,
    .step {
        max-width: none;
        clip-path: none;
    }

    .acf-links-wrapper {
        flex-wrap: wrap;
    }

    .acf-link-item {
        width: 100%;
    }


    .btn-fixed-mobile {
        position: fixed;
        width: 100%;
        display: flex;
        bottom: 0;
        margin-right: 5px;
        background: #c3fad0;
        justify-content: space-evenly;
        align-items: center;
        padding: 5px 0;
        z-index: 9999;
    }


    .link-phone-btn,
    .link-med,
    .link-point_fix,
    .menu-toggle,
    .link-result,
    .link-user,
    .search-btn {
        padding: 10px;
        display: flex;
        border-radius: 34%;
        border: 1px solid #00af00;
        background: #fff;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: auto;
        height: 43px;
        width: 43px;
    }

    .menu-toggle {
        background: #00af00 !important;
    }


    .text-btn {
        font-size: 9px;
        color: #000;
        margin-bottom: 5px;
        font-weight: 600;

    }

    .link-phone-btn::before,
    .link-med::before,
    .link-point_fix::before,
    .menu-toggle::before,
    .link-result::before,
    .link-user::before,
    .search-btn::before {
        content: "";
        position: absolute;
        left: -20%;
        top: -30%;
        width: 140%;
        height: 70%;
        transform: rotate(-18deg);
        background: radial-gradient(closest-side,
                rgba(255, 255, 255, 0.02) 0%,
                rgba(255, 255, 255, 0.00) 60%);
        pointer-events: none;
    }

    .link-phone-btn::after .link-med::after,
    .link-point_fix::after,
    .menu-toggle::after,
    .link-result::after,
    .link-user::after,
    .search-btn::after {
        content: "";
        position: absolute;
        right: 8%;
        top: 40%;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #0b66ff;
    }

    .link-phone-btn>img,
    .link-med>img,
    .link-point_fix>img,
    .link-result>img,
    .search-btn>img,
    .link-med>a>img {
        width: 23px;
        margin-top: 12px;
    }

    .btn-fixed-mobile {
        position: fixed;
        z-index: 999;
        display: flex;
        bottom: 0px;
    }

    .quick-form {
        width: 100% !important;

    }

    .points-page,
    .list-home-sale {
        grid-template-columns: 1fr;
    }

    .list-points {
        grid-template-columns: 1fr;
    }

    .point-content {
        flex-direction: column;
    }

    .schedule-point,
    .phone-list-point,
    .email-ponit,
    .img,
    .img {
        width: 93%;
    }

    .img>img {
        width: 100%;
    }

    .list-specialist-service {
        grid-template-columns: 1fr;
    }

    a.product-link {
        width: 100%;
    }

    ul.price-list {
        padding: 5px 0;
        margin: 0;
    }

    .left-part-doctor,
    .rigth-part-doctor {
        width: 100%;
        margin: 0;
    }

    .doctor-content {
        display: flex;
        flex-wrap: wrap-reverse;
    }

    .list-doctor {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 10px;
    }

    .list-service-main {
        grid-template-columns: 1fr;
    }

    .go-to-init {
        margin: 8px;

    }

    .services-grid>.item-service {
        width: auto;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        height: auto;
    }

    .services-grid {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
    }

    .list-service-home,
    .list-item-analiz {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .img-service>a>img {
        width: 60px;

    }

}


/* Общие стили для меню */
.side-nav {
    background: white;
    z-index: 999;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.side-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.side-nav a {
    display: block;
    padding: 12px 20px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.side-nav a:hover {
    background-color: #f5f5f5;
}

.side-nav a.active {
    background-color: #f0f8ff;
    border-left-color: #007bff;
    font-weight: bold;
    color: #007bff;
}

/* Стили для бургер-кнопки */
.nav-burger {
    background: white;
    border: 2px solid #333;
    border-radius: 4px;
    cursor: pointer;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    transition: all 0.3s ease;
    width: 40px;
    height: 40px;
}

.nav-burger:hover {
    background: #f5f5f5;
}

.nav-burger .burger-icon,
.nav-burger .close-icon {
    transition: opacity 0.3s ease;
}

/* По умолчанию скрываем крестик */
.nav-burger .close-icon {
    display: none;
}




/* Мобильные стили */
@media (max-width: 767px) {
    .side-nav {
        position: fixed;
        top: 158px;
        /* Под шапкой */
        left: 0;
        width: 100%;
        max-height: 60px;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .img-service {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 85px;
    }

    .side-nav.open {
        max-height: 400px;
        overflow-y: auto;
    }

    .side-nav li {
        display: none;
    }

    .nav-burger {
        position: fixed;
        top: 164px;
        /* Рядом с меню под шапкой */
        left: 88%;
    }

    /* Когда меню открыто на мобильном - показываем крестик */
    .side-nav.open+.nav-burger .burger-icon {
        display: none;
    }

    .side-nav.open+.nav-burger .close-icon {
        display: block;
    }

    body.menu-open {
        overflow: hidden;
    }
}

/* Десктопные стили */
@media (min-width: 768px) {
    .side-nav {
        position: fixed;
        top: 50%;
        left: 20px;
        transform: translateY(-50%);
        width: 220px;
        border-radius: 8px;
        transition: transform 0.3s ease;
    }

    .side-nav.collapsed {
        transform: translateY(-50%) translateX(-250px);
    }

    .nav-burger {
        position: fixed;
        top: 50%;
        left: 240px;
        /* Рядом с открытым меню */
        transform: translateY(-50%);
        transition: left 0.3s ease;
    }

    /* Когда меню скрыто, показываем бургер слева */
    .side-nav.collapsed+.nav-burger {
        left: 20px;
    }

    /* Когда меню открыто на десктопе - показываем крестик */
    .side-nav:not(.collapsed)+.nav-burger .burger-icon {
        display: none;
    }

    .side-nav:not(.collapsed)+.nav-burger .close-icon {
        display: block;
    }
}

.points-list .point-type-title {
    margin: 20px 0 10px 0;
    font-size: 20px;
    color: #333;
}

.points-list .point-item {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: background-color 0.2s;
}

.points-list .point-item:hover {
    background-color: #f5f5f5;
}

.points-list .point-item.active {
    background-color: #e8f4fd;
}

/* Мобильные стили */
.points-accordion {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}

.accordion-section {
    border-bottom: 1px solid #e0e0e0;
}

.accordion-section:last-child {
    border-bottom: none;
}

.accordion-header {
    padding: 16px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s;
}


.accordion-header h3 {
    margin: 0;
    font-size: 16px;
    color: #333;
}

.accordion-icon {
    font-size: 18px;
    font-weight: bold;
    transition: transform 0.3s;
    color: #666;
}

.accordion-section.active .accordion-icon {
    transform: rotate(45deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.accordion-section.active .accordion-content {
    max-height: 100%;
}

.point-item-mobile {
    padding: 15px 20px;
    border-bottom: 1px solid #f0f0f0;
}

.point-item-mobile:last-child {
    border-bottom: none;
}

.point-main-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
}

.point-address {
    font-weight: 500;
    flex: 1;
    min-width: 200px;
    font-size: 14px;
    line-height: 1.4;
}

.toggle-map-btn {
    background: #007cba;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 500;
}

.toggle-map-btn:hover {
    background: #005a87;
}

.point-map-container {
    margin-top: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
}

.point-map-container.active {
    display: block !important;
}

/* Адаптивность для мобильной версии */
@media (max-width: 480px) {
    .accordion-header {
        padding: 14px 16px;
    }

    .point-item-mobile {
        padding: 12px 16px;
    }

    .point-map-container {
        height: 200px;
    }

    .point-main-info {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .toggle-map-btn {
        align-self: flex-start;
    }
}

#lab-live-search {
    width: calc(100% - 30px);
    padding: 12px;
    font-size: 16px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

#lab-search-results {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 10px;
    display: none;
    margin-bottom: 20px;
}

.lab-search-item {
    list-style: none;
    margin-left: 15px;
}