.room-card{
    transition: all .3s ease;
    border: none;
}

.room-card:hover{
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0,0,0,.18);
}

.room-card img{
    transition: .4s;
}

.room-card:hover img{
    transform: scale(1.05);
}

/* ===========================
   Homepage Room Cards
=========================== */

.section-subtitle{

    color:var(--secondary);

    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;

}

.section-title{

    font-size:1.5rem;

    

    margin-top:10px;

}

.room-card{

    background:#fff;

    border-radius:var(--radius);

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    height:100%;

}

.room-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.room-image{
    position: relative;
    width: 100%;
    height: 260px;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}

.room-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .5s ease;
}

.room-card:hover .room-image img{
    transform: scale(1.08);
}

.price-badge{

    position:absolute;

    left:15px;

    bottom:15px;

    background:rgba(0,0,0,.75);

    color:#fff;

    padding:10px 18px;

    border-radius:30px;

    backdrop-filter:blur(6px);

    font-weight:700;

}

.price-badge span{

    font-size:.8rem;

    font-weight:400;

}

.room-content{

    padding:25px;

}

.room-rating{

    color:#ffc107;

    margin-bottom:10px;

    font-size:18px;

}

.room-content h4{

    font-weight:400;

    margin-bottom:15px;

}

.room-content p{

    color:var(--gray);

    margin-bottom:20px;

}

.room-divider{
    margin:20px 0;
    opacity:.15;
}

.room-link{

    display:inline-flex;

    align-items:center;

    color:var(--primary);

    text-decoration:none;

    font-weight:600;

    transition:var(--transition);

}

.room-link i{

    transition:var(--transition);

}

.room-link:hover{

    color:var(--secondary);

}

.room-link:hover i{

    transform:translateX(5px);

}

.btn-room:hover{

    transform:translateY(-2px);

}


/* ===========================
   Favorite Button
=========================== */

.favorite-btn{

    position:absolute;

    top:15px;

    right:15px;

    width:46px;

    height:46px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.95);

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:var(--shadow-sm);

    z-index:5;

    cursor:pointer;

    transition:var(--transition);

}

.favorite-btn i{

    color:#dc3545;

    font-size:20px;

    transition:.3s;

}

.favorite-btn:hover{

    transform:scale(1.1);

}

.favorite-btn.active{

    background:#dc3545;

}

.favorite-btn.active i{

    color:#fff;

}

.info-box{

    background:#fff;

    border-radius:var(--radius);

    padding:25px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    height:100%;

}

.info-box i{

    font-size:32px;

    color:var(--primary);

    margin-bottom:15px;

}

.info-box h6{

    font-weight:700;

}