@media (max-width: 450px) {
    .title {
        font-size: 27px;
        font-weight: bolder;
        color: #1E3A8A;
    }

    .sub-title {
        color: #F59E0B;
        font-size: 12px;
        font-weight: bold;
    }
}

@media (min-width: 451px) and (max-width: 770px) {
    .title {
        font-size: 30px;
        font-weight: bolder;
        color: #1E3A8A;
    }

    .sub-title {
        color: #F59E0B;
        font-size: 13px;
        font-weight: bold;
    }
}

@media (min-width: 771px) and (max-width: 1024px) {
    .title {
        font-size: 35px;
        font-weight: bolder;
        color: #1E3A8A;
    }

    .sub-title {
        color: #F59E0B;
        font-size: 15px;
        font-weight: bold;
    }
}

@media (min-width: 1025px) {
    .title {
        font-size: 45px;
        font-weight: bolder;
        color: #1E3A8A;
    }

    .sub-title {
        color: #F59E0B;
        font-size: 15px;
        font-weight: bold;
    }
}


/* Theme Navigation styling override */
.header {
    background-color: #1E3A8A !important; /* Navy background */
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
    padding: 12px 0 !important;
}

body.scrolled .header {
    background-color: #12223F !important; /* Darker navy when scrolled */
    padding: 8px 0 !important;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.25) !important;
}

.navmenu ul > li a {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.3px;
    padding: 12px 14px !important;
    transition: all 0.3s ease;
    text-decoration: none !important;
}

.navmenu ul > li a:hover,
.navmenu ul > li a.active {
    color: #F59E0B !important; /* Amber hover color */
}

/* Dropdown menu background & items styling */
.navmenu .dropdown ul {
    background-color: #1E3A8A !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3) !important;
    border-radius: 6px !important;
    padding: 8px 0 !important;
}

.navmenu .dropdown ul a {
    color: #e2e8f0 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 10px 20px !important;
    border-bottom: none !important;
    text-decoration: none !important;
}

.navmenu .dropdown ul a:hover,
.navmenu .dropdown ul .active,
.navmenu .dropdown ul li:hover > a {
    color: #F59E0B !important;
    background-color: rgba(245, 158, 11, 0.08) !important;
}

/* Mobile responsive menu overrides */
@media (max-width: 1199px) {
    .navmenu ul {
        background-color: #1E3A8A !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
    }
    
    .navmenu a {
        color: #e2e8f0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
    
    .navmenu a i {
        background-color: rgba(255, 255, 255, 0.1) !important;
        color: #ffffff !important;
    }
    
    .navmenu a i:hover {
        background-color: #F59E0B !important;
        color: #ffffff !important;
    }
    
    .navmenu .dropdown ul {
        margin: 10px 20px !important;
        background-color: rgba(0, 0, 0, 0.2) !important;
        border: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
}


/*keySuccess*/

@media (min-width: 1024px) {
    .keySuccess {
        background-color: transparent;
        position: relative;
        bottom: 180px;
    }
}

.key-body {
    background-color: #1E3A8A;
    height: 250px;
    overflow: hidden;
}

.key-img {
    width: 100px;
    height: 100px;
}

.ket-title {
    color: white;
    text-align: center;
    font-size: 25px;
}


/*about*/
.section-title-body {
    border-left: 1px solid #F59E0B;
}

.about-img {
    object-fit: contain;
}

.about-card {
    background-color: #F8F8F8;
    border-radius: 5px;
    padding: 10px;
}

.about-card span {
    text-wrap: normal;
    word-break: break-word;
    font-size: 18px;
    text-align: center;
    line-height: 10px;
}

.about-card-text span {
    text-wrap: normal;
    word-break: break-word;
    font-size: 18px;
    text-align: center;
    line-break: strict;
}

.btn-warning {
    padding: 15px;
    font-weight: bold;
    transition: all .5s ease;
}

.btn-warning:hover {
    background-color: #0F766E;
    color: white;
    border: none;
}


/*highlights*/
.img-container {
    position: relative;
    height: 300px; /* Fixed height */
    width: 100%; /* Full width */
    overflow: hidden;
}

.img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Maintain aspect ratio while filling the container */
}

.highlight-list ul {
    list-style: none;
    line-height: 40px;
    font-weight: bold;
}

.bi-check-circle {
    color: #0F766E
}


/*goal*/
.goal-section {
    padding: 120px 0px;
}

.goal-img {
    width: 100%;
    height: 53vh;
}

.goal {
    color: white;
    font-size: 35px;
}

.goal-card {
    background-color: #12223F;
}

.goal-card span {
    color: white;
    width: 10px;
}

.btn-primary {
    background-color: #0F766E;
    color: white;
    font-weight: bold;
    border: none;
    padding: 15px;
}

.btn-primary:hover {
    background-color: white;
    color: #0F766E;
    border: none;
}


/*newsUpdates*/
/* newsUpdates */
.card-body {
    padding: 20px;
    background-color: #F59E0B;
    border-radius: 5px;
}

.date {
    color: white;
    font-size: 25px;
    font-weight: bold;
}

.day {
    color: white;
    font-size: 15px;
    font-weight: 300;
}

.date-body {
    border-right: 1px solid white;
}

.news-content {
    color: white;
    word-break: break-word;
    font-weight: bold;
}


.management {
    padding: 100px 0px;
}

.about-text {
    font-weight: bolder;
    font-size: 50px;
    color: white;
}

@media (max-width: 768px) {
    .image-container {
        height: 30vh; /* Adjust height for smaller screens */
    }

    .about-text {
        font-size: 40px; /* Adjust font size for smaller screens */
    }
}

@media (max-width: 480px) {
    .image-container {
        height: 25vh; /* Further reduce height for very small screens */
    }

    .about-text {
        font-size: 35px; /* Smaller font size for mobile */
    }
}


.bg-naac {
    background-color: #12223F;
}


/* Swiper container and slide */
.hero-text {
    color: white;
    font-weight: bolder;
    text-shadow: 0px 0px 10px gray, 0px 0px 20px gray, 0px 0px 30px gray;
}


@media (max-width: 450px) {
    .hero-text {
        font-size: 20px;
    }
}

@media (min-width: 451px) and (max-width: 770px) {
    .hero-text {
        font-size: 30px;
    }
}

@media (min-width: 771px) and (max-width: 1024px) {
    .hero-text {
        font-size: 35px;
    }
}

@media (min-width: 1025px) {
    .hero-text {
        font-size: 60px;
    }
}

/* ==========================================
   GLOBAL SUBPAGE MODERNIZATION (NAVY, CORAL, GOLD)
   ========================================== */

/* Page Banner/Title overrides */
.page-title {
    position: relative;
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.96) 0%, rgba(15, 118, 110, 0.9) 100%), 
                url('../../assets/img/ns-college-icons/background-page-title.jpg') center/cover no-repeat !important;
    padding: 60px 0 60px 0 !important;
    text-align: center;
    margin-bottom: 50px;
    box-shadow: inset 0 -10px 40px rgba(0, 0, 0, 0.2);
}

.page-title::before {
    display: none !important; /* Remove legacy overlay */
}

/* Beautiful bottom wave transition for page title */
.page-title::after {
    display: none !important; /* Removed curve */
}

.page-title h1 {
    font-size: clamp(2.2rem, 5vw, 3.4rem) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: 0.5px;
    text-transform: capitalize;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    margin: 15px 0 0 0 !important;
}

.page-title .breadcrumbs {
    display: flex;
    justify-content: center;
    margin-bottom: 5px;
}

.page-title .breadcrumbs ol {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.08) !important;
    padding: 8px 24px !important;
    border-radius: 50px !important;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    margin: 0 auto !important;
    list-style: none;
}

.page-title .breadcrumbs ol li {
    font-size: 14px;
    font-weight: 500;
}

.page-title .breadcrumbs ol li a {
    color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.page-title .breadcrumbs ol li a:hover {
    color: #F59E0B !important; /* Amber */
}

.page-title .breadcrumbs ol li.current {
    color: #F59E0B !important; /* Amber */
    font-weight: 700;
}

.page-title .breadcrumbs ol li + li::before {
    color: rgba(255, 255, 255, 0.45) !important;
    content: "/" !important;
    padding: 0 6px;
}

/* Page Section Titles */
.section-title {
    text-align: center;
    margin-bottom: 40px;
}

.section-title h2 {
    font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
    font-weight: 800 !important;
    color: #1E3A8A !important;
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 12px;
    display: inline-block;
}

.section-title h2::after {
    content: '';
    position: absolute;
    display: block;
    width: 60px;
    height: 3px;
    background: #F59E0B !important; /* Amber */
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 4px;
}

.section-title p, 
.section-title h6 {
    font-size: 15px;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto;
    font-weight: 500;
}

/* Premium Table Modernization */
.table-responsive {
    border-radius: 14px !important;
    box-shadow: 0 10px 30px rgba(30, 58, 138, 0.05) !important;
    border: 1px solid rgba(30, 58, 138, 0.06) !important;
    background-color: #ffffff;
    margin: 25px 0 35px 0;
    overflow-x: auto;
}

.table {
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100%;
}

.table th {
    background-color: #1E3A8A !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 13px !important;
    letter-spacing: 0.5px;
    padding: 16px 14px !important;
    border: none !important;
    text-align: center;
    vertical-align: middle;
}

.table td {
    padding: 15px 14px !important;
    font-size: 14px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    vertical-align: middle;
}

.table tbody tr:hover {
    background-color: rgba(245, 158, 11, 0.02) !important;
}

.table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Service Info & Contact styling overrides */
.service-item {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 35px 25px !important;
    box-shadow: 0 10px 30px rgba(30, 58, 138, 0.04) !important;
    border: 1px solid rgba(30, 58, 138, 0.05) !important;
    transition: all 0.4s ease !important;
    text-align: center;
    margin-bottom: 24px;
    height: 100%;
}

.service-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(30, 58, 138, 0.08) !important;
    border-color: rgba(245, 158, 11, 0.2) !important;
}

.service-item .icon {
    margin-bottom: 20px !important;
}

.service-item .contact-icon {
    width: 60px !important;
    height: 60px !important;
    object-fit: contain !important;
    transition: transform 0.4s ease !important;
}

.service-item:hover .contact-icon {
    transform: scale(1.1) !important;
}

.service-item h4 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1E3A8A !important;
    margin-bottom: 15px !important;
}

.service-item h6, 
.service-item h6 a {
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.service-item h6 a:hover {
    color: #F59E0B !important;
}

/* Contact page custom form styling */
.php-email-form {
    background: #ffffff !important;
    padding: 40px !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 35px rgba(30, 58, 138, 0.04) !important;
    border: 1px solid rgba(30, 58, 138, 0.05) !important;
}

.php-email-form label {
    font-weight: 600 !important;
    color: #1E3A8A !important;
    font-size: 14px !important;
    margin-bottom: 6px;
}

.php-email-form .form-control {
    border-radius: 8px !important;
    padding: 12px 16px !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
}

.php-email-form .form-control:focus {
    border-color: #1E3A8A !important;
    box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.12) !important;
}

.php-email-form button[type="submit"] {
    background: #F59E0B !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 36px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    margin-top: 15px;
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.2);
}

.php-email-form button[type="submit"]:hover {
    background: #1E3A8A !important;
    box-shadow: 0 6px 20px rgba(30, 58, 138, 0.25) !important;
}

/* Responsive adjustment for Mobile menus */
@media (max-width: 991px) {
    .page-title {
        padding: 40px 0 40px 0 !important;
    }
    .page-title::after {
        display: none !important;
    }
}

/* Layout alignment to prevent navbar overlap and keep footer fixed at bottom */
.main {
    margin-top: 100px !important;
    padding-bottom: 80px !important;
}

/* Fixed Bottom Footer style override */
.footer {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 999 !important;
    background-color: #ffffff !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.05) !important;
    padding: 5px 0 !important;
    margin-top: 0 !important;
}

.footer .copyright {
    margin-top: 0 !important;
    padding: 5px 0 !important;
}

