:root {
    --primary-color: #1a4d8f;
    --secondary-color: #f47b20;
    --dark-blue: #0e2a4d;
    --light-bg: #f5f7fa;
    --text-dark: #222;
}

body {
    font-family: 'Poppins', 'Noto Sans Devanagari', sans-serif;
    color: var(--text-dark);
    background-color: #fff;
}

a { text-decoration: none; }

/* ===== Top utility bar ===== */
.top-bar {
    background: var(--dark-blue);
    color: #fff;
    font-size: 13px;
}
.top-bar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    flex-wrap: wrap;
}
.top-bar a { color: #fff; margin-right: 14px; }
.top-bar a:hover { color: var(--secondary-color); }
.top-bar-right { display: flex; align-items: center; gap: 12px; }
.font-size-toggle button, .theme-toggle button {
    background: none; border: none; color: #fff; font-size: 12px; cursor: pointer;
}
.lang-switch { font-weight: 600; }

/* ===== Header ===== */
.site-header {
    background: #fff;
    padding: 14px 0;
    border-bottom: 3px solid var(--secondary-color);
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.header-emblem img, .header-logo-right img { height: 64px; }
.header-titles { text-align: center; flex: 1; }
.header-subtitle { display: block; font-size: 13px; color: #666; }
.header-title {
    display: inline-block;
    font-size: 26px;
    font-weight: 700;
    color: var(--primary-color);
    line-height: 1.3;
}
.header-title-en { font-size: 16px; font-weight: 500; color: #555; }

/* ===== Navbar ===== */
.main-navbar {
    background: var(--primary-color);
}
.main-navbar .navbar-nav { width: 100%; justify-content: space-between; }
.main-navbar .nav-link {
    color: #fff !important;
    font-weight: 500;
    padding: 12px 16px !important;
}
.main-navbar .nav-link:hover,
.main-navbar .dropdown:hover .nav-link {
    background: var(--secondary-color);
}
.main-navbar .dropdown-menu {
    border-radius: 0;
    border: none;
    box-shadow: 0 4px 10px rgba(0,0,0,.15);
}
.navbar-toggler { border-color: #fff; }

/* ===== Banner ===== */
.banner-slider img { max-height: 460px; object-fit: cover; width: 100%; }

/* ===== Section titles ===== */
.section-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary-color);
    border-left: 5px solid var(--secondary-color);
    padding-left: 12px;
    margin-bottom: 18px;
}

/* ===== Latest updates tabs ===== */
.updates-tab-content { border: 1px solid #ddd; border-top: none; padding: 16px; }
.update-item {
    padding: 10px 0;
    border-bottom: 1px dashed #ddd;
}
.update-item a { color: var(--primary-color); font-weight: 500; }
.update-meta { display: block; font-size: 12px; color: #777; margin-top: 2px; }
.view-all-link {
    display: inline-block;
    margin-top: 10px;
    font-weight: 600;
    color: var(--secondary-color);
}

/* ===== Leaders ===== */
.leader-card { text-align: center; }
.leader-card img {
    width: 120px; height: 120px; object-fit: cover;
    border-radius: 50%; border: 3px solid var(--primary-color);
    margin-bottom: 10px;
}
.leader-card h6 { margin-bottom: 2px; font-weight: 700; }
.leader-card p { margin-bottom: 0; font-size: 14px; color: #555; }

/* ===== Schemes ===== */
.scheme-card img { width: 100%; border-radius: 6px; }

/* ===== Departments / Services ===== */
.simple-list { list-style: none; padding-left: 0; }
.simple-list li { padding: 6px 0; border-bottom: 1px solid #eee; }
.simple-list li a { color: var(--text-dark); }
.simple-list li a:hover { color: var(--primary-color); }

.service-card {
    display: flex; align-items: center; gap: 10px;
    background: var(--light-bg);
    padding: 12px; border-radius: 6px;
    color: var(--text-dark);
}
.service-card img { width: 32px; height: 32px; }
.service-card:hover { background: #e9eef5; }

.dept-card {
    background: var(--light-bg);
    padding: 16px; border-radius: 6px; height: 100%;
}

/* ===== Tables ===== */
.gov-table th { background: var(--primary-color); color: #fff; }

/* ===== Inner pages ===== */
.inner-page .page-title {
    font-size: 24px; font-weight: 700; color: var(--primary-color);
    margin-bottom: 16px; padding-bottom: 8px; border-bottom: 2px solid var(--secondary-color);
}
.breadcrumb { font-size: 14px; }

/* ===== Footer ===== */
.site-footer { background: var(--dark-blue); color: #cfd8e3; padding-top: 40px; }
.site-footer h5 { color: #fff; margin-bottom: 14px; font-size: 16px; }
.footer-contact-list, .footer-links-list { list-style: none; padding-left: 0; }
.footer-contact-list li { margin-bottom: 10px; font-size: 14px; }
.footer-contact-list.dark-text li { color: #333; }
.footer-links-list li { margin-bottom: 8px; }
.footer-links-list a, .footer-links-external a { color: #cfd8e3; }
.footer-links-list a:hover, .footer-links-external a:hover { color: var(--secondary-color); }
.footer-links-external { display: flex; flex-direction: column; gap: 6px; }
.footer-social { display: flex; gap: 12px; }
.footer-social a {
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(255,255,255,.1);
    color: #fff; display: flex; align-items: center; justify-content: center;
}
.footer-social a:hover { background: var(--secondary-color); }
.footer-bottom {
    background: #081a30;
    margin-top: 30px; padding: 16px 0;
    font-size: 13px; text-align: center;
}
.footer-bottom a { color: var(--secondary-color); }

/* ===== High contrast theme ===== */
body.theme-contrast { background: #000; color: #fff; }
body.theme-contrast .site-header,
body.theme-contrast .site-header .header-title,
body.theme-contrast .header-title-en { background: #000; color: #fff; }
