/* =========================
   GALLERY PAGE
========================= */

.gallery-page{
    padding:30px 8% 60px 8% !important;
    background:#f8f9fa;
    text-align:center;
}

.gallery-page h1{
    font-size:42px;
    color:#0a2342;
    margin-bottom:15px;
}

.gallery-page p{
    font-size:18px;
    color:#666;
    max-width:700px;
    margin:0 auto 50px;
    line-height:1.8;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

gallery-section, 
.gallery-header, 
main {
    padding-top: 30px !important;
    margin-top: 0 !important;
}

.gallery-section h1, 
.gallery-header h1,
main h1 {
    margin-top: 10px !important;
}

/* =========================
   GALLERY IMAGES
========================= */

.gallery-item{
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
    transition:0.4s;
}

.gallery-item img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    transition:0.5s;
}

.gallery-item:hover img{
    transform:scale(1.1);
}

.gallery-item:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,0.25);
}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media(max-width:992px){

.gallery-grid{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.gallery-page{
    padding:80px 20px;
}

.gallery-page h1{
    font-size:32px;
}

.gallery-page p{
    font-size:16px;
}

.gallery-grid{
    grid-template-columns:1fr;
}

.gallery-item img{
    height:250px;
}

}

/* =========================
   LIGHTBOX
========================= */

.lightbox{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.9);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.lightbox-img{
    max-width:90%;
    max-height:85%;
    border-radius:15px;
    box-shadow:0 0 30px rgba(255,255,255,0.2);
}

.close{
    position:absolute;
    top:30px;
    right:40px;
    font-size:45px;
    color:#fff;
    cursor:pointer;
    transition:.3s;
}

.close:hover{
    color:#ffcc00;
}

.navbar {
    width: 100% !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
    padding: 12px 5% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

.logo img {
    height: 40px !important;
}

.navbar nav {
    margin: 0 auto !important;
}

.navbar ul {
    display: flex !important;
    list-style: none !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.navbar ul li a {
    text-decoration: none !important;
    color: #2b2d42 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 5px 8px !important;
}

.navbar ul li a.active,
.navbar ul li a:hover {
    color: #ffb800 !important;
}

.btn-book {
    background-color: #ffb800 !important;
    color: #000000 !important;
    padding: 8px 20px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    transition: all 0.3s ease !important;
}

.btn-book:hover {
    background-color: #e6a600 !important;
}

.gallery-card img, 
.gallery-grid img {
    width: 100% !important;
    height: 280px !important;
    object-fit: cover !important;
    border-radius: 15px !important;
}

.gallery-cta {
    background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
    color: #ffffff;
    text-align: center;
    padding: 50px 20px;
    margin-top: 50px;
}

.gallery-cta h2 {
    font-size: 28px;
    margin-bottom: 10px;
}

.gallery-cta p {
    font-size: 16px;
    margin-bottom: 25px;
    opacity: 0.9;
}

.cta-btn {
    background-color: #ffb800;
    color: #000;
    padding: 12px 30px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.3s ease;
}

.cta-btn:hover {
    background-color: #e6a600;
}

.gallery-cta {
    background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
    color: #ffffff;
    text-align: center;
    padding: 40px 20px !important; 
    margin-top: 20px !important;
    margin-bottom: 30px !important;
}

/* =========================
   WHATSAPP BUTTON
========================= */

.whatsapp-btn{

    position:fixed;

    bottom:25px;

    right:25px;

    width:65px;

    height:65px;

    background:#25D366;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    z-index:9999;

    transition:.3s;

}

.whatsapp-btn img{

    width:35px;

    height:35px;

}

.whatsapp-btn:hover{

    transform:scale(1.1);

}

#backToTop{

    position:fixed;

    bottom:25px;

    left:25px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:#ffb703;

    color:#fff;

    font-size:24px;

    cursor:pointer;

    display:none;

    z-index:9999;

    transition:.3s;

    box-shadow:0 8px 20px rgba(0,0,0,.25);

}

#backToTop:hover{

    background:#ffb703;

    color:#000;

    transform:translateY(-5px);

}

#lightbox{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.9);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:99999;
}

#lightbox img{
    max-width:90%;
    max-height:85%;
    border-radius:12px;
}

#lightbox .close{
    position:absolute;
    top:20px;
    right:35px;
    color:#fff;
    font-size:45px;
    cursor:pointer;
}


@media screen and (max-width: 768px) {

    footer, 
    section[style*="width: 100vw"] {
        width: 100% !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    footer > div, 
    .footer-container {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 25px !important;
        padding: 30px 15px !important;
    }

    footer > div > div, 
    .footer-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .navbar {
        flex-direction: column !important;
        padding: 10px !important;
    }

    .navbar ul, 
    .nav-links {
        padding: 0 !important;
        margin: 10px 0 !important;
        gap: 8px !important;
    }

    .social-links {
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .social-links a {
        width: 90% !important;
    }

    section form {
        flex-direction: column !important;
        width: 90% !important;
    }

    section form input, 
    section form button {
        width: 100% !important;
    }
}