
/*==================================
PACKAGES PAGE
==================================*/

.packages-page{

padding:80px 0;

background:#F8FAFC;

}
.packages-list{

display:flex;

flex-direction:column;

gap:25px;

}

.packages-wrapper{

display:grid;

grid-template-columns:300px 1fr;

gap:40px;

align-items:start;

}

.packages-sidebar{

background:white;

padding:25px;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

position:sticky;

top:100px;

}

.packages-content{

display:flex;

flex-direction:column;

gap:25px;

}
/*=========================
SIDEBAR
=========================*/

.packages-sidebar h3{

font-size:28px;

margin-bottom:30px;

}

.filter-group{

margin-bottom:35px;

}

.filter-group h4{

margin-bottom:18px;

font-size:18px;

}

.filter-group label{

display:block;

margin-bottom:12px;

cursor:pointer;

font-size:15px;

color:#475569;

}

.filter-group input[type="checkbox"]{

margin-right:10px;

}

.filter-group input[type="range"]{

width:100%;

accent-color:#0F766E;

}

.price-range{

display:flex;

justify-content:space-between;

margin-top:10px;

font-size:14px;

color:#64748B;

}

.reset-filter{

width:100%;

padding:14px;

background:white;

border:2px solid #0F766E;

border-radius:12px;

color:#0F766E;

font-weight:700;

cursor:pointer;

transition:.3s;

}

.reset-filter:hover{

background:#0F766E;

color:white;

}
/*=========================
SORT BAR
=========================*/

.sort-bar{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:25px;

}

.sort-bar select{

padding:12px 18px;

border:1px solid #ddd;

border-radius:10px;

}


/*=========================
PACKAGE CARD
=========================*/

.package-card{

display:grid;

grid-template-columns:260px 1fr 180px;

align-items:center;

gap:25px;

background:#fff;

padding:20px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

width:100%;

}

.package-card:hover{

transform:translateY(-6px);

box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.package-image{

width:260px;

height:220px;

border-radius:16px;

overflow:hidden;

}

.package-image img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

.package-card:hover img{

transform:scale(1.12);

}

.badge{

position:absolute;

top:15px;

left:15px;

background:#0F766E;

color:white;

padding:8px 16px;

border-radius:50px;

font-size:12px;

font-weight:700;

}

.package-info h3{

font-size:28px;

margin-bottom:10px;

}

.duration{

margin-bottom:10px;

color:#64748B;

}

.location{

margin-bottom:15px;

color:#475569;

}

.rating{

color:#F59E0B;

font-weight:600;

}

.package-price{

display:flex;

flex-direction:column;

justify-content:center;

align-items:flex-end;

}

.package-price h2{

font-size:34px;

color:#0F766E;

margin-bottom:6px;

}

.package-price p{

color:#64748B;

margin-bottom:18px;

}

.details-btn{

display:inline-block;

padding:14px 24px;

background:#0F766E;

color:white;

border-radius:12px;

font-weight:700;

transition:.3s;

}

.details-btn:hover{

background:#14532D;

}
/*=========================
PACKAGE FEATURES
=========================*/

.package-features{

display:flex;

gap:18px;

flex-wrap:wrap;

margin-top:18px;

}

.package-features span{

display:flex;

align-items:center;

gap:8px;

font-size:14px;

color:#475569;

}

.package-features i{

color:#0F766E;

}

/*=========================
WISHLIST
=========================*/

.wishlist{

position:absolute;

top:15px;

right:15px;

width:42px;

height:42px;

background:white;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

cursor:pointer;

box-shadow:0 10px 20px rgba(0,0,0,.15);

transition:.3s;

}

.wishlist:hover{

background:#EF4444;

color:white;

}

/*=========================
FREE CANCELLATION
=========================*/

.free-cancel{

margin-top:18px;

font-size:13px;

color:#16A34A;

font-weight:600;

}

.free-cancel i{

margin-right:6px;

}
.wishlist.active{

background:#EF4444;

color:white;

}
.badge{

animation:badgePulse 2s infinite;

}

@keyframes badgePulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.08);

}

100%{

transform:scale(1);

}

}
