@charset "utf-8";
/* CSS Document */

/* ========================================= */
/* FLOATING NAVBAR */
/* ========================================= */

.navbar{
    position:fixed;

    top:30px;
    left:50%;

    transform:translateX(-50%);

    width:calc(100% - 120px);

    z-index:1000;
}

.navbar.scrolled{

    background:rgba(255,255,255,0.78);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,0.35);

    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.navbar.scrolled .nav-links a{
    color:#2b2b2b;
}

.navbar.scrolled .dropdown-arrow{
    color:#2b2b2b;
}

.nav-links a.active{
    color:#c89b60;
}

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

.rooms-hero{

    position:relative;
    padding:0;
    height:90vh;

    min-height:720px;

    overflow:hidden;
}

.rooms-hero img{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center center;
}

.rooms-hero-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        rgba(0,0,0,.18),
        rgba(0,0,0,.45)
    );
}

.rooms-hero-content{

    position:absolute;

    left:50%;
    top:55%;

    transform:translate(-50%,-50%);

    width:90%;

    max-width:900px;

    text-align:center;

    color:#fff;

    z-index:2;
}

.rooms-hero-content h1{

    font-family:'Cormorant Garamond', serif;

    font-size: 3.2rem;

    line-height:1.05;

    margin:20px 0;
}

.rooms-hero-content p{

    max-width:760px;
    font-size: 1rem;
    margin:auto;

    line-height:1.6;

    color:rgba(255,255,255,.92);
}


.rooms-hero-buttons{

    margin-top:40px;

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;
}

.rooms-hero .btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    background:#d8b27c;

    color:#fff;

    padding:18px 38px;

    border-radius:999px;

    text-decoration:none;

    font-weight:600;

    letter-spacing:.5px;

    transition:all .35s ease;

    box-shadow:
    0 10px 30px rgba(216,178,124,.25);
}


.rooms-hero .btn-primary:hover{

    background:#e0bf93;

    transform:translateY(-3px);

    box-shadow:
    0 18px 40px rgba(216,178,124,.35);
}


.rooms-hero .btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:18px 38px;

    border-radius:999px;

    border:1px solid rgba(255,255,255,.4);

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(12px);

    color:#fff;

    text-decoration:none;

    font-weight:500;

    letter-spacing:.5px;

    transition:all .35s ease;
}


.rooms-hero .btn-secondary:hover{

    background:rgba(255,255,255,.15);

    border-color:rgba(255,255,255,.7);

    transform:translateY(-3px);
}

.room-trust{

gap:20px;
flex-wrap:wrap;

margin-bottom:30px;
margin-top:30px;
color:rgba(255,255,255,.9);

font-size:.85rem;
}


/* =========================================
   ROOMS INTRO
========================================= */

.rooms-intro{

    padding:120px 0;

    background:#fff;
}

.rooms-intro-grid{

    max-width:1300px;

    margin:auto;

    padding:0 40px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;
}


/* IMAGE */

.rooms-intro-image img{

    width:100%;

    border-radius:30px;

    display:block;
}


/* CONTENT */

.rooms-intro-content h2{

    margin:15px 0 25px;

    font-family:'Cormorant Garamond', serif;

    font-size:2.6rem;

    line-height:1.1;

    color:#1f1f1f;
}

.rooms-intro-content p{

    margin-bottom:20px;
	font-size:1rem;
    color:#666;

    line-height:1.6;
}


/* FEATURES */

.intro-features{

    display:flex;

    gap:40px;

    margin-top:40px;

    flex-wrap:wrap;
}

.intro-feature{

    display:flex;

    flex-direction:column;
}

.intro-feature strong{

    font-size:1.4rem;
    font-family: 'Cormorant Garamond', serif;
    color:#c89b60;

    margin-bottom:5px;
}

.intro-feature span{

    color:#666;

    font-size:.95rem;
}

@media(max-width:991px){

.rooms-intro-grid{

grid-template-columns:1fr;

gap:50px;

}

.rooms-intro{

padding:90px 0;

}

}


@media(max-width:768px){

.intro-feature strong {
  font-size: 1.2rem;
	margin-bottom: 2px;}
	
.rooms-intro-grid{

padding:0 24px;

}

.intro-features{

gap:25px;

}

.intro-feature{

width:100%;

}

}

/* =========================================
   ROOMS GRID
========================================= */

.rooms-grid-section{

    padding:120px 0;

    background:#faf8f3;
}

.rooms-grid{

    max-width:1300px;

    margin:70px auto 0;

    padding:0 40px;

    display:grid;

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

    gap:35px;
}


/* CARD */

.room-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    transition:.35s ease;

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);
}

.room-card:hover{

    transform:translateY(-6px);

    box-shadow:
    0 25px 50px rgba(0,0,0,.08);
}


/* IMAGE */

.room-card img{

    width:100%;

    height:320px;

    object-fit:cover;

    display:block;
}

.room-image{

    position:relative;

    overflow:hidden;
}

.room-badge{

    position:absolute;

    top:18px;

    left:18px;

    background:rgba(255,255,255,.95);

    color:#b08d57;

    padding:8px 14px;

    border-radius:999px;

    font-size:.75rem;

    font-weight:600;

    backdrop-filter:blur(8px);

    box-shadow:
    0 10px 25px rgba(0,0,0,.08);
}


/* CONTENT */

.room-content{

    padding:35px;
}

.room-meta{

    display:flex;

    gap:20px;

    margin-bottom:10px;

    font-size:.85rem;

    text-transform:uppercase;

    letter-spacing:1px;

    color:#b08d57;
}

.room-highlights{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:20px;
}

.room-highlights span{

    padding:4px 12px;

    border-radius:20px;

    background:#f5efe4;

    color:#b08d57;

    font-size:.75rem;

    font-weight:500;
}

.room-content h3{

    margin-bottom:5px;

    font-family:'Cormorant Garamond', serif;

    font-size:2rem;

    color:#1f1f1f;
}

.room-content p{

    color:#666;

    line-height:1.8;

    margin-bottom:25px;
}

.room-occupancy{

    margin-top:12px;

    font-size:.85rem;

    color:#777;

    line-height:1.6;
}

/* BUTTON */

.room-link{

    color:#b08d57;

    text-decoration:none;

    font-weight:600;

    transition:.3s ease;
}

.room-link:hover{

    color:#8d6b3f;
}

@media(max-width:991px){

.rooms-grid{

grid-template-columns:1fr;

}

}


@media(max-width:768px){

.rooms-grid-section{

padding:90px 0;

}

.rooms-grid{

padding:0 24px;

}

.room-card img{

height:260px;

}

.room-content{

padding:25px;

}

.room-content h3{

font-size:1.7rem;

}

}


/* =========================================
   ROOM BENEFITS
========================================= */

.room-benefits{

    padding:120px 0;

    background:#ffffff;
}

.room-benefits-grid{

    max-width:1300px;

    margin:70px auto 0;

    padding:0 40px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;
}


/* CARD */

.benefit-card{

    background:#faf8f3;

    border-radius:28px;

    padding:40px 35px;

    transition:.35s ease;

    border:1px solid rgba(0,0,0,.05);
}

.benefit-card:hover{

    transform:translateY(-5px);

    box-shadow:
    0 20px 45px rgba(0,0,0,.06);
}


/* NUMBER */

.benefit-number{

    width:60px;
    height:60px;

    display:flex;

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

    border-radius:50%;

    background:#f2e8d8;

    color:#b08d57;

    font-weight:600;

    margin-bottom:25px;
}


/* TITLE */

.benefit-card h3{

    margin-bottom:15px;

    font-size:1.3rem;

    line-height:1.3;

    color:#1f1f1f;
}


/* TEXT */

.benefit-card p{

    color:#666;

    line-height:1.8;

    font-size:.95rem;
}

@media(max-width:991px){

.room-benefits-grid{

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

}

}

@media(max-width:768px){

.room-benefits{

padding:90px 0;

}

.room-benefits-grid{

grid-template-columns:1fr;

padding:0 24px;

}

.benefit-card{

padding:30px;

}

}

/* =========================================
   ROOM SELECTOR
========================================= */

.room-selector{

    padding:120px 0;

    background:#faf8f3;
}

.room-selector-grid{

    max-width:1300px;

    margin:70px auto 0;

    padding:0 40px;

    display:grid;

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

    gap:30px;
}

.selector-card{

    background:#fff;

    padding:40px;

    border-radius:28px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);

    transition:.35s ease;
}

.selector-card:hover{

    transform:translateY(-5px);

    box-shadow:
    0 25px 50px rgba(0,0,0,.08);
}

.selector-number{

    width:60px;
    height:60px;

    display:flex;

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

    margin-bottom:25px;

    border-radius:50%;

    background:#f2e8d8;

    color:#b08d57;

    font-weight:600;
}

.selector-card h3{

    margin-bottom:15px;

    font-size:1.4rem;

    line-height:1.3;

    color:#1f1f1f;
}

.selector-card p{

    color:#666;

    line-height:1.8;

    margin-bottom:25px;
}

.recommended-room{

    margin-bottom:25px;

    color:#777;

    font-size:.95rem;
}

.recommended-room strong{

    display:block;

    margin-top:8px;

    color:#b08d57;

    font-size:1.1rem;
}

.selector-card a{

    color:#b08d57;

    text-decoration:none;

    font-weight:600;

    transition:.3s ease;
}

.selector-card a:hover{

    color:#8d6b3f;
}

/* =========================================
   ROOM EXPERIENCE
========================================= */

.room-experience{

    position:relative;

    min-height:650px;

    overflow:hidden;
}


.room-experience img{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
}


.room-experience-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        rgba(0,0,0,.25),
        rgba(0,0,0,.65)
    );
}


.room-experience-content{

    position:relative;

    z-index:2;

    max-width:850px;

    margin:auto;

    min-height:650px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    color:#fff;

    padding:40px;
}


.room-experience-content h2{

    margin:18px 0;

    font-family:'Cormorant Garamond', serif;

    font-size:2.6rem;

    line-height:1.1;
}


.room-experience-content p{

    max-width:700px;

    line-height:1.9;

    color:rgba(255,255,255,.92);
}

@media(max-width:768px){

.room-experience{

min-height:500px;

}

.room-experience-content{

min-height:500px;

padding:24px;

}

.room-experience-content h2{

font-size:2.4rem;

}

}

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

@media(max-width:768px){

    .room-features-section{
        padding:90px 20px;
    }

    .room-features-grid{
        grid-template-columns:1fr;

        gap:18px;
    }

    .feature-card{
        padding:26px;
    }

    .feature-text h3{
        font-size:1.2rem;
    }
	
	 .feature-card.highlight{
        grid-column: span 1;
    }
	
	.room-selector-grid{
    grid-template-columns:repeat(1,1fr);

}


}


/* ========================================= */
/* ROOM FAQ */
/* ========================================= */

.room-faq-section{
    padding:120px 8%;

    background:#f8f4ef;
}

.faq-wrapper{
    max-width:900px;

    margin:70px auto 0;
}

.faq-item{
    border-bottom:1px solid rgba(0,0,0,0.08);
}

.faq-question{
    width:100%;

    background:none;

    border:none;

    padding:30px 0;

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-align:left;

    cursor:pointer;

    font-size:1.15rem;

    font-weight:500;

    color:#2d241c;

    font-family:'Inter', sans-serif;
}

.faq-question span{
    font-size:1.4rem;

    color:#a6845e;

    transition:0.3s ease;
}

.faq-answer{
    max-height:0;

    overflow:hidden;

    transition:max-height 0.4s ease;
}

.faq-answer p{
    padding:0 0 28px;

    font-size:1rem;

    line-height:1.9;

    color:#5f5a54;

    max-width:760px;
}


/* ACTIVE FAQ */

.faq-item.active .faq-answer{
    max-height:300px;
}

.faq-item.active .faq-question span{
    transform:rotate(45deg);
}


/* =========================================
   LOCATION FAQ
========================================= */

.faq-section{
    padding:120px 8%;

    background:#f8f4ef;
}

.faq-wrapper{
    max-width:900px;

    margin:70px auto 0;
}

.faq-item{
    border-bottom:1px solid rgba(0,0,0,0.08);
}

.faq-question{
    width:100%;

    background:none;

    border:none;

    padding:30px 0;

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-align:left;

    cursor:pointer;

    font-size:1.15rem;

    font-weight:500;

    color:#2d241c;

    font-family:'Inter', sans-serif;
}

.faq-question span{
    font-size:1.4rem;

    color:#a6845e;

    transition:0.3s ease;
}

.faq-answer{
    max-height:0;

    overflow:hidden;

    transition:max-height 0.4s ease;
}

.faq-answer p{
    padding:0 0 28px;

    font-size:1rem;

    line-height:1.9;

    color:#5f5a54;

    max-width:760px;
}


/* ACTIVE FAQ */

.faq-item.active .faq-answer{
    max-height:300px;
}

.faq-item.active .faq-question span{
    transform:rotate(45deg);
}

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

.final-cta{

    position:relative;

    width:min(1400px,92%);

    margin:90px auto;

    border-radius:40px;

    overflow:hidden;

    min-height:280px;
}


.final-cta img{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

}

.cta-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    rgba(0,0,0,.35),
    rgba(0,0,0,.55)
    );

}

.cta-content{

    position:relative;

    z-index:2;

    max-width:760px;

    margin:auto;

    min-height:350px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    color:#fff;

    padding:40px;

}

.cta-content span{

    letter-spacing:4px;

    font-size:.8rem;

    opacity:.9;

}

.cta-content h2{

    margin:20px 0;

    font-size:2.6rem;

    line-height:1.1;

}

.cta-content p{

    max-width:650px;

    line-height:1.8;

    opacity:.95;

}

.cta-buttons{

    margin-top:35px;

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.btn-primary{

    background:#d4b27a;

    color:#111;

    padding:16px 34px;

    border-radius:999px;

    text-decoration:none;

}

.btn-secondary{

    border:1px solid rgba(255,255,255,.5);

    color:#fff;

    padding:16px 34px;

    border-radius:999px;

    text-decoration:none;

}

.cta-note{

    margin-top:25px;

    max-width:700px;

    font-size:.95rem;

    line-height:1.8;

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

}

@media(max-width:768px){

.cta-content h2{

font-size:2.2rem;

}

}


/* NOTE */

.final-room-note{
    margin-top:28px;

    font-size:0.9rem;

    color:#9b9389;

    line-height:1.7;
}


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

@media(max-width:768px){

    .rooms-hero{
        height:82vh;
        min-height:620px;;
    }

    .rooms-hero-content{
        top:56%;
    }

    .rooms-hero-content h1{
        font-size:2rem;

        line-height:1.25;
    }

    .rooms-hero-content p{
        font-size:0.98rem;
        line-height:1.6;
    }

    .navbar{
        width:calc(100% - 40px);

        top:20px;
    }
	
	.rooms-hero .btn-primary,
	.rooms-hero .btn-secondary{

		width:100%;

		max-width:280px;

	padding:15px 24px;

	}
	.rooms-intro-content h2{
		font-size:2rem;
	}
}

@media(max-width:991px){

.room-cta-box{
    flex-direction:column;

    padding:60px 34px;

    gap:40px;
}

.room-cta-content h2{
    font-size:2.8rem;
}

.room-cta-action{
    align-items:flex-start;
}

.room-cta-note{
    text-align:left;
}

}


@media(max-width:991px){

.compare-rooms-grid{
    grid-template-columns:1fr;

    gap:22px;
}

.compare-room-image img{
    height:240px;
}

}

@media(max-width:768px){
	
.faq-question {
    font-size: 1.1rem;
	font-weight: 500;}
	
.faq-answer p {
    font-size: 0.98rem;
}

.final-room-cta-section{
    padding:90px 20px;
}

.final-room-cta-box{
    padding:70px 28px;

    border-radius:28px;
}

.final-room-label{
    font-size:0.72rem;

    letter-spacing:3px;

    padding:10px 20px;
}

.final-room-cta-box h2{
    font-size:2.4rem;

    line-height:1.08;
}

.final-room-cta-box p{
    font-size:1rem;

    line-height:1.8;
}

.final-room-cta-btn{
    width:100%;

    padding:20px 28px;
}

}

@media(max-width:991px){

.mobile-booking-bar{

position:fixed;
bottom:0;
left:0;

width:100%;

background:#fff;

padding:12px 16px;

box-shadow:0 -5px 20px rgba(0,0,0,.08);

z-index:99999;

display:flex;

}

.mobile-booking-bar a{

width:100%;

background:#d4b27a;

color:#fff;

text-align:center;

padding:16px;

border-radius:999px;

text-decoration:none;

font-weight:600;

}

body{

padding-bottom:90px;

}

}

@media(min-width:992px){

.mobile-booking-bar{

display:none;

}

}
	
@media(max-width:768px){

.rooms-grid-section .section-label,
.room-benefits .section-label,
.room-selector .section-label,
.room-faq-section .section-label{

display:block;

font-size:.72rem;

letter-spacing:3px;

margin-bottom:12px;

}

}
	
@media(max-width:768px){

.section-label{

white-space:normal;

line-height:1.5;

}

}
@media(max-width:768px){

.rooms-grid-section .section-heading,
.room-benefits .section-heading,
.room-selector .section-heading,
.room-faq-section .section-heading{

padding-left:24px;
padding-right:24px;

}

.rooms-grid-section .section-heading h2,
.room-benefits .section-heading h2,
.room-selector .section-heading h2,
.room-faq-section .section-heading h2{

font-size:2rem;
line-height:1.2;

}

.rooms-grid-section .section-heading p,
.room-benefits .section-heading p,
.room-selector .section-heading p,
.room-faq-section .section-heading p{

font-size:1rem;
line-height:1.8;

}

}

@media(max-width:768px){

.final-cta .btn-primary,
.final-cta .btn-secondary{

    width:100%;
    max-width:280px;

    min-height:58px;

    padding:14px 24px;

    white-space:nowrap;

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

}

}

@media(max-width:768px){

.cta-buttons{

    flex-direction:column;

    align-items:center;

    gap:12px;

}

}
@media(max-width:768px){

.final-cta .btn-primary{

    width:100%;
    max-width:320px;

}

.final-cta .btn-secondary{

    display:none;

}

}