/* Basic Reset and Global Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* Optional: Use a similar font */
    font-family: Poppins, sans-serif; 
}

:root {
    /* Define color variables based on the image */
    --primary-yellow: #FFD700; /* A bright yellow */
    --secondary-green: #4CAF50; /* A vibrant green */
    --text-dark: #333;
    --text-light: #fff;
    --hero-overlay-color: rgba(255, 255, 255, 0.75); /* White foggy overlay */
}

/* --- Navigation Bar (Header) --- */
.navbar {
    background-color: var(--primary-yellow);
    /* Ensures the navbar is at the top */
    position: sticky; 
    top: 0;
    z-index: 10;
}

.navbar-content {
    /* Set max width to mimic typical web layouts */
    max-width: 1200px; 
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-section {
    display: flex;
    align-items: center;
}

.logo {
    /* Adjust size to match the small logo in the image */
    height: 40px; 
    margin-right: 10px;
}

.university-name {
    color: var(--text-dark);
    font-size: 10px;
    font-weight: bold;
    line-height: 1.2;
}

.nav-links a {
    color: var(--text-dark);
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    margin-left: 25px;
    /* Animation: Subtle transition for hover effect */
    transition: color 0.3s ease; 
    transition: color 0.3s ease, transform 0.3s ease;
}

.nav-links a:hover {
    color: var(--secondary-green);
}

.nav-links .highlight {
    /* To match the slightly different look/emphasis of ROOM RESERVATIONS */
    /* Could be colored green, or just a different shade */
    color: var(--text-dark); 
}


/* --- Hero Section (Main Content) --- */
/*.hero-section {*/
/*     Set height to cover the visible screen */
    /*height: calc(100vh - 60px); /* Adjust based on your header height 
    width: 100%;
     Replace 'library-bg.jpg' with the path to your actual image 
    background-image: url('img/kplrc_banner_2-2048x881.png'); 
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
}*/

/*.overlay {*/
    /* This creates the foggy, white washout effect */
/*    background-color: var(--hero-overlay-color); */
/*    width: 100%;*/
/*    height: 100%;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*}*/

.welcome-text {
    /* Match the green color and font style */
    color: var(--secondary-green);
    font-size: 4vw; /* Responsive font size */
    font-weight: 900;
    margin-bottom: 30px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
    /* Initial state for a JS animation (e.g., fade in from below) */
    /* opacity: 0; 
    transform: translateY(20px); 
    transition: opacity 1s ease-out, transform 1s ease-out; */
}

.login-button {
    background-color: var(--secondary-green);
    color: var(--text-light);
    border: none;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    /* Animation: Click/Hover effect */
    transition: background-color 0.3s ease, transform 0.1s ease;
}

.login-button:hover {
    background-color: #388E3C; /* Darker shade on hover */
}

.login-button:active {
    /* Push-down effect on click */
    transform: scale(0.98); 
}



/* --- Styling for the New Image Gallery Section --- */

.image-gallery-section {
    padding: 50px 20px;
    background-color: #ffffff; /* White background for the section */
    text-align: center;
}

.gallery-header h2 {
    color: #4CAF50; /* Green color for the title */
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
}

/* Gallery Container - Grid Layout (3 columns) */
.gallery-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; /* Space between images */
    max-width: 1200px;
    margin: 0 auto; /* Center the grid container */
}

/* Individual Image Card Styling */
.image-card {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gallery-image {
    width: 100%;
    /* Maintain aspect ratio */
    height: auto; 
    object-fit: cover;
    border-radius: 8px; /* Rounded corners for the images */
    /* Optional: Add a subtle border or shadow to mimic the original look */
    border: 1px solid #ddd;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
}

/* Caption Styling */
.caption {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-top: 0;
}

/* Responsive adjustment for the gallery */
@media (max-width: 768px) {
    .gallery-container {
        /* Stack images vertically on small screens */
        grid-template-columns: 1fr;
    }
}



.vm-section {
    padding: 60px 20px;
    background-color: #ffffff; /* Light gray background to separate from other sections */
    text-align: center;
}

.vm-container {
    display: flex;
    justify-content: center;
    gap: 50px; /* Space between Vision and Mission columns */
    max-width: 900px;
    margin: 0 auto 50px auto; /* Center the V/M block and add space at the bottom */
}

.vm-item {
    flex: 1; /* Both items take equal space */
    max-width: 400px; /* Limit width for readability */
    padding: 0 10px;
}

.vm-title {
    color: #4CAF50; /* Green color for the titles */
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 20px;
}

.vm-item p {
    color: #4CAF50; /* Green text color for the body text */
    font-size: 16px;
    line-height: 1.6;
}

/* Styling for the Kundo E. Pahm LRC Description */
.keplrc-description {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
    background-color: #ffffff; /* White background for the large text block */
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.keplrc-description p {
    color: #333; /* Darker text for readability in the main block */
    font-size: 16px;
    line-height: 1.8;
    text-align: justify; /* Justify the text block for a clean look */
}

/* Media Query for responsiveness (Vision/Mission stack on mobile) */
@media (max-width: 768px) {
    .vm-container {
        flex-direction: column; /* Stack V/M vertically */
        gap: 30px;
    }
}


/* --- Styling for Philosophy Section --- */

.philosophy-section {
    padding: 60px 20px;
    background-color: #ffffff; /* White background */
    text-align: center;
}

.philosophy-container {
    max-width: 1000px;
    margin: 0 auto;
    text-align: left; /* Align text within the container to the left, as in the image */
}

.philosophy-title {
    color: #4CAF50; /* Green color for the title */
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
}

.philosophy-intro {
    color: #4CAF50; /* Green text color */
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.philosophy-list {
    list-style: none; /* Remove default list markers */
    padding-left: 0;
    counter-reset: philosophy-counter; /* Initialize a counter */
}

.philosophy-list li {
    color: #4CAF50; /* Green text color */
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
    position: relative;
    padding-left: 25px; /* Space for the custom counter */
}

/* Custom numbering style using CSS counters */
.philosophy-list li:before {
    counter-increment: philosophy-counter;
    content: counter(philosophy-counter) ".";
    font-weight: bold;
    color: #4CAF50; /* Ensure the number is also green */
    position: absolute;
    left: 0;
    top: 0;
}


/* --- Styling for Goals and Objectives Section --- */

.goals-objectives-section {
    padding: 60px 20px;
    background-color: #ffffff; /* Light gray background to distinguish the section */
    text-align: center;
}

.goals-container {
    max-width: 1000px;
    margin: 0 auto;
    text-align: left;
}

.goals-main-title {
    color: #4CAF50; /* Green color for the main title */
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 20px;
}

.goals-subtitle {
    color: #4CAF50; /* Green text color */
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 40px;
}

.goals-heading {
    color: #FFD700; /* Gold/Yellow color for the "Goals" heading */
    font-size: 28px;
    font-weight: bold;
    margin-top: 40px;
    margin-bottom: 20px;
}

.goals-list {
    list-style: decimal; /* Use standard numbered list */
    padding-left: 25px;
}

.goals-list li {
    color: #4CAF50; /* Green text color for list items */
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
}


/* --- Footer Styling --- */
.site-footer {
    background-color: #FFD700; /* University Yellow */
    padding: 5px 20px;
    text-align: center;
    border-top: 3px solid #4CAF50; /* Green accent line */
}

.footer-content {
    max-width: 1000px;
    margin: 0 auto;
}

.footer-logo {
    width: 50px; /* Adjust size as needed */
    height: auto;
    margin-bottom: 5px;
}

.footer-university-name {
    color: #006400; /* Dark Green */
    font-size: 10px;
    font-weight: bold;
    margin: 10px 0;
    letter-spacing: 1px;
}

.footer-tagline {
    color: #006400; /* Dark Green */
    font-size: 10px;
    margin-bottom: 5px;
}

.footer-copyright {
    color: #006400; /* Dark Green */
    font-size: 10px;
    margin-top: 20px;
    border-top: 1px solid rgba(0, 100, 0, 0.2);
    padding-top: 15px;
}

.hero-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden; /* prevents spill */
}

.bg-video {
    position: absolute;
    inset: 0;                 /* 🔑 replaces top/left hacks */
    width: 100%;
    height: 100%;
    object-fit: cover;        /* 🔑 THIS forces perfect fit */
    object-position: center;  /* keeps subject centered */
    z-index: -2;
}


/* Dark overlay for readability */
.hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: -1;
}

.overlay {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
}


/* Responsive Footer */
@media (max-width: 768px) {
    .footer-university-name {
        font-size: 18px;
    }
    .objectives-heading, .objectives-list, .library-hours-heading, .library-hours-text {
        max-width: 95%;
    }
}