
html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    width: 100%;
}

body {
    overflow-x: hidden;
    width: 100%;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
}

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, button, input, select, textarea {
    font-family: Arial, Helvetica, sans-serif;
}

ul, ol, li {
    list-style: none !important;
    list-style-type: none !important;
}

/* Ensure Font Awesome icons render correctly and are never overridden by global font rules */
.fa, .fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands,
[class^="fa-"], [class*=" fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", FontAwesome, sans-serif !important;
}

.fa-solid, .fas, .fa-solid::before, .fas::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.fa-brands, .fab, .fa-brands::before, .fab::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

.fa-regular, .far, .fa-regular::before, .far::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

img, video, iframe, canvas, svg {
    max-width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: high-quality;
}
/* Modal Overlay: Darkens the background */
.modal-overlay {
  display: flex;             /* Uses flexbox to center content */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.65); /* Dim dark background */
  z-index: 9999;             /* Sits on top of all other elements */
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Class to show the modal via JavaScript */
.modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

/* Modal Box */
.modal-content {
  background-color: #ffffff;
  width: 90%;
  max-width: 700px;
  max-height: 85vh;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
}

/* Header styling */
.modal-header {
  background-color: #08213d; /* Matching the dark blue academic banner */
  color: #ffffff;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 3px solid #d4af37;
}

.modal-header h2 {
  font-size: 1.1rem;
  margin: 0;
  font-weight: 500;
  line-height: 1.4;
}

/* Close button styling */
.close-btn {
  background: none;
  border: none;
  color: #ffffff;
  font-size: 2rem;
  cursor: pointer;
  line-height: 1;
  padding: 0 5px;
  transition: color 0.2s;
}

.close-btn:hover {
  color: #ff4d4d;
}

/* Body and image styling */
.modal-body {
  padding: 20px;
  overflow-y: auto; /* Adds a scrollbar if the notice content is too long */
}

.notice-subtitle {
  font-size: 1rem;
  margin-top: 0;
  margin-bottom: 15px;
  color: #333;
}

.notice-img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #ddd;
}

/* Modal Footer & Navigation Styling */
.modal-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background-color: #f8f9fa;
  border-top: 1px solid #e9ecef;
}

.modal-footer button.nav-arrow-btn {
  background-color: #08213d;
  color: #ffffff;
  border: 1px solid #d4af37;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 0.9rem;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.2s ease;
}

.modal-footer button.nav-arrow-btn:hover {
  background-color: #d4af37;
  color: #08213d;
}

.modal-footer button.nav-arrow-btn:active {
  transform: scale(0.97);
}

#noticeCount {
  font-size: 0.95rem;
  font-weight: 600;
  color: #495057;
}

/* Dark Mode Overrides for Modal Elements */
.dark-mode .modal-content {
  background-color: #1e1e1e;
  border: 1px solid #333;
}

.dark-mode .modal-footer {
  background-color: #2a2a2a;
  border-top: 1px solid #3a3a3a;
}

.dark-mode #noticeCount {
  color: #cbd5e1;
}

.dark-mode .modal-body p {
  color: #e2e8f0;
}


.top-bar{
    width:100%;
    background:#06172a;
    color:white;
    border-top:3px solid #d4af37;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:12px 40px;
}

.left,
.right{
    display:flex;
    align-items:center;
    gap:18px;
}

.left a{
    color:white;
    text-decoration:none;
    font-size:18px;
    transition: color 0.2s ease;
}

.left i{
    margin-right:5px;
    color: #d4af37;
}

.left a:hover{
    color:#d4af37;
}

#login{
    padding:8px 14px;
    border:1px solid #d4af37;
    border-radius:5px;
    cursor:pointer;
    font-size:14px;
    font-weight: 600;
    background: #0d2f52;
    color: #ffffff;
    outline: none;
    transition: all 0.2s ease;
}

#login:hover {
    background: #d4af37;
    color: #06172a;
}

/* ==================================================================
   MODE OPTIONS & ACCESSIBILITY TOOLBAR (BSAMV / INSTITUTIONAL PORTAL STYLE)
================================================================== */
.mode-options-bar {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mode-dropdown-wrapper {
    position: relative;
}

.mode-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid #d4af37;
    color: #ffffff;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.25s ease;
    outline: none;
}

.mode-btn:hover, .mode-dropdown-wrapper.open .mode-btn {
    background: #d4af37;
    color: #06172a;
}

.mode-btn i.caret-icon {
    font-size: 11px;
    transition: transform 0.25s ease;
}

.mode-dropdown-wrapper.open .caret-icon {
    transform: rotate(180deg);
}

.mode-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 210px;
    background: #08213d;
    border: 1px solid #d4af37;
    border-radius: 8px;
    padding: 6px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
    display: none;
    flex-direction: column;
    gap: 4px;
    z-index: 100000;
    animation: modeMenuFade 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.mode-dropdown-wrapper.open .mode-menu {
    display: flex;
}

@keyframes modeMenuFade {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mode-option-item {
    background: transparent;
    border: none;
    color: #ffffff;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
    width: 100%;
    transition: all 0.2s ease;
}

.mode-option-item:hover {
    background: rgba(212, 175, 55, 0.25);
    color: #d4af37;
}

.mode-option-item.active {
    background: #d4af37;
    color: #06172a;
    font-weight: 700;
}

.font-size-controls {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.5);
    border-radius: 6px;
    padding: 2px;
}

.font-size-btn {
    background: transparent;
    border: none;
    color: #ffffff;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.font-size-btn:hover {
    color: #d4af37;
}

.font-size-btn.active {
    background: #d4af37;
    color: #06172a;
}

/* FONT SIZING CLASSES ON BODY */
body.font-size-small {
    font-size: 14px !important;
}

body.font-size-large {
    font-size: 18px !important;
}

body.font-size-large h1,
body.font-size-large h2,
body.font-size-large h3,
body.font-size-large p,
body.font-size-large a,
body.font-size-large span {
    font-size: 1.12em !important;
}

/* HIGH CONTRAST ACCESSIBILITY MODE */
body.high-contrast-mode {
    background-color: #000000 !important;
    color: #ffff00 !important;
}

body.high-contrast-mode *,
body.high-contrast-mode p,
body.high-contrast-mode h1,
body.high-contrast-mode h2,
body.high-contrast-mode h3,
body.high-contrast-mode h4,
body.high-contrast-mode span,
body.high-contrast-mode a,
body.high-contrast-mode li,
body.high-contrast-mode label {
    color: #ffff00 !important;
    background-color: #000000 !important;
    border-color: #ffff00 !important;
    text-shadow: none !important;
}

body.high-contrast-mode div,
body.high-contrast-mode section,
body.high-contrast-mode article,
body.high-contrast-mode .navbar,
body.high-contrast-mode .top-bar,
body.high-contrast-mode .facility-card,
body.high-contrast-mode .notice-card,
body.high-contrast-mode .modal-content,
body.high-contrast-mode footer {
    background-color: #000000 !important;
    border: 2px solid #ffff00 !important;
}

body.high-contrast-mode button,
body.high-contrast-mode .btn,
body.high-contrast-mode select,
body.high-contrast-mode input {
    background-color: #ffff00 !important;
    color: #000000 !important;
    font-weight: bold !important;
    border: 2px solid #ffffff !important;
}

body.high-contrast-mode button *,
body.high-contrast-mode select * {
    color: #000000 !important;
}

.college-header{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    background-color: #08213d;
    border-bottom: 2px solid #d4af37;
}

.logo{
    width:100%;
    max-width:750px;
    height:auto;
    display:block;
}

.social-links {
    display: flex;
    gap: 15px;
    align-items: center;
}

@media (max-width:992px){

    .top-bar{
        flex-direction:column;
        gap:15px;
        text-align:center;
        padding: 15px 20px;
    }

    .left{
        justify-content:center;
        flex-wrap:wrap;
    }

}

@media (max-width:768px){

    .top-bar{
        padding:15px;
    }

    .left{
        flex-direction:column;
        gap:12px;
        align-items: center;
    }

    .social-links {
        justify-content: center;
        margin-bottom: 5px;
    }

    .right{
        width:100%;
        justify-content:center;
    }

    #login{
        width:220px;
    }

    .logo{
        max-width:95%;
    }

}

@media (max-width:480px){

    .left{
        font-size:13px;
    }

    .left a{
        font-size:16px;
    }

    .left span {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        line-height: 1.4;
        text-align: center;
    }

    .left i {
        margin-right: 0;
    }

    #login{
        width:100%;
        max-width: 200px;
        font-size:14px;
    }

}






/* ======================
      NAVIGATION BAR
====================== */

.navbar{
    width:100%;
    background:#0d2f52;
    border-bottom: 3px solid #d4af37;
}

.nav-menu{
    list-style:none;
    display:flex;
    justify-content:center;
    align-items:center;
}

.nav-menu li{
    position:relative;
}

.nav-menu li a{
    display:block;
    color:white;
    text-decoration:none;
    padding:16px 24px;
    font-size:15px;
    font-weight:700;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    border-bottom: 3px solid transparent;
    margin-bottom: -3px;
}

.nav-menu li a:hover{
    background:#123a63;
    color:#d4af37;
    border-bottom-color: #d4af37;
}

/* Dropdown */

.dropdown-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:230px;
    background:#08213d;
    list-style:none;
    box-shadow:0 8px 20px rgba(0,0,0,.3);
    border-top:2px solid #d4af37;
    border-radius:0 0 6px 6px;
    z-index:999;
}

.dropdown-menu li{
    width:100%;
}

.dropdown-menu li a{
    color:#e2e8f0;
    padding:13px 20px;
    font-size:14px;
    font-weight:600;
    border-bottom:1px solid rgba(255,255,255,0.08);
}

.dropdown-menu li a:hover{
    background:#123a63;
    color:#d4af37;
    padding-left: 25px;
}

/* Show Dropdown */

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

/* ======================
      RESPONSIVE
====================== */

.nav-toggle {
    display: none;
}

@media(max-width:768px){

    .navbar {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding: 12px 20px;
        position: relative;
    }

    .nav-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: none;
        outline: none;
        color: white;
        font-size: 24px;
        cursor: pointer;
        width: 44px;
        height: 44px;
        border-radius: 8px;
        transition: background 0.2s, transform 0.2s ease;
    }

    .nav-toggle i {
        pointer-events: none;
    }

    .nav-menu{
        display: flex;
        flex-direction:column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #004080;
        box-shadow: 0 12px 24px rgba(0,0,0,0.25);
        padding: 0;
        z-index: 1000;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transform: translateY(-8px);
        pointer-events: none;
        transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                    opacity 0.35s ease,
                    transform 0.35s ease,
                    padding 0.35s ease;
    }

    .nav-menu.active {
        max-height: 85vh;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        padding: 10px 0;
        overflow-y: auto;
    }

    .nav-menu li{
        width:100%;
        text-align: left;
    }

    .nav-menu li a {
        padding: 12px 25px;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .dropdown-menu{
        position:static;
        width:100%;
        box-shadow:none;
        background: #003366;
        padding-left: 15px;
    }

    .dropdown-menu li a {
        color: rgba(255,255,255,0.9);
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .dropdown:hover .dropdown-menu {
        display: none;
    }

    .dropdown.active .dropdown-menu {
        display: block;
    }

}
/* Sticky Navbar */

#navbar-container{
    position:relative;
    width:100%;
    z-index:999;
}

/* When scrolling */

#navbar-container.sticky{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    animation:slideDown .5s ease;
    box-shadow:0 4px 15px rgba(0,0,0,.2);
}

/* Smooth slide animation */

@keyframes slideDown{

    from{
        transform:translateY(-100%);
        opacity:0;
    }

    to{
        transform:translateY(0);
        opacity:1;
    }

}
/* ======================
        IMAGE SLIDER
====================== */

/* ==========================
        IMAGE SLIDER
========================== */

/* ==========================
        IMAGE SLIDER
========================== */

/* ==========================
        IMAGE SLIDER
========================== */

.slider{
    width:100%;
    height:68vh;
    max-height:640px;
    min-height:320px;
    overflow:hidden;
    position:relative;
    background:#041428;
}

@media(max-width:768px){
    .slider {
        height: 48vh;
        min-height: 250px;
    }
}

.slides{
    width:100%;
    height:100%;
    position:relative;
}

.slide{
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:cover;      /* Clean edge-to-edge horizontal photo fill */
    object-position:center 30%;
    opacity:0;

    transition:opacity 0.8s ease-in-out;
}

.slide.active{
    opacity:1;
}
/* ==========================
        NOTICE BAR
========================== */

.notice-bar{
    width:100%;
    display:flex;
    align-items:center;
    background:#fffef9;
    border-top:2px solid #d4af37;
    border-bottom:2px solid #d4af37;
}

.notice-title{
    background:#8b0000;
    color:white;
    padding:14px 25px;
    font-size:16px;
    font-weight:bold;
    letter-spacing: 0.5px;
    white-space:nowrap;
    border-right: 2px solid #d4af37;
}

.notice-title i{
    margin-right:8px;
    color: #d4af37;
}

.notice-bar marquee{
    color:#08213d;
    font-size:16px;
    font-weight:700;
    padding:12px 20px;
    flex:1;
}

@media(max-width:768px){
    .notice-title {
        padding: 10px 15px;
        font-size: 14px;
    }
    .notice-bar marquee {
        padding: 10px;
        font-size: 14px;
    }
}





/* Principal Section */

.principal-section{
    width:100%;
    padding:70px 8%;
    background:#ffffff;
}

.principal-container{
    max-width:1200px;
    margin:auto;
    display:flex;
    gap:50px;
    align-items:flex-start;
    background:#f8fafc;
    padding:40px;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.principal-image{
    position:relative;
    overflow:hidden;
    border-radius:15px;
}

.principal-image img{
    width:100%;
    height:380px;
    object-fit:cover;
    object-position:center top;
    transition:.5s;
}

.principal-image:hover img{
    transform:scale(1.08);
}

.principal-image:hover .overlay{
    bottom:0;
}


/* Former Principal Section */

/* Former Principal */

.former-principal-section{
    width:100%;
    padding:70px 8%;
    background:#f8f9fa;
}

.former-principal-container{
    max-width:1200px;
    margin:auto;
    display:flex;
    gap:50px;
    align-items:flex-start;
    background:#fff;
    padding:40px;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,.1);
}

/* Left Side */

.left-side{
    width:32%;
    text-align:center;
}

.section-title{
    font-size:32px;
    color:#08213d;
    margin-bottom:25px;
    position: relative;
}

.former-principal-image{
    position:relative;
    overflow:hidden;
    border-radius:15px;
    border: 3px solid #08213d;
}

.former-principal-image img{
    width:100%;
    height:380px;
    object-fit:cover;
    object-position:center top;
    transition:.5s;
}

.overlay{
    position:absolute;
    left:0;
    bottom:-100%;
    width:100%;
    height:100%;
    background:rgba(8,33,61,0.85);
    color:white;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    transition:.5s;
}

.former-principal-image:hover img{
    transform:scale(1.08);
}

.former-principal-image:hover .overlay{
    bottom:0;
}

.principal-name{
    margin-top:20px;
    font-size:24px;
    color:#08213d;
    font-weight: 700;
}

.designation{
    color:#8b0000;
    font-weight:bold;
}

/* Right Side */

.right-side{
    width:68%;
}

.message-title{
    color:#08213d;
    font-size:30px;
    margin-bottom:20px;
    font-weight: 800;
    border-bottom: 2px solid #d4af37;
    padding-bottom: 8px;
    display: inline-block;
}

.right-side p{
    text-align:justify;
    line-height:1.9;
    font-size:17px;
    color:#555;
}


/* Responsive */

@media(max-width:900px){

    .principal-section{
        padding: 40px 15px;
    }

    .principal-container{
        flex-direction:column;
        padding: 20px;
        gap: 30px;
    }

    .principal-image img{
        height: 300px;
    }

    .former-principal-section{
        padding: 40px 15px;
    }

    .former-principal-container{
        flex-direction:column;
        padding: 20px;
        gap: 30px;
    }

    .left-side,
    .right-side{
        width:100%;
    }

    .left-side{
        text-align:center;
        max-width: 320px;
        margin: 0 auto;
    }

    .former-principal-image img{
        height: 300px;
    }

    .message-title{
        font-size: 24px;
        text-align: center;
    }

    .right-side p{
        font-size: 15px;
        line-height: 1.7;
    }
}







/* Head of Management */

.management-section{
    width:100%;
    padding:70px 8%;
    background:#f7f9fc;
}

.management-container{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:60px;
    flex-wrap:wrap;
}

.management-image{
    flex:1;
    min-width:280px;
    text-align:center;
}

.management-image img{
    width:320px;
    height:390px;
    object-fit:cover;
    object-position:center top;
    border-radius:15px;
    border:5px solid #fff;
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
    transition:.4s;
}

.management-image img:hover{
    transform:scale(1.05) rotate(-2deg);
    box-shadow:0 18px 40px rgba(0,0,0,.25);
}

.management-content{
    flex:2;
    min-width:320px;
}

.management-content h2{
    color:#08213d;
    font-size:34px;
    margin-bottom:20px;
    font-weight: 800;
}

.management-content h3{
    color:#8b0000;
    font-size:24px;
    margin-bottom:5px;
    font-weight: 700;
}

.management-content p{
    color:#4a5568;
    line-height:1.9;
    text-align:justify;
    font-size:16px;
}

/* Responsive */

@media(max-width:768px){

.management-section{
    padding: 40px 15px;
}

.management-container{
    flex-direction:column;
    text-align:center;
    gap: 30px;
}

.management-content h2{
    font-size: 26px;
    text-align: center;
}

.management-content h3{
    font-size: 20px;
    text-align: center;
}

.management-content p{
    text-align:justify;
    font-size: 15px;
    line-height: 1.7;
}

.management-image img{
    width:260px;
    height:320px;
}

}


/* ==================================================================
   SCHOOL NOTICE BOARD STYLES (Full Overlay View with School Background)
================================================================== */
.notice-section {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: linear-gradient(135deg, rgba(3, 14, 28, 0.90) 0%, rgba(6, 26, 52, 0.93) 100%), 
                url('firstphoto.jpg') no-repeat center center / cover fixed;
    z-index: 100001;
    display: none; /* Hidden by default */
    overflow-y: auto;
    padding: 90px 8% 70px;
    box-sizing: border-box;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.notice-section.show {
    display: block;
    animation: noticeModalFadeIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes noticeModalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.98);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Close Button for Notice Board Modal */
.notice-modal-close {
    position: fixed;
    top: 25px;
    right: 35px;
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #ffffff;
    font-size: 22px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 100005;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.notice-modal-close:hover {
    background: #cc0000;
    border-color: #ff4d4d;
    color: #ffffff;
    transform: rotate(90deg) scale(1.08);
}

/* Wrapper & Header */
.notice-section-wrapper {
    max-width: 1280px;
    margin: 0 auto;
}

.notice-header {
    text-align: center;
    margin-bottom: 35px;
}

.notice-top-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #d4af37, #f3e5ab);
    color: #041224;
    font-weight: 800;
    font-size: 13px;
    padding: 6px 18px;
    border-radius: 30px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 15px;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.notice-header h2 {
    color: #ffffff !important;
    font-size: 38px;
    font-weight: 800;
    margin-bottom: 12px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.notice-header h2::after {
    content: '';
    display: block;
    width: 70px;
    height: 4px;
    background: linear-gradient(90deg, #d4af37, #ffffff);
    margin: 12px auto 0;
    border-radius: 2px;
}

.notice-header p {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 16px;
    max-width: 650px;
    margin: 0 auto;
}

/* Filter Bar */
.notice-filter-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.notice-filter-btn {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    padding: 10px 22px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    backdrop-filter: blur(4px);
}

.notice-filter-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: #d4af37;
    transform: translateY(-2px);
}

.notice-filter-btn.active {
    background: #d4af37;
    color: #041224;
    border-color: #d4af37;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
}

/* Notice Container & Cards Grid */
.notice-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}

/* Glassmorphic Notice Card */
.notice-card {
    background: rgba(255, 255, 255, 0.96);
    border-radius: 16px;
    padding: 26px;
    border-top: 5px solid #08213d;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

.notice-card.hidden {
    display: none !important;
}

.notice-card:hover {
    transform: translateY(-8px);
    border-top-color: #d4af37;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
    background: #ffffff;
}

.notice-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.notice-date {
    background: #08213d;
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.new-tag {
    position: static;
    background: #16a34a;
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
}

.new-tag.urgent {
    background: #dc2626;
}

.notice-card h3 {
    color: #0f172a;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.4;
}

.notice-card p {
    color: #475569;
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 22px;
}

.notice-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 14px;
    border-top: 1px solid #e2e8f0;
    font-size: 13px;
}

.notice-dept {
    color: #64748b;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.notice-badge {
    background: #f1f5f9;
    color: #08213d;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.section-title {
    text-align: center;
    margin-bottom: 50px;
}

.section-title h2 {
    font-size: 36px;
    color: #08213d;
    margin-bottom: 10px;
    font-weight: 800;
}

.section-title p {
    color: #6c757d;
    font-size: 15px;
}

@media(max-width:768px){
    .notice-section {
        padding: 40px 15px;
    }
    
    .section-title {
        margin-bottom: 30px;
    }

    .section-title h2 {
        font-size: 28px;
    }

    .notice-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .notice-card {
        padding: 20px;
    }
}

/*================ FOOTER ================*/

.footer{

    background:#06172a;
    color:#fff;

    padding:50px 8% 20px;

    border-top:4px solid #d4af37;

}

.footer-container{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:50px;

}

.footer-box h2{

    margin:15px 0;

    font-size:25px;

}

.footer-box h3{

    margin-bottom:20px;

    font-size:22px;

    color: #d4af37;

    font-weight: 700;

}

.footer-box p{

    color:#cbd5e1;

    line-height:1.8;

    margin-bottom:12px;

}

.footer-logo{
    width:230px;
    height:auto;
    display:block;
    margin-bottom:12px;
}

.footer-box ul{

    list-style:none;

}

.footer-box ul li{

    margin:15px 0;

}

.footer-box ul li a{

    text-decoration:none;

    color:#cbd5e1;

    transition:.3s;

}

.footer-box ul li a:hover{

    color:#d4af37;

    padding-left:8px;

}

.footer-box i{

    color:#d4af37;

    margin-right:10px;

}

.social-icons{

    display:flex;

    gap:15px;

    margin-top:20px;

}

.social-icons a{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#122b47;

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    transition:.3s;

    border: 1px solid rgba(212,175,55,0.3);

}

.social-icons a:hover{

    background:#d4af37;

    color:#06172a;

    transform:translateY(-5px);

}

.map-container {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    border: 2px solid rgba(255, 255, 255, 0.1);
    line-height: 0;
    margin-top: 10px;
}

.map-container iframe {
    width: 100%;
    height: 200px;
    border: 0;
    display: block;
}

hr{

    margin:45px 0 20px;

    border:0;

    border-top:1px solid #555;

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

}

.footer-bottom span{

    color:#1e51b0;

    font-weight:bold;

}

/* Back To Top */

.top-btn{

    position:fixed;

    bottom:25px;

    right:25px;

    width:50px;

    height:50px;

    background:#08213d;

    color:#d4af37;

    border: 2px solid #d4af37;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    font-size:20px;

    box-shadow:0 5px 15px rgba(0,0,0,.3);

    transition:.3s;

}

.top-btn:hover{

    background:#d4af37;

    color:#08213d;

    transform:translateY(-5px);

}

/* Responsive */

@media(max-width:768px){

.footer{
    padding: 40px 20px 20px;
    text-align:center;
}

.footer-container {
    grid-template-columns: 1fr;
    gap: 35px;
}

.footer-logo {
    margin: 0 auto;
    max-width: 180px;
}

.footer-bottom{

    flex-direction:column;

    text-align:center;

}

.social-icons{

    justify-content:center;

}

}


/*================ ABOUT US & TABS (MODAL OVERLAY) ================*/

.about-section {
    display: none; /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000; /* Over everything */
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
    transition: opacity 0.3s ease;
}

.about-section.show {
    display: flex;
}

/* Modal Content Card */
.about-section-card {
    background: #ffffff;
    width: 100%;
    max-width: 1100px;
    max-height: 85vh;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    transform: translateY(30px);
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

.about-section.show .about-section-card {
    transform: translateY(0);
    opacity: 1;
}

/* Close button style */
.about-modal-close {
    position: absolute;
    top: 20px;
    right: 25px;
    background: #f1f3f5;
    border: none;
    outline: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #495057;
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 10;
}

.about-modal-close:hover {
    background: #003366;
    color: #ffffff;
    transform: rotate(90deg);
}

/* Scrollable Container inside modal card */
.about-section-scroll {
    overflow-y: auto;
    padding: 40px;
    width: 100%;
    box-sizing: border-box;
}

.about-section .section-title {
    text-align: left;
    margin-bottom: 30px;
    padding-right: 50px; /* Space for close button */
}

.about-section .section-title h2 {
    color: #003366;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 8px;
}

.about-section .section-title p {
    color: #6c757d;
    font-size: 16px;
}

.about-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* Sidebar Tabs */
.about-tabs {
    flex: 0 0 260px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #f7f9fc;
    padding: 20px;
    border-radius: 12px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
    border: 1px solid rgba(0,0,0,0.05);
}

.about-tab-btn {
    width: 100%;
    padding: 15px 20px;
    text-align: left;
    background: transparent;
    border: none;
    outline: none;
    font-size: 16px;
    font-weight: 600;
    color: #495057;
    cursor: pointer;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s ease;
}

.about-tab-btn i {
    font-size: 18px;
    color: #868e96;
    transition: color 0.3s ease;
}

.about-tab-btn:hover {
    background: rgba(0, 51, 102, 0.05);
    color: #003366;
}

.about-tab-btn:hover i {
    color: #003366;
}

.about-tab-btn.active {
    background: #003366;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 51, 102, 0.2);
}

.about-tab-btn.active i {
    color: #ffffff;
}

/* Content Area */
.about-content-wrapper {
    flex: 1;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 12px;
    padding: 35px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.02);
    min-height: 300px;
}

.about-tab-content {
    display: none;
    animation: fadeIn-about 0.4s ease forwards;
}

.about-tab-content.active {
    display: block;
}

@keyframes fadeIn-about {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.about-tab-content h3 {
    font-size: 24px;
    color: #003366;
    margin-bottom: 20px;
    font-weight: 700;
    border-bottom: 2px solid rgba(0, 51, 102, 0.1);
    padding-bottom: 12px;
}

.about-tab-content p {
    font-size: 15px;
    line-height: 1.8;
    color: #495057;
    margin-bottom: 18px;
}

/* Info Grid */
.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 25px;
}

.info-item {
    background: #f8f9fa;
    padding: 16px 20px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-left: 4px solid #003366;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.info-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    color: #868e96;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.info-label i {
    color: #003366;
}

.info-value {
    font-size: 15px;
    font-weight: 600;
    color: #212529;
    line-height: 1.4;
}

/* Programs Grid */
.programs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 25px;
}

.program-box {
    background: #f8f9fa;
    border: 1px solid rgba(0,0,0,0.04);
    border-radius: 10px;
    padding: 20px;
    transition: all 0.3s ease;
}

.program-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    background: #ffffff;
    border-color: rgba(0, 51, 102, 0.15);
}

.program-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.program-header i {
    font-size: 20px;
    color: #003366;
    background: rgba(0, 51, 102, 0.08);
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.program-box h4 {
    font-size: 16px;
    font-weight: 700;
    color: #003366;
}

.program-box p {
    font-size: 14px;
    line-height: 1.6;
    color: #6c757d;
    margin: 0;
}


/*================ SCHOOL FACILITIES SECTION ================*/

.facility-section {
    width: 100%;
    padding: 80px 8%;
    background: #f8f9fa;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.facility-section .section-title {
    text-align: center;
    margin-bottom: 50px;
}

.facility-section .section-title h2 {
    color: #003366;
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
}

.facility-section .section-title p {
    color: #6c757d;
    font-size: 16px;
    max-width: 600px;
    margin: 0 auto;
}

.facility-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    width: 100%;
}

.facility-card {
    position: relative;
    border-radius: 16px;
    height: 420px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    background: #003366;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.facility-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.facility-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 20, 40, 0.95) 20%, rgba(0, 20, 40, 0.6) 60%, rgba(0, 20, 40, 0.15) 100%);
    transition: background 0.4s ease;
}

.facility-content {
    position: relative;
    padding: 30px;
    color: #ffffff;
    z-index: 2;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.facility-icon {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #ffffff;
    margin-bottom: 20px;
    transition: background 0.3s ease, transform 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.facility-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #ffffff;
}

.facility-card p {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 20px;
    opacity: 0.9;
}

.facility-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding-top: 15px;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s ease;
}

.facility-features li {
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.9);
}

.facility-features li i {
    color: #4dadf7;
    font-size: 11px;
}

/* Hover States */
.facility-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 40, 80, 0.2);
}

.facility-card:hover .facility-bg {
    transform: scale(1.1);
}

.facility-card:hover .facility-overlay {
    background: linear-gradient(to top, rgba(0, 15, 30, 0.98) 30%, rgba(0, 15, 30, 0.75) 70%, rgba(0, 15, 30, 0.3) 100%);
}

.facility-card:hover .facility-icon {
    background: #4dadf7;
    color: #ffffff;
    transform: scale(1.05);
}

.facility-card:hover .facility-features {
    opacity: 1;
    max-height: 100px;
    padding-top: 15px;
}

/* Responsive Facility Section */
@media(max-width: 1200px) {
    .facility-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media(max-width: 768px) {
    .facility-section {
        padding: 60px 15px;
    }

    .facility-section .section-title h2 {
        font-size: 28px;
    }

    .facility-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .facility-card {
        height: 380px;
    }
}


/* Media Queries for Responsiveness */
@media(max-width: 900px) {
    .about-section {
        padding: 10px;
    }

    .about-section-card {
        max-height: 92vh;
        border-radius: 12px;
    }

    .about-section-scroll {
        padding: 25px 15px;
    }

    .about-section .section-title {
        margin-bottom: 20px;
        padding-right: 40px;
    }

    .about-section .section-title h2 {
        font-size: 22px;
    }

    .about-section .section-title p {
        font-size: 14px;
    }

    .about-container {
        flex-direction: column;
        gap: 20px;
    }

    .about-tabs {
        flex: auto;
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        padding: 10px;
        gap: 8px;
        -webkit-overflow-scrolling: touch;
    }

    .about-tab-btn {
        width: auto;
        white-space: nowrap;
        padding: 12px 18px;
        font-size: 14px;
    }

    .about-content-wrapper {
        padding: 25px;
        min-height: auto;
    }

    .about-modal-close {
        top: 15px;
        right: 15px;
        width: 32px;
        height: 32px;
        font-size: 16px;
    }
}


/*================ PRELOADER SPLASH SCREEN ================*/
.school-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff !important;
    z-index: 100000; /* Ensure it is above everything */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.school-preloader.fade-out {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.preloader-content {
    text-align: center;
    padding: 20px;
    animation: preloaderEntrance 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.preloader-emblem {
    width: 90px;
    height: 90px;
    background: #f1f3f5 !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    color: #003366 !important;
    margin: 0 auto 25px auto;
    box-shadow: 0 10px 25px rgba(0, 51, 102, 0.1);
    border: 2px solid rgba(0, 51, 102, 0.05);
    animation: pulseEmblem 2s infinite ease-in-out;
}

.preloader-title {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: #003366 !important;
    margin: 0 0 8px 0;
    letter-spacing: -0.5px;
    text-transform: uppercase;
}

.preloader-subtitle {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #6c757d !important;
    margin: 0 0 35px 0;
    font-weight: 500;
}

.preloader-spinner-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.preloader-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(0, 51, 102, 0.1) !important;
    border-radius: 50%;
    border-top-color: #003366 !important;
    animation: preloaderSpin 1s linear infinite;
}

@keyframes preloaderEntrance {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes pulseEmblem {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 10px 25px rgba(0, 51, 102, 0.1);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 15px 30px rgba(0, 51, 102, 0.18);
    }
}

@keyframes preloaderSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Ensure no scrollbar shows when preloader is active */
body.preloader-active {
    overflow: hidden !important;
}

@media(max-width: 768px) {
    .preloader-title {
        font-size: 24px;
    }
    .preloader-subtitle {
        font-size: 14px;
    }
    .preloader-emblem {
        width: 75px;
        height: 75px;
        font-size: 32px;
    }
}


/*================ DARK MODE TOGGLE BUTTON ================*/
.dark-mode-toggle {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 20px;
    cursor: pointer;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease, transform 0.2s ease, color 0.3s ease;
    outline: none;
    z-index: 10001;
}

.dark-mode-toggle:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.08);
}

.dark-mode-toggle i {
    pointer-events: none;
}

/* Desktop navbar positioning for Dark Mode Toggle */
@media(min-width: 769px) {
    .navbar {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .dark-mode-toggle {
        position: absolute;
        right: 40px;
    }
}

/* Mobile navbar positioning for Dark Mode Toggle */
@media(max-width: 768px) {
    .navbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 20px;
    }
    
    .dark-mode-toggle {
        order: 1;
    }
    
    .nav-toggle {
        order: 2;
    }
}


/*================ DARK MODE STYLES ================*/
html.dark-mode, body.dark-mode {
    background-color: #121212 !important;
    color: #e0e0e0 !important;
}

/* Top bar and header */
body.dark-mode .top-bar {
    background: #0f172a !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

body.dark-mode .top-bar span {
    color: #cbd5e1 !important;
}

body.dark-mode #login {
    background: #1e293b !important;
    color: #f1f5f9 !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

body.dark-mode #login option {
    background: #1e293b !important;
    color: #f1f5f9 !important;
}

body.dark-mode .college-header {
    background-color: #0f172a !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

body.dark-mode .logo {
    filter: brightness(0.95) contrast(1.05);
}

/* Navbar */
body.dark-mode .navbar {
    background: #1e293b !important;
}

body.dark-mode .nav-menu {
    background: #1e293b !important;
}

@media(max-width: 768px) {
    body.dark-mode .nav-menu {
        background: #1e293b !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
    }
}

body.dark-mode .nav-menu li a:hover {
    background: #334155 !important;
}

body.dark-mode .dropdown-menu {
    background: #1e293b !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

body.dark-mode .dropdown-menu li a {
    color: #cbd5e1 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

body.dark-mode .dropdown-menu li a:hover {
    background: #334155 !important;
    color: #ffffff !important;
}

/* Notice Bar / Marquee */
body.dark-mode .notice-bar {
    background: #182232 !important;
    border-top: 2px solid #2563eb !important;
    border-bottom: 2px solid #2563eb !important;
}

body.dark-mode .notice-title {
    background: #2563eb !important;
    color: #ffffff !important;
}

body.dark-mode .notice-bar marquee {
    color: #e2e8f0 !important;
}

/* Scrollable About Us Modal */
body.dark-mode .about-section {
    background: rgba(0, 0, 0, 0.85) !important;
}

body.dark-mode .about-section-card {
    background: #1e293b !important;
    color: #f1f5f9 !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
}

body.dark-mode .about-section-card .section-title h2 {
    color: #60a5fa !important;
}

body.dark-mode .about-section-card .section-title p {
    color: #94a3b8 !important;
}

body.dark-mode .about-modal-close {
    background: #334155 !important;
    color: #f1f5f9 !important;
}

body.dark-mode .about-modal-close:hover {
    background: #e11d48 !important;
}

body.dark-mode .about-tab-btn {
    background: #111827 !important;
    color: #94a3b8 !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .about-tab-btn:hover {
    background: #1f2937 !important;
    color: #f1f5f9 !important;
}

body.dark-mode .about-tab-btn.active {
    background: #2563eb !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
}

body.dark-mode .about-tab-content {
    background: #111827 !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .about-tab-content h3 {
    color: #60a5fa !important;
}

body.dark-mode .about-tab-content p {
    color: #cbd5e1 !important;
}

body.dark-mode .info-item {
    background: #1f2937 !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .info-label {
    color: #94a3b8 !important;
}

body.dark-mode .info-label i {
    color: #60a5fa !important;
}

body.dark-mode .info-value {
    color: #f1f5f9 !important;
}

body.dark-mode .program-box {
    background: #1f2937 !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .program-header i {
    color: #60a5fa !important;
}

body.dark-mode .program-header h4 {
    color: #f1f5f9 !important;
}

body.dark-mode .program-box p {
    color: #cbd5e1 !important;
}

/* Active Principal Section */
body.dark-mode .principal-section {
    background: #0b1120 !important;
}

body.dark-mode .principal-container {
    background: #1e293b !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
}

/* Former Principal Section */
body.dark-mode .former-principal-section {
    background: #0f172a !important;
}

body.dark-mode .former-principal-container {
    background: #1e293b !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .former-principal-section .section-title {
    color: #60a5fa !important;
}

body.dark-mode .principal-name {
    color: #f8fafc !important;
}

body.dark-mode .designation {
    color: #94a3b8 !important;
}

body.dark-mode .message-title {
    color: #60a5fa !important;
}

body.dark-mode .right-side p {
    color: #cbd5e1 !important;
}

/* Management Section */
body.dark-mode .management-section {
    background: #152238 !important;
}

body.dark-mode .management-content h2 {
    color: #60a5fa !important;
}

body.dark-mode .management-content h3 {
    color: #f1f5f9 !important;
}

body.dark-mode .management-content p {
    color: #cbd5e1 !important;
}

body.dark-mode .management-image img {
    border: 5px solid #1e293b !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
}

/* Facility Section */
body.dark-mode .facility-section {
    background: #0f172a !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .facility-section .section-title h2 {
    color: #60a5fa !important;
}

body.dark-mode .facility-section .section-title p {
    color: #94a3b8 !important;
}

body.dark-mode .facility-card {
    background: #1e293b !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .facility-features li i {
    color: #60a5fa !important;
}

/* Notice Section */
body.dark-mode .notice-section {
    background: #152238 !important;
}

body.dark-mode .notice-section .section-title h2 {
    color: #60a5fa !important;
}

body.dark-mode .notice-section .section-title p {
    color: #94a3b8 !important;
}

body.dark-mode .notice-card {
    background: #1e293b !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .notice-card h3 {
    color: #f8fafc !important;
}

body.dark-mode .notice-card p {
    color: #cbd5e1 !important;
}

body.dark-mode .notice-card a {
    color: #60a5fa !important;
}

body.dark-mode .notice-date {
    background: #2563eb !important;
    color: #ffffff !important;
}

/* Footer & Back to top button */
body.dark-mode .footer {
    background: #0d131f !important;
    border-top: 5px solid #2563eb !important;
}

body.dark-mode .footer-box p {
    color: #cbd5e1 !important;
}

body.dark-mode .footer-box ul li a {
    color: #94a3b8 !important;
}

body.dark-mode .footer-box ul li a:hover {
    color: #60a5fa !important;
}

body.dark-mode .footer-box i {
    color: #60a5fa !important;
}

body.dark-mode .footer-bottom span {
    color: #60a5fa !important;
}

body.dark-mode .social-icons a {
    background: #1e293b !important;
    color: #cbd5e1 !important;
}

body.dark-mode .social-icons a:hover {
    background: #2563eb !important;
    color: #ffffff !important;
}

body.dark-mode .top-btn {
    background: #2563eb !important;
}

body.dark-mode .top-btn:hover {
    background: #1d4ed8 !important;
}


/*==================================================================
  SCHOOL MEDIA GALLERY STYLES (Full-Screen Modal Overlay)
==================================================================*/
.gallery-section {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #f8fafc;
    z-index: 100001; /* Layered over the normal website content */
    display: none; /* Hidden by default */
    overflow-y: auto;
    padding: 100px 10% 80px;
    box-sizing: border-box;
}

.gallery-section.show {
    display: block;
    animation: fadeInGalleryModal 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeInGalleryModal {
    from {
        opacity: 0;
        transform: scale(0.98);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Close Button for Gallery Modal */
.gallery-modal-close {
    position: fixed;
    top: 25px;
    right: 35px;
    background: #003366;
    border: none;
    color: #ffffff;
    font-size: 22px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100005; /* Must be on top of everything inside the modal */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.gallery-modal-close:hover {
    background: #cc0000;
    color: #ffffff;
    transform: rotate(90deg) scale(1.1);
    box-shadow: 0 6px 16px rgba(204, 0, 0, 0.3);
}

body.dark-mode .gallery-modal-close {
    background: #2563eb;
}

body.dark-mode .gallery-modal-close:hover {
    background: #ef4444;
    box-shadow: 0 6px 16px rgba(239, 68, 68, 0.4);
}

.media-type-toggle {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
}

.media-toggle-btn {
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    border: 2px solid #003366;
    background: transparent;
    color: #003366;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    outline: none;
}

.media-toggle-btn:hover {
    background: rgba(0, 51, 102, 0.05);
    transform: translateY(-2px);
}

.media-toggle-btn.active {
    background: #003366;
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(0, 51, 102, 0.2);
}

/* Gallery Panels */
.gallery-panel {
    display: none;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.gallery-panel.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Category Filters */
.gallery-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 35px;
}

.filter-btn {
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 500;
    background: #ffffff;
    color: #4a5568;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.25s ease;
    outline: none;
}

.filter-btn:hover {
    background: #edf2f7;
    color: #003366;
    border-color: #cbd5e0;
}

.filter-btn.active {
    background: #003366;
    color: #ffffff;
    border-color: #003366;
    box-shadow: 0 4px 10px rgba(0, 51, 102, 0.15);
}

/* Photo Gallery Grid & Cards */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 25px;
}

.gallery-item {
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.gallery-item.hidden {
    display: none;
    opacity: 0;
    transform: scale(0.9);
}

.gallery-card-inner {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    height: auto;
    border-radius: 12px;
    overflow: hidden;
    background: #06182e;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease;
}

.gallery-card-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.gallery-card-inner:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 30px rgba(0, 51, 102, 0.12);
}

.gallery-card-inner:hover img {
    transform: scale(1.08);
}

/* Image Overlay */
.gallery-item-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 51, 102, 0.95) 15%, rgba(0, 51, 102, 0.35) 70%, rgba(0, 0, 0, 0) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: flex-end;
    padding: 20px;
    box-sizing: border-box;
}

.gallery-card-inner:hover .gallery-item-overlay {
    opacity: 1;
}

.gallery-item-info {
    transform: translateY(10px);
    transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
    width: 100%;
    color: #ffffff;
}

.gallery-card-inner:hover .gallery-item-info {
    transform: translateY(0);
}

.gallery-item-tag {
    display: inline-block;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    background: #4dadf7;
    color: #ffffff;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.gallery-item-info h3 {
    font-size: 18px;
    margin: 0 0 4px 0;
    font-weight: 700;
}

.gallery-item-info p {
    font-size: 13px;
    margin: 0 0 12px 0;
    opacity: 0.9;
    font-weight: 400;
    line-height: 1.4;
}

.gallery-zoom-icon {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #4dadf7;
}

/* TEACHER PHOTO SLOTS (Placeholder Design) */
.placeholder-card {
    border: 2px dashed rgba(0, 51, 102, 0.15);
    background: #ffffff;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: 20px;
    justify-content: space-between;
}

.placeholder-card:hover {
    border-color: #003366;
    background: rgba(0, 51, 102, 0.01);
}

.placeholder-avatar-wrapper {
    position: relative;
    width: 75px;
    height: 75px;
    margin: 10px auto 15px auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.placeholder-svg-avatar {
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}

.placeholder-card:hover .placeholder-svg-avatar {
    transform: scale(1.05);
}

.placeholder-badge {
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    background: #003366;
    color: #ffffff;
    font-size: 8px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 10px;
    white-space: nowrap;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.gallery-item-details {
    text-align: center;
}

.teacher-tag {
    background: #cbd5e0;
    color: #4a5568;
}

.gallery-item-details h3 {
    font-size: 16px;
    color: #2d3748;
    margin: 8px 0 2px 0;
    font-weight: 700;
}

.gallery-item-details .subject {
    font-size: 13px;
    color: #718096;
    margin: 0 0 10px 0;
    font-weight: 500;
}

.slot-instruction {
    font-size: 11px;
    color: #a0aec0;
    font-style: italic;
    border-top: 1px solid #edf2f7;
    padding-top: 8px;
    margin-top: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

/* Video Grid & Cards */
.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
    gap: 30px;
}

.video-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.video-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 30px rgba(0, 51, 102, 0.1);
}

.video-thumbnail-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    cursor: pointer;
    overflow: hidden;
    background: #081a2f;
}

.video-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
}

.video-card:hover .video-thumb {
    transform: scale(1.05);
}

.video-play-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 51, 102, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

.video-card:hover .video-play-overlay {
    background: rgba(0, 51, 102, 0.45);
}

.play-circle {
    width: 55px;
    height: 55px;
    background: #ffffff;
    color: #003366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding-left: 3px; /* visual balance for play icon */
}

.video-card:hover .play-circle {
    transform: scale(1.12);
    background: #003366;
    color: #ffffff;
}

.video-duration {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(0, 0, 0, 0.85);
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 6px;
    border-radius: 4px;
}

.video-info {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.video-info h3 {
    font-size: 17px;
    color: #2d3748;
    margin: 0 0 8px 0;
    font-weight: 700;
}

.video-info p {
    font-size: 13px;
    color: #718096;
    margin: 0 0 16px 0;
    line-height: 1.45;
}

.watch-video-btn {
    width: 100%;
    padding: 10px;
    border: 1px solid #003366;
    background: transparent;
    color: #003366;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s ease;
    outline: none;
}

.video-card:hover .watch-video-btn {
    background: #003366;
    color: #ffffff;
}


/*==================================================================
  MODALS & OVERLAYS STYLES
==================================================================*/
/* Lightbox modal overlay */
.gallery-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(10, 15, 26, 0.97);
    z-index: 100002;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.gallery-lightbox.show {
    opacity: 1;
    pointer-events: auto;
}

.lightbox-content {
    max-width: 85%;
    max-height: 80%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: zoomEntrance 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.lightbox-content img {
    max-width: 95vw;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.85);
    image-rendering: -webkit-optimize-contrast;
    image-rendering: high-quality;
}

.lightbox-caption {
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    margin-top: 20px;
    max-width: 600px;
    line-height: 1.4;
    text-shadow: 0 2px 4px rgba(0,0,0,0.6);
}

.lightbox-close {
    position: absolute;
    top: 25px;
    right: 25px;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 32px;
    cursor: pointer;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.25s, transform 0.2s;
    outline: none;
}

.lightbox-close:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: rotate(90deg);
}

.lightbox-prev, .lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.05);
    border: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    z-index: 100003;
    outline: none;
}

.lightbox-prev:hover, .lightbox-next:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-50%) scale(1.08);
}

.lightbox-prev {
    left: 40px;
}

.lightbox-next {
    right: 40px;
}

@keyframes zoomEntrance {
    0% {
        opacity: 0;
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Video Modal overlay */
.video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(10, 15, 26, 0.97);
    z-index: 100004;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.video-modal.show {
    opacity: 1;
    pointer-events: auto;
}

.video-modal-content {
    width: 90%;
    max-width: 800px;
    display: flex;
    flex-direction: column;
    animation: zoomEntrance 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.video-iframe-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 Aspect Ratio */
    background: #000000;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8);
}

.video-iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-modal-title {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-top: 15px;
    text-align: center;
}

.video-modal-close {
    position: absolute;
    top: 25px;
    right: 25px;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 32px;
    cursor: pointer;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.25s, transform 0.2s;
    outline: none;
}

.video-modal-close:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: rotate(90deg);
}


/*==================================================================
  RESPONSIVE QUERIES
==================================================================*/
@media (max-width: 1024px) {
    .gallery-section {
        padding: 60px 5%;
    }
}

@media (max-width: 768px) {
    .gallery-section {
        padding: 50px 20px;
    }
    
    .media-type-toggle {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    
    .media-toggle-btn {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
    
    .lightbox-prev {
        left: 15px;
    }
    
    .lightbox-next {
        right: 15px;
    }
    
    .lightbox-prev, .lightbox-next {
        width: 44px;
        height: 44px;
        font-size: 18px;
        background: rgba(0,0,0,0.6);
    }
    
    .lightbox-content {
        max-width: 95%;
    }
}





/*==================================================================
  SCROLL REVEAL ANIMATIONS (PREMIUM HIGH-END SMOOTH STYLE)
==================================================================*/
.reveal-fade-in,
.reveal-fade-up,
.reveal-slide-left,
.reveal-slide-right,
.reveal-zoom-in {
    opacity: 0;
    will-change: transform, opacity;
    transition: opacity 0.9s cubic-bezier(0.2, 0.8, 0.2, 1),
                transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.reveal-fade-in {
    transform: scale(0.97) translateY(15px);
}

.reveal-fade-up {
    transform: translateY(35px);
}

.reveal-slide-left {
    transform: translateX(35px);
}

.reveal-slide-right {
    transform: translateX(-35px);
}

.reveal-zoom-in {
    transform: scale(0.92);
}

/* Active state triggered by JavaScript when element scrolls into view */
.reveal-fade-in.active-reveal,
.reveal-fade-up.active-reveal,
.reveal-slide-left.active-reveal,
.reveal-slide-right.active-reveal,
.reveal-zoom-in.active-reveal {
    opacity: 1;
    transform: translate(0) scale(1);
}

/* Prevent layout breaking or hiding on older browsers if JS fails */
@media (prefers-reduced-motion: reduce) {
    .reveal-fade-in,
    .reveal-fade-up,
    .reveal-slide-left,
    .reveal-slide-right,
    .reveal-zoom-in {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Premium Staggered Delay Utilities */
.stagger-delay-1 { transition-delay: 0.08s !important; }
.stagger-delay-2 { transition-delay: 0.16s !important; }
.stagger-delay-3 { transition-delay: 0.24s !important; }
.stagger-delay-4 { transition-delay: 0.32s !important; }
.stagger-delay-5 { transition-delay: 0.40s !important; }


/* ==================================================================
   THEME MODE 2: MODERN EMERALD & GOLD (HEADER, PRINCIPAL & FOOTER)
================================================================== */
body.theme-emerald .top-bar {
    background: #022c22 !important;
    border-bottom: 2px solid #059669 !important;
}

body.theme-emerald .top-bar span {
    color: #e2e8f0 !important;
}

body.theme-emerald .top-bar .left a {
    color: #e2e8f0 !important;
}

body.theme-emerald .top-bar .left a:hover {
    color: #facc15 !important;
}

body.theme-emerald #login {
    background: #064e3b !important;
    border-color: #facc15 !important;
    color: #ffffff !important;
}

body.theme-emerald #login:hover {
    background: #facc15 !important;
    color: #022c22 !important;
}

body.theme-emerald .college-header {
    background: linear-gradient(135deg, #022c22 0%, #064e3b 100%) !important;
    border-bottom: 3px solid #facc15 !important;
}

body.theme-emerald .navbar {
    background: #044e33 !important;
    border-bottom: 3px solid #10b981 !important;
}

body.theme-emerald .nav-menu li a:hover,
body.theme-emerald .nav-menu li a.active {
    background: #065f46 !important;
    color: #facc15 !important;
}

body.theme-emerald .dropdown-menu {
    background: #022c22 !important;
    border-color: #059669 !important;
}

body.theme-emerald .dropdown-menu li a:hover {
    background: #065f46 !important;
    color: #facc15 !important;
}

body.theme-emerald .notice-bar {
    background: #022c22 !important;
    border-top: 1px solid #059669 !important;
    border-bottom: 1px solid #059669 !important;
}

body.theme-emerald .notice-title {
    background: #059669 !important;
    color: #ffffff !important;
}

/* PRINCIPAL MESSAGE SECTION IN EMERALD MODE */
body.theme-emerald .principal-section {
    background: #f0fdf4 !important;
}

body.theme-emerald .principal-container {
    background: #ffffff !important;
    border: 2px solid #a7f3d0 !important;
    box-shadow: 0 10px 30px rgba(6, 78, 59, 0.08) !important;
}

body.theme-emerald .principal-section .section-title {
    color: #064e3b !important;
}

body.theme-emerald .principal-name {
    color: #064e3b !important;
}

body.theme-emerald .designation {
    color: #059669 !important;
}

body.theme-emerald .message-title {
    color: #064e3b !important;
}

body.theme-emerald .message-title::after {
    background: linear-gradient(90deg, #059669, #facc15) !important;
}

body.theme-emerald .principal-image .overlay {
    background: rgba(4, 78, 51, 0.90) !important;
}

/* FORMER PRINCIPAL SECTION IN EMERALD MODE */
body.theme-emerald .former-principal-section {
    background: #ecfdf5 !important;
}

body.theme-emerald .former-principal-container {
    background: #ffffff !important;
    border: 2px solid #6ee7b7 !important;
}

body.theme-emerald .former-principal-image {
    border-color: #064e3b !important;
}

/* FOOTER IN EMERALD MODE */
body.theme-emerald .footer {
    background: #022c22 !important;
    border-top: 4px solid #facc15 !important;
}

body.theme-emerald .footer-box h3 {
    color: #facc15 !important;
}

body.theme-emerald .footer-box i {
    color: #facc15 !important;
}

body.theme-emerald .footer-box ul li a:hover {
    color: #facc15 !important;
}

body.theme-emerald .footer-bottom {
    background: #011d16 !important;
    border-top: 1px solid #059669 !important;
}

body.theme-emerald .social-icons a {
    background: #064e3b !important;
    color: #facc15 !important;
    border-color: #059669 !important;
}

body.theme-emerald .social-icons a:hover {
    background: #facc15 !important;
    color: #022c22 !important;
}






