/* =============================================
   Cloudbeds Room Details Widget Styles
   ============================================= */

.cb-room-details {
	font-family: 'Lato', sans-serif;
	color: #333;
}

/* Base Container */
.cb-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Banner Section */
.cb-room-banner {
	height: 350px;
	background-size: cover;
	background-position: center;
	position: relative;
	margin-bottom: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.cb-room-banner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.cb-room-content-wrapper {
	padding-top: 2em;
	padding-bottom: 4em;
}

/* Title */
.cb-room-title {
	font-family: 'Playfair Display', serif;
	font-size: 3.5rem;
	font-weight: 700;
	color: #fff;
	margin: 0;
	line-height: 1.2;
	text-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}

/* Gallery */
.cb-room-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
	margin-bottom: 1.5em;
}

.cb-room-gallery-item img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 8px;
	transition: transform 0.25s ease;
	cursor: pointer;
}

.cb-room-gallery-item img:hover {
	transform: scale(1.03);
}

/* Price */
.cb-room-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 1.5em;
	font-size: 1.1em;
}

.cb-room-price .label {
	color: #777;
	text-transform: uppercase;
	font-size: 0.8em;
	letter-spacing: 0.05em;
}

.cb-room-price .amount {
	font-size: 1.8em;
	font-weight: 700;
}

.cb-room-price .period {
	color: #777;
	font-size: 0.85em;
}

/* Occupancy */
.cb-room-occupancy {
	margin-bottom: 1.5em;
}

.cb-room-occupancy h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.3em;
	margin-bottom: 0.6em;
}

.cb-room-occupancy ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.cb-room-occupancy li {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #555;
}

.cb-room-occupancy li i {
	color: #4A7C59;
}

/* Amenities */
.cb-room-amenities {
	margin-bottom: 1.5em;
}

.cb-room-amenities h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.3em;
	margin-bottom: 0.6em;
}

.cb-amenities-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 8px;
}

.cb-amenities-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	color: #444;
}

.cb-amenities-list li i {
	color: #4A7C59;
	font-size: 0.9em;
}

/* Description */
.cb-room-description {
	margin-bottom: 1.5em;
}

.cb-room-description h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.3em;
	margin-bottom: 0.6em;
}

.cb-room-description p {
	line-height: 1.7;
	color: #555;
}

/* Deposit */
.cb-room-deposit {
	margin-bottom: 1.5em;
}

.cb-room-deposit h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.3em;
	margin-bottom: 0.6em;
}

.cb-room-deposit p {
	color: #555;
	line-height: 1.6;
}

/* Cancellation Policy */
.cb-room-cancellation {
	margin-bottom: 1.5em;
}

.cb-room-cancellation h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.3em;
	margin-bottom: 0.6em;
}

/* Terms & Conditions */
.cb-room-terms {
	margin-bottom: 1.5em;
}

.cb-room-terms h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.3em;
	margin-bottom: 0.6em;
}

/* Shared policy content */
.cb-policy-content {
	color: #555;
	line-height: 1.7;
	font-size: 0.95em;
}

/* Arrival & Departure */
.cb-room-arrival-departure {
	margin-bottom: 1.5em;
}

.cb-room-arrival-departure h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.3em;
	margin-bottom: 0.6em;
}

.cb-room-arrival-departure ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.cb-room-arrival-departure li {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #555;
}

.cb-room-arrival-departure li i {
	color: #4A7C59;
}

/* Book Button */
.cb-book-room-btn-wrapper {
	margin: 1em 0;
}

.cb-book-room-btn {
	display: inline-block;
	text-decoration: none;
	cursor: pointer;
	font-weight: 600;
	font-size: 16px;
	transition: all 0.2s ease;
	border: none;
	letter-spacing: 0.03em;
}

.cb-book-room-btn:hover {
	opacity: 0.92;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}