/*==================================================
HERO SECTION
==================================================*/

.hero{

    position:relative;

    width:100%;

    height:100vh;

    min-height:750px;

    background-image:url("/assets/images/hero/hero.jpg");

    background-repeat:no-repeat;

    background-position:center center;

    background-size:cover;

    overflow:hidden;

}



/*==============================
OVERLAY
==============================*/

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        rgba(0,0,0,.55),

        rgba(0,0,0,.55)

    );

    z-index:1;

}



/*==============================
CONTENT
==============================*/

.hero__overlay{

    position:relative;

    z-index:2;

    width:100%;

    height:100%;

}



.hero__overlay .container{

    height:100%;

    display:flex;

    align-items:center;

}



.hero__content{

    max-width:700px;

    color:white;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

}



/*==============================
SUBTITLE
==============================*/

.hero__subtitle{

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:4px;

    font-size:16px;

    font-weight:600;

    margin-bottom:18px;

}



/*==============================
TITLE
==============================*/

.hero__title{

    font-family:var(--font-title);

    font-size:72px;

    line-height:1.1;

    margin-bottom:25px;

    color:white;

}



/*==============================
LINE
==============================*/

.hero__line{

    width:120px;

    height:3px;

    background:var(--gold);

    margin-bottom:30px;

}



/*==============================
DESCRIPTION
==============================*/

.hero__description{

    font-size:20px;

    line-height:1.9;

    color:#ECECEC;

    max-width:560px;

    margin-bottom:45px;

}



/*==============================
BUTTON
==============================*/

.hero__button{

    align-self:flex-start;

}



/*==============================
SCROLL INDICATOR
==============================*/

.hero-scroll{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    z-index:2;

    display:flex;

    flex-direction:column;

    align-items:center;

    color:white;

    font-size:14px;

    letter-spacing:2px;

}



.hero-scroll span{

    margin-bottom:10px;

}



.hero-scroll::after{

    content:"";

    width:2px;

    height:45px;

    background:var(--gold);

    animation:scrollAnimation 2s infinite;

}



/*==============================
ANIMATION
==============================*/

@keyframes scrollAnimation{

    0%{

        opacity:0;

        transform:translateY(-10px);

    }

    50%{

        opacity:1;

        transform:translateY(0);

    }

    100%{

        opacity:0;

        transform:translateY(10px);

    }

}

/*==================================================
PRESENTATION
==================================================*/

.presentation{

    background:var(--white);

    padding:120px 0;

}

.presentation-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.presentation-content{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.presentation-content .section-title{

    margin-bottom:20px;

}

.presentation-content .section-description{

    margin-bottom:35px;

    max-width:550px;

}

.presentation-image{

    display:flex;

    justify-content:flex-end;

}

.presentation-image .image-frame{

    width:100%;

    max-width:560px;

}

.presentation-image img{

    width:100%;

    height:620px;

    object-fit:cover;

}


@media (max-width:992px){

    .presentation-grid{

        grid-template-columns:1fr;

        gap:50px;

    }

    .presentation-content{

        text-align:center;

        align-items:center;

    }

    .section-title.left{

        text-align:center;

    }

    .section-line.left{

        margin:20px auto 40px;

    }

    .presentation-image{

        justify-content:center;

    }

}

/*==================================================
POPULAR ROOMS
==================================================*/

.rooms{

    padding:120px 0;

    background:var(--off-white);

}

.rooms .section-subtitle{

    display:block;

    text-align:center;

}

.rooms-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.room-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:var(--transition);

}

.room-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.room-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:transform .5s ease;

}

.room-card:hover img{

    transform:scale(1.08);

}

.room-card-body{

    padding:30px;

    text-align:center;

}

.room-title{

    font-family:var(--font-title);

    font-size:28px;

    margin-bottom:10px;

    color:var(--black);

}

.room-type{

    color:var(--gray-700);

    font-size:16px;

    margin-bottom:15px;

}

.room-price{

    color:var(--gold);

    font-size:24px;

    font-weight:700;

    margin-bottom:20px;

}

.room-card .badge{

    margin-bottom:25px;

}

.room-card .btn{

    width:100%;

}

.rooms-button{

    margin-top:60px;

    text-align:center;

}

/*==================================================
POPULAR ROOMS
==================================================*/

@media(max-width:992px){

    .rooms-grid{

        grid-template-columns:1fr;

    }

}

/*==================================================
TESTIMONIALS
==================================================*/

.testimonials{

    padding:120px 0;

    background:#ffffff;

}

.testimonials .section-subtitle{

    text-align:center;

    display:block;

}

.testimonials-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.testimonial-card{

    background:#fff;

    border-radius:18px;

    padding:35px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.testimonial-text{

    font-size:18px;

    line-height:1.8;

    color:var(--gray);

    font-style:italic;

    margin-bottom:30px;

}

.testimonial-footer{

    display:flex;

    align-items:center;

    gap:18px;

}

.testimonial-footer img{

    width:70px;

    height:70px;

    border-radius:50%;

    object-fit:cover;

}

.testimonial-footer h4{

    font-size:20px;

    color:var(--black);

    margin-bottom:8px;

}

.testimonial-stars{

    display:flex;

    gap:5px;

    color:var(--gold);

    font-size:18px;

}

/*==================================================
TESTIMONIALS
==================================================*/

@media(max-width:992px){

    .testimonials-grid{

        grid-template-columns:1fr;

    }

}

/*==================================================
CALL TO ACTION
==================================================*/

.cta{

    background:url("../images/hero/hero.jpg");

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

}

.cta-overlay{

    background:rgba(0,0,0,.70);

    padding:120px 0;

    text-align:center;

}

.cta-title{

    font-family:'Playfair Display',serif;

    font-size:52px;

    color:#fff;

    margin-bottom:25px;

}

.cta-text{

    max-width:700px;

    margin:0 auto 40px;

    color:#ddd;

    font-size:20px;

    line-height:1.8;

}

.cta .btn{

    padding:18px 40px;

    font-size:18px;

}

/*==================================================
CTA
==================================================*/

@media(max-width:992px){

    .cta-title{

        font-size:36px;

    }

    .cta-text{

        font-size:18px;

    }

}