/* Hotel Booking Single - Frontend Styles */

/* Loading Overlay */
#hbs-loading-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.8);
	z-index: 9999;
	text-align: center;
}

.hbs-spinner {
	border: 4px solid #f3f3f3;
	border-top: 4px solid #3498db;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
	margin: 0 auto 10px;
}

@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* Messages */
.hbs-maintenance-message, .hbs-error-message {
	padding: 20px;
	border-radius: 4px;
	margin-bottom: 20px;
}

.hbs-maintenance-message {
	background: #fff3cd;
	color: #856404;
	border: 1px solid #ffeeba;
}

.hbs-error-message {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.hbs-no-rooms, .hbs-no-results {
	padding: 20px;
	background: #f9f9f9;
	border: 1px solid #eee;
	text-align: center;
}

/* Dark Mode */
body.hbs-dark-mode .hbs-my-bookings,
body.hbs-dark-mode .hbs-checkout-wrapper,
body.hbs-dark-mode .hbs-search-wrapper,
body.hbs-dark-mode .hbs-rooms-list {
	color: #e0e0e0;
}

body.hbs-dark-mode .hbs-user-profile,
body.hbs-dark-mode .hbs-summary,
body.hbs-dark-mode .hbs-payment-section,
body.hbs-dark-mode .hbs-extras-section,
body.hbs-dark-mode .hbs-review-form,
body.hbs-dark-mode .hbs-room-card,
body.hbs-dark-mode .hbs-room-amenities li {
	background-color: #2d2d2d !important;
	border-color: #444 !important;
	color: #e0e0e0;
}

body.hbs-dark-mode input:not([type="submit"]):not([type="button"]),
body.hbs-dark-mode select,
body.hbs-dark-mode textarea {
	background-color: #333;
	border-color: #555;
	color: #fff;
}

body.hbs-dark-mode .hbs-table th {
	background-color: #2d2d2d !important;
	border-bottom-color: #444 !important;
	color: #fff;
}

body.hbs-dark-mode .hbs-table td {
	border-bottom-color: #444 !important;
	color: #ccc;
}