/* Estilos para el componente neobookings-mask--products */

#neobookings-mask--products {
  position: absolute;
  bottom: 126px;
  left: 50%;
  transform: translateX(-50%);
}

#neobookings-mask--products > * {
	color: white;
	text-transform: uppercase;
	font-family: 'Poppins';
	font-weight: 600;
}

#neobookings-mask--products .header {
	padding: 20px;
	margin-bottom: unset;
	background-color: #252525;
	color: white;
}

.products-inputs-container {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
}

.products-form-group {
	position: relative;
	background: #51504c;
	width: 50%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

#products-container {
	position: absolute;
	bottom: 90px;
	left: 0;
	visibility: hidden;
	opacity: 0;
	transition: all 0.4s;
	background-color: #fff;
}

#products-container.visible {
	visibility: visible;
	opacity: 1;
}

.products-label {
	height: 100%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 7px;
	width: 100%;
	overflow: visible !important;
}

/* Alineación de spans dentro de span.info */
span.info {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: nowrap;
}

span.info span {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
}

.products-container__item {
	padding: 7px 17px;
	color: rgba(0, 0, 0, 0.7);
	transition: all 0.4s;
	cursor: pointer;
}

.products-container__item:hover {
	color: rgba(0, 0, 0, 1);
}

#neobookings-mask--products.desktop.slider-booking-mask {
	width: 750px;
}

#neobookings-mask--products.slider-booking-mask .booking-mask .content .left-side .label-calendar.label-arrival {
	width: 31%;
	background-color: #2e2e2e;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: unset;
	margin: unset;
	padding: 10px;
	position: relative;
	cursor: pointer;
}

#neobookings-mask--products.slider-booking-mask .booking-mask .content .left-side .label-calendar.label-arrival input {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	left: 0;
	top: 0;
}

#neobookings-mask--products.slider-booking-mask .booking-mask .content .left-side .label-calendar.neobookings-form__input {
	width: 20%;
	background-color: white;
	color: black;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin-bottom: unset;
}

#neobookings-mask--products.slider-booking-mask .booking-mask .content .left-side .label-calendar.neobookings-form__input input {
	text-transform: uppercase;
	width: 100%;
	height: 100%;
	border: none;
	cursor: pointer;
	font-weight: 600;
}

#neobookings-mask--products.slider-booking-mask .booking-mask .content .left-side .label-calendar.label-adults {
	width: 20%;
}

div#benefits.benefits--products {
	width: 750px;
}

/* Litepicker positioning para products - Desktop */
.neobookings-mask--products .litepicker {
	position: fixed !important;
	left: 20px !important;
	right: 20px !important;
	top: 100px !important;
	width: auto !important;
	margin: 0 !important;
	border-radius: 4px;
	z-index: 230 !important;
}

/* Desktop pequeño: entre 1920px y 992px */
@media (min-width: 992px) and (max-width: 1920px) {
	/* Los estilos de desktop se aplican */
	span.info {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 8px;
		flex-wrap: nowrap;
	}

	span.info span {
		display: inline-flex;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
	}
}

/* Desktop grande: mayor que 1920px */
@media (min-width: 1920px) {
	/* Los estilos de desktop se aplican con posible ajuste de gap si es necesario */
	span.info {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 8px;
		flex-wrap: nowrap;
	}

	span.info span {
		display: inline-flex;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
	}
}

/* Tablet y móvil: menor que 992px */
@media (max-width: 992px) {
	#neobookings-mask--products.desktop.slider-booking-mask {
		max-width: 100vw;
		z-index: 6;
	}

	.products-inputs-container {
		flex-wrap: wrap;
	}

	.products-form-group {
		width: 98%;
		background: rgba(47, 45, 46, 0.7);
		height: 50px;
	}

	#neobookings-mask--products.slider-booking-mask .booking-mask .content .left-side .label-calendar.label-arrival,
	#neobookings-mask--products.slider-booking-mask .booking-mask .content .left-side .label-calendar.label-adults {
		width: 98%;
		margin-bottom: 7px;
	}

	#neobookings-mask--products.slider-booking-mask .booking-mask .content .left-side .label-calendar.neobookings-form__input {
		width: 98%;
	}

	#products-container {
		width: 100vw;
		height: 100vh;
		bottom: 0;
		left: 0;
		position: fixed;
		z-index: 50;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	/* Litepicker positioning para products - Móvil centrado en pantalla */
	.neobookings-mask--products .litepicker {
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		width: fit-content !important;
		max-width: 90vw !important;
		max-height: 80vh !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		overflow: auto !important;
		z-index: 9999 !important;
	}

	/* Alineación de spans para tablet/móvil */
	span.info {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 8px;
		flex-wrap: nowrap;
	}

	span.info span {
		display: inline-flex;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
	}
}
