/*Custom CSS Yakov Shevchenko*/

.sub-nav__list li a:hover {
    color: #1b7872;
}

.header__bottom-content {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/*
 * Контейнер поиска в закрытом состоянии
 */
.header__top-center {
	position: relative;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	margin-left: 24px;
	z-index: 100;
}

/*
 * Сама форма
 */
.search-form {
	position: absolute;
	top: 0;
	right: 0;

	display: flex;
	align-items: center;

	width: 48px;
	height: 48px;

	background-color: #ffffff;
	border: 1px solid #d9d9d9;
	border-radius: 24px;

	box-shadow: 0 4px 14px rgba(0, 0, 0, 0);

	overflow: hidden;

	transition:
		width 0.35s ease,
		transform 0.35s ease,
		border-radius 0.35s ease,
		box-shadow 0.35s ease;
}

/*
 * Кнопка с лупой
 */
.search-form__button {
	flex: 0 0 48px;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;
	padding: 0;

	background: transparent;
	border: 0;
	cursor: pointer;
}

.search-form__button img {
	display: block;
	width: 20px;
	height: 20px;
}

/*
 * Поле ввода скрыто в закрытом состоянии
 */
.search-form__input {
	flex: 1;

	width: 0;
	min-width: 0;
	height: 100%;
	padding: 0;

	font-family: inherit;
	font-size: 16px;
	color: #222222;

	background: transparent;
	border: 0;
	outline: none;

	opacity: 0;
	pointer-events: none;

	transition:
		opacity 0.2s ease,
		padding 0.35s ease;
}

.search-form__input::placeholder {
	color: #888888;
}

/*
 * Кнопка закрытия
 */
.search-form__close {
	flex: 0 0 42px;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 48px;
	padding: 0;

	font-size: 28px;
	line-height: 1;
	color: #777777;

	background: transparent;
	border: 0;
	cursor: pointer;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity 0.2s ease,
		color 0.2s ease;
}

.search-form__close:hover {
	color: #222222;
}

/*
 * Открытое состояние:
 * форма опускается вниз и расширяется
 */
.header__top-center.is-open .search-form {
	width: min(480px, calc(100vw - 32px));

	transform: translateY(60px);

    border-radius: 7px;

	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.14);
}

.header__top-center.is-open .search-form__input {
	width: auto;
    padding: 0 0 0 40px;

	opacity: 1;
	pointer-events: auto;
}

.header__top-center.is-open .search-form__button img {
    position: absolute;
    left: 10px;
}   



.header__top-center.is-open .search-form__close {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/*
 * Подсветка при фокусе
 */
.header__top-center.is-open .search-form:focus-within {
	border-color: #777777;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.17);
}

/*
 * Мобильная версия
 */
@media (max-width: 767px) {
	.header__top-center {
		margin-left: 12px;
	}

	.header__top-center.is-open .search-form {
		width: calc(100vw - 32px);
		transform: translateY(58px);
	}
}

/*
 * Уменьшение анимации для пользователей,
 * отключивших анимации в системе
 */
@media (prefers-reduced-motion: reduce) {
	.search-form,
	.search-form__input,
	.search-form__close {
		transition: none;
	}
}

/*
 * Выпадающий список с результатами AJAX-поиска (Общий контейнер)
 */
 .js-header-search .search-results-dropdown {
    display: none;
    position: absolute;
    top: 113px; 
    right: 0; 
    width: min(480px, calc(100vw - 32px)); 
    background-color: #ffffff;
    border: 1px solid #d9d9d9;
    border-radius: 7px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.14);
    z-index: 101;
    max-height: 400px;
    overflow-y: auto;
}

.js-header-search .search-results-dropdown.is-active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Мобильная версия списка */
@media (max-width: 767px) {
    .js-header-search .search-results-dropdown {
        top: 111px; 
        width: calc(100vw - 32px);
    }
}

/*
 * Внутреннее оформление списка
 */
.search-results-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.search-results-dropdown li {
    border-bottom: 1px solid #f0f0f0;
}

.search-results-dropdown li:last-child {
    border-bottom: none;
}

/* Карточка результата (ссылка) */
.search-result-item {
    display: block; 
    padding: 8px 15px; 
    text-decoration: none !important; 
    color: #222222;
    transition: background-color 0.2s ease;
}

/* Легкий эффект при наведении */
.search-result-item:hover,
.search-result-item:focus {
    background-color: #f5f7f7; 
    text-decoration: none !important;
    outline: none;
}

/* Текст заголовка */
.search-result-content h4 {
    margin: 0;
    font-size: 14px;
    color: #333333;
    font-weight: 400; 
    line-height: 1.4;
    text-transform: lowercase; 
}

/* Возвращаем первую букву строки в верхний регистр */
.search-result-content h4::first-letter {
    text-transform: uppercase;
}

/* Скрываем описание (если вдруг оно будет возвращаться с сервера) */
.search-result-content p {
    display: none; 
}

/* Сообщения о загрузке и отсутствии результатов */
.search-loading,
.search-no-results {
    padding: 20px;
    text-align: center;
    color: #777777;
    font-size: 14px;
}

/* Стили для нижней кнопки "Показать все результаты" */
.search-all-results {
    display: block;
    text-align: center;
    padding: 10px; 
    background: #ffffff; 
    color: #666666;
    text-decoration: none !important;
    font-size: 13px;
    border-top: 1px solid #f0f0f0;
    border-radius: 0 0 7px 7px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.search-all-results:hover {
    background-color: #f5f7f7;
    color: #222222;
    text-decoration: none !important;
}

/* Скрываем нативный крестик очистки в поле type="search" */
.search-form__input::-webkit-search-decoration,
.search-form__input::-webkit-search-cancel-button,
.search-form__input::-webkit-search-results-button,
.search-form__input::-webkit-search-results-decoration {
    display: none;
}


/* Контейнер для всех результатов поиска */
.search-page-results {
    display: flex;
    flex-direction: column;
    gap: 20px; /* Отступ между карточками */
    margin-top: 30px;
    margin-bottom: 40px;
}

/* Сама карточка */
.search-card {
    background-color: #222222; /* Темный фон карточки, немного светлее общего фона */
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.search-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}

/* Ссылка-обертка, чтобы кликабельной была вся карточка */
.search-card__link {
    display: flex;
    text-decoration: none !important;
    color: #ffffff;
}

/* Блок с миниатюрой */
.search-card__image {
    flex: 0 0 250px; /* Фиксированная ширина для картинки */
    background-color: #1a1a1a;
}

.search-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Картинка заполняет блок без искажений */
    display: block;
}

/* Текстовый контент */
.search-card__content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 1;
}

/* Заголовок карточки */
.search-card__title {
    margin: 0 0 12px 0;
    font-size: 22px;
    color: #63a8a3; /* Твой фирменный бирюзовый цвет */
    font-weight: 500;
    line-height: 1.3;
}

/* Описание */
.search-card__excerpt {
    font-size: 15px;
    color: #cccccc;
    line-height: 1.5;
    margin-bottom: 15px;
}

/* Имитация кнопки */
.search-card__more {
    font-size: 14px;
    color: #63a8a3;
    font-weight: 500;
    margin-top: auto;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Адаптив для мобильных устройств */
@media (max-width: 768px) {
    .search-card__link {
        flex-direction: column;
    }
    
    .search-card__image {
        flex: none;
        height: 200px; /* Фиксированная высота картинки на мобилках */
    }
}

/* --- Стили для страницы 404 --- */

/* Центрирование и минимальная высота, чтобы подвал не "наезжал" наверх */
.error-404 {
    min-height: 60vh; 
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-404-content {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

/* Огромная цифра ошибки */
.page-404-title {
    font-size: 140px;
    font-weight: 700;
    color: #63a8a3; /* Твой фирменный бирюзовый цвет */
    margin: 0 0 10px 0;
    line-height: 1;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.page-404-subtitle {
    font-size: 32px;
    color: #ffffff;
    margin: 0 0 20px 0;
    font-weight: 500;
}

.page-404-text {
    font-size: 16px;
    color: #cccccc;
    line-height: 1.6;
    margin: 0 0 40px 0;
}

/* --- Обновленные стили для кнопок на странице 404 --- */

.page-404-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px; /* Отступ между главной кнопкой и ссылками */
}

/* Принудительно центрируем твой блок с кнопкой записи */
.page-404-modal-btn {
    display: flex;
    justify-content: center;
    margin: 0 !important;
}

/* Контейнер для текстовых ссылок */
.page-404-links {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Оформление самих ссылок */
.page-404-links a {
    color: #63a8a3; /* Фирменный бирюзовый цвет */
    font-size: 16px;
    text-decoration: underline !important;
    text-underline-offset: 4px;
    transition: color 0.2s ease;
}

.page-404-links a:hover {
    color: #ffffff; /* Белый цвет при наведении */
    text-decoration: none !important;
}

/* Разделитель между ссылками */
.page-404-divider {
    color: #555555;
    user-select: none;
}

/* Адаптив для мобильных устройств */
@media (max-width: 768px) {
    .page-404-links {
        flex-direction: column;
        gap: 10px;
    }
    
    .page-404-divider {
        display: none; /* Прячем вертикальную черту на телефонах */
    }
}

/* - Стили для страницы Карта сайта - */

.sitemap-header {
    margin-bottom: 40px;
}

.sitemap-main-title {
    color: #63a8a3; /* Фирменный бирюзовый цвет */
    font-size: 32px;
    margin: 0;
}

.sitemap-content {
    display: flex;
    flex-direction: column;
    gap: 45px; /* Расстояние между большими блоками */
}

.sitemap-block {
    width: 100%;
}

/* Заголовки разделов с нижней линией */
.sitemap-title {
    color: #ffffff;
    font-size: 20px; 
    border-bottom: 1px solid #333333;
    padding-bottom: 12px;
    margin-bottom: 20px;
    font-weight: 500;
}

/* Сброс стандартных стилей списков */
.sitemap-list,
.sitemap-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Отступ слева для вложенных (дочерних) страниц */
.sitemap-list ul {
    padding-left: 20px; 
    margin-top: 8px;
    margin-bottom: 8px;
}

.sitemap-list li {
    margin-bottom: 8px; /* Расстояние между строками */
}

/* Стилизация самих ссылок */
.sitemap-list li a {
    color: #cccccc;
    font-size: 15px; /* Компактный и читаемый размер шрифта */
    text-decoration: none;
    transition: color 0.2s ease;
}

.sitemap-list li a:hover {
    color: #ffffff;
}

/* Адаптив для мобильных телефонов */
@media (max-width: 768px) {
    .sitemap-main-title {
        font-size: 28px;
    }
    .sitemap-title {
        font-size: 18px;
    }
    .sitemap-content {
        gap: 35px;
    }
}

/* --- Стили для выравнивания кнопок такси и адресов --- */

.contacts__addresses-list {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Отступ между разными адресами */
}

.address-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

/* Гарантируем, что кнопка не будет сжиматься и ломать текст */
.address-row__taxi-btn {
    padding: 6px 14px;
    font-size: 13px;
    white-space: nowrap; 
    flex-shrink: 0; 
}

/* Адаптив для телефонов: если экран узкий, кнопка прыгнет под адрес */
@media (max-width: 480px) {
    .address-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

.before-after-wrapper {
	width: 100%;
	max-width: 600px;
	margin: 30px 0;
}

.ba-slider {
	--position: 50%;
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: #222;
	border-radius: 10px;
	user-select: none;
	-webkit-user-select: none;
}

.ba-slider__image {
	display: block;
	width: 100%;
	max-width: none;
	pointer-events: none;
}

.ba-slider__image--after {
	position: relative;
	height: auto;
	z-index: 0;
}

.ba-slider__image--before {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	clip-path: polygon(0 0, var(--position) 0, var(--position) 100%, 0 100%);
	z-index: 1;
}

.ba-slider__range {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	background: transparent;
	opacity: 0;
	cursor: ew-resize;
	z-index: 4;
	-webkit-appearance: none;
	appearance: none;
	touch-action: pan-y;
}

.ba-slider__handle {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--position);
	width: 2px;
	background-color: #fff;
	transform: translateX(-50%);
	pointer-events: none;
	z-index: 2;
}

.ba-slider__handle-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background-color: #fff;
	border-radius: 50%;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
	transform: translate(-50%, -50%);
}

.ba-slider__handle-btn::before,
.ba-slider__handle-btn::after {
	content: "";
	display: inline-block;
	padding: 4px;
	border: solid #222;
	border-width: 0 2px 2px 0;
}

.ba-slider__handle-btn::before {
	margin-right: 3px;
	transform: rotate(135deg);
}

.ba-slider__handle-btn::after {
	margin-left: 3px;
	transform: rotate(-45deg);
}

.ba-badge {
	position: absolute;
	top: 15px;
	padding: 5px 12px;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	color: #fff;
	border-radius: 4px;
	font-size: 13px;
	pointer-events: none;
	z-index: 3;
}

.ba-badge--before {
	left: 15px;
}

.ba-badge--after {
	right: 15px;
}

/* --- Блок рейтингов --- */

.ratings-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

/* Сама карточка (светлая плашка на темном фоне) */
.rating-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    padding: 25px 20px;
    border-radius: 12px;
    text-decoration: none !important;
    min-width: 240px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Эффект поднятия при наведении */
.rating-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 15px 40px rgba(99, 168, 163, 0.2); /* Бирюзовое свечение */
}

.rating-card__logo {
    height: 40px; /* Задаем единую высоту для всех логотипов */
    display: flex;
    align-items: center;
    justify-content: center;
}

.rating-card__logo img {
    max-height: 100%;
    width: auto; /* Пропорции сохраняются автоматически */
}

/* Текст (5.0 на основе отзывов) */
.rating-card__info {
    margin-bottom: 10px;
    text-align: center;
}

.rating-card__score {
    color: #333333;
    font-weight: 700;
    font-size: 15px;
    margin-right: 4px;
}

.rating-card__text {
    color: #777777;
    font-size: 13px;
}

/* Ряд золотых звездочек */
.rating-card__stars {
    display: flex;
    gap: 3px;
}

.rating-card__stars svg {
    width: 20px;
    height: 20px;
    fill: #FFB800; /* Приятный золотисто-желтый цвет */
}


/* Адаптив для телефонов */
@media (max-width: 768px) {
    .ratings-grid {
        gap: 15px;
    }
    .rating-card {
        width: calc(50% - 8px); /* По две карточки в ряд на смартфонах */
        min-width: unset;
        padding: 20px 15px;
    }
    .rating-card__logo {
        height: 30px;
    }
    .rating-card__info {
        display: flex;
        flex-direction: column;
    }
    .rating-card__stars svg {
        width: 16px;
        height: 16px;
    }
}

/* --- Стили для умных звезд --- */

.rating-card__stars-container {
    position: relative;
    display: inline-block;
}

.rating-card__stars-bg,
.rating-card__stars-fill {
    display: flex;
    gap: 3px;
}

/* Серые звезды (фон) */
.rating-card__stars-bg svg {
    width: 20px;
    height: 20px;
    fill: #e5e5e5; /* Светло-серый цвет */
    flex-shrink: 0;
}

/* Золотые звезды (обрезаются по ширине) */
.rating-card__stars-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden; /* Именно это свойство обрезает последнюю звездочку */
    white-space: nowrap; 
}

.rating-card__stars-fill svg {
    width: 20px;
    height: 20px;
    fill: #FFB800; /* Золотой цвет */
    flex-shrink: 0;
}

/* Адаптив для телефонов */
@media (max-width: 768px) {
    .ratings-grid {
        gap: 15px;
    }
    .rating-card {
        width: calc(50% - 8px); 
        min-width: unset;
        padding: 20px 15px;
    }
    .rating-card__logo {
        height: 30px;
    }
    .rating-card__info {
        display: flex;
        flex-direction: column;
    }
    
    /* Уменьшаем обе группы звезд на мобильных */
    .rating-card__stars-bg svg,
    .rating-card__stars-fill svg {
        width: 16px;
        height: 16px;
    }
}

/* - Белые карточки рейтингов в футере - */

.footer-rating-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px; /* Расстояние между карточками */
    margin-top: 30px;
    max-width: 320px;
}

.footer-rating-card {
    background-color: #ffffff;
    border-radius: 8px;
    padding: 12px 10px; /* Внутренние отступы карточки */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.footer-rating-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
}

.footer-rating-card__logo {
    height: 24px; /* Логотипы меньше, чем в основном блоке */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.footer-rating-card__logo img {
    max-height: 100%;
    width: auto;
    display: block;
}

/* - блок рейтингов в футере*/

/* Родительский контейнер */
.dd-footer-widget {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 10px;
    max-width: 270px;
}

/* Карточка (ссылка) */
.dd-footer-widget .dd-review-card {
    background-color: #ffffff;
    border-radius: 6px;
    padding: 10px 8px; /* Жестко задаем внутренние отступы */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    height: auto;
    min-height: 55px; /* Защита от схлопывания */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    margin: 0;
    border: none;
    line-height: normal; /* Сбрасываем межстрочный интервал темы */
}

.dd-footer-widget .dd-review-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

/* Контейнер логотипа */
.dd-footer-widget .dd-review-card__logo {
    height: 22px; 
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 6px 0;
    line-height: 0;
    padding: 0;
}

.dd-footer-widget .dd-review-card__logo img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    display: block;
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none; /* Сброс тени, если тема добавляет ее ко всем картинкам */
}

/* Контейнер звезд */
.dd-footer-widget .dd-review-card__stars {
    position: relative;
    display: inline-block;
    margin: 0 auto;
    line-height: 0;
    padding: 0;
}

/* Слои звезд */
.dd-footer-widget .dd-review-card__stars-bg,
.dd-footer-widget .dd-review-card__stars-fill {
    display: flex;
    gap: 2px;
    margin: 0;
    padding: 0;
}

.dd-footer-widget .dd-review-card__stars-bg svg,
.dd-footer-widget .dd-review-card__stars-fill svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    display: block;
}

.dd-footer-widget .dd-review-card__stars-bg svg {
    fill: #e5e5e5;
}

/* Верхний (золотой) слой звезд */
.dd-footer-widget .dd-review-card__stars-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
}

.dd-footer-widget .dd-review-card__stars-fill svg {
    fill: #FFB800;
}

/* Блок две колонки */
.seo-two-cols-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

@media (max-width: 768px) {
    .seo-two-cols-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* Базовые цвета для новых фонов */
.section-dark {
    background-color: #1a1a1a;
    color: #D9D9D9;
}
.section-dark .section-header__title,
.section-dark .side-section-text__title {
    color: #D9D9D9;
}

.light-section .side-section-text__title {
    color: #1a1a1a;
}

/* Списки в двух колонках */
.seo-two-cols-grid ul {
    list-style: none;
    padding-left: 0;
    margin: 15px 0;
}
.seo-two-cols-grid ul li {
    position: relative;
    padding-left: 20px;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(150, 150, 150, 0.2);
    line-height: 1.5;
}
.seo-two-cols-grid ul li:last-child {
    border-bottom: none;
}
.seo-two-cols-grid ul li::before {
    content: "-";
    position: absolute;
    left: 0;
    top: 0;
    color: #38bfa7; /* Фирменный бирюзовый цвет клиники */
    font-weight: bold;
}

/* Красивые таблицы в WYSIWYG */
.wysiwyg-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
}
.wysiwyg-content th, 
.wysiwyg-content td {
    padding: 15px 20px;
    border-bottom: 1px solid rgba(150, 150, 150, 0.15);
    color: #eeeaea;
}

/* Цвета таблиц для темного фона */
.section-dark .wysiwyg-content table {
    background-color: rgba(255, 255, 255, 0.03);
    color: #ffffff;
}
.section-dark .wysiwyg-content th {
    background-color: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-weight: 600;
}

/* Цвета таблиц для светлого и стандартного фона */
.light-section .wysiwyg-content table,
.wysiwyg-content table {
    color: #333333;
}
.light-section .wysiwyg-content th,
.wysiwyg-content th {
    background-color: #10867d;
    color: #fdebeb;
    font-weight: 700;
}

.wysiwyg-content tbody tr:nth-child(2n) {
    background-color: hsl(0deg 0% 89% / 4%);
}

/* - Красивый горизонтальный баннер (шорткод) - */

.seo-appointment-banner {
    background: linear-gradient(90deg, #18a497 0%, #3a7596 100%);
    border-radius: 8px;
    padding: 40px;
    color: #ffffff;
}

.seo-appointment-banner__title {
    color: #ffffff;
    font-size: 36px;
    margin-bottom: 10px;
}

.seo-appointment-banner__text {
    font-size: 16px;
    margin-bottom: 25px;
    opacity: 0.9;
}

/* 1. Главный контейнер для формы (насильно в ряд) */
.seo-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 15px;
    width: 100%;
}

.seo-form-row .form-body__item {
    flex: 1;
    min-width: 220px;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. Стили инпутов */
.seo-appointment-banner__form .input__field {
    width: 100%;
    height: 54px; /* Одинаковая высота с кнопкой */
    padding: 0 20px;
    border: none;
    border-radius: 6px;
    background-color: #e8e8e8;
    color: #333333;
    font-size: 16px;
    box-sizing: border-box;
}

.seo-appointment-banner__form .input__field::placeholder {
    color: #999999;
}

.seo-appointment-banner__form .input__field:focus {
    outline: none;
    background-color: #ffffff;
    box-shadow: inset 0 0 0 2px #38bfa7;
}

/* Ошибки */
.seo-appointment-banner__form .input__error {
    color: #ffd27a;
    font-size: 12px;
    margin-top: 5px;
}

/* 3. Стили кнопки */
.seo-appointment-banner__form .seo-submit-btn {
    width: 100%;
    height: 54px; /* Одинаковая высота с инпутом */
    background-color: #17a294; 
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.seo-appointment-banner__form .seo-submit-btn:hover {
    background-color: #13897d;
}

/* 4. Чекбокс согласия (снизу) */
.seo-appointment-banner__form .form-body__item--privacy {
    width: 100%;
    margin-top: 10px;
}

.seo-appointment-banner__form .checkbox-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #ffffff;
    margin: 0;
}

.seo-appointment-banner__form .checkbox-input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
}

.seo-appointment-banner__form .checkbox-wrapper a {
    color: #ffffff;
    text-decoration: underline;
}

/* 5. Адаптив для телефонов */
@media (max-width: 768px) {
    .seo-appointment-banner {
        padding: 30px 20px;
    }
    .seo-form-row {
        flex-direction: column;
        gap: 15px;
    }
    .seo-form-row .form-body__item {
        width: 100%;
    }
}