.bd-index-snippet {
	width: calc(100% + 16px); /* Looks odd, but needed to match comp layout, and does not overflow */
	position: relative;
	display: flex;
	justify-content: flex-start;
	gap: var(--space-1);
	flex-wrap: wrap;
	margin-top: var(--space-4);
}

.bd-index-snippet .price-container {
	height: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--font-body);
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
	color: #000;

	padding: 7px 10px;
}

.bd-index-snippet .label {
	width: 31px;
	display: block;
	font-size: 0.5rem;
	line-height: var(--leading-none);
	text-align: left;
	text-transform: lowercase;
	white-space: pre-wrap;
}

.bd-index-snippet .price {
	font-size: 0.8125rem;
	font-weight: 700;
}

.bd-index-snippet .book {
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--font-body);
	font-size: 0.5rem;
	font-weight: 900;
	border-radius: var(--rounded-full);
	color: white;
	text-transform: uppercase;
	background-color: var(--red-c9);
	white-space: nowrap;
	padding: 6px 10px;
	height: 32px;
}

.bd-index-snippet .book:hover {
	text-decoration: none;
}

@media (min-width: 64em) {
	.bd-index-snippet {
		width: 100%;
	}

	.layoutjs .content.grid .bd-index-snippet {
		position: relative;
		/* bottom: -30px; */
		right: 0;
		justify-content: flex-end;
		margin-top: 0;
	}

	.layoutjs .content .bd-index-snippet .price-container,
	.layoutjs .content .bd-index-snippet .book.check-rates {
		height: 37px;
	}

	.layoutjs .content .bd-index-snippet .price-container {
		padding: 7px 12px;
	}

	.bd-index-snippet .label {
		width: 36px;
		font-size: 0.875rem;
	}
	
	.bd-index-snippet .price {
		font-size: var(--text-xl);
	}

	.bd-index-snippet .book {
		height: 37px;
		font-size: 0.8125rem;
		padding: 10px 15px;
	}
}

/* Detail */
.booking-detail-snippet {
	margin-bottom: var(--space-2);
}

.booking-detail-snippet .rate-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: var(--space-3);
}

.booking-detail-snippet .rate-info .nights {
	font-size: 0.625rem;
	font-weight: 700;
	line-height: var(--leading-none);
	letter-spacing: var(--tracking-normal);
	width: 60px;
	color: white;
	text-transform: lowercase;
	margin-right: 0;
}

.booking-detail-snippet .rate-info .price {
	font-family: var(--font-body);
	font-size: var(--text-xl-1);
	font-weight: 700;
	line-height: var(--leading-tight);
	color: white;
}

.booking-detail-snippet .dates {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	column-gap: 10px;
	margin-bottom: 10px;
}

.booking-detail-snippet .dates input {
	position: relative;
	font-size: 0.6875rem;
	font-family: var(--font-body);
	font-weight: 700;
	/* color: var(--blue); */
	background: #F5F6F8;
	gap: var(--space-1);
	padding: var(--space-3) var(--space-2);
	padding-right: var(--space-5);
	letter-spacing: var(--tracking-wide);
	width: 145px;
}

.booking-detail-snippet .dates input[type="date"]::-webkit-inner-spin-button,
.booking-detail-snippet .dates input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	cursor: pointer;
}

.booking-detail-snippet .dates input::before {
	content: '';
	position: absolute;
	right: var(--space-3);
	bottom: 50%;
	transform: translate(-50%, 50%);
	height: 15px;
	width: 15px;
	background: url(/includes/public/assets/shared/bd-icon-calendar-sharp.svg);
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

.booking-detail-snippet .dates input::after {
	content: none;
}

.booking-detail-snippet .dates button {
	height: max-content;
	background-color: var(--blue);
	color: var(--light-blue);
	padding: 6px 15px;
}

.shared-detail .detail-top .info-section .booking-detail-snippet .more-info a {
	background: var(--red-c9);
	color: white;
	font-size: var(--text-sm);
	font-family: var(--font-body);
	font-weight: 400;
	border-radius: var(--rounded-full);
	letter-spacing: var(--tracking-wide);
	white-space: nowrap;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-transform: uppercase;
	gap: 6px;
	padding: 6px 19px 6px 12px;
}

.shared-detail .detail-top .info-section .booking-detail-snippet .more-info a img {
	width: 6px;
	height: 6px;
}

.shared-detail .detail-top .info-section .booking-detail-snippet .more-info a:hover {
	text-decoration: none;
}

@media (min-width: 64em) {
	.booking-detail-snippet {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		margin-top: 0;
		margin-bottom: var(--space-8);
	}

	.booking-detail-snippet .rate-info {
		grid-column: 1 / -1;
		margin-bottom: var(--space-3);
	}

	.booking-detail-snippet .rate-info .nights {
		font-size: var(--text-xs);
		width: 70px;
	}
	
	.booking-detail-snippet .rate-info .price {
		font-size: 1.625rem;
	}

	.booking-detail-snippet .dates {
		column-gap: 10px;
		margin-bottom: 0;
	}
	
	.booking-detail-snippet .dates input {
		font-size: var(--text-lg);
		padding: var(--space-2);
		padding-right: var(--space-3);
		width: 165px;
		height: 45px;
	}

	.booking-detail-snippet .dates input::before {
		right: var(--space-1);
		height: 20px;
		width: 20px;
	}

	.shared-detail .detail-top .info-section .booking-detail-snippet .more-info a {
		font-size: var(--text-lg);
		gap: var(--space-3);
		padding: var(--space-3) var(--space-6) var(--space-3) var(--space-5);
		height: 45px;
	}

	.shared-detail .detail-top .info-section .booking-detail-snippet .more-info a img {
		width: 9px;
		height: 9px;
	}
}

@media (min-width: 90em) {
	.booking-detail-snippet {
		grid-template-columns: max-content 1fr;
	}
}