:root {
	--lzp-primary-green: #4fa71a;
	--lzp-primary-green-hover: #254f0c;
	--lzp-primary-blue: #28a3d5;
	--lzp-light-blue: #F8F8F8;
	--lzp-light-beige: #F8F9FA;
	--lzp-gray: #bdbcbc;
	--lzp-dark-gray: #333333;
	--lzp-medium-gray: #666666;
	--lzp-light-gray: #F0F0F0;
	--lzp-border-radius: 12px;
	--lzp-transition: all 0.3s ease;
	--lzp-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.lzp-btn {
	flex: 1;
	padding: 12px 24px;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	transition: var(--lzp-transition);
	cursor: pointer;
	border: none;
}

.lzp-btn-primary {
	background: var(--lzp-primary-green);
	color: white!important;
}

.lzp-btn-primary:hover,
.lzp-btn-primary:focus {
	text-decoration: none!important;
	background: #3d8b40;
	outline: none!important;
}

.lzp-btn-secondary {
	background: white;
	color: var(--lzp-primary-green);
	border: 1px solid var(--lzp-primary-green);
}

.lzp-btn-secondary:hover {
	color: var(--lzp-primary-green);
	background: var(--lzp-light-beige);
}

.lzp-tags {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-bottom: 40px;
	flex-wrap: wrap;
}

.lzp-tags-a {
	padding: 10px 20px;
	border-radius: 25px;
	border: 1px solid var(--lzp-light-gray);
	background: #fff;
	cursor: pointer;
	transition: var(--lzp-transition);
	color: var(--lzp-medium-gray);
	font-weight: 500;
	text-decoration: none;
}

.lzp-tags-a:hover, .lzp-tags-a.active {
	background: var(--lzp-primary-blue);
	color: #fff;
	border-color: var(--lzp-primary-blue);
}

.lzp-list-check,
.lzp-list-steps {
	list-style: none !important;
	padding: 0 !important;
	margin: 25px 0 !important;
}
.lzp-list-steps b {
	font-weight: 500;
}

.lzp-list-check li,
.lzp-list-steps li {
	position: relative !important;
	padding-left: 20px !important; /* Отступ текста от края с учетом круга 26px */
	margin-bottom: 16px !important;
	line-height: 1.6 !important;
	min-height: 26px !important;
	display: block !important;
}

/* 2. ЗЕЛЕНЫЙ СПИСОК (Check-list) */
.lzp-list-check li::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 6px !important;
	width: 15px !important;
	height: 15px !important;
	background-color: var(--lzp-primary-green) !important;
	border-radius: 50% !important;
}

.lzp-list-check._rounded li::before {
	background-color: transparent !important;
	border:1px solid var(--lzp-primary-green);
}


/* Белая галочка внутри зеленого круга */
.lzp-list-check li::after {
	content: "" !important;
	position: absolute !important;
	left: 4px !important;
	top: 11px !important;
	width: 7px !important;
	height: 4px !important;
	border-left: 2px solid #fff !important;
	border-bottom: 2px solid #fff !important;
	transform: rotate(-45deg) !important;
}

.lzp-list-check._rounded li::after {
	border-color: var(--lzp-primary-green)!important;
}

/* 3. ГОЛУБОЙ СПИСОК (Steps) */
.lzp-list-steps {
	counter-reset: lzp-step !important;
}

.lzp-list-steps > li {
	padding-left: 40px!important;
}

.lzp-list-steps > li::before {
	content: counter(lzp-step) !important;
	counter-increment: lzp-step !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 30px !important;
	height: 30px !important;
	background-color: var(--lzp-primary-blue) !important;
	color: #fff !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: bold !important;
	font-size: 13px !important; /* Чуть уменьшил шрифт для круга 26px */
}
.lzp-list-steps._rounded > li::before {
	background-color: transparent!important;
	border: 1px solid var(--lzp-primary-blue) !important;
}

.lzp-list-steps._green > li::before {
	background-color: var(--lzp-primary-green) !important;
}

.lzp-list-steps._rounded._green > li::before {
	background-color: transparent!important;
	border: 1px solid var(--lzp-primary-green) !important;
	color: var(--lzp-primary-green) !important;
}
.lzp-list-steps > li ul:not([class]) > li:before {
	color: var(--lzp-primary-blue) !important;
}

.lzp-list-dot {
	list-style: none !important;
	padding: 0 !important;
	margin: 25px 0 !important;
}

.lzp-list-dot b {
	font-weight: 500;
}

.lzp-list-dot li {
	position: relative !important;
	padding-left: 20px !important;
	margin-bottom: 12px !important;
	line-height: 1.6 !important;
	display: block !important;
}

.lzp-list-dot li::before {
	content: "" !important;
	position: absolute !important;
	left: 4px !important;
	top: 8px !important;
	width: 10px !important;
	height: 10px !important;
	border: 2px solid var(--lzp-primary-blue) !important;
	background-color: transparent !important;
	border-radius: 50% !important;
	box-sizing: border-box !important;
}
.lzp-list-dot._green li::before {
	border: 2px solid var(--lzp-primary-green) !important;
}
.lzp-list-dot._fill li::before {
	left: 4px !important;
	top: 11px !important;
	width: 5px !important;
	height: 5px !important;

	background-color: var(--lzp-primary-blue) !important;
}
.lzp-list-dot._green._fill li::before {
	background-color: var(--lzp-primary-green) !important;
}

.lzp-list-line {
	list-style: none !important;
	padding: 0 !important;
	margin: 25px 0 !important;
}
.lzp-list-line li {
	position: relative !important;
	padding-left: 20px !important;
	margin-bottom: 12px !important;
	line-height: 1.6 !important;
	display: block !important;
}

.lzp-list-line li::before {
	content: "" !important;
	position: absolute !important;
	left: 0px !important;
	top: 12px !important;
	width: 12px !important;
	height: 2px !important;
	background-color: var(--lzp-primary-green);
	box-sizing: border-box !important;
}
.lzp-list-line._blue li::before {
	background-color: var(--lzp-primary-blue);
}


.lzp-info-box {
	background-color: #eef7ff !important;
	/* Убираем скругление полностью для соответствия стилю цитаты */
	border-radius: 0 !important;
	/* Акцентная линия как у blockquote, но синяя */
	border: none !important;
	border-left: 4px solid var(--lzp-primary-blue) !important;

	padding: 20px 25px !important;
	margin: 30px 0 !important;
	color: var(--lzp-dark-gray) !important;
	line-height: 1.6 !important;
	display: flex !important;
	gap: 15px !important;
}

/* Иконка тоже станет чуть строже */
.lzp-info-box::before {
	content: "i" !important;
	background-color: var(--lzp-primary-blue) !important;
	color: #fff !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	border-radius: 50% !important; /* Кружок иконки оставляем, это стандарт */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: bold !important;
	font-size: 14px !important;
	margin-top: 2px !important;
}
@media (max-width: 565px) {
	.lzp-info-box {
		display: block!important;
	}
	.lzp-info-box::before {
		margin-bottom: 5px;
	}
}


.lzp-list-promo {
	background-color: var(--lzp-light-beige) !important;
	border: 2px dashed var(--lzp-primary-blue) !important;
	border-radius: var(--lzp-border-radius) !important;
	padding: 25px !important;
	margin: 35px 0 !important;
	position: relative !important;
	overflow: hidden !important;
}
.lzp-list-promo p:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.lzp-list-promo ul,
.lzp-list-promo ol {
	margin-top: 15px !important;
	margin-bottom: 0 !important;
}

.lzp-list-promo h4,
.lzp-list-promo-title {
	margin: 0 !important;
	color: var(--lzp-primary-blue) !important;
	font-size: 1.3rem !important;
	margin-bottom: 10px!important;
}
.lzp-list-promo-title_small {
	font-size: 1.1rem !important;
}
.lzp-cta-simple_short .lzp-cta-title {
	font-size: 1.3rem !important;
}
.lzp-content ul:not([class]) li::before {
	top: -3px !important;
}

@media (max-width: 767px) {
	.lzp-content ul:not([class]) li::before {
		top: -3px !important;
	}
}


/* нумерованный список */
.lzp-list-numbered {
	list-style: none !important;
	padding: 0 !important;
	margin: 20px 0 !important;
	counter-reset: lzp-number !important;
}

.lzp-list-numbered li {
	position: relative !important;
	padding-left: 16px !important;
	margin-bottom: 15px !important;
	line-height: 1em !important;
	counter-increment: lzp-number !important;
	font-size: 16px;
	color: #1F2937;
}

.lzp-list-numbered li::before {
	content: counter(lzp-number) "." !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	color: var(--lzp-primary-green) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
}

/* Нумерованный список в несколько колонок */
.lzp-list-numbered-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 20px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 20px 0 !important;
	counter-reset: lzp-number-grid !important;
}
.lzp-list-numbered-grid._2_col { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.lzp-list-numbered-grid._3_col { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.lzp-list-numbered-grid._4_col { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.lzp-list-numbered-grid._5_col { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.lzp-list-numbered-grid._6_col { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

/* АДАПТИВ */

/* Планшеты (горизонтальные и вертикальные) */
@media (max-width: 1024px) {
	/* Ограничиваем сетки с 4, 5 и 6 колонками максимум до 3 колонок */
	.lzp-list-numbered-grid._4_col,
	.lzp-list-numbered-grid._5_col,
	.lzp-list-numbered-grid._6_col {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

/* Маленькие планшеты и крупные телефоны */
@media (max-width: 768px) {
	/* Базовая сетка и сетки с 3+ колонками сжимаются до 2 колонок */
	.lzp-list-numbered-grid,
	.lzp-list-numbered-grid._3_col,
	.lzp-list-numbered-grid._4_col,
	.lzp-list-numbered-grid._5_col,
	.lzp-list-numbered-grid._6_col {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* Немного уменьшаем зазор между элементами для экономии места */
	.lzp-list-numbered-grid {
		gap: 15px !important;
	}
}

/* Мобильные телефоны */
@media (max-width: 480px) {
	/* Абсолютно все сетки выстраиваются в 1 колонку */
	.lzp-list-numbered-grid,
	.lzp-list-numbered-grid._2_col,
	.lzp-list-numbered-grid._3_col,
	.lzp-list-numbered-grid._4_col,
	.lzp-list-numbered-grid._5_col,
	.lzp-list-numbered-grid._6_col {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
}


.lzp-list-numbered-grid li {
	position: relative !important;
	padding: 10px !important;
	padding-top: 31px !important;
	background: var(--lzp-light-blue) !important;
	border-radius: 5px !important;
	counter-increment: lzp-number-grid !important;
	line-height: 1 !important;
	font-size: 16px;
}

.lzp-list-numbered-grid li::before {
	content: counter(lzp-number-grid) !important;
	position: absolute !important;
	left: 10px !important;
	top: 10px !important;
	color: var(--lzp-primary-green) !important;
	font-weight: 600 !important;
	font-size: 16px !important;
}

/* Пошаговый список с крупными цифрами (01, 02, 03) */
.lzp-list-steps-large {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 20px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 40px 0 !important;
	counter-reset: lzp-step-large !important;

}

.lzp-list-steps-large li {
	position: relative !important;
	padding: 20px!important;
	padding-top: 70px !important;
	counter-increment: lzp-step-large !important;
	line-height: 1.6 !important;
	background: var(--lzp-light-blue);
	border-radius: 5px;
}

.lzp-list-steps-large li::before {
	content: counter(lzp-step-large, decimal-leading-zero) !important;
	position: absolute !important;
	left: 20px !important;
	top: 20px !important;
	color: var(--lzp-primary-green) !important;
	font-weight: 600 !important;
	font-size: 2.5rem !important;
	line-height: 1 !important;
}
.lzp-list-steps-large._2_col {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.lzp-list-steps-large._4_col {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 991px) {
	.lzp-list-steps-large._4_col {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.lzp-list-steps-large {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 565px) {
	.lzp-list-steps-large {
		grid-template-columns: repeat(1, 1fr) !important;
	}
	.lzp-list-steps-large._4_col {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
	.lzp-list-steps-large._2_col {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
}

/* ============================================
   2. СЕТКИ ИКОНОК
   ============================================ */

.lzp-icon-grid {
	display: grid !important;
	gap: 30px !important;
	margin: 30px 0 !important;
}

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

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

.lzp-icon-grid-4 {
	grid-template-columns: repeat(4, 1fr) !important;
}

.lzp-icon-item {
	text-align: center !important;
	padding: 20px !important;
}

.lzp-icon-item-img {
	width: 60px !important;
	height: 60px !important;
	margin: 0 auto 15px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.lzp-icon-item-img img {
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
}

.lzp-icon-item-title {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--lzp-dark-gray) !important;
	margin-bottom: 8px !important;
}

.lzp-icon-item-subtitle {
	font-size: 0.9rem !important;
	color: var(--lzp-medium-gray) !important;
	line-height: 1.5 !important;
}

@media (max-width: 767px) {
	.lzp-icon-grid-3,
	.lzp-icon-grid-4 {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	.lzp-icon-grid-2,
	.lzp-icon-grid-3,
	.lzp-icon-grid-4 {
		grid-template-columns: 1fr !important;
	}
}

/*
.lzp-appointment-form {
	background: white !important;
	border: 2px dashed var(--lzp-primary-blue) !important;
	border-radius: var(--lzp-border-radius) !important;
	padding: 30px !important;
	margin: 30px 0 !important;
}

.lzp-appointment-form-title {
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	color: var(--lzp-dark-gray) !important;
	margin-bottom: 20px !important;
}

.lzp-appointment-form-row {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
	gap: 15px !important;
	margin-bottom: 20px !important;
}

.lzp-appointment-form-field {
	display: flex !important;
	flex-direction: column !important;
}

.lzp-appointment-form-field label {
	font-size: 0.9rem !important;
	color: var(--lzp-medium-gray) !important;
	margin-bottom: 8px !important;
}

.lzp-appointment-form-field input,
.lzp-appointment-form-field select {
	padding: 12px 15px !important;
	border: 1px solid var(--lzp-light-gray) !important;
	border-radius: 8px !important;
	font-size: 1rem !important;
	transition: var(--lzp-transition) !important;
	outline: none !important;
}

.lzp-appointment-form-field input:focus,
.lzp-appointment-form-field select:focus {
	border-color: var(--lzp-primary-blue) !important;
	box-shadow: 0 0 0 3px rgba(40, 163, 213, 0.1) !important;
}

.lzp-appointment-form-submit {
	width: 100% !important;
	padding: 14px !important;
	background: var(--lzp-primary-green) !important;
	color: white !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: var(--lzp-transition) !important;
}

.lzp-appointment-form-submit:hover {
	background: #3d8b40 !important;
}
 */

/* Компактная форма записи */
.lzp-appointment-form-compact,
.lzp-appointment-form-compact_vertical {
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
	background: var(--lzp-light-beige) !important;
	padding: 20px !important;
	border-radius: var(--lzp-border-radius) !important;
	margin: 20px 0 !important;
}
.lzp-appointment-form-compact_vertical {
	display: inline-flex!important;
	flex-direction: column!important;
	align-items: flex-start!important;
}

.lzp-appointment-form-compact_vertical .lzp-appointment-form-title {
	font-size: 20px;
	font-weight: 500;
	color: #1F2937;
	margin: 0 !important;
	margin-bottom: 0px!important;

}

.lzp-appointment-form-compact .lzp-appointment-form-title {
	font-size: 20px;
	font-weight: 500;
	color: #1F2937;
	margin: 0 !important;
	margin-bottom: 5px!important;
	flex: 1 !important;
}
.lzp-appointment-form-compact-info {
	flex-grow: 1;
}

@media (max-width: 767px) {
	.lzp-appointment-form-compact {
		flex-direction: column !important;
		align-items: stretch !important;
	}
}

/* ============================================
   4. ИНФОРМАЦИОННЫЕ БЛОКИ (цитаты, предупреждения)
   ============================================ */

/* Блок с цитатой */
.lzp-quote-box {
	background: #4FA71A1A !important;
	padding: 20px 20px 20px 70px !important;
	margin: 30px 0 !important;
	position: relative !important;
	line-height: 1.6 !important;
	color: var(--lzp-dark-gray) !important;
	border-radius: 5px;
	border: 1px solid #4FA71A4D !important;
}
.lzp-quote-box p {
	margin: 0;
	padding-left: 0px !important;
	font-size: 18px;
	color: #1F2937;
}
.lzp-quote-box-icon {
	position: absolute;
	width: 30px;
	height: 30px;
	left: 20px;
	top: 20px;
}
.lzp-quote-box cite {
	font-size: 16px;
	color: #1F2937;
}

.lzp-quote-box::before {
	content: """ !important;
	position: absolute !important;
	left: 10px !important;
	top: 10px !important;
	font-size: 3rem !important;
	color: var(--lzp-primary-green) !important;
	opacity: 0.3 !important;
	line-height: 1 !important;
	font-family: Georgia, serif !important;
}

/* Блок "Важно знать" */
.lzp-info-important {
	background: #eef7ff !important;
	border-radius: var(--lzp-border-radius) !important;
	border: 1px solid #81BBDC4D;
	padding: 20px !important;
	margin: 25px 0 !important;
	display: flex !important;
	gap: 20px !important;
	align-items: flex-start !important;
}

.lzp-info-important-icon {
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	background: transparent !important;
	border: 2px solid var(--lzp-primary-blue);
	color: var(--lzp-primary-blue) !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: bold !important;
	font-size: 14px !important;
	margin-top: 2px !important;
}

.lzp-info-important-content {
	flex: 1 !important;
}

.lzp-info-important-title {
	font-weight: 600 !important;
	color: #1F2937 !important;
	margin-bottom: 10px !important;
	font-size: 20px !important;
}

.lzp-info-important-text {
	color: #1F2937 !important;
	line-height: 1.3 !important;
	font-size: 20px !important;
}

/* Блок "Обратите внимание" (предупреждение) */
.lzp-warning-box {
	background: #fff8f0 !important;
	border: 1px solid #E45A0F4D;
	border-radius: 5px !important;
	padding: 20px 25px !important;
	margin: 25px 0 !important;
	display: flex !important;
	gap: 15px !important;
	align-items: flex-start !important;
}

.lzp-warning-box-icon {
	width: 30px;
	height: 30px;
}

.lzp-warning-box-content {
	flex: 1 !important;
}

.lzp-warning-box-title {
	font-weight: 600 !important;
	color: #1F2937 !important;
	margin-bottom: 10px !important;
	font-size: 20px !important;
}

.lzp-warning-box-text {
	color: #1F2937 !important;
	line-height: 1.3 !important;
	font-size: 20px !important;
}

@media (max-width: 565px) {
	.lzp-info-important,
	.lzp-warning-box {
		flex-direction: column !important;
	}

	.lzp-info-important-icon,
	.lzp-warning-box-icon {
		margin-bottom: 10px !important;
	}
}

/* ============================================
   5. КАРТОЧКИ ВРАЧЕЙ
   ============================================ */
.lzp-doctor-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media (min-width: 576px) {
	.lzp-doctor-cards_2col {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) {
	.lzp-doctor-cards_3col {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (min-width: 480px) and (max-width: 767px) {
	.lzp-doctor-cards_3col {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.lzp-doctor-cards_4col {
		grid-template-columns: repeat(4, 1fr);
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.lzp-doctor-cards_4col {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (min-width: 480px) and (max-width: 767px) {
	.lzp-doctor-cards_4col {
		grid-template-columns: repeat(2, 1fr);
	}
}
.lzp-doctor-card {
	background: white !important;
	border-radius: var(--lzp-border-radius) !important;
	overflow: hidden !important;
	box-shadow: var(--lzp-shadow) !important;
	transition: var(--lzp-transition) !important;
	margin: 20px 0 !important;
	display: flex;
	flex-direction: column;
}

.lzp-doctor-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
	transform: translateY(-2px) !important;
}

.lzp-doctor-card-img {
	width: 100% !important;
	height: 280px !important;
	object-fit: cover !important;
	display: block !important;
}
.lzp-doctor-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lzp-doctor-card-content {
	padding: 20px !important;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
lzp-doctor-card-content-info {

}

.lzp-doctor-card-name {
	font-size: 1.2rem !important;
	font-weight: 600 !important;
	color: var(--lzp-dark-gray) !important;
	margin-bottom: 8px !important;
	margin-left: 0!important;
}

.lzp-doctor-card-specialty {
	font-size: 0.95rem !important;
	color: var(--lzp-medium-gray) !important;
	margin-bottom: 12px !important;
	line-height: 1.5 !important;
}

.lzp-doctor-card-rating {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-bottom: 5px !important;
}

.lzp-doctor-card-stars {
	color: #ffa500 !important;
	font-size: 1rem !important;
}

.lzp-doctor-card-rating-value {
	font-weight: 600 !important;
	color: var(--lzp-dark-gray) !important;
	font-size: 0.95rem !important;
}

.lzp-doctor-card-rating-count {
	color: var(--lzp-medium-gray) !important;
	font-size: 0.85rem !important;
}

.lzp-doctor-card-actions {
	display: flex !important;
	gap: 10px !important;
}

.lzp-doctor-card-actions .lzp-btn {
	flex: 1 !important;
	padding: 10px !important;
	font-size: 0.9rem !important;
}

/* Горизонтальная карточка врача */
.lzp-doctor-card-horizontal {
	display: flex !important;
	background: white !important;
	border-radius: var(--lzp-border-radius) !important;
	overflow: hidden !important;
	box-shadow: var(--lzp-shadow) !important;
	margin: 20px 0 !important;
}

.lzp-doctor-card-horizontal .lzp-doctor-card-img {
	width: 200px !important;
	height: auto !important;
	min-height: 250px !important;
}

.lzp-doctor-card-horizontal .lzp-doctor-card-content {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}
.lzp-doctor-card-horizontal .lzp-doctor-card-name {
	margin-top: 0!important;
}

@media (max-width: 767px) {
	.lzp-doctor-card-horizontal {
		flex-direction: column !important;
	}

	.lzp-doctor-card-horizontal .lzp-doctor-card-img {
		width: 100% !important;
		height: 280px !important;
	}
}

.lzp-doctor-card-short {
	display: flex;
	border: 1px solid #DDDDDD;
	border-radius: 10px;
	overflow: hidden;
}
.lzp-doctor-card-short .lzp-doctor-card-img {
	width: 150px!important;
	min-width: 150px!important;
	height: auto!important;
}
.lzp-doctor-card-short .lzp-doctor-card-content {
	flex-direction: column;
	background: #F8F8F8;
}
.lzp-doctor-card-short .lzp-btn {
	width: auto;
	flex: initial !important;
}

	/* ============================================
       6. КАРТОЧКИ УСЛУГ
       ============================================ */
.lzp-service-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

/* Настройка на 2 колонки */
@media (min-width: 576px) {
	.lzp-service-cards_2col {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Настройка на 3 колонки */
@media (min-width: 768px) {
	.lzp-service-cards_3col {
		grid-template-columns: repeat(3, 1fr);
	}
}
/* Адаптив для 3 колонок: на телефонах пошире делаем 2 колонки */
@media (min-width: 480px) and (max-width: 767px) {
	.lzp-service-cards_3col {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Настройка на 4 колонки */
@media (min-width: 992px) {
	.lzp-service-cards_4col {
		grid-template-columns: repeat(4, 1fr);
	}
}
/* Адаптив для 4 колонок: плавный переход 4 -> 3 -> 2 колонки */
@media (min-width: 768px) and (max-width: 991px) {
	.lzp-service-cards_4col {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (min-width: 480px) and (max-width: 767px) {
	.lzp-service-cards_4col {
		grid-template-columns: repeat(2, 1fr);
	}
}
.lzp-service-card {
	background: white !important;
	border-radius: var(--lzp-border-radius) !important;
	overflow: hidden !important;
	box-shadow: var(--lzp-shadow) !important;
	transition: var(--lzp-transition) !important;
	margin: 20px 0 !important;
}

.lzp-service-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
	transform: translateY(-2px) !important;
}

.lzp-service-card-img {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover !important;
	display: block !important;
}
.lzp-service-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lzp-service-card-content {
	padding: 20px !important;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.lzp-service-card-title {
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--lzp-dark-gray) !important;
	margin: 0px !important;
	margin-bottom: 5px!important;
}

.lzp-service-card-price {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	color: var(--lzp-primary-green) !important;
	margin-bottom: 15px !important;
}

.lzp-service-card-price span {
	font-size: 0.9rem !important;
	color: var(--lzp-medium-gray) !important;
	font-weight: 400 !important;
}
.lzp-service-card-content-actions .lzp-btn {
	padding: 6px 12px;
	width: 100%;
}

.lzp-service-card_horizontal {
	flex-direction: row !important;
	display: flex;
}
.lzp-service-card_horizontal .lzp-service-card-img {
	height: auto!important;
	width: 150px!important;
	border-radius: 10px;
	overflow: hidden;
}
.lzp-service-card_horizontal .lzp-list-check li,
.lzp-service-card_horizontal .lzp-list-steps li {
	margin-bottom: 5px!important;
}
.lzp-service-card_horizontal .lzp-service-card-content-actions {
	display: flex;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
}
.lzp-service-card_horizontal .lzp-service-card-price {
	margin-bottom: 0px!important;
}

/* Горизонтальная карточка услуги */
.lzp-service-card-horizontal {
	display: flex !important;
	background: white !important;
	border-radius: var(--lzp-border-radius) !important;
	overflow: hidden !important;
	box-shadow: var(--lzp-shadow) !important;
	margin: 20px 0 !important;
}

.lzp-service-card-horizontal .lzp-service-card-img {
	width: 250px !important;
	height: auto !important;
	min-height: 200px !important;
}

.lzp-service-card-horizontal .lzp-service-card-content {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

@media (max-width: 767px) {
	.lzp-service-card-horizontal {
		flex-direction: column !important;
	}

	.lzp-service-card-horizontal .lzp-service-card-img {
		width: 100% !important;
		height: 200px !important;
	}
}

/* ============================================
   7. ТЕКСТ В 2 КОЛОНКИ
   ============================================ */

.lzp-text-columns {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 30px !important;
	margin: 30px 0 !important;
}

.lzp-text-columns h3,
.lzp-text-columns h4 {
	margin-top: 0 !important;
	margin-bottom: 15px !important;
	color: var(--lzp-dark-gray) !important;
}

.lzp-text-columns p {
	line-height: 1.7 !important;
	color: var(--lzp-medium-gray) !important;
	margin-bottom: 15px !important;
}

.lzp-text-columns p:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 767px) {
	.lzp-text-columns {
		grid-template-columns: 1fr !important;
	}
}

/* ============================================
   8. БЛОКИ С ИЗОБРАЖЕНИЕМ И ТЕКСТОМ
   ============================================ */

.lzp-image-text-block {
	display: flex !important;
	gap: 30px !important;
	align-items: center !important;
	margin: 40px 0 !important;
}

.lzp-image-text-block-img {
	flex: 0 0 40% !important;
	max-width: 40% !important;
}

.lzp-image-text-block-img img {
	width: 100% !important;
	height: auto !important;
	border-radius: var(--lzp-border-radius) !important;
	display: block !important;
}

.lzp-image-text-block-content {
	flex: 1 !important;
}

.lzp-image-text-block-content h3 {
	margin-top: 0 !important;
	margin-bottom: 15px !important;
	color: var(--lzp-dark-gray) !important;
}

.lzp-image-text-block-content p {
	line-height: 1.7 !important;
	color: var(--lzp-medium-gray) !important;
	margin-bottom: 15px !important;
}

.lzp-image-text-block-content p:last-child {
	margin-bottom: 0 !important;
}

/* Обратное расположение (картинка справа) */
.lzp-image-text-block-reverse {
	flex-direction: row-reverse !important;
}

@media (max-width: 767px) {
	.lzp-image-text-block,
	.lzp-image-text-block-reverse {
		flex-direction: column !important;
	}

	.lzp-image-text-block-img,
	.lzp-image-text-block-reverse .lzp-image-text-block-img {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}

/* ============================================
   9. ГАЛЕРЕЯ ИЗОБРАЖЕНИЙ
   ============================================ */

.lzp-gallery {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
	gap: 15px !important;
	margin: 30px 0 !important;
}

.lzp-gallery-item {
	position: relative !important;
	overflow: hidden !important;
	border-radius: var(--lzp-border-radius) !important;
	cursor: pointer !important;
	aspect-ratio: 4/3 !important;
}

.lzp-gallery-item img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: var(--lzp-transition) !important;
	display: block !important;
}

.lzp-gallery-item:hover img {
	transform: scale(1.05) !important;
}

.lzp-gallery-item-overlay {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: rgba(0, 0, 0, 0.3) !important;
	opacity: 0 !important;
	transition: var(--lzp-transition) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.lzp-gallery-item:hover .lzp-gallery-item-overlay {
	opacity: 1 !important;
}

.lzp-gallery-item-overlay-icon {
	color: white !important;
	font-size: 2rem !important;
}

@media (max-width: 767px) {
	.lzp-gallery {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	.lzp-gallery {
		grid-template-columns: 1fr !important;
	}
}

/* ============================================
   10. ЗАГОЛОВОК БЛОКА
   ============================================ */

.lzp-section-header {
	margin-bottom: 30px !important;
}

.lzp-section-header h2 {
	font-size: 2rem !important;
	font-weight: 700 !important;
	color: var(--lzp-dark-gray) !important;
	margin-bottom: 15px !important;
}

.lzp-section-header p {
	font-size: 1.1rem !important;
	color: var(--lzp-medium-gray) !important;
	line-height: 1.6 !important;
	max-width: 800px !important;
}

/* ============================================
   11. CTA БЛОКИ (призывы к действию)
   ============================================ */

.lzp-cta-block {
	background: var(--lzp-light-beige) !important;
	border-radius: var(--lzp-border-radius) !important;
	padding: 40px !important;
	text-align: center !important;
	margin: 40px 0 !important;
}

.lzp-cta-block h3 {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: var(--lzp-dark-gray) !important;
	margin-bottom: 15px !important;
}

.lzp-cta-block p {
	font-size: 1.1rem !important;
	color: var(--lzp-medium-gray) !important;
	margin-bottom: 25px !important;
	line-height: 1.6 !important;
}

.lzp-cta-block .lzp-btn {
	display: inline-block !important;
	padding: 14px 40px !important;
	font-size: 1rem !important;
}
@media (max-width: 565px) {
	.lzp-cta-block {
		padding: 20px !important;
		margin: 30px 0 !important;
	}
	.lzp-cta-block h3 {
		font-size: 1.3rem !important;
	}
}

/* ============================================
   12. ТАБЛИЦЫ
   ============================================ */
.col-xs-12.col-sm-8.col-md-9 .lzp-table tbody tr {
	display: table-row !important;
}
.lzp-table-wrapper {
	overflow-x: auto !important;
	margin: 30px 0 !important;
	border-radius: var(--lzp-border-radius) !important;
	box-shadow: var(--lzp-shadow) !important;
}

.lzp-table {
	width: 100% !important;
	border-collapse: collapse !important;
	background: white !important;
}

.lzp-table thead {
	background: var(--lzp-primary-green) !important;
	color: white !important;
}

.lzp-table th {
	padding: 15px 20px !important;
	text-align: left !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
}

.lzp-table td {
	padding: 15px 20px !important;
	border-bottom: 1px solid var(--lzp-light-gray) !important;
	color: var(--lzp-dark-gray) !important;
	font-size: 0.95rem !important;
}

.lzp-table tbody tr:hover {
	background: var(--lzp-light-beige) !important;
}

.lzp-table tbody tr:last-child td {
	border-bottom: none !important;
}

/* ============================================
   13. АККОРДЕОН (FAQ)
   ============================================ */

.lzp-accordion {
	margin: 30px 0 !important;
}

.lzp-accordion-item {
	background: white !important;
	border-radius: var(--lzp-border-radius) !important;
	margin-bottom: 15px !important;
	overflow: hidden !important;
	box-shadow: var(--lzp-shadow) !important;
}

.lzp-accordion-header {
	padding: 20px 25px !important;
	cursor: pointer !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	font-weight: 600 !important;
	color: var(--lzp-dark-gray) !important;
	transition: var(--lzp-transition) !important;
}

.lzp-accordion-header:hover {
	background: var(--lzp-light-beige) !important;
}

.lzp-accordion-icon {
	font-size: 1.5rem !important;
	color: var(--lzp-primary-green) !important;
	transition: var(--lzp-transition) !important;
}

.lzp-accordion-item.active .lzp-accordion-icon {
	transform: rotate(45deg) !important;
}

.lzp-accordion-content {
	padding: 0 25px 20px !important;
	color: var(--lzp-medium-gray) !important;
	line-height: 1.7 !important;
	display: none !important;
}

.lzp-accordion-item.active .lzp-accordion-content {
	display: block !important;
}

.lzp-main-banner {
	background: url("../images/lzp-main-banner-bg.jpg") center no-repeat;
	background-size: cover;
	color: white;
	border-radius: 10px;
	overflow: hidden;
	min-height: 400px;
	padding: 60px;
	margin: 50px 0;
	display: flex;
	position: relative;
}
.lzp-main-banner-title {
	font-family: 'Magistral';
	font-weight: 800;
	font-size: 64px!important;
	text-transform: uppercase;
}
.lzp-main-banner-info {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}
.lzp-main-banner-sign {
	width: 70%;
	font-size: 22px!important;
}
.lzp-main-banner .lzp-btn {
	background: white;
	border-radius: 8px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1em;
	text-align: center;
	min-width: 270px;
	color: var(--lzp-primary-blue);
	padding: 21px 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.lzp-main-banner-img {
	position: absolute;
	right: 0px;
	bottom: -60px;
	z-index: 0;
	max-width: 440px;
}
@media (max-width: 991px) {
	.lzp-main-banner {
		min-height: 360px;
		padding: 50px;
		margin: 40px 0;
	}
	.lzp-main-banner-title {
		font-size: 54px !important;
	}
	.lzp-main-banner-sign {
		font-size: 18px!important;
	}
	.lzp-main-banner-img {
		max-width: 390px;
	}
}
@media (max-width: 767px) {
	.lzp-main-banner {
		min-height: 310px;
		padding: 35px;
		margin: 35px 0;
	}
	.lzp-main-banner-title {
		font-size: 34px !important;
	}
	.lzp-main-banner-sign {
		width: 70%;
		font-size: 16px!important;
	}
	.lzp-main-banner-img {
		max-width: 320px;
	}
	.lzp-main-banner .lzp-btn {
		font-size: 16px;
		min-width: 0px;
		padding: 16px 32px;
	}
}
@media (max-width: 500px) {
	.lzp-main-banner {
		min-height: 290px;
	}
	.lzp-main-banner-title {
		font-size: 26px !important;
	}
	.lzp-main-banner-sign {
		width: 100%;
	}
	.lzp-main-banner-img {
		max-width: 50%;
		bottom: -30px;
	}
}