/*
Theme Name: NPCmed
Theme URI: https://wordpress.org/themes/luch
Author: bokhan7
Author URI: https://wordpress.org
Description: Machinery documentation
Requires at least: 6.1
Tested up to: 6.5
Requires PHP: 5.6
Version: 2025.05.23
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: twentytwentythree
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/



@font-face {
    font-family: 'Stolzl';
    src: url(assets/fonts/stolzl_book.otf);
    font-weight: 400;
}

@font-face {
    font-family: 'Stolzl';
    src: url(assets/fonts/stolzl_regular.otf);
    font-weight: 600;
}

:root{
    --pink: #AF0058;
    --red: #C82E3E;
    --yellow: #EC7E25;
    --orange: #D82724;
    --blue: #2659A3;
    --grey: #F4F4F4;
    --cyan: #D3F6FB;
}

*{
    box-sizing: border-box;
}

body{
    overflow-x: hidden;
    padding: 0;
    margin: 0;
    font-size: 14px !important;
    font-family: 'Stolzl' !important;
    font-weight: 400;
}

html{
    overflow-x: hidden;
}

mark{
    all: unset;
}

a, button{
    all: unset;
    cursor: pointer;
}

.docs details.wp-block-details{
    border-bottom: 1px solid #0000002c;
    margin-bottom: 36px;
	line-height: 2.5rem;
40px
;

}

.mb-20{
    margin-bottom: 20px;
}

.menu li{
    list-style-type: none;
}

.menu a{
    transition: all ease .15s;
}

.menu a:hover{
    color: var(--pink);
}

/* Родительский пункт с подпунктами */
.menu__list > .menu-item-has-children {
    position: relative;
}

/* Скрываем подменю по умолчанию */
.menu__list .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px; /* можно подправить */
    padding: 12px 0;
    padding-top: 20px;
    margin: 0;
    list-style: none;
    background: #ffffff;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 100;
}

/* Элементы внутри подменю */
.menu__list .sub-menu .menu-item a {
    display: block;
    padding: 8px 16px;
    white-space: nowrap;
}

.paid .single{
    margin-top: 0px;
    background-size: contain;
}

.paid .btn{
    background: linear-gradient(#FFB073, #F58633);
}

.paid__header{
    padding: 64px 0;
    margin-bottom: 48px;
    max-width: 480px;
}

.paid .footer{
    background: var(--cyan);
}

.docs details summary{
    padding-bottom: 8px;
    font-size: 24px;
}

.content a{
    color: var(--pink);
    text-decoration: underline;
    transition: all ease .15s;
}

.content a:hover{
    color: black;
}

.content p{
    /*margin: 12px 0;*/
	line-height: 2rem;
}

.content h1{
    margin-bottom: 24px;
}

.content h2{
   /* margin-top: 64px;*/
    margin-bottom: 24px;
}

.btn__outline{
    width: fit-content;
    box-sizing: border-box;
    padding: 10px 20px;
    color: var(--pink);
    border-radius: 24px;
    border: 2px solid var(--pink);
    transition: all ease .15s;
    font-size: 12px;
    text-align: center;
}

.btn__outline:hover{
    color: white;
    background: var(--pink);
}

input, textarea{
   /* all: unset;*/
}

.menu__list{
    flex-wrap: wrap;
    gap: 20px !important;
    justify-content: center;
    row-gap: 4px !important;
}

.doctor__card .btn__outline{
    width: 100%;
}

.wrapper{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

h1,h2,h3,h4,h5,h6,p{
    padding: 0;
    margin: 0;
}

h2{
    font-size: 36px;
    font-weight: 600;
    margin-bottom: 12px;
}

h3{
    font-size: 20px;
    font-weight: 600;
}

.offer{
    position: relative;
    height: 428px;
}

.tag{
    width: fit-content;
    padding: 4px 12px;
    background: var(--pink);
    color: white;
    border-radius: 24px;
}

.tags__wrapper{
    position: absolute;
    bottom: 0;
}

.vacancy__card{
    padding: 12px;
    transition: all ease .15s;
}

.vacancy__card:hover{
    background: #00000005;
}

.welcome__tag{
    width: fit-content;
}

.row{
    display: flex;
    flex-direction: row;
}

.col{
    display: flex;
    flex-direction: column;
}

.center{
    align-items: center;
}

.g8{
    gap: 8px;
}
.g12{
    gap: 12px;
}
.g16{
    gap: 16px;
}
.g24{
    gap: 24px;
}
.g36{
    gap: 36px;
}
.g48{
    gap: 48px;
}
.g96{
    gap: 96px;
}
.jcsb{
    justify-content: space-between;
	margin-bottom: 20px;
}

.menu{
    width: 100%;
}

.menu a{
    font-size: 12px;
    font-weight: bold;
}

.hover-link{
    transition: all ease .15s;
}

.hover-link:hover{
    color: var(--pink);
}

.welcome__img{
    position: relative;
    width: 100%;
    max-width: 702px;
}

.welcome-image{
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.welcome__img__logo {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 2;
}

.welcome-image {
    object-fit: cover;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.welcome-image.active {
    opacity: 1;
}


.welcome__circle{
    border-radius: 100%;
    box-shadow: #AF0058 0 10px 24px;
}

.welcome__phone__img{
    position: absolute;
    width: 24px;
    height: 24px;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) ;
}

.moscowmedicine{
    background: var(--red);
    color: white;
    padding: 8px 0;
}

.header__container{
    background: rgba(255, 255, 255, 0.9);
    padding: 4px 0;
    backdrop-filter: blur(36px);
}

.header__logo img{
    max-width: 295px;
}

.header{
    width: 100%;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    box-shadow: #00000010 0 20px 30px;
}

body{
    padding-top: 120px;
}

@media (max-width: 768px) {
    body{
        padding-top: 180px;
    }
}

body.homepage, body.about{
    padding-top: 0;
}

.post__img{
    width: 100%;
    max-width: 560px;
    border-radius: 36px;
}

.post__content{
    margin-top: 36px;
}

.underlined{
    text-decoration: underline;
}

.documents{
    max-width: 430px;
    font-size: 12px;
}

.welcome, .news, .footer, .about__video{
    background: linear-gradient(100deg, #F7FBA8, #FED7E3);
}

.about__video{
    margin-bottom: 150px;
}

.about__video .video__wrapper{
    transform: translateY(120px);
}


.homepage .about__video{
    background: none;
    margin-bottom: 0;
}

 .partner-marquee {
        margin: 20px 0;
        padding: 10px;
    }

    .partner-marquee img {
        margin-right: 20px;
        width: 175px; /* Размер картинок */
    }

.homepage .about__video .video__wrapper{
    transform: none;
}

.video__wrapper{
    background: white;
    padding: 20px;
    border-radius: 36px;
    box-shadow: #00000010 0 20px 30px;
}

/* Container styles */
.scrolling-text-container {
    border-radius: 4px;
    overflow: hidden;
    position: inherit;
    z-index: -1;
}

/* Inner container styles */
.scrolling-text-inner {
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 600;
    padding: 8px 0;
}

/* Text styles */
.scrolling-text {
    display: flex;
        align-items: center;

}

.scrolling-text-item {
    padding: 0 30px;
}

/* Apply the animation to the text items */
.scrolling-text-inner>div {
    animation: var(--direction) var(--marquee-speed) linear infinite;
    z-index: -1;
}

/* Pause the animation when a user hovers over it */
.scrolling-text-container:hover .scrolling-text-inner>div {
    animation-play-state: paused;
}

/* Setting the Animation using Keyframes */
@keyframes scroll-left {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-100%);
    }
}

@keyframes scroll-right {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0%);
    }
}

.video__wrapper iframe{
    border-radius: 16px;
}

.btn__poorvision{
    font-size: 10px;
    max-width: 110px;
}

section{
    margin-top: 96px;
}

section.welcome{
    padding-top: 96px;
    padding-bottom: 96px;
    position: relative;
}

.homepage h1, .paid .welcome__text{
    font-size: 72px;
    font-family: "Caveat";
    line-height: 100%;
}

.paid__welcome{
    padding-top: 24px;
    background: var(--cyan);
}

.paid__direction__item{
    border-radius: 24px;
    position: relative;
    background: url(assets/img/sun-cyan.svg) top left no-repeat;
    overflow: hidden;
    padding: 16px;
}

.executive__card img{
    border-radius: 24px;
}

.paid__direction__item:hover{
    box-shadow: #00000010 0 20px 30px;
}

.paid__direction__item__img{
    width: 154px;
}

.news__item{
    background: white;
    box-shadow: #00000010 0 20px 30px;
}

.sun__corner{
    position: absolute;
    bottom: -10px;
    right: -10px;
    opacity: 0;
    transition: all ease .15s;
}

.paid__direction__item:hover .sun__corner{
    opacity: 1;
}

.paid__welcome__img{
    max-width: 300px;
}

#hospitalization-form {
    display: flex;
    flex-direction: column;
    max-width: 600px;
    margin-top: 48px;
}

#hospitalization-form input, #hospitalization-form select, #hospitalization-form button {
    /*width: 100%;*/
    padding: 15px;
    margin: 10px 0;
}

#form-status {
    margin-top: 20px;
    font-weight: bold;
}


h1{
    font-size: 36px;
    font-family: 'Stolzl';
}

.post h1{
    font-size: 28px;
}

.h1-unique{
    margin-left: 100px;
	padding-right: 5px;
}

.h1-unique{
    background: linear-gradient(
        to right,
        #7953cd 20%,
        #00affa 30%,
        #0190cd 70%,
        #764ada 80%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    background-size: 500% auto;
    animation: textShine 5s ease-in-out infinite alternate;
}

@keyframes textShine {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 100% 50%;
    }
}

.yellow{
    color: var(--yellow);
}

.orange{
    color: var(--orange);
}

.blue{
    color: var(--blue);
}

.pink{
    color: var(--pink);
}

.welcome__tag{
    padding: 28px 36px;
    border-radius: 50px;
    background: white;

}

.welcome__tag p{
    width: 400px;
}

.btn__wrapper{
    margin: 0 auto;
    background: white;
    padding: 16px;
    border-radius: 50px;
    gap: 16px;
    width: 100%;
    max-width: 768px;
    box-shadow: #00000010 0 20px 30px;
}

.homepage .btn__wrapper{
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(50%);
    max-width: 1110px;
}

.about .btn__wrapper{
    max-width: 1110px;
}

.homepage .btn__wrapper .btn, .about .btn__wrapper .btn{
    width: calc(100% / 3);
}

@media (max-width: 1110px) {
    .homepage .btn__wrapper, .about .btn__wrapper{
        max-width: none;
        width: auto;
    }
    
    .homepage .btn__wrapper .btn, .about .btn__wrapper .btn{
        width: max-content;
    }
}

.btn{
    width: fit-content;
    box-sizing: border-box;
    text-align: center;
    border-radius: 50px;
    padding: 20px 32px;
    color: white !important;
    text-decoration: none !important;
    transition: all ease .15s;
    background: linear-gradient(to right, #AF0058, #C82E3E);
}

.btn:hover{
    transform: scale(1.03);
}

.btn__wrapper .btn{
    width: 50%;
}

.direction__icon{
    width: 96px;
}

.doctor__img{
    width: 100%;
    max-width: 360px;
    border-radius: 24px;
}

.grid-4{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    row-gap: 56px;
    margin-top:30px;
}

.grid-3{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.num{
    font-size: 64px;
    color: var(--pink);
    line-height: 120%;
}

.grid-2{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

/* Текстовые цвета */
.has-pink-color {
    color: #AF0058;
    padding: 12px;
}

.has-black-color {
    color: #000;
    padding: 12px;
}

.has-white-color {
    color: #FFF;
    padding: 12px;
}

.has-gray-color {
    color: #F4F4F4;
    padding: 12px;
}

.has-turquoise-color {
    color: #D3F6FB;
    padding: 12px;
}

/* Фоновые цвета */
.has-pink-background-color {
    background-color: #AF0058;
    padding: 12px;
}

.has-gray-background-color {
    background-color: #F4F4F4;
    padding: 12px;
}

.has-turquoise-background-color {
    /*background-color: #D3F6FB;*/
    padding: 12px;
}

.doctor__card img {
    width: 100%;         /* Заставляет картинку занимать всю ширину карточки */
    height: 420px;       /* Устанавливает фиксированную высоту */
    object-fit: cover;   /* Масштабирует фото так, чтобы оно заполнило область, обрезая лишнее, но не искажая пропорции */
    border-radius: 24px;
    display: block;      /* Убирает лишние отступы снизу у картинок */
}

.direction__item{
    transition: all ease .15s;
    background: none;
    padding: 3px;
}

.direction__item:hover{
    background: #00000005;
}


.has-pink-red-gradient-background {
    background: linear-gradient(to right, #AF0058 0%, #C82E3E 100%);
}

.has-lemon-pink-gradient-background {
    background: linear-gradient(to right, #F7FBA8 0%, #FED7E3 100%);
}



.department__link{
    font-size: 20px;
    text-decoration: underline;

}

input.search{
    all: unset;
    padding: 4px;
    border-bottom: 1px solid #000;
}


.divider{
    width: 96px;
    height: 1px;
}

.bold{
    font-weight: 600;
}

.additional{
    font-size: 12px;
    opacity: .5;
}

.news{
  padding: 36px 0;
}

.news__item{
    box-sizing: border-box;
    width: 100%;
    padding: 12px;
    border-radius: 36px;
    background: white;
    transition: all ease .15s;
    
}

.news__item:hover{
    background: var(--pink);
    color: white;
}

.news__item__info{
    padding: 8px;
}

.block__header{
    margin-bottom: 24px;
}

.news__item img{
    width: 100%;
    border-radius: 24px;
    /*height: 100%;*/
}

.reviews__item{
    padding: 20px;
}


.review-read-modal__backdrop {
    height: 300vh !important;
    transform: translateY(-50%) !important;
}

.quality-control{
    background: var(--grey);
    padding: 36px 0;
}

.quality__item__img{
    width: 75px;
}

.link__img{
    height: 42px;
}

.footer{
    padding: 36px 0;
    margin-top: 96px;
    z-index: 1000;
}

.yandex{
    width: 182px;
}

.footer__phone{
    font-size: 32px;
}

.fe{
    align-items: flex-end;
}

.disclaimer{
    font-size: 10px;
    line-height: 100%;
    max-width: 630px;
    margin: 36px auto;
    margin-bottom: 0;
    text-align: center;
    opacity: .5;
}

input, textarea, select{
    padding: 16px 18px;
    background: white;
    border-radius: 24px;
    border: var(--pink) 1px solid;
    box-shadow: #00000010 0 20px 30px;
    box-sizing: border-box;
}

.language-select{
    all: unset;
}


/* =========================
   BURGER BUTTON
========================= */
.burger{
  display:none;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  cursor:pointer;
  position:relative;
  z-index:1002;
  padding:0;
}

.burger span{
  position:absolute;
  left:10px;
  right:10px;
  height:2px;
  background:#111;
  border-radius:2px;
  transition:transform .25s ease, top .25s ease, opacity .2s ease;
}

.burger span:nth-child(1){ top:14px; }
.burger span:nth-child(2){ top:21px; }
.burger span:nth-child(3){ top:28px; }

/* burger -> X */
.burger.is-active span:nth-child(1){
  top:21px;
  transform:rotate(45deg);
}
.burger.is-active span:nth-child(2){
  opacity:0;
}
.burger.is-active span:nth-child(3){
  top:21px;
  transform:rotate(-45deg);
}


/* =========================
   MOBILE MENU (OFF-CANVAS)
========================= */
@media (max-width: 1024px){

  .burger{ display:inline-block; }

  /* блокируем прокрутку страницы когда меню открыто */
  body.menu-open{
    overflow:hidden;
    touch-action:none;
  }

  /* панель меню */
  nav.menu{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:min(360px, 86vw);
    background:#fff;
    padding:90px 20px 20px;
    display:block;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    z-index:1001;

    transform:translateX(110%);
    transition:transform .25s ease;
    box-shadow:-20px 0 50px rgba(0,0,0,.12);
  }

  nav.menu.is-open{
    transform:translateX(0);
  }

  /* вертикальный список */
  nav.menu .menu__list{
    display:flex !important;
    flex-direction:column;
    gap:16px;
  }

  nav.menu .menu__list > li > a{
    display:block;
    padding:10px 6px;
  }


  /* =========================
     SUBMENU: раскрытие ВНИЗ
     (никаких попапов сбоку)
  ========================= */

  nav.menu .sub-menu{
    position:static !important;    /* важно: в потоке */
    display:block;
    overflow:hidden;
    max-height:0;
    opacity:0;
    visibility:hidden;
    transition:max-height .25s ease, opacity .2s ease;
    margin:0;
    padding-left:16px;
  }

  /* открытое подменю */
  nav.menu li.is-open > .sub-menu{
    max-height:1000px; /* JS задаёт точнее, это страховка */
    opacity:1;
    visibility:visible;
  }

  /* элементы подменю */
  nav.menu .sub-menu > li > a{
    display:block;
    padding:8px 6px;
  }
  
}


/* =========================
   ACTIONS INSIDE MOBILE MENU
========================= */
.menu__actions{
  margin-top:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-left: 24px;
}

.menu__actions a{
  width:fit-content;
}

.menu__actions .btn__outline{
  text-align:center;
}




/* =========================
         ANIMATIONS
========================= */
/* Класс для логотипа с анимацией вращения */
.inf-rotate {
  animation: rotate 3s infinite linear; /* Анимация вращения */
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Анимация вращения */
@keyframes rotate {
  0% {
    transform: rotate(0deg); /* Начальное положение */
  }
  100% {
    transform: rotate(360deg); /* Полный оборот */
  }
}


/* Стили для текста */
.typing-text {
  white-space: nowrap; /* Чтобы текст не переносился на несколько строк */
  overflow: hidden; /* Скрываем текст, пока он не будет "напечатан" */
  width: 0; /* Начальная ширина (текст скрыт) */
  animation: typing 4s steps(20) 1s forwards, blink 0.75s step-end infinite; /* Анимации */
}

/* Анимация "печати" текста */
@keyframes typing {
  100% {
    width: 100%; /* По окончании анимации, текст появляется */
  }
}

/* Анимация мигающего курсора */
@keyframes blink {
  50% {
    border-right: 2px solid transparent; /* Прячем курсор */
  }
}

.direction__item:hover {
    background: #af00583b;
    color: black;
    outline: 10px #af00583b solid;
}



/* Стили для элемента */
.rubberband-text {
  display: inline-block;
  animation: rubberband 1.5s ease-in-out; /* Бесконечная анимация */
  animation-delay: 2s; /* Задержка между повторениями */
}

/* Анимация RubberBand */
@keyframes rubberband {
  0% {
    transform: scaleX(1) scaleY(1); /* Начальный размер */
  }
  30% {
    transform: scaleX(1.25) scaleY(0.75); /* Растягиваем */
  }
  50% {
    transform: scaleX(0.75) scaleY(1.25); /* Растягиваем в другую сторону */
  }
  70% {
    transform: scaleX(1.15) scaleY(0.85); /* Дальше сжимаем */
  }
  100% {
    transform: scaleX(1) scaleY(1); /* Возвращаем к нормальному состоянию */
  }
}



@media screen and (max-width: 1240px) {
    .wrapper{
        max-width: 1040px;
    }
}


@media screen and (max-width: 1060px) {
    .wrapper{
        max-width: 920px;
    }

    .header__content{
        justify-content: space-between;
    }
}


@media screen and (max-width: 940px) {
    .wrapper{
        max-width: 750px;
    }

    .welcome__content{
        flex-direction: column;
    }

    .h1-unique{
        all: unset;
        color: var(--blue);
    }

    .offer{
        align-items: center;
        width: 100%;
        gap: 48px;
    }

    .welcome__tag{
        width: fit-content;
        box-sizing: border-box;
    }

    .tags__wrapper{
        position: relative;
    }

    h1{
        text-align: center;
    }

    .btn__wrapper{
        flex-direction: column;
        box-sizing: border-box;
        margin-top: 24px;
    }

    .btn__wrapper .btn{
        width: 100%;
    }

    .homepage h1.yellow{
        font-size: 56px !important;
    }

    .welcome__tag p{
        width: unset;
    }

    .welcome{
        margin-bottom: 250px;
    }

    .grid-4{
        grid-template-columns: repeat(2, 1fr);
    }

    .footer__content{
        flex-direction: column-reverse;
    }

    .homepage .btn__wrapper{
        position: absolute;
        left: 50%;
        transform: translateX(-50%) translateY(10%);
    }
    
    .homepage .btn__wrapper .btn, .about .btn__wrapper .btn{
        width: 100%;
    }
}


@media screen and (max-width: 770px) {
    .wrapper{
        max-width: 520px;
    }

    .moscowmedicine .wrapper{
        flex-direction: column;
    }

    .moscowmedicine .wrapper .row.g36.center{
        width: 100%;
        justify-content: space-between;
        gap: 8px;
    }

    .grid-3{
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-2{
        grid-template-columns: repeat(1, 1fr);
    }

    .grid-4{
        grid-template-columns: repeat(1, 1fr);
        row-gap: 20px;
    }

    .video__wrapper iframe{
        width: 100%;
    }

    .video__wrapper{
        width: 100%;
        box-sizing: border-box;
    }

    .block__header{
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    h2{
        font-size: 24px;
    }

    h3{
        font-size: 18px;
    }

    .fe.col.bold.g24{
        align-items: center;
        margin-bottom: 12px;
    }

    .footer__phone{
        font-size: 20px;
    }

    .welcome__tag {
        padding: 14px 24px;
        border-radius: 24px;
        background: white;
    }

    h1{
        font-size: 36px !important;
    }

    .paid .welcome__text{
        font-size: 48px;
    }

    .paid__welcome__img{
        display: none;
    }

    .paid__welcome .row.g36.center{
        flex-direction: column;
        padding-bottom: 36px;
    }

    .paid__direction__item{
        flex-direction: column;
    }
    
    .single__content .col.g8 .row.center.jcsb{
        flex-direction: column;
        gap: 12px;
    }
}


@media screen and (max-width: 540px) {
    .wrapper{
        max-width: 360px;
    }

    .grid-3{
        grid-template-columns: repeat(1, 1fr);
    }

    .header__phone{
        font-size: 0px;
    }

    .contacts__content{
        gap: 20px;
    }

    .contacts__content .row.g24{
        flex-direction: column;
    }

    h1{
        font-size: 22px !important;
    }

    h2{
        font-size: 18px !important;
    }

    h3{
        font-size: 16px !important;
    }
}

@media screen and (max-width: 365px) {
    .wrapper{
        max-width: 300px;
    }
}


/* =========================
   SUBMENU: CLICK ONLY (desktop + mobile)
   Отключаем hover-открытие, открываем только через li.is-open
========================= */

/* базовое подменю (десктоп: absolute dropdown) */
.menu__list > .menu-item-has-children { position: relative; }

.menu__list .sub-menu{
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  padding: 12px 0;
  padding-top: 20px;
  margin: 0;
  list-style: none;
  background: #fff;
  z-index: 100;

  opacity: 0;
  visibility: hidden;

  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

/* ВАЖНО: полностью запрещаем открытие по hover */
/* .menu__list li:hover > .sub-menu{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
} */

@media (hover) {
    .menu__list li:hover .sub-menu{
        opacity: 1;
        visibility: visible;
    }
}

/* Открытие только по клику (класс добавляет JS) */
.menu__list li.is-open > .sub-menu{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* стиль ссылок внутри подменю */
.menu__list .sub-menu .menu-item > a{
  display: block;
  padding: 8px 16px;
  white-space: nowrap;
}

/* =========================
   MOBILE: accordion down inside off-canvas
========================= */
@media (max-width: 1024px){
  nav.menu .sub-menu{
    position: static !important;  /* в потоке */
    display: block;
    overflow: hidden;

    /* аккордеон-анимация */
    max-height: 0;
    padding: 0;
    margin: 0;
    padding-left: 16px;

    opacity: 0;
    visibility: hidden;
    transform: none !important;

    transition: max-height .25s ease, opacity .2s ease, visibility .2s ease;
  }

  nav.menu li.is-open > .sub-menu{
    /* JS задаёт точную высоту через max-height = scrollHeight */
    opacity: 1 !important;
    visibility: visible !important;
  }

  nav.menu .sub-menu > li > a{
    display: block;
    padding: 8px 6px;
  }

}


.menu-item{
    max-height: 36px !important ;
}
.menu-item.is-open{
    max-height: fit-content !important;
}

.top-row {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.description-column { flex: 2; min-width: 300px; }
.contacts-column   { flex: 1; min-width: 280px; }

.doctors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.doctor-card {
    background: #fff;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07);
    text-align: center;
}

.doctor-card img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 15px;
}

@media (max-width: 992px) {
    .top-row { flex-direction: column; }
}
.otd-blok-op
{border: 1px solid #AF0058;
    padding: 20px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#AF0058;}
.otd-blok-cont {
    border: 1px solid #AF0058;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}

/* Убираем подчеркивание у ссылок внутри этого блока */
.otd-blok-cont a {
    text-decoration: none !important;
    color: #AF0058;
    font-weight: bold;
}

/* Если внутри есть абзацы, убираем у них лишние отступы для идеального центра */
.otd-blok-cont p {
    /*margin: 3px 0;*/
}
/* Сетка для врачей */
.npc-doctor-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px 20px;
    margin-top: 30px;
    margin-bottom: 40px;
}

/* Карточка */
.npc-doctor-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    text-align: left;
	margin-right: 150px;
}

/* Обертка ссылки */
.npc-doctor-link {
    text-decoration: none !important;
    color: inherit !important;
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex: 1;
}

/* Фото */
.npc-doctor-photo-wrap {
  width: 273px;
    height: 420px;
    flex-shrink: 0;
    
    border-radius: 20px;
}

.npc-doctor-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
	 border-radius: 20px;
}

/* Блок информации */
.npc-doctor-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Имя */
.npc-doctor-name {
    font-size: 1.5em;
    font-weight: bold;
    margin: 0 0 6px 0;
}

/* Должность */
.npc-doctor-position {
    font-size: 0.95em;
    color: #666;
    margin: 0 0 18px 0;   /* отступ перед кнопкой */
    line-height: 1.45;
}

/* ====================== */
/* Главное — стили для кнопки */
.npc-doctor-btn {
    padding: 9px 24px;
    color: var(--pink);
    border: 2px solid var(--pink);
    border-radius: 24px;
    font-size: 13px;
    text-decoration: none !important;
    
    align-self: flex-start;
    margin-top: 380px;
    margin-left: 300px;
    position: absolute;
}

/* Наведение */
.npc-doctor-btn:hover {
    background-color: #AF0058;
    color: #fff !important;
    border-color: #AF0058;
}

/* Адаптив */
@media (max-width: 1200px) {
    .npc-doctor-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 900px) {
    .npc-doctor-grid { 
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 15px;
    }
    .npc-doctor-card,
    .npc-doctor-link {
        flex-direction: column;
        text-align: center;
    }
    .npc-doctor-photo-wrap {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 4;
    }
    .npc-doctor-btn {
        align-self: center;
        margin-top: 15px;
    }
}

@media (max-width: 500px) {
    .npc-doctor-grid { grid-template-columns: 1fr; }
}
.docs details summary {
    padding-bottom: 8px;
    font-size: 20px;
    color: #AF0058;
    margin-top: 30px;
    /* border: 1px solid; */
}
.coloumn1
{border: 1px solid #AF0058;
padding:10px;
border-radius:20px;
margin-top:40px}


/* Нацеливаемся только на блоки с нашим классом */
.wp-block-details.custom-details-plus summary {
    list-style: none; /* Убираем стандартную стрелку */
    display: flex;
    align-items: center;
}

/* Скрываем стрелку в Safari/Chrome */
.wp-block-details.custom-details-plus summary::-webkit-details-marker {
    display: none;
}

/* Добавляем плюс */
.wp-block-details.custom-details-plus summary::before {
    content: "+";
    margin-right: 10px;
    font-weight: bold;
    font-size: 1.2rem;
    display: inline-block;
    transition: transform 0.2s ease;
}

/* Если хотите, чтобы при открытии плюс превращался в минус */
.wp-block-details.custom-details-plus[open] summary::before {
    content: "−"; /* Длинное тире или минус */
}


/* Наш дополнительный класс */
.icon-bottom-flow {
    display: flex !important;
    flex-direction: column; /* Выстраиваем элементы вертикально */
    align-items: flex-start;
}

/* Стили для заголовка/кнопки раскрытия */
.icon-bottom-flow .su-spoiler-title {
    display: flex !important;
    flex-direction: column-reverse; /* Разворачиваем: текст сверху, иконка снизу */
    align-items: center; /* Центрируем иконку по горизонтали, если нужно */
    width: 100%;
}

/* Настраиваем саму иконку внутри этого класса */
.icon-bottom-flow .su-spoiler-icon {
    position: static !important; /* Убираем абсолютное позиционирование, если оно есть */
    margin-top: 10px; /* Отступ между текстом и иконкой */
    order: 2; /* Явно отправляем в конец */
}
/* Специальный класс для перемещения иконки вниз при раскрытии */
.details-icon-bottom[open] {
    display: flex !important;
    flex-direction: column !important;
}

/* Переносим заголовок (summary) в самый низ */
.details-icon-bottom[open] summary {
    order: 2; 
    margin-top: 15px; /* Зазор между текстом и иконкой */
    display: flex;
    align-items: center;
	
}

/* На случай, если внутри есть обертка для контента */
.details-icon-bottom[open] > *:not(summary) {
    order: 1;
	/*margin-top: -13px;*/
	margin-left: 10px;
}




/* Адаптив для мобильных устройств (до 768px) */
@media screen and (max-width: 768px) {
    /* 1. Убираем горизонтальный скролл: заставляем ряды становиться колонками */
    .row.center.g24, 
    .doctor-buttons-row,
    .reviews__item .row.jcsb {
        flex-direction: column !important;
        align-items: stretch !important; /* Кнопки будут на всю ширину */
        gap: 15px !important;
    }

    /* 2. Исправляем кнопки: делаем их одинаковыми и на всю ширину */
    .doctor-buttons-row .btn, 
    .doctor-buttons-row .review-btn-wrapper,
    .doctor-buttons-row .review-btn-wrapper > a, 
    .doctor-buttons-row .review-btn-wrapper > button, 
    .doctor-buttons-row .review-btn-wrapper .leave-review-button {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
        box-sizing: border-box; /* Чтобы padding не раздувал ширину */
    }

    /* 3. Фото врача на мобильных: центрируем и ограничиваем */
    .doctor__img {
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    /* Центрируем заголовок и теги, если нужно */
    .single__content h1 {
        text-align: center;
        font-size: 24px;
    }
    
    .single__content .row.g8 {
        justify-content: center;
        flex-wrap: wrap;
    }

    /* Отступы в модалке для мобильных */
    .review-read-modal__card {
        margin: 10px;
        width: auto;
        max-height: 90vh;
        overflow-y: auto;
    }
}


/* Класс, который JS добавит к блоку */
.js-limited-block {
    overflow: hidden;
    position: relative;
    transition: max-height 0.5s ease;
}

/* Стили кнопки-плюсика */
.show-more-btn {
    cursor: pointer;
    color: #b21f3d;
    font-size: 24px;
    font-weight: bold;
    display: block;
    margin-top: 5px;
    line-height: 1;
}
.abzac-margin
{margin-left:250px}
.abz-margin-bott
{margin-bottom: -60px}
.zag-margin
{margin-top:20px;
margin-bottom:20px}


//* Выравниваем блок с ФИО и должностью */
.npc-doctor-card .npc-doctor-name-wrap {
    min-height: 80px !important; /* Высота подберется так, чтобы влезло 2-3 строки */
    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* Основной контейнер карточки врача */
.doctor-item-detail {
    display: flex !important;
    align-items: stretch !important; /* Растягиваем блоки по высоте самого высокого (фото) */
    gap: 30px;
    margin-bottom: 30px;
}

/* Блок с фото */
.doctor-item-detail .doctor-img {
    flex-shrink: 0; /* Чтобы фото не сжималось */
    margin-bottom: 0 !important;
}
@media screen and (max-width: 768px)
{.abzac-margin
	{margin-left:0px;}

   
    
    
}}
/* Ваши текущие стили для десктопа (примерные) */
.npc-doctor-btn {
    position: absolute;
    right: 20px; /* или где она у вас сейчас */
    top: 50%;
    transform: translateY(-50%);
    /* ... остальные ваши стили (цвет, отступы) ... */
}

/* Стили для мобильных устройств */
@media screen and (max-width: 768px) {
    .npc-doctor-btn {
        /* 1. Возвращаем кнопку в общий поток документа */
        position: static !important; 
        
        /* 2. Сбрасываем центрирование по вертикали, если оно было */
        transform: none !important;
        
        /* 3. Делаем кнопку блочной, чтобы она заняла отдельную строку внизу */
        display: block; 
        
        /* 4. Центрируем кнопку и добавляем отступ сверху от текста */
        margin: 15px auto 0 auto; 
        
        /* 5. (Опционально) Делаем кнопку на всю ширину мобильного экрана */
        width: 100%;
        max-width: 200px; /* ограничение ширины, если нужно */
        text-align: center;
    }
    
    /* Если у родительского контейнера задана фиксированная высота, ее нужно убрать */
    .parent-container-class { /* замените на класс обертки карточки врача */
        height: auto !important;
        position: relative;
        display: flex;
        flex-direction: column;
        padding-bottom: 20px; /* место для кнопки внизу */
    }
}


/* Контейнер */
.npc-vert-container {
    padding: 20px 40px;
    position: relative;
}

/* Карточка */
.npc-vert-card {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: 15px;
    overflow: hidden;
    text-align: center;
    transition: 0.3s;
    margin: 10px;
    display: flex !important;
    flex-direction: column; /* Элементы друг под другом */
    height: 100%;
    min-height: 420px;
}

.npc-vert-card:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

/* Фото сверху */
.npc-vert-image {
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.npc-vert-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Контент под фото */
.npc-vert-content {
    padding: 20px 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.npc-vert-title {
    font-size: 17px !important;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px 0;
    line-height: 1.2;
}

.npc-vert-excerpt {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
}

/* Зеленая кнопка */
.npc-vert-btn {
    background-color:#af0058 !important;
    color: #fff !important;
    padding: 10px 25px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
    display: inline-block;
    transition: 0.3s;
}

.npc-vert-btn:hover {
    background-color: #af0058 !important;
}

/* СТРЕЛКИ (Только иконки, без текста) */
.npc-vert-container .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #fff !important;
    border: 1px solid #AF0058 !important;
    border-radius: 50%;
    z-index: 10;
    font-size: 0;
    cursor: pointer;
}

.npc-vert-container .slick-arrow::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #AF0058;
    border-right: 2px solid #AF0058;
    position: absolute;
    top: 14px;
}

.npc-vert-slider .slick-prev { left: 0px; }
.npc-vert-slider .slick-prev::after { transform: rotate(-135deg); left: 16px; }

.npc-vert-slider .slick-next { right: 0px; }
.npc-vert-slider .slick-next::after { transform: rotate(45deg); left: 12px; }

.npc-vert-slider .slick-arrow:hover { background: #AF0058 !important; }
.npc-vert-slider .slick-arrow:hover::after { border-color: #fff !important; }

.otd-blok-op1 {
   margin-left:0px !important;
}
.otd-blok-op2 {
   margin-left:0px !important;
	height:190px;
}
.vrach-nagrada
{margin-top:30px;
margin-bottom:30px}
.photo1
{border-radius:20px}


.otd-blok-op-blue
{border: 1px solid #2659a5;
    padding: 10px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#2659a5;}
.otd-blok-cont-blue a {
    text-decoration: none !important;
    color: #2659a5;
    font-weight: bold;
}
.otd-blok-cont-blue {
    border: 1px solid #2659a5;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}






.otd-blok-op-orange
{border: 1px solid #F07E26;
    padding: 10px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#F07E26;}
.otd-blok-cont-orange a {
    text-decoration: none !important;
    color: #F07E26 !important;
    font-weight: bold;
}
.otd-blok-cont-orange {
    border: 1px solid #F07E26;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}


.otd-blok-op-green
{border: 1px solid #067D3F;
    padding: 10px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#067D3F;}
.otd-blok-cont-green a {
    text-decoration: none !important;
    color: #067D3F !important;
    font-weight: bold;
}
.otd-blok-cont-green {
    border: 1px solid #067D3F;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}






.otd-blok-op-goluboy
{border: 1px solid #2AB8CB;
    padding: 10px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#2AB8CB;}
.otd-blok-cont-goluboy a {
    text-decoration: none !important;
    color: #2AB8CB !important;
    font-weight: bold;
}
.otd-blok-cont-goluboy {
    border: 1px solid #2AB8CB;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}

.otd-blok-op-krasn
{border: 1px solid #DC2924;
    padding: 10px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#DC2924;}
.otd-blok-cont-krasn a {
    text-decoration: none !important;
    color: #DC2924 !important;
    font-weight: bold;
}
.otd-blok-cont-krasn {
    border: 1px solid #DC2924;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}
.otd-blok-op-gr
{border: 1px solid #67B545;
    padding: 10px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#67B545;}
.otd-blok-cont-gr a {
    text-decoration: none !important;
    color: #67B545 !important;
    font-weight: bold;
}
.otd-blok-cont-gr {
    border: 1px solid #67B545;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}








.otd-blok-op-blue
{border: 1px solid #265AA6;
    padding: 10px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#265AA6;}
.otd-blok-cont-blue a {
    text-decoration: none !important;
    color: #265AA6 !important;
    font-weight: bold;
}
.otd-blok-cont-blue {
    border: 1px solid #265AA6;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}


.otd-blok-op-pink
{border: 1px solid #EF80A9;
    padding: 10px;
    border-radius: 20px;
font-size:20px;
color:#fff;
background-color:#EF80A9;}
.otd-blok-cont-pink a {
    text-decoration: none !important;
    color: #EF80A9 !important;
    font-weight: bold;
}
.otd-blok-cont-pink {
    border: 1px solid #EF80A9;
    padding: 30px; /* Увеличил внутренний отступ для красоты */
    border-radius: 30px; /* Сделал скругление чуть больше, под стиль кнопок */
    margin-top: 10px;
    font-size: 15px;
line-height:1;
    /* ВКЛЮЧАЕМ ФЛЕКСБОКС ДЛЯ ЦЕНТРИРОВАНИЯ */
    display: flex;
    flex-direction: column;   /* Элементы в колонку */
    justify-content: center;  /* Центрируем по вертикали (сверху/снизу) */
    align-items: center;      /* Центрируем по горизонтали (слева/справа) */
    text-align: center;       /* Выравниваем сам текст по центру */
    
    /*min-height: 250px;       * Можно задать минимальную высоту, чтобы блок не был слишком узким */
}

.doctors-slider .swiper-slide{
    height: auto;
}

.doctor__card{
	height: 100%;
}

.h-full{
    height: 100%;
}

.my-20{
    margin-top: 20px;
    margin-bottom: 20px;
}

.my-10{
    margin-top: 10px;
    margin-bottom: 10px;
}

.search-icon{
	filter: invert(1);
}

.menu__actions{
    display: none;
}

.menu li a{
	font-size: 14px;
}

.w-max-c{
    width: max-content;
}

.pl-0{
    padding-left: 0;
}

.p-20{
    padding: 20px;
}

.br-10{
    border-radius: 10px;
}

@media (max-width: 1024px) {
    .menu__actions{
    	display: flex;
    }
    
    .menu__actions .header__actions{
    	display: flex;
    }
    
    .header__actions{
    	display: none;
    }
}