/*
Theme Name: Kameliya
Theme URI: http://example.com
Description: Базовая тема для WordPress
Version: 1.0
Author: Your Name
Text Domain: mytheme
*/

/* Базовые сбросы стилей */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@font-face {
  font-family: 'Mulish';
  src: url('./fonts/Mulish-ExtraLight.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('.fonts/Mulish-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('./fonts/Mulish-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('./fonts/Mulish-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('./fonts/Mulish-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('./fonts/Mulish-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('./fonts/Mulish-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('./fonts/Mulish-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

body {
    font-family: 'Mulish', sans-serif!important;
    color: #491D42;
    background: #fff;
	font-weight: 400;
}

button {
	font-family: 'Mulish', sans-serif;
	font-weight: 400;
}

img {
	width: 100%;
	height: auto;
}

a {
	text-decoration: none;
}

/* Хедер */
.site-header {
    background: #FFF;
    padding: 15px 0;
}
.site-header {
    position: fixed;  /* Фиксируем шапку */
    top: 0;           /* Прижимаем к верху */
    left: 0;
    width: 100%;      /* Растягиваем на всю ширину */
    z-index: 1000;    /* Чтобы шапка была поверх других элементов */
    background-color: #fff; /* Важно! Фон, чтобы контент не просвечивал */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1); /* Небольшая тень для красоты */
}

/* Обязательно! Добавьте отступ сверху для тега <main> или обертки контента,
   иначе первый блок страницы спрячется за шапкой. */
main, .page-content, .site-content {
    padding-top: 90px; /* Подберите высоту, равную высоте вашей шапки */
}
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
a {
	color: #491D42;
}
.site-title a {
    text-decoration: none;
    color: #491D42;
    font-size: 16px;
    font-weight: 600;
}
.header-contact {
	display: flex;
	gap: 12px;
}
.header-icon {
	background: #F8EDF6;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-icon:hover {
	background: #69295E;
}
.site-footer .header-icon:hover {
	transform: scale(1.2);
}
.site-footer .bottom-footer a:hover {
	color: #FFF;
}
.header-icon:hover svg path {
	fill: #FFF;
}
.header-tel {
	display: flex;
	flex: 0 0 196px;
	align-items: center;
	gap: 9px;
}
.header-tel svg {
	width: 28px;
	height: 28px;
}

/* Бургер */
.burger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.burger span {
  display: block;
  height: 3px;
  width: 100%;
  background: #491D42;
  border-radius: 2px;
}
.burger.open span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}
.burger.open span:nth-child(2) {
  opacity: 0;
}
.burger.open span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}
.burger span {
  transition: all 0.3s ease;
}


/* Основные стили для меню */
.main-menu {
    position: relative;
}

.main-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-menu li {
    position: relative;
    display: inline-block;
}

.main-menu a {
    display: block;
    text-decoration: none;
    color: #491D42;
}
/* Стили для подменю - ТОЛЬКО ДЕСКТОП */
.main-menu .sub-menu,
.main-menu .children {
    position: absolute;
    top: 100%;
    left: 0;
    background: #FFF;
    min-width: 260px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1000;
    border-radius: 5px;
	padding-top: 15px;
}
.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 8px;         
    height: 8px;                 
    margin-left: 5px;          
    background: url('./icons/arrow.svg') center / contain no-repeat;
	transform: rotate(-90deg);
}
.main-menu .sub-menu li,
.main-menu .children li {
    display: block;
    border-bottom: 1px solid #f0f0f0;
	padding: 7px 0;
}
.main-menu .sub-menu li:last-child {
	border-bottom: none;
}
.main-menu .sub-menu a,
.main-menu .children a {
    padding: 8px 15px;
}

.menu-item > .sub-menu > .menu-item > .sub-menu {
	padding-top: 0;
	padding-left: 7px;
	background-color: transparent;
	width: 260px;
}
.menu-item > .sub-menu > .menu-item > .sub-menu li {
	background-color: #FFF;
	max-width: 260px;
	width: 260px;
}


/* Показываем подменю при наведении - ДЕСКТОП */
.main-menu li:hover > .sub-menu,
.main-menu li:hover > .children {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Подменю второго уровня - ДЕСКТОП */
.main-menu .sub-menu .sub-menu,
.main-menu .children .children {
    top: 0;
    left: 100%;
}
.main-menu li.open > .sub-menu {
    display: block;
}


/* Главное меню */
.main-menu {
    display: flex;
    list-style: none;
    gap: 30px;
}
.main-navigation {
	z-index: 999;
	box-sizing: border-box; 
	max-width: 100%; 
}
.menu-item-240 {
	cursor: default;
}
.main-menu a {
    text-decoration: none;
    color: #491D42;
	font-size: 16px;
	font-weight: 600;
}
.header-tel a {
	text-decoration: none;
    color: #491D42;
	font-size: 16px;
	font-weight: 700;
}

.header-tel a:hover {
	 color: #69295E;
}
.header-tel img {
	width: 28px;
	height: 28px;
}

/*.main-menu a:hover {
    color: #69295E;
    background: linear-gradient(to right, #491D42, #69295E, #491D42);
    background-size: 0% 2px;
    background-repeat: no-repeat;
    background-position: bottom;
    transition: background-size 0.3s;
    background-size: 100% 2px;
}*/
.main-menu a:hover {
	color: #69295E;
}

.btn {
	color: #FFF;
	font-size: 16px;
	background-color: #69295E;
	border-radius: 36px;
	padding: 15px 30px;
	border: none;
}

/* Контейнер */
.container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
}
.banner {
	position: relative;
}

.banner-slider .slide {
  	height: 842px;
  	background-size: cover;
  	background-position: center;
  	display: flex;
  	align-items: center;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px;
 
}
.banner .container {
	position: relative;
}
.banner-form {
	position: absolute;
  	top: 128px;
  	right: 15px;
  	background: rgba(201, 195, 209, 0.8);
  	padding: 44px 71px 20px;
  	border-radius: 20px;
	z-index: 3;
	width: 100%;
	max-width: 740px;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	backdrop-filter: blur(4px);
	border: 2px solid #F8EDF6;
}
.banner-form h3 {
	font-size: 40px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 46px;
}
.slide-content h2 {
	font-size: 60px;
	font-weight: 900;
	text-transform: uppercase;
	max-width: 800px;
}
.slide-content {
	width: 100%;
}
.slide-content p {
	font-size: 24px;
	font-weight: 700;
	margin: 24px 0 24px;
	max-width: 650px;
}
.banner-form label {
	font-size: 16px;
	font-weight: 500;
}
.banner-form input {
	border-radius: 8px;
	background-color: #FFF;
	padding: 20px 40px;
	border: 1px solid #F7F7F7;
	margin-top: 12px;
	width: 100%;
	margin-bottom: 47px;
	font-size: 16px;
}
.banner-form input:focus {
	outline: 1px solid #69295E;
}
.banner-form .wpcf7-submit {
	background-color: #69295e;
	color: #FFF;
	border-radius: 36px;
	width: 260px;
	height: 60px;
	font-size: 16px;
	margin: 0 auto;
	display: block;
	margin-bottom: 0;
}
.wpcf7-spinner {
	display: none;
}
.banner .custom-nav {
	left: 0;
	transform: translatey(-50%);
	max-width: 1556px;
	right: 0;
	margin: 0 auto;
}
.custom-nav {
	display: flex;
    justify-content: space-between;
	position: absolute;
	top: 50%;
	left: 50%;
	right: 0;
	transform: translate(-50%, -50%);
	z-index: 10;
	width: 100%;
}
.custom-nav button {
	 touch-action: manipulation;
}
.custom-prev, .custom-doc-prev, .custom-reviews-prev {
	background: url(./icons/arrow.svg) center / 10px no-repeat !important;
    width: 40px;
    height: 40px;
    background-color: #FFF !important;
    border: 1px solid rgba(73, 29, 66, 0.5) !important;
    cursor: pointer;
    border-radius: 50%;
}
.custom-next, .custom-doc-next, .custom-reviews-next {
	background: url(./icons/arrow.svg) center / 10px no-repeat !important;
	transform: rotate(180deg);
    width: 40px;
    height: 40px;
    background-color: #FFF !important;
    border: 1px solid rgba(73, 29, 66, 0.5) !important;
    cursor: pointer;
    border-radius: 50%;
}




.advantages {
	padding: 69px 0;
}
.wrapper-adv {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 33px;
}
.adv-item {
	font-size: 20px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 26px;
}
.adv-item::before {
	content: url("./icons/galka.svg");
	width: 28px;
	height: 28.5px;
	display: inline-block;
}
.sec-title {
	font-size: 56px;
	font-weight: 700;
}
.about {
	background-color: #F5F5F5;
	padding: 89px 0 103px;
}
.wrapper-about {
	display: flex;
	align-items: stretch;
	gap: 68px;
	margin-top: 47px;
}
.about-img img {
  	max-width: 804px;
  	height: 100%;
	object-fit: cover;
}
.about-text {
	flex: 1;
}
.about-text h3 {
	font-size: 36px;
	font-weight: 500;
}
.about-text p {
	font-size: 18px;
	margin-top: 22px;
	margin-bottom: 33px;
}
.text-block {
	padding: 53px 0;
}
.text {
	border-radius: 50px;
	background-color: #E4E1E8;
	font-size: 24px;
	width: 100%;
	padding: 99px 108px;
	text-align: center;
}
.doctors {
	padding: 54px 0 82px;
}
.doc-relative {
	position: relative;
}
.doctors-slider {
	margin-top: 73px;
}
.doc-item {
	border-radius: 20px;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
}
.doc-img img {
	border-radius: 20px 20px 0 0;
    object-fit: cover;
	object-position: top;
	height: 330px;
}
.doc-info {
	padding: 18px 30px 40px;
    min-height: 235px;
	display: flex;
  	flex-direction: column;
  	flex: 1; 
}
.doc-info h3 {
	font-size: 23px;
	border-bottom: 2px solid #491D42;
	padding-bottom: 14px;
	min-height: 74px;
}
.doc-info span {
	font-size: 18px;
	margin-top: 14px;
	display: block;
}
.sec-subtitle {
	font-size: 22px;
	margin-top: 6px;
}
.services {
	padding: 77px 0 82px;
	background-color: #F5F5F5;
}
.wrapper-services {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
	gap: 51px;
	margin-top: 71px;
}
.service-item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	padding: 36px 43px 30px;
	background-color: #FFF;
	border-radius: 20px;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	min-height: 296px;
	text-align: center;
	border: 1px solid #FFF;
}
.service-item:hover {
	background-color: #E4E1E8;
	border: 1px solid #69295E;
}
.service-item:hover .opacity-btn {
	color: #FFF;
	background-color: #69295E;
	border: 1px solid #69295E;
}
.service-item h3 {
	font-size: 24px;
}
.service-item p {
	font-size: 16px;
	flex: 1;
	margin: 8px 0;
}
.opacity-btn {
	border-radius: 36px;
	background-color: transparent;
	border: 1px solid #69295E;
	padding: 15px 80px;
	font-size: 16px;
	color: #69295E;
}
.question-form {
	padding: 76px 0 77px;
	position: relative;
	overflow: hidden;
	background-color: #FFF;
	z-index: 1;
}
.form-img {
	position: absolute;
	top: 0;
	right: -163px;
	width: 997px;
	height: auto;
}
.question-form form {
	display: flex;
	flex-direction: row;
	column-gap: 66px;
	row-gap: 10px;
	margin-top: 36px;
	align-items: flex-end;
	margin-bottom: 15px;
	flex-wrap: wrap;
}
.question-form .wpcf7 input {
	border: 1px solid rgba(73, 29, 66, 0.7);
	border-radius: 38px;
	padding: 15px 38px;
	max-width: 320px;
	margin-top: 11px;
	font-size: 16px;
}
.question-form .wpcf7 input:focus {
	outline: none;
}
.question-form .wpcf7 label, .wpcf7-acceptance label {
	font-size: 16px;
	color: rgba(73, 29, 66, 0.7);
}
.wpcf7-acceptance input[type="checkbox"] {
  	accent-color: #69295E;
  	width: 18px;
  	height: 18px;
  	margin-right: 8px;
}

.wpcf7-acceptance a {
  	color: #491D42;
  	text-decoration: underline;
	font-weight: 700;
}
.wpcf7-response-output {
	flex-basis: 100%; 
    width: 100%;
    margin-top: 15px;
}

.reviews {
	background-color: #E4E1E8;
	padding: 79px 0 65px;
}
.reviews-slider {
	position: relative;
	margin: 83px auto 0;
	padding-bottom: 10px;
	width: calc(100% - 100px)!important;
}
.reviews-item {
	display: flex;
	flex-direction: column;
	background-color: #FFF;
	border-radius: 20px;
	box-shadow: 4px 4px 4px rgba(0,0,0,0.15);
	padding: 24px 28px;
	margin-bottom: 20px;
    margin-right: 5px;
}
.user {
	display: flex;
	gap: 26.81px;
	align-items: center;
}
.user-img {
	width: 42.66px;
	height: 41px;
}
.user-name {
	font-size: 20px;
	font-weight: 600;
}
.user-review {
	font-size: 16px;
	margin-top: 20px;
}
.reviews .custom-nav {
	position: absolute;
	width: 100%;
	top: 63%;
	left: 0;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
}
.reviews-container {
  position: relative; /* стрелки будут внутри контейнера */
}
.site-footer {
	padding: 48px 0 0px;
	border-top: 2px solid rgba(73, 29, 66, 0.5);
}
.site-footer a:hover {
	color: #69295E;
}
.footer-content {
	display: flex;
	justify-content: space-between;
	padding-bottom: 48px;
}
.footer-content .custom-logo-link img {
	width: 246px;
	height: 57px;
}
.adress, .work-time, .mail, .tel {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.adress::before {
	content: '';
	background: url('./icons/adress-icon.svg');
	width: 17.4px;
	height: 24.4px;
}
.work-time::before {
	content: '';
	background: url('./icons/time.svg');
	width: 20.8px;
	height: 20.8px;
}
.mail::before {
	content: '';
	background: url('./icons/mail.svg');
	width: 22.4px;
	height: 17.57px;
}
.tel::before {
	content: '';
	background: url('./icons/tel.svg');
	width: 22.4px;
	height: 22.4px;
}
.footer-content span, .footer-content a {
	font-size: 16px;
}
.c-info {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 23px;
}
.f-services {
	display: grid;
     grid-template-columns: repeat(2, 1fr);
	gap: 75px;
}
.f-services .l-col, .f-services .r-col {
	display: flex;
	flex-direction: column;
	gap: 17px;
}
.col-2 {
	display: flex;
	flex-direction: column;
	gap: 17px;
	max-width: 113px;
}
.col-3 h3 {
	margin-bottom: 17px;
}
.footer-content h3 {
	font-size: 22px;
	font-weight: 600;
	border-bottom: 2px solid rgba(73, 29, 66, 0.5);
	padding-bottom: 7px;
}
.bottom-footer {
	background-color: #69295E;
	padding: 16px 0;
}
.flex {
	display: flex;
}
.bottom-footer .flex {
	justify-content: space-between;
	align-items: center;
}
.bottom-footer span, .bottom-footer a {
	color: rgba(255,255,255,0.7);
	font-size: 14px;
}
.bottom-footer span {
	display: block;
}
.breadcrumbs {
	display: flex;
	align-items: center;
	height: 55px;
	flex-wrap: wrap;
}
.page-doctors .doctors {
	display: flex;
	padding: 80px 0 0;
	flex-wrap: wrap;
	gap: 60px;
}
.page-doctors .doctors .doc-item {
	flex: 0 1 calc(33.333% - 60px);
}
.doc-btn {
	color: #FFF;
    font-size: 16px;
    background-color: #69295E;
    border-radius: 36px;
    padding: 15px 30px;
    border: none;
	margin: auto auto 0px;	
	cursor: pointer;
	width: 100%;
}
.page-doctors .doc-info span {
	margin-bottom: 50px;
}
.page-doctors .text {
	margin: 60px 0;
}
.breadcrumb_last {
	color: #727272;
}
.certificate-item {
	box-shadow: 0 4px 4px rgba(0,0,0,0.15);
}
.page-doctors .sec-subtitle {
	margin-top: 26px;
}

.single-doctor .doctor-photo img {
    width: 480px;
    height: auto;
    border-radius: 10px;
    object-fit: cover;
	float: left;
	margin-right: 45px;
	margin-bottom: 25px;
}

.single-doctor .doctor-content p {
    margin-bottom: 15px;
}
.doctor-header {
	padding: 20px 0 40px;
}
.doctor-certificates {
    padding: 60px 0;
	background-color: #F5F5F5;
}
.doctor-certificates h2 {
	font-size: 36px;
	text-align: center;
}
.doctor-certificates .certificate-item img {
    width: 100%;
    height: 195px;
    border-radius: 10px;
    object-fit: cover;
}
.certificates-slider {
	padding: 25px;
}
.doctor-speciality {
	font-style: italic;
}
.about-content {
	display: flex;
	align-items: stretch;
	gap: 118px;
	margin-top: 38px;
}
.about-content img {
	max-width: 577px;
	height: 100%;
	object-fit: cover;
	border-radius: 30px;
}
.about-content .description {
	flex: 1;
}
.about-content .description p {
	font-size: 18px;
	margin-bottom: 22px;
}
.about-content .description h1 {
	margin-bottom: 21px;
	font-size: 36px;
}
.page-about-carousel {
	padding: 29px 0 0;
}
.page-about-carousel .item {
    height: 320px;
    overflow: hidden;
    border-radius: 15px;
}
.page-template-about .text-block {
	padding: 60px 0 80px;
}

.page-about-carousel .item img {
    width: 100%;
    height: 100%; 
    object-fit: cover;
    display: block;
    border-radius: 15px;
}
.glav-doc {
	padding: 211px 0 142px;
	background-color: #F5F5F5;
}
.glav-doc .container {
	position: relative;
	background-color: #FFF;
	border-radius: 30px;
	box-shadow: 4px 4px 10px rgba(0,0,0,0.15);
	display: flex;
	justify-content: flex-end;
}
.glav-doc .image {
	position: absolute;
    top: 40%;
    left: 0;
    z-index: 2;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    max-width: 561px;
    width: 100%;
	height: 682px;
}
.glav-doc .image img {
	width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
	border-radius: 15px;
}
.glav-doc .image::after {
	content: '';
    display: block;
    border-radius: 15px;
    position: absolute;
    left: -34px;
    background: white;
    top: 67px;
    right: -34px;
    bottom: -34px;
    -webkit-box-shadow: 0px 4px 25px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 4px 25px rgba(0, 0, 0, 0.15);
    z-index: -1;
}
.glav-doc .description {
	padding: 60px 50px 60px 0;
	width: calc(100% - 630px);
	display: flex;
	flex-direction: column;
}
.glav-doc .description .info {
	max-width: 800px;
	display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.glav-doc .description span {
	font-size: 16px;
	font-style: italic;
	text-align: right;
	max-width: 280px;
	display: block;
}
.glav-doc .description h2 {
	font-size: 34px;
	font-style: italic;
}
.glav-doc .description p {
	font-size: 24px;
	font-weight: 700;
	margin: 48px 0 81px;
}
.grey-request {
	padding: 60px 0;
}
.grey-request-wrapper {
	display: flex;
	align-items: center;
	background-color: #F5F5F5;
	padding: 45px 35px;
	gap: 50px;
	justify-content: center;
	border-left: 5px solid #491D42;
}
.single-services .request-text p {
	margin: 15px 0 0;
	text-align: center;
}
.request-text {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.category-banner, .service-banner {
	height: auto;
    background-size: cover;
    background-position: right;
	padding: 30px 0;
}
.category-title, .service-title {
	display: flex;
	flex-direction: column;
	gap: 30px;
	align-items: flex-start;
	justify-content: flex-start;
	margin-top: 30px;
}
.category-title h1, .service-title h1 {
	font-size: 56px;
}
.category-description {
	padding: 45px 0;
}
.category-description strong {
	font-style: italic;
}
.category-description .container {
	background-color: #F8EDF6; 
	padding: 40px 30px; 
	border-radius: 12px; 
	box-shadow: 0 4px 12px rgba(0,0,0,0.05);  
	position: relative;
	font-size: 18px;
}
.cat-advantages {
	padding: 45px 0;
}
.cat-adv-wrapper {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 45px;
}
.cat-adv-item {
	width: calc(50% - 45px);
	display: flex;
	gap: 15px;
	flex-grow: 1;
}
.cat-adv-item svg { 
	flex-shrink: 0; 
	width: 22px; 
	height: 22px;
}
.cat-adv-text li {
	margin-left: 30px;
}
.service-list {
	background-color: #F5F5F5;
	padding: 50px 0;
}
.cat-service-wrapper {
	display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 71px;
}
.service-content {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 36px 43px 30px;
    background-color: #FFF;
    border-radius: 20px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    min-height: 266px;
    text-align: center;
    border: 1px solid #FFF;
}
.service-description {
	padding-bottom: 60px;
}
.service-title {
	text-align: left;
	margin-top: 0;
}
.service-arrow {
	background: url(./icons/arrow.svg) center / 10px no-repeat !important;
    transform: rotate(180deg);
    width: 40px;
    height: 40px;
    background-color: #FFF !important;
    border: 1px solid rgba(73, 29, 66, 0.5) !important;
    cursor: pointer;
    border-radius: 50%;
	flex-shrink: 0;
}
.categories-list {
	padding: 60px 0;
	background-color: #F5F5F5;
}
.categories-wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 80px;
	row-gap: 20px;
	margin-top: 70px;
}
.service-category-item a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	font-size: 20px;
	border-bottom: 1px solid rgba(73, 29, 66, 0.3);
	padding-bottom: 10px;
	font-weight: 600;
	min-height: 61px;
}
.service-category-item a span {
	flex-shrink: 0;
}
.razdely .razdely-wrapper {
	display: flex;
    flex-wrap: wrap;
	margin-top: 30px;
}
.razdely-wrapper .current-razdel-category > a {
	background: #69295E;
    border: 2px solid #491D42;
	color: #FFF;
}
.service-razdel-item a {
	display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 23px;
    background: #fff;
    border-radius: 36px;
    padding: 11px 30px;
    margin: 0 15px 15px 0;
    text-decoration: none;
    border: 1px solid rgba(73, 29, 66, 0.5);
}
.service-razdel-item a:hover {
	color: #FFF;
	background: #69295E;
}
.btn:hover {
	box-shadow: 0 10px 30px rgba(73, 29, 66, 0.18);
  	transform: translateY(-1px);
}
.service-category-item a:hover {
	color: #69295E;
}
.service-category-item .service-arrow {
	width: 30px;
	height: 30px;
}
.service-category-item a:hover .service-arrow {
	background-color: #E4E1E8!important;
}
.service-advantages {
	padding: 60px 0;
}
.service-advantages .block-title {
	max-width: 100%;
}
.service-wrapper-adv {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	margin-top: 40px;
}
.service-adv-item {
  display: grid;
  grid-template-rows: auto auto 1fr; /* иконка, заголовок, описание */
  align-items: start;
  text-align: center;
}
.service-adv-item .icon {
	width: 50px;
	height: 50px;
	justify-self: center;
	align-self: center;
	box-shadow: 2px 2px 3px rgba(73, 29, 66, 0.25);
	border-radius: 50px;
}
.service-adv-item .title {
	font-size: 22px;
	font-weight: 600;
	margin: 20px;
}
.service-adv-item .description {
	font-size: 16px;
	text-align: center;
}
.block-title {
	font-size: 46px;
	max-width: 870px;
}
a.aleft {
	float: left;
}
.alignleft {
	float: left;
	max-width: 365px;
    margin: 20px 30px 30px 0;
}
a.aright {
	float: right;
}
.alignright {
    float: right;
	max-width: 365px;
    margin: 20px 0px 30px 30px;
}
a.acenter {
	float: none;
    display: block;
}
.aligncenter {
    display: block;
    text-align: center;
    margin: 20px auto;
}
.service-description__text > p {
	margin: 0 0 11px;
}
.service-description__text img {
	border-radius: 15px;
    box-shadow: 2px 2px 10px rgba(73, 29, 66, 0.5);
}
.service-description__text h3 {
	font-size: 22px;
	margin: 17px 0;
	font-weight: 500;
}
.service-price {
	padding: 60px 0;
	background-color: #F5F5F5;
}
.service-price .btn {
	display: flex;
	margin: 0 auto;
}
.service-price .block-title {
	text-align: center;
	margin: 0 auto;
}
.price {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	margin: 40px 0;
}
.price-item {
	width: 100%;
	padding: 15px 30px;
	border: 1px solid rgba(73, 29, 66, 0.7);
	background-color: #FFF;
	display: flex;
	justify-content: space-between;
	border-radius: 30px;
	align-items: center;
}
.price-item p {
	font-size: 18px;
}
.price-item span {
	font-size: 18px;
	font-weight: 700;
}
.rating {
	padding: 70px 0;
}
.rating-wrapper {
	display: flex;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
	margin-top: 40px;
}
.rating-item {
	padding: 15px;
	background-color: #FFF;
	border-radius: 15px;
	box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.15),
		        -2px -2px 10px rgba(0,0,0,0.15);
	min-height: 120px;
	text-align: center;
}
.rating-item:hover {
	box-shadow: 2px 2px 10px rgba(73, 29, 66, 0.5),
		        -2px -2px 10px rgba(73, 29, 66, 0.5);
}
.rating .block-title {
	text-align: center;
	margin: 0 auto;
}
.rating .sec-subtitle {
	text-align: center;
}
.rating-item img {
	width: 200px;
	height: auto;
}
.rating-item a {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: space-between;
	min-height: 120px;
}
.rating-item span {
	font-size: 18px;
	display: block;
}
.categories-service-list {
	padding: 60px 0;
	background-color: #F5F5F5;
}
.categories-service-list .categories-wrapper {
	grid-template-columns: repeat(3, 1fr);
}
.card {
  	border-radius: 24px;
  	box-shadow: 8px 8px 5px rgba(0, 0, 0, 0.15);
  	padding: 20px 22px;
	background-color: #F5F5F5;
}

.card-main {
  	display: grid;
  	grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
  	gap: 20px;
	margin-top: 60px;
}

.card-title {
  	margin: 0 0 12px;
  	font-size: 22px;
  	font-weight: 600;
}

.info-grid {
  	display: grid;
  	grid-template-columns: repeat(2, minmax(0, 1fr));
  	gap: 14px 18px;
}

.info-block {
  	background: #FFF;
  	border-radius: 18px;
  	padding: 12px 14px;
}

.info-block h3 {
  	margin: 0 0 6px;
  	font-size: 18px;
  	font-weight: 600;
}

.info-block p {
  	margin: 0;
  	font-size: 16px;
  	line-height: 1.5;
}

.schedule-list {
  	list-style: none;
  	padding: 0;
  	margin: 0;
  	display: flex;
  	flex-direction: column;
  	gap: 4px;
  	font-size: 16px;
}
.contacts {
	padding: 0px 0 90px;
}
.schedule-list li {
  	display: flex;
  	justify-content: space-between;
  	gap: 8px;
}

.link-main {
  	display: block;
  	text-decoration: none;
  	font-weight: 600;
  	font-size: 16px;
  	margin-bottom: 4px;
  	transition: opacity 0.2s ease, transform 0.1s ease;
}

.link-main:last-child {
  	margin-bottom: 0;
}

.link-main:hover {
  	opacity: 0.85;
  	transform: translateY(-1px);
}

.card-main__contacts {
  	background: linear-gradient(145deg, #f8f1f7, #ffffff);
  	border-radius: 24px;
  	padding: 16px 16px 18px;
}

.social-list {
  	display: flex;
  	flex-direction: column;
  	gap: 10px;
}

.social-item {
  	display: flex;
  	align-items: center;
  	gap: 10px;
  	padding: 10px 12px;
  	border-radius: 999px;
 	background: #FFF;
  	text-decoration: none;
  	transition: box-shadow 0.2s ease, transform 0.1s ease, background-color 0.2s ease;
}

.social-item--accent {
  	background: #69295E;
  	color: #ffffff;
}

.social-item:hover {
  	box-shadow: 0 10px 30px rgba(73, 29, 66, 0.18);
  	transform: translateY(-1px);
}

.social-icon {
  	width: 32px;
  	height: 32px;
  	border-radius: 999px;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	font-size: 18px;
  	background: rgba(255, 255, 255, 0.9);
}

.social-item--accent .social-icon {
  	background: rgba(255, 255, 255, 0.92);
}

.social-text {
  	display: flex;
  	flex-direction: column;
  	line-height: 1.2;
}

.social-text strong {
  	font-size: 14px;
}

.social-handle {
  	font-size: 12px;
  	opacity: 0.85;
}

.card-map {
  	display: grid;
  	grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr);
  	gap: 16px;
	margin-top: 30px;
}

.card-map__header p {
  	margin: 0;
  	font-size: 18px;
  	line-height: 1.5;
  	opacity: 0.9;
}

.card-map__body {
  	border-radius: 24px;
  	overflow: hidden;
  	background: #ddd;
}

.map-frame {
  	width: 100%;
  	height: 260px;
  	border: 0;
  	display: block;
}
.request {
	padding: 90px 0;
}
.request-wrapper {
	display: flex;
	justify-content: center;
	gap: 40px;
	padding: 45px 35px;
	box-shadow: 8px 8px 10px rgba(73, 29, 66, 0.3);
	background-color: #E4E1E8;
	border-radius: 30px;
	align-items: center;
}
.request-img {
	width: 30%;
	flex-shrink: 0;
	text-align: center;
}
.request-img img {
	width: 200px;
	height: 183px;
}
.request-text {
	width: 70%;
}
.request-text h3 {
	font-size: 36px;
	text-align: center;
}
.request-text p {
	margin: 30px 0;
	text-align: center;
	font-size: 22px;
}
.single-doctor {
	padding-bottom: 90px;
	min-height: 700px;
}
.page-template-content {
	padding: 30px 0 60px;
}
.page-template-content p, .page-template-content ul, .page-template-content ol {
	padding: 10px 0;
}
.page-template-content ul li {
	margin-left: 20px;
}
#popmake-317 form input {
	border-radius: 8px;
	padding: 12px 18px;
	font-size: 16px;
	margin-top: 11px;
	width: 100%;
	border: 1px solid #491D42;
}
#popmake-317 form label {
	font-size: 16px;
	color: #491D42;
}
#popmake-317 form input:focus {
	outline: none;
}
#popmake-317 form .wpcf7-submit {
	color: #FFF;
    font-size: 16px;
    background-color: #69295E;
    border-radius: 36px;
    padding: 15px 30px;
    border: none;
	max-width: 190px;
	display: block;
	margin: 20px auto 0;
}
.wpcf7-submit:hover {
	cursor: pointer;
}
#popmake-317 form p {
	margin-top: 10px;
}
.wpcf7 form.invalid {
	border-color: red;
}
.c-info .tel a {
	margin-bottom: 7px;
	display: block;
}
/* -----------------------------------------------------------*/
/* 404 Error Page Styles */
/* -----------------------------------------------------------*/

/* Main Page Container */
.error-page-container {
    width: 100%;
    position: relative;
}

.error-page {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
}

.error-page-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
}

.error-page-grid {
    display: flex;
	justify-content: center;
    flex-wrap: wrap;
    margin: 0 -15px;
    align-items: center;
    position: relative;
}

/* Text Section */
.error-text-section {
    width: 41.666667%;
    padding: 0 15px;
    position: relative;
    z-index: 2;
}

.error-text-wrapper {
    position: relative;
    background: #fff;
    padding: 50px 40px;
    border-radius: 8px;
    box-shadow: -11px 2px 0 3px rgba(223, 223, 223, .8), 
                -11px 2px 0 4px #d0d0d0;
    border: 1px solid #d0d0d0;
    transform: rotate(-4deg);
    transition: transform 0.3s ease;
}

.error-text-wrapper:hover {
    transform: rotate(-3deg);
}

.error-text-content {
    transform: rotate(-4deg);
    text-align: center;
}

.error-title {
    text-align: center;
    padding: 30px 0;
    text-shadow: 0 0 1px #d0d0d0;
    margin-bottom: 20px;
    color: #333;
    font-size: 28px;
    line-height: 1.3;
}

.error-code {
    display: block;
    text-align: center;
    font-size: 70px;
    font-weight: 800;
    color: #69295e;
    line-height: 1;
    margin-bottom: 10px;
    text-shadow: 2px 2px 0 rgba(105, 41, 94, 0.1);
}

.error-description {
    color: #666;
    line-height: 1.6;
    margin-bottom: 40px;
    font-size: 18px;
    font-weight: 400;
}

/* Button Styles */
.error-home-btn {
    display: inline-block;
    padding: 15px 40px;
    background: #69295e;
    color: white;
    text-decoration: none;
    border-radius: 36px;
    font-size: 17px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 2px solid #69295e;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(105, 41, 94, 0.2);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.error-home-btn:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.7s ease;
    z-index: -1;
}

.error-home-btn:hover {
    background: transparent;
    color: #69295e;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(105, 41, 94, 0.3);
}

.error-home-btn:hover:before {
    left: 100%;
}

.error-home-btn:active {
    transform: translateY(-1px);
}

/* Image Section */
.error-image-section {
    width: 50%;
    padding: 0 15px;
    position: relative;
    z-index: 1;
}

.error-image-wrapper {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
    height: 658px;
}

.error-image-list {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    height: 100%;
}

.error-image-item {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

.error-image-item img {
    width: 100%;
    height: auto;
    max-width: 500px;
}

.error-image-animate {
    position: absolute;
    transition: transform 0.3s ease;
}

/* Animation Elements Positioning */
.image-animate-one {
    top: 73px;
    left: 10px;
    z-index: 10;
    width: 248px;
}

.image-animate-two {
    top: 138px;
    left: 20px;
    z-index: 1;
    transform: rotate(-10deg);
    width: 79px;
}

.image-animate-three {
    top: 133px;
    left: 280px;
    width: 51px;
}

.image-animate-three-one {
    top: 129px;
    left: 108px;
    width: 51px;
}

.image-animate-three-two {
    top: 116px;
    left: 148px;
    width: 51px;
}

.image-animate-three-three {
    top: 130px;
    left: 200px;
    z-index: 11;
    width: 51px;
}

.image-animate-four {
    top: 136px;
    left: 158px;
    z-index: 3;
    width: 46px;
}

.image-animate-four-one {
    top: 131px;
    left: 179px;
    z-index: 2;
    width: 46px;
}

.image-animate-four-two {
    top: 147px;
    left: 241px;
    z-index: 12;
    width: 46px;
}

.image-animate-four-three {
    top: 130px;
    left: 252px;
    width: 46px;
}

.image-animate-five {
    top: 159px;
    left: 139px;
    z-index: 4;
    width: 34px;
}

.image-animate-five-one {
    top: 163px;
    left: 218px;
    z-index: 13;
    width: 34px;
}

.image-animate-five-two {
    top: 130px;
    left: 235px;
    width: 34px;
}

.error-image-animate img {
    width: 100%;
    height: auto;
    filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.1));
}

/* Floating Animation */
@keyframes float {
    0%, 100% {
        transform: translateY(0) rotate(var(--rotate, 0deg));
    }
    50% {
        transform: translateY(-10px) rotate(var(--rotate, 0deg));
    }
}

.image-animate-three,
.image-animate-three-one,
.image-animate-three-two,
.image-animate-three-three {
    animation: float 3s ease-in-out infinite;
    --rotate: 0deg;
}

.image-animate-four,
.image-animate-four-one,
.image-animate-four-two,
.image-animate-four-three {
    animation: float 4s ease-in-out infinite;
    animation-delay: 0.5s;
    --rotate: -5deg;
}

.image-animate-five,
.image-animate-five-one,
.image-animate-five-two {
    animation: float 5s ease-in-out infinite;
    animation-delay: 1s;
    --rotate: 5deg;
}

/* Responsive Design */
/* До 1200px */
@media screen and (max-width: 1200px) {
    .error-page-content {
        max-width: 1140px;
        padding: 0 30px;
    }
    
    .error-image-wrapper {
        max-width: 450px;
        height: 592px;
    }
    
    .error-text-section {
        width: 45%;
    }
    
    .error-image-section {
        width: 55%;
        margin-left: 45%;
    }
}

/* До 992px */
@media screen and (max-width: 992px) {
    .error-page-grid {
        flex-direction: column;
        margin: 0;
    }
    
    .error-text-section {
        width: 100%;
        padding: 0;
        margin-bottom: 60px;
        order: 2;
    }
    
    .error-image-section {
        width: 100%;
        margin-left: 0;
        padding: 0;
        order: 1;
        margin-bottom: 40px;
    }
    
    .error-text-wrapper {
        transform: none;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        margin: 0 auto;
        max-width: 600px;
    }
    
    .error-text-content {
        transform: none;
    }
    
    .error-image-wrapper {
        max-width: 400px;
        height: 526px;
        margin: 0 auto;
    }
    
    /* Adjust animation positions for smaller screen */
    .image-animate-three {
        left: 224px;
    }
    
    .image-animate-four-two {
        left: 193px;
    }
    
    .image-animate-five-one {
        left: 174px;
    }
}

/* До 768px */
@media screen and (max-width: 768px) {
    .error-page-content {
        padding: 0 20px;
    }
    
    .error-text-wrapper {
        padding: 40px 30px;
    }
    
    .error-code {
        font-size: 60px;
    }
    
    .error-title {
        font-size: 24px;
        padding: 20px 0;
    }
    
    .error-description {
        font-size: 16px;
        margin-bottom: 30px;
    }
    
    .error-home-btn {
        font-size: 16px;
        padding: 12px 30px;
    }
    
    .error-image-wrapper {
        max-width: 350px;
        height: 460px;
    }
    
    /* Scale down animation elements */
    .error-image-animate {
        transform: scale(0.9);
    }
    
    .image-animate-one {
        width: 223px;
        left: 5px;
    }
    
    .image-animate-two {
        width: 71px;
        left: 15px;
    }
    
    .image-animate-three,
    .image-animate-three-one,
    .image-animate-three-two,
    .image-animate-three-three {
        width: 46px;
    }
    
    .image-animate-four,
    .image-animate-four-one,
    .image-animate-four-two,
    .image-animate-four-three {
        width: 41px;
    }
    
    .image-animate-five,
    .image-animate-five-one,
    .image-animate-five-two {
        width: 31px;
    }
}

/* До 480px */
@media screen and (max-width: 480px) {
    .error-page {
        padding: 40px 0;
    }
    
    .error-page-content {
        padding: 0 15px;
    }
    
    .error-text-section {
        margin-bottom: 40px;
    }
    
    .error-text-wrapper {
        padding: 30px 20px;
        box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    }
    
    .error-code {
        font-size: 50px;
    }
    
    .error-title {
        font-size: 20px;
        padding: 15px 0;
    }
    
    .error-description {
        font-size: 15px;
        margin-bottom: 25px;
    }
    
    .error-home-btn {
        font-size: 15px;
        padding: 10px 25px;
    }
    
    .error-image-section {
        margin-bottom: 30px;
    }
    
    .error-image-wrapper {
        max-width: 280px;
        height: 368px;
    }
    
    /* Further adjust animation positions */
    .error-image-animate {
        transform: scale(0.7);
    }
    
    .image-animate-one {
        top: 58px;
        left: 0;
        width: 174px;
    }
    
    .image-animate-two {
        top: 110px;
        left: 10px;
        width: 55px;
    }
    
    .image-animate-three {
        top: 106px;
        left: 179px;
        width: 36px;
    }
    
    .image-animate-three-one {
        top: 103px;
        left: 69px;
        width: 36px;
    }
    
    .image-animate-three-two {
        top: 93px;
        left: 99px;
        width: 36px;
    }
    
    .image-animate-three-three {
        top: 104px;
        left: 140px;
        width: 36px;
    }
    
    .image-animate-four {
        top: 109px;
        left: 126px;
        width: 32px;
    }
    
    .image-animate-four-one {
        top: 105px;
        left: 143px;
        width: 32px;
    }
    
    .image-animate-four-two {
        top: 118px;
        left: 193px;
        width: 32px;
    }
    
    .image-animate-four-three {
        top: 104px;
        left: 202px;
        width: 32px;
    }
    
    .image-animate-five {
        top: 127px;
        left: 111px;
        width: 24px;
    }
    
    .image-animate-five-one {
        top: 130px;
        left: 174px;
        width: 24px;
    }
    
    .image-animate-five-two {
        top: 104px;
        left: 188px;
        width: 24px;
    }
}

/* До 360px */
@media screen and (max-width: 360px) {
    .error-text-wrapper {
        padding: 25px 15px;
    }
    
    .error-code {
        font-size: 45px;
    }
    
    .error-title {
        font-size: 18px;
    }
    
    .error-description {
        font-size: 14px;
    }
    
    .error-home-btn {
        font-size: 14px;
        padding: 8px 20px;
    }
    
    .error-image-wrapper {
        max-width: 240px;
        height: 316px;
    }
}

/* Print Styles */
@media print {
    .error-page {
        background: none !important;
    }
    
    .error-text-wrapper {
        box-shadow: none !important;
        border: 1px solid #ddd !important;
        transform: none !important;
    }
    
    .error-text-content {
        transform: none !important;
    }
    
    .error-image-section {
        display: none;
    }
    
    .error-home-btn {
        display: none;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    .error-page {
        background-color: #1a1a1a;
        background-blend-mode: overlay;
    }
    
    .error-text-wrapper {
        background: #2d2d2d;
        border-color: #444;
        box-shadow: -11px 2px 0 3px rgba(68, 68, 68, .8), 
                    -11px 2px 0 4px #444;
    }
    
    .error-title {
        color: #fff;
        text-shadow: 0 0 1px #666;
    }
    
    .error-description {
        color: #ccc;
    }
    
    .error-home-btn {
        background: #8a3a7d;
        border-color: #8a3a7d;
    }
    
    .error-home-btn:hover {
        color: #8a3a7d;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    .error-text-wrapper {
        border: 2px solid #000;
    }
    
    .error-code {
        color: #000;
    }
    
    .error-home-btn {
        background: #000;
        color: #fff;
        border: 2px solid #000;
    }
    
    .error-home-btn:hover {
        background: #fff;
        color: #000;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .error-text-wrapper,
    .error-text-content,
    .error-image-animate {
        transition: none;
        animation: none;
    }
    
    .error-home-btn:hover {
        transform: none;
    }
    
    .error-home-btn:before {
        display: none;
    }
}
/* Карточка новости в списке */
.blog-page {
	padding: 0 0 60px;
}
.blog-page .sec-title {
	margin-bottom: 30px;
}
.news-card {
  	background: #f5f5f5;
  	border-radius: 24px;
  	overflow: hidden;
  	display: flex;
	gap: 20px;
  	transition: transform 0.2s ease, box-shadow 0.2s ease;
	min-height: 236px;
}
.news-card:not(:last-child) {
	margin-bottom: 30px;
}

.news-card:hover {
  	transform: translateY(-2px);
  	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.12);
}

.news-card__image {
  	position: relative;
  	overflow: hidden;
  	background: #ffffff;
	width: 25%;
}

.news-card__image img {
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
  	display: block;
}

.news-card__date {
  	position: absolute;
  	top: 16px;
  	left: 16px;
  	background: #69295e;
  	color: #ffffff;
  	padding: 6px 12px;
  	border-radius: 999px;
  	font-size: 13px;
  	font-weight: 600;
}

.news-card__content {
  	padding: 24px;
  	display: flex;
  	flex-direction: column;
	width: 75%;
}

.news-card__title {
  	margin: 0 0 12px;
  	font-size: 22px;
  	font-weight: 600;
  	line-height: 1.3;
}

.news-card__title a {
  	color: #491d42;
  	text-decoration: none;
  	transition: color 0.2s ease;
}

.news-card__title a:hover {
  	color: #69295e;
}

.news-card__excerpt {
  	margin: 0 0 auto;
  	font-size: 15px;
  	line-height: 1.6;
  	opacity: 0.85;
  	flex: 1;
}

.news-card__footer {
  	margin-top: 16px;
  	padding-top: 16px;
  	border-top: 1px solid rgba(73, 29, 66, 0.08);
}

.news-card__link {
  	color: #69295e;
  	text-decoration: none;
  	font-weight: 600;
  	font-size: 15px;
  	transition: opacity 0.2s ease;
}

.news-card__link:hover {
  	opacity: 0.8;
}

/* Страница отдельной новости */
.article-meta {
  	display: flex;
  	gap: 16px;
  	align-items: center;
  	margin-top: 12px;
  	font-size: 14px;
}
.article-date {
  	color: #69295e;
  	font-weight: 600;
	margin: 24px 0;
}
.article-card {
  	background: #f5f5f5;
  	border-radius: 24px;
  	overflow: hidden;
}
.article-content {
  	padding: 32px;
}
.article-lead {
  	font-size: 18px;
  	line-height: 1.7;
  	font-weight: 500;
  	margin: 0 0 24px;
  	color: #491d42;
  	opacity: 0.9;
}
.article-text {
  	font-size: 16px;
  	line-height: 1.8;
  	color: #491d42;
}
.article-text p {
  	margin: 0 0 20px;
}
.article-text h2 {
  	margin: 32px 0 16px;
  	font-size: 24px;
  	font-weight: 600;
  	color: #491d42;
}
.article-text ul {
  	margin: 0 0 20px;
  	padding-left: 24px;
}
.article-text li {
  	margin-bottom: 8px;
  	line-height: 1.7;
}
.article-text a {
  	color: #69295e;
  	text-decoration: none;
  	font-weight: 600;
  	transition: opacity 0.2s ease;
}
.article-text a:hover {
  	opacity: 0.8;
  	text-decoration: underline;
}

/* Похожие новости */
.related-news {
  	margin-top: 8px;
	padding-bottom: 60px;
}
.related-news__title {
  	margin: 0 0 20px;
  	font-size: 24px;
  	font-weight: 600;
}
.related-news__grid {
  	display: grid;
  	grid-template-columns: repeat(2, minmax(0, 1fr));
  	gap: 20px;
}
.related-news__card {
  	background: #f5f5f5;
  	border-radius: 24px;
  	overflow: hidden;
  	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.related-news__card:hover {
  	transform: translateY(-2px);
  	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.12);
}
.related-news__image {
  	width: 100%;
  	height: 180px;
  	overflow: hidden;
  	background: #ffffff;
}
.related-news__image img {
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
  	display: block;
}
.related-news__content {
  	padding: 16px;
}
.related-news__date {
	display: block;
	font-size: 12px;
	color: #69295e;
	font-weight: 600;
	margin-bottom: 8px;
}
.related-news__title {
  	margin: 24px 0;
  	font-size: 22px;
  	font-weight: 600;
  	line-height: 1.4;
}
.related-news__title a {
  	color: #491d42;
  	text-decoration: none;
  	transition: color 0.2s ease;
}
.related-news__title a:hover {
  	color: #69295e;
}
.post-navigation {
	margin: 24px 0;
}
.nav-links {
	display: flex;
	justify-content: space-between;
}

/* -----------------------------------------------------------------------------Адаптивность */
@media (max-width: 1440px) {
	.container {
		max-width: 1320px;
	}
	.banner .custom-nav {
		display: none;
	}
	.site-header .container {
		max-width: 100%;
	}
  	.container { 
	  	max-width: 1150px; 
	}
	.banner-form {
		padding: 24px 31px 10px;
		max-width: 540px;
		top: 98px;
	}
	.banner-form h3 {
		font-size: 30px;
		margin-bottom: 26px;
	}
	.banner-form input {
		margin-bottom: 27px;
		padding: 15px 30px;
	}
	.banner-form .wpcf7-submit {
		height: 50px;
		padding: 15px 30px;
	}
	.banner-slider .slide {
		height: 675px;
	}
	.about-img img {
		max-width: 604px;
	}
	.wrapper-services {
		gap: 31px;
	}
	.text {
		padding: 49px 78px;
	}
	.form-img {
		width: 797px;
		z-index: -1;
	}
	.page-doctors .doctors {
		gap: 30px;
	}
	.page-doctors .doctors .doc-item {
		flex: 0 1 calc(33.333% - 30px);
	}
	.about-content {
		gap: 60px;
	}
	.categories-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1200px) {
	.container {
		max-width: 1140px;
	}
	.burger {
		display: flex;
	}
	 .main-navigation {
		 position: absolute;
    	 top: 91px;
    	 left: 0;
    	 background: #fff;
    	 transform: translateY(-100%);
    	 opacity: 0;
    	 transition: transform 0.3s ease, opacity 0.3s ease;
    	 flex-direction: column;
    	 gap: 0;
    	 padding: 15px;
    	 border-top: 1px solid #eee;
    	 pointer-events: none;
		 width: 100%;
		 max-width: 100%;
		 display: flex;
	}
	.main-navigation.active {
		transform: translateY(0);
    	opacity: 1;
    	pointer-events: auto;
	}
	.main-menu {
        flex-direction: column;
    }
	.sec-title {
		font-size: 48px;
	}
	.about-text h3 {
		font-size: 30px;
	}
	.about-img img {
        max-width: 504px;
    }
	.wrapper-services {
		grid-template-columns: repeat(2, 1fr);
	}
	.text {
		font-size: 20px;
	}
	.form-img {
		top: -30px;
	}
	.reviews-item {
		padding: 14px 18px;
	}
	.user-review {
		margin-top: 10px;
	}
	.custom-nav {
		padding: 0 15px;
	}
	.about-content img {
		max-width: 477px;
	}
}

@media (max-width: 1024px) {
	.slide-content h2 {
		font-size: 46px;
	}
	.container {
		max-width: 960px;
	}
	.sec-title {
        font-size: 36px;
    }
	.about-text h3 {
        font-size: 28px;
    }
	.footer-content {
		flex-direction: column;
		gap: 40px;
		justify-content: center;
	}
	.page-doctors .doctors .doc-item {
        flex: 0 1 calc(50% - 30px);
    }
	.about-content .description h1 {
		font-size: 28px;
	}
	.about-content {
		gap: 20px;
	}
	.page-about-carousel .item {
		height: 220px;
	}
	.glav-doc .description {
		width: 100%;
		padding: 60px 30px 0;
	}
	.glav-doc .container {
		flex-wrap: wrap;
		padding: 60px;
	}
	.glav-doc .image {
		position: static;
		margin: 0 auto;
		transform: translate(0, 0);
	}
	.glav-doc {
		padding: 90px 0;
	}
	.glav-doc .description .info {
		max-width: 100%;
	}
	.glav-doc .description h2 {
		text-align: center;
	}
	.glav-doc .description p {
		text-align: center;
		margin: 28px 0 21px;
	}
	.glav-doc .description span {
		max-width: 100%;
		text-align: center;
	}
	.categories-wrapper {
		grid-template-columns: repeat(1, 1fr);
	}
	.service-wrapper-adv {
		grid-template-columns: repeat(2, 1fr);
	}
	.categories-service-list .categories-wrapper {
   		grid-template-columns: repeat(1, 1fr);
	}
	.news-card__content {
		width: 65%;
	}
	.news-card__image {
		width: 35%;
	}
}

@media (max-width: 768px) {
	.container {
		max-width: 720px;
	}
	.wrapper-adv {
		grid-template-columns: repeat(2, 1fr);
	}
	.header-tel {
		display: none;
	}
	.header-inner .btn {
		display: none;
	}
	.slide-content h2 {
		font-size: 32px;
		text-align: center;
	}
	.slide-content p {
		font-size: 20px;
		text-align: center;
	}
	.banner-slider .slide {
        height: 475px;
    }
	.wrapper-about {
		flex-wrap: wrap;
	}
	.wrapper-services, .service-wrapper-adv {
		grid-template-columns: repeat(1, 1fr);
		margin-top: 0;
	}
	.text {
        padding: 29px 38px;
    }
	.bottom-footer .flex {
		flex-wrap: wrap;
		justify-content: center;
		gap: 7px;
	}
	.bottom-footer span {
		text-align: center;
	}
	.about-img img {
        max-width: 100%;
    }
	.about-text {
		width: 100%;
	}
	.sec-title {
        font-size: 28px;
		text-align: center;
    }
	.form-img {
		width: 100%;
		top: 0;
		right: 0;
	}
	.wrapper-about {
		gap: 15px;
	}
	.page-doctors .doctors {
        gap: 15px;
    }
	.page-doctors .doctors .doc-item {
        flex: 0 1 calc(50% - 15px);
    }
	.doc-img img {
		height: 300px;
	}
	.wrapper-about, .doctors-slider, .wrapper-services {
		margin-top: 30px;
	}
	.about-text h3 {
        font-size: 22px;
		text-align: center;
		font-weight: 700;
    }
	.about-text p {
		text-align: center;
	}
	.slide-content .container .btn, .about-text .btn {
		display: block;
		margin: 0 auto;
	}
	.sec-subtitle {
		text-align: center;
		font-size: 18px;
	}
	.page-doctors .sec-subtitle {
    	margin-top: 10px;
	}
	.reviews-slider {
		margin: 30px auto 0;
	}
	.col-2 {
		max-width: 100%;
	}
	.user {
		gap: 7px;
	}
	.reviews .custom-nav {
		top: 50%;
	}
	.page-doctors .doctors {
		padding: 30px 0 0;
	}
	.doc-info h3 {
		font-size: 20px;
		min-height: 54px;
		padding-bottom: 14px;
		text-align: center;
	}
	.page-doctors .doc-info span {
    	margin-bottom: 20px;
	}
	.about-content {
		flex-wrap: wrap;
		margin-top: 10px;
	}
	.about-content .image {
		display: none;
	}
	.page-template-about .text-block {
    	padding: 30px 0 50px;
	}
	 .main-menu li {
    	display: block;
  	}
	.main-menu .sub-menu, .main-menu .children {
		position: static;
		opacity: 1;          
		visibility: visible;
		transform: none;
		display: none;  
		background: #fff;
		border-radius: 0;
		padding: 0 0 0 15px;
	}
	.main-menu li:hover > .sub-menu, .main-menu li:hover > .children {
		display: none;
	}
	.menu-item-has-children > a::after {
		transform: rotate(180deg);
	}
	.menu-item-has-children.open > a::after { 
		transform: rotate(-90deg); /* вниз */ 
	}
	.main-menu li.open > .sub-menu, .main-menu li.open > .children {
		display: block;
	}
	.menu-item > .sub-menu > .menu-item > .sub-menu {
		margin-left: 30px;
	}
	.menu-item > .sub-menu a {
		padding: 0 15px;
	}
	.menu-item > .sub-menu {
		margin: 15px 0;
	}
	.doc-info {
		min-height: 205px;
		align-items: center;
	}
	.doc-img img {
        height: 100%;
    }
	.card-main {
		grid-template-columns: minmax(0, 1fr);
	}
	.card-map {
		grid-template-columns: minmax(0, 1fr);
	}
	.single-doctor .doctor-photo img {
		width: 100%;
		margin-right: 0;
	}
	.doctor-speciality {
		text-align: center;
		margin-top: 10px;
	}
	.request-wrapper {
		flex-wrap: wrap;
		padding: 25px 15px;
		gap: 20px;
	}
	.request-img img {
		width: 100%;
		height: auto;
	}
	.block-title {
		font-size: 28px;
	}
	.request-text {
		width: 100%;
	}
	.glav-doc .description h2 {
		font-size: 28px;
	}
	.glav-doc .description p {
		font-size: 20px;
	}
	.category-title h1, .service-title h1 {
		font-size: 28px;
	}
	.service-razdel-item a {
		font-size: 16px;
		padding: 7px 20px;
	}
	.category-description .container {
		font-size: 16px;
		text-align: center;
		padding: 20px;
		border-radius: 0;
	}
	.cat-adv-item {
		width: 100%;
	}
	.pum-theme-308 .pum-title, .pum-theme-lightbox .pum-title {
		font-size: 28px;
	}
	.related-news__title {
		font-size: 18px;
	}
	.news-card {
		flex-wrap: wrap;
	}
	.news-card__image {
		width: 100%;
	}
	.news-card__content {
		width: 100%;
	}
	.article-text h2 {
		font-size: 20px;
	}
}

@media (max-width: 440px) {
	.container {
		max-width: 100%;
	}
	.wrapper-adv {
		grid-template-columns: repeat(1, 1fr);
	}
	.text {
        padding: 19px 28px;
		font-size: 18px;
    }
	.service-item {
		padding: 15px 20px;
		min-height: 220px;
	}
	.reviews, .question-form, .services, .doctors, .text-block, .about, .advantages, .request, .doctor-certificates, .glav-doc, .rating, .category-banner, .service-banner, .category-description, .cat-advantages, .service-list, .service-advantages, .grey-request, .service-price, .page-template-content {
		padding: 30px 0;
	}
	.service-description {
		padding-bottom: 30px;
	}
	.f-services {
		grid-template-columns: repeat(1, 1fr);
		gap: 15px;
	}
	.page-doctors .doctors .doc-item {
        flex: 0 1 100%;
    }
	.custom-logo {
		width: 140px;
	}
	.header-contact {
		gap: 7px;
	}
	.header-icon {
		width: 35px;
		height: 35px;
	}
	.question-form form {
		justify-content: center;
	}
	.custom-next, .custom-doc-next, .custom-reviews-next, .custom-prev, .custom-doc-prev, .custom-reviews-prev {
		width: 30px;
		height: 30px;
	}
	.wpcf7-acceptance label {
		font-size: 12px;
	}
	.user-name {
		font-size: 18px;
	}
	.main-navigation {
		top: 66.44px;
	}
	.info-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.map-frame {
		height: 220px;
	}
	.doctor-certificates .certificate-item img {
		height: 300px;
	}
	.single-doctor {
		padding-bottom: 30px;
	}
	.doctor-certificates h2, .request-text h3 {
		font-size: 28px;
	}
	.request-text p {
		font-size: 16px;
	}
	.contacts {
		padding: 0 0 30px;
	}
	.card-main {
		margin-top: 30px;
	}
	.glav-doc .container {
		padding: 20px;
	}
	.glav-doc .description {
		padding: 20px 10px 0;
	}
	.glav-doc .description h2 {
		font-size: 22px;
	}
	.glav-doc .image {
		height: 382px;
	}
	.glav-doc .image::after {
		display: none;
	}
	.service-category-item a {
		font-size: 18px;
	}
	.categories-wrapper {
		margin-top: 20px;
	}
	.cat-adv-wrapper {
		gap: 15px;
	}
	.price-item p, .price-item span {
		font-size: 16px;
	}
	.price-item span {
		min-width: 120px;
		text-align: right;
	}
	.price-item {
		padding: 7px 15px;
	}
	.doctors-slider .doc-info {
		min-height: 165px;
	}
	.page-template-content ol {
		margin-left: 15px;
	}
}