/* Shared phone and iPhone adaptations for all public booking components. */
@media (max-width: 768px) {
	.lodet-cabinet-main { padding-bottom: 12px !important; }
	.lodet-cabinet-main .cwb-flat-wrapper { margin-bottom: 0; }
	.lodet-cabinet-main .cwb-flat-content { padding-bottom: 16px; }
}
.cwb-grid-switch { display: none; }
@media (max-width: 768px) {
	.lodet-rooms-main { padding-top: 12px !important; }
	.lodet-home-room-catalog { margin-top: 12px !important; }
	.lodet-home-room-catalog .cwb-floor-tabs-container { margin-bottom: 8px; }
	.lodet-home-room-catalog .cwb-grid-switch { display: flex; justify-content: flex-end; gap: 6px; margin-bottom: 12px; }
	.cwb-grid-switch button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; color: #64748b; cursor: pointer; }
	.cwb-grid-switch button[aria-pressed="true"] { background: #f3edff; border-color: #6c39ed; color: #6c39ed; }
	.cwb-grid-switch button:focus-visible { outline: 2px solid #6c39ed; outline-offset: 2px; }
	.lodet-home-room-catalog .cwb-rooms-grid.is-single-column { grid-template-columns: minmax(0, 1fr); }
}
.cwb-rooms-grid,
#cwb-booking-page-wrapper,
.cwb-pro-cart,
.cwb-flat-wrapper {
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 768px) {
	.cwb-rooms-grid {
		gap: 16px;
	}

	.cwb-room-card {
		position: relative;
		border-radius: 14px;
	}

	.cwb-room-card:hover {
		transform: none;
		box-shadow: none;
	}

	.cwb-gallery-dots {
		position: absolute;
		z-index: 2;
		bottom: 8px;
		left: 50%;
		display: flex;
		gap: 4px;
		transform: translateX(-50%);
	}

	.cwb-gallery-dot {
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.65);
		box-shadow: 0 1px 2px rgba(15, 23, 42, 0.35);
	}

	.cwb-gallery-dot.is-active {
		background: #ffffff;
		transform: scale(1.25);
	}

	.cwb-room-content {
		padding: 12px;
	}

	.cwb-room-header-row {
		gap: 6px;
		margin-bottom: 7px;
	}

	.cwb-room-title {
		font-size: 12px;
		line-height: 1.15;
		color: #6c39ed;
		background: #f3edff;
	}

	.cwb-room-floor-label {
		position: absolute;
		top: 8px;
		left: 8px;
		z-index: 3;
		padding: 4px 6px;
		border-radius: 6px;
		background: rgba(255, 255, 255, 0.92);
		color: #6c39ed;
		font-size: 11px;
		line-height: 1;
		box-shadow: 0 1px 4px rgba(15, 23, 42, 0.14);
	}

	.cwb-room-desc {
		display: -webkit-box;
		margin-bottom: 10px;
		overflow: hidden;
		font-size: 12px;
		line-height: 1.35;
		min-height: 4.05em;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.cwb-room-tags {
		gap: 4px;
		margin-bottom: 10px;
	}

	.cwb-room-tag {
		padding: 4px 6px;
		font-size: 10px;
	}

	.cwb-room-bottom {
		gap: 10px;
		margin-top: auto;
	}

	.cwb-room-amenities {
		gap: 6px;
		font-size: 11px;
	}

	.cwb-room-info-link .cwb-room-amenities {
		padding-bottom: 10px;
	}

	.cwb-room-amenities svg {
		width: 14px;
		height: 14px;
	}

	.cwb-room-select-btn,
	.cwb-gallery-btn {
		min-height: 40px;
		touch-action: manipulation;
	}

	.cwb-room-select-btn {
		padding: 8px 6px;
		font-size: 12px;
		scroll-margin-bottom: 16px;
	}

	.cwb-gallery-btn {
		width: 44px;
		height: 44px;
	}

	.cwb-gallery-prev {
		left: 8px;
	}

	.cwb-gallery-next {
		right: 8px;
	}

	.cwb-floor-tabs-container.cwb-floor-tabs-sticky {
		top: var(--cwb-floor-sticky-top, 0px);
		margin-right: 0;
		margin-left: 0;
	}
}

@media (max-width: 600px) {
	#cwb-modal-overlay,
	.cwb-modal-overlay,
	.cwb-cart-reminder {
		padding-right: max(12px, env(safe-area-inset-right, 0px));
		padding-left: max(12px, env(safe-area-inset-left, 0px));
	}

	#cwb-modal {
		width: calc(100% - 24px);
		max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px)) !important;
		border-radius: 16px;
	}

	#cwb-booking-page-wrapper {
		width: 100%;
		padding-bottom: 0 !important;
	}

	#cwb-booking-page-wrapper.has-selection {
		padding-bottom: 0 !important;
	}

	#cwb-booking-page-wrapper.has-selection.has-expanded-selection-sheet {
		padding-bottom: var(--cwb-selection-sheet-space, 0px) !important;
	}

	#cwb-booking-page-wrapper #cwb-modal {
		max-height: none !important;
		overflow: visible !important;
	}

	#cwb-booking-page-wrapper #cwb-modal-header {
		display: flex;
		position: relative;
		/* min-height: 68px; */
		min-height: 60px;
		align-items: center;
		justify-content: center;
		/* padding: 10px 16px 12px !important; */
		padding: 8px 16px!important;
	}

	#cwb-booking-page-wrapper #cwb-modal-title {
		min-width: 0;
		width: calc(100% - 116px);
		font-size: clamp(18px, 5vw, 20px) !important;
		line-height: 1.15;
		letter-spacing: -0.02em;
		text-align: center;
		overflow-wrap: anywhere;
	}

	#cwb-booking-page-wrapper .cwb-back-btn {
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 16px;
		transform: translateY(-50%);
		/* width: 44px;
		height: 44px; */
		width: 35px;
		height: 35px;
		justify-content: center;
		padding: 0 !important;
		font-size: 0 !important;
		border-radius: 12px;
	}

	#cwb-booking-page-wrapper .cwb-back-btn svg {
		width: 20px;
		height: 20px;
	}

	#cwb-booking-page-wrapper .cwb-step {
		padding: 16px !important;
	}

	#cwb-booking-page-wrapper .cwb-step-header-fixed {
		margin-bottom: 14px !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer {
		position: fixed !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 950;
		width: 100% !important;
		max-height: calc(100vh - 88px);
		max-height: calc(100dvh - 88px - env(safe-area-inset-top, 0px));
		margin: 0 !important;
		padding: 16px !important;
		overflow-y: auto;
		border: 1px solid #e2e8f0 !important;
		border-radius: 20px !important;
		background: #ffffff !important;
		box-shadow: 0 -10px 35px rgba(15, 23, 42, 0.16) !important;
		animation: cwb-bottom-sheet-slide-up 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		transition: max-height 0.3s ease, padding 0.3s ease, border-radius 0.3s ease;
		will-change: transform;
	}

	#cwb-booking-page-wrapper #cwb-summary-toggle {
		position: relative;
		width: 100%;
		min-height: 44px;
		padding: 10px 0 0;
		border: 0;
		background: transparent;
		touch-action: manipulation;
	}

	#cwb-booking-page-wrapper #cwb-booking-summary {
		transition: margin 0.28s ease;
	}

	#cwb-booking-page-wrapper #cwb-summary-details {
		transition: max-height 0.28s ease, margin 0.28s ease, padding 0.28s ease, opacity 0.2s ease, transform 0.28s ease;
	}

	#cwb-booking-page-wrapper #cwb-add-to-cart-btn {
		overflow: hidden;
		transition: height 0.28s ease, min-height 0.28s ease, margin 0.28s ease, padding 0.28s ease, opacity 0.2s ease, transform 0.28s ease !important;
	}

	#cwb-booking-page-wrapper #cwb-summary-toggle::before {
		position: absolute;
		top: 0;
		left: 50%;
		width: 44px;
		height: 4px;
		border-radius: 999px;
		background: #cbd5e1;
		content: '';
		transform: translateX(-50%);
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed {
		max-height: 64px;
		padding: 6px 16px !important;
		border-radius: 18px !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-details,
	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-add-to-cart-btn {
		max-height: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		opacity: 0;
		pointer-events: none;
		transform: translateY(8px);
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-details {
		border-top-width: 0;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-add-to-cart-btn {
		height: 0 !important;
		min-height: 0 !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-booking-summary,
	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-toggle {
		margin-bottom: 0 !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-toggle {
		justify-content: center;
	}

	#cwb-booking-page-wrapper #cwb-summary-chevron {
		display: none !important;
	}

	#cwb-booking-page-wrapper .cwb-wizard-next-btn {
		height: 54px !important;
		min-height: 54px;
		margin-top: 16px !important;
		padding: 0 16px !important;
		font-size: 15px !important;
		border-radius: 13px !important;
	}

	#cwb-booking-page-wrapper .cwb-input,
	#cwb-booking-page-wrapper input,
	#cwb-booking-page-wrapper select,
	#cwb-booking-page-wrapper textarea,
	.cwb-flat-wrapper input,
	.cwb-flat-wrapper select,
	.cwb-flat-wrapper textarea,
	.cwb-pro-cart input,
	.cwb-pro-cart select,
	.cwb-pro-cart textarea {
		font-size: 16px !important;
	}

	.cwb-flat-wrapper {
		min-height: 0;
		margin: 8px auto 28px;
	}

	.cwb-flat-auth-header {
		padding: 20px 18px 0;
	}

	.cwb-flat-auth-body {
		padding: 22px 18px;
	}

	.cwb-flat-header {
		gap: 12px;
		margin-bottom: 14px;
		padding-bottom: 16px;
	}

	.cwb-fh-user {
		max-width: 100%;
		gap: 11px;
	}

	.cwb-fh-avatar {
		width: 44px;
		height: 44px;
	}

	.cwb-fh-name {
		font-size: 18px;
	}

	.cwb-fh-email {
		max-width: calc(100vw - 100px);
		overflow: hidden;
		font-size: 13px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.cwb-flat-nav {
		gap: 18px;
		margin-bottom: 20px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.cwb-flat-nav::-webkit-scrollbar {
		display: none;
	}

	.cwb-flat-dashboard .cwb-flat-header {
		gap: 16px;
		margin-bottom: 0;
		padding: 24px 20px;
	}

	.cwb-flat-dashboard .cwb-flat-nav {
		gap: 20px;
		margin-bottom: 0;
	}

	.cwb-nav-item {
		min-height: 44px;
		flex: 0 0 auto;
		padding-bottom: 9px;
		white-space: nowrap;
	}

	.cwb-orders-filters {
		flex-flow: row nowrap;
		gap: 4px;
		margin-bottom: 18px;
		overflow-x: auto;
	}

	.cwb-filter-btn {
		min-height: 42px;
		flex: 0 0 auto;
		padding: 8px 12px;
		white-space: nowrap;
	}

	.cwb-flat-order-card {
		gap: 12px;
		padding: 16px;
	}

	.cwb-foc-title {
		font-size: 16px;
	}

	.cwb-foc-price {
		font-size: 18px;
	}

	.cwb-form-grid-row {
		gap: 14px;
		margin-bottom: 14px;
	}

	.cwb-flat-input,
	.cwb-auth-input {
		min-height: 46px;
	}

	.cwb-modal-box {
		width: calc(100% - 24px);
		max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
		padding: 28px 18px max(22px, env(safe-area-inset-bottom, 0px));
		overflow-y: auto;
		border-radius: 18px;
	}

	#cwb-policy-overlay {
		padding: max(12px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) max(12px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
	}

	#cwb-policy-overlay .cwb-modal-content {
		width: 100%;
		max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
		padding: 26px 18px 20px;
		overflow-y: auto;
		border-radius: 18px;
		-webkit-overflow-scrolling: touch;
	}

	.cwb-lightbox-overlay,
	#cwb-lightbox {
		height: 100dvh;
	}

	.cwb-lightbox-top-bar {
		padding-top: max(14px, env(safe-area-inset-top, 0px));
		padding-right: max(16px, env(safe-area-inset-right, 0px));
		padding-left: max(16px, env(safe-area-inset-left, 0px));
	}

	.cwb-lightbox-content {
		padding: max(58px, env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-right, 0px)) max(58px, env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));
	}

	.cwb-auth-btn,
	.cwb-btn-cancel-order,
	.cwb-btn-pay-order,
	.cwb-flat-form-footer button,
	.cwb-order-footer button {
		min-height: 44px;
		touch-action: manipulation;
	}

	.cwb-flat-form-footer,
	.cwb-order-footer,
	.cwb-btn-group {
		flex-wrap: wrap;
	}

	#cwb-profile-msg {
		width: 100%;
		margin: 4px 0 0;
	}

	.cwb-modal-icon {
		width: 60px;
		height: 60px;
		margin-bottom: 14px;
	}

	.cwb-modal-title {
		font-size: 21px;
	}

	.cwb-modal-text {
		margin-bottom: 22px;
		font-size: 15px;
	}

	.cwb-cart-reminder {
		padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
	}

	.cwb-cart-reminder__dialog {
		max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
		overflow-y: auto;
	}
}

@media (hover: none) and (pointer: coarse) {
	#cwb-modal input,
	#cwb-modal select,
	#cwb-modal textarea,
	.cwb-flat-wrapper input,
	.cwb-flat-wrapper select,
	.cwb-flat-wrapper textarea,
	.cwb-pro-cart input,
	.cwb-pro-cart select,
	.cwb-pro-cart textarea {
		font-size: 16px !important;
	}
}

@media (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
	#cwb-modal,
	.cwb-modal-box,
	#cwb-policy-overlay .cwb-modal-content {
		max-height: calc(100dvh - 20px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
		overflow-y: auto !important;
	}

	#cwb-booking-page-wrapper {
		padding-bottom: 0 !important;
	}

	#cwb-booking-page-wrapper #cwb-modal {
		max-height: none !important;
		overflow: visible !important;
	}

	#cwb-booking-page-wrapper #cwb-modal-header,
	#cwb-booking-page-wrapper .cwb-step {
		padding: 16px !important;
	}

	#cwb-booking-page-wrapper #cwb-modal-title {
		font-size: 20px !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer {
		position: fixed !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 950;
		width: 100% !important;
		max-height: calc(100vh - 72px);
		max-height: calc(100dvh - 72px - env(safe-area-inset-top, 0px));
		margin: 0 !important;
		padding: 16px !important;
		overflow-y: auto;
		border: 1px solid #e2e8f0 !important;
		border-radius: 20px !important;
		background: #ffffff !important;
		box-shadow: 0 -10px 35px rgba(15, 23, 42, 0.16) !important;
		animation: cwb-bottom-sheet-slide-up 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		transition: max-height 0.3s ease, padding 0.3s ease, border-radius 0.3s ease;
		will-change: transform;
	}

	#cwb-booking-page-wrapper #cwb-summary-toggle {
		position: relative;
		width: 100%;
		min-height: 44px;
		padding: 10px 0 0;
		border: 0;
		background: transparent;
		touch-action: manipulation;
	}

	#cwb-booking-page-wrapper #cwb-booking-summary {
		transition: margin 0.28s ease;
	}

	#cwb-booking-page-wrapper #cwb-summary-details {
		transition: max-height 0.28s ease, margin 0.28s ease, padding 0.28s ease, opacity 0.2s ease, transform 0.28s ease;
	}

	#cwb-booking-page-wrapper #cwb-add-to-cart-btn {
		overflow: hidden;
		transition: height 0.28s ease, min-height 0.28s ease, margin 0.28s ease, padding 0.28s ease, opacity 0.2s ease, transform 0.28s ease !important;
	}

	#cwb-booking-page-wrapper #cwb-summary-toggle::before {
		position: absolute;
		top: 0;
		left: 50%;
		width: 44px;
		height: 4px;
		border-radius: 999px;
		background: #cbd5e1;
		content: '';
		transform: translateX(-50%);
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed {
		max-height: 64px;
		padding: 6px 16px !important;
		border-radius: 18px !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-details,
	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-add-to-cart-btn {
		max-height: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		opacity: 0;
		pointer-events: none;
		transform: translateY(8px);
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-details {
		border-top-width: 0;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-add-to-cart-btn {
		height: 0 !important;
		min-height: 0 !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-booking-summary,
	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-toggle {
		margin-bottom: 0 !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-toggle {
		justify-content: center;
	}

	.cwb-flat-wrapper {
		margin-top: 12px;
		margin-bottom: 24px;
	}
}

@media (max-width: 600px), (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
	#cwb-booking-page-wrapper .cwb-step-footer {
		right: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		border-radius: 0 !important;
		transform-origin: right bottom;
		transition: width 0.56s cubic-bezier(0.22, 1, 0.36, 1), max-height 0.56s cubic-bezier(0.22, 1, 0.36, 1), padding 0.48s ease, border-radius 0.56s ease, box-shadow 0.48s ease;
	}

	#cwb-booking-page-wrapper .cwb-summary-cart-icon {
		display: none;
	}

	#cwb-booking-page-wrapper .cwb-summary-collapse-hint {
		display: inline-flex;
		min-height: 34px;
		align-items: center;
		justify-content: center;
		gap: 5px;
		padding: 7px 10px;
		border-radius: 999px;
		color: #6c39ed;
		background: #f3edfe;
		font-size: 12px;
		font-weight: 700;
		line-height: 1;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed {
		right: max(12px, env(safe-area-inset-right, 0px)) !important;
		bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
		left: auto !important;
		width: 60px !important;
		height: 60px;
		min-height: 60px;
		max-height: 60px;
		padding: 0 !important;
		overflow: visible;
		isolation: isolate;
		border-color: transparent !important;
		border-radius: 999px !important;
		background: linear-gradient(135deg, #6c39ed 0%, #6c39ed 100%) !important;
		box-shadow: 0 10px 28px rgba(108, 57, 237, 0.38) !important;
		cursor: grab;
		touch-action: none;
		user-select: none;
		-webkit-user-select: none;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed::before {
		content: '';
		position: absolute;
		inset: -7px;
		z-index: -1;
		border: 1px solid rgba(108, 57, 237, .2);
		border-radius: 50%;
		background: rgba(108, 57, 237, .16);
		pointer-events: none;
		animation: cwb-fab-halo 2.6s ease-in-out infinite;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-morphing::before {
		display: none;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed.has-custom-position {
		top: var(--cwb-fab-y) !important;
		right: auto !important;
		bottom: auto !important;
		left: var(--cwb-fab-x) !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed.is-dragging {
		cursor: grabbing;
		transition: none !important;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-morphing {
		overflow: hidden !important;
		pointer-events: none;
		transition: none !important;
		will-change: opacity;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-toggle::before {
		display: none;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-booking-summary,
	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-toggle {
		position: absolute;
		inset: 0;
		display: flex;
		width: 100%;
		height: 100%;
		min-height: 0;
		align-items: center;
		justify-content: center;
		margin: 0 !important;
		padding: 0 !important;
		cursor: inherit;
		touch-action: none;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-toggle strong {
		display: none;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed .cwb-summary-collapse-hint {
		display: none;
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed .cwb-summary-cart-icon {
		display: block;
		color: #ffffff !important;
		filter: drop-shadow(0 2px 4px rgba(85, 41, 201, 0.24));
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed.cwb-fab-receive .cwb-summary-cart-icon {
		animation: cwb-fab-receive 0.5s cubic-bezier(0.22, 1, 0.36, 1);
	}

	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed #cwb-summary-toggle strong::after {
		display: none;
	}
}

@keyframes cwb-fab-receive {
	0% { transform: scale(1); }
	35% { transform: scale(0.78); }
	68% { transform: scale(1.2); }
	100% { transform: scale(1); }
}

@keyframes cwb-fab-halo {
	0%, 100% { transform: scale(.96); opacity: .65; }
	50% { transform: scale(1.16); opacity: .25; }
}

@keyframes cwb-bottom-sheet-slide-up {
	from {
		transform: translate3d(0, calc(100% + 24px), 0);
	}

	to {
		transform: translate3d(0, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	#cwb-booking-page-wrapper .cwb-step-footer.is-collapsed::before {
		animation: none;
	}

	#cwb-booking-page-wrapper .cwb-step-footer,
	#cwb-booking-page-wrapper #cwb-booking-summary,
	#cwb-booking-page-wrapper #cwb-summary-details,
	#cwb-booking-page-wrapper #cwb-add-to-cart-btn {
		animation: none !important;
		transition: none !important;
	}
}

@media (max-width: 374px) {
	.cwb-room-content {
		padding: 14px;
	}

	/* .cwb-room-title {
		font-size: 12px;
	} */
}

@media (prefers-reduced-motion: reduce) {
	.cwb-room-card,
	.cwb-modal-box {
		scroll-behavior: auto !important;
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}
