/* object-page.css — page-specific styles for /[lang]/[objectSlug]
   Hash classes ported VERBATIM from ref/assets/short-styles.css and
   ref/assets/stories.css so the SSR HTML matches the legacy rendered
   output 1:1. Custom .op-* rules cover what only this page needs. */

/* ---- Container + section padding (ref verbatim) ---- */
.blddQn {
	box-sizing: border-box;
	width: 100%;
	max-width: 1300px;
	margin: 0px auto;
	padding: 0px 16px;
}
.OglbD {
	padding: 40px 0px;
	border: none;
}
@media (min-width: 48em) {
	.OglbD {
		padding: 56px 0px;
	}
}
.OglbD:last-child {
	border: none;
}
.cOcTug {
	padding: 40px 0px;
	border-bottom: 1px solid rgb(209, 209, 209);
}
@media (min-width: 48em) {
	.cOcTug {
		padding: 56px 0px;
	}
}
.cOcTug:last-child {
	border: none;
}
.fKKleQ {
	padding: 40px 0px;
	border-top: 1px solid rgb(209, 209, 209);
	border-bottom: 0px;
}
@media (min-width: 48em) {
	.fKKleQ {
		padding: 56px 0px;
	}
}
.fKKleQ:last-child {
	border: none;
}
.iVdEWA {
	margin-bottom: 40px;
}
.iuoxpT {
	margin-bottom: 24px;
}
.LhKTM {
	margin-bottom: 40px;
	font-size: 20px;
}

/* ---- Typography (ref verbatim) ---- */
.kAiHTh {
	font-size: 32px;
	margin-bottom: 0.8em;
	color: rgb(12, 57, 63);
}
@media (min-width: 48em) {
	.kAiHTh {
		font-size: 50px;
	}
}
.iZGFoj {
	font-size: 32px;
	line-height: 1.2;
	margin: 0px 0px 0.8em;
	color: rgb(12, 57, 63);
}
.cXnXzY {
	font-size: 20px;
	line-height: 1.1;
	margin: 0px 0px 0.8em;
	color: rgb(12, 57, 63);
}

/* ---- Region line (ref verbatim) ---- */
.kcLzE {
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	color: rgb(12, 103, 118);
	margin-right: 20px;
}
.kcLzE a {
	color: inherit;
}
.kcLzE .icon {
	color: inherit;
	margin-right: 14px;
	font-size: 24px;
}

/* ---- TagList wrappers (ref verbatim) ---- */
.gnKbpP {
	margin: -4px;
}
.gnKbpP .Tag__TagWrapper-sc-1ou1hh0-0 {
	margin: 4px;
}
.dJcRoX {
	display: flex;
	flex-wrap: wrap;
}
.dJcRoX > .kanZoW {
	margin: 4px;
}

/* ---- Chip (ref verbatim) ---- */
.kanZoW {
	display: inline-flex;
	-webkit-box-align: center;
	align-items: center;
	padding: 12px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1;
	color: rgb(29, 29, 29);
	background-color: rgb(247, 248, 246);
	border-radius: 5px;
}
.kanZoW .icon {
	display: inline-block;
	vertical-align: middle;
	font-size: 24px;
	margin-right: 8px;
}

/* ---- Lazy image base (ref verbatim from short-styles.css lines 3086-3105) ---- */
.ebTyeS {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
.ebTyeS.absolute {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.ebTyeS.lazyloaded {
	opacity: 1;
}
.ebTyeS.lazyload {
	opacity: 0;
}

/* ---- Button base + variants (ref verbatim) ---- */
.iszxbV {
	display: block;
	padding: 1em;
	text-align: center;
	text-transform: uppercase;
	border: 1px solid transparent;
	font-weight: normal;
	letter-spacing: 1px;
	color: rgb(12, 103, 118);
	background-color: rgb(255, 255, 255);
	border-radius: 6px;
	text-decoration: none !important;
}
.iszxbV:hover {
	color: rgb(12, 103, 118);
	text-decoration: none;
	cursor: pointer;
}
.dZXrHm {
	background-color: rgba(255, 255, 255, 0.9);
	transition: background-color 300ms ease-out 0s;
	color: rgb(51, 51, 51) !important;
}
.dZXrHm:hover {
	background-color: white;
}
.fwMxeK {
	background-color: rgba(255, 255, 255, 0.9);
	transition: background-color 300ms ease-out 0s;
	color: rgb(51, 51, 51) !important;
}
.fwMxeK:hover {
	background-color: white;
}

/* ---- Mobile gallery (ref verbatim) ---- */
.dWbeas {
	position: relative;
	width: 100%;
	height: 300px;
	background-color: rgb(51, 51, 51);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
@media (min-width: 768px) {
	.dWbeas {
		padding: 40px;
	}
}
@media (min-width: 768px) {
	.dWbeas {
		height: 600px;
	}
}
.HBWCd {
	position: relative;
	display: flex;
	align-items: flex-end;
	-webkit-box-pack: end;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
}

/* ---- Desktop gallery (ref verbatim; overflow:hidden as a safety net so
       any stray child can't push the 37.777% aspect-ratio box taller) ---- */
.cwXTuK {
	position: relative;
	height: 0px;
	padding-top: 37.777%;
	background-color: rgb(51, 51, 51);
	overflow: hidden;
}
.cwXTuK .LazyImage-sc-1irpqj2-0 {
	pointer-events: none;
	position: absolute;
	left: 0px;
	top: 0px;
}
.gDQxPM {
	display: flex;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}
.gDQxPM .DesktopListingHeader__ActionButton-sc-1s3zqc2-1 {
	position: absolute;
	right: 40px;
	bottom: 40px;
}
.svPGb {
	cursor: pointer;
	position: relative;
	flex: 1 1 0%;
}
.fBIwwk {
	display: flex;
	flex-direction: column;
	width: 33.333%;
	height: 100%;
	border-left: 2px solid white;
}
.eBtaSf {
	cursor: pointer;
	position: relative;
	flex: 1 1 0%;
}
.eBtaSf:first-child {
	border-bottom: 1px solid white;
}
.eBtaSf:last-child {
	border-top: 1px solid white;
}

/* ---- Responsive show/hide for mobile vs desktop gallery (ref verbatim) ---- */
@media (max-width: 47.9375em) {
	.iQRmxk .DesktopListingHeader__DesktopListingHeaderWrapper-sc-1s3zqc2-0 {
		display: none;
	}
}
@media (min-width: 48em) {
	.dfURAR {
		display: none;
	}
}

/* ---- FAQ section (matches legacy .faq-section in short-styles.css line 6469) ---- */
.faq-section {
	padding: 40px 0;
}
@media (min-width: 48em) {
	.faq-section {
		padding: 56px 0;
	}
}
.faq-section h2 {
	margin-bottom: 0.8em;
	font-size: 32px;
	line-height: 1.2;
	color: rgb(12, 57, 63);
}

/* ---- Native <details>/<summary> reset so no marker / no focus ring ---- */
.op-accordion {
	margin-bottom: 0;
}
.op-accordion > summary {
	list-style: none;
	outline: none;
}
.op-accordion > summary:focus,
.op-accordion > summary:focus-visible {
	outline: none;
}
.op-accordion > summary::-webkit-details-marker,
.op-accordion > summary::marker {
	display: none;
	content: '';
}

/* ---- Accordion bar (ref verbatim from short-styles.css .accordion) ---- */
.accordion {
	font-size: 20px;
	padding: 15px 10px;
	background-color: rgb(247, 248, 246);
	border-radius: 2px;
	margin-bottom: 10px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.accordion p {
	margin: 0;
}
.accordion img.accordion-arrow {
	transition: 0.2s ease-in-out;
	width: 32px;
	height: 32px;
	transform: rotateZ(0deg);
}
.op-accordion[open] .accordion img.accordion-arrow {
	transform: rotateZ(180deg);
}

/* ---- Accordion content (ref-derived; <details> handles open/close natively) ---- */
.accordion-content {
	overflow: hidden;
	padding: 0 10px;
	color: rgb(73, 73, 72);
	line-height: 1.6;
}
.op-accordion[open] .accordion-content {
	padding: 8px 10px 16px;
}

/* ---- Stories strip (ref verbatim from stories.css) ---- */
.stories {
	width: 100%;
	height: 140px;
	text-align: center;
	padding: 20px;
	white-space: nowrap;
	overflow: scroll;
	overflow-y: hidden;
}
.stories.short {
	/* placeholder so the class stays applied as in legacy */
}
.stories::-webkit-scrollbar {
	display: none;
}
.story-wrapper {
	display: inline-block;
	margin-right: 40px;
}
.story-name {
	margin-top: 5px;
}
.story {
	border: 4px solid lightpink;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	cursor: pointer;
	margin: 0 auto;
}
.story img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* ---- Description container (ref-ish) ---- */
.house-description-title {
	font-size: 20px;
	line-height: 1.1;
	margin: 0 0 0.4em;
	color: rgb(12, 57, 63);
}
.house-description {
	font-size: 16px;
	line-height: 1.6;
	color: rgb(73, 73, 72);
	display: block;
}

/* ---- Hidden DOM gallery: bot sees every photo URL, user doesn't ---- */
.op-gallery-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	padding: 0;
	margin: -1px;
}

/* Legacy Location-section spacing (ref/assets/short-styles.css:3928-3934) */
.views-wrapper {
	display: block !important;
}

.mapbox-map-wrapper {
	margin-top: 20px;
}

/* Legacy map-container size (ref/assets/short-styles.css:4509) */
.cImxFy {
	width: 100%;
	height: 576px;
}

/* === Gallery overlay (legacy port: ref/assets/index.css :970-1148) === */
@media screen and (min-width: 1000px) {
	.item__gallery {
		position: fixed;
		width: 100vw;
		height: 100vh;
		top: 0px;
		background-color: rgba(0, 0, 0, 0.5);
		backdrop-filter: blur(2px);
		z-index: 999;
		display: none;
	}

	.item__gallery.active {
		display: block;
	}

	.item__gallery__container {
		display: flex;
		position: relative;
		transform: translate(calc(50vw - 50%), calc(25% - 100px));
		width: max-content;
	}

	#closeGallery {
		position: absolute;
		font-size: 30px;
		color: aliceblue;
		right: -50px;
		top: -50px;
		width: 50px;
		cursor: pointer;
	}

	.item__gallery__main {
		position: relative;
		background-color: #000;
	}

	.item__gallery__slider {
		display: flex;
		flex-direction: column;
		max-height: 600px;
		overflow: hidden;
		width: 150px;
	}

	.slider__image {
		width: 150px;
		height: 120px !important;
		cursor: pointer;
	}

	.slider__image:hover {
		border: 1px solid black;
	}

	.main__img {
		max-width: 800px;
		width: 100%;
		height: 600px;

		object-fit: contain;
	}

	.gallery__button__prev,
	.gallery__button__next {
		border: none;
		outline: none;
		font-size: 50px;
		text-align: center;
	}

	.gallery__button__prev {
		background-color: rgba(0, 0, 0, 0.5);
		width: 50px;
		height: 80px;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		color: white;
	}

	.gallery__button__next {
		background-color: rgba(0, 0, 0, 0.5);
		width: 50px;
		height: 80px;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%) rotate(180deg);
		color: white;
	}

	.item__gallerymob {
		display: none;
	}
}

@media screen and (max-width: 999px) {
	.item__gallerymob {
		position: fixed;
		width: calc(100%);
		padding: 20px 30px;
		top: 0px;
		background-color: #fff;
		left: 0px;
		z-index: 998;
		display: none;
		height: calc(100vh - 97.25px);
		/* Высота экрана минус высота заголовка */
		overflow-y: auto;
	}

	.item__gallerymob.active {
		display: block;
	}

	.item__gallery__containermob {
		display: flex;
		flex-direction: column;
		position: relative;
	}

	#closeGallerymob {
		height: 70px;

		z-index: 999;
		font-size: 30px;
		color: #000;
		background-color: white;
		text-align: right;
		left: 0px;
		top: 0px;
		cursor: pointer;
	}

	#closeGallerymob img {
		width: 50px;
	}

	.item__gallery__mainmob {
		position: relative;
	}

	.item__gallery__slidermob {
		width: 100%;
		display: flex;
		gap: 10px;
		flex-direction: column;
		overflow-y: scroll;
	}

	.slider__imagemob {
		width: 100%;

		cursor: pointer;
	}

	.item__gallery {
		display: none;
	}
}

/* ────────────────────────────────────────────────────────────
   BOOKING FORM (v0.14) — verbatim port of ref booking-form CSS.
   Sources: ref/assets/index.css (whatsapp/telegram + sidebar item__check__*),
            ref/assets/short-styles.css (hashed booking-form classes + sidebar
            wrapper + redirect-info + mobile action bar).
   Page-specific: linked only on object pages.
   ──────────────────────────────────────────────────────────── */

/* index.css :1-33 — whatsapp/telegram description + form_privacy */
.whatsapp-description,
.telegram-description {
	display: inline-block;
	margin-top: 20px;
}

.item__check__whatsapp img,
.item__check__telegram img {
	width: 30px;
}

#sidebar-popup {
	position: fixed;
	top: 100px;
}

.form_privacy {
	margin-top: 16px;
}

.form_privacy a {
	text-decoration: none !important;
	color: #229fe6;
	cursor: pointer;
}

.form_privacy a:hover {
	color: #8e71c0;
}

/* short-styles.css :3076-3085 — invisible button reset (used by closeFormShort) */
.iNpHkU {
	appearance: none;
	background: none;
	border: none;
	padding: 0px;
	margin: 0px;
}
.iNpHkU:focus {
	outline: 0px;
}

/* short-styles.css :4265-4364 — booking form wrapper + price header + footnote + redirect-info */
.fpAQAP .DateRangePicker,
.fpAQAP .SingleDatePicker {
	width: 100%;
}
.khigty {
	overflow: hidden;
	position: relative;
	padding: 32px 24px;
	background-color: rgb(247, 248, 246);
	border-radius: 6px;
}
.form-back-btn {
	background-image: url(/assets/img/back-icon.png);
	position: absolute;
	top: 55px;
	right: 24px;
	width: 32px;
	height: 32px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-color: transparent;
	border: none;
	outline: none;
	visibility: hidden;
}
.form-back-btn.active {
	visibility: visible;
}
#booking-form.active {
	transform: translateX(-200%);
	transition: 0.2s ease;
}
.redirect-info {
	display: none;
	margin-top: 60px;
	transition: 0.2s ease;
	transform: translateX(200%);
}
.redirect-info.active {
	transform: translateX(0);
}
.redirect-info h2 {
	font-size: 32px;
}
.redirect-info p {
	margin-top: 20px;
	font-size: 20px;
}
.redirect-info button {
	margin-top: 20px;
	border: none;
	outline: none;
	background-color: rgb(12, 103, 118);
	color: white;
	padding: 16px;
	border-radius: 6px;
	font-size: 16px;
}
.khigty .DateRangePicker {
	width: 100%;
	margin-bottom: 8px;
}
.khigty .SingleDatePicker {
	margin-bottom: 16px;
}
.khigty .DateRangePickerInput,
.khigty .SingleDatePickerInput {
	width: 100%;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	justify-content: space-between;
	padding: 5px 0px;
	border-color: rgb(213, 213, 213);
}
.khigty .Button-sc-fazogu-0 {
	width: 100%;
	margin-top: 24px;
}
.imUXtQ {
	color: rgb(12, 57, 63);
	font-size: 50px;
}
.imUXtQ strong {
	font-weight: 500;
	margin-right: 8px;
}
.imUXtQ small {
	font-size: 0.4em;
}
.bBEHzM {
	width: 100%;
	margin-top: 16px;
	color: rgb(73, 73, 72);
	font-size: 14px;
	font-weight: 300;
	text-align: center;
}

/* CTA button gNPIaZ — verbatim from ref/assets/footer.css :470-483 and
   ref/assets/main-page-styles.css :3304 (the REAL CTA used live).
   The short-styles.css duplicate (teal text on pink) is the wrong variant. */
.gNPIaZ {
	display: block;
	padding: 1em;
	text-align: center;
	text-transform: inherit;
	border: 1px solid transparent;
	font-weight: normal;
	letter-spacing: 1px;
	color: white;
	background-color: rgb(12, 103, 118);
	border-radius: 6px;
	text-decoration: none !important;
}
.gNPIaZ:hover {
	color: white;
	text-decoration: none;
	cursor: pointer;
}

/* short-styles.css :3827-3906 — Mobile action bar */
.DzYMW {
	visibility: hidden;
	width: 100%;
	bottom: 0;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	padding: 16px;
	color: rgb(12, 57, 63);
	background-color: rgb(247, 248, 246);
	z-index: 8;
}
.ThcRH {
	flex: 1 1 0%;
}
.bclvAJ {
	display: flex;
	flex-direction: row;
	-webkit-box-align: baseline;
	align-items: baseline;
}
.bclvAJ strong {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	color: rgb(12, 103, 118);
}
.bclvAJ small {
	font-size: 14px;
	color: rgb(118, 118, 118);
	margin: 0px 4px;
	font-weight: 400;
	line-height: 1.4;
}
.gRNdHl {
	display: flex;
}
.gRNdHl .Button-sc-fazogu-0 {
	padding: 12px 16px;
	border: 1px solid rgb(12, 103, 118);
}
.gRNdHl .Button-sc-fazogu-0,
.gRNdHl .MobileActionBar__IconButton-sc-kcejtd-3 {
	min-width: 52px;
	margin-right: 8px;
}
.gRNdHl .Button-sc-fazogu-0:last-child,
.gRNdHl .MobileActionBar__IconButton-sc-kcejtd-3:last-child {
	margin-right: 0px;
}
.iQRmxk .MobileActionBar__MobileActionBarWrapper-sc-kcejtd-0 {
	position: fixed;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 97.25px;
	box-shadow: rgba(0, 0, 0, 0.12) 0px 0px 10px 0px;
}
@media (min-width: 62em) {
	.iQRmxk .MobileActionBar__MobileActionBarWrapper-sc-kcejtd-0 {
		display: none;
	}
}
@media (max-width: 1000px) {
	.DzYMW {
		visibility: visible;
		position: fixed;
		bottom: 0;
		width: 100%;
	}
	.form-back-btn {
		top: 20px;
		right: 50px;
	}
}

/* short-styles.css :4684-4737 — Sidebar dnRBpv + close button */
.gGZpnQ {
	color: rgb(12, 57, 63);
	padding: 24px;
}
.gGZpnQ svg {
	width: 24px;
	height: 24px;
}
@media screen and (min-width: 1000px) {
	.dnRBpv {
		transition: transform 300ms ease-out 0s;
		position: sticky !important;
		top: 10px;
	}
}
@media (max-width: 61.9375em) {
	.dnRBpv {
		position: fixed;
		overflow: scroll;
		left: 0px;
		top: 0px;
		width: 100%;
		height: 100%;
		z-index: 11;
		padding-bottom: 80px;
		display: none;
		background-color: rgb(247, 248, 246);
	}
	.dnRBpv.show-on-mobile {
		display: block;
	}
}
.dnRBpv.is-sticky {
	padding-top: 20px;
}
.dnRBpv .listing__CloseButton-sc-zd7bpe-1 {
	position: absolute;
	top: 0px;
	right: 0px;
}
@media (min-width: 62em) {
	.dnRBpv {
		padding-top: 56px;
		padding-bottom: 56px;
	}
	.dnRBpv .BookingForm__BookingFormWrapper-sc-1y51g4h-0 {
		max-width: 344px;
		margin-left: auto;
	}
	.dnRBpv .listing__CloseButton-sc-zd7bpe-1 {
		display: none;
	}
}

/* index.css :1154-1448 — desktop ≥1000px booking form inner controls */
@media screen and (min-width: 1000px) {
	.item__check__calend {
		border: 1px solid #000;
		border-radius: 10px;
		padding: 10px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.item__check__calend p {
		margin: 0;
		color: #454545;
	}
	.item__check__calend input {
		border: none;
	}
	.item__check__calend input:focus,
	.item__check__calend input:hover {
		border: none;
		outline: none;
	}
	.item__check__end {
		text-align: right;
	}
	.item__check__count {
		width: 100%;
		border: 1px solid #000;
		border-radius: 10px;
		padding: 10px 20px;
		position: relative;
		cursor: pointer;
	}
	.item__check__count.active {
		border-radius: 10px 10px 0px 0px;
	}
	.item__check__count__menu {
		display: none;
	}
	.item__check__count__menu.active {
		display: block;
		position: absolute;
		top: 42px;
		left: -1px;
		background-color: #fff;
		width: calc(100% + 2px);
		padding: 10px 20px;
		border: 1px solid #000;
		z-index: 1;
		border-top: none;
		border-radius: 0px 0px 20px 20px;
	}
	.item__check__count__adult {
		display: flex;
		justify-content: space-between;
	}
	.item__check__count__adult__func {
		display: flex;
		gap: 10px;
		align-items: center;
	}
	.item__check__count__adult__func p {
		margin: 0;
	}
	#incr,
	#decr {
		color: #fff;
		background-color: rgb(12, 103, 118);
		font-size: 20px;
		width: 32px;
		height: 32px;
		text-align: center;
		line-height: 1.65;
		border-radius: 50%;
		cursor: pointer;
		user-select: none;
	}
	.item__check__count__undertext {
		color: #8b8b8b;
	}
	.item__check__count__chlid {
		display: flex;
		justify-content: space-between;
	}
	.item__check__count__chlid__func {
		display: flex;
		gap: 10px;
		align-items: center;
	}
	.item__check__count__chlid__func p {
		margin: 0;
	}
	#incrChild,
	#decrChild {
		color: #fff;
		background-color: rgb(12, 103, 118);
		font-size: 20px;
		width: 32px;
		height: 32px;
		text-align: center;
		line-height: 1.65;
		border-radius: 50%;
		cursor: pointer;
		user-select: none;
	}
	.item__check__count__close {
		color: rgb(12, 103, 118);
		font-weight: 400;
		font-size: 20px;
		text-align: end;
		cursor: pointer;
	}
	.item__check__price__short {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 10px;
	}
	.price__total__numb,
	.price__back__numb,
	.price__onlive__numb {
		font-weight: 500;
	}
	.item__check__price__point {
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	.item__check__number {
		width: 100%;
		border: 1px solid #000;
		border-radius: 10px;
		margin-top: 10px;
		padding: 10px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.item__check__number input {
		width: 100%;
		border: none;
		outline: none;
		background-color: rgb(247, 248, 246);
	}
	#itemPriceInfo {
		cursor: pointer;
	}
	.item__check__popup__info {
		position: fixed;
		background-color: #fff;
		padding: 5px 10px;
		border: 1px solid #000;
		border-radius: 15px;
		z-index: 999;
		transform: translateX(20vw);
		opacity: 0;
		transition: all 0.1s ease;
	}
	.item__check__popup__info.show {
		transform: translateX(0);
		opacity: 1;
	}
}

/* index.css :1450-1758 — mobile ≤999px booking form inner controls */
@media screen and (max-width: 999px) {
	.item__check__calend {
		border: 1px solid #000;
		border-radius: 10px;
		padding: 10px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.item__check__calend p {
		margin: 0;
		color: #454545;
	}
	.item__check__calend input {
		border: none;
		width: 100%;
	}
	.item__check__calend input:focus,
	.item__check__calend input:hover {
		border: none;
		outline: none;
	}
	.item__check__end {
		text-align: right;
	}
	.item__check__count {
		width: 100%;
		border: 1px solid #000;
		border-radius: 10px;
		padding: 10px 20px;
		position: relative;
		cursor: pointer;
	}
	.item__check__count.active {
		border-bottom: none;
		border-radius: 10px 10px 0px 0px;
	}
	.item__check__count__menu {
		display: none;
	}
	.item__check__count__menu.active {
		display: block;
		position: absolute;
		top: 42px;
		left: -1px;
		background-color: #fff;
		z-index: 12;
		width: calc(100% + 2px);
		padding: 10px 20px;
		border: 1px solid #000;
		border-top: none;
		border-radius: 0px 0px 20px 20px;
	}
	.item__check__count__adult {
		display: flex;
		justify-content: space-between;
	}
	.item__check__count__adult__func {
		display: flex;
		gap: 10px;
		align-items: center;
	}
	.item__check__count__adult__func p {
		margin: 0;
	}
	#incr,
	#decr {
		color: #fff;
		background-color: rgb(12, 103, 118);
		font-size: 20px;
		width: 32px;
		height: 32px;
		text-align: center;
		line-height: 1.65;
		border-radius: 50%;
		cursor: pointer;
		user-select: none;
	}
	.item__check__count__undertext {
		color: #8b8b8b;
	}
	.item__check__count__chlid {
		display: flex;
		justify-content: space-between;
	}
	.item__check__count__chlid__func {
		display: flex;
		gap: 10px;
		align-items: center;
	}
	.item__check__count__chlid__func p {
		margin: 0;
	}
	#incrChild,
	#decrChild {
		color: #fff;
		background-color: rgb(12, 103, 118);
		font-size: 20px;
		width: 32px;
		height: 32px;
		text-align: center;
		line-height: 1.65;
		border-radius: 50%;
		cursor: pointer;
		user-select: none;
	}
	.item__check__count__close {
		color: rgb(12, 103, 118);
		font-weight: 400;
		font-size: 20px;
		text-align: end;
		cursor: pointer;
	}
	.item__check__price__short {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 10px;
	}
	.price__total__numb,
	.price__back__numb,
	.price__onlive__numb {
		font-weight: 500;
	}
	.item__check__price__point {
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	.item__check__number {
		width: 100%;
		border: 1px solid #000;
		border-radius: 10px;
		margin-top: 10px;
		padding: 10px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.item__check__number input {
		width: 100%;
		border: none;
		outline: none;
		background-color: rgb(247, 248, 246);
	}
	#itemPriceInfo {
		cursor: pointer;
	}
	.item__check__popup__info {
		position: fixed;
		background-color: #fff;
		padding: 5px 10px;
		border: 1px solid #000;
		border-radius: 15px;
		z-index: -1;
		transform: translateX(20vw);
		opacity: 0;
		transition: all 0.1s ease;
	}
	.item__check__popup__info.show {
		transform: translateX(0);
		opacity: 1;
		z-index: 12;
	}
}

/* v0.14 FIX 3 — single-language object support for the language switcher.
   ObjectPageView SSR injects window.__ALT_LANGS__ = { lang: cleanUrl }.
   Global lang.js greys items whose data-lang is not a key in that map.
   Object-only stylesheet — harmless elsewhere. */
.lang__change__item.lang-disabled {
	opacity: 0.4;
	pointer-events: none;
	cursor: default;
}
