@import url('https://fonts.googleapis.com/css2?family=Proxima+Nova:wght@400;700&display=swap');

body {
    font-family: "europa", sans-serif;
    font-weight: 300;
    letter-spacing: .04em;
    color: #666;
    margin: 0;
    padding: 0px 20px 20px 20px;
    background-color: #ffffff;
}

/* Header Styling */
header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background-color: #fff;
    padding: 50px 30px 20px 40px;
}

/* Logo Styling */
.logo {
    max-width: 373px;
}

.logo img {
    width: 100%;
}

/* Navigation Styling */
nav {
    margin-left: 40px;
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

nav li {
    display: inline;
    position: relative;
}

nav a {
    color: #777777 !important;
    text-decoration: none !important;
    font-size: 14px;
    font-family: "Proxima Nova", sans-serif;
}

/* Active link */
nav a.active {
    color: #000000 !important;
    font-weight: 400;
}

/* Hover effect for navigation links: turns black but no underline */
nav a:hover {
    color: #000000 !important;
    text-decoration: none !important;
}

/* Dropdown Styling */
.dropdown {
    position: relative;
}

.dropbtn {
    color: #777777 !important;
    cursor: pointer;
}

.dropbtn:hover,
.dropbtn:focus,
.dropbtn.active {
    color: #000000 !important;
}

/* Dropdown content */
.dropdown-content {
    display: none;
    position: absolute;
    left: 0;
    background-color: #ffffff;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    min-width: 160px;
    z-index: 10;
}

.dropdown-content a {
    display: block;
    padding: 10px;
    color: #777777 !important;
    text-decoration: none;
    white-space: nowrap;
}

.dropdown-content a:hover {
    color: #000000 !important;
    background-color: #f1f1f1;
}

.dropdown:hover .dropbtn {
    color: #000000 !important;
}

.dropdown:hover .dropdown-content {
    display: block;
}

/* Responsive Gallery Styling */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 8px;
    padding: 40px;
    justify-items: center;
    margin-top: -40px;
}

.gallery img {
    max-width: 100%;
    height: auto;
    border-radius: 0;
    object-fit: cover;
    cursor: pointer;
}

/* Lightbox Styling */
#lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 255); 
    display: none; /* Hidden by default */
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 9999; /* Ensure it's above everything */
    padding-top: 20px;
}

/* Lightbox Content */
.lightbox-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding: 10px;
    max-width: 90%;
    max-height: 90vh;
    overflow: hidden;
}

/* Lightbox Logo */
.lightbox-logo {
    max-width: 373px; /* Ensures the logo stays at max 373px */
    width: 100%;
    height: auto;
    margin-bottom: 20px; /* Space between logo and image */
}

/* Lightbox Image */
.lightbox-img {
    max-width: 90%;
    max-height: 80vh;
    border-radius: 5px;
    object-fit: cover;
}

/* Fix for lightbox navigation */
.lightbox-nav {
    margin-top: 15px;
    font-size: 14px;
    font-weight: normal;
    font-family: "Proxima Nova", sans-serif;
}

.lightbox-nav a {
    color: #777777;
    text-decoration: none;
    padding: 0 10px;
    font-size: 14px;
}

.lightbox-nav a:hover {
    color: black;
    text-decoration: underline;
}

/* Footer Styling */
footer {
    background-color: #fff;
    color: #777777;
    text-align: center;
    padding: 1px 0;
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

/* Global link styling: ensure navigation links are not affected */
a {
    color: #3d3d3d !important;
    text-decoration: none;
}

/* Ensure ALL non-nav links (body & footer) get underlined on hover */
body a:hover,
footer a:hover {
    color: #000000 !important;
    text-decoration: underline !important;
}

/* Explicitly remove underline for navigation links */
header nav a:hover,
header nav .dropdown a:hover {
    text-decoration: none !important;
}

/* Profile Page Layout */
.profile-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 40px;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: -25px;
}

.profile-text {
    flex: 1;
    max-width: 50%;
    padding-right: 20px;
    text-align: justify;
    line-height: 1.8;
}

.profile-image {
    flex: 1;
    max-width: 50%;
}

.profile-image img {
    width: 100%;
    max-height: 318px;
    height: auto;
    object-fit: contain;
}

/* Responsive Design */
@media (max-width: 768px) {
    header {
        flex-direction: column;
        text-align: center;
    }
    nav {
        margin-left: 0;
    }
    nav ul {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .gallery {
        grid-template-columns: 1fr;
    }
    section {
        padding: 15px;
    }
    .profile-container {
        flex-direction: column;
        text-align: center;
    }

    .profile-text, .profile-image {
        max-width: 100%;
        padding-right: 0;
    }
}

@media (max-width: 480px) {
    header {
        padding: 20px 15px;
    }
    .logo img {
        max-width: 373px;
        height: auto;
    }
    nav a {
        font-size: 12px;
    }
    footer {
        flex-direction: column;
        padding: 15px;
    }
}
