/* =========================================
   RAJASTHAN AURA TOURS
   HOTELS & HERITAGE STAYS PAGE
========================================= */


/* =========================================
   GLOBAL RESET
========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:#ffffff;
    color:#222222;
    font-family:Arial, Helvetica, sans-serif;
    line-height:1.7;
}

a{
    color:inherit;
    text-decoration:none;
}

img{
    display:block;
    width:100%;
}


/* =========================================
   HEADER
========================================= */

.hotels-header{
    width:100%;
    background:#ffffff;
    border-bottom:1px solid #eeeeee;
    position:relative;
    z-index:100;
}

.hotels-header-container{
    width:100%;
    max-width:1400px;
    min-height:85px;
    margin:0 auto;
    padding:0 5%;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}


/* ===== LOGO ===== */

.hotels-logo{
    flex-shrink:0;

    color:#222222;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:25px;
    font-weight:400;
    white-space:nowrap;
}


/* ===== NAVIGATION ===== */

.hotels-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:25px;
}

.hotels-nav a{
    position:relative;

    color:#333333;

    font-size:12px;
    font-weight:500;
    white-space:nowrap;

    transition:color .3s ease;
}

.hotels-nav a:hover,
.hotels-nav a.active,
.hotels-nav a[aria-current="page"]{
    color:#b68b42;
}

.hotels-nav a.active::after,
.hotels-nav a[aria-current="page"]::after{
    content:"";

    position:absolute;
    left:0;
    right:0;
    bottom:-8px;

    width:100%;
    height:1px;

    background:#b68b42;
}


/* =========================================
   HERO
========================================= */

.hotels-hero{
    min-height:520px;
    padding:100px 5%;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;
    color:#ffffff;

    background:
        linear-gradient(
            rgba(20,20,20,.45),
            rgba(20,20,20,.65)
        ),
        url("images/stays/palace-hotels.webp")
        center center / cover no-repeat;
}

.hotels-hero-content{
    max-width:850px;
    margin:0 auto;
}

.hotels-hero-content span{
    display:block;

    margin-bottom:20px;

    color:rgba(255,255,255,.90);

    font-size:10px;
    font-weight:600;
    letter-spacing:3px;

    text-transform:uppercase;
}

.hotels-hero-content h1{
    margin-bottom:25px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:60px;
    line-height:1.15;
    font-weight:400;
}

.hotels-hero-content p{
    max-width:720px;
    margin:0 auto;

    color:rgba(255,255,255,.88);

    font-size:16px;
    line-height:1.9;
}


/* =========================================
   COMMON CONTAINER
========================================= */

.hotels-container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
}


/* =========================================
   INTRODUCTION
========================================= */

.hotels-intro{
    padding:100px 5% 85px;

    background:#ffffff;

    text-align:center;
}

.hotels-intro .hotels-container{
    max-width:820px;
}

.hotels-section-label{
    display:block;

    margin-bottom:16px;

    color:#b68b42;

    font-size:10px;
    font-weight:600;
    letter-spacing:3px;

    text-transform:uppercase;
}

.hotels-intro h2{
    margin-bottom:25px;

    color:#222222;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:44px;
    line-height:1.25;
    font-weight:400;
}

.hotels-intro p{
    max-width:750px;
    margin:0 auto;

    color:#666666;

    font-size:15px;
    line-height:1.9;
}


/* =========================================
   STAY CATEGORIES
========================================= */

.hotels-stays{
    padding:100px 5%;

    background:#f7f5f1;
}

.hotel-feature{
    width:100%;
    max-width:1200px;

    margin:0 auto 50px;

    display:grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    align-items:stretch;

    min-height:450px;

    overflow:hidden;

    background:#ffffff;
}

.hotel-feature:last-child{
    margin-bottom:0;
}


/* ===== IMAGE ===== */

.hotel-feature-image{
    width:100%;
    min-width:0;
    min-height:450px;

    overflow:hidden;

    background:#eeeeee;
}

.hotel-feature-image img{
    width:100%;
    height:100%;
    min-height:450px;

    object-fit:cover;

    transition:transform .6s ease;
}

.hotel-feature:hover .hotel-feature-image img{
    transform:scale(1.03);
}


/* ===== CONTENT ===== */

.hotel-feature-content{
    min-width:0;

    padding:60px;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.hotel-feature-content > span{
    display:block;

    margin-bottom:15px;

    color:#b68b42;

    font-size:10px;
    font-weight:600;
    letter-spacing:2.5px;

    text-transform:uppercase;
}

.hotel-feature-content h2{
    margin-bottom:25px;

    color:#222222;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:40px;
    line-height:1.25;
    font-weight:400;
}

.hotel-feature-content p{
    margin-bottom:18px;

    color:#666666;

    font-size:15px;
    line-height:1.9;
}

.hotel-feature-content p:last-child{
    margin-bottom:0;
}


/* ===== REVERSE FEATURE ===== */

.hotel-feature-reverse .hotel-feature-image{
    order:2;
}

.hotel-feature-reverse .hotel-feature-content{
    order:1;
}


/* =========================================
   PERSONALIZED STAYS
========================================= */

.hotels-personalized{
    padding:105px 5%;

    background:#ffffff;

    text-align:center;
}

.hotels-personalized-content{
    max-width:800px;
    margin:0 auto;
}

.hotels-personalized-content span{
    display:block;

    margin-bottom:18px;

    color:#b68b42;

    font-size:10px;
    font-weight:600;
    letter-spacing:3px;

    text-transform:uppercase;
}

.hotels-personalized-content h2{
    margin-bottom:25px;

    color:#222222;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:44px;
    line-height:1.25;
    font-weight:400;
}

.hotels-personalized-content p{
    max-width:700px;
    margin:0 auto;

    color:#666666;

    font-size:15px;
    line-height:1.9;
}


/* =========================================
   CTA
========================================= */

.hotels-cta{
    padding:110px 5%;

    background:#1d1d1b;

    color:#ffffff;

    text-align:center;
}

.hotels-cta-content{
    max-width:800px;
    margin:0 auto;
}

.hotels-cta-content > span{
    display:block;

    margin-bottom:18px;

    color:#b68b42;

    font-size:10px;
    font-weight:600;
    letter-spacing:3px;

    text-transform:uppercase;
}

.hotels-cta-content h2{
    margin-bottom:25px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:47px;
    line-height:1.25;
    font-weight:400;
}

.hotels-cta-content p{
    max-width:680px;
    margin:0 auto 35px;

    color:rgba(255,255,255,.70);

    font-size:15px;
    line-height:1.9;
}


/* ===== CTA BUTTONS ===== */

.hotels-cta-buttons{
    display:flex;

    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:15px;
}

.hotels-whatsapp-button,
.hotels-email-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:200px;
    min-height:48px;

    padding:15px 25px;

    border:1px solid #ffffff;

    font-size:10px;
    font-weight:600;
    letter-spacing:1.5px;

    text-transform:uppercase;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}

.hotels-whatsapp-button{
    background:#ffffff;
    color:#1d1d1b;
}

.hotels-email-button{
    background:transparent;
    color:#ffffff;
}

.hotels-whatsapp-button:hover{
    background:#b68b42;
    border-color:#b68b42;
    color:#ffffff;
}

.hotels-email-button:hover{
    background:#ffffff;
    color:#1d1d1b;
}


/* =========================================
   KEYBOARD FOCUS
========================================= */

.hotels-logo:focus-visible,
.hotels-nav a:focus-visible,
.hotels-whatsapp-button:focus-visible,
.hotels-email-button:focus-visible,
.hotels-footer a:focus-visible{
    outline:2px solid #b68b42;
    outline-offset:4px;
}


/* =========================================
   FOOTER
========================================= */

.hotels-footer{
    padding:65px 5% 30px;

    background:#111111;

    color:#ffffff;

    text-align:center;
}

.hotels-footer-container{
    width:100%;
    max-width:1200px;

    margin:0 auto;
}


/* ===== FOOTER BRAND ===== */

.hotels-footer-brand a{
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:26px;
    font-weight:400;
}

.hotels-footer-brand p{
    margin-top:10px;

    color:rgba(255,255,255,.50);

    font-size:12px;
    letter-spacing:.5px;
}


/* ===== FOOTER LINKS ===== */

.hotels-footer-links{
    display:flex;

    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:12px 25px;

    margin-top:30px;
}

.hotels-footer-links a{
    color:rgba(255,255,255,.70);

    font-size:12px;

    transition:color .3s ease;
}

.hotels-footer-links a:hover,
.hotels-footer-links a[aria-current="page"]{
    color:#b68b42;
}


/* ===== FOOTER CONTACT ===== */

.hotels-footer-contact{
    display:flex;

    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:12px 25px;

    margin-top:25px;
}

.hotels-footer-contact a{
    color:rgba(255,255,255,.55);

    font-size:12px;

    transition:color .3s ease;
}

.hotels-footer-contact a:hover{
    color:#b68b42;
}


/* ===== FOOTER BOTTOM ===== */

.hotels-footer-bottom{
    margin-top:40px;
    padding-top:25px;

    border-top:
        1px solid rgba(255,255,255,.12);
}

.hotels-footer-bottom p{
    color:rgba(255,255,255,.35);

    font-size:10px;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:1000px){

    .hotels-header-container{
        flex-wrap:wrap;

        justify-content:center;

        padding-top:20px;
        padding-bottom:20px;
    }

    .hotels-logo{
        width:100%;

        text-align:center;
    }

    .hotels-nav{
        flex-wrap:wrap;

        justify-content:center;

        gap:15px 20px;
    }

    .hotels-hero{
        min-height:500px;
    }

    .hotels-hero-content h1{
        font-size:52px;
    }

    .hotel-feature{
        grid-template-columns:1fr;

        max-width:700px;
    }

    .hotel-feature-image,
    .hotel-feature-image img{
        height:380px;
        min-height:380px;
    }

    .hotel-feature-reverse .hotel-feature-image,
    .hotel-feature-reverse .hotel-feature-content{
        order:initial;
    }

    .hotel-feature-content{
        padding:45px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:650px){

    /* HEADER */

    .hotels-header-container{
        padding:20px 18px;
    }

    .hotels-logo{
        font-size:23px;
    }

    .hotels-nav{
        gap:10px 15px;
    }

    .hotels-nav a{
        font-size:11px;
    }


    /* HERO */

    .hotels-hero{
        min-height:470px;

        padding:75px 20px;
    }

    .hotels-hero-content span{
        font-size:9px;
        letter-spacing:2px;
    }

    .hotels-hero-content h1{
        font-size:41px;
    }

    .hotels-hero-content p{
        font-size:14px;
    }


    /* INTRO */

    .hotels-intro{
        padding:75px 20px 65px;
    }

    .hotels-intro h2{
        font-size:35px;
    }

    .hotels-intro p{
        font-size:14px;
    }


    /* STAYS */

    .hotels-stays{
        padding:75px 18px 80px;
    }

    .hotel-feature{
        min-height:auto;

        margin-bottom:28px;
    }

    .hotel-feature-image,
    .hotel-feature-image img{
        height:250px;
        min-height:250px;
    }

    .hotel-feature-content{
        padding:32px 24px;
    }

    .hotel-feature-content h2{
        font-size:30px;
    }

    .hotel-feature-content p{
        font-size:14px;
    }


    /* PERSONALIZED */

    .hotels-personalized{
        padding:80px 20px;
    }

    .hotels-personalized-content h2{
        font-size:35px;
    }

    .hotels-personalized-content p{
        font-size:14px;
    }


    /* CTA */

    .hotels-cta{
        padding:80px 20px;
    }

    .hotels-cta-content h2{
        font-size:36px;
    }

    .hotels-cta-content p{
        font-size:14px;
    }

    .hotels-cta-buttons{
        flex-direction:column;
    }

    .hotels-whatsapp-button,
    .hotels-email-button{
        width:100%;
        min-height:50px;
    }


    /* FOOTER */

    .hotels-footer{
        padding:55px 20px 25px;
    }

    .hotels-footer-links,
    .hotels-footer-contact{
        flex-direction:column;

        gap:12px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media(max-width:380px){

    .hotels-hero{
        min-height:440px;
    }

    .hotels-hero-content h1{
        font-size:36px;
    }

    .hotels-intro h2,
    .hotels-personalized-content h2{
        font-size:31px;
    }

    .hotel-feature-image,
    .hotel-feature-image img{
        height:225px;
        min-height:225px;
    }

    .hotels-cta-content h2{
        font-size:32px;
    }

}


/* =========================================
   REDUCED MOTION
========================================= */

@media(prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }

    *,
    *::before,
    *::after{
        transition-duration:.01ms !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
    }

}