/* ---- Gallery ---- */
.hvb-gallery-main img {
	width: 100%;
	height: auto;
	max-height: 500px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
}
.hvb-gallery-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.hvb-gallery-thumb {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 6px;
	cursor: pointer;
	opacity: 0.75;
	transition: opacity 0.2s, outline 0.2s;
}
.hvb-gallery-thumb:hover,
.hvb-gallery-thumb.active {
	opacity: 1;
	outline: 2px solid currentColor;
}

/* ---- Details ---- */
.hvb-details {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 28px;
	margin: 16px 0;
}
.hvb-detail-item {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
}
.hvb-detail-icon { font-size: 18px; }
.hvb-detail-label { font-weight: 600; }

/* ---- Amenities ---- */
.hvb-amenities {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 10px;
}
.hvb-amenity-item {
	font-size: 14px;
}

/* ---- Booking Form ---- */
.hvb-booking-form {
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	padding: 20px;
	max-width: 380px;
}
.hvb-price {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 14px;
}
.hvb-price-unit {
	font-size: 13px;
	font-weight: 400;
	opacity: 0.7;
}
.hvb-form-row {
	display: flex;
	gap: 10px;
	margin-bottom: 14px;
}
.hvb-field {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.hvb-field label {
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 4px;
	text-transform: uppercase;
	opacity: 0.7;
}
.hvb-field input,
.hvb-field select {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
}
.hvb-book-now-btn {
	width: 100%;
	padding: 12px;
	background-color: #1a1a1a;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.2s;
}
.hvb-book-now-btn:hover { opacity: 0.9; }
.hvb-book-now-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.hvb-form-message {
	font-size: 13px;
	margin-bottom: 10px;
	min-height: 16px;
}
.hvb-form-message.hvb-error { color: #c0392b; }
.hvb-form-message.hvb-success { color: #27ae60; }

/* jQuery UI datepicker minimal reset so it doesn't clash with theme styles */
.ui-datepicker { z-index: 9999 !important; font-size: 13px; }
