/* ============================================================
   Central Boutique Hotel — css/style.css
   Cycladic design: white, anthracite (#2c2c2c), clean & minimal
   ============================================================ */

/* ── Global reset & base ── */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-weight: 300;
    color: #333;
    background-color: #fff;
    margin: 0;
    padding: 0;
}

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

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

/* ── Hero / Header section ── */
#hero {
    background-color: #2c2c2c;
    min-height: 140px;
    padding-bottom: 15px;
    position: relative;
}

#hero .info {
    padding-left: 30px;
}

#hero .info i {
    font-size: 14px;
    margin-right: 6px;
}

#hero .phone {
    font-size: 13px;
    letter-spacing: 0.5px;
}

#hero .info a {
    color: #fff;
}

#hero .logo {
    max-height: 90px;
    margin-top: 20px;
}

#hero .member {
    font-size: 10px;
    color: #ccc;
    letter-spacing: 0.3px;
    line-height: 1.4;
    max-width: 300px;
    margin: 0 auto;
}

#hero .desc {
    font-size: 10px;
}

/* Language switcher */
.lang a {
    font-size: 12px;
    color: #fff;
    letter-spacing: 1px;
    font-weight: 400;
}

.lang span {
    font-size: 12px;
    color: #aaa;
    margin: 0 3px;
}

/* Find Us / Map button */
.find {
    vertical-align: middle;
}

.find-us {
    color: #fff;
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.find-us:hover {
    opacity: 0.8;
    color: #fff;
}

.find-us-txt {
    font-size: 11px;
    letter-spacing: 1px;
}

/* Book Now button */
.bookBtn {
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 600;
    border-radius: 0;
    border: none;
    padding: 8px 18px;
    text-transform: uppercase;
    transition: background 0.2s, color 0.2s;
}

.bookBtn:hover {
    background-color: #e0e0e0 !important;
    color: #000 !important;
}

/* Mobile footer info bar */
.mobilefooterInfo {
    display: none;
    background-color: #1e1e1e;
    padding: 8px 0;
}

.bookBtnMobile {
    font-size: 10px;
    letter-spacing: 1.5px;
    font-weight: 600;
    background-color: #fff;
    color: #222 !important;
    border-radius: 0;
    padding: 5px 12px;
    text-transform: uppercase;
}

.bookBtnMobile:hover {
    background-color: #ddd;
    color: #000 !important;
}

@media (max-width: 767px) {
    .mobilefooterInfo {
        display: block;
    }

    #hero .info,
    #hero .find,
    #hero .lang,
    #hero .bookBtn {
        display: none !important;
    }

    #hero .logo {
        max-height: 70px;
        margin-top: 15px;
    }
}

/* ── Innovate / About section ── */
#innovate {
    background-color: #fff;
}

#innovate .title {
    font-size: 1.4rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 300;
    color: #222;
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
    max-width: 780px;
}

#innovate .subTitle {
    max-width: 780px;
    font-size: 0.93rem;
    line-height: 1.8;
    color: #444;
}

#innovate .subTitle p {
    font-weight: 300;
}

/* Read more toggle */
#hidden_text {
    display: none;
}

#hidden_text.show {
    display: inline;
}

.read_more {
    background: none;
    border: none;
    color: #333;
    font-size: 0.85rem;
    letter-spacing: 1px;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    font-weight: 400;
}

.read_more:hover,
.read_more:focus {
    color: #000;
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
}

/* 3D Tour button */
.tourBtn {
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 500;
    border-radius: 0;
    border: 1px solid #444;
    text-transform: uppercase;
    transition: background 0.2s, color 0.2s;
}

.tourBtn:hover {
    background-color: #555 !important;
    color: #fff !important;
}

/* ── Gallery section ── */
#gallery {
    background-color: #f7f7f7;
    padding-bottom: 50px;
    position: relative;
}

#gallery .title {
    font-size: 1.4rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 300;
    color: #222;
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
    max-width: 500px;
}

#gallery .swiper-container {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 40px;
}

#gallery .swiper-slide img {
    max-height: 560px;
    object-fit: cover;
    width: 100%;
}

.swiper-button-next,
.swiper-button-prev {
    color: #2c2c2c;
}

.swiper-pagination-bullet-active {
    background: #2c2c2c;
}

/* ── Video section ── */
#video {
    background-color: #fff;
}

#video .container {
    border: 1px solid #e0e0e0;
}

.videoTitle {
    font-size: 1.3rem;
    font-weight: 300;
    letter-spacing: 1px;
    color: #222;
    line-height: 1.4;
}

/* ── Learn More / Naoussa Hills link section ── */
#learn {
    background-color: #f2f2f2;
}

.learnMore {
    font-size: 1.1rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 300;
    color: #222 !important;
    border-bottom: 1px solid #aaa;
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    transition: opacity 0.2s;
}

.learnMore:hover {
    opacity: 0.6;
    color: #000 !important;
}

/* ── Footer section ── */
#footer {
    background-color: #2c2c2c;
}

#footer p {
    font-size: 0.78rem;
    letter-spacing: 0.5px;
    line-height: 1.7;
    color: #ccc !important;
}

#footer a {
    color: #ccc;
    text-decoration: underline;
}

#footer a:hover {
    color: #fff;
}

/* Social icons row */
.social {
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 10px 0 5px;
}

.social a {
    display: inline-block;
    opacity: 0.85;
    transition: opacity 0.2s;
    margin: 0 6px;
}

.social a:hover {
    opacity: 1;
}

/* ── Back to top button ── */
#back-to-top {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 999;
    display: block;
    opacity: 0.6;
    transition: opacity 0.2s;
}

#back-to-top:hover {
    opacity: 1;
}

/* ── Utility classes ── */
.hide {
    display: none;
}

/* ── Responsive tweaks ── */
@media (max-width: 991px) {
    #video .container {
        padding: 20px !important;
    }

    .videoTitle {
        font-size: 1.1rem;
        margin-bottom: 15px;
    }
}

@media (max-width: 575px) {
    #innovate .title,
    #gallery .title {
        font-size: 1rem;
        letter-spacing: 1px;
    }

    .learnMore {
        font-size: 0.85rem;
        letter-spacing: 1px;
    }

    #back-to-top {
        bottom: 15px;
        right: 15px;
    }

    #back-to-top svg {
        width: 45px;
        height: 45px;
    }
}
