*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
}

h1,h2,h3,h4,h5{
    font-family:'Playfair Display',serif;
}

/*=========================
NAVBAR
=========================*/

.custom-navbar{
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);
    transition:.4s;
    padding:12px 0;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.main-logo{
    height:80px;
    width:90px;
    transition:.3s;
}

.navbar-nav .nav-link{
    color:#0f172a;
    font-weight:600;
    margin:0 12px;
    position:relative;
    transition:.3s;
}

.navbar-nav .nav-link::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:3px;
    background:#d4af37;
    transition:.3s;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after{
    width:100%;
}

.navbar-nav .nav-link:hover{
    color:#d4af37;
}

.phone-btn{
    text-decoration:none;
    color:#0f172a;
    font-weight:600;
    font-size:15px;
}

.phone-btn i{
    color:#d4af37;
    margin-right:5px;
}

.book-btn{
    background:#d4af37;
    color:#fff;
    border-radius:40px;
    padding:10px 28px;
    font-weight:600;
    transition:.3s;
}

.book-btn:hover{
    background:#0f172a;
    color:#fff;
}

.admin-icon{
    width:45px;
    height:45px;
    border:2px solid #d4af37;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#d4af37;
    text-decoration:none;
}

.admin-icon i{
    font-size:20px;
    line-height:1;
}

.admin-icon:hover{
    background:#d4af37;
    color:#fff;
}

.navbar .d-flex{
    gap:15px;
}

.book-btn{
    white-space:nowrap;
}


@media(max-width:991px){

.main-logo{
height:60px;
}

.navbar-collapse{
background:#fff;
padding:20px;
border-radius:15px;
margin-top:15px;
box-shadow:0 10px 30px rgba(0,0,0,.1);
}

.phone-btn{
display:none;
}

.book-btn{
width:100%;
margin-top:15px;
text-align:center;
}

.admin-icon{
display:block;
margin-top:15px;
text-align:center;
}

}


.welcome-modal{

    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(5px);

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:99999;

}

.welcome-box{

    width:480px;
    max-width:90%;
    background:#fff;

    border-radius:20px;

    padding:45px 35px;

    text-align:center;

    position:relative;

    animation:popup .45s ease;

    box-shadow:0 20px 60px rgba(0,0,0,.25);

}

.welcome-logo{

    width:90px;
    height:90px;

    border-radius:50%;
    object-fit:cover;

    margin-bottom:20px;

}

.welcome-box h2{

    font-family:'Playfair Display',serif;
    font-weight:700;

    color:#8B5E3C;

    margin-bottom:15px;

}

.welcome-box p{

    color:#666;
    margin-bottom:30px;

    line-height:28px;

}

.welcome-buttons{

    display:flex;
    gap:15px;

}

.login-btn,
.signup-btn{

    flex:1;

    padding:13px;

    border-radius:8px;

    text-decoration:none;

    font-weight:600;

}

.login-btn{

    background:#8B5E3C;
    color:#fff;

}

.signup-btn{

    border:2px solid #8B5E3C;
    color:#8B5E3C;

}

.login-btn:hover{

    background:#6f462b;
    color:#fff;

}

.signup-btn:hover{

    background:#8B5E3C;
    color:#fff;

}

.guest-link{

    display:block;

    margin-top:20px;

    color:#666;

    text-decoration:none;

}

.close-btn{

    position:absolute;

    top:15px;
    right:20px;

    border:none;
    background:none;

    font-size:32px;

    cursor:pointer;

}

@keyframes popup{

    from{

        transform:scale(.8);
        opacity:0;

    }

    to{

        transform:scale(1);
        opacity:1;

    }

}


/*==========================
HERO SECTION
===========================*/

.hero-section{

margin-top:90px;

}

.hero-img{

height:92vh;

object-fit:cover;

}

.hero-overlay{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.55);

}

.carousel-caption{

top:50%;

transform:translateY(-50%);

bottom:auto;

text-align:left;

max-width:700px;

}

.hero-tag{

display:inline-block;

background:#d4af37;

color:#fff;

padding:8px 20px;

border-radius:30px;

font-size:15px;

margin-bottom:20px;

}

.carousel-caption h1{

font-size:58px;

font-weight:700;

line-height:75px;

margin-bottom:25px;

}

.carousel-caption p{

font-size:18px;

line-height:34px;

margin-bottom:35px;

}

.hero-btns{

display:flex;

gap:20px;

}

.hero-book-btn{

background:#d4af37;

color:#fff;

padding:15px 38px;

border-radius:40px;

font-weight:600;

}

.hero-book-btn:hover{

background:#fff;

color:#000;

}

.hero-room-btn{

border:2px solid #fff;

color:#fff;

padding:15px 38px;

border-radius:40px;

font-weight:600;

}

.hero-room-btn:hover{

background:#fff;

color:#000;

}

.carousel-control-next,

.carousel-control-prev{

width:6%;

}

@media(max-width:991px){

.hero-img{

height:80vh;

}

.carousel-caption{

left:20px;

right:20px;

}

.carousel-caption h1{

font-size:34px;

line-height:48px;

}

.carousel-caption p{

font-size:15px;

line-height:28px;

}

.hero-btns{

flex-direction:column;

}

.hero-book-btn,

.hero-room-btn{

width:100%;

}

}

/*=========================
BOOKING SEARCH
==========================*/

.booking-search{

margin-top:-70px;

position:relative;

z-index:99;

}

.booking-card{

background:#fff;

padding:35px;

border-radius:20px;

box-shadow:0 15px 45px rgba(0,0,0,.12);

}

.booking-card label{

font-weight:600;

margin-bottom:8px;

display:block;

color:#0f172a;

}

.booking-card .form-control,

.booking-card .form-select{

height:55px;

border-radius:12px;

border:1px solid #ddd;

}

.booking-card .form-control:focus,

.booking-card .form-select:focus{

box-shadow:none;

border-color:#d4af37;

}

.search-btn{

height:55px;

background:#d4af37;

color:#fff;

font-weight:600;

border-radius:12px;

transition:.3s;

}

.search-btn:hover{

background:#0f172a;

color:#fff;

}

@media(max-width:991px){

.booking-search{

margin-top:30px;

}

.booking-card{

padding:20px;

}

}

/*=========================
ABOUT HOME
==========================*/

.about-home{

background:#f8fafc;

}

.about-text{

max-width:750px;

color:#666;

line-height:30px;

}

.about-card{

background:#fff;

padding:35px 25px;

border-radius:18px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.about-card:hover{

transform:translateY(-8px);

}

.about-card i{

font-size:45px;

color:#d4af37;

margin-bottom:20px;

}

.about-card h5{

font-weight:700;

margin-bottom:15px;

}

.about-card p{

color:#666;

margin:0;

}

.counter-box{

background:#fff;

padding:30px 20px;

border-radius:18px;

box-shadow:0 8px 25px rgba(0,0,0,.08);

margin-bottom:20px;

}

.counter-box h2{

color:#d4af37;

font-size:42px;

font-weight:700;

margin-bottom:10px;

}

.counter-box p{

margin:0;

font-weight:600;

color:#444;

}
/*=========================
MANAGEMENT SECTION
=========================*/

.management{
    background:#f8fafc;
}

.management .section-subtitle{
    color:#d4af37;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.management .section-title{
    color:#0f172a;
    font-weight:700;
    margin-top:10px;
}

.management-text{
    color:#64748b;
    font-size:17px;
    line-height:1.9;
    margin-bottom:20px;
}

.management-sign{
    display:inline-block;
    margin-top:20px;
    padding-top:20px;
    border-top:2px solid #d4af37;
}

.management-sign h5{
    color:#0f172a;
    font-weight:700;
}

.management-sign small{
    color:#d4af37;
    font-weight:600;
    letter-spacing:1px;
}


/*=================================
ROOM SECTION
=================================*/

.rooms-section{

background:#fff;

}

.room-card{

background:#fff;

border-radius:18px;

overflow:hidden;

box-shadow:0 12px 35px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.room-card:hover{

transform:translateY(-8px);

}

.room-img{

position:relative;

overflow:hidden;

}

.room-img img{

height:260px;

width:100%;

object-fit:cover;

transition:.5s;

}

.room-card:hover .room-img img{

transform:scale(1.08);

}

.price-tag{

position:absolute;

top:18px;

right:18px;

background:#d4af37;

color:#fff;

padding:8px 18px;

border-radius:30px;

font-size:14px;

font-weight:600;

}

.room-content{

padding:25px;

}

.room-content h4{

font-weight:700;

margin-bottom:15px;

}

.room-content p{

color:#666;

line-height:28px;

margin-bottom:20px;

}

.room-feature{

display:flex;

flex-wrap:wrap;

gap:12px;

margin-bottom:25px;

}

.room-feature span{

background:#f8fafc;

padding:8px 15px;

border-radius:30px;

font-size:14px;

}

.room-feature i{

color:#d4af37;

margin-right:5px;

}

.room-btn{

display:flex;

justify-content:space-between;

gap:15px;

}

.details-btn{

background:#0f172a;

color:#fff;

flex:1;

border-radius:10px;

padding:12px;

}

.book-room-btn{

background:#d4af37;

color:#fff;

flex:1;

border-radius:10px;

padding:12px;

}

.details-btn:hover{

background:#d4af37;

color:#fff;

}

.book-room-btn:hover{

background:#0f172a;

color:#fff;

}

.all-room-btn{

background:#d4af37;

color:#fff;

padding:14px 35px;

border-radius:35px;

font-weight:600;

}

.all-room-btn:hover{

background:#0f172a;

color:#fff;

}

/*=================================
WHY CHOOSE US
==================================*/

.why-us{

background:#f8fafc;

}

.why-card{

background:#fff;

padding:35px 25px;

border-radius:20px;

text-align:center;

height:100%;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.35s;

}

.why-card:hover{

transform:translateY(-10px);

}

.why-card i{

font-size:55px;

color:#d4af37;

margin-bottom:20px;

display:block;

}

.why-card h4{

font-weight:700;

margin-bottom:15px;

}

.why-card p{

color:#666;

line-height:28px;

margin:0;

}


/*=================================
GALLERY PREVIEW
==================================*/

.gallery-preview{

    background:#f8fafc;

}

.gallery-box{

    overflow:hidden;
    border-radius:18px;
    position:relative;
    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.gallery-box img{

    width:100%;
    height:270px;
    object-fit:cover;
    transition:.5s;

}

.gallery-box:hover img{

    transform:scale(1.1);

}

.gallery-box::before{

    content:"";
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.25);
    opacity:0;
    transition:.4s;
    z-index:1;

}

.gallery-box:hover::before{

    opacity:1;

}

.gallery-box::after{

    content:"+";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:60px;
    height:60px;
    background:#d4af37;
    color:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:34px;
    font-weight:bold;
    opacity:0;
    transition:.4s;
    z-index:2;

}

.gallery-box:hover::after{

    opacity:1;

}

.gallery-btn{

    background:#d4af37;
    color:#fff;
    padding:14px 35px;
    border-radius:35px;
    font-weight:600;
    transition:.3s;

}

.gallery-btn:hover{

    background:#0f172a;
    color:#fff;

}

/*==================================
COUNTER SECTION
==================================*/

.counter-section{

    padding:100px 0;

    background:#0f172a;

}

.counter-box{

    color:#fff;

    padding:30px 20px;

}

.counter-box i{

    font-size:55px;

    color:#d4af37;

    margin-bottom:20px;

}

.counter-box h2{

    font-size:48px;

    font-weight:700;

    margin-bottom:10px;

}

.counter-box p{

    font-size:18px;

    color:#ddd;

}

.counter-box:hover{

    transform:translateY(-10px);

    transition:.4s;

}

/*=================================
TESTIMONIALS
==================================*/

.testimonial-section{

background:#fff;

}

.testimonial-card{

background:#fff;

padding:35px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.testimonial-card:hover{

transform:translateY(-8px);

}

.stars{

color:#d4af37;

font-size:20px;

margin-bottom:15px;

}

.testimonial-card p{

color:#666;

line-height:30px;

margin-bottom:30px;

}

.guest{

display:flex;

align-items:center;

}

.guest img{

width:65px;

height:65px;

border-radius:50%;

object-fit:cover;

margin-right:15px;

border:3px solid #d4af37;

}

.guest h5{

margin:0;

font-weight:700;

}

.guest small{

color:#777;

}

/*=================================
STATISTICS
==================================*/

.stats-section{

    background:#0f172a;
    padding:80px 0;

}

.stat-card{

    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:40px 20px;
    transition:.35s;
    height:100%;

}

.stat-card:hover{

    transform:translateY(-10px);
    background:#d4af37;

}

.stat-card i{

    font-size:55px;
    color:#d4af37;
    margin-bottom:20px;
    display:block;
    transition:.35s;

}

.stat-card:hover i{

    color:#fff;

}

.stat-card h2{

    color:#fff;
    font-size:42px;
    font-weight:700;
    margin-bottom:10px;

}

.stat-card p{

    color:#ddd;
    font-size:17px;
    margin:0;

}

.stat-card:hover p{

    color:#fff;

}


/*=================================
NEARBY ATTRACTIONS
==================================*/

.attractions{

    background:#ffffff;

}

.place-card{

    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;

}

.place-card:hover{

    transform:translateY(-10px);

}

.place-card img{

    width:100%;
    height:240px;
    object-fit:cover;
    transition:.5s;

}

.place-card:hover img{

    transform:scale(1.08);

}

.place-content{

    padding:25px;
    text-align:center;

}

.place-content h4{

    font-weight:700;
    margin-bottom:12px;

}

.place-content p{

    color:#666;
    line-height:28px;
    margin:0;

}

.attraction-btn{

    display:inline-flex;
    align-items:center;
    gap:8px;

    background:#c9a227;
    color:#fff;

    padding:14px 35px;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.attraction-btn:hover{

    background:#111827;
    color:#fff;
    transform:translateY(-3px);

}

/*=================================
CTA SECTION
==================================*/

.cta-section{

    background:#0f172a;
    padding:90px 0;

}

.cta-box{

    background:linear-gradient(135deg,#d4af37,#f4d03f);
    padding:60px;
    border-radius:25px;
    color:#fff;
    box-shadow:0 15px 40px rgba(0,0,0,.15);

}

.cta-box h2{

    font-size:38px;
    font-weight:700;
    margin-bottom:20px;

}

.cta-box p{

    font-size:18px;
    line-height:32px;
    margin:0;

}

.cta-btn{

    background:#0f172a;
    color:#fff;
    padding:16px 40px;
    border-radius:40px;
    font-size:18px;
    font-weight:600;
    transition:.3s;

}

.cta-btn:hover{

    background:#fff;
    color:#0f172a;

}


/*=================================
PREMIUM FOOTER
=================================*/

.footer{
    background:#0b1220;
    color:#fff;
    padding:70px 0 20px;
    border-top:4px solid #d4af37;
}

.footer-logo{
    display:inline-block;
    margin-bottom:20px;
}

.footer-logo img{
    width:180px;
    height:auto;
    transition:.3s;
}

.footer-logo img:hover{
    transform:scale(1.05);
}

.footer p{
    color:#cfcfcf;
    line-height:30px;
    font-size:15px;
}

.footer h4{
    color:#d4af37;
    margin-bottom:22px;
    font-size:22px;
    font-weight:700;
    position:relative;
    padding-bottom:10px;
}

.footer h4::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:3px;
    background:#d4af37;
    border-radius:20px;
}

.footer ul{
    padding:0;
    list-style:none;
}

.footer ul li{
    margin-bottom:14px;
    color:#ddd;
}

.footer ul li a{
    color:#ddd;
    text-decoration:none;
    transition:.3s;
}

.footer ul li a:hover{
    color:#d4af37;
    padding-left:8px;
}

.footer ul li i{
    color:#d4af37;
    margin-right:8px;
}

/* Social */

.social-links{
    margin-top:25px;
}

.social-links a{
    width:45px;
    height:45px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:2px solid #d4af37;
    color:#d4af37;
    border-radius:50%;
    margin-right:10px;
    font-size:18px;
    transition:.3s;
}

.social-links a:hover{
    background:#d4af37;
    color:#0b1220;
    transform:translateY(-5px);
}

/* Divider */

.footer hr{
    border-color:rgba(255,255,255,.12);
    margin:40px 0 20px;
}

/* Copyright */

.copyright{
    text-align:center;
    color:#bfbfbf;
    font-size:15px;
}

.developer-link{
    color:#d4af37;
    font-weight:600;
    text-decoration:none;
}

.developer-link:hover{
    color:#fff;
}

/* Responsive */

@media(max-width:768px){

.footer{
    text-align:center;
}

.footer h4::after{
    left:50%;
    transform:translateX(-50%);
}

.social-links{
    justify-content:center;
}

}
/*====================
Scroll Button
====================*/

#topBtn{

    position:fixed;

    right:30px;

    bottom:30px;

    width:50px;

    height:50px;

    border:none;

    border-radius:50%;

    background:#d4af37;

    color:#fff;

    font-size:20px;

    display:none;

    z-index:999;

}


/*=================================
ABOUT PAGE
=================================*/

/* Banner */

.page-banner{
    height:420px;
    background:url("../images/banner/about-banner.jpg") center center/cover no-repeat;
    position:relative;
    display:flex;
    align-items:center;
}

.page-banner .overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

.banner-content{
    position:relative;
    z-index:2;
    color:#fff;
    text-align:center;
}

.banner-subtitle{
    display:inline-block;
    color:#d4af37;
    font-weight:600;
    letter-spacing:1px;
    margin-bottom:15px;
    text-transform:uppercase;
}

.banner-content h1{
    font-size:60px;
    font-weight:700;
    margin-bottom:15px;
}

.banner-content p{
    max-width:700px;
    margin:auto;
    line-height:30px;
    color:#f5f5f5;
}

.breadcrumb-custom{
    margin-top:25px;
}

.breadcrumb-custom a{
    color:#d4af37;
    text-decoration:none;
}

.breadcrumb-custom span{
    color:#fff;
    margin:0 6px;
}

/* About */

.about-section{
    background:#fff;
}

.about-image{
    position:relative;
}

.about-image img{
    width:100%;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.experience-box{
    position:absolute;
    bottom:25px;
    right:-20px;
    background:#d4af37;
    color:#fff;
    width:180px;
    padding:25px;
    text-align:center;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.experience-box h2{
    font-size:40px;
    margin:0;
}

.experience-box span{
    font-size:15px;
}

.about-text{
    color:#666;
    line-height:30px;
    margin-bottom:18px;
}

.about-feature{
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 18px;
    border:1px solid #eee;
    border-radius:12px;
    transition:.3s;
}

.about-feature i{
    color:#d4af37;
    font-size:20px;
}

.about-feature:hover{
    background:#d4af37;
    color:#fff;
    transform:translateY(-5px);
}

.about-feature:hover i{
    color:#fff;
}

.about-btn{
    background:#d4af37;
    color:#fff;
    padding:12px 30px;
    border-radius:40px;
    text-decoration:none;
    transition:.3s;
}

.about-btn:hover{
    background:#0f172a;
    color:#fff;
}

/* Mission */

.mission-vision{
    background:#f8f9fa;
}

.value-card{
    background:#fff;
    border-radius:20px;
    padding:40px 30px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
}

.value-card:hover{
    transform:translateY(-10px);
}

.value-icon{
    width:80px;
    height:80px;
    background:#d4af37;
    color:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0 auto 25px;
}

.value-icon i{
    font-size:34px;
}

.value-card h3{
    margin-bottom:18px;
}

.value-card p{
    color:#666;
    line-height:28px;
}

/* Facilities */

.about-facilities{
    background:#fff;
}

.facility-box{
    background:#fff;
    border-radius:18px;
    padding:30px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    transition:.3s;
    height:100%;
}

.facility-box:hover{
    transform:translateY(-8px);
}

.facility-box i{
    font-size:42px;
    color:#d4af37;
    margin-bottom:18px;
}

.facility-box h5{
    margin-bottom:12px;
}

.facility-box p{
    color:#666;
    line-height:28px;
}

/* Management */

.management-section{
    background:#f8f9fa;
}

.management-box{
    max-width:900px;
    margin:auto;
    background:#fff;
    padding:60px;
    border-radius:25px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.management-text{
    color:#666;
    line-height:32px;
    margin-bottom:20px;
}

.signature{
    margin-top:35px;
}

.signature h5{
    color:#0f172a;
    font-weight:700;
}

.signature span{
    color:#888;
}

/*=================================
CTA SECTION
=================================*/

.about-cta{
    padding:100px 0;
    background:linear-gradient(135deg,#0f172a,#1e293b);
}

.cta-box{
    max-width:900px;
    margin:auto;
    text-align:center;
    background:#ffffff;
    border-radius:25px;
    padding:70px 50px;
    box-shadow:0 20px 50px rgba(0,0,0,.15);
}

.cta-subtitle{
    display:inline-block;
    color:#d4af37;
    font-size:15px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;
}

.cta-box h2{
    color:#0f172a;
    font-size:42px;
    font-weight:700;
    margin-bottom:20px;
}

.cta-box p{
    color:#555;
    font-size:17px;
    line-height:30px;
    max-width:700px;
    margin:0 auto 35px;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

/* Book Button */

.cta-btn{
    background:#d4af37 !important;
    color:#fff !important;
    border:none !important;
    padding:14px 35px;
    border-radius:50px;
    font-weight:600;
    text-decoration:none;
    transition:.3s;
}

.cta-btn:hover{
    background:#0f172a !important;
    color:#fff !important;
    transform:translateY(-3px);
}

/* Contact Button */

.cta-outline{
    background:transparent !important;
    color:#0f172a !important;
    border:2px solid #0f172a !important;
    padding:14px 35px;
    border-radius:50px;
    font-weight:600;
    text-decoration:none;
    transition:.3s;
}

.cta-outline:hover{
    background:#0f172a !important;
    color:#fff !important;
}

.contact-form{
    background:#fff;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
}

.contact-form h3{
    color:#0f172a;
    font-family:'Playfair Display',serif;
    margin-bottom:25px;
    position:relative;
}

.contact-form h3::after{
    content:"";
    width:70px;
    height:3px;
    background:#d4af37;
    display:block;
    margin:12px auto 0;
    border-radius:10px;
}

@media(max-width:768px){

    .cta-box{
        padding:45px 25px;
    }

    .cta-box h2{
        font-size:30px;
    }

    .cta-box p{
        font-size:15px;
    }

    .cta-buttons{
        flex-direction:column;
    }

    .cta-btn,
    .cta-outline{
        width:100%;
    }

}

/*==================================
 PREMIUM ROOMS PAGE
==================================*/

.rooms-page{
    padding:100px 0;
    background:#f7f5f1;
}


/* Section */

.section-subtitle{
    color:#b08d2c;
    letter-spacing:3px;
    font-size:14px;
    font-weight:700;
}

.section-title{
    font-size:42px;
    font-weight:700;
    color:#111;
    margin-top:10px;
}


.section-description{
    max-width:750px;
    margin:20px auto;
    color:#777;
    font-size:17px;
    line-height:30px;
}



/* Card */

.room-card{

    background:#fff;
    border-radius:25px;
    overflow:hidden;
    position:relative;

    box-shadow:
    0 20px 50px rgba(0,0,0,.08);

    transition:.4s;

}


.room-card:hover{

    transform:translateY(-12px);

    box-shadow:
    0 30px 70px rgba(0,0,0,.18);

}



/* Badge */

.room-badge{

    position:absolute;

    top:20px;
    left:20px;

    background:#c9a227;

    color:white;

    padding:8px 20px;

    border-radius:50px;

    font-size:13px;

    font-weight:600;

    z-index:5;

}


.room-badge.premium{

    background:#111827;

}



/* Image */


.room-image{
    height:320px;
    overflow:hidden;
    position:relative;
}

.room-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.6s;
}


.room-image:after{

    content:"";

    position:absolute;

    bottom:0;
    left:0;

    width:100%;
    height:100%;

    background:
    linear-gradient(
    transparent,
    rgba(0,0,0,.35)
    );

}


.room-card:hover img{

    transform:scale(1.12);

}



/* Content */


.room-content{

    padding:35px;

}



.room-rating{

    color:#d4af37;

    margin-bottom:15px;

}


.room-content h3{

    font-size:27px;

    font-weight:700;

    color:#111827;

}



.room-content p{

    color:#666;

    line-height:28px;

    margin:15px 0 25px;

}



/* Features */


.room-features-list{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}



.room-features-list span{


    background:#faf7ef;

    border:1px solid #eee2c4;

    padding:9px 15px;

    border-radius:30px;

    font-size:14px;

}


.room-features-list i{

    color:#c9a227;

}



/* Price */


.starting-price{

    margin-top:25px;

    display:block;

    color:#777;

}


.price{

    font-size:38px;

    font-weight:800;

    color:#c9a227;

}


.price span{

    font-size:16px;

    color:#777;

}



/* Buttons */


.room-buttons{

    margin-top:25px;

    display:flex;

    gap:15px;

}



.details-btn,
.room-btn{

    flex:1;

    text-align:center;

    padding:13px;

    border-radius:50px;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}



/* Details */


.details-btn{

    border:2px solid #c9a227;

    color:#c9a227;

}


.details-btn:hover{

    background:#c9a227;

    color:#fff;

}



/* Booking */


.room-btn{

    background:#111827;

    color:#fff;

}


.room-btn:hover{

    background:#c9a227;

    color:white;

}



/* Facilities Section */


.room-features{

    background:#111827;

    padding:70px 0;

}


.room-features i{

    font-size:40px;

    color:#c9a227;

}


.room-features h5{

    color:white;

    margin-top:15px;

}

/* Equal Height Cards */

.rooms-page .row{
    display:flex;
    flex-wrap:wrap;
}

.rooms-page .col-lg-4,
.rooms-page .col-md-6{
    display:flex;
}

.room-card{
    width:100%;
    display:flex;
    flex-direction:column;
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* Same Image Height */

.room-image img{
    width:100%;
    height:260px;
    object-fit:cover;
}

/* Content Equal Height */

.room-content{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:25px;
}

/* Same Title Height */

.room-content h3{
    min-height:60px;
    margin-bottom:12px;
}

/* Same Description Height */

.room-content p{
    min-height:75px;
    margin-bottom:18px;
    overflow:hidden;
}

/* Push Price & Buttons to Bottom */

.room-features-list{
    margin-bottom:20px;
}

.starting-price{
    margin-top:auto;
}

.price{
    margin-bottom:20px;
}

.room-buttons{
    margin-top:auto;
}


/* Mobile */


@media(max-width:768px){


.section-title{

    font-size:32px;

}


.room-image{

    height:250px;

}


.room-content{

    padding:25px;

}


}


/*==================================
LUXURY GALLERY PAGE
==================================*/

.gallery-page{
    background:#f8f6f1;
    padding:100px 0;
}


/* Section Heading */

.section-subtitle{
    color:#b08d57;
    font-size:14px;
    letter-spacing:4px;
    font-weight:600;
    text-transform:uppercase;
}

.section-title{
    font-size:42px;
    font-family: "Playfair Display", serif;
    color:#1c1c1c;
    margin:15px 0;
    font-weight:600;
}

.gallery-page p{
    color:#777;
    font-size:16px;
}


/* Gallery Card */

.gallery-card{
    position:relative;
    overflow:hidden;
    height:380px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 15px 40px rgba(0,0,0,0.12);
    cursor:pointer;
}


/* Image */

.gallery-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:all .6s ease;
}


/* Hover Image Zoom */

.gallery-card:hover img{
    transform:scale(1.12);
}


/* Overlay */

.gallery-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.55),
        rgba(0,0,0,.10)
    );
    opacity:0;
    transition:.4s;
}

.gallery-card:hover .gallery-overlay{
    opacity:1;
}

.gallery-popup{
    position:absolute;
    inset:0;
    display:block;
    z-index:3;
}


/* Luxury Border Effect */

.gallery-card::before{

    content:"";

    position:absolute;

    inset:15px;

    border:1px solid rgba(255,255,255,.5);

    border-radius:12px;

    z-index:2;

    opacity:0;

    transition:.4s ease;

}


.gallery-card:hover::before{

    opacity:1;

}

.hero .breadcrumb a,
.page-banner nav a{
    color:#d4af37;
    text-decoration:none;
}

.hero .breadcrumb a:hover,
.page-banner nav a:hover{
    color:#f5d76e;
}



/* Responsive */

@media(max-width:768px){

    .section-title{
        font-size:32px;
    }


    .gallery-card{
        height:300px;
    }

}


/*==============================
FACILITIES PAGE
==============================*/

.facilities-page{

    padding:100px 0;

    background:#f8f9fa;

}

.facility-card{

    background:#fff;

    padding:35px 25px;

    border-radius:20px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.4s;

    height:100%;

}

.facility-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.facility-card i{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:20px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:38px;

    color:#fff;

    background:#d4af37;

    transition:.4s;

}

.facility-card:hover i{

    background:#0f172a;

    transform:rotateY(180deg);

}

.facility-card h4{

    font-size:24px;

    font-weight:700;

    color:#0f172a;

    margin-bottom:15px;

}

.facility-card p{

    color:#666;

    line-height:28px;

}

/*================================
CONTACT PAGE
================================*/

.contact-section{

padding:100px 0;

background:#f8f9fa;

}

/* Left */

.contact-box{

display:flex;

gap:20px;

margin-bottom:30px;

align-items:flex-start;

}

.contact-icon{

width:65px;

height:65px;

background:#d4af37;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:28px;

color:#fff;

flex-shrink:0;

transition:.4s;

}

.contact-box:hover .contact-icon{

background:#0f172a;

transform:rotateY(180deg);

}

.contact-box h5{

font-weight:700;

margin-bottom:8px;

color:#0f172a;

}

.contact-box p{

color:#666;

line-height:28px;

}

/* Form */

.contact-form{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.contact-form .form-control{

height:55px;

border-radius:12px;

margin-bottom:20px;

}

.contact-form textarea{

height:180px!important;

resize:none;

}

.submit-btn{

background:#d4af37;

color:#fff;

padding:15px 35px;

border-radius:50px;

font-weight:600;

}

.submit-btn:hover{

background:#0f172a;

color:#fff;

}

/* Map */

.map-section iframe{

width:100%;

height:500px;

border:0;

}

/* Responsive */

@media(max-width:768px){

.contact-form{

padding:25px;

}

.contact-section{

padding:70px 0;

}

.map-section iframe{

height:350px;

}

}

/*=========================
BOOKING PAGE
=========================*/

.booking-section{

padding:100px 0;

background:#f8f9fa;

}

.booking-card{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.booking-card h2{

font-weight:700;

margin-bottom:25px;

color:#0f172a;

}

.booking-card label{

font-weight:600;

margin-bottom:8px;

}

.booking-card .form-control,
.booking-card .form-select{

height:55px;

border-radius:12px;

}

.booking-card textarea{

height:140px!important;

resize:none;

}

.booking-btn{

background:#d4af37;

color:#fff;

padding:15px 35px;

border-radius:50px;

font-weight:600;

}

.booking-btn:hover{

background:#0f172a;

color:#fff;

}

/*======================
SUMMARY
=======================*/

.booking-summary{

background:#fff;

padding:35px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

position:sticky;

top:120px;

}

.booking-summary h3{

margin-bottom:20px;

font-weight:700;

}

.booking-summary p{

display:flex;

justify-content:space-between;

margin-bottom:15px;

color:#555;

}

.booking-summary h4{

display:flex;

justify-content:space-between;

font-weight:700;

margin:20px 0;

}

.payment-btn{

width:100%;

padding:15px;

background:#0f172a;

color:#fff;

border-radius:50px;

}

.payment-btn:hover{

background:#d4af37;

color:#fff;

}

/*======================
RESPONSIVE
=======================*/

@media(max-width:991px){

.booking-summary{

margin-top:40px;

position:relative;

top:0;

}

}

@media(max-width:576px){

.booking-card{

padding:25px;

}

.booking-summary{

padding:25px;

}

}

/* admin button */
.admin-btn{
    width:45px;
    height:45px;
    border-radius:50%;
    background:#d4a017;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
    font-size:20px;
}

.admin-btn:hover{
    background:#fff;
    color:#d4a017;
    transform:scale(1.08);
}

.book-btn{
    margin-right:15px;
}


/*==================================
ATTRACTIONS PAGE
==================================*/

.attractions-page{
    padding:100px 0;
    background:#f8f6f1;
}

/* Section Heading */

.section-subtitle{
    color:#c9a227;
    font-size:14px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
}

.section-title{
    font-size:42px;
    font-weight:700;
    color:#111827;
    margin:12px 0;
}

.section-description{
    max-width:700px;
    margin:0 auto;
    color:#666;
    line-height:28px;
}

/* Card */

.place-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
    display:flex;
    flex-direction:column;
}

.place-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(0,0,0,.15);
}

/* Image */

.place-card img{
    width:100%;
    height:260px;
    object-fit:cover;
    transition:.5s;
}

.place-card:hover img{
    transform:scale(1.08);
}

/* Content */

.place-content{
    padding:25px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.place-content h4{
    font-size:24px;
    font-weight:700;
    color:#111827;
    margin-bottom:12px;
    min-height:60px;
}

.place-content p{
    color:#666;
    line-height:28px;
    margin:0;
    flex:1;
}

/* Responsive */

@media(max-width:992px){

    .place-card img{
        height:230px;
    }

}

@media(max-width:768px){

    .attractions-page{
        padding:70px 0;
    }

    .section-title{
        font-size:32px;
    }

    .place-card img{
        height:220px;
    }

}
