/* =========================
   Kings Hotel
   Main Stylesheet
   ========================= */


* {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {

    margin: 0;

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

    background-color: #f7f3eb;

    color: #2b2620;

    line-height: 1.8;

}


/* =========================
   Hero Section
   ========================= */


.hero {

    height: 90vh;

    background-image:
    linear-gradient(
        rgba(0,0,0,0.45),
        rgba(0,0,0,0.55)
    ),
    url("../images/hero.jpg");

    background-size: cover;

    background-position: center;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

}


.hero-overlay {

    color: white;

    padding: 30px;

}


.hero h1 {

    font-size: 4.5rem;

    letter-spacing: 12px;

    margin: 0 0 30px;

    font-weight: normal;

}


.tagline {

    font-size: 1.6rem;

    letter-spacing: 1px;

}


/* =========================
   Navigation
   ========================= */


.navigation {

    background: #1b1713;

    text-align: center;

    padding: 18px;

}


.navigation a {

    color: #e5c98a;

    text-decoration: none;

    margin: 0 25px;

    font-size: 1.1rem;

}


.navigation a:hover {

    color: white;

}



/* =========================
   Main Sections
   ========================= */


main {

    max-width: 1100px;

    margin: auto;

    padding: 60px 30px;

}


section {

    margin-bottom: 80px;

}


h2 {

    text-align: center;

    font-size: 2.4rem;

    font-weight: normal;

    letter-spacing: 2px;

    margin-bottom: 40px;

}


.about {

    max-width: 850px;

    margin-left: auto;

    margin-right: auto;

}


.about p {

    font-size: 1.15rem;

    text-align: justify;

}



/* =========================
   Hotel Accordion
   ========================= */


details {

    background: white;

    margin-bottom: 25px;

    border: 1px solid #ddd0b8;

    box-shadow: 0 8px 25px rgba(0,0,0,0.08);

}


summary {

    cursor: pointer;

    padding: 25px 30px;

    font-size: 1.5rem;

    color: #5b4322;

    list-style: none;

    position: relative;

}


summary::-webkit-details-marker {

    display: none;

}


summary::after {

    content: "+";

    position: absolute;

    right: 30px;

    font-size: 2rem;

}


details[open] summary::after {

    content: "−";

}



.hotel-content {

    padding: 0 35px 35px;

}


.hotel-content img {

    width: 100%;

    max-height: 500px;

    object-fit: cover;

    margin-bottom: 25px;

}


.hotel-content h3 {

    font-size: 2rem;

    font-weight: normal;

    color: #5b4322;

}


.hotel-content p {

    font-size: 1.1rem;

    text-align: justify;

}



/* =========================
   Footer
   ========================= */


footer {

    background: #1b1713;

    color: #ddd;

    text-align: center;

    padding: 35px;

    font-size: 0.95rem;

}



/* =========================
   Mobile Responsive
   ========================= */


@media (max-width: 768px) {


    .hero {

        height: 70vh;

    }


    .hero h1 {

        font-size: 2.5rem;

        letter-spacing: 6px;

    }


    .tagline {

        font-size: 1.15rem;

    }


    .navigation a {

        display: inline-block;

        margin: 8px;

    }


    main {

        padding: 40px 20px;

    }


    h2 {

        font-size: 2rem;

    }


    summary {

        font-size: 1.2rem;

        padding: 20px;

    }


    .hotel-content {

        padding: 0 20px 25px;

    }

}
