@charset "UTF-8";
/*!
Theme Name: Booklium Child
Theme URI: https://motopress.com/products/booklium
Author: MotoPress
Author URI: https://motopress.com
Description: Awesome WordPress theme.
Version: 0.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: booklium-child
Template: booklium
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
/*DM sans*/

/* {
	border-radius: 3px !important;
}*/

iframe.cmplz-placeholder-element {
	border: none;
}

/* Typography: global */

/* Body text */
body,
p,
li,
dd,
dt,
blockquote,
input,
textarea,
select,
button {
	font-family: "DM sans", Arial, sans-serif !important;
	font-weight: 400;
}

a.wp-block-button__link {
	font-weight: 400 !important;
}

/* H1 and below */
/*#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
#content h1.wp-block-heading,
#content .entry-title,
#content .page-title,
#content .widget-title,
#content .wp-block-heading {
	font-family: "Playfair Display", "Segoe UI", Arial, sans-serif !important;
	font-weight: 400;
}*/
#content :is(h1, h2, h3, h4, h5, h6, .entry-title, .page-title, .widget-title, .wp-block-heading) {
	font-family: "Playfair Display", "Segoe UI", Arial, sans-serif !important;
	font-weight: 400;
}

.playfair-font {
	font-family: "Playfair Display", "Segoe UI", Arial, sans-serif !important;
}

.vs-align-vertical,
.wp-block-button__link {
	display: flex;
	align-items: center;
	column-gap: 8px;
}


#content .wp-block-button__link:hover {
	transform: translateY(-3px);
	opacity: .8;
}

/* MotoPress Hotel Booking: make sure it follows body font */
.mphb,
.mphb-booking-form,
.mphb-calendar,
.mphb_sc_search-wrapper,
.mphb_sc_search-form,
.mphb-room-type,
.mphb-reservation-form {
	font-family: "DM sans", Arial, sans-serif !important;
}

ul, table {
	font-family: "DM sans", sans-serif;
}

.mphb_sc_account .mphb-account-menu a {
	padding: 15px 15px !important;
}

.mphb_sc_search_results-wrapper:has(.mphb-recommendation) {
	display: none !important;
}

.mphb_sc_search_results-wrapper {
	margin-top: 30px;
}

.mphb-empty-cart-message {
	font-size: 25px;
	font-weight: 600;
}

.user-reviews {
	list-style: none;
	padding-left: 0;
}

.user-reviews .user-review {
	padding: 10px;
	display: flex;
	gap: 20px;
}

.user-reviews .user-review .author {
	display: flex;
	flex-direction: column;
}

.user-reviews .user-review .author img {
	border-radius: 50%;
	display: block;
	border: 3px solid #fff;
	-webkit-box-shadow: 0 2px 5px 0 rgba(50, 54, 72, 0.08);
	box-shadow: 0 2px 5px 0 rgba(50, 54, 72, 0.08);
}

.user-reviews .user-review .author .fn {
	text-align: center;
	line-height: 1.4;
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: 500;
	margin-top: 10px;
}

.user-reviews .user-review .comment {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%;
	min-width: 0;
	background: #fff;
	padding: 2.5rem;
	border-radius: 3px;
	position: relative;
	-webkit-filter: drop-shadow(0px 2px 3px rgba(50, 54, 72, 0.08));
	filter: drop-shadow(0px 2px 3px rgba(50, 54, 72, 0.08));
	font-size: 0.875rem;
}

.user-reviews .user-review .comment .comment-header {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}

.user-reviews .user-review .comment .comment-header .review-date {
	color: #ccc;
}

.vs-shadow {
	box-shadow: 0 0 #0000, 0 0 #0000, 0 25px 50px -12px rgb(0 0 0 / .25);
}

.vs-form {
	margin: 0 !important;
}


.vs-form input,
.vs-submit {
	width: 100% !important;
	max-width: 100% !important;
}

.vs-stretch-buttons {
	align-items: stretch;
}

.vs-no-gap {
	margin-left: 0 !important;
}

@media (width < 782px) {
	.wp-block-getwid-section__wrapper:not(.wp-block-getwid-section__wrapper *) {
		padding-top: 80px !important;
		padding-bottom: 80px !important;
	}

	.vs-no-padding > .wp-block-getwid-section__wrapper {
		padding: 0 !important;
	}

	.vs-column-height {
		min-height: 500px !important;
	}
}


@media (max-width: 768px) {
	.user-reviews .user-review .comment .comment-header {
		display: block;
	}
}

/* Calendar modal */
/* -------------- */
.mphb-account-calendar-form .mhpb-calendar-check-in-out {
	display: flex;
	gap: 1em;
}

.mphb-account-calendar-form .mhpb-calendar-check-in-out p {
	flex: 1 1 auto;
}

#customModal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.5);
	/* Тёмный фон */
}

.modal-content {
	background-color: #fff;
	margin: 15% auto;
	padding: 20px;
	border: 1px solid #888;
	width: 80%;
	max-width: 80%;
	max-width: calc(80vw);
	/* Максимальная ширина 80% от ширины экрана */
	position: relative;
	box-sizing: border-box;
}

/* Стили для кнопки закрытия */
.close {
	position: absolute;
	top: 10px;
	right: 10px;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 24px;
	color: #333;
}

.close:hover .close-icon {
	color: #555;
}

/* Стили для SVG-иконки закрытия */
.close-icon {
	width: 24px;
	height: 24px;
}

/* end of block */


.modal-booking-calendar th span {
	display: block;
	text-align: center;
	line-height: 1.2em;
}

.modal-booking-calendar th span.weekday,
.modal-booking-calendar th span.year {
	font-size: 12px;
	color: #ccc;
	margin-top: 5px;
}

.modal-booking-calendar tbody td {
	padding: .5rem 1.25rem;
}

.modal-booking-calendar tbody td.day-book {
	background: #ccc;
}

.modal-booking-calendar tbody td.first-day-book {
	background: linear-gradient(to left, #ccc 50%, #fff 50%);
}

.modal-booking-calendar tbody td.last-day-book {
	background: linear-gradient(to right, #ccc 50%, #fff 50%);
}

#modal-calendar-details {
	line-height: 1rem;
	margin-top: 20px;
	margin-bottom: 20px;
}

.vs-destination-block {
	font-size: 14px;
	color: #3b4249;
	height: 50px;
	background-color: #ffffff;
	border: 2px solid #f8e4b0;
	padding: 12px 40px 12px 20px;
	position: relative;
	user-select: none;
}

.vs-destination-block:after {
	content: '\f107';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 16px;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	color: #9ea1a8;
}

.vs-destination-block-list {
	padding: 10px 20px;
	background-color: inherit;
	flex-direction: column;
	top: calc(100% + 2px);
	left: -1px;
	position: absolute;
	display: none;
	list-style: none;
	min-width: 200px;
	border: 1px solid #999999;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.vs-destination-block .vs-destination-block-list .vs-destination-block-item {
	margin: 0;
	padding: 0;
}

.vs-destination-block label {
	width: 100%;
	margin: 0;
	padding: 0;
	color: inherit !important;
	user-select: none;
}

.vs-destination-block input {
	font-size: inherit !important;
	color: inherit !important;
}

.vs-search-results {
	margin: 0;
	padding: 0;
	display: flex;
	list-style: none;
	gap: 10px;
}

.vs-gallery .attachment-booklium-square {
	aspect-ratio: 3/2;
	object-fit: cover;
}

.wp-block-woocommerce-checkout.wc-block-checkout {
	margin-left: auto !important;
	margin-right: auto !important;
}

.vs-inventory-list {
	background: #fff;
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	padding: 1.875rem;
	box-shadow: 0 2px 5px 0 rgba(50, 54, 72, 0.08);
	margin-bottom: 20px !important;
}

.vs-inventory-list .wp-block-heading {
	font-size: 1.25rem;
	padding-bottom: 1.25rem;
	text-align: left;
	text-transform: capitalize;
	border-bottom: 1px solid #f5f5f5;
}

.vs-inventory-list table {
	margin: 0;
}

.vs-inventory-list .wp-block-table {
	margin: 0;
	border: none;
}

.vs-inventory-list tr {
	background: none !important;
}

.vs-inventory-list td:nth-child(2) {
	padding-right: 30px;
}

.vs-inventory-list td:nth-child(odd) {
	min-width: 150px;


	color: #767b80;
	font-size: 14px;
}

.vs-inventory-list td:nth-child(even) {
	min-width: 80px;
	font-weight: 500;
	color: #17181a;
}

.mphb-room-type .flexslider.mphb-flexslider {
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.widget .wpcf7-form p {
	margin-bottom: 15px;
}

.widget .wpcf7-form .wpcf7-form-control[type="submit"]:hover {
	color: #ffffff;
	border-color: #539dc6;
	background-color: #539dc6 !important;
}


.mphb_sc_search-wrapper.is-style-horizontal-white .mphb_sc_search-form > * {
	max-width: calc(100% / 7) !important;
}

/*.mphb-reserve-room-section .mphb-book-button {
	display: none;
}*/

.mphb-reserve-room-section .mphb-book-button:disabled {
	display: none;
}

.vs-team .wp-block-group {
	position: relative;
	/* Чтобы картинка не вылезала за края при увеличении */
	overflow: hidden;
}

.vs-team-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity .3s ease-in-out;
	background-color: rgba(64, 114, 150, .75);
	/* Добавим флекс для центрирования текста внутри, если он там будет */
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.vs-team:hover .vs-team-overlay {
	opacity: 1;
}

.vs-team .wp-block-image {
	overflow: hidden;
	margin: 0; /* Убираем возможные отступы WP */
}

.vs-team img {
	display: block;
	width: 100%;
	height: auto;
	/* Используем transform вместо scale для лучшей поддержки */
	transition: transform .3s ease-in-out;
	backface-visibility: hidden; /* Убирает "дрожание" пикселей */
}

.vs-team:hover img {
	transform: scale(1.1);
}

/* Убираем стандартные точки */
.vs-list,
.vs-list-check,
.vs-list-times {
	list-style-type: none !important;
	padding-left: 0 !important;
}

.vs-list li,
.vs-list-check li,
.vs-list-times li {
	padding-left: 24px;
	position: relative;
}

/* Добавляем свой символ перед каждым пунктом */
.vs-list li::before,
.vs-list-check li::before,
.vs-list-times li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 15px;
	height: 15px;
	margin-right: 10px;
	background-image: url("data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.1667 0.833252L5.00001 9.99992L0.833344 5.83325' stroke='%23407296' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
}

.vs-list-check li::before {
	background-image: url("data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.1667 0.833252L5.00001 9.99992L0.833344 5.83325' stroke='%237B9D87' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.vs-list-times li::before {
	top: 5px;
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 5L5 15' stroke='%23C86A41' stroke-opacity='0.7' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5 5L15 15' stroke='%23C86A41' stroke-opacity='0.7' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.vs-padding-40 {
	padding: 40px;
}

.vs-spacer {
	width: 1px;
	background-color: #E7E2DA;
}


.vs-vertical-slider img {
	margin: auto;
}

.vs-vertical-slider .slick-list {
	overflow: hidden;
}

/* 1. Состояние слайда ПО УМОЛЧАНИЮ (скрыт внизу) */
.vs-vertical-slider .slick-slide {
	opacity: 0 !important;
	transform: translateY(30px); /* Ждет внизу */
	transition: transform 1s, opacity 1s !important;
	z-index: 1;
}

/* 2. НОВЫЙ слайд (выезжает снизу в центр) */
.vs-vertical-slider .slick-current {
	opacity: 1 !important;
	transform: translateY(0) !important;
	z-index: 3; /* Поверх всех */
	transition-delay: 0.5s !important;
}

/* 3. СТАРЫЙ слайд (уезжает из центра наверх) */
.vs-vertical-slider .slick-slide.leaving {
	opacity: 0 !important;
	transform: translateY(-30px) !important; /* Уходит вверх */
	z-index: 2;
}

.card-slider-navigation {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 30px;
}

.card-slider-navigation svg {
	width: 16px;
	height: 16px;
}

.card-slider-navigation .prev-btn,
.card-slider-navigation .next-btn {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	border: 1px solid #e0e0e0 !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: 0.3s !important;
	position: unset !important;
	top: unset !important;
	transform: unset !important;
	color: #1D212B !important;
	font-size: 16px !important;
	padding: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
}

.card-slider-navigation .prev-btn:hover,
.card-slider-navigation .next-btn:hover {
	color: #ffffff !important;
	background: #c86a41 !important;
}


.slider-navigation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 30px;
}

.slider-navigation .prev-btn,
.slider-navigation .next-btn {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	border: 1px solid #e0e0e0 !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: 0.3s !important;
	position: unset !important;
	top: unset !important;
	transform: unset !important;
	color: #1D212B !important;
	font-size: 16px !important;
	padding: 0 !important;
}

.slider-navigation .prev-btn:hover,
.slider-navigation .next-btn:hover {
	background: #f5f5f5 !important;
}

.slider-navigation .slider-counter {
	font-family: sans-serif;
	color: #999;
	font-size: 14px;
}

.vs-adaptive-font {
	font-size: clamp(48px, 6vw, 72px) !important;
}


.receive-recording-form {
	align-items: center;
	justify-content: center;
	display: flex;
	gap: 16px;
}

.receive-recording-form-input {
	width: 220px;
}

.receive-recording-form-input input {
	border-radius: 0;
}


.receive-recording-form-input input::placeholder {
	color: #999;
}

.receive-recording-form-input input:not([type="submit"]) {
	font-size: 16px;
}

.receive-recording-form-input input:not([type="submit"]):focus {
	border: 2px solid #c3c1bd;
}

.receive-recording-form-input:has(input[type="submit"]) {
	position: relative;
}

.receive-recording-form-input input[type="submit"] {
	text-transform: uppercase;
}

.receive-recording-form-input input[type="submit"]:focus {
	outline: 2px solid #e59700;
}

/* Спиннер (иконка загрузки) — делаем его абсолютным */
.receive-recording-form .wpcf7-spinner {
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
}

/* Сообщения об ошибках под полем */
.receive-recording-form .wpcf7-not-valid-tip {
	position: absolute;
	top: 100%; /* Сразу под полем */
	left: 0;
	font-size: 12px;
	line-height: 1.2;
	z-index: 10;
}

/* Общее сообщение об успехе/ошибке (под формой) */
.receive-recording-form .wpcf7-response-output {
	margin: 20px 0 0 0 !important;
	clear: both;
}

@media (width < 768px ) {
	.receive-recording-form {
		flex-direction: column;
	}

	.receive-recording-form-input {
		max-width: 448px;
		width: 100%;
	}

	.receive-recording-form-input input {
		width: 100%;
	}

	/* Спиннер (иконка загрузки) — делаем его абсолютным */
	.receive-recording-form .wpcf7-spinner {
		position: absolute;
		right: 50%;
		top: calc(100% + 10px);
		transform: translate(50%, 0);
	}


}

.register-online-meeting-form label {
	font-size: 14px;
	font-weight: 600;
	display: block;
	width: 100%;
}

.register-online-meeting-form input {
	margin-top: 10px;
	font-size: 16px;
	width: 100%;
	border-radius: 0;
}

.register-online-meeting-form input:not([type="submit"]) {
	padding: 8px 16px;
	background-color: #f8f6f2;
}




.wp-block-getwid-video-popup__caption {
	margin-top: 0;
}

@media (width < 782px) {
	.vs-mobile-reverse{
		flex-direction: column-reverse;
	}
}

@media (min-width: 992px) {
	.weglot-parent-menu-item .sub-menu {
		display: flex !important;
	}
}

.weglot-parent-menu-item .sub-menu.toggled-on {
	display: flex !important;
}

.weglot-parent-menu-item .sub-menu .weglot-lang a {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 60px !important;
	text-align: center;
}

.weglot-parent-menu-item .sub-menu .weglot-lang a:before {
	margin: 0 !important;
}

/*.datepick-nav {
	display: flex;
}

.datepick-nav .datepick-cmd {
	width: auto !important;
}*/

@media (max-width: 767px) {
	.trustpilot {
		margin: 0 auto !important;
		float: none !important;
	}

	.vs-spacer-contact {
		height: 10px !important;
	}

	.vs-spacer {
		height: 75px !important;
	}

	.vs-spacer-dt {
		display: none !important;
	}
}

@media (max-width: 991px) {
	.primary-menu {
		display: flex;
	}

	.primary-menu .button-menu:last-child {
		align-self: center;
	}
}

@media (max-width: 1024px) {

	.mphb_sc_search-form {
		margin: 0 auto;
		align-items: flex-start !important;
		flex-direction: column;
		width: 50%;
	}

	.mphb_sc_search-wrapper.is-style-horizontal-white .mphb_sc_search-form > * {
		max-width: 100% !important;
		width: 100%;
	}

	.vs-destination-block ul {
		width: calc(100% + 2px);
	}

}

@media (max-width: 640px) {
	.mphb_sc_search-form {
		width: 100%;
	}
}
