/* ==========================================================================
   CATHOLIC ASHRAM +2 SCHOOL - UNIFIED STYLESHEET
   ========================================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

:root {
    --primary-blue: #0d3b66;
    --accent-red: #8b0000;
    --gold-accent: #f4a261;
    --light-bg: #f8f9fa;
    --dark-text: #222222;
}

body {
    background-color: var(--light-bg);
    color: var(--dark-text);
    line-height: 1.7;
}

a {
    text-decoration: none;
    color: inherit;
}

/* TOP MINI BAR */
.top-bar {
    background-color: var(--primary-blue);
    color: #ffffff;
    font-size: 13px;
    padding: 8px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

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

.top-links a {
    color: #ffffff;
    transition: color 0.3s;
}

.top-links a:hover {
    color: var(--gold-accent);
}

.btn-admission {
    background-color: var(--gold-accent);
    color: #000;
    padding: 4px 12px;
    border-radius: 4px;
    font-weight: 600;
    white-space: nowrap;
}

/* HEADER & BRANDING */
header {
    background: #ffffff;
    padding: 15px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3px solid var(--accent-red);
}

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

.school-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
}

.school-logo {
    width: 65px;
    height: 65px;
    object-fit: contain;
    border-radius: 4px;
    flex-shrink: 0;
}

.school-title h1 {
    color: var(--accent-red);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.school-title p {
    font-size: 11px;
    color: #555;
    font-weight: 600;
}

/* NAVIGATION */
nav {
    background-color: var(--accent-red);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.menu-toggle {
    display: none;
    background: none;
    border: none;
    color: #ffffff;
    font-size: 22px;
    cursor: pointer;
    padding: 10px 15px;
    width: 100%;
    text-align: right;
}

.nav-links {
    list-style: none;
    display: flex;
    justify-content: center;
    transition: max-height 0.3s ease-in-out;
}

.nav-links li {
    position: relative;
}

.nav-links a {
    display: block;
    padding: 12px 20px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.3s;
}

.nav-links li:hover > a, 
.nav-links li.active > a {
    background-color: var(--primary-blue);
}

/* PAGE HEADER BANNER */
.page-banner {
    background: var(--primary-blue);
    color: #ffffff;
    text-align: center;
    padding: 50px 20px;
}

.page-banner h2 {
    font-size: 32px;
    color: var(--gold-accent);
    margin-bottom: 5px;
}

/* LAYOUT CONTAINER */
.content-container {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px;
}

/* HERO SECTION (index.html) */
.hero {
    position: relative;
    height: 480px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.35)), 
                url('images/cas-bhurkunda-banner.jpeg') center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-align: center;
    padding: 0 20px;
    filter: brightness(1.05) contrast(1.02);
}

.hero-content {
    background: transparent;
    padding: 20px;
    backdrop-filter: none;
    box-shadow: none;
    max-width: 800px;
}

.hero-content h2 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.7);
}

.hero-content p {
    font-size: 18px;
    color: #ffda79;
    font-weight: 600;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.7);
}

/* HOME DIRECT MESSAGES */
.messages-section {
    padding: 50px 5%;
    background-color: var(--light-bg);
}

.section-title {
    text-align: center;
    font-size: 24px;
    color: var(--primary-blue);
    margin-bottom: 30px;
    position: relative;
}

.section-title::after {
    content: '';
    width: 60px;
    height: 3px;
    background-color: var(--accent-red);
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
}

.messages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

.message-card {
    background: #ffffff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #ddd;
    object-fit: cover;
    flex-shrink: 0;
}

.message-text h4 {
    color: var(--accent-red);
    margin-bottom: 5px;
}

.message-text p {
    font-size: 13px;
    color: #666;
    margin-bottom: 8px;
}

.read-more-btn {
    background: none;
    border: none;
    color: var(--primary-blue);
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.3s;
}

.read-more-btn:hover {
    color: var(--accent-red);
    text-decoration: underline;
}

/* HOME FEATURES */
.features-section {
    padding: 40px 5%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.feature-card {
    background: var(--primary-blue);
    color: #ffffff;
    padding: 25px 15px;
    text-align: center;
    border-radius: 6px;
    transition: transform 0.3s, background 0.3s;
    cursor: pointer;
    display: block;
}

.feature-card:nth-child(even) {
    background: var(--accent-red);
}

.feature-card:hover {
    transform: translateY(-5px);
}

.feature-card i {
    font-size: 32px;
    margin-bottom: 12px;
    color: var(--gold-accent);
}

.feature-card h3 {
    font-size: 16px;
    font-weight: 600;
}

/* NOTICE BOARD */
.notice-news-section {
    padding: 40px 5%;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

.notice-board {
    background: #ffffff;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
}

.notice-header {
    background-color: var(--primary-blue);
    color: #ffffff;
    padding: 12px 20px;
    font-weight: 600;
}

.notice-list {
    list-style: none;
    padding: 15px 20px;
    height: 220px;
    overflow-y: auto;
}

.notice-item {
    padding: 10px 0;
    border-bottom: 1px dashed #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}

.notice-item a {
    color: var(--dark-text);
}

.notice-item a:hover {
    color: var(--accent-red);
}

.notice-date {
    background: var(--gold-accent);
    color: #000;
    padding: 2px 6px;
    border-radius: 3px;
    font-weight: bold;
    font-size: 11px;
    white-space: nowrap;
}

/* ABOUT US STYLES */
.about-section {
    background: #fff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.about-section h3 {
    color: var(--accent-red);
    margin-bottom: 15px;
    font-size: 22px;
    border-bottom: 2px solid var(--gold-accent);
    display: inline-block;
    padding-bottom: 5px;
}

.manager-message {
    background: #fdfbf7;
    border-left: 5px solid var(--primary-blue);
    padding: 25px;
    border-radius: 4px;
    margin-top: 15px;
}

.vision-mission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.vm-card {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    border-top: 4px solid var(--primary-blue);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.vm-card h4 {
    color: var(--primary-blue);
    margin-bottom: 12px;
    font-size: 18px;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
}

/* ACADEMICS STYLES */
.academic-box {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    margin-bottom: 25px;
    border-left: 5px solid var(--accent-red);
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.academic-box h3 {
    color: var(--primary-blue);
    font-size: 20px;
    margin-bottom: 12px;
}

.subject-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}

.subject-table th, 
.subject-table td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
    font-size: 14px;
}

.subject-table th {
    background: var(--primary-blue);
    color: #fff;
}

/* ADMISSIONS STYLES */
.info-card {
    background: #fff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.info-card h3 {
    color: var(--accent-red);
    margin-bottom: 15px;
    font-size: 22px;
    border-bottom: 2px solid var(--gold-accent);
    display: inline-block;
    padding-bottom: 5px;
}

.step-list {
    list-style: none;
    counter-reset: step-counter;
    margin-top: 15px;
}

.step-list li {
    position: relative;
    padding-left: 45px;
    margin-bottom: 20px;
}

.step-list li::before {
    counter-increment: step-counter;
    content: counter(step-counter);
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    background: var(--primary-blue);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
}

.doc-list {
    list-style: disc;
    margin-left: 20px;
    margin-top: 10px;
}

.doc-list li {
    margin-bottom: 8px;
}

.contact-box {
    background: #eef4f8;
    padding: 20px;
    border-radius: 6px;
    border-left: 4px solid var(--primary-blue);
    margin-top: 20px;
}

/* FACULTY STYLES */
.faculty-card {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    margin-bottom: 25px;
}

.faculty-card h3 {
    color: var(--accent-red);
    margin-bottom: 10px;
    font-size: 20px;
}

.dept-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.dept-box {
    background: #fdfbf7;
    padding: 20px;
    border-radius: 6px;
    border-left: 4px solid var(--primary-blue);
}

.dept-box h4 {
    color: var(--primary-blue);
    margin-bottom: 8px;
}

/* STUDENT CORNER STYLES */
.portal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.portal-card {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    text-align: center;
}

.portal-card i {
    font-size: 40px;
    color: var(--accent-red);
    margin-bottom: 15px;
}

/* GALLERY STYLES */
.gallery-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
}

.gallery-item {
    position: relative;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    cursor: pointer;
    height: 220px;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

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

.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(13, 59, 102, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

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

.gallery-overlay i {
    color: #ffffff;
    font-size: 28px;
}

/* GALLERY LIGHTBOX */
.lightbox-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.lightbox-modal.active {
    opacity: 1;
    visibility: visible;
}

.lightbox-content {
    max-width: 90%;
    max-height: 85vh;
    border-radius: 6px;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #ffffff;
    font-size: 35px;
    cursor: pointer;
    transition: color 0.3s;
}

.lightbox-close:hover {
    color: var(--gold-accent);
}

/* CONTACT PAGE STYLES */
.contact-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.contact-info-card {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
}

.contact-info-item i {
    font-size: 22px;
    color: var(--accent-red);
    margin-top: 3px;
}

.contact-info-item h4 {
    color: var(--primary-blue);
    font-size: 16px;
    margin-bottom: 3px;
}

.form-card {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 5px;
}

.form-group input, 
.form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.btn-submit {
    background: var(--accent-red);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
}

.btn-submit:hover {
    background: var(--primary-blue);
}

/* MODAL POPUP (index.html) */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    padding: 20px;
}

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

.modal-container {
    background: #ffffff;
    width: 100%;
    max-width: 650px;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    transform: translateY(-20px);
    transition: transform 0.3s ease;
    position: relative;
}

.modal-overlay.active .modal-container {
    transform: translateY(0);
}

.modal-header {
    background-color: var(--primary-blue);
    color: #ffffff;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.modal-header h3 {
    font-size: 18px;
    color: var(--gold-accent);
}

.modal-close-btn {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
    transition: color 0.3s;
}

.modal-close-btn:hover {
    color: var(--gold-accent);
}

.modal-body {
    padding: 25px;
    max-height: 75vh;
    overflow-y: auto;
    font-size: 14px;
    color: var(--dark-text);
    line-height: 1.7;
}

.modal-author {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.modal-author img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
}

.modal-author div h4 {
    color: var(--accent-red);
    font-size: 16px;
}

.modal-author div p {
    font-size: 12px;
    color: #666;
}

/* FOOTER */
footer {
    background-color: var(--primary-blue);
    color: #ffffff;
    text-align: center;
    padding: 25px 20px;
    margin-top: 50px;
    font-size: 13px;
}

footer.footer-home {
    text-align: left;
    padding: 40px 5% 10px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto 30px;
}

.footer-col h4 {
    color: var(--gold-accent);
    margin-bottom: 15px;
    font-size: 16px;
}

.footer-col ul {
    list-style: none;
}

.footer-col ul li {
    margin-bottom: 8px;
}

.footer-col ul a {
    color: #ccc;
    transition: color 0.3s;
}

.footer-col ul a:hover {
    color: #ffffff;
}

.copyright {
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 15px;
    color: #aaa;
}

.developer-link {
    color: var(--gold-accent);
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.3s;
}

.developer-link:hover {
    color: #ffffff;
}

/* RESPONSIVE DESIGN */
@media (max-width: 992px) {
    .hero-content h2 {
        font-size: 28px;
    }
    .hero-content p {
        font-size: 15px;
    }
    .features-section {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .top-bar, header {
        text-align: center;
        justify-content: center;
        flex-direction: column;
        gap: 10px;
    }

    .branding {
        flex-direction: column;
    }

    .menu-toggle {
        display: block;
    }

    .nav-links {
        flex-direction: column;
        display: none;
        width: 100%;
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links li a {
        padding: 12px 20px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        text-align: left;
    }

    .hero {
        height: 380px;
    }

    .hero-content h2 {
        font-size: 24px;
    }

    .hero-content p {
        font-size: 14px;
    }

    .notice-news-section {
        grid-template-columns: 1fr;
    }

    .message-card {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 10px;
    }

    .gallery-item {
        height: 150px;
    }
}

@media (max-width: 480px) {
    .features-section {
        grid-template-columns: 1fr;
    }
    
    .top-links {
        flex-direction: column;
        gap: 8px;
    }
    
    .school-title h1 {
        font-size: 18px;
    }

    .school-title p {
        font-size: 10px;
    }
}
/* Leadership message popup */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:9999;align-items:center;justify-content:center;padding:20px}.modal-overlay.show{display:flex}.modal-container{background:#fff;width:min(720px,100%);max-height:90vh;overflow:auto;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:#123b68;color:#fff}.modal-header h3{margin:0}.modal-close-btn{border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.modal-body{padding:24px}.modal-author{display:flex;gap:16px;align-items:center;margin-bottom:20px}.modal-author img{width:80px;height:80px;object-fit:cover;border-radius:50%}.modal-author h4{margin:0 0 5px}.modal-author p{margin:0;color:#666}.modal-body #leadership-modal-content{line-height:1.8;white-space:normal}.message-card .read-more-btn{cursor:pointer}

/* Final Leadership popup visibility fix */
#leadership-modal.modal-overlay {
    display: flex !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

#leadership-modal.modal-overlay.show {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#leadership-modal .modal-container {
    transform: translateY(-20px);
}

#leadership-modal.show .modal-container {
    transform: translateY(0);
}

.notice-popup-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100000;align-items:center;justify-content:center;padding:18px}.notice-popup-overlay.active{display:flex}.notice-popup-box{position:relative;background:#fff;color:#222;width:min(650px,100%);max-height:90vh;overflow:auto;border-radius:14px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.4);text-align:left}.notice-popup-close{position:absolute;right:12px;top:10px;border:0;background:#a71930;color:#fff;border-radius:50%;width:34px;height:34px;font-size:25px;line-height:30px;cursor:pointer}.notice-popup-box h2{text-align:center;margin:0 25px 18px;color:#8e172b}.notice-popup-box img{display:block;max-width:100%;max-height:230px;object-fit:contain;margin:0 auto 18px}.notice-popup-box #noticePopupMessage{line-height:1.75;font-size:16px}.notice-popup-button{display:inline-flex;margin-top:20px;padding:10px 18px;background:#8e172b;color:#fff!important;text-decoration:none;border-radius:6px}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.album-card{background:#fff;border:1px solid #ddd;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 4px 14px #0001}.album-cover{height:210px;background:#eee}.album-cover img{width:100%;height:100%;object-fit:cover}.album-placeholder{height:100%;display:grid;place-items:center;color:#777}.album-info{padding:16px}.album-info h3{margin:0 0 8px}.gallery-modal,.photo-lightbox{display:none;position:fixed;inset:0;background:#000b;z-index:9999;align-items:center;justify-content:center;padding:20px}.gallery-modal.active,.photo-lightbox.active{display:flex}.gallery-modal-box{background:#fff;width:min(1000px,95vw);max-height:90vh;overflow:auto;border-radius:12px;padding:28px;position:relative}.gallery-close,.lightbox-close{position:absolute;right:15px;top:10px;background:#b21f2d;color:#fff;border:0;border-radius:50%;font-size:25px;width:38px;height:38px;cursor:pointer}.album-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.album-photo-grid img{width:100%;height:150px;object-fit:cover;cursor:pointer;border-radius:6px}.photo-lightbox img{max-width:85vw;max-height:85vh;object-fit:contain}.photo-prev,.photo-next{background:#fff;border:0;padding:12px 18px;font-size:25px;cursor:pointer}.photo-prev{margin-right:20px}.photo-next{margin-left:20px}#photoCounter{position:absolute;bottom:20px;color:#fff}@media(max-width:700px){.album-grid{grid-template-columns:1fr 1fr}.album-photo-grid{grid-template-columns:repeat(2,1fr)}}

/* Dynamic homepage hero settings */
.hero{background-image:linear-gradient(to bottom,rgba(0,0,0,var(--hero-overlay,.35)),rgba(0,0,0,var(--hero-overlay,.35))),var(--hero-image,url('images/cas-bhurkunda-banner.jpeg'));color:var(--hero-text-color,#fff);}
.hero-content h2,.hero-content p{color:var(--hero-text-color,#fff);}

/* Multi-level admin-managed dropdown menu */
.nav-links li{position:relative}.nav-links .submenu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:#123f75;padding:0;margin:0;list-style:none;z-index:999;box-shadow:0 5px 15px #0003}.nav-links li:hover>.submenu{display:block}.nav-links .submenu li{width:100%}.nav-links .submenu a{display:block;padding:12px 16px;white-space:nowrap}.nav-links .submenu .submenu{top:0;left:100%}.arrow{font-size:11px;margin-left:5px}@media(max-width:800px){.nav-links .submenu{position:static;box-shadow:none;padding-left:15px}.nav-links li:hover>.submenu{display:block}.nav-links .submenu .submenu{left:auto}}
.form-error{background:#fff0f0;border:1px solid #e0a0a0;color:#a40000;padding:10px 16px;margin-bottom:16px;border-radius:6px}.form-error ul{margin:0;padding-left:20px}.form-card label span{color:#b00020}.form-card .btn-admission{display:inline-block;margin-top:8px}


/* Organized Admission Enquiry Form */
.admission-form {
    margin-top: 22px;
}
.admission-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
    align-items: start;
}
.admission-field {
    min-width: 0;
}
.admission-field.field-wide {
    grid-column: 1 / -1;
}
.admission-field label {
    display: block;
    margin: 0 0 7px;
    color: #17324d;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}
.admission-field label span,
.required-note span {
    color: #b00020;
    font-weight: 700;
}
.admission-field input,
.admission-field select,
.admission-field textarea {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #c9d2dc;
    border-radius: 6px;
    background: #fff;
    color: #222;
    font: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.admission-field textarea {
    min-height: 105px;
    resize: vertical;
}
.admission-field input::placeholder,
.admission-field textarea::placeholder {
    color: #8b98a5;
}
.admission-field input:focus,
.admission-field select:focus,
.admission-field textarea:focus {
    border-color: #145184;
    box-shadow: 0 0 0 3px rgba(20,81,132,.12);
}
.admission-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #e6ebf0;
}
.required-note {
    margin: 0;
    color: #6a7480;
    font-size: 13px;
}
.admission-submit {
    border: 0;
    cursor: pointer;
    padding: 12px 22px;
    font-size: 14px;
    box-shadow: 0 3px 8px rgba(0,0,0,.12);
}
.admission-submit:hover {
    filter: brightness(.96);
    transform: translateY(-1px);
}
@media (max-width: 700px) {
    .form-card {
        padding: 22px 18px;
    }
    .admission-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .admission-field.field-wide {
        grid-column: auto;
    }
    .admission-form-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .admission-submit {
        width: 100%;
    }
}

/* Downloads page */
.downloads-page { padding-top: 34px; padding-bottom: 48px; }
.page-heading { text-align: center; margin-bottom: 28px; }
.page-heading h2 { margin: 0 0 8px; color: #123f75; font-size: 30px; }
.page-heading p { margin: 0; color: #5c6570; }
.downloads-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.download-card { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid #e4e9ef; border-radius: 12px; padding: 20px; box-shadow: 0 4px 16px rgba(0,0,0,.06); transition: transform .2s, box-shadow .2s; }
.download-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(0,0,0,.1); }
.download-icon { width: 52px; height: 52px; flex: 0 0 52px; display: grid; place-items: center; border-radius: 10px; background: #edf4fb; color: #1356a2; font-size: 25px; }
.download-body { min-width: 0; flex: 1; }
.download-category { display: inline-block; margin-bottom: 5px; color: #d87522; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.download-card h3 { margin: 0 0 8px; color: #173b61; font-size: 19px; }
.download-card p { margin: 0 0 15px; color: #5c6570; font-size: 14px; line-height: 1.6; }
.download-button { display: inline-flex; align-items: center; gap: 7px; background: #1356a2; color: #fff !important; padding: 9px 14px; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: 14px; }
.download-button:hover { background: #0d3d76; }
.empty-state { text-align: center; padding: 55px 20px; background: #fff; border: 1px dashed #cbd5e1; border-radius: 12px; color: #667085; }
.empty-state i { font-size: 42px; color: #1356a2; margin-bottom: 12px; }
.empty-state h3 { margin: 0 0 8px; color: #173b61; }
@media (max-width: 600px) { .download-card { padding: 15px; } .page-heading h2 { font-size: 25px; } }

/* Student Corner dynamic cards and popup */
.student-corner-dynamic{padding-top:10px;padding-bottom:48px}.student-corner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.student-corner-card{background:#fff;border-radius:12px;padding:28px 24px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.07);border:1px solid #edf0f4;transition:transform .2s,box-shadow .2s}.student-corner-card:hover{transform:translateY(-4px);box-shadow:0 9px 24px rgba(0,0,0,.12)}.student-corner-icon{width:64px;height:64px;border-radius:50%;background:#fff1f1;color:#a40000;display:grid;place-items:center;font-size:30px;margin:0 auto 18px}.student-corner-card h3{margin:0 0 12px;color:#172b43;font-size:21px}.student-corner-card p{color:#5b6572;line-height:1.7;min-height:74px;margin:0 0 20px}.student-corner-view{border:0;background:#a40000;color:#fff;border-radius:6px;padding:11px 17px;font-weight:700;cursor:pointer}.student-corner-view:hover{background:#7f0000}.student-corner-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;padding:30px 16px;overflow:auto;align-items:center;justify-content:center}.student-corner-modal.show{display:flex}.student-corner-modal-box{background:#fff;width:min(760px,100%);max-height:90vh;overflow:auto;border-radius:12px;box-shadow:0 15px 50px rgba(0,0,0,.3)}.student-corner-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:#123f75;color:#fff}.student-corner-modal-head h3{margin:0;font-size:22px}.student-corner-modal-head button{background:transparent;color:#fff;border:0;font-size:30px;cursor:pointer;line-height:1}.student-corner-modal-body{padding:24px}.sc-item{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #e5e7eb}.sc-item:last-child{border-bottom:0;margin-bottom:0}.sc-item h4{margin:0 0 8px;color:#123f75;font-size:19px}.sc-short{color:#6b7280;margin:0 0 10px}.sc-content{line-height:1.75;color:#374151}.sc-item-image{max-width:100%;height:auto;border-radius:8px;margin-top:10px}@media(max-width:850px){.student-corner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.student-corner-grid{grid-template-columns:1fr}.student-corner-card p{min-height:0}.student-corner-modal{padding:12px}.student-corner-modal-body{padding:18px}}

/* Homepage news, notice and event interactions */
.notice-item a{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;color:inherit;text-decoration:none;cursor:pointer}
.notice-item a span{flex:1}.notice-item a b{font-size:11px;background:#f4a261;color:#111;padding:7px 9px;border-radius:4px;white-space:nowrap}
.home-events-list{padding:15px;border:1px solid #ddd;background:#fff;font-size:14px}
.home-event-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid #eee;background:transparent;text-align:left;cursor:pointer;color:#172033;font:inherit}
.home-event-item:last-child{border-bottom:0}.home-event-item:hover .event-title{text-decoration:underline;color:#8e172b}.home-event-item .event-title{font-weight:600;line-height:1.5}.home-event-item small{white-space:nowrap;color:#777}.home-events-empty{margin:0;color:#666}
.home-info-modal{display:none;position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.72);align-items:center;justify-content:center;padding:18px}.home-info-modal.active{display:flex}
.home-info-box{position:relative;width:min(700px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.4)}
.home-info-close{position:absolute;right:12px;top:10px;border:0;background:#8e172b;color:#fff;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer}.home-info-box h2{margin:0 35px 8px;color:#123f68}.home-info-box #homeInfoMeta{color:#777;font-size:13px;margin-bottom:18px}.home-info-box #homeInfoImage{max-width:100%;max-height:280px;display:block;margin:0 auto 18px}.home-info-box #homeInfoBody{font-size:16px;line-height:1.75;color:#222}.home-info-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.home-info-action{display:inline-flex;padding:10px 16px;background:#8e172b;color:#fff!important;border-radius:6px;text-decoration:none!important}
@media(max-width:600px){.notice-item a{align-items:flex-start}.notice-item a b{font-size:10px;padding:5px 7px}.home-info-box{padding:24px 18px}.home-event-item{display:block}.home-event-item small{display:block;margin-top:5px}}

/* Homepage database-driven slider */
.home-slider{overflow:hidden;padding:0;position:relative;height:480px;background:#123f68;}
.home-slides{height:100%;position:relative;}
.home-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s ease;text-align:center;color:#fff;padding:0 70px;isolation:isolate;}
.home-slide.active{opacity:1;visibility:visible;z-index:1;}
.home-slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;display:block;}
.home-slide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.25),rgba(0,0,0,.58));z-index:1;pointer-events:none;}
.home-slide .hero-content{position:relative;z-index:2;width:min(1000px,100%);max-width:1000px;margin:0 auto;padding:25px 40px;box-sizing:border-box;text-align:center;}
.home-slide .hero-content h2,.home-slide .hero-content p{color:#fff;max-width:100%;}.home-slide .hero-content h2{font-size:clamp(28px,4vw,54px);line-height:1.15;margin:0 0 14px;text-shadow:2px 3px 8px rgba(0,0,0,.85);}.home-slide .hero-content p{font-size:clamp(16px,2vw,24px);line-height:1.5;margin:0 auto;}
.hero-slide-button{display:inline-flex;margin-top:18px;padding:12px 24px;border-radius:4px;background:#f5a04a;color:#111;font-weight:700;text-decoration:none;}
.home-slider-prev,.home-slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:25px;cursor:pointer;}
.home-slider-prev{left:18px}.home-slider-next{right:18px}
.home-slider-dots{position:absolute;z-index:3;bottom:18px;left:0;right:0;text-align:center;}
.home-slider-dot{width:11px;height:11px;border:1px solid #fff;border-radius:50%;background:transparent;margin:0 5px;padding:0;cursor:pointer;}
.home-slider-dot.active{background:#fff;}
@media(max-width:700px){.home-slider{height:360px}.home-slide{padding:0 35px}.home-slide .hero-content{padding:15px}.home-slide .hero-content h2{font-size:28px}.home-slide .hero-content p{font-size:16px}.home-slider-prev,.home-slider-next{width:34px;height:34px;font-size:20px}}

/* Final slider visibility/layout fix */
.home-slider{background:#123f68!important;}
.home-slide{z-index:0;}
.home-slide.active{z-index:2;}
.home-slide-image{z-index:0!important;}
.home-slide-overlay{z-index:1!important;}
.home-slide .hero-content{z-index:2!important;}
@media(max-width:700px){.home-slider{height:380px}.home-slide .hero-content{padding:20px 45px}.home-slide .hero-content h2{font-size:clamp(24px,7vw,34px)}.home-slide .hero-content p{font-size:16px;line-height:1.4}}

/* Definitive homepage slider sizing fix: .hero is a flex container, so make the slider wrapper full-width block */
.hero.home-slider {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 480px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
}
.hero.home-slider .home-slides {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
}
.hero.home-slider .home-slide {
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}
.hero.home-slider .home-slide-image {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}
@media (max-width:700px) {
    .hero.home-slider { height: 380px !important; }
}

/* FINAL FOOTER OVERRIDE - force all three columns left aligned */
footer.site-footer,
body > footer.site-footer,
footer.site-footer .footer-grid,
footer.site-footer .footer-col,
footer.site-footer .footer-col h4,
footer.site-footer .footer-col p,
footer.site-footer .footer-col ul,
footer.site-footer .footer-col li,
footer.site-footer .footer-col a {
  text-align: left !important;
}
footer.site-footer { padding: 40px 5% 12px !important; }
footer.site-footer .footer-grid {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto 30px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 36px !important;
  align-items: start !important;
}
footer.site-footer .footer-col { min-width: 0 !important; }
footer.site-footer .footer-col h4 { margin: 0 0 15px !important; }
footer.site-footer .footer-col ul { padding: 0 !important; margin: 0 !important; list-style: none !important; }
footer.site-footer .footer-col li { margin: 0 0 8px !important; }
footer.site-footer .footer-social { display:flex !important; justify-content:flex-start !important; align-items:center !important; gap:15px !important; }
@media (max-width: 768px) {
  footer.site-footer .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
}

/* Compact hero banner typography */
.hero-content h2 {
    font-size: clamp(24px, 3.2vw, 42px) !important;
    line-height: 1.18;
}
.hero-content p {
    font-size: clamp(14px, 1.45vw, 18px) !important;
    line-height: 1.45;
}
.home-slide .hero-content h2 {
    font-size: clamp(24px, 3.2vw, 42px) !important;
    line-height: 1.18;
    margin-bottom: 10px;
}
.home-slide .hero-content p {
    font-size: clamp(14px, 1.45vw, 18px) !important;
    line-height: 1.45;
}
.hero-slide-button {
    margin-top: 14px;
    padding: 10px 20px;
    font-size: 14px;
}
@media (max-width: 700px) {
    .hero-content h2,
    .home-slide .hero-content h2 {
        font-size: 24px !important;
    }
    .hero-content p,
    .home-slide .hero-content p {
        font-size: 14px !important;
    }
    .hero-slide-button {
        margin-top: 10px;
        padding: 9px 16px;
        font-size: 13px;
    }
}
