/* === ПЕРЕМЕННЫЕ === */
:root {
	--primary-teal: #77cac8;
	--dark-teal: #5a9b99;
	--accent-red: #c44569;
	--dark-red: #a8384a;
	--urgent-orange: #ff6b35;
	--success-green: #00b894;
	--deep-purple: #6c5ce7;
	--white: #ffffff;
	--dark: #2d3436;
	--gray: #636e72;
	--bg-light: #f8f9fa;
}

/* === СБРОС И БАЗОВЫЕ СТИЛИ === */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	line-height: 1.6;
	color: var(--dark);
	overflow-x: hidden;
}

body.modal-open {
	overflow: hidden;
	height: 100vh;
}

img {
	max-width: 100%;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* === УНИВЕРСАЛЬНЫЕ КОМПОНЕНТЫ === */

/* Секции */
.section {
	padding: 80px 0;
	position: relative;
	overflow: hidden;
}

.section-header {
	text-align: center;
	margin-bottom: 60px;
	position: relative;
	z-index: 2;
}

.section-badge {
	display: inline-block;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	padding: 8px 25px;
	border-radius: 25px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 20px;
}

.section-title {
	font-size: 42px;
	font-weight: 800;
	color: var(--dark);
	margin-bottom: 20px;
	line-height: 1.2;
}

.section-subtitle {
	font-size: 18px;
	color: var(--gray);
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.5;
}

/* Кнопки */
.btn-primary {
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
	color: var(--white);
	border: none;
	padding: 16px 32px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.btn-primary:hover {
	background: linear-gradient(135deg, var(--dark-red), #8e2e3f);
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(196, 69, 105, 0.4);
	color: var(--white);
}

.btn-secondary {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	color: var(--white);
	border: 2px solid rgba(255, 255, 255, 0.3);
	padding: 16px 32px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.4s ease;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.btn-secondary:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: var(--white);
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
	color: var(--white);
}

/* Формы */
.input-group {
	margin-bottom: 20px;
	position: relative;
}

.input-group i {
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--primary-teal);
	font-size: 16px;
	z-index: 1;
}

.input-group input,
.input-group select,
.input-group textarea {
	width: 100%;
	padding: 16px 20px 16px 55px;
	border: 2px solid #e9ecef;
	border-radius: 25px;
	font-size: 15px;
	transition: all 0.3s ease;
	background: var(--white);
	font-family: inherit;
}

.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus {
	outline: none;
	border-color: var(--primary-teal);
	box-shadow: 0 0 20px rgba(119, 202, 200, 0.2);
	transform: translateY(-1px);
}

.input-group textarea {
	border-radius: 20px;
	resize: vertical;
	min-height: 120px;
	padding-top: 16px;
}

/* Карточки */
.card {
	background: var(--white);
	border-radius: 20px;
	padding: 30px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
	border: 2px solid transparent;
}

.card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
	border-color: var(--primary-teal);
}

.card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(135deg, var(--primary-teal), var(--accent-red));
}

/* Градиентные фоны */
.bg-gradient-teal {
	background: linear-gradient(135deg, var(--primary-teal) 0%, var(--dark-teal) 100%);
	color: var(--white);
}

.bg-gradient-teal::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: 
		radial-gradient(circle at 20% 30%, rgba(255,255,255,0.1) 0%, transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(255,255,255,0.05) 0%, transparent 50%);
	pointer-events: none;
}

.bg-light-pattern::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: 
		radial-gradient(circle at 10% 20%, rgba(119,202,200,0.05) 0%, transparent 50%),
		radial-gradient(circle at 90% 80%, rgba(196,69,105,0.05) 0%, transparent 50%);
	pointer-events: none;
}

/* === АНИМАЦИИ === */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(40px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translateX(-40px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translateX(40px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideUp {
	from {
		opacity: 0;
		transform: translateY(50px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.05); }
	100% { transform: scale(1); }
}

@keyframes shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-5px); }
	75% { transform: translateX(5px); }
}

/* Классы анимаций */
.animate-fade-up {
	animation: fadeInUp 0.8s ease-out forwards;
}

.animate-fade-left {
	animation: fadeInLeft 0.8s ease-out forwards;
}

.animate-fade-right {
	animation: fadeInRight 0.8s ease-out forwards;
}

.fade-in {
	animation: fadeInUp 0.6s ease-out forwards;
}

/* Задержки анимаций */
.animate-delay-1 { animation-delay: 0.2s; opacity: 0; }
.animate-delay-2 { animation-delay: 0.4s; opacity: 0; }
.animate-delay-3 { animation-delay: 0.6s; opacity: 0; }
.animate-delay-4 { animation-delay: 0.8s; opacity: 0; }
.animate-delay-5 { animation-delay: 1s; opacity: 0; }

/* === АДАПТИВНОСТЬ === */
@media (max-width: 992px) {
	.container {
		padding: 0 15px;
	}
	
	.section {
		padding: 60px 0;
	}
	
	.section-title {
		font-size: 36px;
	}
	
	.section-subtitle {
		font-size: 16px;
	}
}

@media (max-width: 768px) {
	.section {
		padding: 50px 0;
	}
	
	.section-header {
		margin-bottom: 40px;
	}
	
	.section-title {
		font-size: 28px;
	}
	
	.btn-primary,
	.btn-secondary {
		width: 100%;
		justify-content: center;
		font-size: 14px;
		padding: 14px 28px;
	}
	
	.card {
		padding: 25px 20px;
	}
}

@media (max-width: 480px) {
	.container {
		padding: 0 10px;
	}
	
	.section-title {
		font-size: 24px;
	}
	
	.btn-primary,
	.btn-secondary {
		font-size: 13px;
		padding: 12px 24px;
	}
}
/* === HEADER === */
header {
	background: linear-gradient(135deg, var(--white) 0%, var(--bg-light) 100%);
	box-shadow: 0 2px 15px rgba(119, 202, 200, 0.15);
	position: sticky;
	top: 0;
	z-index: 1000;
	transition: all 0.3s ease;
}

header.scrolled {
	box-shadow: 0 4px 25px rgba(119, 202, 200, 0.25);
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
}

.header-top {
	padding: 20px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

/* === LOGO === */
.logo-section {
	display: flex;
	align-items: center;
	flex-direction: row;
	max-width: 310px;
}

.logo-text {
	font-weight: 600;
}

.logo-header-text {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.logo-link {
	display: flex;
	text-decoration: none;
	transition: transform 0.3s ease;
}

.logo-link:hover {
	transform: scale(1.05);
}

.logo-img {
	height: 100px;
	width: auto;
	filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

.brand-text {
	font-size: 12px;
	color: var(--gray);
	font-style: italic;
	max-width: 230px;
}

/* === ЦЕНТРАЛЬНАЯ СЕКЦИЯ === */
.center-section {
	flex: 1;
	max-width: 400px;
	margin: 0 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
}

.slogan {
	font-size: 14px;
	color: var(--primary-teal);
	font-weight: 600;
	margin-bottom: 12px;
	text-align: center;
}

/* === ПОИСК ГОРОДОВ === */
.city-search {
	position: relative;
}

.city-input {
	width: 100%;
	padding: 10px 15px;
	border: 2px solid var(--primary-teal);
	border-radius: 25px;
	font-size: 13px;
	transition: all 0.3s ease;
	background: var(--white);
	color: var(--dark);
}

.city-input:focus {
	outline: none;
	border-color: var(--dark-teal);
	box-shadow: 0 0 15px rgba(119, 202, 200, 0.3);
}

.city-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--white);
	border: 2px solid var(--primary-teal);
	border-top: none;
	border-radius: 0 0 15px 15px;
	max-height: 200px;
	overflow-y: auto;
	z-index: 1050;
	box-shadow: 0 10px 25px rgba(119, 202, 200, 0.2);
	margin-top: -2px;
}

.city-list {
	list-style: none;
}

.city-item {
	border-bottom: 1px solid rgba(119, 202, 200, 0.1);
}

.city-link {
	display: block;
	padding: 12px 15px;
	color: var(--dark);
	text-decoration: none;
	transition: all 0.3s ease;
	font-size: 13px;
}

.city-link:hover {
	background: var(--primary-teal);
	color: var(--white);
	transform: translateX(5px);
}

/* === КОНТАКТЫ === */
.contact-section {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}

.phone-block {
	text-align: right;
}

.phone-link {
	font-size: 20px;
	font-weight: 700;
	color: var(--dark);
	text-decoration: none;
	transition: color 0.3s ease;
	display: block;
}

.phone-link:hover {
	color: var(--primary-teal);
}

.phone-description {
	font-size: 11px;
	color: var(--gray);
	margin-top: 4px;
}

.cta-button {
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
	color: var(--white) !important;
	border: none;
	padding: 12px 20px;
	border-radius: 25px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(196, 69, 105, 0.3);
	white-space: nowrap;
}

.cta-button:hover {
	background: linear-gradient(135deg, var(--dark-red), #8e2e3f);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(196, 69, 105, 0.4);
	color: var(--white) !important;
}

/* === МОБИЛЬНОЕ МЕНЮ === */
.mobile-menu-toggle {
	display: none;
	background: var(--primary-teal);
	border: none;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.mobile-menu-toggle:hover {
	background: var(--dark-teal);
	transform: scale(1.1);
}

.hamburger-line {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--white);
	margin: 4px auto;
	transition: all 0.3s ease;
	border-radius: 1px;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
	transform: rotate(45deg) translate(6px, 6px);
}

.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
	opacity: 0;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
	transform: rotate(-45deg) translate(6px, -6px);
}

/* === НАВИГАЦИЯ === */
.navigation {
	background: var(--primary-teal);
}

.nav {
	display: flex;
	list-style: none;
	justify-content: center;
}

.nav > li {
	position: relative;
}

.nav > li > a {
	display: block;
	padding: 15px 20px;
	color: var(--white);
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
	transition: all 0.3s ease;
}

.nav > li > a:hover {
	background: var(--dark-teal);
}

.nav li:has(ul) > a:after {
	content: '▼';
	font-size: 10px;
	margin-left: 8px;
	transition: transform 0.3s ease;
}

/* === ВЫПАДАЮЩИЕ МЕНЮ === */
.nav li ul {
	position: absolute;
	top: 100%;
	left: 0;
	background: var(--white);
	border: 2px solid var(--primary-teal);
	border-top: none;
	list-style: none;
	padding: 8px 0;
	min-width: 220px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
	z-index: 1000;
	box-shadow: 0 8px 25px rgba(119, 202, 200, 0.2);
}

.nav li:hover > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.nav li ul li a {
	display: block;
	padding: 10px 18px;
	color: var(--dark);
	text-decoration: none;
	font-size: 13px;
	transition: all 0.3s ease;
}

.nav li ul li a:hover {
	background: var(--primary-teal);
	color: var(--white);
	transform: translateX(5px);
}

.nav li ul li ul {
	position: absolute;
	top: 0;
	left: 100%;
	margin-left: 2px;
}

.nav li ul li:has(ul) > a:after {
	content: '▶';
	font-size: 10px;
	float: right;
	margin-top: 2px;
}

/* === АДАПТИВНОСТЬ === */
@media (max-width: 992px) {
	.header-top {
		padding: 15px 0;
	}
	
	.cta-button .header-btn {
		display: none;
	}
	
	.center-section {
		max-width: 300px;
		margin: 0 15px;
	}
	
	.slogan {
		font-size: 13px;
		display: none;
	}
	
	.phone-link {
		font-size: 18px;
	}
	
	.cta-button {
		padding: 10px 16px;
		font-size: 12px;
	}
}

@media (max-width: 768px) {
	.mobile-menu-toggle {
		display: block;
		order: 6;
	}
	
	.header-top {
		padding: 12px 0;
		gap: 15px;
	}
	
	.logo-section {
		gap: 10px;
	}
	
	.brand-text {
		font-size: 11px;
	}
	
	.center-section {
		order: 5;
		width: 100%;
		max-width: none;
		margin: 0;
		flex: 1 1 80%;
	}
	
	.contact-section {
		align-items: flex-start;
		gap: 10px;
		display: none;
	}
	
	.navigation {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--white);
		border-top: 3px solid var(--primary-teal);
		box-shadow: 0 10px 25px rgba(119, 202, 200, 0.3);
		z-index: 999;
	}
	
	.navigation.show {
		display: block;
		animation: slideDown 0.3s ease-out;
	}
	
	.nav {
		flex-direction: column;
	}
	
	.nav > li > a {
		padding: 15px 20px;
		color: var(--dark);
		border-bottom: 1px solid rgba(119, 202, 200, 0.1);
	}
	
	.nav > li > a:hover {
		background: var(--primary-teal);
		color: var(--white);
	}
	
	.nav li ul {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		background: rgba(119, 202, 200, 0.08);
		display: none;
		border-radius: 8px;
		margin: 5px 0;
	}
	
	.nav li.show-submenu > ul {
		display: block;
	}
	
	.nav li:has(ul) > a:after {
		content: '+';
		font-size: 18px;
		float: right;
		color: var(--primary-teal);
		font-weight: bold;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
		width: 30px;
		height: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(119, 202, 200, 0.1);
		border-radius: 50%;
	}
	
	.nav li.show-submenu > a:after {
		content: '−';
	}
}

@media (max-width: 576px) {
	.logo-img {
		height: 70px;
	}
	
	.brand-text {
		font-size: 10px;
	}
	
	.phone-link {
		font-size: 14px;
	}
	
	.cta-button {
		font-size: 11px;
		padding: 8px 14px;
	}
	
	.nav > li > a {
		padding: 12px 15px;
		font-size: 13px;
	}
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/* === МОДАЛЬНЫЕ ОКНА === */
.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(5px);
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

.modal-overlay.show {
	opacity: 1;
	visibility: visible;
}

.modal-overlay.show .modal-content {
	transform: scale(1);
	opacity: 1;
}

.modal-content {
	background: var(--white);
	border-radius: 20px;
	box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
	max-width: 500px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	position: relative;
	transform: scale(0.8);
	opacity: 0;
	transition: all 0.3s ease;
}

.modal-close {
	position: absolute;
	top: 20px;
	right: 20px;
	background: rgba(196, 69, 105, 0.1);
	border: none;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--accent-red);
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 1;
	font-size: 18px;
	font-weight: bold;
}

.modal-close:hover {
	background: var(--accent-red);
	color: var(--white);
	transform: scale(1.1);
}

/* === ФОРМЫ === */
.form-wrapper {
	padding: 50px 40px;
	background: linear-gradient(135deg, var(--bg-light) 0%, var(--white) 100%);
}

.form__title {
	font-size: 24px;
	font-weight: 700;
	color: var(--dark);
	text-align: center;
	margin-bottom: 30px;
}

.form-title {
	font-size: 22px;
	font-weight: 700;
	color: var(--dark);
	text-align: center;
	margin-bottom: 25px;
	line-height: 1.3;
}

.form-subtitle {
	font-size: 14px;
	color: var(--gray);
	text-align: center;
	margin-bottom: 30px;
}

/* === ПОЛЯ ВВОДА === */
.input-row {
	margin-bottom: 25px;
	position: relative;
}

.input-row i {
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--primary-teal);
	z-index: 1;
	font-size: 16px;
}

.input-row input,
.input-row textarea {
	width: 100%;
	padding: 18px 20px 18px 55px;
	border: 2px solid #e9ecef;
	border-radius: 30px;
	font-size: 15px;
	font-family: inherit;
	transition: all 0.3s ease;
	background: var(--white);
	color: var(--dark);
}

.input-row input:focus,
.input-row textarea:focus {
	outline: none;
	border-color: var(--primary-teal);
	box-shadow: 0 0 20px rgba(119, 202, 200, 0.2);
	transform: translateY(-2px);
}

.input-row textarea {
	border-radius: 20px;
	resize: vertical;
	min-height: 120px;
	padding-top: 18px;
}

/* === СОСТОЯНИЯ ОШИБОК === */
.input-row.error input,
.input-row.error textarea {
	border-color: var(--accent-red);
	animation: shake 0.3s ease-in-out;
}

.input-row.success input,
.input-row.success textarea {
	border-color: #28a745;
}

/* === КНОПКИ ОТПРАВКИ === */
.input-btn {
	text-align: center;
	margin-top: 35px;
}

.butn,
.submit-btn {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	border: none;
	padding: 18px 40px;
	border-radius: 30px;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.3s ease;
	min-width: 220px;
	letter-spacing: 0.5px;
	font-family: inherit;
}

.butn:hover,
.submit-btn:hover {
	background: linear-gradient(135deg, var(--dark-teal), #4a7c7a);
	transform: translateY(-3px);
	box-shadow: 0 8px 25px rgba(119, 202, 200, 0.4);
}

/* === СПЕЦИАЛЬНЫЕ ФОРМЫ === */
.form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 20px;
}

.input-group.full-width {
	grid-column: 1 / -1;
}

.guarantee-badges {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-top: 20px;
	flex-wrap: wrap;
}

.guarantee-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--gray);
	background: var(--bg-light);
	padding: 8px 12px;
	border-radius: 15px;
}

.guarantee-badge i {
	color: var(--primary-teal);
}

.form-note {
	font-size: 12px;
	color: var(--gray);
	text-align: center;
	margin-top: 15px;
	line-height: 1.4;
}

/* === МОДАЛЬНЫЕ ОКНА БЛАГОДАРНОСТИ === */
.modal-thank .form__title {
	color: var(--primary-teal);
	font-size: 28px;
	margin-bottom: 20px;
}

.modal-thank .butn {
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
	min-width: 180px;
}

.modal-thank .butn:hover {
	background: linear-gradient(135deg, var(--dark-red), #8e2e3f);
	box-shadow: 0 8px 25px rgba(196, 69, 105, 0.4);
}

.modalthank .form__title {
	color: var(--primary-teal);
	font-size: 24px;
}

.modalthank .butn {
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
}

.modalthank .butn:hover {
	background: linear-gradient(135deg, var(--dark-red), #8e2e3f);
}

/* === COOKIE УВЕДОМЛЕНИЯ === */
#cookie_note {
	display: none;
	position: fixed;
	bottom: 20px;
	left: 20px;
	right: 20px;
	max-width: 500px;
	margin: 0 auto;
	background: var(--white);
	border: 2px solid var(--primary-teal);
	border-radius: 15px;
	box-shadow: 0 10px 30px rgba(119, 202, 200, 0.3);
	z-index: 10000;
	animation: slideUp 0.5s ease-out;
}

#cookie_note.show-on {
	display: block;
}

.cookie-content {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 20px;
}

.cookie-icon {
	flex-shrink: 0;
	color: var(--primary-teal);
	margin-top: 2px;
}

.cookie-text {
	flex: 1;
}

.cookie-text p {
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--dark);
}

.cookie-text a {
	color: var(--primary-teal);
	text-decoration: underline;
}

.cookie-accept {
	background: var(--primary-teal);
	color: var(--white);
	border: none;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	white-space: nowrap;
}

.cookie-accept:hover {
	background: var(--dark-teal);
	transform: translateY(-1px);
}

/* === АДАПТИВНОСТЬ === */
@media (max-width: 768px) {
	.modal-overlay {
		padding: 15px;
	}
	
	.form-wrapper {
		padding: 40px 25px;
	}
	
	.form__title,
	.form-title {
		font-size: 20px;
		margin-bottom: 25px;
	}
	
	.input-row input,
	.input-row textarea {
		padding: 15px 18px 15px 50px;
		font-size: 14px;
	}
	
	.input-row i {
		left: 16px;
		font-size: 14px;
	}
	
	.butn,
	.submit-btn {
		padding: 15px 30px;
		font-size: 14px;
		min-width: 200px;
	}
	
	.modal-close {
		top: 15px;
		right: 15px;
		width: 35px;
		height: 35px;
		font-size: 16px;
	}
	
	.form-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	
	#cookie_note {
		bottom: 90px;
		left: 15px;
		right: 15px;
		max-width: none;
	}
	
	.cookie-content {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 15px;
	}
}

@media (max-width: 576px) {
	.form-wrapper {
		padding: 30px 20px;
	}
	
	.form__title,
	.form-title {
		font-size: 18px;
	}
	
	.input-row input,
	.input-row textarea {
		padding: 12px 15px 12px 45px;
		font-size: 13px;
	}
	
	.input-row i {
		left: 14px;
		font-size: 13px;
	}
	
	.butn,
	.submit-btn {
		padding: 12px 25px;
		font-size: 13px;
		min-width: 180px;
	}
}
/* === HERO BANNER === */
.hero-banner {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	min-height: 100vh;
	display: flex;
	align-items: center;
	width: 100%;
	background: linear-gradient(135deg, var(--primary-teal) 0%, var(--dark-teal) 100%);
}

.hero-banner::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(45deg, rgba(0,0,0,0.4), rgba(0,0,0,0.2));
	z-index: 1;
}

.hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 60px;
	align-items: center;
	padding: 80px 0;
}

.hero-text {
	color: var(--white);
}

.hero-badge {
	display: inline-block;
	background: rgba(255, 255, 255, 0.15);
	color: var(--white);
	padding: 8px 20px;
	border-radius: 25px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 20px;
	backdrop-filter: blur(10px);
}

.hero-icon {
	font-size: 3.5rem;
	margin-bottom: 25px;
	display: block;
	filter: drop-shadow(0 6px 12px rgba(0,0,0,0.4));
	color: var(--white);
}

.hero-title {
	font-size: 2.8rem;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 25px;
	text-shadow: 3px 3px 6px rgba(0,0,0,0.7);
	letter-spacing: -1px;
}

.hero-subtitle {
	font-size: 1.2rem;
	font-weight: 400;
	opacity: 0.95;
	margin-bottom: 40px;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
	max-width: 500px;
	line-height: 1.5;
}

.hero-buttons {
	display: flex;
	gap: 20px;
	margin-top: 40px;
	flex-wrap: wrap;
}

.phone-number {
	background: linear-gradient(135deg, var(--bg-light), #fff);
	color: var(--dark);
	padding: 16px 30px;
	border-radius: 50px;
	font-size: 1.2rem;
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	box-shadow: 0 6px 20px rgba(0, 184, 148, 0.4);
	transition: all 0.4s ease;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.phone-number:hover {
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 10px 30px rgba(0, 184, 148, 0.6);
}

/* === HERO ФОРМА === */
.hero-form {
	background: var(--white);
	border-radius: 20px;
	padding: 40px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
	position: relative;
}

.hero-form::before {
	content: '';
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	border-radius: 22px;
	z-index: -1;
}

/* === FEATURES И STATS === */
.hero-features {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	margin-top: 30px;
}

.hero-feature {
	display: flex;
	align-items: center;
	gap: 15px;
	background: rgba(255, 255, 255, 0.1);
	padding: 20px;
	border-radius: 15px;
	backdrop-filter: blur(10px);
	transition: all 0.3s ease;
}

.hero-feature:hover {
	background: rgba(255, 255, 255, 0.15);
	transform: translateY(-2px);
}

.hero-feature-icon {
	width: 50px;
	height: 50px;
	background: var(--white);
	color: var(--primary-teal);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
}

.hero-feature-content h3 {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 5px;
	color: var(--white);
}

.hero-feature-content p {
	font-size: 14px;
	opacity: 0.9;
	color: var(--white);
}

.hero-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 40px;
}

.hero-stat {
	text-align: center;
	padding: 20px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 15px;
	backdrop-filter: blur(10px);
}

.hero-stat-number {
	font-size: 36px;
	font-weight: 800;
	color: var(--white);
	display: block;
	margin-bottom: 8px;
}

.hero-stat-label {
	font-size: 14px;
	color: var(--white);
	opacity: 0.9;
}

/* === СПЕЦИАЛЬНЫЕ АНИМАЦИИ === */
.btn-urgent {
	animation: urgent-pulse 2.5s infinite;
}

@keyframes urgent-pulse {
	0% { 
		box-shadow: 0 8px 25px rgba(255, 107, 53, 0.4);
		transform: scale(1);
	}
	50% { 
		box-shadow: 0 12px 35px rgba(255, 107, 53, 0.7);
		transform: scale(1.01);
	}
	100% { 
		box-shadow: 0 8px 25px rgba(255, 107, 53, 0.4);
		transform: scale(1);
	}
}

/* === DOCTORS SECTION === */
.doctors-section {
	background: var(--white);
}

.doctors-slider-wrapper {
	position: relative;
	margin-top: 20px;
}

.doctors-swiper {
	padding: 20px 0 60px;
	overflow: visible;
}

.doctors-swiper,
.doctors-swiper .swiper-wrapper,
.doctors-swiper .swiper-slide {
	height: auto !important;
	min-height: auto !important;
}

.doctors-swiper .doctor-card {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

.doctor-card {
	background: var(--white);
	border-radius: 25px;
	padding: 40px 30px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	text-align: center;
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.doctor-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, var(--primary-teal), var(--accent-red));
	opacity: 0;
	transition: opacity 0.3s ease;
}

.doctor-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.doctor-card:hover::before {
	opacity: 0.03;
}

.doctor-avatar {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	margin: 0 auto 25px;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 48px;
	color: var(--white);
	position: relative;
	z-index: 2;
}

.doctor-avatar-img {
	width: 120px;
	height: 120px;
	object-fit: cover;
	border-radius: 90px;
	object-position: top;
}

.doctor-name {
	font-size: 22px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 8px;
	position: relative;
	z-index: 2;
}

.doctor-specialty {
	font-size: 16px;
	color: var(--primary-teal);
	font-weight: 600;
	margin-bottom: 15px;
	position: relative;
	z-index: 2;
}

.doctor-experience {
	font-size: 14px;
	color: var(--gray);
	margin-bottom: 20px;
	position: relative;
	z-index: 2;
}

.doctor-achievements {
	list-style: none;
	margin-bottom: 25px;
	position: relative;
	z-index: 2;
	flex-grow: 1;
}

.doctor-achievements li {
	font-size: 13px;
	color: var(--gray);
	margin-bottom: 8px;
	position: relative;
	padding-left: 20px;
}

.doctor-achievements li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--primary-teal);
	font-weight: bold;
}

.doctor-contact {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	padding: 12px 20px;
	border-radius: 25px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: all 0.3s ease;
	position: relative;
	z-index: 2;
}

.doctor-contact:hover {
	background: linear-gradient(135deg, var(--dark-teal), #4a7c7a);
	transform: translateY(-2px);
	color: var(--white);
}

/* === АДАПТИВНОСТЬ === */
@media (max-width: 1024px) {
	.hero-content {
		grid-template-columns: 1fr 350px;
		gap: 40px;
	}

	.hero-title {
		font-size: 2.4rem;
	}

	.hero-subtitle {
		font-size: 1.1rem;
	}
}

@media (max-width: 768px) {
	.hero-banner {
		min-height: 100vh;
	}
	
	.hero-content {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 60px 0;
		text-align: center;
	}
	
	.hero-title {
		font-size: 2rem;
	}
	
	.hero-subtitle {
		font-size: 1rem;
		margin-bottom: 30px;
	}
	
	.hero-icon {
		font-size: 2.8rem;
		margin-bottom: 20px;
	}
	
	.hero-buttons {
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}
	
	.btn-primary, .btn-secondary, .phone-number {
		width: 100%;
		max-width: 300px;
		justify-content: center;
		font-size: 1rem;
		padding: 14px 28px;
	}
	
	.hero-form {
		padding: 30px 25px;
	}

	.hero-features {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.hero-stats {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.doctors-swiper {
		padding: 15px 0 50px;
	}

	.doctor-card {
		padding: 30px 25px;
	}
}

@media (max-width: 480px) {
	.hero-content {
		padding: 40px 0;
	}
	
	.hero-title {
		font-size: 1.6rem;
	}
	
	.hero-subtitle {
		font-size: 0.9rem;
	}

	.hero-icon {
		font-size: 2.2rem;
	}
	
	.btn-primary, .btn-secondary, .phone-number {
		font-size: 0.9rem;
		padding: 12px 24px;
	}

	.hero-form {
		padding: 25px 20px;
	}

	.doctor-avatar {
		width: 100px;
		height: 100px;
		font-size: 40px;
	}

	.doctor-name {
		font-size: 20px;
	}

	.doctors-swiper {
		padding: 10px 0 40px;
	}
}
/* === SWIPER NAVIGATION === */
.swiper-button-next,
.swiper-button-prev {
	background: var(--white);
	color: var(--primary-teal);
	border-radius: 50%;
	width: 55px;
	height: 55px;
	margin-top: -27px;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
	background: var(--primary-teal);
	color: var(--white);
	transform: scale(1.1);
	border-color: var(--white);
}

.swiper-button-next::after,
.swiper-button-prev::after {
	font-size: 20px;
	font-weight: bold;
}

/* === SWIPER PAGINATION === */
.swiper-pagination-bullet {
	width: 14px;
	height: 14px;
	background: rgba(119, 202, 200, 0.3);
	opacity: 1;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.swiper-pagination-bullet-active {
	background: var(--primary-teal);
	transform: scale(1.3);
	border-color: var(--white);
	box-shadow: 0 4px 15px rgba(119, 202, 200, 0.4);
}

/* === FAQ КОМПОНЕНТЫ === */
.faq-container {
	max-width: 800px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.faq-item {
	background: var(--white);
	border-radius: 15px;
	margin-bottom: 20px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	transition: all 0.3s ease;
}

.faq-item:hover {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.faq-question {
	background: var(--white);
	border: none;
	width: 100%;
	padding: 25px 30px;
	text-align: left;
	font-size: 18px;
	font-weight: 600;
	color: var(--dark);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: all 0.3s ease;
}

.faq-question:hover {
	background: var(--bg-light);
}

.faq-question.active {
	background: var(--primary-teal);
	color: var(--white);
}

.faq-icon {
	font-size: 20px;
	transition: transform 0.3s ease;
}

.faq-question.active .faq-icon {
	transform: rotate(180deg);
}

.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	background: var(--white);
}

.faq-answer.active {
	max-height: 200px;
}

.faq-answer-content {
	padding: 25px 30px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--gray);
	border-top: 1px solid var(--bg-light);
}

/* === СТАТИСТИКА === */
.stats-content {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 40px;
}

.stat-item {
	text-align: center;
}

.stat-number {
	font-size: 48px;
	font-weight: 800;
	color: var(--white);
	display: block;
	margin-bottom: 10px;
}

.stat-label {
	font-size: 16px;
	opacity: 0.9;
}

/* === ГАЛЕРЕЯ === */
.gallery-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	position: relative;
	z-index: 2;
}

.gallery-block {
	background: var(--white);
	border-radius: 25px;
	padding: 30px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	border: 2px solid transparent;
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
}

.gallery-block::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(135deg, var(--primary-teal), var(--success-green));
}

.gallery-block:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
	border-color: var(--primary-teal);
}

.gallery-title {
	font-size: 24px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 25px;
	text-align: center;
	position: relative;
}

.gallery-title::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background: var(--primary-teal);
	border-radius: 2px;
}

.gallery-images {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

.gallery-item {
	position: relative;
	aspect-ratio: 1;
	border-radius: 15px;
	overflow: hidden;
	cursor: pointer;
	transition: all 0.3s ease;
	background: var(--bg-light);
}

.gallery-item:hover {
	transform: scale(1.05);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s ease;
}

.gallery-item:hover img {
	transform: scale(1.1);
}

.gallery-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--bg-light), #e9ecef);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gray);
	font-size: 24px;
	border-radius: 15px;
}

/* === МОДАЛЬНОЕ ОКНО ГАЛЕРЕИ === */
.gallery-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	backdrop-filter: blur(10px);
	z-index: 10000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.gallery-modal.show {
	display: flex;
}

.modal-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--white);
}

.modal-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0, 0, 0, 0.7);
	color: var(--white);
	border: none;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	cursor: pointer;
	font-size: 24px;
	transition: all 0.3s ease;
}

.modal-nav:hover {
	background: var(--primary-teal);
	transform: translateY(-50%) scale(1.1);
}

.modal-prev {
	left: 20px;
}

.modal-next {
	right: 20px;
}

/* === PRICING ТАБЛИЦЫ === */
.pricing-category {
	background: var(--white);
	border-radius: 20px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	margin-bottom: 40px;
	overflow: hidden;
	border: 2px solid transparent;
	transition: all 0.4s ease;
}

.pricing-category:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
	border-color: var(--primary-teal);
}

.category-header {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	padding: 25px 30px;
	position: relative;
	overflow: hidden;
}

.category-title {
	font-size: 24px;
	font-weight: 700;
	margin: 0;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 12px;
}

.category-icon {
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

.pricing-service {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	padding: 20px 30px;
	border-bottom: 1px solid rgba(119, 202, 200, 0.1);
	transition: all 0.3s ease;
}

.pricing-service:hover {
	background: rgba(119, 202, 200, 0.05);
	transform: translateX(5px);
}

.service-name {
	font-size: 16px;
	font-weight: 500;
	color: var(--dark);
	padding-right: 20px;
}

.service-price {
	font-size: 18px;
	font-weight: 700;
	color: var(--accent-red);
	min-width: 120px;
	text-align: right;
	padding: 0 20px;
}

.order-btn {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	border: none;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.order-btn:hover {
	background: linear-gradient(135deg, var(--dark-teal), #4a7c7a);
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(119, 202, 200, 0.4);
	color: var(--white);
}

/* === PACKAGE CARDS === */
.packages-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	gap: 40px;
	margin-top: 20px;
	position: relative;
	z-index: 2;
}

.package-card {
	background: var(--white);
	border-radius: 25px;
	padding: 40px 30px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
	border: 2px solid transparent;
}

.package-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
	border-color: var(--primary-teal);
}

.package-price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 10px;
	margin-bottom: 30px;
}

.price-amount {
	font-size: 36px;
	font-weight: 800;
	color: var(--accent-red);
}

.price-currency {
	font-size: 20px;
	font-weight: 600;
	color: var(--gray);
}

.package-features {
	list-style: none;
	margin-bottom: 30px;
}

.package-features li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	font-size: 15px;
	color: var(--dark);
	border-bottom: 1px solid rgba(119, 202, 200, 0.1);
}

.feature-check {
	width: 20px;
	height: 20px;
	background: var(--success-green);
	color: var(--white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	flex-shrink: 0;
}

/* === MOBILE FOOTER === */
.mobile-footer-block {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	z-index: 1000;
	padding: 15px;
	box-shadow: 0 -5px 20px rgba(119, 202, 200, 0.3);
}

.mobile-footer-block a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: var(--white);
	text-decoration: none;
	font-size: 18px;
	font-weight: 700;
	transition: transform 0.3s ease;
}

.mobile-footer-block a:hover {
	transform: scale(1.05);
	color: var(--white);
}

/* === АДАПТИВНОСТЬ === */
@media (max-width: 992px) {
	.stats-content {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
	
	.stat-number {
		font-size: 42px;
	}
	
	.gallery-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.packages-grid {
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
		gap: 30px;
	}
}

@media (max-width: 768px) {
	.mobile-footer-block {
		display: block;
	}
	
	.swiper-button-next,
	.swiper-button-prev {
		width: 45px;
		height: 45px;
		margin-top: -22px;
	}
	
	.swiper-button-next::after,
	.swiper-button-prev::after {
		font-size: 18px;
	}
	
	.faq-question {
		padding: 20px 25px;
		font-size: 16px;
	}
	
	.faq-answer-content {
		padding: 20px 25px;
		font-size: 15px;
	}
	
	.stats-content {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	
	.gallery-images {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
	
	.pricing-service {
		grid-template-columns: 1fr;
		gap: 10px;
		text-align: center;
		padding: 15px 20px;
	}
	
	.service-price {
		text-align: center;
		padding: 0;
		margin: 5px 0;
	}
}

@media (max-width: 480px) {
	.swiper-button-next,
	.swiper-button-prev {
		width: 35px;
		height: 35px;
		margin-top: -17px;
	}
	
	.faq-question {
		padding: 18px 20px;
		font-size: 15px;
	}
	
	.modal-nav {
		width: 50px;
		height: 50px;
		font-size: 20px;
	}
	
	.gallery-images {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	
	.packages-grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}
/* === FOOTER MAIN === */
footer {
	color: var(--white);
	margin-top: 60px;
	position: relative;
	background: var(--dark);
}

footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--primary-teal), var(--accent-red), var(--primary-teal));
}

/* === FOOTER TOP === */
.footer-top {
	padding: 50px 0;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
	align-items: start;
}

/* Footer Brand */
.footer-brand {
	max-width: 300px;
}

.footer-logo {
	display: inline-block;
	margin-bottom: 20px;
	transition: opacity 0.3s ease;
}

.footer-logo:hover {
	opacity: 0.8;
}

.footer-logo img {
	height: 50px;
	width: auto;
	filter: brightness(0) invert(1);
}

.footer-brand-text {
	font-size: 14px;
	line-height: 1.6;
	color: #ccc;
	margin: 0;
}

/* Footer Contact */
.footer-contact h3 {
	color: var(--primary-teal);
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 25px;
	text-transform: uppercase;
}

.contact-items {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.contact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.contact-item svg {
	color: var(--primary-teal);
	margin-top: 2px;
	flex-shrink: 0;
}

.contact-item div {
	flex: 1;
}

.contact-label {
	display: block;
	font-weight: 600;
	color: var(--primary-teal);
	font-size: 12px;
	text-transform: uppercase;
	margin-bottom: 4px;
}

.contact-item address {
	font-style: normal;
	color: #ccc;
	font-size: 14px;
	line-height: 1.4;
}

.contact-item .phone-link {
	color: var(--white);
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	transition: color 0.3s ease;
}

.contact-item .phone-link:hover {
	color: var(--primary-teal);
}

.contact-item small {
	display: block;
	color: #999;
	font-size: 11px;
	margin-top: 2px;
}

.contact-item a[href^="mailto"] {
	color: var(--primary-teal);
	text-decoration: none;
	transition: color 0.3s ease;
}

.contact-item a[href^="mailto"]:hover {
	color: var(--white);
}

/* Footer Actions */
.footer-actions h3 {
	color: var(--accent-red);
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 25px;
	text-transform: uppercase;
}

.action-buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 25px;
}

.action-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: 25px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	transition: all 0.3s ease;
	text-transform: uppercase;
}

.emergency-info {
	background: rgba(119, 202, 200, 0.1);
	border: 1px solid var(--primary-teal);
	border-radius: 10px;
	padding: 20px;
}

.emergency-info p {
	margin: 0 0 8px 0;
	font-size: 13px;
	line-height: 1.4;
}

.emergency-info strong {
	color: var(--primary-teal);
}

/* === FOOTER NAVIGATION === */
.footer-nav {
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 30px 0;
}

.footer-menu {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu > li > a {
	color: var(--white);
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	transition: color 0.3s ease;
	display: block;
	padding: 8px 0;
	border-bottom: 2px solid transparent;
	margin-bottom: 10px;
}

.footer-menu > li > a:hover {
	color: var(--primary-teal);
	border-bottom-color: var(--primary-teal);
}

.footer-menu-two-lvl {
	list-style: none;
	margin: 0 0 15px 0;
	padding: 0;
	display: block;
}

.footer-menu-two-lvl li a {
	color: #ccc;
	text-decoration: none;
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
	transition: all 0.3s ease;
	display: block;
	padding: 6px 0 6px 15px;
	position: relative;
}

.footer-menu-two-lvl li a:before {
	content: '→';
	position: absolute;
	left: 0;
	color: var(--primary-teal);
	font-size: 12px;
	top: 50%;
	transform: translateY(-50%);
}

.footer-menu-two-lvl li a:hover {
	color: var(--white);
	padding-left: 20px;
}

.footer-menu-three-lvl {
	list-style: none;
	margin: 0 0 8px 0;
	padding: 0;
	display: block;
}

.footer-menu-three-lvl li a {
	color: #999;
	text-decoration: none;
	font-size: 12px;
	font-weight: 400;
	text-transform: none;
	transition: all 0.3s ease;
	display: block;
	padding: 4px 0 4px 25px;
	position: relative;
}

.footer-menu-three-lvl li a:before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--primary-teal);
	font-size: 16px;
}

.footer-menu-three-lvl li a:hover {
	color: var(--primary-teal);
}

/* === FOOTER BOTTOM === */
.footer-bottom {
	padding: 30px 0;
}

.footer-bottom-grid {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 30px;
	align-items: center;
}

.footer-legal p {
	margin: 0 0 8px 0;
	font-size: 14px;
	color: #ccc;
}

.license {
	font-size: 12px;
	color: var(--primary-teal);
	font-weight: 600;
}

.footer-links {
	display: flex;
	gap: 20px;
	justify-content: center;
	flex-wrap: wrap;
}

.footer-links a {
	color: #ccc;
	text-decoration: none;
	font-size: 12px;
	transition: color 0.3s ease;
	white-space: nowrap;
}

.footer-links a:hover {
	color: var(--primary-teal);
}

.footer-social {
	display: flex;
	align-items: center;
	gap: 15px;
	justify-content: flex-end;
}

.footer-social span {
	font-size: 12px;
	color: #ccc;
	white-space: nowrap;
}

.social-links {
	display: flex;
	gap: 10px;
}

.social-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	background: rgba(119, 202, 200, 0.1);
	border: 1px solid var(--primary-teal);
	border-radius: 50%;
	color: var(--primary-teal);
	text-decoration: none;
	transition: all 0.3s ease;
}

.social-links a:hover {
	background: var(--primary-teal);
	color: var(--white);
	transform: translateY(-2px);
}

/* === REGULATORY INFORMATION === */
.footer-regulatory {
	border-top: 1px solid #333;
	padding: 25px 0;
	background: rgba(0,0,0,0.3);
}

.footer-regulatory p {
	margin: 0 0 15px 0;
	font-size: 11px;
	color: #999;
	line-height: 1.4;
}

.footer-regulatory strong {
	color: var(--white);
	font-size: 12px;
}

.regulatory-links {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 15px;
}

.regulatory-links a {
	color: var(--primary-teal);
	text-decoration: none;
	font-size: 11px;
	transition: color 0.3s ease;
	line-height: 1.3;
}

.regulatory-links a:hover {
	color: var(--white);
	text-decoration: underline;
}

/* === ARTICLE CONTENT === */
article[itemscope] {
	background: var(--white);
	position: relative;
	overflow: hidden;
}

.section__text {
	max-width: 900px;
	margin: 0 auto;
	padding: 60px 20px;
	position: relative;
	z-index: 2;
}

.section__text:first-child {
	padding-top: 80px;
}

.section__text:last-child {
	padding-bottom: 80px;
}

.section__text + .section__text::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100px;
	height: 4px;
	background: linear-gradient(135deg, var(--primary-teal), var(--accent-red));
	border-radius: 2px;
	margin-bottom: 40px;
}

/* === ТИПОГРАФИКА === */
.section__text h1 {
	font-size: 2.5rem;
	font-weight: 800;
	color: var(--dark);
	line-height: 1.2;
	margin-bottom: 2rem;
	text-align: center;
	position: relative;
}

.section__text h1::after {
	content: '';
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 4px;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	border-radius: 2px;
}

.section__text h2 {
	font-size: 2rem;
	font-weight: 700;
	color: var(--dark);
	line-height: 1.3;
	margin: 3rem 0 1.5rem;
	position: relative;
	padding-left: 25px;
}

.section__text h2::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 30px;
	background: linear-gradient(135deg, var(--primary-teal), var(--accent-red));
	border-radius: 2px;
}

.section__text h3 {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--dark);
	line-height: 1.4;
	margin: 2.5rem 0 1rem;
	position: relative;
}

.section__text h3::before {
	content: '→';
	color: var(--primary-teal);
	font-weight: bold;
	margin-right: 10px;
	font-size: 1.2rem;
}

.section__text p {
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--gray);
	margin-bottom: 1.5rem;
	text-align: justify;
}

.section__text p:first-of-type {
	font-size: 1.2rem;
	color: var(--dark);
	font-weight: 500;
}

.section__text ul,
.section__text ol {
	margin: 2rem 0;
	padding-left: 0;
	list-style: none;
}

.section__text ul li,
.section__text ol li {
	position: relative;
	padding: 12px 0 12px 35px;
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--gray);
	border-bottom: 1px solid rgba(119, 202, 200, 0.1);
}

.section__text ul li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background: var(--primary-teal);
	color: var(--white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: bold;
}

.section__text blockquote {
	background: linear-gradient(135deg, var(--bg-light), var(--white));
	border-left: 5px solid var(--primary-teal);
	padding: 30px;
	margin: 3rem 0;
	border-radius: 15px;
	position: relative;
	box-shadow: 0 10px 30px rgba(119, 202, 200, 0.1);
}

.section__text blockquote::before {
	content: '"';
	font-size: 4rem;
	color: var(--primary-teal);
	opacity: 0.3;
	position: absolute;
	top: 10px;
	left: 20px;
	font-family: serif;
}

/* === AUTHOR SECTION === */
.rewby {
	background: linear-gradient(135deg, var(--bg-light) 0%, var(--white) 100%);
	border-radius: 25px;
	padding: 50px 40px;
	margin: 60px auto;
	max-width: 900px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
	position: relative;
	overflow: hidden;
}

.rewby::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(135deg, var(--primary-teal), var(--accent-red));
}

.autor--views {
	text-align: center;
	margin-bottom: 40px;
	padding: 20px;
	background: rgba(119, 202, 200, 0.08);
	border-radius: 15px;
	border: 1px solid rgba(119, 202, 200, 0.2);
}

.Views--text {
	font-size: 16px;
	color: var(--primary-teal);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.autor {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 30px;
	padding: 25px;
	background: var(--white);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

.autor:hover {
	transform: translateY(-2px);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.autor--img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var(--primary-teal);
	transition: all 0.3s ease;
}

.autor:hover .autor--img {
	transform: scale(1.05);
	border-color: var(--accent-red);
}

.autor--about {
	font-size: 14px;
	color: var(--gray);
	margin: 0 0 5px 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 600;
}

.autor--name {
	font-size: 18px;
	font-weight: 700;
	color: var(--dark);
	margin: 0;
	line-height: 1.3;
}

/* === АДАПТИВНОСТЬ === */
@media (max-width: 992px) {
	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}
	
	.footer-actions {
		grid-column: 1 / -1;
	}
	
	.footer-menu {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
	
	.footer-bottom-grid {
		grid-template-columns: 1fr;
		gap: 20px;
		text-align: center;
	}
	
	.footer-social {
		justify-content: center;
	}
}

@media (max-width: 768px) {
	footer {
		padding-bottom: 70px;
	}
	
	.footer-top {
		padding: 40px 0;
	}
	
	.footer-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.footer-menu {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
	
	.footer-nav {
		padding: 25px 0;
	}
	
	.footer-bottom {
		padding: 25px 0;
	}
	
	.footer-links {
		flex-direction: column;
		gap: 10px;
	}
	
	.regulatory-links {
		flex-direction: column;
		gap: 10px;
		text-align: center;
	}
	
	.section__text {
		padding: 40px 15px;
	}
	
	.section__text h1 {
		font-size: 2rem;
	}
	
	.section__text h2 {
		font-size: 1.5rem;
		margin: 2rem 0 1rem;
	}
	
	.section__text h3 {
		font-size: 1.25rem;
	}
	
	.section__text p {
		font-size: 1rem;
		text-align: left;
	}
	
	.rewby {
		padding: 30px 20px;
		margin: 40px 15px;
	}
	
	.autor {
		flex-direction: column;
		text-align: center;
		gap: 15px;
	}
}

@media (max-width: 576px) {
	.footer-top {
		padding: 30px 0;
	}
	
	.action-buttons {
		flex-direction: column;
		gap: 8px;
	}
	
	.action-btn {
		font-size: 10px;
		padding: 8px 12px;
	}
	
	.emergency-info {
		padding: 15px;
	}
	
	.footer-menu {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.footer-menu > li > a {
		font-size: 13px;
		margin-bottom: 6px;
	}
	
	.footer-menu-two-lvl li a {
		font-size: 11px;
		padding: 3px 0 3px 10px;
	}
	
	.footer-menu-three-lvl li a {
		font-size: 10px;
		padding: 2px 0 2px 18px;
	}
	
	.contact-item {
		gap: 10px;
	}
	
	.contact-item .phone-link {
		font-size: 14px;
	}
	
	.social-links a {
		width: 30px;
		height: 30px;
	}
	
	.section__text {
		padding: 30px 10px;
	}
	
	.section__text h1 {
		font-size: 1.75rem;
	}
	
	.section__text h2 {
		font-size: 1.25rem;
		padding-left: 20px;
	}
	
	.section__text h2::before {
		height: 25px;
	}
	
	.section__text p {
		font-size: 0.95rem;
	}
	
	.rewby {
		padding: 25px 15px;
		margin: 30px 10px;
	}
	
	.autor--img {
		width: 60px;
		height: 60px;
	}
	
	.autor--name {
		font-size: 16px;
	}
	
	.section__text ul li,
	.section__text ol li {
		padding: 10px 0 10px 30px;
		font-size: 1rem;
	}
	
	.section__text ul li::before {
		width: 18px;
		height: 18px;
		font-size: 11px;
	}
	
	.section__text blockquote {
		padding: 20px;
		margin: 2rem 0;
	}
	
	.section__text blockquote::before {
		font-size: 3rem;
		top: 5px;
		left: 15px;
	}
}
/* === SERVICES GRID === */
.services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	position: relative;
	z-index: 2;
}

.service-card {
	background: var(--white);
	border-radius: 25px;
	padding: 40px 30px;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
	border: 2px solid transparent;
}

.service-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: linear-gradient(135deg, var(--primary-teal), var(--success-green));
	transition: all 0.3s ease;
}

.service-card.urgent::before {
	background: linear-gradient(135deg, var(--urgent-orange), var(--accent-red));
}

.service-card.treatment::before {
	background: linear-gradient(135deg, var(--deep-purple), var(--primary-teal));
}

.service-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 25px 70px rgba(0, 0, 0, 0.15);
	border-color: var(--primary-teal);
}

.service-card.urgent:hover {
	border-color: var(--urgent-orange);
}

.service-card.treatment:hover {
	border-color: var(--deep-purple);
}

/* === SERVICE ICON === */
.service-icon {
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	color: var(--white);
	margin: 0 auto 25px;
	box-shadow: 0 10px 30px rgba(119, 202, 200, 0.3);
	transition: all 0.3s ease;
}

.service-card.urgent .service-icon {
	background: linear-gradient(135deg, var(--urgent-orange), var(--accent-red));
	box-shadow: 0 10px 30px rgba(255, 107, 53, 0.3);
}

.service-card.treatment .service-icon {
	background: linear-gradient(135deg, var(--deep-purple), var(--primary-teal));
	box-shadow: 0 10px 30px rgba(108, 92, 231, 0.3);
}

.service-card:hover .service-icon {
	transform: scale(1.1);
}

/* === SERVICE CONTENT === */
.service-header {
	text-align: center;
	margin-bottom: 30px;
}

.service-title {
	font-size: 26px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 15px;
	line-height: 1.3;
}

.service-description {
	font-size: 16px;
	color: var(--gray);
	line-height: 1.6;
	margin-bottom: 20px;
}

.service-price {
	background: linear-gradient(135deg, var(--bg-light), var(--white));
	border-radius: 15px;
	padding: 20px;
	text-align: center;
	margin-bottom: 25px;
	border: 1px solid rgba(119, 202, 200, 0.2);
}

.price-label {
	font-size: 14px;
	color: var(--gray);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 8px;
}

.price-amount {
	font-size: 32px;
	font-weight: 800;
	color: var(--accent-red);
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
}

.price-from {
	font-size: 18px;
	color: var(--gray);
	font-weight: 600;
}

.price-currency {
	font-size: 20px;
	color: var(--gray);
}

/* === SERVICE OPTIONS === */
.service-options {
	margin-bottom: 30px;
}

.options-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--dark);
	margin-bottom: 15px;
	text-align: center;
}

.options-list {
	list-style: none;
}

.option-item {
	margin-bottom: 12px;
}

.option-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 15px;
	background: rgba(119, 202, 200, 0.05);
	border-radius: 12px;
	text-decoration: none;
	color: var(--dark);
	font-size: 15px;
	font-weight: 500;
	transition: all 0.3s ease;
	border: 1px solid transparent;
}

.option-link:hover {
	background: var(--primary-teal);
	color: var(--white);
	transform: translateX(5px);
	border-color: var(--dark-teal);
}

.option-icon {
	width: 20px;
	height: 20px;
	background: var(--primary-teal);
	color: var(--white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	flex-shrink: 0;
}

.option-link:hover .option-icon {
	background: var(--white);
	color: var(--primary-teal);
}

/* === SHOW MORE BUTTON === */
.show-more-btn {
	width: 100%;
	background: rgba(119, 202, 200, 0.1);
	border: 2px dashed var(--primary-teal);
	color: var(--primary-teal);
	padding: 12px 15px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 8px;
}

.show-more-btn:hover {
	background: var(--primary-teal);
	color: var(--white);
	border-style: solid;
	transform: translateY(-1px);
}

.show-more-btn i {
	transition: transform 0.3s ease;
}

.show-more-btn.expanded i {
	transform: rotate(180deg);
}

.option-item.hidden {
	display: none;
}

.option-item.show-animation {
	animation: slideInFromTop 0.3s ease-out forwards;
}

@keyframes slideInFromTop {
	from {
		opacity: 0;
		transform: translateY(-10px);
		max-height: 0;
	}
	to {
		opacity: 1;
		transform: translateY(0);
		max-height: 100px;
	}
}

/* === CTA BUTTONS === */
.service-cta {
	display: flex;
	gap: 15px;
	flex-direction: column;
}

.cta-primary {
	width: 100%;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	border: none;
	padding: 16px 30px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.cta-primary:hover {
	background: linear-gradient(135deg, var(--dark-teal), #4a7c7a);
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(119, 202, 200, 0.4);
	color: var(--white);
}

.service-card.urgent .cta-primary {
	background: linear-gradient(135deg, var(--urgent-orange), var(--accent-red));
}

.service-card.urgent .cta-primary:hover {
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
	box-shadow: 0 8px 25px rgba(255, 107, 53, 0.4);
}

.service-card.treatment .cta-primary {
	background: linear-gradient(135deg, var(--deep-purple), var(--primary-teal));
}

.service-card.treatment .cta-primary:hover {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	box-shadow: 0 8px 25px rgba(108, 92, 231, 0.4);
}

.cta-phone {
	background: rgba(119, 202, 200, 0.1);
	color: var(--primary-teal);
	border: 2px solid var(--primary-teal);
	padding: 14px 20px;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	white-space: nowrap;
}

.cta-phone:hover {
	background: var(--primary-teal);
	color: var(--white);
	transform: translateY(-2px);
}

/* === URGENT BADGE === */
.urgent-badge {
	position: absolute;
	top: 20px;
	right: 20px;
	background: var(--urgent-orange);
	color: var(--white);
	padding: 8px 15px;
	border-radius: 15px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	animation: pulse 2s infinite;
}

/* === PROMOTIONS SECTION === */
.promotions-section {
	padding: 80px 0;
	background: linear-gradient(135deg, var(--bg-light) 0%, var(--white) 100%);
	position: relative;
	overflow: hidden;
}

.promotions-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: 
		radial-gradient(circle at 15% 25%, rgba(196,69,105,0.08) 0%, transparent 50%),
		radial-gradient(circle at 85% 75%, rgba(119,202,200,0.08) 0%, transparent 50%);
	pointer-events: none;
}

.promotions-section .section-badge {
	background: linear-gradient(135deg, var(--success-green), #00a085);
	animation: gentle-pulse 3s ease-in-out infinite;
}

@keyframes gentle-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.02); }
}

.promotions-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	position: relative;
	z-index: 2;
}

.promotion-card {
	background: var(--white);
	border-radius: 25px;
	padding: 0;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
	border: 2px solid transparent;
}

.promotion-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: linear-gradient(135deg, var(--success-green), var(--primary-teal));
	transition: all 0.3s ease;
}

.promotion-card.featured::before {
	background: linear-gradient(135deg, var(--accent-red), var(--urgent-orange));
}

.promotion-card.limited::before {
	background: linear-gradient(135deg, var(--deep-purple), var(--accent-red));
}

.promotion-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 25px 70px rgba(0, 0, 0, 0.15);
	border-color: var(--success-green);
}

.promotion-card.featured:hover {
	border-color: var(--accent-red);
}

.promotion-card.limited:hover {
	border-color: var(--deep-purple);
}

/* === PROMOTION HEADER === */
.promotion-header {
	background: linear-gradient(135deg, var(--success-green), #00a085);
	color: var(--white);
	padding: 30px;
	text-align: center;
	position: relative;
}

.promotion-card.featured .promotion-header {
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
}

.promotion-card.limited .promotion-header {
	background: linear-gradient(135deg, var(--deep-purple), var(--primary-teal));
}

.promotion-badge {
	position: absolute;
	top: 15px;
	right: 15px;
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(10px);
	color: var(--white);
	padding: 6px 12px;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
}

.promotion-icon {
	width: 70px;
	height: 70px;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	color: var(--white);
	margin: 0 auto 20px;
	backdrop-filter: blur(10px);
}

.promotion-title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 10px;
	line-height: 1.3;
}

.promotion-subtitle {
	font-size: 16px;
	opacity: 0.9;
	font-weight: 500;
}

/* === PROMOTION CONTENT === */
.promotion-content {
	padding: 35px 30px 30px;
}

.promotion-description {
	font-size: 16px;
	color: var(--gray);
	line-height: 1.6;
	margin-bottom: 25px;
}

.promotion-features {
	list-style: none;
	margin-bottom: 25px;
}

.promotion-features li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
	font-size: 15px;
	color: var(--dark);
}

.promotion-features .feature-check {
	width: 20px;
	height: 20px;
	background: var(--success-green);
	color: var(--white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	flex-shrink: 0;
}

.promotion-card.featured .feature-check {
	background: var(--accent-red);
}

.promotion-card.limited .feature-check {
	background: var(--deep-purple);
}

/* === PROMOTION PRICING === */
.promotion-pricing {
	background: linear-gradient(135deg, var(--bg-light), var(--white));
	border-radius: 15px;
	padding: 25px;
	text-align: center;
	margin-bottom: 25px;
	border: 1px solid rgba(119, 202, 200, 0.2);
	position: relative;
}

.original-price {
	font-size: 16px;
	color: var(--gray);
	text-decoration: line-through;
	margin-bottom: 5px;
}

.promo-price {
	font-size: 36px;
	font-weight: 800;
	color: var(--success-green);
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	margin-bottom: 8px;
}

.promotion-card.featured .promo-price {
	color: var(--accent-red);
}

.promotion-card.limited .promo-price {
	color: var(--deep-purple);
}

.savings-badge {
	display: inline-block;
	background: var(--success-green);
	color: var(--white);
	padding: 4px 12px;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
}

.promotion-card.featured .savings-badge {
	background: var(--accent-red);
}

.promotion-card.limited .savings-badge {
	background: var(--deep-purple);
}

/* === PROMOTION TIMER === */
.promotion-timer {
	background: rgba(255, 107, 53, 0.1);
	border: 1px solid var(--urgent-orange);
	border-radius: 12px;
	padding: 15px;
	margin-bottom: 20px;
	text-align: center;
}

.timer-label {
	font-size: 12px;
	color: var(--urgent-orange);
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.timer-display {
	font-size: 18px;
	font-weight: 700;
	color: var(--dark);
}

/* === PROMOTION ACTIONS === */
.promotion-actions {
	display: flex;
	gap: 15px;
	flex-direction: column;
}

.promo-btn-primary {
	flex: 1;
	background: linear-gradient(135deg, var(--success-green), #00a085);
	color: var(--white);
	border: none;
	padding: 16px 25px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.promotion-card.featured .promo-btn-primary {
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
}

.promotion-card.limited .promo-btn-primary {
	background: linear-gradient(135deg, var(--deep-purple), var(--primary-teal));
}

.promo-btn-primary:hover {
	background: linear-gradient(135deg, #00a085, #008f75);
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(0, 184, 148, 0.4);
	color: var(--white);
}

.promotion-card.featured .promo-btn-primary:hover {
	background: linear-gradient(135deg, var(--dark-red), #8e2e3f);
	box-shadow: 0 8px 25px rgba(196, 69, 105, 0.4);
}

.promotion-card.limited .promo-btn-primary:hover {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	box-shadow: 0 8px 25px rgba(108, 92, 231, 0.4);
}

.promo-btn-secondary {
	background: rgba(119, 202, 200, 0.1);
	color: var(--primary-teal);
	border: 2px solid var(--primary-teal);
	padding: 14px 20px;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	white-space: nowrap;
}

.promo-btn-secondary:hover {
	background: var(--primary-teal);
	color: var(--white);
	transform: translateY(-2px);
}

/* === АДАПТИВНОСТЬ === */
@media (max-width: 1200px) {
	.services-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 35px;
	}
	
	.promotions-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
}

@media (max-width: 992px) {
	.services-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
	
	.promotions-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
}

@media (max-width: 768px) {
	.services-section {
		padding: 60px 0;
	}
	
	.promotions-section {
		padding: 60px 0;
	}
	
	.service-card {
		padding: 30px 25px;
	}
	
	.service-icon {
		width: 70px;
		height: 70px;
		font-size: 28px;
	}
	
	.service-title {
		font-size: 22px;
	}
	
	.price-amount {
		font-size: 28px;
	}
	
	.service-cta {
		flex-direction: column;
	}
	
	.cta-primary {
		min-width: auto;
	}
	
	.promotions-grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	
	.promotion-header {
		padding: 25px 20px;
	}
	
	.promotion-content {
		padding: 25px 20px 20px;
	}
	
	.promotion-title {
		font-size: 20px;
	}
	
	.promo-price {
		font-size: 32px;
	}
	
	.promotion-actions {
		flex-direction: column;
	}
}

@media (max-width: 480px) {
	.services-grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	
	.service-card {
		padding: 25px 20px;
	}
	
	.service-title {
		font-size: 20px;
	}
	
	.urgent-badge {
		top: 15px;
		right: 15px;
		padding: 6px 12px;
		font-size: 11px;
	}
	
	.promotion-header {
		padding: 20px 15px;
	}
	
	.promotion-content {
		padding: 20px 15px 15px;
	}
	
	.promotion-title {
		font-size: 18px;
	}
	
	.promo-price {
		font-size: 28px;
	}
}
/* === RECOVERY SECTION === */
.recovery-section {
	background: linear-gradient(135deg, var(--primary-teal) 0%, var(--dark-teal) 100%);
	color: var(--white);
}

.recovery-section .section-badge {
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
}

.recovery-section .section-title,
.recovery-section .section-subtitle {
	color: var(--white);
}

.recovery-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 30px;
	margin-top: 20px;
	position: relative;
	z-index: 2;
}

.recovery-step {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	padding: 35px 25px;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
}

.recovery-step::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
	transition: left 0.6s ease;
}

.recovery-step:hover {
	background: rgba(255, 255, 255, 0.15);
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.recovery-step:hover::before {
	left: 100%;
}

.step-number {
	width: 60px;
	height: 60px;
	background: var(--white);
	color: var(--primary-teal);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	font-weight: 800;
	margin: 0 auto 20px;
}

.step-title {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 15px;
	text-align: center;
}

.step-description {
	font-size: 15px;
	line-height: 1.6;
	opacity: 0.9;
	text-align: center;
}

.step-features {
	list-style: none;
	margin-top: 20px;
}

.step-features li {
	font-size: 14px;
	margin-bottom: 10px;
	position: relative;
	padding-left: 20px;
	opacity: 0.8;
}

.step-features li::before {
	content: '→';
	position: absolute;
	left: 0;
	color: var(--white);
	font-weight: bold;
}

/* === HOME VISIT SECTION === */
.home-visit-section {
	background: linear-gradient(135deg, var(--primary-teal) 0%, var(--dark-teal) 100%);
	color: var(--white);
}

.home-visit-section .section-badge {
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
}

.home-visit-section .section-title,
.home-visit-section .section-subtitle {
	color: var(--white);
}

.home-visit-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
	position: relative;
	z-index: 2;
}

.home-visit-info {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.visit-feature {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	padding: 30px;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: all 0.3s ease;
}

.visit-feature:hover {
	background: rgba(255, 255, 255, 0.15);
	transform: translateY(-5px);
}

.feature-icon {
	width: 60px;
	height: 60px;
	background: var(--white);
	color: var(--primary-teal);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin-bottom: 20px;
}

.feature-title {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 15px;
	color: var(--white);
}

.feature-description {
	font-size: 15px;
	line-height: 1.6;
	opacity: 0.9;
	color: var(--white);
}

.home-visit-form {
	background: var(--white);
	border-radius: 25px;
	padding: 40px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
	position: relative;
}

/* === CERTIFICATES SECTION === */
.certificates-section {
	background: var(--white);
}

.certificates-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
	position: relative;
	z-index: 2;
}

.certificates-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.certificate-card {
	background: var(--white);
	border-radius: 20px;
	padding: 20px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	transition: all 0.4s ease;
	border: 2px solid transparent;
	position: relative;
	overflow: hidden;
}

.certificate-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(135deg, var(--primary-teal), var(--success-green));
}

.certificate-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
	border-color: var(--primary-teal);
}

.certificate-image {
	width: 100%;
	height: 300px;
	background: linear-gradient(135deg, var(--bg-light), #e9ecef);
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	position: relative;
	overflow: hidden;
}

.certificate-image i {
	font-size: 48px;
	color: var(--primary-teal);
	opacity: 0.3;
}

.certificate-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--dark);
	text-align: center;
	margin-bottom: 10px;
}

.certificate-description {
	font-size: 14px;
	color: var(--gray);
	text-align: center;
	line-height: 1.4;
}

.certificates-info {
	padding-left: 20px;
}

.certificates-info h3 {
	font-size: 28px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 25px;
	line-height: 1.2;
}

.info-list {
	list-style: none;
	margin-bottom: 30px;
}

.info-list li {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.5;
}

.info-icon {
	width: 24px;
	height: 24px;
	background: var(--primary-teal);
	color: var(--white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	flex-shrink: 0;
	margin-top: 2px;
}

/* === REVIEWS SECTION === */
.reviews-section {
	background: var(--white);
	padding: 80px 0;
	position: relative;
	overflow: hidden;
}

.reviews-swiper {
	position: relative;
	z-index: 2;
	padding: 20px 0 60px;
	overflow: visible;
}

.reviews-swiper .swiper-slide {
	height: auto;
	display: flex;
}

.review-card {
	background: var(--white);
	border-radius: 20px;
	padding: 35px 30px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	transition: all 0.4s ease;
	border-left: 4px solid var(--primary-teal);
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.review-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
	border-left-color: var(--accent-red);
}

.review-quote {
	position: absolute;
	top: 20px;
	right: 25px;
	font-size: 32px;
	color: var(--primary-teal);
	opacity: 0.2;
}

.review-header {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 25px;
}

.review-avatar {
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	font-size: 24px;
	font-weight: bold;
	flex-shrink: 0;
}

.review-info h4 {
	font-size: 18px;
	font-weight: 600;
	color: var(--dark);
	margin-bottom: 5px;
}

.review-date {
	font-size: 13px;
	color: var(--gray);
	margin-bottom: 8px;
}

.review-rating {
	display: flex;
	gap: 3px;
	margin-bottom: 20px;
}

.star {
	color: #ffc107;
	font-size: 16px;
}

.review-text {
	font-size: 16px;
	line-height: 1.6;
	color: var(--gray);
	font-style: italic;
	flex-grow: 1;
	position: relative;
}

.review-text::before {
	content: '"';
	font-size: 48px;
	color: var(--primary-teal);
	opacity: 0.3;
	position: absolute;
	top: -10px;
	left: -10px;
	font-family: serif;
}

.review-text::after {
	content: '"';
	font-size: 48px;
	color: var(--primary-teal);
	opacity: 0.3;
	position: absolute;
	bottom: -30px;
	right: 0;
	font-family: serif;
}

.review-card.featured {
	border-left-color: var(--accent-red);
	background: linear-gradient(135deg, var(--white) 0%, #fefefe 100%);
}

.review-card.featured .review-avatar {
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
}

.review-card.verified::after {
	content: 'Проверено';
	position: absolute;
	top: 15px;
	left: 15px;
	background: var(--success-green);
	color: var(--white);
	padding: 4px 10px;
	border-radius: 10px;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	z-index: 1;
}

.reviews-stats {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	border-radius: 25px;
	padding: 40px;
	margin-top: 50px;
	text-align: center;
	color: var(--white);
	position: relative;
	overflow: hidden;
}

/* === CTA BANNERS === */
.cta-banner {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	padding: 40px;
	margin-top: 60px;
	text-align: center;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.cta-title {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 15px;
	color: var(--white);
}

.cta-subtitle {
	font-size: 16px;
	margin-bottom: 30px;
	opacity: 0.9;
}

.cta-buttons {
	display: flex;
	gap: 20px;
	justify-content: center;
	flex-wrap: wrap;
}

.cta-phone-btn {
	background: var(--white);
	color: var(--primary-teal);
	padding: 16px 32px;
	border-radius: 50px;
	text-decoration: none;
	font-size: 18px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	transition: all 0.3s ease;
	box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
}

.cta-phone-btn:hover {
	background: rgba(255, 255, 255, 0.95);
	transform: translateY(-2px);
	box-shadow: 0 12px 35px rgba(255, 255, 255, 0.3);
	color: var(--primary-teal);
}

.cta-callback-btn {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	color: var(--white);
	border: 2px solid rgba(255, 255, 255, 0.3);
	padding: 16px 32px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	transition: all 0.3s ease;
}

.cta-callback-btn:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: var(--white);
	transform: translateY(-2px);
}

.cta-note {
	font-size: 14px;
	color: var(--white);
	opacity: 0.8;
	margin: 0;
}

.packages-cta {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	border-radius: 25px;
	padding: 50px 40px;
	text-align: center;
	margin-top: 60px;
	position: relative;
	overflow: hidden;
}

.pricing-cta {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	border-radius: 25px;
	padding: 40px;
	text-align: center;
	color: var(--white);
	margin-top: 50px;
	position: relative;
	overflow: hidden;
}

.cta-content {
	position: relative;
	z-index: 2;
}

.cta-phone {
	background: var(--white);
	color: var(--primary-teal);
	padding: 12px 24px;
	border-radius: 50px;
	text-decoration: none;
	font-size: 16px;
	font-weight: 700;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.cta-phone:hover {
	background: rgba(255, 255, 255, 0.95);
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3);
	color: var(--primary-teal);
}

.cta-consultation {
	background: rgba(255, 255, 255, 0.1);
	color: var(--white);
	border: 2px solid rgba(255, 255, 255, 0.3);
	padding: 10px 24px;
	border-radius: 50px;
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.cta-consultation:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: var(--white);
	transform: translateY(-2px);
	color: var(--white);
}

/* === СПЕЦИАЛЬНЫЕ АНИМАЦИИ === */
@keyframes float {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	25% { transform: translateY(-15px) rotate(3deg); }
	75% { transform: translateY(-8px) rotate(-2deg); }
}

@keyframes pulse-rotate {
	0%, 100% { transform: rotate(0deg) scale(1); }
	50% { transform: rotate(180deg) scale(1.05); }
}

.hero-detox::after {
	content: '';
	position: absolute;
	top: 10%;
	right: 5%;
	width: 120px;
	height: 120px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,0.1)'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM7 13.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM12 17.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM17 13.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
	opacity: 0.1;
	z-index: 1;
	animation: float 8s ease-in-out infinite;
}

.hero-withdrawal::after {
	content: '';
	position: absolute;
	top: 15%;
	right: 8%;
	width: 100px;
	height: 100px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,0.1)'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
	opacity: 0.1;
	z-index: 1;
	animation: pulse-rotate 6s ease-in-out infinite;
}

.hero-hospital::after {
	content: '';
	position: absolute;
	top: 20%;
	right: 10%;
	width: 110px;
	height: 110px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,0.1)'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
	opacity: 0.1;
	z-index: 1;
	animation: float 10s ease-in-out infinite;
}

/* === DOCTOR SPECIALIZATIONS === */
.doctor-avatar.psychiatrist {
	background: linear-gradient(135deg, #6c5ce7, #a29bfe);
}

.doctor-avatar.therapist {
	background: linear-gradient(135deg, #fd79a8, #e84393);
}

.doctor-avatar.rehabilitation {
	background: linear-gradient(135deg, #00b894, #00cec9);
}

.doctor-avatar.detox {
	background: linear-gradient(135deg, #fdcb6e, #e17055);
}

.doctor-avatar.chief {
	background: linear-gradient(135deg, #74b9ff, #0984e3);
}

/* === АДАПТИВНОСТЬ === */
@media (max-width: 992px) {
	.home-visit-content {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.certificates-content {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.certificates-info {
		padding-left: 0;
		text-align: center;
	}
	
	.certificates-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.recovery-steps {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}

@media (max-width: 768px) {
	.visit-feature {
		padding: 25px 20px;
	}
	
	.feature-icon {
		width: 50px;
		height: 50px;
		font-size: 20px;
	}
	
	.feature-title {
		font-size: 18px;
	}
	
	.recovery-step {
		padding: 30px 20px;
	}
	
	.cta-banner {
		padding: 30px 25px;
	}
	
	.cta-title {
		font-size: 24px;
	}
	
	.cta-buttons {
		flex-direction: column;
		gap: 15px;
	}
	
	.cta-primary,
	.cta-secondary {
		text-align: center;
		justify-content: center;
	}
	
	.certificates-info h3 {
		font-size: 24px;
	}
	
	.review-card {
		padding: 25px 20px;
	}
	
	.review-header {
		gap: 15px;
	}
	
	.review-avatar {
		width: 50px;
		height: 50px;
		font-size: 20px;
	}
	
	.review-info h4 {
		font-size: 16px;
	}
	
	.review-text {
		font-size: 15px;
	}
	
	.reviews-stats {
		padding: 30px 25px;
	}
}

@media (max-width: 480px) {
	.step-number {
		width: 50px;
		height: 50px;
		font-size: 20px;
	}
	
	.step-title {
		font-size: 18px;
	}
	
	.cta-banner {
		padding: 25px 20px;
	}
	
	.certificates-grid {
		grid-template-columns: 1fr;
	}
	
	.certificate-image {
		height: 150px;
	}
	
	.certificate-image i {
		font-size: 36px;
	}
	
	.review-text::before,
	.review-text::after {
		display: none;
	}
	
	.review-quote {
		font-size: 24px;
		top: 15px;
		right: 20px;
	}
	
	.hero-detox::after,
	.hero-withdrawal::after,
	.hero-hospital::after {
		display: none;
	}
}

/* Services swiper - overflow visible for shadows */
.services-swiper {
	padding: 20px 0 60px;
	overflow: visible;
}

.services-swiper,
.services-swiper .swiper-wrapper,
.services-swiper .swiper-slide {
	height: auto !important;
	min-height: auto !important;
}

.services-swiper .service-card {
	height: 100%;
}

.services-swiper .swiper-pagination {
	bottom: 20px;
}

.services-swiper .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	opacity: 1;
	background: rgba(119, 202, 200, 0.3);
	transition: all 0.3s ease;
}

.services-swiper .swiper-pagination-bullet-active {
	background: var(--primary-teal);
	transform: scale(1.3);
}

/* Reviews swiper - overflow visible for shadows */
.reviews-swiper {
	padding: 20px 0 60px;
	overflow: visible;
}

.reviews-swiper,
.reviews-swiper .swiper-wrapper,
.reviews-swiper .swiper-slide {
	height: auto !important;
	min-height: auto !important;
}

/* Hero CTA button fixes */
.hero-cta .cta-primary {
	padding: 12px 24px;
	color: #fff !important;
	font-size: 14px;
	background: var(--primary-teal);
}

.hero-cta .cta-primary:hover {
	color: #fff !important;
	background: var(--dark-teal);
}

.hero-cta .cta-secondary {
	padding: 12px 24px;
	font-size: 14px;
}

/* Hero consultation button z-index */
.hero-form .action-btn {
	position: relative;
	z-index: 10;
}

.hero-form .hero-baner-img {
	position: relative;
	z-index: 1;
}

/* Recovery CTA buttons side by side, smaller */
.cta-banner .cta-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}

.cta-banner .cta-primary,
.cta-banner .cta-secondary {
	padding: 12px 24px;
	font-size: 14px;
}

.cta-banner .cta-primary {
	color: #fff !important;
	background: var(--primary-teal);
}

.cta-banner .cta-primary:hover {
	color: #fff !important;
	background: var(--dark-teal);
}

/* Promotions - pin buttons to bottom */
.promotion-card {
	display: flex;
	flex-direction: column;
}

.promotion-content {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.promotion-actions {
	margin-top: auto;
}

/* Certificate image fix */
.certificate-image.has-img {
	background: var(--white) !important;
	border: 1px solid rgba(119, 202, 200, 0.2);
	position: relative !important;
}

.certificate-image.has-img img {
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	z-index: 2;
	padding: 10px;
}

/* Services swiper card height */
.services-swiper .service-card {
	display: flex;
	flex-direction: column;
}

.services-swiper .service-cta {
	margin-top: auto;
}

/* Promotions swiper */
.promotions-swiper {
	padding: 20px 0 60px;
	overflow: visible;
}

.promotions-swiper,
.promotions-swiper .swiper-wrapper,
.promotions-swiper .swiper-slide {
	height: auto !important;
	min-height: auto !important;
}

.promotions-swiper .promotion-card {
	height: 100%;
}

.promotions-swiper .swiper-pagination {
	bottom: 20px;
}

.promotions-swiper .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	opacity: 1;
	background: rgba(119, 202, 200, 0.3);
	transition: all 0.3s ease;
}

.promotions-swiper .swiper-pagination-bullet-active {
	background: var(--primary-teal);
	transform: scale(1.3);
}

/* Swiper sections — clip at screen width, not container */
.doctors-section,
.schedule,
.reviews-section,
.services-section,
.promotions-section,
.treatment-steps-section {
	overflow: hidden;
}

.doctors-slider-wrapper,
.schedule-swiper-wrapper {
	overflow: visible;
}

/* Compact header on scroll */
header .header-top,
header .logo-header-text,
header .logo-img,
header .center-section,
header .contact-section {
	transition: all 0.3s ease;
}

/* Scrolled center — hidden by default */
.scrolled-center {
	display: none;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	flex: 1;
	text-align: center;
	min-width: 0;
}

.scrolled-city {
	font-size: 12px;
	color: var(--primary-teal);
	font-weight: 600;
}

.scrolled-city .fa {
	margin-right: 4px;
}

.scrolled-slogan {
	font-size: 14px;
	font-weight: 700;
	color: var(--dark);
	line-height: 1.2;
}

.scrolled-subtitle {
	font-size: 11px;
	color: var(--gray);
	line-height: 1.2;
}

/* Scrolled state */
header.scrolled .header-top {
	padding: 8px 0;
	gap: 15px;
}

header.scrolled .logo-header-text {
	display: none;
}

header.scrolled .logo-img {
	width: 40px;
	height: 40px;
}

header.scrolled .center-section {
	display: none;
}

header.scrolled .scrolled-center {
	display: flex;
}

header.scrolled .contact-section {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
}

header.scrolled .phone-block {
	text-align: left;
}

header.scrolled .phone-link {
	font-size: 15px;
	white-space: nowrap;
}

header.scrolled .phone-description {
	display: none;
}

header.scrolled .cta-button {
	padding: 8px 16px;
	font-size: 12px;
	white-space: nowrap;
}

@media (max-width: 768px) {
	header.scrolled .scrolled-center {
		display: none;
	}
}

/* City selector button + popup */
.city-selector {
	position: relative;
}

.city-selector-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--bg-light);
	border: 1px solid rgba(119, 202, 200, 0.3);
	border-radius: 25px;
	padding: 8px 16px;
	cursor: pointer;
	font-size: 14px;
	color: var(--dark);
	transition: all 0.3s ease;
	white-space: nowrap;
}

.city-selector-btn:hover {
	border-color: var(--primary-teal);
	background: var(--white);
}

.city-selector-btn .fa-map-marker {
	color: var(--primary-teal);
}

.city-chevron {
	font-size: 10px;
	color: var(--gray);
}

.city-popup {
	position: absolute;
	top: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	background: var(--white);
	border-radius: 16px;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
	width: 320px;
	max-height: 400px;
	z-index: 2000;
	overflow: hidden;
	animation: cityPopupIn 0.2s ease;
}

@keyframes cityPopupIn {
	from { opacity: 0; transform: translateX(-50%) translateY(-8px); }
	to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.city-popup-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 18px 10px;
	font-weight: 600;
	font-size: 15px;
	color: var(--dark);
}

.city-popup-close {
	background: none;
	border: none;
	font-size: 22px;
	cursor: pointer;
	color: var(--gray);
	line-height: 1;
}

.city-popup-search {
	padding: 0 14px 10px;
}

.city-popup-search input {
	width: 100%;
	padding: 8px 14px;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	font-size: 14px;
	outline: none;
	transition: border-color 0.2s;
}

.city-popup-search input:focus {
	border-color: var(--primary-teal);
}

.city-popup-list {
	max-height: 280px;
	overflow-y: auto;
	padding: 0 8px 10px;
}

.city-popup-item {
	display: block;
	width: 100%;
	text-align: left;
	padding: 8px 14px;
	border: none;
	background: none;
	cursor: pointer;
	font-size: 14px;
	color: var(--dark);
	border-radius: 8px;
	transition: background 0.15s;
}

.city-popup-item:hover {
	background: var(--bg-light);
}

.city-popup-item.active {
	color: var(--primary-teal);
	font-weight: 600;
	background: rgba(119, 202, 200, 0.1);
}

.city-popup-empty {
	padding: 20px;
	text-align: center;
	color: var(--gray);
	font-size: 14px;
}

/* Compact city selector in scrolled header */
header.scrolled .city-selector-btn {
	padding: 4px 12px;
	font-size: 12px;
	gap: 5px;
}

/* === HERO SERVICE (inner pages) === */
.hero-service {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	color: var(--white);
	padding: 60px 0 50px;
	position: relative;
}

.hero-service__title {
	font-size: 36px;
	font-weight: 800;
	margin-bottom: 10px;
	line-height: 1.2;
}

.hero-service__subtitle {
	font-size: 16px;
	opacity: 0.8;
	margin-bottom: 25px;
}

.hero-service__benefits {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 30px;
}

.hero-service__benefits li {
	display: flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.1);
	padding: 8px 16px;
	border-radius: 25px;
	font-size: 14px;
}

.hero-service__benefits li .fa {
	color: var(--primary-teal);
}

.hero-service__actions {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

.hero-service__actions .btn-primary {
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	padding: 14px 28px;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	transition: all 0.3s ease;
}

.hero-service__actions .btn-secondary {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.3);
	color: var(--white);
	padding: 14px 28px;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.hero-service__actions .btn-secondary:hover {
	border-color: var(--primary-teal);
	background: rgba(119, 202, 200, 0.1);
}

@media (max-width: 768px) {
	.hero-service__title {
		font-size: 26px;
	}
	.hero-service__benefits {
		flex-direction: column;
		gap: 8px;
	}
	.hero-service__actions {
		flex-direction: column;
	}
	.hero-service__actions .btn-primary,
	.hero-service__actions .btn-secondary {
		text-align: center;
	}
}

/* === TREATMENT PROGRAMS === */
.programs-section {
	padding: 80px 0;
	background: var(--bg-light);
}

.programs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
}

.program-card {
	background: var(--white);
	border-radius: 20px;
	padding: 30px 25px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border: 2px solid transparent;
}

.program-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.program-card--accent {
	border-color: var(--primary-teal);
	position: relative;
}

.program-card--accent::before {
	content: 'Рекомендуем';
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--primary-teal);
	color: var(--white);
	padding: 4px 16px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

.program-card__header {
	margin-bottom: 20px;
}

.program-card__header h3 {
	font-size: 18px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 10px;
}

.program-card__price {
	display: flex;
	align-items: baseline;
	gap: 5px;
}

.price-value {
	font-size: 24px;
	font-weight: 800;
	color: var(--primary-teal);
}

.price-unit {
	font-size: 14px;
	color: var(--gray);
}

.program-card__features {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	flex: 1;
}

.program-card__features li {
	padding: 6px 0;
	font-size: 14px;
	color: var(--dark);
}

.program-card__features li .fa {
	color: var(--primary-teal);
	margin-right: 8px;
	font-size: 12px;
}

.program-card__btn {
	display: block;
	text-align: center;
	padding: 12px;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-top: auto;
}

.program-card__btn:hover {
	opacity: 0.9;
	transform: translateY(-2px);
}

@media (max-width: 992px) {
	.programs-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 576px) {
	.programs-grid {
		grid-template-columns: 1fr;
	}
}

/* === PRICING TABLE === */
.pricing-section {
	padding: 80px 0;
}

.pricing-groups {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-bottom: 40px;
}

.pricing-group {
	background: var(--white);
	border-radius: 20px;
	padding: 30px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
}

.pricing-group__title {
	font-size: 20px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--primary-teal);
}

.pricing-table {
	width: 100%;
	border-collapse: collapse;
}

.pricing-table tr {
	border-bottom: 1px solid #f0f0f0;
}

.pricing-table tr:last-child {
	border-bottom: none;
}

.pricing-table td {
	padding: 12px 0;
	font-size: 14px;
}

.pricing-table__name {
	color: var(--dark);
}

.pricing-table__price {
	text-align: right;
	font-weight: 700;
	color: var(--primary-teal);
	white-space: nowrap;
}

.pricing-cta {
	text-align: center;
	margin-top: 30px;
}

.pricing-cta p {
	font-size: 20px;
	color: var(--white);
	margin-bottom: 20px;
	font-weight: 600;
}

@media (max-width: 768px) {
	.pricing-groups {
		grid-template-columns: 1fr;
	}
}

/* Content CTA block */
.content-cta {
	margin: 40px 0;
}

.cta-block {
	background: linear-gradient(135deg, #1a1a2e, #0f3460);
	color: var(--white);
	padding: 40px;
	border-radius: 20px;
	text-align: center;
}

.cta-block h2 {
	font-size: 28px;
	margin-bottom: 10px;
	color: var(--white) !important;
	padding-left: 0;
}

.cta-block h2::before {
	display: none;
}

.cta-block p {
	font-size: 18px;
	color: rgba(255, 255, 255, 0.9) !important;
	opacity: 1;
	margin-bottom: 20px;
	text-align: center;
}

.btn-call-large {
	display: inline-block;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	padding: 16px 32px;
	border-radius: 50px;
	text-decoration: none;
	font-size: 20px;
	font-weight: 700;
	transition: all 0.3s ease;
}

.btn-call-large:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 30px rgba(119, 202, 200, 0.3);
}

/* Content sources */
.content-sources {
	margin-top: 40px;
	padding: 30px;
	background: var(--bg-light);
	border-radius: 15px;
}

.content-sources h2 {
	font-size: 20px;
	margin-bottom: 15px;
}

/* Breadcrumbs */
.breadcrumbs-section {
	padding: 15px 0;
	background: var(--bg-light);
}

.breadcrumbs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	font-size: 13px;
}

.breadcrumbs li::after {
	content: '/';
	margin-left: 8px;
	color: var(--gray);
}

.breadcrumbs li:last-child::after {
	display: none;
}

.breadcrumbs a {
	color: var(--primary-teal);
	text-decoration: none;
}

.breadcrumbs a:hover {
	text-decoration: underline;
}

/* === SPECIALIZED PROGRAMS === */
.specialized-section {
	background: var(--white);
}

.specialized-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.specialized-card {
	background: var(--bg-light);
	border-radius: 16px;
	padding: 30px 24px;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.specialized-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(119, 202, 200, 0.2);
}

.specialized-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.specialized-card__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 8px;
}

.specialized-card__price {
	font-size: 20px;
	font-weight: 800;
	color: var(--primary-teal);
	margin-bottom: 10px;
}

.specialized-card__desc {
	font-size: 14px;
	color: var(--gray);
	line-height: 1.5;
	margin-bottom: 16px;
}

.specialized-card__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
	color: var(--white);
	padding: 10px 24px;
	border-radius: 25px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: all 0.3s ease;
	margin-top: auto;
}

.specialized-card__btn:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 15px rgba(196, 69, 105, 0.3);
}

@media (max-width: 768px) {
	.specialized-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.specialized-card {
		flex-direction: row;
		text-align: left;
		gap: 16px;
		padding: 20px;
		flex-wrap: wrap;
	}

	.specialized-card__icon {
		width: 48px;
		height: 48px;
		font-size: 18px;
		margin-bottom: 0;
		flex-shrink: 0;
	}

	.specialized-card__title {
		font-size: 16px;
		flex: 1;
		min-width: 0;
	}

	.specialized-card__price {
		width: 100%;
		margin-bottom: 4px;
	}

	.specialized-card__desc {
		width: 100%;
		margin-bottom: 8px;
	}

	.specialized-card__btn {
		width: 100%;
		justify-content: center;
	}
}

/* === SAFETY SECTION === */
.safety-section {
	background: linear-gradient(135deg, #1a1a2e, #0f3460);
	color: var(--white);
}

.safety-section .section-badge {
	background: rgba(255, 255, 255, 0.15);
}

.safety-section .section-title {
	color: var(--white);
}

.safety-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.safety-card {
	text-align: center;
	padding: 24px 16px;
}

.safety-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(119, 202, 200, 0.2);
	color: var(--primary-teal);
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.safety-card__text {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.5;
}

@media (max-width: 992px) {
	.safety-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 576px) {
	.safety-grid {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}

	.safety-card {
		padding: 16px 8px;
	}

	.safety-card__icon {
		width: 48px;
		height: 48px;
		font-size: 18px;
	}

	.safety-card__text {
		font-size: 13px;
	}
}

/* === TREATMENT STEPS === */
.treatment-steps-section {
	background: var(--bg-light);
}

.treatment-step-card {
	background: var(--white);
	border-radius: 16px;
	padding: 30px 24px;
	position: relative;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.treatment-step-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(119, 202, 200, 0.2);
}

.treatment-step-number {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
	color: var(--white);
	font-size: 20px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.treatment-step-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 16px;
}

.treatment-step-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.treatment-step-list li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 6px 0;
	font-size: 14px;
	color: var(--gray);
	line-height: 1.4;
}

.treatment-step-list li .fa {
	color: var(--primary-teal);
	margin-top: 3px;
	font-size: 12px;
	flex-shrink: 0;
}

/* Treatment Steps Slider */
.treatment-steps-slider {
	position: relative;
	padding: 0 50px;
}

.treatment-steps-slider .swiper {
	overflow: hidden;
}

.treatment-steps-slider .swiper-slide {
	height: auto;
}

.treatment-steps-slider .treatment-step-card {
	height: 100%;
}

.treatment-steps-slider .swiper-pagination {
	position: relative;
	margin-top: 24px;
}

.treatment-steps-slider .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: var(--primary-teal);
	opacity: 0.3;
}

.treatment-steps-slider .swiper-pagination-bullet-active {
	opacity: 1;
	background: var(--dark-teal);
}

.treatment-steps-prev,
.treatment-steps-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--white);
	border: 2px solid var(--primary-teal);
	color: var(--dark-teal);
	font-size: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.treatment-steps-prev:hover,
.treatment-steps-next:hover {
	background: var(--primary-teal);
	color: var(--white);
}

.treatment-steps-prev {
	left: 0;
}

.treatment-steps-next {
	right: 0;
}

.treatment-steps-prev.swiper-button-disabled,
.treatment-steps-next.swiper-button-disabled {
	opacity: 0.3;
	cursor: default;
}

.treatment-steps-prev.swiper-button-disabled:hover,
.treatment-steps-next.swiper-button-disabled:hover {
	background: var(--white);
	color: var(--dark-teal);
}

@media (max-width: 768px) {
	.treatment-steps-slider {
		padding: 0 10px;
	}
	.treatment-steps-prev,
	.treatment-steps-next {
		display: none;
	}
}

/* === MOBILE BOTTOM PANEL === */
.mobile-bottom-panel {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--white);
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
	z-index: 1001;
	padding: 10px 15px;
	transform: translateY(100%);
	transition: transform 0.3s ease;
}

.mobile-bottom-panel.visible {
	transform: translateY(0);
}

.mobile-bottom-panel__inner {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 500px;
	margin: 0 auto;
}

.mobile-bottom-panel__phone {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	color: var(--dark);
	font-weight: 600;
	font-size: 15px;
}

.mobile-bottom-panel__phone .fa {
	color: var(--primary-teal);
	font-size: 18px;
}

.mobile-bottom-panel__call {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
	color: var(--white);
	border: none;
	padding: 10px 20px;
	border-radius: 25px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

@media (max-width: 768px) {
	.mobile-bottom-panel {
		display: block;
	}

	/* Add padding to body so content isn't hidden behind panel */
	body {
		padding-bottom: 60px;
	}
}

@media (min-width: 769px) {
	.mobile-bottom-panel {
		display: none !important;
	}
}

/* === PROCEDURE INCLUDES === */
.procedure-includes-section {
	padding: 60px 0;
	background: var(--light-bg, #f8f9fa);
}

.procedure-includes-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 30px;
}

.procedure-includes-card {
	background: var(--white, #fff);
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	transition: transform 0.2s, box-shadow 0.2s;
}

.procedure-includes-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}

.procedure-includes-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--primary-teal);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.procedure-includes-card__icon i {
	color: var(--white, #fff);
	font-size: 20px;
}

.procedure-includes-card__title {
	font-size: 18px;
	font-weight: 600;
	color: var(--dark, #2d3436);
	margin-bottom: 12px;
}

.procedure-includes-card__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.procedure-includes-card__list li {
	padding: 4px 0;
	color: var(--gray, #636e72);
	font-size: 14px;
	position: relative;
	padding-left: 16px;
}

.procedure-includes-card__list li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--primary-teal);
	font-weight: bold;
}

@media (max-width: 768px) {
	.procedure-includes-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.procedure-includes-card {
		padding: 16px;
	}

	.procedure-includes-card__title {
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.procedure-includes-grid {
		grid-template-columns: 1fr;
	}
}
/* Near cities + region cities */
.near-cities-section {
  padding: 40px 0;
  background: #f8f9fa;
}
.near-cities-block {
  margin-bottom: 30px;
}
.near-cities-block h3,
.region-cities-block h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: #2c3e50;
}
.near-cities-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.near-city-link {
  display: inline-block;
  padding: 10px 20px;
  background: #fff;
  border: 2px solid #3498db;
  border-radius: 8px;
  color: #3498db;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s;
}
.near-city-link:hover {
  background: #3498db;
  color: #fff;
}
.region-cities-block {
  border-top: 1px solid #dee2e6;
  padding-top: 25px;
}
.region-cities-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.region-city-link {
  display: inline-block;
  padding: 6px 14px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  color: #555;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.2s;
}
.region-city-link:hover {
  border-color: #3498db;
  color: #3498db;
  background: #eef6fd;
}

/* Blog styles */
.page-hero {
  background: linear-gradient(135deg, #1a3a5c 0%, #2c5f8a 100%);
  color: #fff;
  padding: 60px 0 40px;
  text-align: center;
}
.page-hero h1 {
  font-size: 2.2rem;
  margin-bottom: 10px;
}
.page-hero p {
  opacity: 0.85;
  font-size: 1.1rem;
}
.blog-section {
  padding: 40px 0 60px;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}
.blog-card {
  display: block;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s, box-shadow 0.2s;
}
.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.blog-card-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.blog-card-content {
  padding: 20px;
}
.blog-card-category {
  display: inline-block;
  padding: 3px 10px;
  background: #eef6fd;
  color: #3498db;
  border-radius: 4px;
  font-size: 0.8rem;
  font-weight: 500;
  margin-bottom: 8px;
}
.blog-card-title {
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: 8px;
  color: #2c3e50;
  line-height: 1.4;
}
.blog-card-desc {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 12px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-card-date {
  font-size: 0.85rem;
  color: #999;
}
.blog-empty {
  text-align: center;
  color: #888;
  padding: 40px 0;
  font-size: 1.1rem;
}
.blog-article-header {
  margin-bottom: 30px;
}
.blog-article-header h1 {
  font-size: 2rem;
  margin-bottom: 15px;
  color: #2c3e50;
}
.blog-article-meta {
  display: flex;
  gap: 16px;
  align-items: center;
  color: #888;
  font-size: 0.9rem;
}
.blog-article-category {
  padding: 3px 10px;
  background: #eef6fd;
  color: #3498db;
  border-radius: 4px;
  font-size: 0.8rem;
}
.blog-article-views {
  display: flex;
  align-items: center;
  gap: 4px;
}
.blog-article-image {
  margin-bottom: 30px;
  border-radius: 12px;
  overflow: hidden;
}
.blog-article-image img {
  width: 100%;
  height: auto;
}

/* ─── Hero price badge ─── */
.hero-service__price {
  display: inline-block;
  background: rgba(255,255,255,0.15);
  padding: 4px 12px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 1.125rem;
  color: #fff;
}

/* ─── Price page ─── */
.price-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
.price-table thead th {
  background: #1a3c5e;
  color: #fff;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  font-size: 0.9375rem;
}
.price-table tbody td {
  padding: 10px 16px;
  border-bottom: 1px solid #e5e7eb;
  font-size: 0.9375rem;
}
.price-table tbody tr:nth-child(even) {
  background: #f8fafc;
}
.price-table tbody tr:hover {
  background: #eff6ff;
}
.price-table .price-value {
  font-weight: 700;
  white-space: nowrap;
  color: #1a3c5e;
}
.price-section-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 2rem 0 0.75rem;
  color: #1a3c5e;
}
.price-note {
  font-size: 0.875rem;
  color: #64748b;
  margin-top: 1.5rem;
  padding: 1rem;
  background: #f8fafc;
  border-radius: 8px;
  border-left: 3px solid #3b82f6;
}

/* Blog category filter */
.blog-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.blog-cat-btn {
  padding: 0.5rem 1.25rem;
  border: 1px solid #d1d5db;
  border-radius: 2rem;
  background: #fff;
  color: #374151;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.2s;
}
.blog-cat-btn:hover {
  border-color: #1a5632;
  color: #1a5632;
}
.blog-cat-btn.active {
  background: #1a5632;
  border-color: #1a5632;
  color: #fff;
}

/* === PRICE TABLE FIX: 2 columns aligned === */
.price-table {
  table-layout: fixed;
}
.price-table thead th:first-child,
.price-table tbody td:first-child {
  width: 70%;
}
.price-table thead th:last-child,
.price-table tbody td:last-child {
  width: 30%;
  text-align: right;
}
.price-table .price-value {
  text-align: right;
}

/* === LICENSES PAGE === */
.license-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0;
}
.license-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
}
.license-icon {
  font-size: 2.5rem;
  color: #1a5632;
  margin-bottom: 1rem;
}
.license-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  color: #1e293b;
}
.license-card p {
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.6;
}
.license-note {
  font-size: 0.875rem;
  color: #64748b;
  margin-top: 1.5rem;
  padding: 1rem;
  background: #f0fdf4;
  border-radius: 8px;
  border-left: 3px solid #1a5632;
}

/* === PROMOTIONS PAGE === */
.promo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0;
}
.promo-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1.5rem;
  position: relative;
  transition: box-shadow 0.2s;
}
.promo-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.promo-card.promo-hot {
  border-color: #f97316;
}
.promo-badge {
  display: inline-block;
  background: #1a5632;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 1rem;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}
.promo-hot .promo-badge {
  background: #f97316;
}
.promo-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #1e293b;
}
.promo-card > p {
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.promo-price {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.promo-old {
  text-decoration: line-through;
  color: #94a3b8;
  font-size: 0.9375rem;
}
.promo-new {
  font-weight: 700;
  font-size: 1.125rem;
  color: #1a5632;
}
.promo-disclaimer {
  font-size: 0.8125rem;
  color: #94a3b8;
  margin-top: 1.5rem;
}

/* === GALLERY PAGE === */
.gallery-section {
  margin-bottom: 2rem;
}
.gallery-section h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 1rem;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.gallery-item {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
}
.gallery-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 180px;
  background: #f1f5f9;
  color: #64748b;
  gap: 0.5rem;
}
.gallery-placeholder i {
  font-size: 2rem;
  color: #1a5632;
}
.gallery-placeholder span {
  font-size: 0.875rem;
  font-weight: 500;
}
.gallery-note {
  font-size: 0.9375rem;
  color: #475569;
  margin-top: 1rem;
  padding: 1rem;
  background: #f0fdf4;
  border-radius: 8px;
  border-left: 3px solid #1a5632;
}

/* === CONTACTS PAGE === */
.contacts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0;
}
.contact-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
}
.contact-icon {
  font-size: 2rem;
  color: #1a5632;
  margin-bottom: 0.75rem;
}
.contact-card h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #1e293b;
}
.contact-card p {
  font-size: 0.9375rem;
  color: #475569;
}
.contact-card a {
  color: #1a5632;
  font-weight: 600;
  text-decoration: none;
}
.contact-card a:hover {
  text-decoration: underline;
}
.contact-note {
  font-size: 0.8125rem;
  color: #94a3b8;
  margin-top: 0.25rem;
}

/* === MOBILE: price table responsive === */
@media (max-width: 640px) {
  .price-table thead th:first-child,
  .price-table tbody td:first-child {
    width: 60%;
  }
  .price-table thead th:last-child,
  .price-table tbody td:last-child {
    width: 40%;
  }
  .price-table thead th,
  .price-table tbody td {
    padding: 8px 10px;
    font-size: 0.8125rem;
  }
  .gallery-placeholder {
    height: 140px;
  }
}

/* === 404 PAGE === */
.not-found-page {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 0;
}
.not-found-content {
  max-width: 480px;
  margin: 0 auto;
}
.not-found-code {
  font-size: 8rem;
  font-weight: 900;
  line-height: 1;
  color: #1a5632;
  opacity: 0.15;
  margin-bottom: -1rem;
}
.not-found-content h1 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 0.75rem;
}
.not-found-content > p {
  color: #64748b;
  font-size: 1.0625rem;
  margin-bottom: 2rem;
}
.not-found-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.not-found-link {
  color: #1a5632;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px dashed #1a5632;
}
.not-found-link:hover {
  border-bottom-style: solid;
}
.not-found-help {
  padding: 1rem;
  background: #f0fdf4;
  border-radius: 8px;
  font-size: 0.9375rem;
  color: #475569;
}

/* === PROMOTIONS on service pages === */
.promo-section {
  padding: 3rem 0;
  background: #f8fafc;
}
.promo-section .section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 1.5rem;
  text-align: center;
}
.promo-category-block {
  margin-bottom: 2.5rem;
}
.promo-category-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a3c5e;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e2e8f0;
}

/* =============================================
   CSS FIXES — 2026-02-16
   Override styles for visual improvements
   ============================================= */

/* === 1. SAFETY SECTION — light bg, square icons in corner === */
.safety-section {
  background: var(--white) !important;
  color: var(--dark);
}

.safety-section .section-badge {
  background: rgba(119, 202, 200, 0.15);
  color: var(--dark-teal);
}

.safety-section .section-title {
  color: var(--dark);
}

.safety-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.safety-card {
  position: relative;
  text-align: left;
  padding: 28px 24px 24px 24px;
  background: var(--bg-light);
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  min-height: 120px;
}

.safety-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: var(--primary-teal);
}

.safety-card__icon {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
  color: var(--white);
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.safety-card__text {
  font-size: 15px;
  color: var(--dark);
  line-height: 1.5;
  padding-right: 56px;
  font-weight: 500;
}

@media (max-width: 992px) {
  .safety-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .safety-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .safety-card {
    padding: 20px 16px 16px 16px;
    min-height: auto;
  }

  .safety-card__icon {
    width: 36px;
    height: 36px;
    font-size: 16px;
    top: 12px;
    right: 12px;
  }

  .safety-card__text {
    font-size: 14px;
    padding-right: 48px;
  }
}

/* === 2. SYMPTOMS CHECKLIST — semi-transparent icons and numbers === */
.symptom-card__number {
  opacity: 0.35;
  background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
}

.symptom-card__icon {
  opacity: 0.35;
  background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
}

.symptom-card__text {
  color: var(--dark);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
}

/* === 3. CTA BLOCK — phone more readable === */
.btn-call-large {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--white);
  color: var(--primary-teal) !important;
  padding: 18px 36px;
  border-radius: 50px;
  text-decoration: none;
  font-size: 22px;
  font-weight: 700;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
}

.btn-call-large:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.95);
  color: var(--dark-teal) !important;
}

.btn-call-large i {
  font-size: 18px;
}

/* === 4. INDICATIONS — fix for class names alignment === */
.indications-card {
  background: var(--white);
  border-radius: 20px;
  padding: 36px 32px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.06);
}

.indications-card--positive {
  border-top: 4px solid var(--success-green);
}

.indications-card--negative {
  border-top: 4px solid var(--accent-red);
}

.indications-card__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  font-size: 22px;
  font-weight: 700;
  color: var(--dark);
}

.indications-card--positive .indications-card__title i {
  color: var(--success-green);
  font-size: 24px;
}

.indications-card--negative .indications-card__title i {
  color: var(--accent-red);
  font-size: 24px;
}

.indications-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.indications-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--bg-light);
  font-size: 15px;
  line-height: 1.5;
  color: var(--dark);
}

.indications-card__list li:last-child {
  border-bottom: none;
}

.indications-card--positive .indications-card__list li i {
  color: var(--success-green);
  margin-top: 3px;
  flex-shrink: 0;
}

.indications-card--negative .indications-card__list li i {
  color: var(--accent-red);
  margin-top: 3px;
  flex-shrink: 0;
}

/* === 5. CONTENT AUTHOR BLOCK === */
.content-author {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
  padding: 24px;
  background: var(--bg-light);
  border-radius: 12px;
  border-left: 4px solid var(--primary-teal);
}

.content-author img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.content-author__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.content-author__label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--gray);
  margin-bottom: 4px;
}

.content-author__name {
  font-size: 16px;
  font-weight: 700;
  color: var(--dark);
}

.content-author__role {
  font-size: 14px;
  color: var(--gray);
}

/* === 6. CTA BLOCK WITH DOCTOR PHOTO === */
.cta-block {
  position: relative;
}

.cta-block__doctor {
  margin-bottom: 16px;
}

.cta-block__doctor img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

@media (max-width: 576px) {
  .content-author {
    flex-direction: row;
    gap: 12px;
    padding: 16px;
  }

  .content-author img {
    width: 48px;
    height: 48px;
  }

  .cta-block__doctor img {
    width: 64px;
    height: 64px;
  }
}

/* === SAFETY STRIP — compact trust bar === */
.safety-strip {
  background: var(--bg-light);
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding: 16px 0;
}

.safety-strip__items {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
}

.safety-strip__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--gray);
  white-space: nowrap;
}

.safety-strip__item i {
  color: var(--primary-teal);
  font-size: 16px;
  opacity: 0.7;
}

/* Override old safety-section styles */
.safety-section {
  display: none !important;
}

@media (max-width: 768px) {
  .safety-strip__items {
    gap: 16px 24px;
    justify-content: center;
  }

  .safety-strip__item {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .safety-strip {
    padding: 12px 0;
  }

  .safety-strip__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
  }

  .safety-strip__item {
    font-size: 12px;
    white-space: normal;
  }
}

/* === FOOTER — redesigned === */

/* Emergency CTA strip */
.footer-cta {
  background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
  padding: 20px 0;
}

.footer-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.footer-cta__text {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--white);
}

.footer-cta__text > i {
  font-size: 32px;
  opacity: 0.6;
}

.footer-cta__text strong {
  display: block;
  font-size: 18px;
  font-weight: 700;
}

.footer-cta__text span {
  font-size: 14px;
  opacity: 0.8;
}

.footer-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--white);
  color: var(--dark-teal);
  padding: 14px 32px;
  border-radius: 50px;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.footer-cta__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
  background: #f0fffe;
}

/* Main footer area */
.footer-main {
  background: #0a1f2e;
  padding: 60px 0 40px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 40px;
}

.footer-logo img {
  height: 40px;
  width: auto;
  filter: brightness(0) invert(1);
  margin-bottom: 20px;
}

.footer-desc {
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 20px;
}

.footer-license {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--primary-teal);
  background: rgba(119, 202, 200, 0.1);
  padding: 8px 14px;
  border-radius: 6px;
  border: 1px solid rgba(119, 202, 200, 0.2);
}

.footer-heading {
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 24px;
  position: relative;
  padding-bottom: 12px;
}

.footer-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 32px;
  height: 2px;
  background: var(--primary-teal);
  border-radius: 1px;
}

/* Service and info links */
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: all 0.2s ease;
}

.footer-links a:hover {
  color: var(--primary-teal);
  padding-left: 4px;
}

.footer-links a i {
  font-size: 10px;
  color: var(--primary-teal);
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

.footer-links a:hover i {
  opacity: 1;
}

/* Contacts */
.footer-contacts {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-contacts li {
  margin-bottom: 16px;
}

.footer-contacts a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-contacts a:hover {
  color: var(--primary-teal);
}

.footer-contacts a i {
  width: 18px;
  text-align: center;
  color: var(--primary-teal);
  font-size: 15px;
}

.footer-contacts .footer-messenger-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.footer-phone {
  font-size: 18px !important;
  font-weight: 700;
  color: var(--white) !important;
}

.footer-phone:hover {
  color: var(--primary-teal) !important;
}

.footer-contacts small {
  display: block;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 4px;
  padding-left: 28px;
}

.footer-address {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
}

.footer-address i {
  width: 18px;
  text-align: center;
  color: var(--primary-teal);
  margin-top: 2px;
}

/* Bottom bar */
.footer-bottom {
  background: #071825;
  padding: 24px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer-disclaimer {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1.6;
  margin-bottom: 16px;
}

.footer-bottom__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.footer-copyright {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
}

.footer-legal-links {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.footer-legal-links a {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-legal-links a:hover {
  color: var(--primary-teal);
}

/* Responsive */
@media (max-width: 992px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px 32px;
  }
}

@media (max-width: 768px) {
  .footer-cta__inner {
    flex-direction: column;
    text-align: center;
  }

  .footer-cta__text {
    flex-direction: column;
    gap: 8px;
  }

  .footer-cta__text > i {
    font-size: 28px;
  }

  .footer-cta__text strong {
    font-size: 16px;
  }
}

@media (max-width: 576px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-main {
    padding: 40px 0 30px;
  }

  .footer-bottom__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .footer-legal-links {
    gap: 16px;
  }

  .footer-cta__btn {
    width: 100%;
    justify-content: center;
    padding: 14px 24px;
  }
}

/* === INDICATIONS — upgraded visual === */

.indications-section {
  padding: 60px 0;
}

.indications-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 40px;
}

.indications-card {
  background: var(--white);
  border-radius: 16px;
  padding: 32px 28px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.indications-card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.indications-card--positive {
  border-top: 4px solid #27ae60;
}

.indications-card--negative {
  border-top: 4px solid var(--accent-red);
}

.indications-card__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
  color: var(--dark);
}

.indications-card--positive .indications-card__title i {
  color: #27ae60;
  font-size: 22px;
}

.indications-card--negative .indications-card__title i {
  color: var(--accent-red);
  font-size: 22px;
}

.indications-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.indications-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--bg-light);
  font-size: 15px;
  line-height: 1.5;
  color: var(--dark);
}

.indications-card__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.indications-card--positive .indications-card__list li i {
  color: #27ae60;
  margin-top: 3px;
  flex-shrink: 0;
  font-size: 14px;
}

.indications-card--negative .indications-card__list li i {
  color: var(--accent-red);
  margin-top: 3px;
  flex-shrink: 0;
  font-size: 14px;
}

/* Note block */
.indications-note {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 28px;
  padding: 20px 24px;
  background: rgba(119, 202, 200, 0.08);
  border-radius: 12px;
  border-left: 4px solid var(--primary-teal);
}

.indications-note i {
  color: var(--primary-teal);
  font-size: 18px;
  margin-top: 2px;
  flex-shrink: 0;
}

.indications-note p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--dark);
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .indications-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .indications-card {
    padding: 24px 20px;
  }

  .indications-card__title {
    font-size: 18px;
  }

  .indications-card__list li {
    font-size: 14px;
    padding: 8px 0;
  }
}

@media (max-width: 480px) {
  .indications-section {
    padding: 40px 0;
  }

  .indications-grid {
    margin-top: 24px;
  }

  .indications-note {
    padding: 16px 18px;
    gap: 10px;
  }
}

/* === TARIFF CARDS — 2 columns home vs clinic === */
.tariff-cards__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 40px;
}

.tariff-card {
  background: var(--white);
  border-radius: 16px;
  padding: 36px 32px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.06);
  position: relative;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.tariff-card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
  transform: translateY(-3px);
}

.tariff-card--recommended {
  border: 2px solid var(--primary-teal);
  box-shadow: 0 4px 20px rgba(119, 202, 200, 0.2);
}

.tariff-card__badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--primary-teal);
  color: var(--white);
  padding: 6px 20px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.tariff-card__header {
  text-align: center;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--bg-light);
}

.tariff-card__title {
  font-size: 22px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 12px;
}

.tariff-card__price {
  font-size: 16px;
  color: var(--gray);
}

.tariff-card__price span {
  font-size: 36px;
  font-weight: 800;
  color: var(--dark);
  display: inline;
}

.tariff-card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  flex-grow: 1;
}

.tariff-card__features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  font-size: 15px;
  color: var(--dark);
  border-bottom: 1px solid var(--bg-light);
}

.tariff-card__features li:last-child {
  border-bottom: none;
}

.tariff-card__features li i {
  color: var(--primary-teal);
  margin-top: 3px;
  flex-shrink: 0;
}

.tariff-card__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  border-radius: 12px;
  background: var(--primary-teal);
  color: var(--white);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
}

.tariff-card__btn:hover {
  background: var(--dark-teal);
  transform: translateY(-2px);
}

.tariff-card--recommended .tariff-card__btn {
  background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
  box-shadow: 0 4px 15px rgba(119, 202, 200, 0.3);
}

/* === TARIFF TABLE — extended pricing === */
.tariff-table__wrapper {
  margin-top: 40px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.tariff-table__head {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  background: var(--dark);
  color: var(--white);
  padding: 18px 24px;
  font-weight: 700;
  font-size: 15px;
}

.tariff-table__row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  padding: 18px 24px;
  border-bottom: 1px solid var(--bg-light);
  background: var(--white);
  transition: background 0.2s ease;
}

.tariff-table__row:hover {
  background: rgba(119, 202, 200, 0.04);
}

.tariff-table__row:last-child {
  border-bottom: none;
}

.tariff-table__col--name strong {
  display: block;
  font-size: 16px;
  color: var(--dark);
  margin-bottom: 4px;
}

.tariff-table__col--name span {
  font-size: 13px;
  color: var(--gray);
}

.tariff-table__col--price {
  display: flex;
  align-items: center;
  font-size: 15px;
  color: var(--dark);
}

.tariff-table__col--price strong {
  font-size: 18px;
  color: var(--dark);
  margin: 0 4px;
}

.tariff-table__na {
  color: var(--gray);
  opacity: 0.5;
}

.tariff-table__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  padding: 24px;
  background: var(--bg-light);
  border-radius: 12px;
}

.tariff-table__footer p {
  font-size: 15px;
  color: var(--gray);
  margin: 0;
}

.tariff-table__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--primary-teal);
  color: var(--white);
  border-radius: 50px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.tariff-table__btn:hover {
  background: var(--dark-teal);
  transform: translateY(-2px);
}

/* === SCHEDULE FORM === */
.schedule-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 32px;
  align-items: start;
  margin-top: 32px;
}

.schedule-form-wrapper {
  background: var(--white);
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.06);
  position: sticky;
  top: 100px;
}

.schedule-form__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 8px;
}

.schedule-form__hint {
  font-size: 13px;
  color: var(--gray);
  margin-bottom: 20px;
}

.schedule-form__field {
  position: relative;
  margin-bottom: 14px;
}

.schedule-form__field i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray);
  font-size: 14px;
}

.schedule-form__field input {
  width: 100%;
  padding: 14px 14px 14px 42px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  font-size: 15px;
  color: var(--dark);
  background: var(--bg-light);
  transition: border-color 0.2s ease;
}

.schedule-form__field input:focus {
  outline: none;
  border-color: var(--primary-teal);
  background: var(--white);
}

.schedule-form__btn {
  width: 100%;
  padding: 16px;
  background: var(--primary-teal);
  color: var(--white);
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.3s ease;
}

.schedule-form__btn:hover:not(:disabled) {
  background: var(--dark-teal);
}

.schedule-form__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.schedule-form__note {
  font-size: 12px;
  color: var(--gray);
  text-align: center;
  margin-top: 12px;
}

.schedule-success {
  text-align: center;
  padding: 20px 0;
}

.schedule-success i {
  font-size: 48px;
  color: var(--primary-teal);
  margin-bottom: 16px;
}

.schedule-success h3 {
  font-size: 20px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 8px;
}

.schedule-success p {
  font-size: 14px;
  color: var(--gray);
}

/* Responsive */
@media (max-width: 992px) {
  .tariff-cards__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .schedule-layout {
    grid-template-columns: 1fr;
  }

  .schedule-form-wrapper {
    position: static;
  }
}

@media (max-width: 768px) {
  .tariff-table__head,
  .tariff-table__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .tariff-table__head {
    display: none;
  }

  .tariff-table__row {
    padding: 20px;
  }

  .tariff-table__col--price::before {
    content: attr(data-label);
    font-size: 12px;
    color: var(--gray);
    margin-right: 8px;
  }

  .tariff-table__footer {
    flex-direction: column;
    text-align: center;
  }

  .tariff-card {
    padding: 28px 24px;
  }

  .tariff-card__price span {
    font-size: 28px;
  }
}

@media (max-width: 480px) {
  .schedule-form-wrapper {
    padding: 20px 16px;
  }
}
/* === TARIFF GRID — 6 cards (3+3) like old site === */
.tariff-grid__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}

.tariff-grid__card {
  background: var(--white);
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.3s ease;
}

.tariff-grid__card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
  transform: translateY(-3px);
}

.tariff-grid__card--highlighted {
  border: 2px solid var(--primary-teal);
  box-shadow: 0 4px 20px rgba(119, 202, 200, 0.2);
}

.tariff-grid__card--highlighted::before {
  content: 'Популярный';
  position: absolute;
  top: -12px;
  right: 20px;
  background: var(--primary-teal);
  color: var(--white);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
}

.tariff-grid__location {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--primary-teal);
  margin-bottom: 8px;
}

.tariff-grid__tier {
  font-size: 20px;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 8px;
}

.tariff-grid__price {
  font-size: 14px;
  color: var(--gray);
  margin-bottom: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--bg-light);
}

.tariff-grid__price strong {
  font-size: 28px;
  font-weight: 800;
  color: var(--dark);
}

.tariff-grid__desc {
  font-size: 14px;
  color: var(--gray);
  margin-bottom: 16px;
}

.tariff-grid__features {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  flex-grow: 1;
}

.tariff-grid__features li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  font-size: 14px;
  color: var(--dark);
}

.tariff-grid__features li i {
  color: var(--primary-teal);
  margin-top: 3px;
  flex-shrink: 0;
  font-size: 12px;
}

.tariff-grid__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px;
  border-radius: 10px;
  background: var(--primary-teal);
  color: var(--white);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
}

.tariff-grid__btn:hover {
  background: var(--dark-teal);
  transform: translateY(-2px);
}

.tariff-grid__card--highlighted .tariff-grid__btn {
  background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
  box-shadow: 0 4px 15px rgba(119, 202, 200, 0.3);
}

.tariff-grid__footer {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  padding: 24px;
  background: var(--bg-light);
  border-radius: 12px;
}

.tariff-grid__footer-icon {
  font-size: 24px;
  color: var(--primary-teal);
  flex-shrink: 0;
}

.tariff-grid__footer p {
  font-size: 15px;
  color: var(--gray);
  margin: 0;
  flex-grow: 1;
}

.tariff-grid__footer-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--primary-teal);
  color: var(--white);
  border-radius: 50px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.tariff-grid__footer-btn:hover {
  background: var(--dark-teal);
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 992px) {
  .tariff-grid__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .tariff-grid__cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .tariff-grid__card {
    padding: 24px 20px;
  }

  .tariff-grid__footer {
    flex-direction: column;
    text-align: center;
  }
}

/* ============================================
   FIX PACK: animations, header, body, blocks
   ============================================ */

/* 1. REMOVE APPEARANCE ANIMATIONS — only hover */
.animate-fade-up,
.animate-fade-left,
.animate-fade-right,
.fade-in {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
.animate-delay-1,
.animate-delay-2,
.animate-delay-3,
.animate-delay-4 {
  opacity: 1 !important;
  animation-delay: 0s !important;
}

/* 2. HEADER — no jerk, smooth transition */
header {
  transition: box-shadow 0.3s ease, background 0.3s ease !important;
}

/* 3. BODY MOBILE — remove extra padding */
@media (max-width: 768px) {
  body {
    padding: 0 !important;
    margin: 0 !important;
  }
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* 4. PROCEDURE INCLUDES — compact 4 columns like old site */
.procedure-includes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}

.procedure-includes-card {
  background: var(--white);
  border-radius: 12px;
  padding: 20px 16px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.05);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.procedure-includes-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

.procedure-includes-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(119, 202, 200, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.procedure-includes-card__icon i {
  font-size: 18px;
  color: var(--primary-teal);
}

.procedure-includes-card__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 10px;
}

.procedure-includes-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.procedure-includes-card__list li {
  font-size: 13px;
  color: var(--gray);
  padding: 4px 0;
  padding-left: 14px;
  position: relative;
  line-height: 1.4;
}

.procedure-includes-card__list li::before {
  content: '\2022';
  position: absolute;
  left: 0;
  color: var(--primary-teal);
  font-weight: 700;
}

@media (max-width: 992px) {
  .procedure-includes-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .procedure-includes-grid {
    grid-template-columns: 1fr;
  }
}

/* 5. TARIFF GRID — compact 3x2, old site style */
.tariff-grid__cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 32px;
}

.tariff-grid__card {
  padding: 22px 18px;
  border-radius: 12px;
}

.tariff-grid__tier {
  font-size: 18px;
  margin-bottom: 4px;
}

.tariff-grid__price {
  margin-bottom: 6px;
  padding-bottom: 12px;
}

.tariff-grid__price strong {
  font-size: 24px;
}

.tariff-grid__desc {
  font-size: 13px;
  margin-bottom: 12px;
}

.tariff-grid__features li {
  padding: 4px 0;
  font-size: 13px;
}

.tariff-grid__btn {
  padding: 12px;
  font-size: 14px;
  border-radius: 8px;
}

/* 6. TARIFF CARDS — compact */
.tariff-card {
  padding: 28px 24px;
  border-radius: 12px;
}

.tariff-card__title {
  font-size: 20px;
}

.tariff-card__price span {
  font-size: 30px;
}

.tariff-card__features li {
  padding: 8px 0;
  font-size: 14px;
}

/* 7. CONTENT AUTHOR — link style */
.content-author {
  cursor: pointer;
  transition: box-shadow 0.3s ease;
}

.content-author:hover {
  box-shadow: 0 4px 16px rgba(119, 202, 200, 0.15);
}

.content-author a {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  gap: 16px;
}

/* 8. SCHEDULE — fix layout visibility */
.schedule-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 32px;
  align-items: start;
  margin-top: 32px;
}

.schedule-calendar {
  min-height: 200px;
}

@media (max-width: 992px) {
  .schedule-layout {
    grid-template-columns: 1fr;
  }
  .schedule-form-wrapper {
    position: static;
  }
}

/* 9. SECTION SPACING — tighter */
.section {
  padding: 48px 0;
}

.section-header {
  margin-bottom: 24px;
}

/* 10. TARIFF GRID FOOTER — compact */
.tariff-grid__footer {
  margin-top: 24px;
  padding: 20px;
}

/* 11. SCHEDULE CAROUSEL — replaces Swiper classes */
.schedule-carousel-wrapper {
  position: relative;
  margin: 0 -48px 24px;
  padding: 0 48px;
}

.schedule-carousel {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.schedule-carousel::-webkit-scrollbar {
  display: none;
}

.schedule-columns {
  display: flex;
  gap: 16px;
  padding: 10px 5px 30px;
}

.schedule-column {
  flex: 0 0 calc((100% - 96px) / 7);
  min-width: 130px;
}

.schedule-controls {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 10px;
}

.schedule-nav-btn {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(14, 26, 81, 0.08);
  border-radius: 50%;
  box-shadow: 0 10px 25px rgba(10, 17, 46, 0.08);
  color: var(--primary-teal);
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 14px;
}

.schedule-nav-btn:hover {
  background: var(--primary-teal);
  color: #fff;
  border-color: var(--primary-teal);
}

@media (max-width: 992px) {
  .schedule-carousel-wrapper {
    margin: 0 -16px 24px;
    padding: 0 16px;
  }
  .schedule-column {
    flex: 0 0 calc((100% - 32px) / 3);
    min-width: 120px;
  }
}

@media (max-width: 576px) {
  .schedule-column {
    flex: 0 0 calc((100% - 16px) / 2);
    min-width: 110px;
  }
}
/* === COMPARE HOME vs CLINIC === */
.compare-hc__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 32px;
}

.compare-hc__card {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.06);
  background: var(--white);
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}

.compare-hc__card-header {
  padding: 16px 20px;
  font-size: 17px;
  font-weight: 700;
  color: var(--white);
  display: flex;
  align-items: center;
  gap: 10px;
}

.compare-hc__card-header--home {
  background: var(--primary-teal);
}

.compare-hc__card-header--clinic {
  background: var(--dark-teal);
}

.compare-hc__card-body {
  padding: 20px;
}

.compare-hc__list-group {
  margin-bottom: 16px;
}

.compare-hc__list-group:last-child {
  margin-bottom: 0;
}

.compare-hc__list-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.compare-hc__list-title--plus {
  color: #22c55e;
}

.compare-hc__list-title--minus {
  color: #ef4444;
}

.compare-hc__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.compare-hc__list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 5px 0;
  font-size: 14px;
  color: var(--dark);
  line-height: 1.4;
}

.compare-hc__list li i {
  color: #22c55e;
  margin-top: 2px;
  flex-shrink: 0;
  font-size: 12px;
}

.compare-hc__list--cons li i {
  color: #ef4444;
}

/* Feature comparison table */
.compare-hc__table {
  margin-top: 28px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.06);
}

.compare-hc__table-head {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  background: var(--primary-teal);
  color: var(--white);
  font-weight: 700;
  font-size: 14px;
}

.compare-hc__table-head .compare-hc__table-col {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.compare-hc__table-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-bottom: 1px solid rgba(0,0,0,0.04);
  transition: background 0.2s ease;
}

.compare-hc__table-row:last-child {
  border-bottom: none;
}

.compare-hc__table-row:hover {
  background: rgba(119, 202, 200, 0.04);
}

.compare-hc__table-col {
  padding: 10px 16px;
  font-size: 14px;
  display: flex;
  align-items: center;
}

.compare-hc__table-col--label {
  font-weight: 600;
  color: var(--dark);
}

.compare-hc__table-col--val {
  justify-content: center;
  text-align: center;
  color: var(--gray);
}

.compare-hc__yes {
  color: #22c55e;
  font-size: 16px;
}

.compare-hc__no {
  color: #d1d5db;
  font-size: 16px;
}

/* Footer */
.compare-hc__footer {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  padding: 20px;
  background: var(--bg-light);
  border-radius: 12px;
}

.compare-hc__footer p {
  font-size: 15px;
  color: var(--gray);
  margin: 0;
  flex-grow: 1;
}

.compare-hc__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--primary-teal);
  color: var(--white);
  border-radius: 50px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.compare-hc__btn:hover {
  background: var(--dark-teal);
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
  .compare-hc__cards {
    grid-template-columns: 1fr;
  }

  .compare-hc__table-head,
  .compare-hc__table-row {
    grid-template-columns: 1.2fr 1fr 1fr;
  }

  .compare-hc__table-col {
    padding: 8px 10px;
    font-size: 13px;
  }

  .compare-hc__footer {
    flex-direction: column;
    text-align: center;
  }
}

/* 12. SCHEDULE — form below, not right */
.schedule-layout {
  display: block;
}

.schedule-form-wrapper {
  margin-top: 28px;
  max-width: 480px;
  position: static;
}

/* 13. COMPARISON TABLE — remove dark header for first cell */
.comparison-table thead th:first-child {
  background: linear-gradient(135deg, var(--dark-teal), var(--primary-teal));
}

/* 14. SCHEDULE — no clipped shadow */
.schedule {
  overflow: visible;
}

.schedule-carousel-wrapper {
  overflow: visible;
}

.schedule-carousel {
  overflow-x: auto;
  overflow-y: visible;
}

.schedule-columns {
  padding: 15px 5px 35px;
}

/* 15. SCHEDULE FORM — full width below calendar */
.schedule-layout {
  display: block;
}

.schedule-form-wrapper {
  margin-top: 28px;
  max-width: 100%;
  position: static;
}

.schedule-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  padding: 24px;
  background: var(--bg-light);
  border-radius: 16px;
}

.schedule-form__title {
  width: 100%;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 0;
}

.schedule-form__hint {
  width: 100%;
  font-size: 14px;
  color: var(--gray);
  margin-bottom: 4px;
}

.schedule-form__field {
  flex: 1;
  min-width: 200px;
}

.schedule-form__btn {
  white-space: nowrap;
}

.schedule-form__note {
  width: 100%;
  text-align: center;
}

/* 16. PROMOTIONS — equal height cards, button pinned */
.promotions-section .promotions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}

.promo-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.promo-card__body {
  flex-grow: 1;
}

.promo-card__btn {
  margin-top: auto;
}

/* Header GPU compositing for smooth scroll */
header {
  will-change: transform;
}

/* CTA Block with doctor */
.cta-block__inner {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.cta-block__doctor-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 20px;
}

.cta-block__doctor-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
}

.cta-block__doctor-title {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
}

.cta-block__buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.cta-block__buttons .cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--primary-teal);
  color: var(--white);
  border-radius: 50px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

.cta-block__buttons .cta-primary:hover {
  background: var(--dark-teal);
  transform: translateY(-2px);
}

.cta-block__buttons .cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: rgba(255,255,255,0.15);
  color: var(--white);
  border-radius: 50px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1px solid rgba(255,255,255,0.3);
  cursor: pointer;
}

.cta-block__buttons .cta-secondary:hover {
  background: rgba(255,255,255,0.25);
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .cta-block {
    padding: 30px 20px;
  }
  .cta-block h2 {
    font-size: 22px;
  }
  .cta-block p {
    font-size: 15px;
  }
  .cta-block__buttons {
    flex-direction: column;
    align-items: center;
  }
  .cta-block__buttons .cta-primary,
  .cta-block__buttons .cta-secondary {
    width: 100%;
    justify-content: center;
  }
}

/* === CTA BLOCK — redesign with large doctor photo === */
.cta-block__inner {
  display: none !important;
}

.cta-block__row {
  display: flex;
  align-items: center;
  gap: 40px;
}

.cta-block__text {
  flex: 1;
}

.cta-block__text h2 {
  font-size: 28px;
  margin-bottom: 12px;
  color: var(--white) !important;
  padding-left: 0;
}

.cta-block__text h2::before {
  display: none;
}

.cta-block__text p {
  font-size: 17px;
  color: rgba(255,255,255,0.85) !important;
  opacity: 1;
  margin-bottom: 20px;
  line-height: 1.6;
  text-align: left;
}

.cta-block__doctor-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.1);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.15);
}

.cta-block__doctor-badge-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cta-block__doctor-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--white);
}

.cta-block__doctor-title {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
}

.cta-block__buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.cta-block__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--white);
  color: var(--dark) !important;
  border-radius: 50px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

.cta-block__btn-primary:hover {
  background: var(--primary-teal);
  color: var(--white) !important;
  transform: translateY(-2px);
}

.cta-block__btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: rgba(255,255,255,0.15);
  color: var(--white) !important;
  border-radius: 50px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1px solid rgba(255,255,255,0.3);
  cursor: pointer;
}

.cta-block__btn-secondary:hover {
  background: rgba(255,255,255,0.25);
  transform: translateY(-2px);
}

.cta-block__photo {
  flex-shrink: 0;
  width: 280px;
}

.cta-block__photo img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  object-position: top center;
  border-radius: 20px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}

/* Spacing between CTA and doctors */
.doctors-section {
  margin-top: 60px;
}

@media (max-width: 768px) {
  .cta-block__row {
    flex-direction: column-reverse;
    gap: 24px;
    text-align: center;
  }

  .cta-block__text h2 {
    font-size: 22px;
  }

  .cta-block__text p {
    font-size: 15px;
    text-align: center;
  }

  .cta-block__photo {
    width: 200px;
  }

  .cta-block__photo img {
    height: 240px;
  }

  .cta-block__doctor-badge {
    justify-content: center;
  }

  .cta-block__buttons {
    flex-direction: column;
    align-items: center;
  }

  .cta-block__btn-primary,
  .cta-block__btn-secondary {
    width: 100%;
    justify-content: center;
  }
}

/* === HERO FORM — right column === */
.hero-service__row {
  display: flex;
  align-items: center;
  gap: 40px;
}

.hero-service__form-col {
  flex-shrink: 0;
  width: 340px;
}

.hero-form {
  background: var(--white);
  border-radius: 20px;
  padding: 28px 24px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}

.hero-form__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 4px;
  text-align: center;
}

.hero-form__hint {
  font-size: 13px;
  color: var(--gray);
  text-align: center;
  margin-bottom: 16px;
}

.hero-form__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.hero-form__field {
  position: relative;
}

.hero-form__field i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary-teal);
  font-size: 14px;
}

.hero-form__field input {
  width: 100%;
  padding: 12px 14px 12px 40px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  font-size: 15px;
  transition: border-color 0.2s;
  background: var(--bg-light);
}

.hero-form__field input:focus {
  outline: none;
  border-color: var(--primary-teal);
  box-shadow: 0 0 0 3px rgba(119,202,200,0.15);
}

.hero-form__submit {
  width: 100%;
  padding: 14px;
  background: var(--primary-teal);
  color: var(--white);
  border: none;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.hero-form__submit:hover {
  background: var(--dark-teal);
  transform: translateY(-2px);
}

.hero-form__note {
  font-size: 12px;
  color: var(--gray);
  text-align: center;
  margin: 0;
}

@media (max-width: 992px) {
  .hero-service__row {
    flex-direction: column;
    gap: 30px;
  }

  .hero-service__form-col {
    width: 100%;
    max-width: 400px;
  }
}

@media (max-width: 768px) {
  .hero-service__form-col {
    max-width: 100%;
  }

  .hero-form {
    padding: 24px 20px;
  }
}

/* === Doctor info UNDER photo in CTA block === */
.cta-block__doctor-badge {
  display: none !important;
}

.cta-block__photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.cta-block__photo-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: 16px;
  gap: 3px;
}

.cta-block__photo-info .cta-block__doctor-name {
  font-size: 17px;
  font-weight: 700;
  color: var(--white);
}

.cta-block__photo-info .cta-block__doctor-title {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
}

.cta-block__doctor-exp {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 6px;
}

.cta-block__doctor-tag {
  display: inline-block;
  font-size: 11px;
  color: rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.1);
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.15);
}

@media (max-width: 768px) {
  .cta-block__photo-info .cta-block__doctor-name {
    font-size: 15px;
  }
}

/* === CTA block text — make it punch harder === */
.cta-block {
  padding: 50px 40px;
}

.cta-block__row {
  align-items: stretch;
}

.cta-block__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cta-block__text h2 {
  font-size: 36px !important;
  line-height: 1.2;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}

.cta-block__text p {
  font-size: 18px !important;
  line-height: 1.7;
  margin-bottom: 28px;
  max-width: 440px;
}

.cta-block__btn-primary {
  padding: 16px 32px !important;
  font-size: 16px !important;
}

.cta-block__btn-secondary {
  padding: 16px 32px !important;
  font-size: 16px !important;
}

.cta-block__photo {
  width: 300px;
}

.cta-block__photo img {
  height: 380px;
}

@media (max-width: 768px) {
  .cta-block {
    padding: 30px 20px;
  }

  .cta-block__text h2 {
    font-size: 26px !important;
  }

  .cta-block__text p {
    font-size: 16px !important;
  }

  .cta-block__photo {
    width: 220px;
  }

  .cta-block__photo img {
    height: 260px;
  }
}

/* === Logo section as link — no underline, full click area === */
a.logo-section {
  display: flex;
  align-items: center;
  text-decoration: none !important;
  color: inherit;
  gap: 12px;
  cursor: pointer;
}
a.logo-section:hover {
  text-decoration: none !important;
  opacity: 0.85;
}
a.logo-section:visited {
  color: inherit;
}

/* === Scrolled header: show clinic name === */
.scrolled-clinic-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

header.scrolled .scrolled-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

@media (max-width: 768px) {
  header.scrolled .scrolled-center {
    display: none;
  }
}

/* === CTA Block — STRONGER, wider text === */
.cta-block {
  background: linear-gradient(135deg, #1d2b3a 0%, #2a4056 50%, #1d2b3a 100%) !important;
  padding: 60px 48px !important;
  border-radius: 24px;
  position: relative;
  overflow: hidden;
}

.cta-block::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(119,202,200,0.12) 0%, transparent 70%);
  pointer-events: none;
}

.cta-block__row {
  display: flex !important;
  align-items: center;
  gap: 48px !important;
}

.cta-block__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cta-block__text h2 {
  font-size: 40px !important;
  line-height: 1.15 !important;
  margin-bottom: 20px !important;
  letter-spacing: -0.5px;
  font-weight: 800 !important;
  color: var(--white) !important;
}

.cta-block__text p {
  font-size: 20px !important;
  line-height: 1.6 !important;
  margin-bottom: 32px !important;
  color: rgba(255,255,255,0.9) !important;
  max-width: none !important;
}

.cta-block__buttons {
  display: flex;
  gap: 16px !important;
  flex-wrap: wrap;
}

.cta-block__btn-primary {
  padding: 18px 36px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 16px rgba(119,202,200,0.3);
}

.cta-block__btn-secondary {
  padding: 18px 36px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

.cta-block__photo {
  flex-shrink: 0;
  width: 320px !important;
}

.cta-block__photo img {
  height: 400px !important;
  border-radius: 24px !important;
}

@media (max-width: 768px) {
  .cta-block {
    padding: 32px 20px !important;
  }
  .cta-block__row {
    flex-direction: column-reverse !important;
    gap: 24px !important;
    text-align: center;
  }
  .cta-block__text h2 {
    font-size: 28px !important;
  }
  .cta-block__text p {
    font-size: 17px !important;
  }
  .cta-block__photo {
    width: 240px !important;
  }
  .cta-block__photo img {
    height: 280px !important;
  }
  .cta-block__buttons {
    flex-direction: column;
    align-items: center;
  }
  .cta-block__btn-primary,
  .cta-block__btn-secondary {
    width: 100%;
    justify-content: center;
    padding: 16px 24px !important;
    font-size: 16px !important;
  }
}

/* === Article dates (added / updated) === */
.content-dates {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin: 20px 0;
  padding: 14px 0;
  border-top: 1px solid #e9ecef;
  border-bottom: 1px solid #e9ecef;
}

.content-dates__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--gray);
}

.content-dates__item i {
  color: var(--primary-teal);
  font-size: 12px;
}

@media (max-width: 480px) {
  .content-dates {
    flex-direction: column;
    gap: 8px;
  }
}

/* === Scrolled header: clinic name NEXT to logo icon === */
.logo-scrolled-name {
  display: none;
  font-size: 14px;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.2;
  white-space: nowrap;
}

header.scrolled .logo-scrolled-name {
  display: inline;
}

header.scrolled .logo-header-text {
  display: none !important;
}

header.scrolled a.logo-section {
  gap: 10px;
  align-items: center;
  flex-shrink: 0;
}

/* Override old scrolled-clinic-name */
.scrolled-clinic-name {
  display: none !important;
}

@media (max-width: 768px) {
  header.scrolled .logo-scrolled-name {
    display: none;
  }
}

/* === REDESIGNED MODAL FORMS === */
.modal-body {
  padding: 48px 40px 36px;
  text-align: center;
}

.modal-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary-teal), var(--dark-teal));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}

.modal-icon i {
  font-size: 24px;
  color: var(--white);
}

.modal-icon--success {
  background: linear-gradient(135deg, #4CAF50, #2E7D32);
  width: 80px;
  height: 80px;
}

.modal-icon--success i {
  font-size: 32px;
}

.modal-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 8px;
  line-height: 1.2;
}

.modal-subtitle {
  font-size: 15px;
  color: var(--gray);
  margin-bottom: 28px;
  line-height: 1.4;
}

.modal-body form {
  text-align: left;
}

.modal-body .input-row {
  margin-bottom: 16px;
}

.modal-body .input-row i {
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
}

.modal-body .input-row input,
.modal-body .input-row textarea {
  padding-left: 48px;
}

.modal-body .butn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
  padding: 16px 32px;
  font-size: 16px;
  text-transform: none;
  letter-spacing: 0;
}

.butn--call {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto !important;
  min-width: 220px;
  margin-top: 20px !important;
}

.modal-guarantees {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.modal-guarantee {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--gray);
  background: var(--bg-light);
  padding: 6px 12px;
  border-radius: 20px;
}

.modal-guarantee i {
  color: var(--primary-teal);
  font-size: 11px;
}

.modal-privacy {
  font-size: 11px;
  color: #bbb;
  text-align: center;
  margin-top: 16px;
  line-height: 1.4;
}

.modal-body--success .modal-title {
  color: #2E7D32;
  font-size: 26px;
  margin-top: 8px;
}

@media (max-width: 480px) {
  .modal-body {
    padding: 36px 24px 28px;
  }
  .modal-title {
    font-size: 20px;
  }
  .modal-guarantees {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
}

/* === CTA BLOCK GUARANTEES === */
.cta-block__guarantees {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 32px;
}

.cta-block__guarantee {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: rgba(255,255,255,0.08);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.1);
}

.cta-block__guarantee i {
  color: var(--primary-teal);
  font-size: 16px;
  flex-shrink: 0;
  width: 20px;
  text-align: center;
}

.cta-block__guarantee span {
  font-size: 14px;
  color: rgba(255,255,255,0.9);
  font-weight: 600;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .cta-block__guarantees {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 24px;
  }

  .cta-block__guarantee {
    justify-content: center;
    padding: 8px 12px;
  }

  .cta-block__guarantee span {
    font-size: 13px;
  }
}

/* === SymptomsChecklist — icon as background on right === */
.symptom-card {
  position: relative;
  overflow: hidden;
}

.symptom-card__icon {
  position: absolute !important;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: auto !important;
  height: auto !important;
  background: none !important;
  border-radius: 0 !important;
  opacity: 0.08;
  pointer-events: none;
}

.symptom-card__icon i {
  font-size: 56px !important;
  color: var(--dark) !important;
}

.symptom-card__text {
  position: relative;
  z-index: 1;
  padding-right: 60px;
}

@media (max-width: 768px) {
  .symptom-card__icon i {
    font-size: 40px !important;
  }
  .symptom-card__text {
    padding-right: 44px;
  }
}

/* === Fixed header (no jerk on scroll) === */
header {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.header-spacer {
  display: block;
  width: 100%;
  /* Height set dynamically by header-scroll.js */
}

/* === Near cities — teal palette === */
.near-city-link {
  border-color: var(--primary-teal);
  color: var(--primary-teal);
}
.near-city-link:hover {
  background: var(--primary-teal);
  color: var(--white);
}
.region-city-link:hover {
  border-color: var(--primary-teal);
  color: var(--dark-teal);
  background: rgba(119, 202, 200, 0.08);
}

/* === ProcedureIncludes CTA card === */
.procedure-includes-cta {
  background: linear-gradient(135deg, var(--dark) 0%, #2a3f52 100%);
  border-radius: 12px;
  padding: 0;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  position: relative;
}
.procedure-includes-cta::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(119, 202, 200, 0.15) 0%, transparent 70%);
  pointer-events: none;
}
.procedure-includes-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 28px 24px;
  width: 100%;
  gap: 12px;
}
.procedure-includes-cta__icon {
  font-size: 40px;
  color: var(--primary-teal);
  opacity: 0.9;
}
.procedure-includes-cta__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--white);
  line-height: 1.3;
  margin: 0;
}
.procedure-includes-cta__text {
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  line-height: 1.5;
  margin: 0;
}
.procedure-includes-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--primary-teal);
  color: var(--white);
  padding: 12px 24px;
  border-radius: 30px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  margin-top: 4px;
}
.procedure-includes-cta__btn:hover {
  background: var(--dark-teal);
  transform: translateY(-1px);
}

@media (max-width: 992px) {
  .procedure-includes-cta {
    grid-column: span 2 !important;
  }
}
@media (max-width: 480px) {
  .procedure-includes-cta {
    grid-column: span 1 !important;
  }
}

/* ============================================
   STATSIONAR: Pricing, Includes, DailyRoutine
   ============================================ */

/* --- StatsionarPricing --- */
.statsionar-pricing__main {
  display: flex;
  align-items: center;
  gap: 24px;
  background: linear-gradient(135deg, var(--dark) 0%, #2a3f52 100%);
  border-radius: 16px;
  padding: 32px 40px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}
.statsionar-pricing__main::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(119,202,200,0.15) 0%, transparent 70%);
  pointer-events: none;
}
.statsionar-pricing__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(119,202,200,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.statsionar-pricing__icon i {
  font-size: 28px;
  color: var(--primary-teal);
}
.statsionar-pricing__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.statsionar-pricing__label {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.statsionar-pricing__price {
  font-size: 36px;
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
}
.statsionar-pricing__unit {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
}
.statsionar-pricing__badges {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.statsionar-pricing__badge {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(119,202,200,0.15);
  color: var(--primary-teal);
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.statsionar-pricing__extras {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.statsionar-pricing__extra {
  background: var(--white);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  transition: box-shadow 0.2s, transform 0.2s;
}
.statsionar-pricing__extra:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}
.statsionar-pricing__extra-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(119,202,200,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.statsionar-pricing__extra-icon i {
  font-size: 20px;
  color: var(--primary-teal);
}
.statsionar-pricing__extra-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--dark);
}
.statsionar-pricing__extra-price {
  font-size: 15px;
  font-weight: 700;
  color: var(--primary-teal);
}
.statsionar-pricing__cta {
  text-align: center;
}

@media (max-width: 768px) {
  .statsionar-pricing__main {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
    gap: 16px;
  }
  .statsionar-pricing__badges {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .statsionar-pricing__extras {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- StatsionarIncludes --- */
.statsionar-includes__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.statsionar-includes__card {
  background: var(--white);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 14px;
  padding: 24px;
  transition: box-shadow 0.2s;
}
.statsionar-includes__card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.statsionar-includes__card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.statsionar-includes__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(119,202,200,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.statsionar-includes__icon i {
  font-size: 20px;
  color: var(--primary-teal);
}
.statsionar-includes__card-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--dark);
  margin: 0;
}
.statsionar-includes__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.statsionar-includes__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--gray);
  line-height: 1.5;
}
.statsionar-includes__list li .fa-check {
  color: var(--primary-teal);
  font-size: 12px;
  margin-top: 4px;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .statsionar-includes__grid {
    grid-template-columns: 1fr;
  }
  .statsionar-includes__card {
    padding: 20px 16px;
  }
}

/* --- DailyRoutine (redesigned — grouped by period) --- */
.routine-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.routine-card {
  border-radius: 14px;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.05);
  transition: box-shadow 0.2s, transform 0.2s;
}
.routine-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}
.routine-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  color: var(--white);
  font-size: 18px;
  font-weight: 600;
}
.routine-card__header i {
  font-size: 20px;
  width: 24px;
  text-align: center;
}

/* Period colors */
.routine-card--morning .routine-card__header { background: linear-gradient(135deg, #f59e0b, #f97316); }
.routine-card--morning .routine-card__time { background: #fef3c7; color: #92400e; }
.routine-card--day .routine-card__header { background: linear-gradient(135deg, #0d9488, #14b8a6); }
.routine-card--day .routine-card__time { background: #ccfbf1; color: #115e59; }
.routine-card--evening .routine-card__header { background: linear-gradient(135deg, #7c3aed, #8b5cf6); }
.routine-card--evening .routine-card__time { background: #ede9fe; color: #5b21b6; }
.routine-card--night .routine-card__header { background: linear-gradient(135deg, #1e3a5f, #1e40af); }
.routine-card--night .routine-card__time { background: #dbeafe; color: #1e3a5f; }

.routine-card__body {
  padding: 6px 0;
}
.routine-card__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 20px;
  transition: background 0.15s;
}
.routine-card__item:hover {
  background: #f8fafc;
}
.routine-card__item + .routine-card__item {
  border-top: 1px solid #f1f5f9;
}
.routine-card__time {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  white-space: nowrap;
  margin-top: 2px;
}
.routine-card__content {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.routine-card__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--dark);
  line-height: 1.4;
}
.routine-card__desc {
  font-size: 13px;
  color: var(--gray);
  line-height: 1.4;
}

/* Hide old routine timeline styles */
.routine-timeline { display: none; }

@media (max-width: 768px) {
  .routine-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .routine-card__item {
    padding: 10px 16px;
  }
}

/* === StatsionarPricing: LIGHT theme === */
.statsionar-pricing__main {
  background: var(--white) !important;
  border: 2px solid rgba(119,202,200,0.3);
}
.statsionar-pricing__main::before { display: none; }
.statsionar-pricing__icon { background: rgba(119,202,200,0.1); }
.statsionar-pricing__label { color: var(--gray) !important; }
.statsionar-pricing__price { color: var(--dark) !important; }
.statsionar-pricing__unit { color: var(--gray) !important; }
.statsionar-pricing__badge {
  background: rgba(119,202,200,0.1) !important;
  color: var(--dark-teal) !important;
}
.statsionar-pricing__extras { display: none; }

.statsionar-pricing__vip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
  margin-bottom: 24px;
  font-size: 15px;
  color: var(--dark);
}
.statsionar-pricing__vip .fa-star { color: #f59e0b; font-size: 18px; }
.statsionar-pricing__vip strong { color: var(--dark-teal); }

/* === DailyRoutine: unified dark headers, teal time badges === */
.routine-card--morning .routine-card__header,
.routine-card--day .routine-card__header,
.routine-card--evening .routine-card__header,
.routine-card--night .routine-card__header {
  background: var(--dark) !important;
}
.routine-card--morning .routine-card__time,
.routine-card--day .routine-card__time,
.routine-card--evening .routine-card__time,
.routine-card--night .routine-card__time {
  background: rgba(119,202,200,0.1) !important;
  color: var(--dark-teal) !important;
}

/* Page title for pages without hero */
.page-title-section {
  padding: 30px 0 10px;
  background: var(--dark);
}
.page-title-section h1 {
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}
@media (max-width: 768px) {
  .page-title-section h1 {
    font-size: 1.5rem;
  }
}

/* ============================================
   REDESIGNED HEADER + BOTTOM CTA PANEL
   2026-02-20
   ============================================ */

/* Hide old elements that were removed from Header */
.contact-section,
.center-section,
.scrolled-center,
.mobile-bottom-panel {
  display: none !important;
}

/* City selector in header */
.header-city-selector {
  margin-left: auto;
  margin-right: 12px;
}

/* Bottom CTA panel — always visible, sticky bottom */
.bottom-cta-panel {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--white);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
  z-index: 1001;
  padding: 10px 20px;
}

.bottom-cta-panel__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  max-width: 600px;
  margin: 0 auto;
}

.bottom-cta-panel__phone {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--dark);
  font-weight: 700;
  font-size: 18px;
  transition: color 0.3s ease;
  white-space: nowrap;
}

.bottom-cta-panel__phone:hover {
  color: var(--primary-teal);
}

.bottom-cta-panel__phone .fa {
  color: var(--primary-teal);
  font-size: 20px;
}

.bottom-cta-panel__call {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
  color: var(--white) !important;
  border: none;
  padding: 12px 24px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(196, 69, 105, 0.3);
}

.bottom-cta-panel__call:hover {
  background: linear-gradient(135deg, var(--dark-red), #8e2e3f);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(196, 69, 105, 0.4);
  color: var(--white) !important;
}

/* Add body padding for bottom panel */
body {
  padding-bottom: 70px !important;
}

/* Scrolled header — simpler since no contact/center sections */
header.scrolled .header-top {
  padding: 8px 0;
  gap: 10px;
}

header.scrolled .header-city-selector {
  margin-left: auto;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .header-city-selector {
    order: 3;
    margin-left: auto;
    margin-right: 8px;
  }

  .bottom-cta-panel__phone {
    font-size: 15px;
  }

  .bottom-cta-panel__phone span {
    display: inline;
  }

  .bottom-cta-panel__call {
    padding: 10px 18px;
    font-size: 13px;
  }

  .bottom-cta-panel {
    padding: 8px 12px;
  }
}

@media (max-width: 480px) {
  .bottom-cta-panel__phone {
    font-size: 14px;
  }

  .bottom-cta-panel__phone span {
    display: none;
  }

  .bottom-cta-panel__phone .fa {
    font-size: 24px;
  }

  .bottom-cta-panel__call {
    padding: 10px 16px;
    font-size: 12px;
  }
}

/* ============================================
   FIX: Mobile 3rd level menu
   ============================================ */
@media (max-width: 768px) {
  /* Override desktop absolute positioning for nested submenus */
  .nav li ul li ul {
    position: static;
    left: auto;
    top: auto;
    margin-left: 0;
  }

  /* Nested items get + icon same as top-level */
  .nav li ul li:has(ul) > a:after {
    content: '+';
    font-size: 18px;
    float: right;
    color: var(--primary-teal);
    font-weight: bold;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(119, 202, 200, 0.1);
    border-radius: 50%;
  }

  .nav li ul li.show-submenu > a:after {
    content: '−';
  }

  /* Indent deeper levels for visual hierarchy */
  .nav li ul li ul li a {
    padding-left: 40px;
  }

  /* Slightly different bg for 3rd level */
  .nav li ul li ul {
    background: rgba(119, 202, 200, 0.04);
  }

  /* Make sure nested li > a has relative positioning for the after element */
  .nav li ul li:has(ul) > a {
    position: relative;
    padding-right: 50px;
  }
}

/* ============================================
   NAV SEARCH (mobile menu + header)
   ============================================ */

/* === Mobile nav search === */
.nav-search {
  display: none;
}

@media (max-width: 768px) {
  .nav-search {
    display: block;
    padding: 12px 16px 8px;
  }
}

.nav-search__wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.nav-search__icon {
  position: absolute;
  left: 14px;
  color: var(--gray);
  font-size: 14px;
  pointer-events: none;
}

.nav-search__input {
  width: 100%;
  padding: 10px 36px 10px 38px;
  border: 2px solid rgba(119, 202, 200, 0.3);
  border-radius: 25px;
  font-size: 14px;
  color: var(--dark);
  background: var(--white);
  transition: border-color 0.3s ease;
  outline: none;
}

.nav-search__input:focus {
  border-color: var(--primary-teal);
}

.nav-search__input::placeholder {
  color: #aaa;
}

.nav-search__clear {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  font-size: 20px;
  color: var(--gray);
  cursor: pointer;
  line-height: 1;
  padding: 4px;
}

.nav-search__results {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  max-height: 60vh;
  overflow-y: auto;
}

.nav-search__results li a {
  display: flex;
  flex-direction: column;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--dark);
  border-bottom: 1px solid rgba(119, 202, 200, 0.1);
  transition: background 0.2s ease;
}

.nav-search__results li a:hover {
  background: rgba(119, 202, 200, 0.08);
}

.nav-search__label {
  font-weight: 600;
  font-size: 14px;
}

.nav-search__breadcrumb {
  font-size: 11px;
  color: var(--gray);
  margin-top: 2px;
}

.nav-search__empty {
  padding: 16px;
  text-align: center;
  color: var(--gray);
  font-size: 14px;
}

/* === Header search (desktop) === */
.header-search {
  flex: 1;
  max-width: 320px;
  margin: 0 16px;
  position: relative;
}

.header-search__wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.header-search__icon {
  position: absolute;
  left: 14px;
  color: var(--gray);
  font-size: 14px;
  pointer-events: none;
}

.header-search__input {
  width: 100%;
  padding: 10px 36px 10px 38px;
  border: 2px solid rgba(119, 202, 200, 0.25);
  border-radius: 25px;
  font-size: 14px;
  color: var(--dark);
  background: var(--bg-light);
  transition: all 0.3s ease;
  outline: none;
}

.header-search__input:focus {
  border-color: var(--primary-teal);
  background: var(--white);
  box-shadow: 0 0 12px rgba(119, 202, 200, 0.2);
}

.header-search__input::placeholder {
  color: #aaa;
}

.header-search__clear {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  font-size: 20px;
  color: var(--gray);
  cursor: pointer;
  line-height: 1;
  padding: 4px;
}

.header-search__results {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  list-style: none;
  padding: 6px 0;
  margin: 0;
  max-height: 400px;
  overflow-y: auto;
  z-index: 2000;
  animation: cityPopupIn 0.2s ease;
}

.header-search__results li a {
  display: flex;
  flex-direction: column;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--dark);
  border-bottom: 1px solid rgba(119, 202, 200, 0.08);
  transition: background 0.2s ease;
}

.header-search__results li a:hover {
  background: rgba(119, 202, 200, 0.08);
}

.header-search__results .nav-search__label {
  font-weight: 600;
  font-size: 14px;
}

.header-search__results .nav-search__breadcrumb {
  font-size: 11px;
  color: var(--gray);
  margin-top: 2px;
}

.header-search__results .nav-search__empty {
  padding: 14px;
  text-align: center;
  color: var(--gray);
  font-size: 14px;
}

/* Hide header search on mobile — use nav-search instead */
@media (max-width: 768px) {
  .header-search {
    display: none;
  }
}

/* Scrolled header — shrink search */
header.scrolled .header-search {
  max-width: 240px;
}

header.scrolled .header-search__input {
  padding: 7px 32px 7px 34px;
  font-size: 13px;
}

/* Bigger call button in bottom panel */
.bottom-cta-panel__call {
  padding: 16px 36px;
  font-size: 16px;
  border-radius: 30px;
  box-shadow: 0 4px 18px rgba(196, 69, 105, 0.35);
}

@media (max-width: 768px) {
  .bottom-cta-panel__call {
    padding: 14px 28px;
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .bottom-cta-panel__call {
    padding: 14px 24px;
    font-size: 14px;
  }
}

/* ============================================
   Header phone + CTA (desktop) / bottom panel mobile only
   ============================================ */

/* Header phone block — desktop */
.header-phone {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  margin-left: auto;
  margin-right: 16px;
}

.header-phone__link {
  font-size: 20px;
  font-weight: 700;
  color: var(--dark);
  text-decoration: none;
  transition: color 0.3s ease;
  white-space: nowrap;
}

.header-phone__link .fa {
  color: var(--primary-teal);
  margin-right: 6px;
}

.header-phone__link:hover {
  color: var(--primary-teal);
}

.header-phone__desc {
  font-size: 11px;
  color: var(--gray);
}

.header-phone__cta {
  display: inline-flex;
  align-items: center;
  background: linear-gradient(135deg, var(--accent-red), var(--dark-red));
  color: var(--white) !important;
  border: none;
  padding: 10px 20px;
  border-radius: 25px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(196, 69, 105, 0.3);
}

.header-phone__cta:hover {
  background: linear-gradient(135deg, var(--dark-red), #8e2e3f);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(196, 69, 105, 0.4);
  color: var(--white) !important;
}

/* Scrolled — compact phone */
header.scrolled .header-phone__link {
  font-size: 16px;
}

header.scrolled .header-phone__desc {
  display: none;
}

header.scrolled .header-phone__cta {
  padding: 7px 14px;
  font-size: 12px;
}

/* Hide phone block on mobile — bottom panel handles it */
@media (max-width: 768px) {
  .header-phone {
    display: none;
  }
}

/* Bottom panel — mobile only */
.bottom-cta-panel {
  display: none;
}

@media (max-width: 768px) {
  .bottom-cta-panel {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--white);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
    z-index: 1001;
    padding: 8px 12px;
  }
}

/* Remove desktop body padding — only needed on mobile */
body {
  padding-bottom: 0 !important;
}

@media (max-width: 768px) {
  body {
    padding-bottom: 70px !important;
  }
}

/* ============================================
   HEADER LAYOUT FIX: Logo | City (center) | Phone+CTA (right)
   ============================================ */

/* City selector — centered */
.header-city-selector {
  flex: 1;
  display: flex;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
}

/* Phone block — right, horizontal layout */
.header-phone {
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-left: 0;
  margin-right: 0;
  flex-shrink: 0;
}

/* Remove desc text */
.header-phone__desc {
  display: none !important;
}

/* Scrolled: phone stays in row */
header.scrolled .header-phone {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

header.scrolled .header-city-selector {
  flex: 1;
  display: flex;
  justify-content: center;
  margin-left: 0;
}

/* Mobile: city selector back to normal */
@media (max-width: 768px) {
  .header-city-selector {
    flex: 0 0 auto;
    justify-content: flex-start;
    order: 3;
    margin-left: auto;
    margin-right: 8px;
  }
}

/* Force phone block horizontal — higher specificity */
header .header-phone {
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px;
  margin-left: 0;
  margin-right: 0;
}

/* Before scroll: phone column (button under number) */
header:not(.scrolled) .header-phone {
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px;
}

/* After scroll: phone row (button next to number) */
header.scrolled .header-phone {
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px;
}
