/* =========================================
   01. GLOBAL RESETS & TYPOGRAPHY
   ========================================= */
* {
    margin: 0;
    padding: 0;
    font-family: 'Raleway', sans-serif;
    box-sizing: border-box; 

    /* Prevents text from being highlighted/selected */
    -webkit-user-select: none; 
    -ms-user-select: none; 
    user-select: none;
}

/* Allow users to type in forms/inputs if you ever add them */
input, textarea {
    -webkit-user-select: text; 
    -ms-user-select: text; 
    user-select: text; 
}

img {
    /* Prevents clicking and dragging images to your desktop or new tabs */
    -webkit-user-drag: none; 
}

html {
    scroll-behavior: smooth;
}

h1 {
    font-size: 36px;
    font-weight: 600;
}

p {
    color: #333;
    font-size: 14px;
    font-weight: 400; 
    line-height: 22px;
    padding: 10px;
}

/* =========================================
   02. HEADER & NAVIGATION
   ========================================= */
.header {
    min-height: 100vh;
    width: 100%;
    background-color: #1a1f33; 
    background-image: url('pictures/pic1.JPG');
    background-position: center;
    background-size: cover;
    position: relative;
}

.nav {
    display: flex;
    padding: 2% 6%;
    justify-content: flex-end; 
    align-items: center;
}

.nav-links ul li {
    list-style: none;
    display: inline-block;
    padding: 8px 12px;
    position: relative;
}

.nav-links ul li a {
    color: black;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 1px;
}

.nav-links ul li::after {
    content: '';
    width: 0%;
    height: 2px;
    background: #5d8c55;
    display: block;
    margin: auto;
    transition: 0.5s;
}

.nav-links ul li:hover::after {
    width: 100%;
}

.text-box {
    width: 90%;
    max-width: 800px;
    color: #5d8c55;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.text-box h1 {
    font-size: 62px;
    margin-bottom: 10px;
}

.text-box p {
    margin: 10px 0 40px;
    font-size: 16px;
    color: black;
    line-height: 1.6;
}

.button {
    display: inline-block;
    text-decoration: none;
    color: black;
    border: 1px solid #355935;
    padding: 12px 34px;
    font-size: 13px;
    background: transparent;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 4px;
}

.button:hover {
    border: 1px solid #5d8c55;
    background: #5d8c55;
}

/* =========================================
   03. ABOUT SECTION (SIDE-BY-SIDE)
   ========================================= */
.about-split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 80%;
    margin: 80px auto;
    gap: 50px;
}

.about-img-col {
    flex-basis: 45%;
}

.about-img-col img {
    width: 90%;
    aspect-ratio: 3 / 4; 
    object-fit: cover;
    border-radius: 10px;

}

.about-text-col {
    flex-basis: 50%;
    text-align: left;
}

.about-text-col h2 {
    font-size: 40px;
    font-weight: 400;
    color: #1a1f33; 
    margin-bottom: 15px;
}

.about-text-col .about-line {
    width: 40px;
    border: none;
    border-top: 1px solid #777;
    margin-bottom: 25px;
}

.about-text-col p {
    color: #444;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 20px;
    padding: 0;
}

/* =========================================
   04. GENERAL SECTIONS & CARDS (.more)
   ========================================= */
.more {
    width: 80%;
    margin: auto;
    text-align: center;
    padding-top: 100px;
}

.more1 {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.more-card {
    flex-basis: 31%;
    background: #f5f5dc; 
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 30px 12px;
    transition: 0.3s; 
}

.more-card h3 {
    text-align: center;
    font-weight: 600;
    margin: 10px;
    color: #333;
}

.more-card:hover {
    box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.2); 
    transform: translateY(-5px); 
}

/* =========================================
   05. PHOTOS & GALLERY GRIDS
   ========================================= */
.about-photos {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px; 
}

.me-photos {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 40px; 
}

.me-photos img {
    width: 31%; 
    aspect-ratio: 3/4; 
    object-fit: cover; 
    border-radius: 10px;
    transition: 0.3s;
}

.me-photos img:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.pic {
    width: 80%;
    margin: auto;
    text-align: center;
    padding: 50px 0 100px;
}

#pics.pic {
    min-height: 80vh; 
    padding-top: 60px;
}

.gallery-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Centers the bottom row of 2 */
    gap: 20px;
    margin-top: 40px;
    
}

.gallery-grid img {
    /* 31% width fits exactly 3 pictures per row before wrapping */
    width: 31%; 
    height: 250px; 
    object-fit: cover; 
    border-radius: 10px;
    transition: 0.3s;
}

.gallery-grid img:hover {
    transform: scale(1.05); 
}


/* =========================================
   06. SUBPAGE & TRIPS (trips.html)
   ========================================= */
.sub-header {
    height: 12vh; 
    min-height: 80px;
    width: 100%;
    background-color: #5d8c55; 
    background-image: linear-gradient(to right, #42633c, #5d8c55);
    position: relative;
    z-index: 10;
}

#trips-page {
    min-height: 80vh; 
    padding-top: 60px;
}

.trips-grid {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-top: 50px;
    flex-wrap: wrap;
}

.trip-card {
    flex-basis: 31%; /* Forces the card to take up 1/3 of the screen */
    text-decoration: none; 
    display: block; 
    background: #fdfdfd; /* Very subtle off-white background */
    border-radius: 10px;
    padding-bottom: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05); 
    transition: 0.3s;
}

.trip-card img {
    width: 100%;
    height: 250px; 
    object-fit: cover;
    border-radius: 10px 10px 0 0; /* Rounds only the top corners of the image */
}

.trip-card h3 {
    margin-top: 15px;
    font-size: 20px;
    font-weight: 600;
    color: #2c2a2a;
    transition: 0.3s;
}

.location-icon {
    color: #5d8c55;
    font-size: 16px;
    margin-left: 5px;
}

.trip-desc {
    color: #777;
    font-size: 14px;
    padding: 0 10px;
}

.trip-card:hover {
    transform: translateY(-8px); /* Lifts the whole card up */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* Deepens the shadow */
}

.trip-card:hover h3 {
    color: #5d8c55; 
}

/* --- Future Trips Section --- */
.future-trips {
    margin-top: 80px;
    padding-top: 40px;
    border-top: 1px solid #eee;
}

.future-trips h2 {
    font-size: 28px;
    font-weight: 400;
    color: #1a1f33;
}

.future-list {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 25px;
    flex-wrap: wrap;
}

.future-list li {
    font-size: 15px;
    color: #333;
    background: #f5f5dc; /* Matches the 'Know More' beige cards */
    padding: 10px 25px;
    border-radius: 30px;
    font-weight: 600;
}

.future-list li i {
    color: #5d8c55;
    margin-right: 8px;
}

/* --- PINTEREST MASONRY GRID --- */
.masonry-grid {
    column-count: 3; /* Creates 3 vertical columns */
    column-gap: 20px;
    margin-top: 40px;
}

.masonry-grid img {
    width: 100%;
    display: block;
    margin-bottom: 20px; /* Vertical space between stacked images */
    border-radius: 10px;
    break-inside: avoid; /* CRITICAL: Stops an image from being cut in half across two columns */
    transition: 0.3s;
}

.masonry-grid img:hover {
    transform: scale(1.03); 
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
#trip-gallery {
    min-height: 80vh; 
    padding-bottom: 50px;
}
/* =========================================
   07. CONTACT & SOCIAL LINKS
   ========================================= */
.social-links {
    display: flex;
    justify-content: center;
    gap: 25px; 
    margin-top: 25px;
    flex-wrap: wrap; 
}

.icon-link {
    color: #333; 
    font-size: 32px; 
    text-decoration: none;
    transition: 0.3s;
}

.icon-link:hover {
    color: #5d8c55; 
    transform: scale(1.1); 
}

#contact .button {
    color: #333;
    border-color: #333;
}

#contact .button:hover {
    color: #fff;
    border-color: #5d8c55;
    background: #5d8c55;
}

/* --- SOCIAL ICON BRAND HOVER COLORS --- */

/* Gmail Red */
#email-link:hover i {
    color: #ea4335;
    transform: scale(1.1); /* Adds a slight pop effect */
    transition: all 0.3s ease;
}

/* Instagram Pink */
#ig-link:hover i {
    color: #e1306c;
    transform: scale(1.1);
    transition: all 0.3s ease;
}

/* LinkedIn Blue */
#li-link:hover i {
    color: #0a66c2;
    transform: scale(1.1);
    transition: all 0.3s ease;
}

/* Ensure the icons transition smoothly back to their normal color when you stop hovering */
.icon-link i {
    transition: all 0.3s ease;
}


/* =========================================
   08. FOOTERS
   ========================================= */
/* Standard Footer */
.footer {
    text-align: center;
    padding: 20px;
    background-color: #5d8c55; 
    color: #fff;
}

.footer p {
    font-size: 13px;
    color: #ccc;
    padding: 0;
}

/* Dark Footer with Back to Top */
#bottom-footer {
    background-color: #12151e; 
    color: #fff;
    text-align: center;
    padding: 50px 0;
    margin-top: 50px;
}

#bottom-footer p {
    font-size: 14px;
    color: #8a90a2;
}

.social-links-footer {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-bottom: 30px;
}

.social-links-footer a {
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    transition: 0.3s;
}

.social-links-footer a:hover,
.back-to-top:hover {
    color: #5d8c55; 
}

.back-to-top {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    margin-bottom: 40px;
    transition: 0.3s;
}

.back-to-top i {
    margin-left: 8px; 
}

/* =========================================
   09. MOBILE RESPONSIVE QUERIES
   ========================================= */
@media (max-width: 768px) {
    .text-box h1 {
        font-size: 40px;
    }
    
    .nav {
        justify-content: center;
    }

    .more1 {
        flex-direction: column; 
    }

    .about-photos,
    .me-photos {
        flex-direction: column; 
    }
    
    .me-photos img {
        width: 100%; 
        margin-bottom: 20px;
    }

    .about-split {
        flex-direction: column; 
        text-align: center;
    }
    
    .about-text-col {
        text-align: center;
    }
    
    .about-text-col .about-line {
        margin: 0 auto 25px auto; 
    }
    /* Ensure the gallery looks good on mobile by stacking them */
    .gallery-grid img {
        width: 100%; /* Pictures take full width on small screens */
    }

    /* Mobile adjustments for Trips Page */
    .trip-card {
        flex-basis: 100%;
        margin-bottom: 20px;
    }
    .future-list {
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }
}

/* --- JAISALMER SPECIFIC COLORS --- */
.jaisalmer-header {
    background-color: #c29b40; 
    background-image: linear-gradient(to right, #a67c00, #c29b40);
}

.jaisalmer-footer {
    background-color: #c29b40; /* Matches the golden header */
}

/* Update back-to-top hover to match the golden theme on this page */
.jaisalmer-header ~ .back-to-top-container .back-to-top:hover {
    color: #c29b40;
}

/* --- DELHI SPECIFIC COLORS --- */
.delhi-header {
    background-color: #a685b5; /* Soft lilac/purple from the flowers */
    background-image: linear-gradient(to right, #805b91, #a685b5);
}

.delhi-footer {
    background-color: #a685b5; 
}

/* Update back-to-top hover to match the floral theme on this page */
.delhi-header ~ .back-to-top-container .back-to-top:hover {
    color: #a685b5;
}


/* =========================================
   10. SCROLL ANIMATIONS
   ========================================= */
.hidden-left {
    opacity: 0;
    transform: translateX(-100px); /* Starts pushed left */
    transition: all 0.8s ease-out; /* Controls the speed and smoothness */
}

.hidden-right {
    opacity: 0;
    transform: translateX(100px); /* Starts pushed right */
    transition: all 0.8s ease-out;
}

/* This class gets added by JavaScript when the element is on screen */
.show-element {
    opacity: 1;
    transform: translateX(0); /* Returns to original center position */
}
