#ys-results{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
gap:30px;
margin-top:40px;
}

.ys-card{
background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 10px 35px rgba(0,0,0,.10);
transition:.3s;
}

.ys-card:hover{
transform:translateY(-8px);
}

.ys-card-image{
position:relative;
height:240px;
overflow:hidden;
}

.ys-card-image img{
width:100%;
height:240px;
object-fit:cover;
display:block;
transition:.4s;
}

.ys-card:hover img{
transform:scale(1.06);
}

.ys-badge{
position:absolute;
padding:8px 14px;
font-size:13px;
font-weight:600;
border-radius:30px;
color:#fff;
}

.destination{
left:15px;
top:15px;
background:#0F4C81;
}

.price{
right:15px;
top:15px;
background:#D4AF37;
}

.ys-card-content{
padding:25px;
}

.ys-title{
margin:0 0 18px;
font-size:28px;
line-height:1.3;
}

.ys-title a{
color:#111;
text-decoration:none;
}

.ys-meta{
display:flex;
justify-content:space-between;
margin-bottom:25px;
font-size:16px;
color:#555;
}

.ys-btn{
display:inline-block;
width:100%;
text-align:center;
padding:14px;
background:#0F4C81;
color:#fff;
border-radius:10px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.ys-btn:hover{
background:#D4AF37;
color:#fff;
}

/* Pagination */

.ys-pagination{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	margin:40px 0;
}

.ys-page{
	display:flex;
	align-items:center;
	justify-content:center;
	width:45px;
	height:45px;
	background:#fff;
	color:#0F4C81;
	border:2px solid #0F4C81;
	border-radius:10px;
	text-decoration:none;
	font-weight:600;
	transition:.3s;
}

.ys-page:hover{
	background:#0F4C81;
	color:#fff;
	transform:translateY(-3px);
}

.ys-page.active{
	background:#D4AF37;
	border-color:#D4AF37;
	color:#fff;
}


/* ==========================
   Filters
========================== */

.ys-filters{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:20px;
	margin-bottom:40px;
	padding:25px;
	background:#fff;
	border-radius:18px;
	box-shadow:0 10px 35px rgba(0,0,0,.08);
}

.ys-filters select,
.ys-filters input{
	width:100%;
	height:55px;
	padding:0 18px;
	border:1px solid #dcdcdc;
	border-radius:10px;
	background:#fff;
	font-size:15px;
	font-family:inherit;
	color:#333;
	outline:none;
	transition:.3s;
}

.ys-filters input::placeholder{
	color:#999;
}

.ys-filters select:hover,
.ys-filters input:hover{
	border-color:#0F4C81;
}

.ys-filters select:focus,
.ys-filters input:focus{
	border-color:#0F4C81;
	box-shadow:0 0 0 4px rgba(15,76,129,.15);
}

/* Responsive */

@media(max-width:768px){

	.ys-filters{

		grid-template-columns:1fr;

		padding:20px;

	}

}


/* ==========================
   Booking Form
========================== */

.ys-booking-form{
	max-width:700px;
	margin:50px auto;
	padding:35px;
	background:#fff;
	border-radius:18px;
	box-shadow:0 10px 35px rgba(0,0,0,.08);
}

.ys-booking-form h3{
	margin:0 0 25px;
	font-size:30px;
	color:#0F4C81;
	text-align:center;
}

.ys-booking-form p{
	margin-bottom:20px;
}

.ys-booking-form label{
	display:block;
	font-size:15px;
	font-weight:600;
	margin-bottom:8px;
	color:#333;
}

.ys-booking-form input,
.ys-booking-form textarea{
	width:100%;
	padding:14px 16px;
	border:1px solid #ddd;
	border-radius:10px;
	font-size:15px;
	outline:none;
	box-sizing:border-box;
	transition:.3s;
}

.ys-booking-form input:focus,
.ys-booking-form textarea:focus{
	border-color:#0F4C81;
	box-shadow:0 0 0 3px rgba(15,76,129,.15);
}

.ys-booking-form textarea{
	height:140px;
	resize:vertical;
}

.ys-booking-form button{
	width:100%;
	padding:16px;
	background:#0F4C81;
	color:#fff;
	border:none;
	border-radius:10px;
	font-size:16px;
	font-weight:600;
	cursor:pointer;
	transition:.3s;
}

.ys-booking-form button:hover{
	background:#D4AF37;
}

@media(max-width:768px){

	.ys-booking-form{
		padding:25px;
		margin:30px 15px;
	}

}


/* ==========================
   Gallery
========================== */
.ys-gallery{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
	margin:40px 0;
}

.ys-gallery img{
	width:100%;
	aspect-ratio:4/3;
	height:auto;
	display:block;
	object-fit:cover;
	border-radius:15px;
}

.ys-gallery img:hover{
	transform:scale(1.04);
}

/* ==========================
   Add To Cart
========================== */
.add_to_cart_button{
	display:inline-block;
	background:#0F4C81;
	color:#fff !important;
	padding:15px 30px;
	border-radius:10px;
	text-decoration:none;
	font-weight:600;
	transition:.3s;
	border:none;
	box-shadow:0 8px 20px rgba(15,76,129,.2);
}

.add_to_cart_button:hover{
	background:#D4AF37;
	color:#fff !important;
	transform:translateY(-2px);
}