.hfb-rooms-section{
	background:#f6f3ef;
	padding:55px 18px 70px;
}

.hfb-room-heading{
	max-width:900px;
	margin:0 auto 38px;
	text-align:center;
}

.hfb-room-heading span{
	display:block;
	color:#b88a3b;
	font-size:13px;
	font-weight:700;
	letter-spacing:2px;
	text-transform:uppercase;
	margin-bottom:8px;
}

.hfb-room-heading h1{
	font-size:42px !important;
	line-height:1.2 !important;
	margin:0 0 12px !important;
	color:#222 !important;
	font-weight:700 !important;
}

.hfb-room-heading p{
	font-size:16px;
	color:#666;
	margin:0 auto;
	max-width:650px;
}

.hfb-room-grid{
	max-width:1180px;
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:28px;
}

.hfb-room-card{
	background:#fff;
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 12px 35px rgba(0,0,0,.08);
	border:1px solid #eee;
}

.hfb-room-image{
	height:235px;
	position:relative;
	overflow:hidden;
	background:#ddd;
}

.hfb-room-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.hfb-room-badge{
	position:absolute;
	top:14px;
	left:14px;
	background:#111;
	color:#fff;
	font-size:12px;
	font-weight:700;
	padding:7px 12px;
	border-radius:50px;
}

.hfb-room-body{
	padding:22px;
}

.hfb-room-top h2{
	font-size:25px !important;
	line-height:1.25 !important;
	margin:0 0 10px !important;
	color:#222 !important;
	font-weight:700 !important;
}

.hfb-room-top p{
	font-size:15px;
	line-height:1.6;
	color:#666;
	margin:0 0 18px;
}

.hfb-room-meta{
	display:grid;
	grid-template-columns:1fr 1.4fr;
	gap:10px;
	margin-bottom:18px;
}

.hfb-room-meta div{
	background:#f7f7f7;
	padding:11px;
	border-radius:10px;
}

.hfb-room-meta strong{
	display:block;
	font-size:14px;
	color:#111;
}

.hfb-room-meta span{
	font-size:12px;
	color:#777;
}

.hfb-amenities{
	list-style:none;
	margin:0 0 22px;
	padding:0;
}

.hfb-amenities li{
	font-size:14px;
	color:#333;
	margin-bottom:9px;
	padding-left:22px;
	position:relative;
}

.hfb-amenities li:before{
	content:"✓";
	position:absolute;
	left:0;
	color:#0b9df0;
	font-weight:800;
}

.hfb-room-footer{
	border-top:1px solid #eee;
	padding-top:18px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
}

.hfb-price-wrap span{
	display:block;
	font-size:12px;
	color:#777;
}

.hfb-price-wrap strong{
	font-size:24px;
	color:#111;
}

.hfb-price-wrap small{
	font-size:13px;
	color:#777;
}

.hfb-book-btn,
.hfb-check-btn,
.hfb-submit-btn{
	background:#0b9df0;
	color:#fff !important;
	border:none;
	text-decoration:none;
	padding:12px 20px;
	border-radius:6px;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
	display:inline-block;
}

.hfb-book-btn:hover,
.hfb-check-btn:hover,
.hfb-submit-btn:hover{
	background:#087fc2;
}

.hfb-form-box{
	max-width:980px;
	margin:55px auto 0;
	background:#fff;
	padding:35px;
	border-radius:14px;
	box-shadow:0 12px 35px rgba(0,0,0,.08);
	border:1px solid #eee;
}

.hfb-form-head span{
	color:#b88a3b;
	font-size:13px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:1.5px;
}

.hfb-form-head h2{
	font-size:32px !important;
	line-height:1.2 !important;
	margin:8px 0 8px !important;
	color:#222 !important;
}

.hfb-form-head p{
	color:#666;
	margin:0 0 25px;
}

.hfb-form-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:18px;
}

.hfb-field label{
	display:block;
	font-size:14px;
	font-weight:700;
	color:#333;
	margin-bottom:7px;
}

.hfb-field input,
.hfb-field select,
.hfb-field textarea{
	width:100%;
	border:1px solid #ddd;
	background:#fafafa;
	border-radius:6px;
	padding:13px 14px;
	font-size:14px;
	margin:0 !important;
}

.hfb-full{
	grid-column:span 2;
}

.hfb-field textarea{
	min-height:110px;
}

.hfb-form-actions{
	display:flex;
	gap:14px;
	margin-top:22px;
	flex-wrap:wrap;
}

.hfb-check-btn{
	background:#111;
}

.hfb-price-result{
	margin-top:22px;
}

.hfb-price-box{
	background:#f2f9ff;
	border:1px solid #ccecff;
	border-radius:10px;
	padding:20px;
}

.hfb-price-box h3{
	font-size:22px !important;
	margin:0 0 10px !important;
}

.hfb-price-box ul{
	list-style:none;
	padding:0;
	margin:12px 0;
}

.hfb-price-box li{
	display:flex;
	justify-content:space-between;
	border-bottom:1px solid #d8edf8;
	padding:9px 0;
}

.hfb-total{
	font-size:24px;
	font-weight:800;
	color:#0b7fc2;
}

.hfb-error{
	background:#fff0f0;
	color:#b00020;
	border:1px solid #ffc7c7;
	padding:14px;
	border-radius:8px;
	font-weight:700;
}

.hfb-success{
	background:#ecfff2;
	color:#126b2f;
	border:1px solid #a9e8bc;
	padding:14px;
	border-radius:8px;
	font-weight:700;
}

@media(max-width:991px){
	.hfb-room-grid{
		grid-template-columns:1fr 1fr;
	}
}

@media(max-width:768px){
	.hfb-rooms-section{
		padding:38px 14px 55px;
	}

	.hfb-room-heading h1{
		font-size:30px !important;
	}

	.hfb-room-grid{
		grid-template-columns:1fr;
	}

	.hfb-room-image{
		height:230px;
	}

	.hfb-room-footer{
		flex-direction:column;
		align-items:flex-start;
	}

	.hfb-book-btn{
		width:100%;
		text-align:center;
	}

	.hfb-form-box{
		padding:24px;
	}

	.hfb-form-grid{
		grid-template-columns:1fr;
	}

	.hfb-full{
		grid-column:span 1;
	}

	.hfb-form-actions button{
		width:100%;
	}
}