/* ===== RESET ===== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family: Arial, Helvetica, sans-serif;
}


/* ===== BODY BACKGROUND ===== */
body {
    /* Changed gradient from Dark Green to Midnight Blue (#2D0B5A) */
    background: linear-gradient(rgba(45, 11, 90, 0.7), rgba(45, 11, 90, 0.7)), 
                url("assets/images/logobg.png");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    color: white;
    scroll-behavior: smooth;
}

/* ===== HEADER ===== */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    /* Changed from #0f3d2e to Midnight Blue */
    background: #2D0B5A; 
    color: white;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}

/* ===== SIDE MENU ===== */
.side-menu {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    /* Changed from #0f3d2e to Midnight Blue */
    background: #2D0B5A;
    z-index: 999;
    transition: 0.5s;
    padding-top: 80px;
}

/* ===== FOOTER ===== */
footer {
    /* Changed from #0f3d2e to Midnight Blue */
    background: #2D0B5A;
    color: white;
    padding: 40px 20px;
    text-align: center;
}

.logo-area img {
    width: 40px; 
    height: auto; /* Ensure this is 'auto' so it doesn't get squashed */
    display: block;
}

.logo-area {
    display: flex;
    align-items: center; /* This keeps both items vertically centered */
    gap: 15px;           /* Adds space between logo and text */
}

.logo-area img {
    width: 40px;
    height: 40px;        /* Ensures the logo has a fixed size */
    object-fit: contain; /* Prevents the image from being stretched */
}

.logo-area h2 {
    margin: 0;           /* Removes default margins that might push it down */
    font-size: 20px;     /* Adjust font size if it's too large for the header */
    white-space: nowrap; /* Keeps the school name on one line */
}

.menu-btn{

font-size:24px;

cursor:pointer;

}


/* ===== SIDE MENU ===== */

/* ===== PREMIUM SIDE MENU ===== */
.side-menu {
    position: fixed;
    top: 0;
    right: -100%; /* Changed to hide completely off-screen */
    width: 300px;
    height: 100%;
    /* Glassmorphism effect */
    background: rgba(#2D0B5A); 
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
    padding-top: 100px;
    z-index: 2000;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.5);
}

.side-menu ul {
    list-style: none;
    text-align: left;
    padding: 0 40px;
}

.side-menu ul li {
    margin: 30px 0;
    overflow: hidden; /* For text animation */
}

.side-menu a {
    color: white;
    text-decoration: none;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 1px;
    transition: 0.3s;
    display: inline-block;
    position: relative;
}

/* Premium Hover Underline Effect */
.side-menu a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -5px;
    left: 0;
    background-color: #D4AF37;
    transition: width 0.3s ease;
}

.side-menu a:hover {
    color: #D4AF37;
    transform: translateX(10px);
}

.side-menu a:hover::after {
    width: 100%;
}

<section id="gallery" class="gallery">
    <h2 class="section-title">School Gallery</h2>
    </section>
	
	@media (max-width: 480px) {
    .side-menu ul li {
        margin: 20px 0; /* Reduced from 30px to fit all links on screen */
    }
}


/* ===== HOME ===== */

.home{

height:100vh;

display:flex;

align-items:center;

justify-content:center;

padding:20px;

margin-top:60px;

}

/* ===== ENQUIRE BUTTON ===== */
.enquire-btn {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 30px;
    background: #D4AF37; /* Matches your stat-card color */
    color: #0f3d2e;      /* Dark green text for contrast */
    text-decoration: none;
    font-weight: bold;
    border-radius: 50px;
    transition: 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 224, 255, 0.3);
}

.enquire-btn:hover {
    background: #ffffff;
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(255, 255, 255, 0.4);
}

/* Ensure smooth scrolling (You already have this, but good to double check) */
html {
    scroll-behavior: smooth;
}

/* ===== GLASS DARK EFFECT ===== */

.glass{

background:rgba(255,255,255,0.1);

backdrop-filter:blur(10px);

-webkit-backdrop-filter:blur(10px);

border-radius:12px;

border:1px solid rgba(255,255,255,0.25);

box-shadow:0 8px 30px rgba(0,0,0,0.4);

padding:25px;

}


/* ===== WELCOME BOX ===== */

.welcome-box{

max-width:420px;

text-align:center;

}

.welcome-box h2{

margin-bottom:10px;

}



.school-stats{
    padding:60px 20px;
    text-align:center;
}

.section-title{
    font-size:32px;
    margin-bottom:40px;
}

.stats-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:20px;
    max-width:900px;
    margin:auto;
}

.stat-card{
    padding:30px;
    border-radius:15px;
    background:rgba(255,255,255,0.1);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,0.2);
    transition:0.3s;
}

.stat-card:hover{
    transform:translateY(-5px);
}

.stat-card h3{
    font-size:30px;
    color:#D4AF37;
}

.stat-card p{
    font-size:16px;
}


/* ===== VISION SECTION ===== */

.vision{

padding:80px 20px;

text-align:center;

}

.vision h2{

margin-bottom:25px;

}

.vision-box{

max-width:700px;

margin:auto;

}

/* ===== ACHIEVERS SECTION ===== */
.achievers {
    padding: 80px 20px;
    text-align: center;
}

.achiever-container {
    display: flex;
    overflow-x: auto;
    gap: 20px;
    padding: 20px 0;
    justify-content: flex-start;
    scrollbar-width: thin; /* Firefox */
}

.achiever-card {
    min-width: 200px;
    padding: 20px;
    border-radius: 15px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.achiever-card img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
    border: 3px solid #D4AF37;
}

.achiever-card h3 {
    margin-top: 10px;
    font-size: 20px;
    color: #ffffff;
    letter-spacing: 0.5px;
}

.percentage {
    margin-top: 10px;
    font-size: 28px;        /* Increased size for better visibility */
    font-weight: 800;       /* Made bolder */
    color: #D4AF37;         /* Your theme's cyan color */
    text-shadow: 0 0 10px rgba(0, 224, 255, 0.5); /* Adds a soft glow effect */
    display: block;
}

/* Hide scrollbar for a cleaner look */
.achiever-container::-webkit-scrollbar {
    display: none;
}

/* Gallery Section */
.gallery {
    padding: 80px 20px;
    text-align: center;
}

.gallery-container {
    display: flex;
    overflow-x: auto;
    gap: 20px;
    padding: 20px 0;
    scrollbar-width: thin; /* Makes scrollbar slim in some browsers */
}

.gallery-card {
    min-width: 250px;
    height: 180px;
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}

.gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gallery-card:hover img {
    transform: scale(1.1); /* Subtle zoom on hover */
}

.director-section{
    padding:70px 20px;
    text-align:center;
}

.director-card{
    max-width:900px;
    margin:auto;
    display:flex;
    align-items:center;
    gap:30px;
    padding:30px;
    border-radius:20px;

    background:rgba(255,255,255,0.1);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,0.2);
}

.director-img img {
    width: 200px;
    height: 250px; /* Optional: adds a fixed height */
    object-fit: cover; /* Ensures the image doesn't look stretched */
    border-radius: 15px;
}
}

.director-text{
    text-align:left;
}

.director-text h3{
    font-size:24px;
}

.designation{
    color:#D4AF37;
    margin-bottom:10px;
}

@media(max-width:768px){

.director-card{
    flex-direction:column;
    text-align:center;
}

.director-text{
    text-align:center;
}

}

/* ===== FACILITIES ===== */

.facilities{

padding:80px 20px;

text-align:center;

}

.facilities h2{

margin-bottom:25px;

}

.facility-container{

display:flex;

overflow-x:auto;

gap:20px;

padding-bottom:10px;

}

.card{

min-width:150px;

background:rgba(255,255,255,0.1);

backdrop-filter:blur(8px);

border-radius:10px;

padding:22px;

box-shadow:0 4px 15px rgba(0,0,0,0.4);

text-align:center;

transition:0.3s;

border:1px solid rgba(255,255,255,0.2);

}

.card:hover{

transform:translateY(-6px);

}

.card i{

font-size:32px;

margin-bottom:10px;

color:#ffffff;

}


/* ===== ABOUT ===== */

.about{

padding:80px 20px;

text-align:center;

}

.about h2{

margin-bottom:25px;

}

.about-box{

max-width:750px;

margin:auto;

}




.social{

margin-top:15px;

}

.social a{

color:white;

margin:0 10px;

font-size:22px;

transition:0.3s;

}

.social a:hover{

opacity:0.7;

}


/* ===== RESPONSIVE ===== */

@media (min-width:768px){

.welcome-box{

max-width:500px;

}

.facility-container{

justify-content:center;

overflow-x:hidden;

}

}       
/* Mobile Specific Adjustments */
@media (max-width: 480px) {
    .logo-area h2 {
        font-size: 16px; /* Decreased from 20px */
    }

    .logo-area {
        gap: 8px; /* Reduces space between the icon and text to save horizontal room */
    }

    header {
        padding: 10px 15px; /* Slightly reduces header padding to maximize space */
    }
}                                                                

/* Force White Background for About Page */
#about-page {
    background: white !important;
    color: #333 !important;
    background-image: none !important;
}



/* Typography for Official Look */
.about-content {
    max-width: 800px;
    margin: 60px auto;
    padding: 0 20px;
    line-height: 1.8;
}

.about-content h2 {
    font-size: 2rem;
    color: #2D0B5A;
    margin: 40px 0 20px 0;
    border-left: 5px solid #2D0B5A;
    padding-left: 15px;
}

.official-message {
    margin-top: 50px;
    padding: 30px;
    border: 1px solid #ddd;
    background: #f9f9f9;
}

/* Official Message Styles */
.message-section {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 50px;
}

.official-message {
    text-align: center;
    padding: 40px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.profile-img {
    width: 180px;
    height: 180px;
    border-radius: 50%; /* Makes the image round */
    object-fit: fill;
    margin-bottom: 20px;
    border: 4px solid #2D0B5A; /* Official green border */
}

.official-message h3 {
    color: #2D0B5A;
    margin-bottom: 15px;
}

.official-message p {
    font-style: italic;
    color: #555;
    max-width: 600px;
    margin: 0 auto;
}

/* Compact Stat Bar */
.stat-bar {
    display: flex;
    justify-content: center; /* Keeps items centered */
    gap: 40px;               /* Adds spacing between items */
    background: #f8f9fa;     /* Very light gray */
    padding: 15px 20px;      /* Reduced padding for a thinner look */
    border-top: 2px solid #2D0B5A;
    border-bottom: 2px solid #2D0B5A;
}

.stat-item h3 {
    font-size: 1.4rem;       /* Reduced from 2rem */
    color: #2D0B5A;
    margin: 0;
}

.stat-item p {
    font-size: 0.75rem;      /* Smaller text for labels */
    color: #666;
    margin: 2px 0 0 0;
    text-transform: uppercase;
    font-weight: 600;
}

@media (max-width: 600px) {
    .stat-bar {
        display: grid; /* Switch to grid for better control */
        grid-template-columns: 1fr 1fr; /* Two columns */
        gap: 20px; /* Space between them */
        padding: 20px;
    }
    
    .stat-item h3 {
        font-size: 1.2rem; /* Make the numbers slightly smaller on mobile */
    }
    
    .stat-item p {
        font-size: 0.65rem; /* Make the label smaller to fit */
    }
}







/* Update your header logo styling */
.logo-area {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Add this to ensure the link doesn't change the font color or decoration */
header a {
    text-decoration: none;
    color: inherit;
}
.logo-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
}

/* Optional: Add a subtle hover effect to show it's clickable */
.logo-link:hover {
    opacity: 0.8;
    cursor: pointer;
}

.year-title {
    /* Glassmorphism settings */
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
    
    /* Layout & Spacing */
    display: inline-block;
    padding: 10px 30px;
    margin: 50px 0 20px 0;
    border-radius: 50px;
    
    /* Typography */
    color: #ffffff;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-size: 1.2rem;
    text-align: center;
}

/* Gallery Container */
.gallery-section {
    padding: 100px 20px 50px 20px;
    text-align: center;
}

.gallery-grid {
    display: grid;
    /* Forces 4 columns on large screens, automatically wraps */
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
    max-width: 1000px;
    margin: 0 auto;
}

/* Fixed square dimensions */
.gallery-item {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1; 
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Keeps aspect ratio consistent */
    transition: transform 0.3s ease;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

/* Mobile: Force 2 columns */
@media (max-width: 600px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
	
	/* Lightbox Styles */
.lightbox {
    display: none; /* Hidden by default */
    position: fixed;
    z-index: 3000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    align-items: center;
    justify-content: center;
}

.lightbox-content {
    max-width: 90%;
    max-height: 80%;
    border-radius: 8px;
}

.close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 40px;
    cursor: pointer;
}

.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    font-size: 30px;
    padding: 20px;
    cursor: pointer;
    z-index: 3001;
}

.prev-btn { left: 20px; }
.next-btn { right: 20px; }
.nav-btn:hover { background: rgba(255, 255, 255, 0.4); }



/* Move your Lightbox CSS out here too */
.lightbox {
    display: none;
    position: fixed;
    /* ... rest of your lightbox properties ... */
}

/* --- Now, only use the media query for specific mobile overrides --- */
@media (max-width: 600px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    /* You can add any other mobile-specific tweaks here */
}



/* Remove these lines from your style.css */
/* Force White Background for About Page */ 
#about-page { 
    background: white !important; 
    color: #333 !important; 
    background-image: none !important; 
}


/* ===== WHITE WINDOW ENQUIRY FORM ===== */
.contact-page-main {
    padding: 50px 20px;
    display: flex;
    justify-content: center;
}

.enquiry-window {
    background: #ffffff; /* Solid white */
    padding: 40px;
    border-radius: 15px;
    width: 100%;
    max-width: 500px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2); /* Soft shadow for depth */
    color: #333; /* Dark text for readability */
}

.enquiry-window h2 {
    margin-bottom: 20px;
    text-align: center;
    color: #0f3d2e; /* Dark green to match your theme */
}

.enquiry-window input, 
.enquiry-window textarea {
    width: 100%;
    padding: 12px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background: #f9f9f9;
    color: #333;
}

.submit-btn {
    width: 100%;
    padding: 12px;
    background: #0f3d2e;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    transition: 0.3s;
}

.submit-btn:hover {
    background: #1a634a;
}


/* ===== CONTACT PAGE LAYOUT ===== */
.contact-page-main {
    padding-top: 100px;
    padding-bottom: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contact-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px; /* The gap between form and details */
    max-width: 1000px;
    width: 90%;
    margin-top: 20px;
	
	}

.enquiry-window {
    background: white;
    padding: 30px;
    border-radius: 15px;
    color: #333;
}

.detailed-info {
    padding: 30px;
    color: white;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 15px;
}

.detailed-info h3 { margin-bottom: 20px; color: #D4AF37; }
.detailed-info p { margin: 10px 0; font-size: 1.1rem; }

/* Social & Map */
.social-section { text-align: center; margin: 40px 0; }
.social-bar { display: flex; justify-content: center; gap: 30px; margin-top: 15px; }
.social-bar a { font-size: 2rem; color: white; transition: 0.3s; }
.social-bar a:hover { color: #D4AF37; }

.map-section {
    max-width: 1000px;
    width: 90%;
    margin-bottom: 50px;
    border-radius: 15px;
    overflow: hidden;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .contact-container { grid-template-columns: 1fr; }
}

/* Container for the social section */
.social-section { 
    text-align: center; 
    margin: 40px 0; 
    color: white; 
}

/* Flexbox to keep handles in a row and wrap if necessary */
.social-bar { 
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center; 
    gap: 20px; 
    margin-top: 20px; 
}

/* Styling for each social button */
.social-bar a { 
    display: flex; 
    align-items: center; /* Aligns icon and text vertically */
    gap: 10px;           /* Space between icon and text */
    font-size: 1.1rem; 
    color: white; 
    text-decoration: none; 
    background: rgba(255, 255, 255, 0.1); /* Semi-transparent background */
    padding: 12px 20px;
    border-radius: 50px; /* Makes them look like pills */
    transition: 0.3s;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.social-bar a:hover { 
    background: #D4AF37; 
    color: #0f3d2e;      /* Changes text to dark green on hover */
    border-color: #D4AF37;
}

/* Styling for the logo images */
.social-logo {
    width: 25px;       /* Fixed size for logos */
    height: 25px;
    object-fit: contain;
}

/* Update the anchor tag styling to ensure smooth alignment */
.social-bar a { 
    display: flex; 
    align-items: center; 
    gap: 12px;           /* Space between logo and text */
    font-size: 1.1rem; 
    color: white; 
    text-decoration: none; 
    background: rgba(255, 255, 255, 0.1); 
    padding: 10px 20px;
    border-radius: 50px; 
    transition: 0.3s;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.social-bar a:hover { 
    background: white; 
    color: #0f3d2e;      /* Contrast color on hover */
}

/* Contact Page Layout */
.contact-page-main { padding-top: 100px; display: flex; flex-direction: column; align-items: center; }

.contact-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 1000px;
    width: 90%;
}

/* Contact Cards */
.detailed-info { padding: 30px; border-radius: 20px; background: rgba(0,0,0,0.2); }
.contact-card { display: flex; gap: 15px; margin-bottom: 20px; }
.contact-card i { color: #D4AF37; font-size: 1.2rem; }

/* Social Buttons */
.social-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-top: 20px; }
.social-bar a { 
    display: flex; align-items: center; gap: 10px; padding: 10px 20px;
    background: rgba(255,255,255,0.1); border-radius: 50px; color: white; text-decoration: none;
}
.social-logo { width: 25px; }

/* Responsive */
@media (max-width: 768px) {
    .contact-container { grid-template-columns: 1fr; }
}


/* Update the main container spacing */
.contact-page-main {
    padding-top: 100px;
    padding-bottom: 50px;
    padding-left: 15px;  /* Added side padding for mobile */
    padding-right: 15px; /* Added side padding for mobile */
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Adjust the container to not be too wide on small screens */
.contact-container {
    display: grid;
    grid-template-columns: 1fr; /* Default to 1 column for mobile */
    gap: 30px; 
    max-width: 1000px;
    width: 100%; /* Changed from 90% to 100% since parent has padding now */
    margin-top: 20px;
}

/* Ensure the cards don't overflow */
.enquiry-window, .detailed-info {
    width: 100%;
    box-sizing: border-box; /* Ensures padding doesn't push width over 100% */
}

/* Media Query for Tablets and Desktops */
@media (min-width: 768px) {
    .contact-container {
        grid-template-columns: 1fr 1fr; /* Side-by-side layout for larger screens */
    }
}

/* --- Optimized Contact Page Layout --- */
.contact-page-main {
    padding-top: 100px;
    padding-bottom: 50px;
    padding-left: 20px;
    padding-right: 40px; /* Increased right padding as requested */
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box; /* Ensures padding stays inside 100% width */
    width: 100%;
}

.contact-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    max-width: 1100px;
    width: 100%;
    box-sizing: border-box;
}

/* --- Card Styles --- */
.enquiry-window, 
.detailed-info {
    width: 100%;
    padding: 30px;
    border-radius: 20px;
    box-sizing: border-box; /* Critical for mobile fitting */
    display: flex;
    flex-direction: column;
}

/* White Form Background */
.enquiry-window {
    background: white;
    color: #333;
}

/* Glass Detail Card */
.detailed-info.glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

/* --- Mobile Fixes (All Screen Sizes) --- */
@media (max-width: 768px) {
    .contact-page-main {
        padding-right: 35px; /* Maintains the right-side gap on small screens */
        padding-left: 15px;
    }

    .contact-container {
        grid-template-columns: 1fr; /* Stacks cards vertically */
        gap: 25px;
    }

    .enquiry-window, 
    .detailed-info {
        padding: 25px; /* Slightly tighter padding for small screens */
    }

    /* Ensure form inputs don't break the container */
    .enquiry-window input, 
    .enquiry-window textarea {
        width: 100%;
        box-sizing: border-box;
    }
}


/* ============================================================
   ULTIMATE SYMMETRIC CONTACT PAGE FIX
   Fits all mobiles, adds right-side padding, and stays clean.
   ============================================================ */

/* 1. Main Wrapper: Ensures nothing ever leaks out of the screen */
.contact-page-main {
    padding-top: 100px;
    padding-bottom: 60px;
    padding-left: 20px;
    padding-right: 40px !important; /* Forces your requested right-side padding */
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box !important;
    overflow-x: hidden; /* Prevent horizontal "wobble" */
}

/* 2. Container: Uses Flex for equal heights and perfect alignment */
.contact-container {
    display: flex;
    flex-direction: row; /* Side-by-side on desktop */
    flex-wrap: wrap;    /* Wraps to vertical on mobile */
    justify-content: center;
    align-items: stretch; /* This makes both boxes the same height */
    gap: 30px;
    width: 100%;
    max-width: 1100px;
    box-sizing: border-box !important;
}

/* 3. The Boxes: Both the form and info card get identical treatment */
.enquiry-window, 
.detailed-info {
    flex: 1;
    min-width: 300px; /* Forces wrapping when the screen gets too small */
    padding: 35px !important;
    border-radius: 25px !important;
    box-sizing: border-box !important;
    display: fit;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

/* White Form Specifics */
.enquiry-window {
    background: #ffffff;
    color: #333;
}

/* Dark Detail Card Specifics */
.detailed-info.glass {
    background: rgba(0, 0, 0, 0.4) !important; /* Slightly darker for better readability */
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* 4. Input Fix: Keeps form elements inside the white box */
.enquiry-window input, 
.enquiry-window textarea {
    width: 100% !important;
    margin-bottom: 15px;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ddd;
    box-sizing: border-box !important; /* Prevents input from sticking out */
}

/* 5. Mobile Override: Clean stacking for every size of phone */
@media (max-width: 768px) {
    .contact-page-main {
        padding-right: 20px !important; /* Maintains gap on right for mobile */
        padding-left: 15px !important;
    }

    .contact-container {
        flex-direction: column; /* Pure vertical stack */
        gap: 25px;
    }

    .enquiry-window, 
    .detailed-info {
        min-width: 100%; /* Spans full width of the padded container */
        padding: 25px !important;
    }
}

/* Fix for text overflowing from contact details */
.detailed-info, 
.enquiry-window {
    overflow-wrap: break-word; /* Standard way to wrap long words */
    word-wrap: break-word;     /* Older browser support */
    word-break: break-word;    /* Breaks long strings like emails */
    box-sizing: border-box !important; /* Forces padding inside the box */
}

/* Ensure individual contact items don't push out */
.contact-card p, 
.contact-card h4,
.contact-card div {
    max-width: 100%;
    overflow-wrap: break-word;
}

/* Fix for small mobile screens (under 360px) */
@media (max-width: 360px) {
    .detailed-info, 
    .enquiry-window {
        padding: 20px 15px !important; /* Further reduce side padding to give text more room */
    }
    
    .contact-card i {
        font-size: 1.2rem; /* Shrink icons slightly for very small screens */
    }
}

/* Update the Submit Button */
.enquiry-window button {
    background: #2D0B5A; /* Midnight Blue */
    color: white;
    border: none;
    padding: 12px 25px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    transition: 0.3s;
}

.enquiry-window button:hover {
    background: #000080; /* A slightly darker navy for hover effect */
}

/* Ensure form labels stand out against the glass background */
.enquiry-window label {
    color: #ffffff;
    font-weight: 600;
}

/* Update Footer Layout to Left Align */
footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Aligns items to the left of the footer container */
    gap: 15px;
    padding: 40px 5%; /* Side padding for a clean margin from the edge */
    background: #2D0B5A;
    text-align: left; /* Ensures text inside elements is left-aligned */
}

/* Container for the contact text lines */
.footer-contact-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligns the group of contact items to the left */
    gap: 25px; /* Spacing between mobile, email, and location */
    width: 100%;
}

/* Styling for the contact links/titles in the footer */
footer h2 {
    margin-bottom: 5px;
}

/* Social icons alignment */
.social {
    margin-top: 10px;
    display: flex;
    gap: 20px;
    justify-content: flex-start;
}

/* ===== GLASSMORPHISM SIDE MENU ===== */
.side-menu {
    position: fixed;
    top: 0;
    right: -300px; /* Hidden by default */
    width: 300px;
    height: 100%;
    
    /* Glassmorphism Core Properties */
    background: rgba(45, 11, 90, 0.85); /* Semi-transparent Midnight Blue */
    backdrop-filter: blur(15px);          /* The frosted glass effect */
    -webkit-backdrop-filter: blur(15px);  /* Safari support */
    
    /* Glass Borders and Shadows */
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
    
    padding-top: 80px;
    transition: 0.4s ease-in-out;
    z-index: 999;
}

/* Ensure links stand out against the glass */
.side-menu ul li a {
    color: white;
    text-decoration: none;
    font-size: 1.2rem;
    display: block;
    padding: 15px 25px;
    transition: 0.3s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* Subtle divider */
}

.side-menu ul li a:hover {
    background: rgba(255, 255, 255, 0.1); /* Light glow on hover */
    padding-left: 35px;
}
header {
    background: rgba(45, 11, 90, 0.85) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* ===== GLASSMORPHISM FOOTER ===== */
footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Left align items */
    gap: 15px;
    padding: 40px 5%;
    
    /* Same Glass Effect as Header */
    background: rgba(45, 11, 90, 0.85) !important; /* Semi-transparent Midnight Blue */
    backdrop-filter: blur(10px);                   /* Frosted glass blur */
    -webkit-backdrop-filter: blur(10px);           /* Safari support */
    
    /* Glass Border and Shadow */
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.2);
    
    color: white;
    text-align: left;
}

/* Container for horizontal contact info */
.footer-contact-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 25px;
    width: 100%;
}

/* Ensure social icons align left and look good on glass */
.social {
    margin-top: 10px;
    display: flex;
    gap: 20px;
    justify-content: flex-start;
}

.social a {
    color: white;
    font-size: 1.5rem;
    transition: 0.3s;
}

.social a:hover {
    opacity: 0.7;
    transform: translateY(-3px);
}

/* ===== ACHIEVERS SECTION PHOTO UPDATE ===== */
.achiever-card img {
    width: 100px;
    height: 100px;
    border-radius: 10px; /* Changed from 50% to 10px for a rectangle shape */
    object-fit: fill;   /* Keeps the student's face from stretching */
    margin-bottom: 15px;
    border: 2px solid #D4AF37; /* Maintains your theme's cyan border */
}




/* ===== FLEXIBLE ACHIEVERS GRID ===== */
.achievers {
    padding: 80px 20px;
    text-align: center;
}

.achiever-container {
    display: grid;
    /* Grid: Auto-fit creates as many columns as possible, minimum 160px wide */
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0;
    /* REMOVED: overflow-x: auto (this stops the horizontal scroll) */
}

.achiever-card {
    /* REMOVED: min-width: 200px (grid handles width now) */
    width: 100%; 
    padding: 20px;
    border-radius: 15px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s ease;
}

.achiever-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.15);
}

.achiever-card img {
    width: 120px;
    height: 140px; /* Better aspect ratio for student photos */
    border-radius: 10px;
    object-fit: cover;
    margin-bottom: 15px;
    border: 2px solid #D4AF37;
}



/* Update/Add this at the bottom of your style1.css */

@media (max-width: 600px) {
    .achiever-container {
        /* Force exactly 2 columns regardless of screen width */
        display: grid;
        grid-template-columns: repeat(2, 1fr) !important; 
        gap: 10px; /* Space between cards */
        padding: 10px;
        width: 100%;
        box-sizing: border-box;
        overflow: hidden; /* Prevents unwanted horizontal scroll */
    }

    .achiever-card {
        /* Remove any fixed widths that cause overlapping */
        width: 100% !important; 
        min-width: 0 !important; 
        margin: 0 !important;
        padding: 10px 5px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .achiever-card img {
        /* Ensure image scales down to fit the small column */
        width: 80px; 
        height: 100px;
        object-fit: cover;
        border-radius: 5px;
    }

    .achiever-card h3 {
        font-size: 13px; /* Smaller text for 330px width */
        margin: 5px 0;
        white-space: nowrap; /* Prevents name from breaking weirdly */
        overflow: hidden;
        text-overflow: ellipsis;
        width: 90%;
    }

    .percentage {
        font-size: 16px;
        font-weight: bold;
    }
}
/* Scroll Down Indicator */
.scroll-down-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    z-index: 10;
    opacity: 0.8;
}

.scroll-down-indicator span {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
    font-weight: bold;
}

.arrow {
    width: 20px;
    height: 20px;
    border-right: 2px solid #00ffff; /* Cyan color matching your theme */
    border-bottom: 2px solid #00ffff;
    transform: rotate(45deg);
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0) rotate(45deg);
    }
    40% {
        transform: translateY(-10px) rotate(45deg);
    }
    60% {
        transform: translateY(-5px) rotate(45deg);
    }
}

/* ===== SIMPLE TEXT HEADER REPLACEMENT ===== */
.simple-page-header {
    text-align: center;
    padding: 120px 20px 40px 20px; /* Top padding ensures it clears the fixed header */
    background: transparent;
}

.simple-page-header h1 {
    font-size: 2.5rem;
    color: #2D0B5A; /* Midnight Blue for the About page */
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
}

/* Optional: Adds a small decorative line under the heading */
.simple-page-header h1::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 25%;
    width: 50%;
    height: 3px;
    background: #D4AF37; /* Gold accent color */
    border-radius: 2px;
}

/* Adjust color for pages with dark backgrounds (like Gallery) */
body:not(#about-page) .simple-page-header h1 {
    color: #ffffff;
}

/* ===== PREMIUM SOLID COLOR HEADINGS ===== */
.simple-page-header {
    background: #2D0B5A; /* Deep Midnight Blue to match your theme */
    padding: 120px 20px 60px; /* Space for the fixed menu and breathing room below */
    text-align: center;
    border-bottom: 4px solid #D4AF37; /* Gold accent line for a premium feel */
    margin-bottom: 40px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

.simple-page-header h1 {
    color: #FFFFFF;
    font-size: 2.8rem;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-weight: 800;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

/* Responsive adjustment for mobile */
@media (max-width: 600px) {
    .simple-page-header {
        padding: 100px 15px 40px;
    }
    .simple-page-header h1 {
        font-size: 1.8rem;
        letter-spacing: 2px;
    }
}

/* Styling for the new button group in welcome box */
.button-group {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Secondary Button Theme (Outline version of Enquire Button) */
.secondary-btn {
    background: transparent !important;
    border: 2px solid #D4AF37;
    color: #ffffff !important;
}

.secondary-btn:hover {
    background: #D4AF37 !important;
    color: #2D0B5A !important;
}

/* ===== FEES PAGE STYLES ===== */

.fees-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 20px 80px;
}

.fees-card {
    background: white;
    color: #333; /* Dark text for the white background */
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.fees-card h2 {
    color: #2D0B5A;
    margin-bottom: 20px;
    border-bottom: 2px solid #D4AF37;
    display: inline-block;
    padding-bottom: 5px;
}

.fee-table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    font-size: 1rem;
}

.fee-table th {
    background-color: #2D0B5A;
    color: #D4AF37;
    padding: 15px;
    text-align: left;
}

.fee-table td {
    padding: 15px;
    border-bottom: 1px solid #eee;
}

.fee-table tr:nth-child(even) {
    background-color: #f8f9fa;
}

.fee-note {
    background: #fff9e6;
    padding: 15px;
    border-left: 5px solid #D4AF37;
    margin-top: 20px;
    font-style: italic;
}

/* Responsive Table */
@media (max-width: 600px) {
    .fees-card {
        padding: 20px;
    }
    .fee-table {
        font-size: 0.9rem;
    }
}
/* ===== OPTIMIZED SIDE MENU ===== */

.side-menu {
    width: 250px; /* Reduced from 300px to look sleeker */
    right: -250px; /* Update this to match the new width */
    padding-top: 80px; /* Space for the top close button area */
}

.side-menu ul li a {
    font-size: 1rem; /* Decreased from 1.2rem */
    padding: 10px 25px; /* Reduced vertical padding from 15px to 10px */
    letter-spacing: 1px; /* Slightly tighter text */
}

/* Optional: Add a subtle border between items to keep it organized */
.side-menu ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}