/*==============================
        TABLET
==============================*/

@media(max-width:991px){

.navbar{

    padding:0 25px;

}

.nav-links{

    position:fixed;

    top:0;
    right:-100%;

    width:300px;

    height:100vh;

    background:#111;

    flex-direction:column;

    justify-content:center;

    align-items:flex-start;

    padding-left:40px;

    gap:35px;

    transition:.4s;

    z-index:999;

}

.nav-links.active{

    right:0;

}

.nav-links a{

    font-size:20px;

}

.menu-btn{

    display:flex;

    justify-content:center;

    align-items:center;

}

.book-btn{

    display:none;

}

}


/*==============================
        MOBILE
==============================*/

@media(max-width:576px){

.navbar{

    height:75px;

    padding:0 18px;

}

.logo img{

    width:55px;

}

.menu-btn{

    width:45px;
    height:45px;

    font-size:18px;

}

.nav-links{

    width:100%;

    padding-left:30px;

}

.nav-links a{

    font-size:18px;

}

}






@media(max-width:768px){

.page-hero{

    height:45vh;

}

.page-content h1{

    font-size:42px;

}

}












/*======================================
        FEATURES RESPONSIVE
======================================*/

@media(max-width:991px){

.features-container{

    grid-template-columns:repeat(2,1fr);

}

.section-title h2{

    font-size:42px;

}

}

@media(max-width:768px){

.features{

    padding:80px 6%;

}

.features-container{

    grid-template-columns:1fr;

}

.section-title h2{

    font-size:34px;

}

.section-title p{

    font-size:16px;

}

.feature-card{

    padding:35px 25px;

}

}


















/*======================================
        ABOUT RESPONSIVE
======================================*/

@media(max-width:991px){

.about-container{

    grid-template-columns:1fr;

}

.about-images{

    margin-bottom:40px;

}

.small-image{

    right:0;

}

.experience{

    left:20px;

}

.about-content h2{

    font-size:42px;

}

}

@media(max-width:768px){

.about{

    padding:80px 6%;

}

.about-content h2{

    font-size:34px;

}

.about-list{

    grid-template-columns:1fr;

}

.about-stats{

    flex-direction:column;

    gap:25px;

}

.small-image{

    position:relative;

    width:100%;

    margin-top:25px;

    right:0;
    bottom:0;

    border:0;

}

.experience{

    width:140px;

    padding:20px;

}

.experience h2{

    font-size:34px;

}

}


















/*======================================
        ROOMS RESPONSIVE
======================================*/

@media(max-width:991px){

.rooms-container{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.rooms{
    padding:80px 6%;
}

.rooms-container{
    grid-template-columns:1fr;
}

.room-buttons{
    flex-direction:column;
    gap:20px;
    align-items:flex-start;
}

.room-content{
    padding:25px;
}

.room-content h3{
    font-size:24px;
}

.room-features{
    grid-template-columns:1fr;
}

.room-image img{
    height:240px;
}

}
















/*======================================
        SERVICES RESPONSIVE
======================================*/

@media(max-width:991px){

.services-container{

    grid-template-columns:1fr;

}

.services-image img{

    height:500px;

}

.services-content h2{

    font-size:42px;

}

}

@media(max-width:768px){

.services{

    padding:80px 6%;

}

.services-content h2{

    font-size:34px;

}

.service-grid{

    grid-template-columns:1fr;

}

.services-image img{

    height:380px;

}

.service-badge{

    left:20px;
    bottom:20px;

    padding:18px 25px;

}

.service-badge h2{

    font-size:32px;

}

.service-box{

    padding:28px;

}

.service-box i{

    font-size:36px;

}

}








/*======================================
    TESTIMONIALS RESPONSIVE
======================================*/

@media(max-width:991px){

.testimonial-container{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.testimonials{

    padding:80px 6%;

}

.testimonial-container{

    grid-template-columns:1fr;

}

.testimonial-card{

    padding:30px;

}

}













/*======================================
        ROOM FINDER RESPONSIVE
======================================*/

@media(max-width:1100px){

.finder-form{

    grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:768px){

.room-finder{

    margin-top:-50px;

    padding:0 6% 80px;

}

.finder-card{

    padding:30px;

}

.finder-title h2{

    font-size:34px;

}

.finder-form{

    grid-template-columns:1fr;

}

.search-room{

    width:100%;

}

}











/*======================================
    ROOM LISTINGS RESPONSIVE
======================================*/

@media(max-width:991px){

.room-item{

    grid-template-columns:1fr;

}

.reverse{

    direction:ltr;

}

.room-photo img{

    height:380px;

}

}

@media(max-width:768px){

.room-listings{

    padding:20px 6% 80px;

}

.room-details{

    padding:30px;

}

.room-details h3{

    font-size:30px;

}

.room-info{

    grid-template-columns:1fr;

}

.room-action{

    flex-direction:column;

}

.details-btn,
.reserve-btn{

    text-align:center;

}

.room-photo img{

    height:280px;

}

}
















/*======================================
        AMENITIES RESPONSIVE
======================================*/

@media(max-width:991px){

.amenities-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.amenities{

    padding:80px 6%;

}

.amenities-grid{

    grid-template-columns:1fr;

}

.amenity-card{

    padding:35px 25px;

}

}














/*======================================
        FINAL CTA RESPONSIVE
======================================*/

@media(max-width:991px){

.final-cta{

    padding:110px 8%;

}

.cta-container h2{

    font-size:48px;

}

}

@media(max-width:768px){

.final-cta{

    padding:90px 6%;

    background-attachment:scroll;

}

.cta-container h2{

    font-size:34px;

}

.cta-container p{

    font-size:16px;

    line-height:28px;

}

.cta-buttons{

    flex-direction:column;

}

.cta-book,
.cta-contact{

    width:260px;

    justify-content:center;

}

}













@media(max-width:768px){

.gallery-filter{

    padding:80px 6% 40px;

}

.gallery-title h2{

    font-size:36px;

}

.filter-buttons{

    gap:10px;

}

.filter-buttons button{

    padding:12px 22px;

    font-size:14px;

}

}












/*======================================
        GALLERY RESPONSIVE
======================================*/

@media(max-width:991px){

.gallery-grid{

    grid-template-columns:repeat(2,1fr);

}

.gallery-item.wide{

    grid-column:span 2;

}

}

@media(max-width:768px){

.gallery{

    padding:0 6% 80px;

}

.gallery-grid{

    grid-template-columns:1fr;

    grid-auto-rows:260px;

}

.gallery-item.tall,
.gallery-item.wide{

    grid-column:auto;

    grid-row:auto;

}

.gallery-overlay h3{

    font-size:22px;

}

}




















/*======================================
        VIDEO TOUR RESPONSIVE
======================================*/

@media(max-width:991px){

.video-tour{

    height:550px;

}

.video-content h2{

    font-size:46px;

}

.video-box iframe{

    height:450px;

}

}

@media(max-width:768px){

.video-tour{

    height:450px;

    padding:0 6%;

}

.video-content h2{

    font-size:34px;

}

.video-content p{

    font-size:16px;

    line-height:28px;

}

.play-video{

    width:85px;

    height:85px;

    font-size:26px;

}

.video-box iframe{

    height:240px;

}

.close-video{

    top:-45px;

    right:0;

    font-size:40px;

}

}














/*======================================
        ABOUT RESPONSIVE
======================================*/

@media(max-width:991px){

.about-story{

    grid-template-columns:1fr;

    gap:50px;

}

.experience-box{

    right:20px;

}

}

@media(max-width:768px){

.about-story{

    padding:80px 6%;

}

.about-content h2{

    font-size:38px;

}

.story-features{

    grid-template-columns:1fr;

}

.experience-box{

    position:relative;

    right:0;

    bottom:0;

    margin-top:20px;

}

}









/*======================================
MISSION RESPONSIVE
======================================*/

@media(max-width:991px){

.mission-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.mission-section{

    padding:80px 6%;

}

.mission-grid{

    grid-template-columns:1fr;

    gap:25px;

}

.mission-card{

    padding:35px 25px;

}

.mission-card h3{

    font-size:24px;

}

}












/*======================================
    TEAM RESPONSIVE
======================================*/

@media(max-width:991px){

.team-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.team-section{

    padding:80px 6%;

}

.team-grid{

    grid-template-columns:1fr;

}

.team-image img{

    height:320px;

}

.team-content{

    padding:30px;

}

.team-content h3{

    font-size:26px;

}

}












/*======================================
    ACHIEVEMENTS RESPONSIVE
======================================*/

@media(max-width:991px){

.achievement-container{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.achievements{

    padding:80px 6%;

}

.achievement-container{

    grid-template-columns:1fr;

}

.achievement-box h2{

    font-size:42px;

}

.achievement-icon{

    width:75px;
    height:75px;
    font-size:28px;

}

}


















/*======================================
    CONTACT RESPONSIVE
======================================*/

@media(max-width:991px){

.contact-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.contact-info{

    padding:80px 6%;

}

.contact-grid{

    grid-template-columns:1fr;

}

.contact-card{

    padding:35px 25px;

}

.contact-card h3{

    font-size:24px;

}

}



















/*======================================
    CONTACT FORM RESPONSIVE
======================================*/

@media(max-width:991px){

.contact-form-container{

    grid-template-columns:1fr;

}

.contact-image{

    order:-1;

}

.contact-image img{

    height:500px;

}

}

@media(max-width:768px){

.contact-form-section{

    padding:80px 6%;

}

.contact-form-content h2{

    font-size:38px;

}

.form-row{

    grid-template-columns:1fr;

}

.contact-form button{

    width:100%;

    justify-content:center;

}

.contact-image img{

    height:380px;

}

.support-card{

    left:20px;

    right:20px;

    bottom:20px;

    padding:18px;

}

.contact-social{

    top:20px;

    right:20px;

}

.contact-social a{

    width:45px;

    height:45px;

}

}










/*======================================
LOCATION RESPONSIVE
======================================*/

@media(max-width:991px){

.location-wrapper{

    grid-template-columns:1fr;

}

}

@media(max-width:768px){

.location-section{

    padding:80px 6%;

}

.map-box iframe{

    height:350px;

}

.location-card{

    padding:30px;

}

.location-card h3{

    font-size:28px;

}

}











/*======================================
FAQ RESPONSIVE
======================================*/

@media(max-width:768px){

.faq-section{

    padding:80px 6%;

}

.faq-question{

    padding:20px;

}

.faq-question h3{

    font-size:18px;

}

.faq-answer p{

    padding:0 20px 20px;

}

}





















@media(max-width:768px){

.booking-steps{

    flex-direction:column;

    gap:20px;

    padding:60px 6%;

}

.step-line{

    width:3px;

    height:60px;

}

}










/*======================================
    BOOKING FORM RESPONSIVE
======================================*/

@media(max-width:991px){

.booking-container{

    grid-template-columns:1fr;

}

.booking-image{

    order:-1;

}

.booking-image img{

    height:500px;

}

}

@media(max-width:768px){

.booking-section{

    padding:80px 6%;

}

.booking-left h2{

    font-size:38px;

}

.booking-form{

    padding:25px;

}

.booking-grid{

    grid-template-columns:1fr;

}

.booking-image img{

    height:360px;

}

.booking-badge{

    left:20px;

    right:20px;

    bottom:20px;

    padding:18px;

}

}























/*======================================
    AMENITIES RESPONSIVE
======================================*/

@media(max-width:991px){

.amenities-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.amenities-intro{

    padding:80px 6% 30px;

}

.amenities-grid-section{

    padding:30px 6% 80px;

}

.amenities-grid{

    grid-template-columns:1fr;

}

.amenity-card{

    padding:35px 25px;

}

.amenity-card h3{

    font-size:22px;

}

}









/*======================================
    FEATURED SPA RESPONSIVE
======================================*/

@media(max-width:991px){

.featured-spa{

    padding:90px 6%;

}

.spa-container{

    grid-template-columns:1fr;

    gap:50px;

}

.spa-image{

    order:-1;

}

.spa-image img{

    height:500px;

}

}

@media(max-width:768px){

.spa-content h2{

    font-size:40px;

}

.spa-features{

    grid-template-columns:1fr;

}

.spa-image img{

    height:360px;

}

.spa-badge{

    left:20px;

    right:20px;

    bottom:20px;

    padding:18px;

}

.spa-badge i{

    width:55px;

    height:55px;

    font-size:22px;

}

}








/*======================================
 WELLNESS RESPONSIVE
======================================*/

@media(max-width:991px){

.wellness-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.wellness-section{

    padding:80px 6%;

}

.wellness-grid{

    grid-template-columns:1fr;

}

.wellness-card{

    height:340px;

}

.wellness-overlay{

    padding:25px;

}

.wellness-overlay h3{

    font-size:24px;

}

.wellness-overlay i{

    width:60px;

    height:60px;

    font-size:24px;

}

}













/*======================================
    GUEST SERVICES RESPONSIVE
======================================*/

@media(max-width:991px){

.services-container{

    grid-template-columns:1fr;

}

.services-image{

    order:-1;

}

.services-image img{

    height:500px;

}

.services-list{

    grid-template-columns:1fr;

}

}

@media(max-width:768px){

.guest-services{

    padding:80px 6%;

}

.services-content h2{

    font-size:40px;

}

.services-image img{

    height:360px;

}

.service-item{

    padding:20px;

}

.service-icon{

    width:55px;

    height:55px;

    font-size:20px;

}

.service-badge{

    left:20px;

    right:20px;

    bottom:20px;

    padding:18px;

}

}










/*======================================
    HOTEL POLICIES RESPONSIVE
======================================*/

@media(max-width:991px){

.policies-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.hotel-policies{

    padding:80px 6%;

}

.policies-grid{

    grid-template-columns:1fr;

    gap:25px;

}

.policy-card{

    padding:35px 25px;

}

.policy-card h3{

    font-size:22px;

}

.policy-icon{

    width:75px;

    height:75px;

    font-size:28px;

}

}










/*======================================
    RESTAURANT RESPONSIVE
======================================*/

@media(max-width:991px){

.restaurant-container{

    grid-template-columns:1fr;

}

.restaurant-image{

    order:-1;

}

.restaurant-image img{

    height:500px;

}

}

@media(max-width:768px){

.restaurant-intro{

    padding:80px 6%;

}

.restaurant-content h2{

    font-size:40px;

}

.restaurant-features{

    grid-template-columns:1fr;

}

.restaurant-image img{

    height:360px;

}

.restaurant-badge{

    left:20px;

    right:20px;

    bottom:20px;

    padding:18px;

}

}






/*======================================
    SIGNATURE MENU RESPONSIVE
======================================*/

@media(max-width:991px){

.menu-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.signature-menu{

    padding:80px 6%;

}

.menu-grid{

    grid-template-columns:1fr;

    gap:25px;

}

.menu-image img{

    height:230px;

}

.menu-content{

    padding:25px;

}

.menu-header h3{

    font-size:22px;

}

.menu-header span{

    font-size:20px;

}

.menu-footer{

    flex-direction:column;

    align-items:flex-start;

    gap:15px;

}

}









/*======================================
    EXECUTIVE CHEF RESPONSIVE
======================================*/

@media(max-width:991px){

.chef-container{

    grid-template-columns:1fr;

}

.chef-image{

    order:-1;

}

.chef-image img{

    height:500px;

}

}

@media(max-width:768px){

.executive-chef{

    padding:80px 6%;

}

.chef-content h2{

    font-size:42px;

}

.chef-content h4{

    font-size:18px;

}

.chef-achievements{

    grid-template-columns:1fr;

}

.chef-image img{

    height:360px;

}

.chef-award{

    left:20px;

    right:20px;

    bottom:20px;

    padding:18px;

}

.chef-social{

    justify-content:center;

    flex-wrap:wrap;

}

}







@media(max-width:991px){

.private-features{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.private-dining{

    padding:90px 6%;

}

.private-container h2{

    font-size:42px;

}

.private-features{

    grid-template-columns:1fr;

}

}











@media(max-width:991px){

.reservation-wrapper{

    grid-template-columns:1fr;

}

}

@media(max-width:768px){

.reserve-table{

    padding:80px 6%;

}

.reservation-form{

    grid-template-columns:1fr;

}

}




















@media(max-width:991px){

.footer-container{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.footer-container{

    grid-template-columns:1fr;

    text-align:center;

}

.social-links{

    justify-content:center;

}

}











/*======================================
        BOOKING CTA
======================================*/

@media(max-width:991px){

.booking-content h2{

    font-size:46px;

}

}

@media(max-width:768px){

.booking-cta{

    padding:100px 6%;

    background-attachment:scroll;

}

.booking-content h2{

    font-size:34px;

}

.booking-content p{

    font-size:16px;

    line-height:28px;

}

.booking-buttons{

    flex-direction:column;

    align-items:center;

}

.booking-btn,
.call-btn{

    width:250px;

    text-align:center;

}

}