/* Navbar styling */



.navbar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    top: 0;
    background: #b0a092;
    padding: 0px 20px;
    font-weight: bold;
    font-size: 20px;
    z-index: 1000;
}

.nav-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Left navigation - align to the right within its container */
.nav-list-left {
    justify-content: flex-end;
    gap: 30px;
}

/* Right navigation - align to the left within its container */
.nav-list-right {
    justify-content: flex-start;
    gap: 30px;
}

/* Logo styling */
.logo {
    display: flex;
    justify-content: center;
    padding: 0 40px;
    /* Add space around logo */
}

.logo img {
    width: 65px;
    height: 70px;
}

.nav-list li a {
    text-decoration: none;
    color: rgb(255, 255, 255) !important;
    font-size: 20px;
    padding-bottom: 5px;
    display: inline-block;
    position: relative;
    transition: color 0.3s ease-in-out;
}

.nav-list li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 3px;
    background-color: #ffffff;
    transition: width 0.3s ease-in-out;
}

.nav-list li a:hover::after {
    width: 100%;
}

.nav-list li a.active::after {
    width: 100%;
    background-color: #ffffff;
}





/* Hide mobile elements by default */
.hamburger,
.mobile-menu-overlay,
.mobile-nav-list {
    display: none;
}

/* Mobile Navigation Styles - For tablets and phones */
@media (max-width: 1300px) {
    .hamburger {
        display: flex !important;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 25px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 1001;
    }

    .hamburger span {
        width: 100%;
        height: 3px;
        background-color: white;
        transition: all 0.3s ease;
        border-radius: 2px;
    }

    /* Hide desktop nav on mobile/tablet */
    .nav-list-left,
    .nav-list-right {
        display: none;
    }

    /* Show mobile menu elements */
    .mobile-menu-overlay,
    .mobile-nav-list {
        display: block !important;
    }

    /* Adjust navbar for mobile/tablet - keep grid but modify */
    .navbar {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        position: relative;
    }

    /* Center logo on mobile/tablet */
    .logo {
        justify-self: center;
        grid-column: 1 / -1;
        grid-row: 1;
    }

    /* Position hamburger on left */
    .hamburger {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }

    /* Mobile menu overlay */
    .mobile-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 999;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .mobile-menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .mobile-nav-list {
        position: fixed;
        top: 0;
        left: -100%;
        width: 80%;
        max-width: 300px;
        height: 100%;
        background-color: #b0a092;
        display: flex;
        flex-direction: column;
        padding: 80px 30px 30px;
        transition: left 0.3s ease;
        z-index: 1000;
        overflow-y: auto;
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
    }

    .mobile-nav-list.active {
        left: 0;
    }

    .mobile-nav-list li {
        margin-bottom: 15px;
        list-style: none;
    }

    .mobile-nav-list li a {
        color: white;
        text-decoration: none;
        font-size: 20px;
        font-weight: bold;
        display: block;
        padding: 12px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        transition: all 0.3s ease;
    }

    .mobile-nav-list li a:hover {
        color: rgb(141, 83, 7);
        transform: translateX(10px);
    }

    .close-menu {
        position: absolute;
        top: 20px;
        right: 20px;
        background: none;
        border: none;
        color: white;
        font-size: 30px;
        cursor: pointer;
        z-index: 1001;
    }

    /* Hamburger animation when active */
    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(6px, 6px);
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(6px, -6px);
    }
}

/* Nuclear option - remove visited styles globally for nav */
a.nav-link:visited {
    color: inherit !important;
}

/* Or even more specific */
nav a:visited,
.navbar a:visited,
.nav-list a:visited,
.mobile-nav-list a:visited {
    color: rgb(255, 255, 255) !important;
}

/* Nuclear option - ensure ALL nav links stay white */
.navbar a.nav-link,
.navbar .nav-list a,
.navbar .mobile-nav-list a,
.nav-list a,
.mobile-nav-list a {
    color: rgb(255, 255, 255) !important;
}

/* Force navbar links to stay white - override any global styles */
.navbar a,
.navbar .nav-list a,
.navbar .mobile-nav-list a,
.nav-list a,
.nav-list-left a,
.nav-list-right a,
.mobile-nav-list a,
.nav-link {
    color: rgb(255, 255, 255) !important;
}

/* Cover all link states */
.navbar a:link,
.navbar a:visited,
.navbar a:hover,
.navbar a:active,
.navbar a:focus,
.nav-list a:link,
.nav-list a:visited,
.nav-list a:hover,
.nav-list a:active,
.nav-list a:focus,
.mobile-nav-list a:link,
.mobile-nav-list a:visited,
.mobile-nav-list a:hover,
.mobile-nav-list a:active,
.mobile-nav-list a:focus {
    color: rgb(255, 255, 255) !important;
}

#leadership {
    background-color: #fffbf5;
    height: fit-content;
}

section,
footer,
.main-content {
    padding-left: 20px;
    padding-right: 20px;
}

/* Leadership Section Styles */
.leadership-container {
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 60px;
}

/* First row - 2 bigger boxes */
/* First row - 2 bigger boxes */
.leadership-row-1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    /* Same gap for both rows */
    width: 100%;
    margin-bottom: 30px;
    /* Same vertical space as the horizontal gap */
}

/* Second row - 3 smaller boxes */
.leadership-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
    /* Matches the top row exactly */
    width: 100%;
}

/* Leadership box styles - SAME HEIGHT FOR ALL */
.leadership-box {
    position: relative;
    overflow: hidden;
    /* width: 90%;  <-- REMOVE THIS */
    /* margin: 0 auto; <-- REMOVE THIS */

    width: 100%;
    /* Take up the full space assigned by the grid */
    min-height: 250px;
    border-radius: 20px;
    background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%);
    box-shadow: 0 5px 15px rgba(21, 6, 75, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.leadership-carousel-track {
    display: flex;
    width: 300%;
    /* Three steps = 300% width */
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    /* Smooth "slide" timing */
}

.leadership-step {
    width: 33.333%;
    /* Each step takes up exactly 1/3 of the track (one box width) */
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    position: relative;
}



/* Specific side positioning */



/* Arrow Positioning */
.nav-arrow {
    position: absolute;
    bottom: 20px;
    /* Forces both to the same distance from bottom */
    width: 30px;
    height: 30px;
    background-color: #b0a092;
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 20;

    /* Perfect Centering Logic */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    line-height: 0;
    /* Critical: stops text-box height from pushing arrow down */
    font-size: 22px;
}

.next-arrow {
    right: 20px;
}

.prev-arrow {
    left: 20px;
    /* Rotate the entire button - since it's a circle, 
       the button stays put but the icon flips perfectly */
    transform: rotate(180deg);
}



.next-arrow:hover {
    transform: scale(1.05);

}

.prev-arrow:hover {
    transform: rotate(180deg) scale(1.05);

}

/* Resume Style List */
.resume-list {
    margin-top: -10px;
    margin-bottom: 30px;
    padding-top: -20px;
    text-align: left;
    font-size: 16px;
    color: #4f331a;
    padding-left: 20px;
    padding-bottom: 5px;
    /* Keeps the text from overlapping the arrow area */
}


/* Base content */
.leadership-content-base {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease;
}

.leadership-content-details {
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px;
}

/* Hover state */
.leadership-box:hover .leadership-content-base {
    opacity: 0;
    visibility: hidden;
}

.leadership-box:hover .leadership-content-details {
    opacity: 1;
    visibility: visible;
    transition: all 0.5s ease;
}

.leadership-logo,
.leadership-logoGDSC,
.leadership-logoSWE,
.leadership-logoChevron,
.sase-logo,
.wics-logo {
    margin-bottom: 5px !important;
    /* Reduced from 15px */
}

/* Logo styling */
.leadership-logo-centered {
    width: 140px;
    height: 80px;
    object-fit: contain;
    margin-bottom: 5px;
}

.leadership-title-centered {
    font-size: 20px;
    font-weight: bold;
    color: #4f331a;
    text-align: center;
}

/* Hover state logos */
.leadership-logo {
    width: 120px;
    height: 70px;
    object-fit: contain;
    margin-bottom: 15px;
}

.wics-logo {

    width: 160px !important;
    height: 50px !important;
}

.sase-logo {
    margin-top: -10px;
    width: 180px !important;
    height: 60px !important;
}

.leadership-logoGDSC {
    width: 80px;
    height: 80px;
}

.leadership-logoSWE {
    width: 100px;
    height: 40px;
}

.leadership-logoChevron {
    width: 60px;
    height: 60px;
}

/* Hover state text */
.leadership-title {
    font-size: 22px;
    font-weight: bold;
    color: #4f331a;
    margin-bottom: 15px;
    text-align: center;
    line-height: 1.2;
    /* Tighter line height helps save vertical space */
}

.leadership-years {
    font-size: 16px;
    color: #4f331a;
    font-style: italic;
    line-height: 1.6;
    text-align: center;
}

/* Second row adjustments */
.leadership-row-2 .leadership-title {
    font-size: 20px;
}

.leadership-row-2 .leadership-years {
    font-size: 15px;
}



/* Leadership Photos Section */
.leadership-photos {
    margin-top: 50px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    /* Ensure it takes full available width */
}

.photo-row {
    display: flex;
    justify-content: center;
    gap: 30px;
    /* Same gap as leadership boxes */
    margin-bottom: 30px;
    /* Same gap as leadership boxes */
    flex-wrap: wrap;
    width: 100%;
    /* Ensure full width */
}

.leadership-photo {
    width: calc(33.333% - 20px);
    /* Make each photo take 1/3 of the row minus gap */
    max-width: 380px;
    /* Limit maximum size */
    height: 250px;
    object-fit: cover;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
    box-sizing: border-box;
    /* Include padding in width calculation */
}

/* For holi picture */
.leadership-photo[alt="holi pic"] {
    object-position: center 25%;
}

/* For sase picture */
.leadership-photo[alt="sase pic"] {
    object-position: center 50%;
}

/* For gbm picture */
.leadership-photo[alt="gbm pic"] {
    object-position: center 0%;
}

.leadership-photo:hover {
    transform: scale(1.05);
}




@media (max-width: 768px) {
    img {
        width: 100%;
        height: 300px;
        /* Or whatever height you have set */
        object-fit: cover;
        /* This makes the image fill the area */
        object-position: top;
        /* This ensures the top of the photo is visible */
    }

    .img[alt="hackathon pic"] {
        object-position: bottom;
    }

    /* 1. Container & Global Alignment */
    .leadership-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        /* Centers the entire stack */
        padding: 0 15px;
        margin-top: 40px;
        gap: 30px;
        /* Space between rows and photo sections */
    }

    /* 2. Row Alignment - Forces everything into one straight line */
    .leadership-row-1,
    .leadership-row-2,
    .leadership-photos,
    .photo-row {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        gap: 30px;
        /* Consistent vertical spacing between boxes/photos */
        padding: 0;
    }

    /* 3. Box & Photo Sizing - Ensures matching widths for the vertical line */
    .leadership-box,
    .leadership-photo {
        width: 100%;
        max-width: 450px;
        /* Adjust this to control how wide the "line" is */
        min-height: 250px;
        margin: 0 auto;
        border-radius: 20px;
        box-sizing: border-box;
        position: relative;
        overflow: hidden;
        /* Critical for carousel content */
    }

    .leadership-photo {
        height: 250px;
        /* Match box height for visual consistency */
        object-fit: cover;
    }

    /* 4. Carousel Content Fix - Ensures steps stay visible and horizontal */
    .leadership-carousel-track {
        display: flex !important;
        width: 300%;
        height: 100%;
    }

    .leadership-step {
        width: 33.333%;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 20px 35px;
        /* Added side padding to prevent text touching edges */
        box-sizing: border-box;
    }

    /* 5. Resume List Spacing & Centering */
    .resume-list {
        font-size: 17px;
        text-align: left;
        width: 100%;
        max-width: 300px;
        /* Keeps text block centered and readable */
        margin: 0 auto;
        padding-bottom: 10px;
        /* Clear space for the arrows */
        list-style-position: outside;
    }

    .resume-list li {
        margin-bottom: 10px;
        /* Increased spacing between bullets */
        line-height: 1.5;
        padding-left: 5px;
    }

    .resume-list li:last-child {
        margin-bottom: 0;
    }

    /* 6. Typography Scaling */
    .leadership-title {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .leadership-logo-centered,
    .leadership-logo {
        width: 100px;
        height: 60px;
        margin-bottom: 5px;
    }
}

@media (max-width: 480px) {
    .leadership-photo {
        width: 100%;
        /* 1 per row on mobile */
        height: 180px;
    }
}