/* ==========================================================================
   Beautiful View - VikBooking Style Overrides
   ========================================================================== */

/* Override VikBooking CSS variables to match theme */
:root {
	--vbo-base-color: var(--color-accent);
	--vbo-blue-color: var(--color-primary);
	--vbo-green-color: var(--color-success);
	--vbo-orange-color: var(--color-warning);
	--vbo-red-color: var(--color-error);
}

/* General VikBooking wrapper */
.com-vikbooking {
	font-family: var(--font-sans);
}

/* VikBooking headings */
.com-vikbooking h2,
.com-vikbooking h3,
.com-vikbooking h4 {
	font-family: var(--font-display);
	color: var(--color-heading);
}

/* Room list cards */
.vbo-search-result-room,
.vbo-roomslist-room {
	border-radius: var(--radius-lg) !important;
	overflow: hidden;
	box-shadow: var(--shadow-card) !important;
	border: none !important;
	margin-bottom: var(--space-6) !important;
	transition: transform var(--duration-slow) var(--ease-out),
	            box-shadow var(--duration-slow) var(--ease-out);
}

.vbo-search-result-room:hover,
.vbo-roomslist-room:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-card-hover) !important;
}

/* Room images */
.vbo-room-img img,
.vbo-roomslist-room-img img {
	border-radius: 0 !important;
}

/* Room name */
.vbo-room-name,
.vbo-roomslist-room-name {
	font-family: var(--font-display) !important;
	font-weight: 400 !important;
	color: var(--color-heading) !important;
}

/* Buttons */
.com-vikbooking .btn,
.com-vikbooking .vbo-pref-color-btn,
.com-vikbooking .vbselectroom,
.com-vikbooking input[type="submit"],
.com-vikbooking button[type="submit"] {
	background-color: var(--color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--radius-full) !important;
	font-family: var(--font-sans) !important;
	font-weight: 600 !important;
	padding: var(--space-3) var(--space-8) !important;
	transition: all var(--duration-normal) var(--ease-default) !important;
}

.com-vikbooking .btn:hover,
.com-vikbooking .vbo-pref-color-btn:hover,
.com-vikbooking .vbselectroom:hover,
.com-vikbooking input[type="submit"]:hover,
.com-vikbooking button[type="submit"]:hover {
	background-color: var(--color-accent-hover) !important;
	transform: translateY(-1px);
	box-shadow: var(--shadow-md) !important;
}

/* Form inputs */
.com-vikbooking input[type="text"],
.com-vikbooking input[type="email"],
.com-vikbooking input[type="number"],
.com-vikbooking input[type="tel"],
.com-vikbooking select,
.com-vikbooking textarea {
	background-color: var(--color-off-white) !important;
	border: var(--border-width) solid var(--color-border) !important;
	border-radius: var(--radius-md) !important;
	padding: var(--space-3) var(--space-4) !important;
	font-family: var(--font-sans) !important;
}

.com-vikbooking input:focus,
.com-vikbooking select:focus,
.com-vikbooking textarea:focus {
	border-color: var(--color-primary) !important;
	box-shadow: 0 0 0 3px var(--color-primary-50) !important;
	outline: none !important;
}

/* Search form (horizontal) */
.vbo-search-form-wrapper {
	border-radius: var(--radius-lg) !important;
	background: var(--overlay-light) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: var(--shadow-lg) !important;
	padding: var(--space-6) !important;
}

/* Date picker */
.ui-datepicker {
	border-radius: var(--radius-lg) !important;
	box-shadow: var(--shadow-lg) !important;
	border: none !important;
	font-family: var(--font-sans) !important;
}

.ui-datepicker-header {
	background: var(--color-secondary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

.ui-datepicker td a.ui-state-active,
.ui-datepicker td a.ui-state-highlight {
	background: var(--color-accent) !important;
	color: #fff !important;
	border-radius: var(--radius-sm) !important;
}

/* Calendar availability */
.vbo-availability-calendar .vbo-calcav-day-available {
	background-color: var(--color-success) !important;
}

.vbo-availability-calendar .vbo-calcav-day-booked {
	background-color: var(--color-error) !important;
}

/* Price display */
.vbo-room-price,
.vbo-roomslist-room-price {
	color: var(--color-accent) !important;
	font-weight: 700 !important;
	font-family: var(--font-sans) !important;
}

/* Room details page */
.vbo-roomdetails-gallery {
	border-radius: var(--radius-xl) !important;
	overflow: hidden;
}

.vbo-roomdetails-amenities {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

/* Booking confirmation */
.vbo-booking-confirmation {
	background: var(--color-off-white) !important;
	border-radius: var(--radius-lg) !important;
	padding: var(--space-8) !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
	.vbo-search-form-wrapper {
		padding: var(--space-4) !important;
	}
}
