.bd-index-snippet {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
	gap: var(--space-px);
}

@media (min-width: 64em) {
	.bd-index-snippet {
		gap: 3px;
	}

	.layout .content.grid .bd-index-snippet {
		justify-content: flex-end;
	}
}

.bd-index-snippet .price-container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: var(--yellow);
	gap: 10px;
	padding: 7px 10px;
}

.bd-index-snippet .price-label {
	max-width: 24px;
	font-family: var(--font-display);
	font-size: 0.5rem;
	font-weight: 400;
	line-height: var(--leading-none);
	letter-spacing: var(--tracking-normal);
	color: var(--slate);
	text-transform: uppercase;
}

.bd-index-snippet .price {
	font-family: var(--font-display);
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: var(--leading-none);
	letter-spacing: var(--tracking-normal);
	color: var(--slate);
	text-transform: uppercase;
}

.bd-index-snippet .check-rates {
	font-family: var(--font-display);
	font-size: 0.5rem;
	font-weight: 400;
	line-height: var(--leading-none);
	letter-spacing: var(--tracking-normal);
	color: var(--slate);
	text-transform: uppercase;
	padding: 10px 8px 8px;
	background: var(--white);
	border: 2px solid var(--slate);
}

@media (min-width: 64em) {
	.bd-index-snippet .price-container {
		padding: 9px 15px 6px;
	}
	
	.bd-index-snippet .price-label {
		max-width: 30px;
		font-size: 0.625rem;
		font-weight: 700;
	}
	
	.bd-index-snippet .price {
		font-size: var(--text-lg);
	}

	.bd-index-snippet .check-rates {
		padding: 9px 13px;
		font-size: 0.8125rem;
	}
}

/* Detail */
.booking-detail-snippet {
	color: var(--slate);
	margin-bottom: var(--space-5);
}

.booking-detail-snippet .rate-info {
	margin-bottom: 10px;
}

.booking-detail-snippet .rate-info .price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

.booking-detail-snippet .rate-info .price-label {
	font-family: var(--font-display);
	font-size: 0.625rem;
	font-weight: 500;
	line-height: var(--leading-none);
	letter-spacing: var(--tracking-normal);
	color: var(--slate);
	text-transform: uppercase;
	margin-bottom: 5px;
}

.booking-detail-snippet .rate-info .avg-price {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: 500;
	line-height: 0.83;
	letter-spacing: var(--tracking-normal);
	color: var(--slate);
	text-transform: uppercase;
}

.booking-detail-snippet .dates {
	display: flex;
	justify-content: flex-start;
	gap: var(--space-3);
	margin-bottom: var(--space-4);
}

.booking-detail-snippet .dates > .date-input-cont {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
}

.booking-detail-snippet .dates > .date-input-cont label {
	font-family: var(--font-display);
	font-size: var(--text-sm);
	font-weight: 500;
	line-height: 1.29;
	letter-spacing: var(--tracking-normal);
	color: var(--slate);
	text-transform: uppercase;
}

.booking-detail-snippet .dates input {
	width: 135px;
	max-width: 135px;
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: var(--space-2);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: 400;
	color: var(--slate);
	background: transparent;
	padding: 0;
	border-bottom: 2px solid var(--slate);
}

.booking-detail-snippet .dates input::-webkit-calendar-picker-indicator {
	position: absolute;
	right: var(--space-2);
	top: 50%;
	transform: translateY(-50%);
	opacity: 0;
}

.booking-detail-snippet .dates input::before {
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
	content: '\f073';
	font-family: 'Font Awesome 5 Free';
	font-size: var(--text-lg);
	font-weight: 500;
	line-height: var(--leading-none);
	color: var(--slate);
	width: 18px;
	height: 18px;
	pointer-events: none;
}

.booking-detail-snippet .availability-info a {
	position: relative;
	display: inline-block;
	font-family: var(--font-display);
	font-size: var(--text-base);
	font-weight: 500;
	line-height: var(--leading-none);
	letter-spacing: var(--tracking-normal);
	color: var(--slate);
	text-transform: uppercase;
	padding: 14px var(--space-5) 10px;
	padding-right: 30px;
	background: var(--background-color);
	border: 2px solid var(--slate);
	transition: color var(--transition-appendix-1);
	z-index: 1;
}
.booking-detail-snippet .availability-info {
	display: block;
}

.booking-detail-snippet .availability-info a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background-color: var(--slate);
	z-index: -1;
	opacity: 0;
	transition: opacity var(--transition-appendix-1);
}

.booking-detail-snippet .availability-info a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: -1px;
	right: -1px;
	width: 27px;
	pointer-events: none;
	background-color: var(--slate);
	clip-path: polygon(100% 0, 24% 100%, 100% 100%);
	transition: opacity var(--transition-appendix-1);
}

@media (hover: hover) {
	.booking-detail-snippet .availability-info a:hover {
		color: var(--white);
	}
	
	.booking-detail-snippet .availability-info a:hover::before {
		opacity: 1;
	}
	
	.booking-detail-snippet .availability-info a:hover::after {
		opacity: 0;
	}
}

@media (min-width: 64em) {
	.booking-detail-snippet {
		margin-bottom: var(--space-10);
	}

	.booking-detail-snippet .date-availability-cont {
		display: flex;
		align-items: flex-end;
		flex-wrap: wrap;
		gap: var(--space-6);
	}
	
	.booking-detail-snippet .rate-info {
		margin-bottom: var(--space-5);
	}
	
	.booking-detail-snippet .rate-info .price-label {
		font-size: var(--text-xs);
		line-height: 1.33;
	}
	
	.booking-detail-snippet .rate-info .avg-price {
		font-size: 1.75rem;
	}

	.booking-detail-snippet .dates {
		margin-bottom: 0;
	}

	.booking-detail-snippet .dates > .date-input-cont {
		gap: var(--space-1);
	}
	
	.booking-detail-snippet .dates > .date-input-cont label {
		font-size: var(--text-base);
		line-height: 1.125;
	}
	
	.booking-detail-snippet .dates input {
		width: 160px;
		max-width: 160px;
		font-size: var(--text-lg);
		text-indent: 2px;
	}
}
