/*******************************/
/********* General CSS *********/
/*******************************/
body {
    color: #666666;
    background: #dddddd;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
}
body.lang-tamil,
body.lang-tamil p,
body.lang-tamil h1, body.lang-tamil h2, body.lang-tamil h3,
body.lang-tamil h4, body.lang-tamil h5, body.lang-tamil h6,
body.lang-tamil .nav-link, body.lang-tamil .dropdown-item {
    font-family: 'Noto Serif Tamil', serif;
}
h1, h2, h3, h4, h5, h6 { color: #014406; }

a { color: #666666; transition: .3s; }
a:hover, a:active, a:focus { color: #fdbe33; outline: none; text-decoration: none; }

.btn:focus { box-shadow: none; }

.wrapper {
    position: relative;
    width: 100%;
    max-width: 1366px;
    margin: 0 auto;
    background: #ffffff;
}

.back-to-top {
    position: fixed;
    display: none;
    background: #fdbe33;
    color: #121518;
    width: 44px;
    height: 44px;
    text-align: center;
    line-height: 1;
    font-size: 22px;
    right: 15px;
    bottom: 15px;
    transition: background 0.5s;
    z-index: 9;
}
.back-to-top:hover { color: #fdbe33; background: #121518; }
.back-to-top i { padding-top: 10px; }

.btn { transition: .3s; }

#rcorners2 {
    border-radius: 25px;
    border: 2px solid darkgoldenrod;
    padding: 2px;
}

/* Language switching handled by PHP server-side */


/**********************************/
/********** Top Bar CSS ***********/
/**********************************/
.top-bar {
    position: relative;
    height: auto;
    max-height: 80px;
    background: #fdbe33;
}
.top-bar .logo { padding: 6px 0; text-align: center; overflow: hidden; }
.top-bar .logo h1 { margin: 0; color: #014406; font-size: 60px; line-height: 60px; font-weight: 700; }
.top-bar .logo img { max-width: 100%; height: auto; max-height: 68px; }
.top-bar .top-bar-item { display: flex; align-items: center; justify-content: flex-end; }
.top-bar .top-bar-icon { width: 40px; display: flex; align-items: center; justify-content: center; }
.top-bar .top-bar-icon [class^="flaticon-"]::before { margin: 0; color: #014406; font-size: 40px; }
.top-bar .top-bar-text { padding-left: 15px; }
.top-bar .top-bar-text h3 { margin: 0 0 5px 0; color: #014406; font-size: 16px; font-weight: 400; }
.top-bar .top-bar-text p { margin: 0; color: #014406; font-size: 13px; font-weight: 400; }

@media (min-width: 992px) { .top-bar { padding: 0 60px; } }
@media (max-width: 991.98px) { .top-bar .logo { text-align: center; } }


/**********************************/
/*********** Nav Bar CSS **********/
/**********************************/
.nav-bar {
    position: relative;
    background: #fdbe33;
    transition: .3s;
}
.nav-bar .container-fluid { padding: 0; }
.nav-bar.nav-sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 2px 5px rgba(0,0,0,.3);
    z-index: 999;
}
.nav-bar .navbar { height: 100%; background: #014406 !important; }

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    padding: 6px 10px;
    color: #ffffff;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active { color: #fdbe33; transition: none; }

.nav-bar .dropdown-menu { margin-top: 0; border: 0; border-radius: 0; background: #f8f9fa; }
.nav-bar .btn { color: #ffffff; border: 2px solid #ffffff; border-radius: 0; }
.nav-bar .btn:hover { color: #014406; background: #fdbe33; border-color: #fdbe33; }

@media (min-width: 992px) {
    .nav-bar { padding: 0 75px; }
    .nav-bar.nav-sticky { padding: 0; }
    .nav-bar .navbar { padding: 10px 20px; }
    .nav-bar .navbar-brand { display: none; }
    .nav-bar a.nav-link { padding: 8px 15px; font-size: 15px; text-transform: uppercase; }
}
@media (max-width: 991.98px) {
    .nav-bar .navbar { padding: 8px 15px; }
    .nav-bar a.nav-link { padding: 5px; }
    .nav-bar .dropdown-menu { box-shadow: none; }
    .nav-bar .btn { display: none; }
}


/*******************************/
/******** Carousel CSS *********/
/*******************************/
.carousel {
    position: relative;
    width: 100%;
    height: calc(100vh - 170px);
    min-height: 300px;
    margin: 0 auto;
    text-align: center;
    overflow: hidden;
}
.carousel .carousel-inner,
.carousel .carousel-item { position: relative; width: 100%; height: 100%; }
.carousel .carousel-item img { width: 100%; height: 100%; object-fit: cover; }
.carousel .carousel-item::after {
    position: absolute;
    content: "";
    width: 100%; height: 100%;
    top: 0; left: 0;
    background: rgba(0,0,0,.3);
    z-index: 1;
}
.carousel .carousel-caption {
    position: absolute;
    top: 0; bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: calc(100vh - 170px);
    min-height: 300px;
}
.carousel .carousel-caption p { color: #ffffff; font-size: 30px; margin-bottom: 15px; letter-spacing: 1px; }
.carousel .carousel-caption h1 { color: #ffffff; font-size: 60px; font-weight: 700; margin-bottom: 35px; }
.carousel .carousel-caption .btn {
    padding: 15px 35px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #ffffff;
    background: transparent;
    border: 2px solid #ffffff;
    border-radius: 0;
    transition: .3s;
}
.carousel .carousel-caption .btn:hover { color: #014406; background: #fdbe33; border-color: #fdbe33; }
.carousel .animated { -webkit-animation-duration: 1.5s; animation-duration: 1.5s; }

@media (max-width: 767.98px) {
    .carousel .carousel-caption h1 { font-size: 40px; }
    .carousel .carousel-caption p { font-size: 20px; }
    .carousel .carousel-caption .btn { padding: 12px 30px; font-size: 18px; letter-spacing: 0; }
}
@media (max-width: 575.98px) {
    .carousel .carousel-caption h1 { font-size: 30px; font-weight: 500; }
    .carousel .carousel-caption p { font-size: 16px; }
    .carousel .carousel-caption .btn { padding: 10px 25px; font-size: 16px; font-weight: 400; }
}


/*******************************/
/******* Section Header ********/
/*******************************/
.section-header { position: relative; width: 100%; margin-bottom: 45px; }
.section-header p { color: #fdbe33; font-size: 18px; font-weight: 600; margin-bottom: 5px; }
.section-header h2 { margin: 0; position: relative; font-size: 50px; font-weight: 700; }
.section-header h2::after {
    position: absolute;
    content: "";
    width: 60px; height: 3px;
    bottom: -8px; left: 0;
    background: #fdbe33;
}
.section-header.text-center h2::after { left: 50%; transform: translateX(-50%); }
@media (max-width: 767.98px) { .section-header h2 { font-size: 30px; } }


/*******************************/
/********* Feature CSS *********/
/*******************************/
.feature { position: relative; margin-bottom: 25px; }
.feature .col-md-12 { background: #014406; }
.feature .col-md-12:nth-child(2n) { color: #014406; background: #fdbe33; }
.feature .feature-item { min-height: 250px; padding: 30px; display: flex; align-items: center; justify-content: flex-start; }
.feature .feature-icon { position: relative; width: 60px; display: flex; align-items: center; justify-content: center; }
.feature .feature-icon::before {
    position: absolute; content: "";
    width: 80px; height: 80px; top: -20px; left: -10px;
    border: 2px dotted #ffffff; border-radius: 60px; z-index: 1;
}
.feature .feature-icon::after {
    position: absolute; content: "";
    width: 79px; height: 79px; top: -18px; left: -9px;
    background: #014406; border-radius: 60px; z-index: 2;
}
.feature .col-md-12:nth-child(2n) .feature-icon::after { background: #fdbe33; }
.feature .feature-icon [class^="flaticon-"]::before { position: relative; margin: 0; color: #fdbe33; font-size: 60px; line-height: 60px; z-index: 3; }
.feature .feature-text { padding-left: 30px; }
.feature .feature-text h3 { margin: 0 0 5px 0; color: #fdbe33; font-size: 25px; font-weight: 600; }
.feature .feature-text p { margin: 0; color: #fdbe33; font-size: 18px; font-weight: 400; }
.feature .col-md-12:nth-child(2n) [class^="flaticon-"]::before,
.feature .col-md-12:nth-child(2n) h3,
.feature .col-md-12:nth-child(2n) p { color: #014406; }


/*******************************/
/********** About CSS **********/
/*******************************/
.about { position: relative; width: 100%; padding: 5px 0; }
.about .section-header { margin-bottom: 10px; }
.about .about-img { position: relative; height: 100%; }
.about .about-img img { width: 100%; height: 100%; object-fit: cover; }
.about .about-text p { font-size: 16px; }
.about .about-text a.btn {
    position: relative;
    font-size: 16px; font-weight: 500; letter-spacing: 1px;
    color: #014406; border-radius: 0;
    background: #fdbe33; transition: .3s;
}
.about .about-text a.btn:hover { color: #fdbe33; background: #014406; }
@media (max-width: 767.98px) { .about .about-img { margin-bottom: 10px; height: auto; } }


/*******************************/
/********** Fact CSS ***********/
/*******************************/
.fact { position: relative; width: 100%; padding: 45px 0; }
.fact .col-6 { display: flex; align-items: flex-start; }
.fact .fact-icon { position: relative; margin: 7px 10px 0 10px; width: 60px; display: flex; align-items: center; justify-content: center; }
.fact .fact-icon [class^="flaticon-"]::before { margin: 0; font-size: 60px; line-height: 20px; background-image: linear-gradient(#ffffff, #fdbe33); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.fact .fact-right .fact-icon [class^="flaticon-"]::before { background-image: linear-gradient(#ffffff, #014406); }
.fact .fact-left, .fact .fact-right { padding-top: 20px; padding-bottom: 20px; }
.fact .fact-text h2 { font-size: 35px; font-weight: 700; }
.fact .fact-text p { margin: 0; font-size: 16px; font-weight: 600; text-transform: uppercase; }
.fact .fact-left { color: #fdbe33; background: #014406; }
.fact .fact-right { color: #014406; background: #fdbe33; }
.fact .fact-left h2 { color: #fdbe33; }

/* News/Announcements/Thought layout inside .fact */
.fact h2.fact-heading {
    color: #ffffff;
    font-size: 16px; font-weight: 700;
    margin-bottom: 12px; padding-bottom: 8px;
    border-bottom: 2px solid rgba(255,255,255,0.3);
    text-transform: uppercase; letter-spacing: 0.5px;
}
.fact .post-item { padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.12); }
.fact .post-item:last-child { border-bottom: none; }
.fact .post-item a { color: rgba(255,255,255,0.85); font-size: 13px; line-height: 1.5; display: block; }
.fact .post-item a:hover { color: #fdbe33; padding-left: 4px; }
.fact .post-item p { color: rgba(255,255,255,0.85); font-size: 13px; line-height: 1.7; font-style: italic; margin: 0; }


/*******************************/
/*********** Blog CSS **********/
/*******************************/
.blog { position: relative; width: 100%; padding: 45px 0 15px 0; }
.blog .blog-item { position: relative; width: 100%; text-align: center; margin-bottom: 30px; }
.blog .blog-img { position: relative; overflow: hidden; }
.blog .blog-img img { width: 100%; }
.blog .blog-title {
    display: flex; align-items: center;
    height: 60px; background: #014406;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.blog .blog-title h3 {
    margin: 0; padding: 0 15px 0 25px;
    width: calc(100% - 60px);
    font-size: 18px; font-weight: 700; color: #fdbe33;
    text-align: left; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.blog .blog-title a.btn {
    width: 60px; height: 60px; padding: 3px 0 0 3px;
    display: flex; align-items: center; justify-content: center;
    font-size: 60px; line-height: 60px; font-weight: 100;
    color: #014406; background: #fdbe33; border-radius: 0; transition: .3s;
}
.blog .blog-item:hover a.btn { color: #ffffff; }
.blog .blog-meta {
    position: relative; padding: 25px 0 10px 0; background: #f3f6ff;
}
.blog .blog-meta::after { position: absolute; content: ""; width: 100px; height: 1px; left: calc(50% - 50px); bottom: 0; background: #fdbe33; }
.blog .blog-meta p { display: inline-block; margin: 0; padding: 0 3px; font-size: 14px; font-weight: 300; font-style: italic; color: #666666; }
.blog .blog-text { padding: 10px 25px 25px 25px; background: #f3f6ff; }
.blog .blog-text p { margin: 0; font-size: 16px; }


/*******************************/
/******* Single Post CSS *******/
/*******************************/
.single { position: relative; padding: 45px 0; }
.single .single-content { position: relative; margin-bottom: 30px; overflow: hidden; }
.single .single-content img { margin-bottom: 20px; width: 100%; }
.single .single-content h2, .single .single-content h3 { color: #014406; }
.single .single-content table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 13px; }
.single .single-content table th { background: #014406; color: #fff; padding: 9px 12px; text-align: left; }
.single .single-content table td { padding: 8px 12px; border-bottom: 1px solid #eee; vertical-align: top; }
.single .single-content table tr:nth-child(even) td { background: #f8f8f8; }
.single .single-related { margin-bottom: 45px; }
.single .single-related h2 { font-size: 30px; font-weight: 700; margin-bottom: 25px; }
.single .post-item { display: flex; align-items: center; margin-bottom: 15px; }
.single .post-item .post-img { width: 100%; max-width: 80px; }
.single .post-item .post-img img { width: 100%; }
.single .post-item .post-text { padding-left: 15px; }
.single .post-item .post-text a { font-size: 16px; font-weight: 400; }


/**********************************/
/*********** Sidebar CSS **********/
/**********************************/
.sidebar { position: relative; width: 100%; }
@media(max-width: 991.98px) { .sidebar { margin-top: 45px; } }
.sidebar .sidebar-widget { position: relative; margin-bottom: 45px; }
.sidebar .sidebar-widget .widget-title {
    position: relative; margin-bottom: 30px; padding-bottom: 5px;
    font-size: 30px; font-weight: 700;
}
.sidebar .sidebar-widget .widget-title::after {
    position: absolute; content: ""; width: 60px; height: 2px;
    bottom: 0; left: 0; background: #fdbe33;
}
.sidebar .category-widget ul { margin: 0; padding: 0; list-style: none; }
.sidebar .category-widget ul li { margin: 0 0 12px 22px; }
.sidebar .category-widget ul li:last-child { margin-bottom: 0; }
.sidebar .category-widget ul li a { display: inline-block; line-height: 23px; }
.sidebar .category-widget ul li::before {
    position: absolute; content: '\f105';
    font-family: 'Font Awesome 5 Free'; font-weight: 900;
    color: #fdbe33; left: 1px;
}


/*******************************/
/********* Contact CSS *********/
/*******************************/
.contact { position: relative; width: 100%; padding: 45px 0; }
.contact .col-md-6 { padding-top: 30px; padding-bottom: 30px; }
.contact .col-md-6:first-child { background: #014406; }
.contact .col-md-6:last-child { background: #fdbe33; }
.contact .contact-item {
    position: relative; margin-bottom: 30px; padding: 30px;
    display: flex; align-items: flex-start; flex-direction: row;
    border: 1px solid rgba(256,256,256,.2);
}
.contact .contact-item [class^="flaticon-"]::before { margin: 0; color: #fdbe33; font-size: 40px; }
.contact .contact-text { position: relative; width: auto; padding-left: 20px; }
.contact .contact-text h2 { color: #fdbe33; font-size: 20px; font-weight: 600; }
.contact .contact-text p { margin: 0; color: #ffffff; font-size: 16px; }
.contact .contact-form input {
    color: #ffffff; height: 40px; border-radius: 0;
    border-width: 1px; border-color: rgba(256,256,256,.4); background: transparent;
}
.contact .contact-form textarea {
    color: #ffffff; height: 185px; border-radius: 0;
    border-width: 1px; border-color: rgba(256,256,256,.4); background: transparent;
}
.contact .contact-form .form-control::placeholder { color: #ffffff; opacity: 1; }
.contact .contact-form .btn { padding: 16px 30px; font-size: 16px; font-weight: 600; color: #fdbe33; background: #014406; border: none; border-radius: 0; transition: .3s; }
.contact .contact-form .btn:hover { color: #014406; background: #ffffff; }


/*******************************/
/********* Footer CSS **********/
/*******************************/
.footer {
    position: relative;
    margin-top: 45px;
    padding-top: 90px;
    background: #014406;
    color: #ffffff;
}
.footer .footer-contact,
.footer .footer-link,
.footer .newsletter { position: relative; margin-bottom: 45px; }
.footer h2 {
    position: relative; margin-bottom: 20px; padding-bottom: 10px;
    font-size: 20px; font-weight: 600; color: #fdbe33;
}
.footer h2::after { position: absolute; content: ""; width: 60px; height: 2px; left: 0; bottom: 0; background: #fdbe33; }
.footer .footer-contact p { color: #ffffff; font-size: 13px; line-height: 1.8; }
.footer .footer-contact p i { width: 25px; color: #fdbe33; }
.footer .footer-social { position: relative; margin-top: 20px; }
.footer .footer-social a {
    display: inline-block; width: 40px; height: 40px; padding: 7px 0;
    text-align: center; border: 1px solid rgba(256,256,256,.3); border-radius: 60px; transition: .3s;
}
.footer .footer-social a i { font-size: 15px; color: #ffffff; }
.footer .footer-social a:hover { background: #fdbe33; border-color: #fdbe33; }
.footer .footer-social a:hover i { color: #014406; }
.footer .footer-link a { display: block; margin-bottom: 10px; color: #ffffff; transition: .3s; }
.footer .footer-link a::before { position: relative; content: "\f105"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-right: 10px; }
.footer .footer-link a:hover { color: #fdbe33; letter-spacing: 1px; }
.footer .footer-menu .f-menu { position: relative; padding: 15px 0; font-size: 0; text-align: center; border-top: 1px solid rgba(256,256,256,.1); border-bottom: 1px solid rgba(256,256,256,.1); }
.footer .footer-menu .f-menu a { color: #ffffff; font-size: 16px; margin-right: 15px; padding-right: 15px; border-right: 1px solid rgba(255,255,255,.1); }
.footer .footer-menu .f-menu a:hover { color: #fdbe33; }
.footer .footer-menu .f-menu a:last-child { margin-right: 0; padding-right: 0; border-right: none; }
.footer .copyright { padding: 30px 15px; }
.footer .copyright p { margin: 0; color: #ffffff; }
.footer .copyright .col-md-6:last-child p { text-align: right; }
.footer .copyright p a { color: #fdbe33; font-weight: 500; letter-spacing: 1px; }
.footer .copyright p a:hover { color: #ffffff; }
@media (max-width: 768px) {
    .footer .copyright p,
    .footer .copyright .col-md-6:last-child p { margin: 5px 0; text-align: center; }
}


/*******************************/
/******** Top Nav Strip ********/
/*******************************/
.topnav { position: relative; background: #014406; color: #ffffff; }
.topnav .topnav-menu .f-menu {
    position: relative; padding: 7px 0; font-size: 0; text-align: left;
    border-top: 1px solid rgba(256,256,256,.1);
    border-bottom: 1px solid rgba(256,256,256,.1);
}
.topnav .topnav-menu .f-menu a { color: #ffffff; font-size: 13px; margin-right: 12px; padding-right: 12px; border-right: 1px solid rgba(255,255,255,.1); }
.topnav .topnav-menu .f-menu a:hover { color: #fdbe33; }
.topnav .topnav-menu .f-menu a:last-child { margin-right: 0; padding-right: 0; border-right: none; }


/* ============================================================
   PAGE BANNER — inner pages
   ============================================================ */
.page-banner {
    position: relative !important;
    width: 100%;
    height: 200px;
    overflow: hidden;
    display: block;
    background: #014406;
}
.page-banner > img {
    position: absolute !important;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block; z-index: 1;
}
.page-banner-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100%;
    height: 100%;
    background: rgba(1, 68, 6, 0.65);
    z-index: 5;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    padding: 0 20px;
}
.page-banner-overlay h1 {
    color: #fdbe33 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 1px 2px 6px rgba(0,0,0,0.4);
    line-height: 1.3;
}
.page-banner-breadcrumb {
    background: rgba(253, 190, 51, 0.9);
    color: #014406 !important;
    font-weight: 600;
    padding: 5px 22px;
    border-radius: 3px;
    font-size: 13px;
    display: inline-block;
    letter-spacing: 0.3px;
}
@media (max-width: 991.98px) { .page-banner { height: 160px; } .page-banner-overlay h1 { font-size: 22px !important; } }
@media (max-width: 767.98px) { .page-banner { height: 130px; } .page-banner-overlay h1 { font-size: 18px !important; } }
@media (max-width: 575.98px) { .page-banner { height: 100px; } .page-banner-overlay h1 { font-size: 15px !important; } .page-banner-breadcrumb { font-size: 11px; padding: 3px 14px; } }


/* ============================================================
   NEWS TICKER
   ============================================================ */
@keyframes tickerScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.news-ticker-track {
    display: flex;
    white-space: nowrap;
    animation: tickerScroll 30s linear infinite;
}
.news-ticker-track:hover { animation-play-state: paused; }


/* ============================================================
   SIDEBAR WIDGETS (inner page)
   ============================================================ */
.sb-widget {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    margin-bottom: 20px;
    overflow: hidden;
}
.sb-widget-title {
    background: #014406;
    color: #fdbe33;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 10px 16px;
    margin: 0;
}
.sb-widget-body { padding: 12px 14px; }
.sb-news-item, .sb-ann-item {
    padding: 7px 0;
    border-bottom: 1px dashed #e0d8cc;
    font-size: 13px; line-height: 1.5;
}
.sb-news-item:last-child, .sb-ann-item:last-child { border-bottom: none; }
.sb-news-item a, .sb-ann-item a { color: #444; }
.sb-news-item a:hover, .sb-ann-item a:hover { color: #014406; }
.sb-date { font-size: 11px; color: #aaa; display: block; margin-top: 2px; }
.sb-arrow { color: #fdbe33; margin-right: 5px; }
.sb-thought { font-style: italic; font-size: 13px; line-height: 1.9; color: #555; padding: 4px 0; }
.quote-icon { color: #fdbe33; }


/* ============================================================
   PERSON CARDS — faculty / administration
   ============================================================ */
.person-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 20px;
    text-align: center;
    transition: .3s;
    height: 100%;
    margin-bottom: 20px;
}
.person-card:hover { box-shadow: 0 4px 20px rgba(1,68,6,0.15); transform: translateY(-3px); }
.person-card img {
    width: 100px; height: 100px;
    border-radius: 50%; object-fit: cover;
    border: 3px solid #014406;
    margin-bottom: 14px;
}
.person-card h5 { font-size: 15px; color: #014406; margin-bottom: 4px; font-weight: 700; }
.person-card .designation { font-size: 12px; color: #fdbe33; font-weight: 600; }
.person-card .qualification { font-size: 12px; color: #666; margin-top: 4px; }


/* ============================================================
   EDITOR TOOLBAR (admin)
   ============================================================ */
.editor-toolbar {
    display: flex; flex-wrap: wrap; gap: 4px;
    padding: 6px 8px;
    background: #f1f1f1;
    border: 1.5px solid #ddd;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
}
.editor-toolbar button {
    background: #fff; border: 1px solid #ccc; border-radius: 3px;
    padding: 2px 8px; font-size: 12px; cursor: pointer; color: #333; transition: .3s;
}
.editor-toolbar button:hover { background: #014406; color: #fdbe33; border-color: #014406; }
.editor-textarea {
    width: 100%; font-family: 'Courier New', monospace;
    font-size: 13px; line-height: 1.7; padding: 10px 12px;
    border: 1.5px solid #ddd; border-radius: 4px;
    resize: vertical; background: #fafafa; transition: .3s;
}
.editor-textarea:focus { outline: none; border-color: #014406; background: #fff; box-shadow: 0 0 0 3px rgba(1,68,6,0.1); }


/* ============================================================
   GALLERY
   ============================================================ */
.gallery-img {
    width: 100%; height: 200px; object-fit: cover;
    cursor: pointer; transition: .3s;
}
.gallery-img:hover { opacity: 0.85; transform: scale(1.02); }


/* ============================================================
   MARKS TABLE (application form)
   ============================================================ */
.marks-table th { background: #014406; color: #fdbe33; font-size: 12px; padding: 8px 10px; text-align: center; white-space: nowrap; }
.marks-table td { padding: 6px 8px; vertical-align: middle; }
.marks-table td input { font-size: 13px; padding: 5px 8px; text-align: center; }
.marks-table tr:nth-child(even) { background: #f8f5e8; }


/* ============================================================
   UTILITIES
   ============================================================ */
.section-divider {
    height: 4px;
    background: linear-gradient(90deg, #014406, #fdbe33, #014406);
    border: none; margin: 0;
}

/* ── Download links ─────────────────────────────────────────── */
.sc-download-link {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    margin-bottom: 6px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-left: 4px solid #014406;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s;
}
.sc-download-link:hover {
    background: #f0f7f0;
    border-left-color: #fdbe33;
    color: #014406;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
.sc-download-badge {
    margin-left: auto;
    font-size: 10px;
    font-weight: 700;
    background: #014406;
    color: #fff;
    padding: 2px 7px;
    border-radius: 3px;
    letter-spacing: 0.5px;
}
.sc-download-link:hover .sc-download-badge {
    background: #fdbe33;
    color: #014406;
}