body {font-family: 'Roboto', sans-serif; color:#666666; font-size:1rem;}
html {scroll-behavior: smooth;}
.container-header {background-color: #fff; background-image: none; box-shadow: 0 5px 5px #ddd;}
.container-bottom-a {grid-column: full-start/full-end!important;}

.primary {color: #2D619E;} /*bluе*/
.secondary {color: #40CACF;} /*biruza*/
.ternary {color: #00326B;} /*dark blue*/
.dark-red{color:#D12023;} /*krasnyi*/

h1 {font-size: 3.1rem;text-align:center;margin-left:auto;margin-right:auto}
.divider{margin:30px 15px; text-align: center;}

.btn-zapis {border: 2px solid #40CACF; background-color: #40CACF; color: #fff; padding: 20px 45px; border-radius: 40px; cursor: pointer; margin-top: 30px; transition: all 0.4s;}
.btn-zapis:hover{border: 2px solid #40CACF; background-color: #ffffff00;}
.btn-white{border: 2px solid #fff; background-color: #fff; color: #40CACF; padding: 20px 45px; border-radius: 40px; cursor: pointer; margin-top: 30px; transition: all 0.4s;}
.btn-white:hover{border: 2px solid #40CACF;}
.btn-primari {border: 2px solid #00326B; color:#00326B; padding: 10px 45px; border-radius: 40px; cursor: pointer; margin-top: 30px; transition: all 0.4s;}
.btn-primari:hover {border: 2px solid #40CACF; background-color: #40CACF; color: #fff;}
#poslugi,#likari,#pro-nas{scroll-margin-top: 30px;}
#back-top:hover{background-color: #2D619E;}

/*topbar*/
.container-topbar {background-color:#2D619E;}
.container-header .grid-child.topbar {flex-wrap: wrap;justify-content: space-between; color: #fff; font-size: 15px; padding: 14px; align-items: center;}
.container-topbar .tel-topbar a:hover{color:#40CACF;transition: all 0.4s;}
.tel-topbar img,.loc-topbar img, .time-topbar img {margin-right:10px;}


/*nav*/
.container-header .grid-child {padding:1em;}
.container-header .container-nav {align-items: center;}
.container-header .mod-menu>li>a {color:#666666;text-transform: uppercase;font-weight: 600; transition: all 0.4s;}
.container-header .mod-menu>li>a:hover{color:#40CACF}
#mod-custom112 .btn-zapis{margin-top:0}

/*=*/
.container-header .navbar-toggler{color:#555;font-size: 1.8rem;}

/*menu-mobil*/
.offcanvas.collapse.show{padding-top:30px;background:#00326B;color:#fff;overflow-x: hidden;}
.offcanvas.collapse.show li a {color:#fff}
.offcanvas.collapse.show li a:hover{color:#40CACF;text-decoration:none}

/*GL-1*/
.container-banner .banner-overlay{height:100%}
.container-banner .banner-overlay .overlay{padding: 80px 20px 60px;}
.overlay .container{padding:0;}
.gl h2 {font-size:94px; color: #fff; padding: 0 15px 60px; margin: 0; font-weight: 700; max-width:1200px}
.container.wraper{text-align:left}
.container.wraper img {margin: 5px 15px 0 0; float: left}
.midle {font-size: 26px;}
.btn-line {margin-top:40px}
.btn-line .btn-white{margin-left:30px}

/*GL-2*/
.content-row { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start;}
.content-row .descr.ternary {font-size:1.5rem;text-align:center}
.block-text-content{font-size:18px}
.block-text-bm{font-size:28px;margin:40px;border-left:6px solid #40CACF;padding-left:30px}

.block-img, .block-text {flex: 1 1 400px; max-width: 100%;}
.block-img.glav img{border-radius:30px}
#pro-nas{margin-bottom:30px}
#pro-nas .block-img img{width:850px}

.napr{border-top:6px solid #40CACF;padding:30px 20px}
.numbered-list li {
background-image: url('/images/headers/icon-arrow.png'); background-repeat: no-repeat; background-position: left center; background-size: 24px 12px; padding-left: 34px; margin-bottom: 8px;}
/* На ПК — 4 колонки */
.numbered-list {columns: 4; column-gap: 20px; padding-left: 24px;  margin: 0;}
/* Предотвращает разрыв одного элемента между колонками */
.numbered-list li {break-inside: avoid; margin-bottom: 10px; padding: 8px; background-color: #f5f5f5; border-radius: 6px;}
/* Планшеты: 2 колонки */
@media (max-width: 900px) {
  .numbered-list {columns: 2;}
}
/* Мобильные устройства: 1 колонка */
@media (max-width: 480px) {
  .numbered-list {columns: 1;}
}
ul {list-style: none; padding: 0;}
.numbered-list li {background-image: url('/images/headers/icon-arrow.png'); background-repeat: no-repeat; background-position: left center; background-size: 24px 12px; padding-left: 34px; margin-bottom: 8px;}

/*poslugi*/
#mod-custom119 {background-color:#40CACF; text-align: center; margin-bottom: 40px; padding:60px 15px;}
#mod-custom119 .h3{font-size:2.2rem; color:#fff; margin-bottom:25px}
.text-opis {color:#fff}
.service-card hr {border:3px solid #40CACF; width:70px; opacity: 1;margin:20px 0 25px}
.services-wrapper {display: flex; flex-wrap: wrap; justify-content: center; gap: 30px 20px; max-width: 1320px; margin: 0 auto; padding: 20px; box-sizing: border-box;}
.service-card { position: relative; width: 300px; height: 420px;border-radius:15px; background-color:#fff; box-sizing: border-box; z-index: 1;}
.service-card__content-box {position: absolute; top: 0; left: 0 width: 100%; background-color: #ffffff;  border-radius: 15px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); overflow: hidden; box-sizing: border-box; transition: box-shadow 0.3s ease, transform 0.3s ease;}

.service-card__image-wrap { width: 100%; height: 180px; overflow: hidden;border-top-left-radius:15px;border-top-right-radius:15px;}
.service-card__image {width: 100%; height: 100%; object-fit: cover; display: block;}

.service-card__content {padding: 16px; display: flex; flex-direction: column;background-color:#fff;border-radius:15px; }
.service-card__title { font-size: 1.1rem; font-weight: 700; color: #00326B; margin: 0 0 20px 0; text-align:left; text-transform: uppercase;}
.service-card__title.bl3{transform: scaleX(0.90); transform-origin: left; white-space: nowrap;} 

.service-card__description {font-size: 0.88rem; line-height: 1.4; color: #555555; margin: 0 0 8px 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}

.service-card__full-text { font-size: 0.88rem; line-height: 1.4; color: #555555; margin: 0 0 12px 0; max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.3s ease;}

.service-card__btn { display: block; text-align: center;  border: 2px solid #2D619E;padding: 10px; border-radius: 40px; text-decoration: none; font-weight: 600;  transition: background-color 0.2s ease;}
.service-card__btn:hover {background-color:#40CACF;border: 2px solid #40CACF;color:#fff}

.service-card:hover, .service-card.is-open {z-index: 100;}

.service-card:hover .service-card__content-box,
.service-card.is-open .service-card__content-box {box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);}

.service-card:hover .service-card__full-text,
.service-card.is-open .service-card__full-text {max-height: 200px; opacity: 1;}

.service-card:hover .service-card__description,
.service-card.is-open .service-card__description { display: block; overflow: visible;  -webkit-line-clamp: unset;}





/*doctors + slider*/
#mod-custom120{text-align:center}
#mod-custom120 .h3 {font-size: 2.2rem; margin-bottom: 25px;} 
.doc h3 {font-size:2.2rem; margin-bottom:25px; text-align:center}
.likari-descr{font-size:20px}
.slider-gl{max-width: 1200px; margin:60px auto 60px}
#sliderck116 .swiper-slide {border:1px solid #b8a692; border-radius:28px!important; transition: all 0.4s;}
#sliderck116 .swiper-slide:hover{border:1px solid #40CACF;border-radius:28px; transition: all 0.4s;}

#sliderck116 .swiper-caption{border-radius:25px;border-bottom:8px solid #2D619E; margin-bottom: 0!important; transition: all 0.4s;}
#sliderck116 .swiper-caption:hover{border-bottom:8px solid #40CACF;}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {background-image: url(/images/headers/icon-slider-r.png)!important;background-size:44px 44px!important;}
.swiper-button-prev, .swiper-button-next {width: 44px!important; top: 35%!important;}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {background-image: url(/images/headers/icon-slider-l.png)!important;background-size:44px 44px!important;}
.swiper-pagination-bullet{background: #fff!important;opacity: 1!important;}
.swiper-title {font-size: 1.7em!important;line-height: 1.4em!important;}
#mod-custom120 .btn-primari{padding: 15px 55px; margin-top: 0px;}


/*footer*/
.debug-b {background-color: #00326B;border-top:6px solid #40CACF;padding:60px 15px 30px;color:#fff}
.debug-b .wraper {max-width:1320px;margin-left:auto;margin-right:auto;display:flex;flex-direction:row;justify-content: space-between;}
.f1{width:300px;font-size:12px;}
.f .loc-topbar, .f .time-topbar, .f .tel-topbar{display:flex;align-items: flex-start;}
.f1 img,.f .tel-topbar,.f .social{margin-bottom:20px}
.loc-topbar a{border-bottom:2px dashed; padding-bottom: 1px;}
.f a,.mob-info .loc-topbar a {color:#40CACF;text-decoration:none; transition: all 0.4s;}
.f a:hover{color:#fff}

/*tg*/
.tg-float-btn {position: fixed; bottom: 80px; right: 10px; background-color: #24A1DE; width: 60px; height: 60px; border-radius: 50%;  display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); z-index: 9999; transition: transform 0.2s ease;}
.tg-float-btn:hover { transform: scale(1.1);}

@media screen and (max-width: 1400px){
.gl h2{font-size: 84px;max-width: 80%;}  
}

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

@media screen and (min-width: 991px){
.mob-info{display:none}  
}

@media screen and (max-width: 991px){
.offcanvas {--offcanvas-width: 250px;}
.loc-topbar{display:none}
.navbar{order:2}
.gl h2{max-width: 100%;}
.debug-b .wraper{flex-direction:column; width: 50%;}
.f .social{margin-top:20px}
.f1{width:100%;text-align:center;margin-bottom:30px}
.f .loc-topbar img, .f .time-topbar img, .f .tel-topbar img{display:none;}
.f .loc-topbar, .f .time-topbar, .f .tel-topbar, .f .social, .f ul {justify-content:center;text-align:center}
.f li {list-style-type: none; margin: 0; padding: 0;margin-bottom: 10px;text-transform:uppercase}
.mob-info{padding:15px}
.mob-info .loc-topbar {display:block;}
.mob-info .tel-topbar a {display:block;border:2px solid #40CACF; border-radius:30px;text-align:center;padding:10px;margin:20px 0;text-decoration:none;color:#40CACF}
.mob-info .time-topbar{margin-bottom: 20px;}
}

@media screen and (max-width: 768px){
.gl h2{font-size: 64px}  
}

@media screen and (max-width: 600px){
.topbar{display:none} 
.container-header .container-nav {border-top: 6px solid #2D619E;}
.gl h2{font-size: 54px; padding: 0 15px 40px;}
.btn-line {max-width:300px; margin-top: 20px;}
.btn-line .btn-white {margin-left: 0;}
}

@media screen and (max-width: 480px){
#mod-custom112{order:3; width: 100%;}
.gl h2{font-size: 44px} 
.midle {font-size: 22px;}
#mod-custom112 .btn-zapis{padding: 15px 45px;width: 100%;margin-top:15px}
}

/* Начальное состояние */
.serviсe-info-description {
  max-height: 50px; /* Высота 2 строк */
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
}

/* Раскрытие при наведении на ПК и при клике/тапе */
.service-card:hover .serviсe-info-description,
.service-card:active .serviсe-info-description {
  max-height: 500px; /* Запас высоты для полного текста */
}

.fadeInRight, .fadeInLeft {transform: translateY(5%);transition: all 2s;opacity: 0;}
.active.fadeInRight, .active.fadeInLeft {opacity: 1;transform: translateY(0);}