/* =========================================================
   Отдых для мед. работников — стили блока Elementor
   =========================================================
   Раскладка:
   - .omw-block  — контейнер, его высота полностью определяется
     левой колонкой (картинкой), т.к. правая колонка позиционируется
     абсолютно и не участвует в расчёте высоты.
   - .omw-left   — обычный блок в потоке, ширина в %, высота = высота
     картинки (object-fit не используется, картинка сохраняет
     пропорции естественным образом: width:100%; height:auto;).
   - .omw-right  — абсолютно спозиционирована поверх оставшейся
     ширины, высота 100% (точно равна высоте картинки). Является
     CSS Container для container query, чтобы форма ВНУТРИ неё
     плавно масштабировалась при изменении высоты блока — без
     появления прокрутки.
   - Брейкпоинт мобильной вёрстки: 1024px (картинка сверху, форма снизу).
   ========================================================= */

.omw-block {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 24px;
	box-shadow: 0 10px 30px rgba(20, 80, 130, 0.12);
	background: #ffffff;
	box-sizing: border-box;
}

.omw-block * {
	box-sizing: border-box;
}

/* ---------- Левая часть: изображение (задаёт высоту блока) ---------- */

.omw-left {
	display: block;
	background: linear-gradient(135deg, #eef8fc 0%, #d9effa 45%, #bfe6f6 100%);
	line-height: 0;
}

.omw-image {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- Правая часть: форма ---------- */

.omw-right {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	background-color: #f1fafe;
	border: 1px solid #cdeaf8;
	overflow: hidden;
	container-type: size;
	container-name: omwform;
	/* Форма растягивается на всю высоту блока. */
	display: flex;
	align-items: stretch;
}

.omw-form-wrap {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: clamp(10px, 6cqh, 40px) clamp(16px, 6cqw, 48px);
}

.omw-form-title {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: clamp(6px, 3cqw, 12px);
	margin: 0 0 clamp(6px, 4cqh, 24px);
	font-size: clamp(12px, 7cqh, 26px);
	line-height: 1.2;
	font-weight: 700;
	color: #123a63;
}

.omw-form-title .dashicons {
	width: clamp(14px, 7cqh, 34px);
	height: clamp(14px, 7cqh, 34px);
	font-size: clamp(14px, 7cqh, 34px);
	color: #17b3d9;
	flex-shrink: 0;
}

.omw-editor-placeholder {
	padding: 16px;
	border: 1px dashed #c9d8e6;
	border-radius: 12px;
	color: #6f88a3;
	background: #f6fafd;
}

/* ---------- Стилизация формы Contact Form 7 ---------- */

/* .omw-cf7-wrap заполняет всё оставшееся под заголовком место,
   а сама форма CF7 равномерно распределяет поля по этой высоте
   (пустого места снизу не остаётся). */
.omw-cf7-wrap {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	display: flex;
}

.omw-cf7-wrap .wpcf7 {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	display: flex;
}

.omw-cf7-wrap .wpcf7-form {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}

.omw-cf7-wrap .wpcf7-form p {
	flex: 0 0 auto;
	margin: 0;
}


.omw-cf7-wrap .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}

.omw-cf7-wrap input.wpcf7-form-control,
.omw-cf7-wrap textarea.wpcf7-form-control,
.omw-cf7-wrap select.wpcf7-form-control {
	width: 100%;
	background-color: #f4f8fb;
	border: 1px solid #dfe9f2;
	border-radius: 10px;
	padding: clamp(2px, 1cqh, 5px) clamp(2px, 1cqh, 5px) clamp(2px, 1cqh, 5px) clamp(20px, 8cqh, 38px);
	font-size: clamp(10px, 4cqh, 17px);
	color: #1f3b57;
	transition: border-color 0.2s ease, background-color 0.2s ease;
	background-repeat: no-repeat;
	background-position: left clamp(5px, 2.5cqh, 10px) center;
	background-size: clamp(10px, 3.5cqh, 16px) clamp(10px, 3.5cqh, 16px);
	appearance: none;
	-webkit-appearance: none;
}

.omw-cf7-wrap input.wpcf7-form-control:not(.wpcf7-submit) {
	height: clamp(20px, 8cqh, 40px);
}

.omw-cf7-wrap input.wpcf7-form-control::placeholder,
.omw-cf7-wrap textarea.wpcf7-form-control::placeholder {
	color: #93a9c0;
}

.omw-cf7-wrap input.wpcf7-form-control:focus,
.omw-cf7-wrap textarea.wpcf7-form-control:focus,
.omw-cf7-wrap select.wpcf7-form-control:focus {
	outline: none;
	border-color: #17b3d9;
	background-color: #ffffff;
	box-shadow: 0 0 0 3px rgba(23, 179, 217, 0.12);
}

/* Иконка "человек" — для обычных текстовых полей (ФИО и т.п.) */
.omw-cf7-wrap input[type="text"].wpcf7-form-control {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c9bb8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

/* Иконка "конверт" — для полей email */
.omw-cf7-wrap input[type="email"].wpcf7-form-control {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c9bb8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E");
}

/* Иконка "телефон" — для полей tel */
.omw-cf7-wrap input[type="tel"].wpcf7-form-control {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c9bb8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/* Textarea без иконки, но с тем же оформлением */
.omw-cf7-wrap textarea.wpcf7-form-control {
	padding-left: clamp(12px, 4cqh, 18px);
	min-height: clamp(40px, 20cqh, 110px);
	resize: vertical;
}

/* Select без иконки слева */
.omw-cf7-wrap select.wpcf7-form-control {
	padding-left: clamp(12px, 4cqh, 18px);
}

/* Кнопка отправки — текст и стрелка выровнены по центру по высоте */
.omw-cf7-wrap input.wpcf7-form-control.wpcf7-submit {
	width: 100%;
	height: clamp(20px, 8cqh, 40px);
	line-height: clamp(20px, 8cqh, 40px);
	background-color: #17b3d9;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right clamp(10px, 5cqw, 22px) center;
	background-size: clamp(10px, 3.5cqh, 20px) clamp(10px, 3.5cqh, 20px);
	color: #ffffff;
	border: none;
	border-radius: 10px;
	padding: 0 clamp(30px, 10cqw, 50px) 0 clamp(10px, 4cqw, 18px);
	font-size: clamp(11px, 3.5cqh, 16px);
	font-weight: 600;
	letter-spacing: 0.2px;
	cursor: pointer;
	text-align: center;
	vertical-align: middle;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.omw-cf7-wrap input.wpcf7-form-control.wpcf7-submit:hover {
	background-color: #129cc0;
}

.omw-cf7-wrap input.wpcf7-form-control.wpcf7-submit:active {
	transform: translateY(1px);
}

.omw-cf7-wrap .wpcf7-spinner {
	display: block;
	margin: 6px auto 0;
}

.omw-cf7-wrap .wpcf7-response-output {
	margin: clamp(6px, 3cqh, 16px) 0 0;
	border-radius: 10px;
	padding: clamp(6px, 3cqh, 12px) clamp(10px, 4cqw, 16px);
	font-size: clamp(11px, 4cqh, 14px);
}

.omw-cf7-wrap form.invalid .wpcf7-response-output {
	border-color: #e28a8a;
	color: #a33d3d;
	background: #fdeeee;
}

.omw-cf7-wrap form.sent .wpcf7-response-output {
	border-color: #8ad0a5;
	color: #2f7a4f;
	background: #eefaf2;
}

.omw-cf7-wrap .wpcf7-not-valid-tip {
	font-size: clamp(9px, 3cqh, 12px);
	color: #d3524e;
	margin-top: 4px;
	display: block;
}

/* =========================================================
   Адаптив: мобильная вёрстка (≤ 1024px).
   Блок становится вертикальным: изображение сверху,
   форма снизу, обычный поток документа (без absolute/container query,
   без ограничений по высоте — страница просто скроллится целиком).
   ========================================================= */
@media (max-width: 1024px) {
	.omw-block {
		display: block;
		border-radius: 20px;
	}

	.omw-left {
		width: 100% !important;
	}

	.omw-right {
		display: block;
		position: static;
		width: 100% !important;
		height: auto;
		container-type: normal;
		overflow: visible;
	}

	.omw-form-wrap {
		display: block;
		height: auto;
		padding: 28px 22px;
	}

	.omw-form-title {
		font-size: 20px;
		margin-bottom: 18px;
	}

	.omw-form-title .dashicons {
		width: 28px;
		height: 28px;
		font-size: 28px;
	}

	.omw-cf7-wrap,
	.omw-cf7-wrap .wpcf7,
	.omw-cf7-wrap .wpcf7-form {
		display: block;
		height: auto;
	}

	.omw-cf7-wrap .wpcf7-form p {
		margin: 0 0 14px;
	}

	.omw-cf7-wrap input.wpcf7-form-control,
	.omw-cf7-wrap textarea.wpcf7-form-control,
	.omw-cf7-wrap select.wpcf7-form-control {
		font-size: 16px;
		padding: 10px 12px 10px 38px;
	}

	.omw-cf7-wrap input.wpcf7-form-control:not(.wpcf7-submit) {
		height: 44px;
	}

	.omw-cf7-wrap input.wpcf7-form-control.wpcf7-submit {
		height: 46px;
		line-height: 46px;
		font-size: 16px;
		padding: 0 46px 0 18px;
	}
}

@media (max-width: 400px) {
	.omw-form-wrap {
		padding: 22px 16px;
	}
}
