:root {
	--wd-text-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #777777;
	--wd-text-font-size: 16px;
	--wd-title-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 600;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: capitalize;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Montserrat", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 600;
	--wd-header-el-transform: capitalize;
	--wd-header-el-font-size: 15px;
	--wd-brd-radius: 10px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: #6b0000;
	--wd-alternative-color: rgb(80,68,62);
	--btn-default-font-family: "Montserrat", Arial, Helvetica, sans-serif;
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(205,148,82);
	--btn-accented-bgcolor-hover: rgb(186,134,74);
	--btn-transform: capitalize;
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(249,249,249);
	background-image: none;
}
 {
	font-family: "Lexend", Arial, Helvetica, sans-serif;
	font-weight: 700;
}
:is(.page, .search-no-results, .error404) :is(.wd-page-content, .whb-header) {
	background-color: rgb(249,249,249);
	background-image: url(https://xn--80aaafbj7cdrcwkp.xn--p1ai/wp-content/uploads/2026/07/fon-all.webp);
	background-repeat: repeat;
	background-position: center top;
}
.woodmart-archive-shop:not(.single-product) :is(.wd-page-content, .whb-header) {
	background-color: rgb(249,249,249);
	background-image: none;
}
.single-product :is(.wd-page-content, .whb-header) {
	background-color: rgb(249,249,249);
	background-image: none;
}
.woodmart-archive-blog :is(.wd-page-content, .whb-header) {
	background-color: rgb(249,249,249);
	background-image: none;
}
.single-post :is(.wd-page-content, .whb-header) {
	background-color: rgb(249,249,249);
	background-image: none;
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 5px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 35px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
}

@media (min-width: 1222px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: #0a0a0a;
}

:root{color-scheme:only light!important;}
html,body{color-scheme:only light!important;background:#fff;color:#000;}


/* =========================================================
   Форма бронирования «Красный домик»
   ========================================================= */

.kd-booking-form {
	--kd-red: #6b0000;
	--kd-red-hover: #850000;
	--kd-text: #242424;
	--kd-muted: #77716c;
	--kd-border: #ddd6cd;
	--kd-background: #fffdf9;

	width: 100%;
	padding: 24px;
	background: var(--kd-background);
	border: 1px solid rgba(107, 0, 0, 0.12);
	border-radius: 18px;
	box-shadow: 0 12px 35px rgba(36, 28, 22, 0.09);
}

.kd-booking-form *,
.kd-booking-form *::before,
.kd-booking-form *::after {
	box-sizing: border-box;
}

.kd-booking-form p {
	margin: 0 !important;
	padding: 0 !important;
}

.kd-booking-form br {
	display: none;
}

/* =========================================================
   Общие строки
   ========================================================= */

.kd-booking-form .kd-form-row {
	display: grid;
	gap: 14px;
	width: 100%;
	margin-bottom: 14px;
}

.kd-booking-form .kd-form-row-two,
.kd-booking-form .kd-date-row {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* =========================================================
   Поля
   ========================================================= */

.kd-booking-form .kd-field {
	display: block;
	min-width: 0;
	width: 100%;
	margin-bottom: 14px;
}

.kd-booking-form .kd-form-row .kd-field {
	margin-bottom: 0;
}

.kd-booking-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.kd-booking-form .kd-field-title {
	display: block;
	margin: 0 0 7px;
	color: var(--kd-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

/* =========================================================
   Заметка «Бронирование от 2-х дней»
   ========================================================= */

.kd-booking-form .kd-booking-note {
	margin: 3px 0 14px;
	padding: 10px 14px;
	color: var(--kd-red);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	background: rgba(107, 0, 0, 0.06);
	border: 1px solid rgba(107, 0, 0, 0.14);
	border-radius: 10px;
}

/* =========================================================
   Текстовые поля
   ========================================================= */

.kd-booking-form .kd-control {
	display: block;
	width: 100%;
	min-width: 0;
	height: 52px;
	margin: 0;
	padding: 0 15px;
	color: var(--kd-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	background: #fff;
	border: 1px solid var(--kd-border);
	border-radius: 10px;
	outline: none;
	box-shadow: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

.kd-booking-form .kd-control::placeholder {
	color: #918b85;
	opacity: 1;
}

.kd-booking-form .kd-control:hover {
	border-color: rgba(107, 0, 0, 0.42);
}

.kd-booking-form .kd-control:focus {
	background: #fff;
	border-color: var(--kd-red);
	box-shadow: 0 0 0 3px rgba(107, 0, 0, 0.1);
}

/* =========================================================
   Даты
   ========================================================= */

.kd-booking-form .kd-date-row {
	align-items: end;
}

.kd-booking-form .kd-date-row > p,
.kd-booking-form .kd-date-row > .kd-field {
	min-width: 0;
	width: 100%;
	margin: 0 !important;
}

.kd-booking-form .kd-date-row label {
	display: block;
	width: 100%;
	margin: 0;
}

.kd-booking-form input[type="date"].kd-control {
	width: 100%;
	min-width: 0;
	padding-right: 10px;
	cursor: pointer;
}

.kd-booking-form input[type="date"].kd-control::-webkit-calendar-picker-indicator {
	cursor: pointer;
	opacity: 0.72;
}

/* =========================================================
   Способ связи
   Первый ряд: Звонок, WhatsApp, Telegram
   Второй ряд: MAX, SMS
   ========================================================= */

.kd-booking-form .kd-methods {
	margin-bottom: 14px;
}

.kd-booking-form .kd-methods .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.kd-booking-form .kd-methods .wpcf7-form-control {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Первые три варианта занимают по трети строки */
.kd-booking-form .kd-methods .wpcf7-list-item {
	grid-column: span 2;
	min-width: 0;
	margin: 0;
}

/* Четвёртый вариант начинается со второй колонки */
.kd-booking-form .kd-methods .wpcf7-list-item:nth-child(4) {
	grid-column: 2 / span 2;
}

/* Пятый вариант занимает центральную правую часть */
.kd-booking-form .kd-methods .wpcf7-list-item:nth-child(5) {
	grid-column: 4 / span 2;
}

.kd-booking-form .kd-methods label {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	cursor: pointer;
}

.kd-booking-form .kd-methods input[type="checkbox"],
.kd-booking-form .kd-methods input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.kd-booking-form .kd-methods .wpcf7-list-item-label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	padding: 8px 10px;
	color: #4b4540;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	background: #fff;
	border: 1px solid var(--kd-border);
	border-radius: 999px;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.kd-booking-form .kd-methods label:hover .wpcf7-list-item-label {
	color: var(--kd-red);
	border-color: rgba(107, 0, 0, 0.45);
	transform: translateY(-1px);
}

.kd-booking-form .kd-methods input[type="checkbox"]:checked
	+ .wpcf7-list-item-label,
.kd-booking-form .kd-methods input[type="radio"]:checked
	+ .wpcf7-list-item-label {
	color: #fff;
	background: var(--kd-red);
	border-color: var(--kd-red);
}

/* =========================================================
   Количество гостей
   ========================================================= */

.kd-booking-form .kd-guests {
	margin-bottom: 14px;
}

.kd-booking-form .kd-guests .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.kd-booking-form .kd-guests .wpcf7-list-item {
	margin: 0;
}

.kd-booking-form .kd-guests label {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
}

.kd-booking-form .kd-guests input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.kd-booking-form .kd-guests .wpcf7-list-item-label {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 16px;
	color: #4b4540;
	font-size: 14px;
	font-weight: 500;
	background: #fff;
	border: 1px solid var(--kd-border);
	border-radius: 999px;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.kd-booking-form .kd-guests .wpcf7-list-item-label::before {
	content: "";
	display: block;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	background: #fff;
	border: 1.5px solid #b4aea8;
	border-radius: 50%;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

.kd-booking-form .kd-guests label:hover .wpcf7-list-item-label {
	color: var(--kd-red);
	border-color: rgba(107, 0, 0, 0.45);
	transform: translateY(-1px);
}

.kd-booking-form .kd-guests input[type="radio"]:checked
	+ .wpcf7-list-item-label {
	color: #fff;
	background: var(--kd-red);
	border-color: var(--kd-red);
}

.kd-booking-form .kd-guests input[type="radio"]:checked
	+ .wpcf7-list-item-label::before {
	border-color: #fff;
	background:
		radial-gradient(circle, #fff 0 4px, transparent 5px);
}

/* =========================================================
   Согласие на обработку данных
   ========================================================= */

.kd-booking-form .kd-consent {
	margin: 17px 0;
}

.kd-booking-form .kd-consent .wpcf7-form-control {
	display: block;
	margin: 0;
	padding: 0;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.kd-booking-form .kd-consent .wpcf7-list-item {
	margin: 0;
}

.kd-booking-form .kd-consent label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0;
	cursor: pointer;
}

.kd-booking-form .kd-consent input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--kd-red);
	cursor: pointer;
}

.kd-booking-form .kd-consent .wpcf7-list-item-label {
	color: #5f5a55;
	font-size: 13px;
	line-height: 1.45;
}

/* =========================================================
   Honeypot
   ========================================================= */

.kd-booking-form .honeypot-220-wrap,
.kd-booking-form [class*="honeypot"] {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* =========================================================
   Кнопка отправки
   ========================================================= */

.kd-booking-form .kd-submit {
	position: relative;
	width: 100%;
	margin-top: 5px;
	text-align: center;
}

.kd-booking-form .kd-submit-button {
	display: block;
	width: 100%;
	min-height: 54px;
	margin: 0;
	padding: 13px 24px;
	color: #fff !important;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	background: var(--kd-red) !important;
	border: 1px solid var(--kd-red) !important;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(107, 0, 0, 0.2);
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.kd-booking-form .kd-submit-button:hover {
	color: #fff !important;
	background: var(--kd-red-hover) !important;
	border-color: var(--kd-red-hover) !important;
	box-shadow: 0 10px 24px rgba(107, 0, 0, 0.28);
	transform: translateY(-1px);
}

.kd-booking-form .kd-submit-button:active {
	transform: translateY(0);
}

.kd-booking-form .kd-submit-button:disabled {
	opacity: 0.65;
	cursor: wait;
	transform: none;
}

.kd-booking-form .wpcf7-spinner {
	position: absolute;
	top: 50%;
	right: 15px;
	margin: -12px 0 0;
}

/* =========================================================
   Ошибки Contact Form 7
   ========================================================= */

.kd-booking-form .wpcf7-not-valid {
	border-color: #c62828 !important;
	box-shadow: 0 0 0 2px rgba(198, 40, 40, 0.08);
}

.kd-booking-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 5px;
	color: #c62828;
	font-size: 12px;
	line-height: 1.35;
}

/* Без общей красной рамки у способа связи */
.kd-booking-form .kd-methods .wpcf7-not-valid {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Без общей красной рамки у согласия */
.kd-booking-form .kd-consent .wpcf7-not-valid {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Без общей красной рамки у количества гостей */
.kd-booking-form .kd-guests .wpcf7-not-valid {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.kd-booking-form + .wpcf7-response-output,
.kd-booking-form .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
	margin: 18px 0 0 !important;
	padding: 12px 14px !important;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.45;
}

/* =========================================================
   Планшеты
   ========================================================= */

@media (max-width: 768px) {
	.kd-booking-form {
		padding: 20px;
		border-radius: 15px;
	}

	.kd-booking-form .kd-control {
		height: 50px;
	}

	.kd-booking-form .kd-methods .wpcf7-list-item-label,
	.kd-booking-form .kd-guests .wpcf7-list-item-label {
		font-size: 13px;
	}
}

/* =========================================================
   Мобильные устройства
   ========================================================= */

@media (max-width: 600px) {
	.kd-booking-form {
		padding: 18px 14px;
		border-radius: 14px;
	}

	/* Имя и телефон друг под другом */
	.kd-booking-form .kd-form-row-two {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	/* Даты остаются в одну строку */
	.kd-booking-form .kd-date-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.kd-booking-form .kd-date-row .kd-field-title {
		margin-bottom: 5px;
		font-size: 13px;
	}

	.kd-booking-form .kd-date-row .kd-control {
		height: 48px;
		padding: 0 6px;
		font-size: 12px;
	}

	.kd-booking-form .kd-booking-note {
		margin-bottom: 12px;
		padding: 9px 10px;
		font-size: 13px;
	}

	/* Способы связи сохраняют схему 3 + 2 */
	.kd-booking-form .kd-methods .wpcf7-form-control {
		gap: 7px;
	}

	.kd-booking-form .kd-methods .wpcf7-list-item-label {
		min-height: 39px;
		padding: 7px 6px;
		font-size: 12px;
	}

	.kd-booking-form .kd-guests .wpcf7-form-control {
		gap: 6px;
	}

	.kd-booking-form .kd-guests .wpcf7-list-item-label {
		min-height: 38px;
		padding: 0 11px;
		font-size: 12px;
	}

	.kd-booking-form .kd-submit-button {
		min-height: 52px;
		font-size: 15px;
	}
}

/* =========================================================
   Очень узкие экраны
   Способы связи: две колонки, последний пункт по центру
   ========================================================= */

@media (max-width: 400px) {
	.kd-booking-form .kd-methods .wpcf7-form-control {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.kd-booking-form .kd-methods .wpcf7-list-item,
	.kd-booking-form .kd-methods .wpcf7-list-item:nth-child(4),
	.kd-booking-form .kd-methods .wpcf7-list-item:nth-child(5) {
		grid-column: auto;
	}

	/* Последний пункт располагается по центру */
	.kd-booking-form .kd-methods .wpcf7-list-item:last-child {
		grid-column: 1 / -1;
		width: calc(50% - 4px);
		justify-self: center;
	}

	.kd-booking-form .kd-methods .wpcf7-list-item-label {
		width: 100%;
		min-height: 38px;
		padding: 7px 8px;
		font-size: 12px;
	}

	.kd-booking-form .kd-date-row {
		gap: 6px;
	}

	.kd-booking-form .kd-date-row .kd-control {
		padding: 0 3px;
		font-size: 11px;
	}

	.kd-booking-form .kd-guests .wpcf7-list-item-label {
		padding: 0 9px;
	}
}