/* =========================================
 Global Drishti Premium Sarkari Theme
 Styles for Front Page,Categories,and Posts
 ========================================= */

:root {
    --primary-blue: #0A2463;
    --primary-red: #D90429;
    --primary-green: #2ecc71;
    --accent-orange: #f39c12;
    --accent-purple: #7c3aed;
    --accent-teal: #0d9488;
    --accent-slate: #334155;
    --accent-indigo: #4f46e5;
    --text-dark: #2b2d42;
    --text-light: #8d99ae;
    --bg-light: #f8f9fa;
    --white: #ffffff;
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 5px 15px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.15);
    --radius: 8px;
    /* Poppins: bold, geometric, the look most Indian govt/result portals already
       use for headings — reads as "official" without feeling cold like Arial.
       Inter: built specifically for small-size screen legibility — matters here
       since list items/post titles are dense text at 14-15px. */
    --font-heading: 'Poppins', 'Roboto', 'Helvetica', sans-serif;
    --font-body: 'Inter', 'Work Sans', sans-serif;
}

body {
    background-color: #f4f7f6;
    color: var(--text-dark);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.55;
}

/* ========== GLOBAL FONT SIZE STANDARDIZATION (all pages/devices) ========== */
/* No more random big/small fonts. Consistent across homepage, posts, cards, admit/result etc. */
.sarkari-box,
.box-content,
.box-content li a,
.post-main,
.entry-content,
.list-box,
.sarkari-content-section,
.table-section,
.side-box,
.sb-head,
.post-title,
h1, h2, h3, h4, h5, h6,
p, li, td, th,
.sarkari-hero-section,
.sarkari-grid-wrapper {
  font-size: inherit;
}

@media (max-width: 991px) {
  body {
    font-size: 14.5px;
  }
}

@media (max-width: 767px) {
  body {
    font-size: 14px;
  }
  .sarkari-box .box-content li a {
    font-size: 13.5px;
  }
}

/* AdSense Auto Ads runs site-wide with no code-level size constraint --
   Google decides ad format/size dynamically. If it ever places something
   wider than the viewport, this stops it from widening the whole page
   (the "zoomed out, blank space on the right" symptom) instead of just
   letting the oversized ad get safely clipped/scoped to its own box. */
html, body, #page, .wrapper, .site {
    overflow-x: hidden !important;
    max-width: 100% !important;
    position: relative;
}

.adsbygoogle,
ins.adsbygoogle,
iframe[id*="google_ads"],
iframe[id*="aswift"],
div[id*="google_ads_iframe"],
div[aria-label*="Advertisement"] {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Anchor/vignette ads from Auto ads attach as position:fixed, which escapes
   normal overflow clipping on the body -- constrain these specifically too. */
div[id*="google_ads_iframe"][style*="position: fixed"],
div[id*="google_ads_iframe"][style*="position:fixed"] {
    max-width: 100vw !important;
    left: 0 !important;
}

/* === CRITICAL FIX: Stop AdSense from entering post tables ===
   Auto ads were slipping into <td> / table cells, destroying the strict 
   sarkari-style 2-col layout (fixed widths, borders, aligned vertical lines, 
   no-wrap on labels).
   This rule aggressively hides and removes from flow any ad elements inside 
   all post content tables. */
.post-body table .adsbygoogle,
.post-body table ins.adsbygoogle,
.post-body table div[id*="google_ads"],
.post-body table iframe[id*="google_ads"],
.post-body table div[aria-label*="Advertisement"],
.entry-content table .adsbygoogle,
.entry-content table ins.adsbygoogle,
.entry-content table div[id*="google_ads"],
.entry-content table iframe[id*="google_ads"],
.sarkari-main-wrapper table .adsbygoogle,
.sarkari-main-wrapper table ins.adsbygoogle {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Extra protection for ads placed directly as cell content */
.post-body table td .adsbygoogle,
.post-body table th .adsbygoogle,
.entry-content table td .adsbygoogle,
.entry-content table th .adsbygoogle {
    display: none !important;
}

/* Also suppress any stray ad containers that might be siblings inside table rows */
.post-body table tr .adsbygoogle,
.post-body table > .adsbygoogle,
.entry-content table tr .adsbygoogle {
    display: none !important;
}

/* Category color key — one fixed color per section, used consistently instead
   of ad hoc hex values, so the same color always means the same thing site-wide */
.header-syllabus {
    background: linear-gradient(135deg, var(--accent-purple), #5b21b6);
}
.header-syllabus + .box-content {
    border-left: 4px solid var(--accent-purple);
}

.header-admission {
    background: linear-gradient(135deg, var(--accent-teal), #0f766e);
}
.header-admission + .box-content {
    border-left: 4px solid var(--accent-teal);
}

.header-news {
    background: linear-gradient(135deg, var(--accent-slate), #1e293b);
}
.header-news + .box-content {
    border-left: 4px solid var(--accent-slate);
}

.header-tools {
    background: linear-gradient(135deg, var(--accent-indigo), #4338ca);
}
.header-tools + .box-content {
    border-left: 4px solid var(--accent-indigo);
}

a {
    text-decoration: none;
    transition: color 0.2s ease-out, opacity 0.2s ease-out;
}

a:hover {
    text-decoration: none;
}


.sarkari-top-bar {
    background: #000;
    color: #ccc;
    padding: 5px 0;
    font-size: 0.8rem;
    border-bottom: 1px solid #333;
}

.sarkari-main-header {
    background: #fff;
    padding: 0;
}

.site-branding .site-title,
.site-title,
.site-title a {
    font-family: var(--font-heading) !important;
    font-weight: 800 !important;
    color: var(--primary-blue) !important;
    font-size: 2.2rem !important;
    margin: 0 !important;
    letter-spacing: -1px !important;
    text-decoration: none !important;
}

.site-branding .site-description,
.site-description {
    color: var(--primary-red) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    opacity: 1 !important;
}


.sarkari-navbar-wrapper {
    background: linear-gradient(90deg, var(--primary-blue), #0d2c75);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.sarkari-navbar {
    padding: 0;
}

.sarkari-navbar .nav-link {
    color: #fff !important;
    font-weight: 500;
    padding: 15px 18px !important;
    font-size: 0.95rem;
    text-transform: uppercase;
    transition: background 0.3s;
}

.sarkari-navbar .nav-link:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #ffeb3b !important;
}

.sarkari-navbar .nav-link i {
    margin-right: 5px;
    color: rgba(255, 255, 255, 0.7);
}

.header-search-icon a {
    color: #fff;
    font-size: 1.2rem;
    padding: 15px;
    display: inline-block;
}

.search-dropdown {
    background: #fff;
    border-bottom: 3px solid var(--primary-red);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}




.sarkari-hero-section {
    background: linear-gradient(135deg, #ffffff 0%, #f0f4ff 100%);
    padding: 50px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

.sarkari-hero-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(10, 36, 99, 0.05) 0%, rgba(255, 255, 255, 0) 70%);
    border-radius: 50%;
    z-index: 0;
}

.hero-title {
    font-family: var(--font-heading);
    font-weight: 800;
    color: var(--primary-blue);
    margin-bottom: 15px;
    font-size: 2.8rem;
    position: relative;
    z-index: 1;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.hero-title .highlight {
    color: var(--primary-red);
}

.hero-subtitle {
    font-size: 1.2rem;
    line-height: 1.5;
    color: var(--text-light);
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    min-height: 3.6rem;
    /* Stable space for 2 lines */
    display: block;
}


.portal-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-radius: var(--radius);
    padding: 35px 20px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.5);
    height: 100%;
    position: relative;
    overflow: hidden;
}

.portal-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
}

.job-card::after {
    background: var(--primary-blue);
}

.scheme-card::after {
    background: var(--primary-green);
}

.portal-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}

.card-icon {
    font-size: 45px;
    margin-bottom: 20px;
    display: inline-block;
    padding: 15px;
    background: rgba(240, 244, 255, 0.8);
    border-radius: 50%;
}

.job-card .card-icon {
    color: var(--primary-blue);
}

.scheme-card .card-icon {
    color: var(--primary-green);
    background: rgba(235, 250, 235, 0.8);
}

.portal-card h2 {
    font-weight: 800;
    font-size: 1.6rem;
    margin-bottom: 10px;
    letter-spacing: -0.5px;
}

.portal-card p {
    color: var(--text-light);
    margin-bottom: 25px;
    font-size: 1rem;
}

.btn-portal {
    display: inline-block;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.btn-portal {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-portal:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.btn-blue {
    background: linear-gradient(45deg, var(--primary-blue), #1e4b9e);
}

.btn-green {
    background: linear-gradient(45deg, var(--primary-green), #27ae60);
}


.sarkari-marquee-container {
    background: linear-gradient(90deg, var(--primary-blue), #0d2c75);
    color: #fff;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    padding: 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    height: 45px;
    /* Fixed height for marquee to stop shifting */
    overflow: hidden;
}

.marquee-label {
    background: linear-gradient(45deg, var(--primary-red), #ff3355);
    padding: 6px 20px;
    font-weight: bold;
    font-size: 0.95rem;
    white-space: nowrap;
    z-index: 2;
    border-radius: 0 var(--radius) var(--radius) 0;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.3);
}

.marquee-item {
    margin-right: 40px;
}

.marquee-item a {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    text-decoration: none !important;
}

.marquee-item a:hover {
    color: #ffeb3b !important;
    text-decoration: underline !important;
}

.badge-danger {
    background-color: var(--primary-red);
    margin-right: 8px;
    font-weight: 600;
    padding: 4px 8px;
}

.sarkari-new-badge {
    background: #ff0000;
    color: #fff;
    font-size: 8px;
    font-weight: 900;
    padding: 2px 4px;
    border-radius: 3px;
    margin-left: 5px;
    vertical-align: middle;
    display: inline-block;
    line-height: 1;
    animation: pulse-red 1s infinite;
}

@keyframes pulse-red {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 5px rgba(255, 0, 0, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 0, 0, 0);
    }
}


.sarkari-content-section {
    background: #fff;
    border-radius: var(--radius);
    padding: 25px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    margin-bottom: 35px;
    border: 1px solid #f0f0f0;
    min-height: 800px;
    /* Increased to accommodate content fully */
    contain: layout;
    /* Prevent internal shifts from affecting external elements */
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 15px;
    margin-bottom: 25px;
}

.section-header h3 {
    font-size: 1.6rem;
    color: var(--primary-blue);
    font-weight: 800;
    margin: 0;
    display: flex;
    align-items: center;
}

.section-header h3 i {
    margin-right: 10px;
    color: var(--primary-red);
}

.view-all-link {
    font-size: 0.95rem;
    color: var(--primary-red);
    font-weight: 700;
    padding: 8px 15px;
    background: #fff4f4;
    border-radius: 20px;
}

.view-all-link:hover {
    background: var(--primary-red);
    color: #fff;
}


.sarkari-grid-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* Mobile collapse to 1 column is in the @media (max-width: 767px) block below — .sarkari-box has no Bootstrap col-* class, so it does NOT stack on its own. */

.sarkari-box {
    border: 2px solid #000 !important;
    border-radius: var(--radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
    transition: transform 0.2s;
}

.sarkari-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

/* Header was center-aligned while the post list below it is left-aligned --
   that mismatch is what made the heading and the posts feel like two
   separate blocks stacked together instead of one card. Left-aligning the
   header (to match the body) and carrying its color down as a left-border
   accent on the content ties them into one visual unit. */
.box-header {
    padding: 14px 18px;
    text-align: left;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.05rem;
    letter-spacing: 0.5px;
    font-family: var(--font-heading);
}

.header-result {
    background: linear-gradient(135deg, var(--primary-red), #b71c1c);
}
.header-result + .box-content {
    border-left: 4px solid var(--primary-red);
}

.header-admit {
    background: linear-gradient(135deg, var(--primary-blue), #1565c0);
}
.header-admit + .box-content {
    border-left: 4px solid var(--primary-blue);
}


.header-jobs {
    background: linear-gradient(135deg, var(--accent-orange), #e65100);
}
.header-jobs + .box-content {
    border-left: 4px solid var(--accent-orange);
}

.header-scheme {
    background: linear-gradient(135deg, var(--primary-green), #2bad58);
}

.box-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.box-content li {
    border-bottom: 1px solid #f5f5f5;
}

.box-content li a {
    display: block;
    padding: 12px 18px;
    color: var(--primary-blue);
    font-size: 0.92rem;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
}

.box-content li a:hover {
    background: #fdfdfd;
    color: #000000;
    padding-left: 22px;
    font-weight: 600;
    border-left-color: var(--primary-blue);
}

.more-link {
    text-align: right;
    font-weight: 700;
    color: var(--primary-blue) !important;
    font-size: 0.9rem !important;
    background: #f9f9f9;
}

.more-link:hover {
    background: #eee;
}

.no-data {
    padding: 20px;
    text-align: center;
    color: #999;
    font-style: italic;
}


.scheme-post-card {
    background: #fff;
    border: none;
    border-radius: var(--radius);
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 100%;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.scheme-post-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.scheme-thumb img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform 0.5s;
}

.scheme-post-card:hover .scheme-thumb img {
    transform: scale(1.05);
}

.fallback-thumb {
    height: 200px;
    background: linear-gradient(45deg, var(--primary-green), #2ecc71);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 3.5rem;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.scheme-details {
    padding: 20px;
}

.scheme-details h4 {
    font-size: 1.2rem;
    margin-bottom: 10px;
    line-height: 1.4;
    font-weight: 700;
}

.scheme-details h4 a {
    color: var(--text-dark);
    text-decoration: none;
}

.scheme-details h4 a:hover {
    color: var(--primary-green);
}

.scheme-meta {
    font-size: 0.85rem;
    color: #888;
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
}

.excerpt {
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 15px;
    height: 48px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.read-more {
    color: var(--primary-green);
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.read-more:hover {
    text-decoration: underline;
}


.archive-header {
    background: #fff;
    padding: 40px;
    margin-bottom: 30px;
    border-radius: var(--radius);
    border-left: 6px solid var(--primary-blue);
    box-shadow: var(--shadow-sm);
}

.archive-title {
    margin: 0;
    color: var(--primary-blue);
    font-weight: 800;
}

.archive-desc {
    margin-top: 15px;
    color: #555;
    font-size: 1.05rem;
}

.sarkari-table-container {
    background: #fff;
    padding: 25px;
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}

.table-sarkari {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.table-sarkari th {
    background: var(--primary-blue);
    color: #fff;
    padding: 15px;
    text-align: left;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
}

.table-sarkari th:first-child {
    border-top-left-radius: var(--radius);
}

.table-sarkari th:last-child {
    border-top-right-radius: var(--radius);
}

.table-sarkari td {
    border-bottom: 1px solid #eee;
    padding: 15px;
    font-size: 0.95rem;
}

.table-sarkari tr:last-child td {
    border-bottom: none;
}

.table-sarkari tr:hover {
    background-color: #f8f9ff;
}



.sarkari-footer,
.site-footer,
.ast-footer-bar {
    background: linear-gradient(135deg, #051636, #0A2463) !important;
    color: #ffffff !important;
    padding: 50px 0 30px;
    margin-top: 50px;
    position: relative;
    border-top: 5px solid var(--primary-red);
}

/* Force all footer text to be white for visibility */
.sarkari-footer *,
.site-footer *,
.ast-footer-bar * {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.footer-brand .footer-logo {
    color: #fff;
    font-weight: 800;
    font-size: 2rem;
    margin-bottom: 10px;
    letter-spacing: -1px;
}

.copyright-text {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    margin: 0;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
    font-size: 0.95rem;
    margin: 0 10px;
}

.footer-links a:hover {
    color: var(--primary-red);
}

.footer-links .sep {
    color: rgba(255, 255, 255, 0.3);
}

.footer-social .social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);

    border-radius: 50%;
    margin-left: 10px;
    color: #fff;
    font-size: 1.1rem;
    transition: all 0.3s;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-social .social-icon:hover {
    transform: translateY(-3px);
    background: #fff;
}

.footer-social .social-icon.fb:hover {
    color: #3b5998;
}

.footer-social .social-icon.tw:hover {
    color: #000;
}

.footer-social .social-icon.in:hover {
    color: #e1306c;
}

.footer-social .social-icon.tg:hover {
    color: #0088cc;
}

/* Footer mobile media query removed as requested */


/* All mobile media queries removed as requested */


.schema-faq details {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    margin-bottom: 10px;
    padding: 15px;
    transition: all 0.3s ease;
}

.schema-faq details[open] {
    border-left: 4px solid var(--primary-green);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    padding-bottom: 20px;
}

.schema-faq summary {
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    outline: none;
    color: var(--primary-blue);
    font-size: 1.05rem;
    position: relative;
    padding-right: 20px;
}

.schema-faq summary::-webkit-details-marker {
    display: none;
}


.schema-faq summary::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 0;
    font-weight: bold;
    color: var(--primary-red);
    transition: transform 0.3s;
}

.schema-faq details[open] summary::after {
    transform: rotate(45deg);

    content: '-';
    transform: none;
}

.schema-faq p {
    margin-top: 15px;
    color: #444;
    font-size: 0.95rem;
    line-height: 1.6;
    border-top: 1px solid #f0f0f0;
    padding-top: 10px;
}

/* ======================================================= 
   🔥🔥 START: INTERACTIVE REVOLUTION (Inspired by 1WE) 🔥🔥 
   ======================================================= */

:root {
    --glass-bg: rgba(255, 255, 255, 0.7);
    --glass-border: rgba(255, 255, 255, 0.4);
    --neon-blue: #3b82f6;
    --neon-purple: #8b5cf6;
}

/* Glassy Card Upgrade */
.sarkari-box,
.sarkari-content-section,
.portal-card,
.gd-card {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid var(--glass-border) !important;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    border-radius: 12px !important;
}

/* Advanced Hover Interactions */
.sarkari-box:hover,
.portal-card:hover,
.gd-card:hover {
    transform: translateY(-8px) scale(1.01) !important;
    box-shadow: 0 20px 40px 0 rgba(31, 38, 135, 0.12) !important;
    border-color: var(--neon-blue) !important;
}

/* Neon Glow Buttons */
.btn-portal,
.gd-btn,
.view-all-link {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.btn-portal:hover,
.gd-btn:hover {
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.4) !important;
    transform: translateY(-2px);
}

/* Micro-Interactions for Links */
.box-content li a:hover {
    color: #000000 !important;
    background: rgba(59, 130, 246, 0.05) !important;
    padding-left: 22px !important;
}

/* Animated Title Glow */
.hero-title .highlight {
    background: linear-gradient(120deg, #d90429, #ff3355, #d90429);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shine-animation 3s linear infinite;
}

@keyframes shine-animation {
    to {
        background-position: 200% center;
    }
}

/* Card Entry Animations (App-like load) */
.sarkari-box,
.portal-card,
.gd-card {
    animation: cardReveal 0.6s cubic-bezier(0.23, 1, 0.32, 1) both;
}

@keyframes cardReveal {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Staggered delay for cards */
.sarkari-grid-wrapper .sarkari-box:nth-child(1) {
    animation-delay: 0.1s;
}

.sarkari-grid-wrapper .sarkari-box:nth-child(2) {
    animation-delay: 0.2s;
}

.sarkari-grid-wrapper .sarkari-box:nth-child(3) {
    animation-delay: 0.3s;
}


/* Responsive Table interactivity */
.gd-table tr,
.table-sarkari tr {
    transition: background 0.2s;
}

.gd-table tr:hover,
.table-sarkari tr:hover {
    background: rgba(59, 130, 246, 0.03) !important;
}

/* Smooth Image Reveal */
.scheme-thumb img,
.featured-image-wrapper img {
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Premium Meta Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* ======================================================== 
   💎 GLOBAL VISIBILITY & LAYOUT (Migrated & Optimized) 💎 
   ======================================================== */

/* 1. Navbar & Navigation Fixes (Professional Centering) */
.navbar-nav > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    white-space: nowrap !important;
    height: 50px;
}

.navbar-nav > li > a i {
    font-size: 16px !important;
    margin-right: 6px !important;
    display: inline-block !important;
}

/* 2. Body text natural color — no forced overrides */
body p, body li {
    color: var(--text-dark);
    opacity: 1;
    visibility: visible;
}

/* Box content links stay dark — text-dark (#2b2d42) wasn't dark enough for
   comfortable reading, bumped to near-black for stronger contrast */
.box-content li a {
    color: var(--primary-blue) !important;
}

/* Sidebar cards (right side on posts) now exactly match homepage cards */
.sidebar .sarkari-box,
.sidebar .sarkari-box .box-content,
.sidebar .sarkari-box .box-content li a {
    font-size: 0.92rem !important;
    line-height: 1.45 !important;
    font-family: var(--font-body) !important;
}
.sidebar .sarkari-box .box-header {
    font-size: 1.05rem !important;
    font-family: var(--font-heading) !important;
}
table td, table th {
    color: var(--primary-blue) !important;
}

/* 4. Marquee & Dark Section Visibility (White on Dark) */
.sarkari-marquee-container, 
.sarkari-marquee-container marquee,
.sarkari-marquee-container * {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Footer: white text scoped ONLY to .sarkari-footer */
.sarkari-footer * {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.sarkari-marquee-container {
    background: #0A2463 !important;
    display: flex !important;
}

.marquee-label {
    background: #D90429 !important;
    color: #ffffff !important;
}

/* 5. UAG & Info-Box Block Fixes (Contrast Restoration) */
html body .wp-block-uagb-info-box .uagb-ifb-content,
html body .wp-block-uagb-info-box .uagb-ifb-title,
html body .wp-block-uagb-info-box .uagb-ifb-text,
html body .uagb-info-box .uagb-ifb-content,
html body .uagb-info-box .uagb-ifb-title,
html body .uagb-info-box .uagb-ifb-text,
html body .wp-block-uagb-info-box * {
    color: #000000 !important;
    opacity: 1 !important;
}

html body .wp-block-uagb-info-box a,
html body .uagb-info-box a {
    color: #0033cc !important;
    font-weight: 700 !important;
}

/* Mobile navbar media query removed as requested */

/* =======================================================
   ✅ SEO CONTENT SECTION — ALL CLASSES (No Inline Styles)
   ======================================================= */

.seo-content-section {
    background-color: #f8f9fa;
    padding: 50px 0;
    border-top: 3px solid #e9ecef;
    font-family: 'Inter', 'Roboto', sans-serif;
}

.sarkari-guide-content {
    color: #333333;
}

.seo-main-title {
    font-size: 26px;
    font-weight: 700;
    color: #d32f2f !important;
    margin-bottom: 20px;
    line-height: 1.4;
}

.seo-sub-title {
    font-size: 20px;
    font-weight: 600;
    margin-top: 25px;
    margin-bottom: 12px;
    color: #1a1a1a !important;
    border-left: 4px solid #d32f2f;
    padding-left: 12px;
}

.seo-para {
    margin-bottom: 15px;
    line-height: 1.8;
    color: #333333 !important;
    font-size: 16px;
}

.seo-list {
    margin-bottom: 15px;
    padding-left: 20px;
    line-height: 1.8;
    color: #333333 !important;
}

.seo-list li {
    margin-bottom: 8px;
    color: #333333 !important;
    font-size: 16px;
}

.seo-footer-note {
    margin-top: 30px;
    font-size: 14px;
    color: #555555 !important;
    font-style: italic;
    border-top: 1px solid #e9ecef;
    padding-top: 20px;
}

/* =======================================================
   ✅ HERO SECTION — MOBILE VISIBILITY FIX
   ======================================================= */

/* Hero text must always be dark (light gray is invisible on mobile) */
.hero-subtitle {
    color: #444444 !important;
}

.hero-title {
    color: var(--primary-blue) !important;
}

.portal-card h3 {
    color: #1a1a1a !important;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.portal-card p {
    color: #333333 !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
}

/* =======================================================
   ✅ MOBILE-SPECIFIC OVERRIDES (max-width: 767px)
   ======================================================= */

@media (max-width: 767px) {

    /* Hero section mobile */
    .hero-title {
        font-size: 1.6rem !important;
        color: var(--primary-blue) !important;
        -webkit-text-fill-color: var(--primary-blue) !important;
    }

    .hero-subtitle {
        font-size: 1rem !important;
        color: #333333 !important;
        padding: 0 10px;
    }

    .portal-card h3 {
        font-size: 1.2rem !important;
        color: #1a1a1a !important;
    }

    .portal-card p {
        color: #333333 !important;
    }

    /* SEO section mobile */
    .seo-content-section {
        padding: 30px 0;
    }

    .seo-main-title {
        font-size: 20px !important;
        color: #d32f2f !important;
    }

    .seo-sub-title {
        font-size: 17px !important;
        color: #1a1a1a !important;
    }

    .seo-para,
    .seo-list li {
        font-size: 15px !important;
        color: #333333 !important;
        line-height: 1.7 !important;
    }

    /* Fix alignment on mobile — everything left-aligned in content */
    .sarkari-guide-content {
        text-align: left;
    }

    .seo-list {
        padding-left: 15px;
    }

    /* Portal cards row — stack properly */
    .portal-cards-row {
        margin: 0 10px;
    }

    .portal-cards-row .col-md-5 {
        width: 100%;
    }

    /* sarkari-grid-wrapper is a plain CSS grid (NOT Bootstrap columns) — the
       comment above it claimed "stacks via Bootstrap col" but .sarkari-box has
       no col-* class at all, so the fixed 3-column grid never collapsed. At a
       375px screen that's ~110px per column, forcing every word onto its own
       line. This is the actual fix the comment thought already existed. */
    .sarkari-grid-wrapper {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .box-header {
        font-size: 1rem;
    }

    /* Toggler had no explicit styling here — fell back to a bare/awkward
       default look. Give it a deliberate shape instead. */
    .navbar-toggler {
        background: rgba(255, 255, 255, 0.15);
        border: none !important;
        border-radius: 6px;
        padding: 8px 14px;
        position: relative;
        z-index: 2001;
    }

    .navbar-toggler .fa-bars,
    .navbar-toggler .fa-times {
        font-size: 1.1rem;
    }

    /* Icon swap: bars when closed, X when open (no JS — driven by Bootstrap's
       own aria-expanded toggle on the button) */
    .navbar-toggler .icon-close { display: none; }
    .navbar-toggler[aria-expanded="true"] .icon-open { display: none; }
    .navbar-toggler[aria-expanded="true"] .icon-close { display: inline; }

    .header-search-icon a {
        padding: 8px 10px;
    }

    /* BBC/Reuters pattern: compact header — drop the low-value date/welcome
       strip so logo+hamburger is the first thing visible on a small screen. */
    .sarkari-top-bar {
        display: none;
    }

    /* Full-screen overlay menu instead of Bootstrap's thin inline dropdown.
       Bootstrap still toggles the .show class via its own JS — only the
       visual treatment of .collapse / .collapse.show is changed here. */
    .sarkari-navbar .navbar-collapse {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: linear-gradient(160deg, #0d2c75, var(--primary-blue));
        z-index: 2000;
        padding: 90px 30px 30px;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        overflow-y: auto;
    }

    .sarkari-navbar .navbar-collapse.show {
        transform: translateX(0);
    }

    .sarkari-navbar .navbar-nav {
        margin-right: 0 !important;
    }

    .sarkari-navbar .nav-item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .sarkari-navbar .nav-link {
        padding: 16px 4px !important;
        font-size: 1.1rem;
        text-transform: none;
    }

    .sarkari-navbar .nav-link i {
        width: 24px;
        text-align: center;
    }

    .header-search-icon {
        margin-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        padding-top: 16px;
    }

    .header-search-icon a {
        color: #fff;
        font-size: 1rem;
    }

    .header-search-icon a::after {
        content: " Search";
    }

    /* Card-style list items — BBC/Reuters pattern: each row gets a colored
       accent, generous tap height, and a trailing chevron, instead of a bare
       text link. Applies to every .sarkari-box list (Result, Admit Card,
       Latest Jobs, Syllabus, Admission, News, Schemes). */
    .sarkari-box .box-content ul li {
        border-bottom: 1px solid #eef1f4;
        list-style: none;
    }

    .sarkari-box .box-content ul li:last-child {
        border-bottom: none;
    }

    .sarkari-box .box-content ul li a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 14px 16px;
        font-size: 0.95rem;
        line-height: 1.4;
        color: var(--primary-blue);
        min-height: 48px;
    }

    .sarkari-box .box-content ul li a::after {
        content: "\f105"; /* font-awesome chevron-right */
        font-family: FontAwesome;
        color: #c7ccd1;
        flex-shrink: 0;
    }

    .sarkari-box .box-content ul li.no-data a,
    .sarkari-box .box-content ul li.no-data {
        padding: 14px 16px;
        color: #888;
        font-style: italic;
    }

    .sarkari-box .box-content ul li a.more-link {
        font-weight: 700;
        color: var(--primary-blue);
    }

    .sarkari-box .box-content ul li a.more-link::after {
        content: "\f178"; /* arrow-right, distinguishes it from regular rows */
    }
}

/* Responsive Layout & Table support for all post content tables (Mobiles & Tablets) */
@media (max-width: 1024px) {
    /* Compress container margins/paddings for maximum content area */
    .sarkari-content-section {
        padding: 12px !important;
        margin-bottom: 20px !important;
        border-radius: 8px !important;
    }
    .container {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    .row {
        margin-left: -4px !important;
        margin-right: -4px !important;
    }
    .col-lg-8, .col-md-12, .col-lg-4 {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    /* Heading scaling to prevent overflow/word wrap clutter */
    h1.entry-title {
        font-size: 1.6rem !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
        text-align: center !important;
    }
    .entry-content h2, .sarkari-content-section h2 {
        font-size: 1.3rem !important;
        margin-top: 18px !important;
        margin-bottom: 8px !important;
    }
    .entry-content h3, .sarkari-content-section h3 {
        font-size: 1.2rem !important;
        margin-top: 14px !important;
        margin-bottom: 6px !important;
    }

    /* High Density Responsive Tables - sarkariresult.com style */
    /* Keep proper table model. Scroll via wrapper above. Consistent columns. */
    .entry-content table,
    .sarkari-content-section table,
    .post-body table,
    .post-main table,
    table.dense {
        display: table !important;
        width: 100% !important;
        min-width: 100% !important;
        border-collapse: collapse !important;
        table-layout: fixed !important;
    }

    .entry-content table td,
    .entry-content table th,
    .sarkari-content-section table td,
    .sarkari-content-section table th,
    .post-body td, .post-body th,
    .post-main td, .post-main th,
    table.dense td, table.dense th {
        white-space: normal !important;
        padding: 6px 8px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        vertical-align: top;
    }

    /* Force inherit */
    .entry-content table td *,
    .sarkari-content-section table td *,
    .entry-content table th *,
    .sarkari-content-section table th *,
    .post-body table td *, .post-body table th * {
        font-size: inherit !important;
        line-height: inherit !important;
        color: inherit !important;
        background: transparent !important;
    }
}

/* Tablet portrait grid optimization (2-columns instead of squished 3-columns) */
@media (min-width: 768px) and (max-width: 991px) {
    .sarkari-grid-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px !important;
    }
}

/* Specific overrides for small mobile screens (< 768px) */
@media (max-width: 767px) {
    h1.entry-title {
        font-size: 1.35rem !important;
    }
    .entry-content table td,
    .entry-content table th,
    .sarkari-content-section table td,
    .sarkari-content-section table th,
    .post-body table td, .post-body table th,
    .post-main table td, .post-main table th,
    table.dense th, table.dense td {
        font-size: 12.5px !important;
        padding: 5px 7px !important;
    }
    /* Force proper table model, no breaking */
    .entry-content table,
    .sarkari-content-section table,
    .post-body table,
    .post-main table,
    table.dense {
        display: table !important;
    }
}

/* Smart table container for horizontal scroll (sarkariresult.com style) 
   Proper table model + scroll wrapper only. No display:block hacks on table/tr/td */
.post-body,
.entry-content,
.sarkari-content-section,
.post-main,
.table-section,
.sarkari-table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}

/* Force proper table model everywhere (like sarkariresult.com) */
.post-body table,
.entry-content table,
.post-main table,
.sarkari-content-section table,
table.dense,
table.list,
table.gd,
.table-sarkari,
table {
    display: table !important;
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 100% !important;
    border-collapse: collapse !important;
}

/* Prevent layout collapse - force minimum table width on small screens */
@media (max-width: 767px) {
  .post-body table,
  .entry-content table,
  .post-main table,
  table.dense {
    min-width: 520px; /* triggers clean horizontal scroll, keeps columns aligned */
  }
}

/* =======================================================
   ✅ MARQUEE LINK VISIBILITY FIX
   ======================================================= */

/* Marquee container — dark blue background */
.sarkari-marquee-container {
    background: linear-gradient(90deg, #0A2463, #0d2c75) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center;
    overflow: hidden;
}

/* ALL text inside marquee — force white */
.sarkari-marquee-container *,
.sarkari-marquee-container marquee,
.sarkari-marquee-container marquee * {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Marquee links specifically */
.marquee-item a {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.marquee-item a:hover {
    color: #ffeb3b !important;
    text-decoration: underline !important;
}

/* Marquee badge */
.marquee-item .badge {
    color: #ffffff !important;
    background-color: #D90429 !important;
}

/* Marquee label (LEFT UPDATE tag) */
.marquee-label {
    background: linear-gradient(45deg, #D90429, #ff3355) !important;
    color: #ffffff !important;
    padding: 6px 20px;
    font-weight: 700;
    font-size: 0.9rem;
    white-space: nowrap;
    flex-shrink: 0;
}

/* =======================================================
   📂 CATEGORY PAGE — SarkariResult-style dense black-grid upgrade
   (added 23.06.2026 — overrides earlier .archive-header/.table-sarkari
    rules above via cascade. Targets EXISTING class names so all 4
    category templates upgrade with NO PHP change. Rollback = delete
    this block / restore sarkari-style.css.bak-23062026)
   ======================================================= */

/* --- archive header: compact + black border, colored left bar kept --- */
.sarkari-main-wrapper .archive-header {
    padding: 16px 20px;
    margin-bottom: 18px;
    border: 1.5px solid #000;
    border-left-width: 6px;
    box-shadow: var(--shadow-sm);
}
.sarkari-main-wrapper .archive-title { font-size: 1.5rem; font-weight: 700; }
.sarkari-main-wrapper .archive-desc { margin-top: 4px; font-size: 0.9rem; color: var(--text-light); }

/* --- list container: black border, less padding --- */
.sarkari-main-wrapper .sarkari-table-container {
    border: 1.5px solid #000;
    padding: 0;
    overflow: hidden;
}
.sarkari-main-wrapper .sarkari-table-container > h4 {
    background: linear-gradient(135deg, var(--primary-blue), #1565c0);
    color: #fff !important;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    margin: 0;
    padding: 11px 16px;
    border-bottom: 1.5px solid #000;
}

/* --- dense black-grid table --- */
.sarkari-main-wrapper .table-sarkari { border-collapse: collapse; border-spacing: 0; }
.sarkari-main-wrapper .table-sarkari th {
    padding: 10px 16px;
    border: 1px solid #000;
    font-size: 0.74rem;
}
.sarkari-main-wrapper .table-sarkari th:first-child,
.sarkari-main-wrapper .table-sarkari th:last-child { border-radius: 0; }
.sarkari-main-wrapper .table-sarkari td {
    border: 1px solid #000;
    padding: 10px 16px;
    font-size: 0.88rem;
    vertical-align: top;
}
.sarkari-main-wrapper .table-sarkari tr:last-child td { border: 1px solid #000; }
.sarkari-main-wrapper .table-sarkari tr:hover { background-color: #f8f9fb; }
/* smart 2-line title wrap (no ellipsis cut) on the name column link */
.sarkari-main-wrapper .table-sarkari td:first-child a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
}

/* --- "New" tag: compact red pill --- */
.sarkari-main-wrapper .table-sarkari .badge {
    font-size: 0.6rem;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 3px;
    vertical-align: middle;
}

/* --- download / action button: solid blue --- */
.sarkari-main-wrapper .table-sarkari .btn-outline-primary {
    background: var(--primary-blue);
    color: #fff;
    border: 1.5px solid var(--primary-blue);
    font-weight: 700;
    border-radius: 5px;
    padding: 5px 14px;
    white-space: nowrap;
}
.sarkari-main-wrapper .table-sarkari .btn-outline-primary:hover {
    background: #1565c0; border-color: #1565c0; color: #fff;
}

/* --- pagination: black-bordered number boxes --- */
.sarkari-main-wrapper .pagination .page-numbers,
.sarkari-main-wrapper .navigation .page-numbers {
    display: inline-block;
    min-width: 36px;
    text-align: center;
    padding: 7px 11px;
    margin: 3px;
    border: 1.5px solid #000;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.82rem;
    background: #fff;
    color: var(--primary-blue);
}
.sarkari-main-wrapper .pagination .page-numbers.current,
.sarkari-main-wrapper .navigation .page-numbers.current,
.sarkari-main-wrapper .navigation.pagination .nav-links .page-numbers.current {
    /* extra-specific 3rd selector above beats colors/default.css's
       .navigation.pagination .nav-links .page-numbers.current (red) —
       found live 24.06.2026, current-page pill was rendering red not blue */
    background: var(--primary-blue);
    color: #fff;
}
.sarkari-main-wrapper .pagination .page-numbers:hover,
.sarkari-main-wrapper .navigation .page-numbers:hover { background: #f4f7fb; }

/* --- sidebar boxes: black border to match ---
   NOTE: an older "Glassy Card Upgrade" rule (~line 901, unconditional, all
   viewports) sets `.sarkari-box { border:1px solid var(--glass-border)
   !important; background: rgba(255,255,255,.7) !important; backdrop-filter:
   blur(12px) !important; }`. That glassmorphism look directly contradicts
   this redesign's flat/dense/black-grid direction, so it's overridden here
   with matching !important + higher specificity (found live 24.06.2026 via
   getComputedStyle — border was rendering translucent white, not black). */
.sarkari-main-wrapper .sarkari-box {
    border: 1.5px solid #000 !important;
    background: #fff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: var(--shadow-sm) !important;
}
.sarkari-main-wrapper .sarkari-box:hover {
    transform: none !important;
    border-color: #000 !important;
    box-shadow: 0 6px 14px rgba(0,0,0,0.1) !important;
}
.sarkari-main-wrapper .sarkari-box .box-header { border-bottom: 1.5px solid #000 !important; }

/* --- mobile: tighten table padding (3rd col already d-none below md) --- */
@media (max-width: 767px) {
    .sarkari-main-wrapper .table-sarkari th,
    .sarkari-main-wrapper .table-sarkari td { padding: 9px 12px; font-size: 0.84rem; }
    .sarkari-main-wrapper .archive-header { padding: 14px 16px; }
    .sarkari-main-wrapper .archive-title { font-size: 1.25rem; }
}

/* =======================================================
   🏠 HOME + shared list rows — dense black-grid
   (.box-content lists appear in home 6-box grid AND category/post
    sidebars — upgrading here keeps all three consistent)
   NOTE: a mobile-only rule `.sarkari-box .box-content ul li` (inside
   @media max-width:767px, ~line 1385) wins on element-count specificity
   (ul+li beats just li) and was rendering #eef1f4 grey instead of black
   on phones. !important added below to guarantee this wins at every size.
   ======================================================= */
.sarkari-main-wrapper .box-content li { border-bottom: 1px solid #000 !important; }
.sarkari-main-wrapper .box-content li:last-child { border-bottom: none !important; }
.sarkari-main-wrapper .box-content li a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
    padding: 9px 16px;
    font-size: 0.86rem;
    border-left: 3px solid transparent;
}
/* keep the existing hover accent but stop the jumpy padding-shift fighting the clamp */
.sarkari-main-wrapper .box-content li a:hover { padding-left: 16px; }
/* "View More" footer row stays single-line + centered-right */
.sarkari-main-wrapper .box-content li a.more-link { -webkit-line-clamp: 1; }

/* =======================================================
   📄 POST (single) — title/breadcrumb polish + black-grid content tables
   (content tables come from the_content / GD pipeline; light styling
    WITHOUT !important so the plugin's own rules still win where set)
   ======================================================= */
.single .sarkari-main-wrapper .entry-title { font-size: 1.5rem; }
/* POST CONTENT TABLES - 100% sarkariresult.com style: proper table, dark black borders, consistent, scroll on mobile */
.single .sarkari-main-wrapper .post-body table,
.single .sarkari-main-wrapper .entry-content table,
.sarkari-content-section table,
.post-main table {
    width: 100% !important;
    border: 1.5px solid #000 !important;
    border-collapse: collapse !important;
    margin: 12px 0 !important;
    font-size: 0.88rem;
    table-layout: fixed !important;
    background: #fff;
}
.single .sarkari-main-wrapper .post-body table th,
.single .sarkari-main-wrapper .post-body table td,
.single .sarkari-main-wrapper .entry-content table th,
.single .sarkari-main-wrapper .entry-content table td,
.sarkari-content-section table th,
.sarkari-content-section table td,
.post-main table th,
.post-main table td {
    border: 1px solid #000 !important;
    padding: 8px 11px !important;
    text-align: left !important;
    vertical-align: top !important;
    font-size: 0.88rem !important;
}
.single .sarkari-main-wrapper .post-body table th,
.single .sarkari-main-wrapper .entry-content table th,
.sarkari-content-section table th,
.post-main table th {
    background: #f4f7fb !important;
    font-weight: 700 !important;
}
.single .sarkari-main-wrapper .post-body table thead th,
.single .sarkari-main-wrapper .entry-content table thead th,
.sarkari-content-section table thead th,
.post-main table thead th {
    background: var(--primary-blue) !important;
    color: #fff !important;
}

/* Mobile: proper table + horizontal scroll, no breaking, dark borders */
@media (max-width: 767px) {
    .single .sarkari-main-wrapper .post-body table,
    .single .sarkari-main-wrapper .entry-content table,
    .sarkari-content-section table,
    .post-main table {
        display: table !important;
        min-width: 100% !important;
        font-size: 0.82rem !important;
    }
    .single .sarkari-main-wrapper .post-body table td,
    .single .sarkari-main-wrapper .post-body table th,
    .single .sarkari-main-wrapper .entry-content table td,
    .single .sarkari-main-wrapper .entry-content table th,
    .sarkari-content-section table td,
    .sarkari-content-section table th,
    .post-main table td,
    .post-main table th {
        padding: 6px 8px !important;
        font-size: 0.82rem !important;
    }
}

/* Small card around Important Links table etc. - full black outer border on the card itself */
.single .post-body table.links,
.single .post-body .important-links,
.single .post-body table[summary*="link"],
.post-main table.links,
.post-main .important-links,
.entry-content table.links,
.post-main .links-table {
    border: 1.5px solid #000 !important;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

/* ========== UNIVERSAL BLACK TABLE BORDERS (visible on all devices) ========== */
/* ALL tables must have DARK #000 borders - consistent like sarkariresult.com */
.post-body table,
.entry-content table,
.post-main table,
.sarkari-content-section table,
table.dense,
table.list,
table.gd,
.table-sarkari,
.sarkari-table-container table,
table {
    border: 2px solid #000 !important;
    border-color: #000 !important;
    border-collapse: collapse !important;
    box-shadow: none !important;
    width: 100% !important;
}

.post-body th, .post-body td,
.entry-content th, .entry-content td,
.post-main th, .post-main td,
.sarkari-content-section th, .sarkari-content-section td,
table.dense th, table.dense td,
table.list th, table.list td,
table.gd th, table.gd td,
.table-sarkari th, .table-sarkari td,
th, td {
    border: 1px solid #000 !important;
    border-color: #000 !important;
    box-shadow: none !important;
    padding: 8px 10px !important;
}

/* Make borders even stronger on mobile for visibility */
@media (max-width: 767px) {
    .post-body table,
    .entry-content table,
    .post-main table,
    table.dense,
    table {
        border: 2px solid #000 !important;
        border-color: #000 !important;
    }
    .post-body th, .post-body td,
    .entry-content th, .entry-content td,
    .post-main th, .post-main td,
    table.dense th, table.dense td,
    th, td {
        border: 1px solid #000 !important;
        border-color: #000 !important;
    }
}

/* === HEADING + TABLE AS ONE BLACK-BORDERED UNIT (no "heading separate from table") === */
/* Heading gets top/sides border; following table gets bottom/sides, no gap. Looks integrated. */
.post-body h2,
.post-body h3 {
  border: 2px solid #000 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding: 8px 12px !important;
  background: #f4f7fb !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

.post-body h2 + table,
.post-body h3 + table {
  border: 2px solid #000 !important;
  border-top: none !important;
  margin-top: 0 !important;
}

/* === SARKARIRESULT-STYLE 2-COLUMN TABLES === */
/* Label col: fixed, no wrap. Value col: wraps only. Vertical line aligned across ALL rows, no shift. */
.post-body table td:first-child,
.post-body table th:first-child {
  white-space: nowrap !important;
  width: 38% !important;
  font-weight: 700 !important;
  vertical-align: top !important;
}

.post-body table td:last-child,
.post-body table th:last-child {
  word-wrap: break-word !important;
  word-break: break-word !important;
  vertical-align: top !important;
}

/* Force alignment: same column widths in every row */
.post-body table,
.post-body table td,
.post-body table th,
.entry-content table,
.entry-content table td,
.entry-content table th {
  table-layout: fixed !important;
}

/* Consistent padding, value cells wrap */
.post-body table td,
.post-body table th,
.entry-content table td,
.entry-content table th {
  padding: 6px 10px !important;
}

/* Mobile refinements: keep alignment, scroll if needed, only values wrap */
@media (max-width: 767px) {
  .post-body table td:first-child,
  .post-body table th:first-child {
    width: 45% !important;
    font-size: 0.78rem !important;
  }
  .post-body table td:last-child,
  .post-body table th:last-child {
    font-size: 0.78rem !important;
  }
  .post-body table,
  .entry-content table {
    min-width: 100% !important;
    display: table !important;
    overflow-x: auto;
  }
}

/* =======================================================
   🔥🔥 END: GLOBAL DRISHTI MASTER CSS 🔥🔥
   SINGLE SOURCE OF TRUTH — All styles here.
   ======================================================= */

/* =======================================================
   FIX: Category Admit Card / Result pages — sidebar going down
   Force Bootstrap-like 2-column layout on desktop for .col-lg-8 + .col-lg-4
   inside .sarkari-main-wrapper .container .row
   This was causing "Latest Jobs" / "Results" cards to stack below instead of right.
   ======================================================= */
@media (min-width: 992px) {
  .sarkari-main-wrapper .container .row {
    display: flex !important;
    flex-wrap: nowrap !important;
  }
  .sarkari-main-wrapper .container .row > .col-lg-8,
  .sarkari-main-wrapper .container .row > .col-md-12:first-child {
    flex: 0 0 66.66667% !important;
    max-width: 66.66667% !important;
    width: 66.66667% !important;
    padding-right: 15px !important;
  }
  .sarkari-main-wrapper .container .row > .col-lg-4 {
    flex: 0 0 33.33333% !important;
    max-width: 33.33333% !important;
    width: 33.33333% !important;
    margin-top: 0 !important;
    padding-left: 15px !important;
  }
}

/* Ensure the sarkari-box sidebars inside the right col have good spacing */
.sarkari-main-wrapper .col-lg-4 .sarkari-box {
  margin-bottom: 20px !important;
}
.sarkari-main-wrapper .col-lg-4 .sarkari-box:last-child {
  margin-bottom: 0 !important;
}

/* === INTENDED REDESIGN LAYOUT (from FINAL mockups) === */
/* Matches gd-category-FINAL-responsive.html and gd-post-FINAL-responsive.html exactly */

.layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 20px;
}

.list-box,
.post-main {
  background: #fff;
  border: 1.5px solid #000;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
}

.list-box .lb-head,
.post-title {
  background: linear-gradient(135deg, var(--primary-blue), #1565c0);
  color: #fff;
  font-family: var(--font-heading);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.05rem;
  padding: 11px 16px;
  border-bottom: 1.5px solid #000;
}

table.list,
table.gd {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
}

table.list th,
table.gd th,
table.list td,
table.gd td {
  border: 1px solid #000;
  padding: 9px 13px;
  text-align: left;
  vertical-align: top;
}

table.list th,
table.gd th {
  background: #f4f7fb;
  font-weight: 700;
}

table.list tr:hover td,
table.gd tr:hover td {
  background: #f8f9fb;
}

/* Sidebar boxes - exact from mockup */
.sidebar {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.side-box {
  border: 1.5px solid #000;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
}

.side-box .sb-head {
  padding: 10px 14px;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.82rem;
  font-family: var(--font-heading);
  border-bottom: 1.5px solid #000;
}

/* POST CONTENT - Make it 100% sarkariresult.com style: dense, tabular, black grid, minimal vague text */
/* POST BODY - 100% sarkariresult.com style: very dense, tabular, black borders everywhere, minimal margins, scannable like data sheets */
.single .sarkari-main-wrapper .post-body,
.single .sarkari-main-wrapper .entry-content {
  font-size: 0.88rem !important;
  line-height: 1.3 !important;
  color: #111 !important;
  padding: 4px 8px !important;
}

.single .sarkari-main-wrapper .post-body p,
.single .sarkari-main-wrapper .entry-content p {
  margin: 4px 0 8px !important;
  font-size: 0.86rem !important;
  line-height: 1.3 !important;
}

.single .sarkari-main-wrapper .post-body h2,
.single .sarkari-main-wrapper .entry-content h2,
.single .sarkari-main-wrapper .post-body h3,
.single .sarkari-main-wrapper .entry-content h3 {
  background: #f4f7fb !important;
  border: 1.5px solid #000 !important;
  padding: 5px 8px !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  margin: 10px 0 6px !important;
  color: #000 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px;
}

.single .sarkari-main-wrapper .post-body ul,
.single .sarkari-main-wrapper .entry-content ul {
  margin: 4px 0 8px !important;
  padding-left: 14px !important;
  list-style: disc;
}

.single .sarkari-main-wrapper .post-body ul li,
.single .sarkari-main-wrapper .entry-content ul li {
  margin: 2px 0 !important;
  font-size: 0.85rem !important;
  line-height: 1.25 !important;
}

.single .sarkari-main-wrapper .post-body ol,
.single .sarkari-main-wrapper .entry-content ol {
  margin: 4px 0 8px !important;
  padding-left: 18px !important;
}

.single .sarkari-main-wrapper .post-body ol li,
.single .sarkari-main-wrapper .entry-content ol li {
  margin: 2px 0 !important;
  font-size: 0.85rem !important;
}

/* All tables in posts - exactly sarkariresult style: full black grid, dense, consistent */
.single .sarkari-main-wrapper .post-body table,
.single .sarkari-main-wrapper .entry-content table {
  border: 1.5px solid #000 !important;
  border-collapse: collapse !important;
  width: 100% !important;
  margin: 8px 0 !important;
  font-size: 0.84rem !important;
  background: #fff;
}

.single .sarkari-main-wrapper .post-body table th,
.single .sarkari-main-wrapper .post-body table td,
.single .sarkari-main-wrapper .entry-content table th,
.single .sarkari-main-wrapper .entry-content table td {
  border: 1px solid #000 !important;
  padding: 5px 8px !important;
  text-align: left !important;
  vertical-align: top !important;
  font-size: 0.84rem !important;
  line-height: 1.2 !important;
}

.single .sarkari-main-wrapper .post-body table th,
.single .sarkari-main-wrapper .entry-content table th {
  background: #f4f7fb !important;
  font-weight: 700 !important;
}

/* Important links and data tables - black outer, clean */
.single .post-body table.links,
.single .post-body .important-links,
.entry-content table.links {
  border: 1.5px solid #000 !important;
}

/* === FINAL ENFORCEMENT: ALL POST TABLES DARK BLACK BORDERS + CONSISTENT (no light borders, full grid visible on mobile/desktop) === */
.post-body table, 
.entry-content table, 
.post-main table, 
.sarkari-content-section table,
table.dense, 
.table-sarkari,
table {
    border: 1.5px solid #000 !important;
    border-color: #000 !important;
}
.post-body th, .post-body td,
.entry-content th, .entry-content td,
.post-main th, .post-main td,
.sarkari-content-section th, .sarkari-content-section td,
table.dense th, table.dense td {
    border: 1px solid #000 !important;
    border-color: #000 !important;
}
@media (max-width: 767px) {
    .post-body table, 
    .entry-content table, 
    .post-main table, 
    .sarkari-content-section table,
    table.dense {
        border: 2px solid #000 !important;
    }
    .post-body th, .post-body td,
    .entry-content th, .entry-content td,
    .post-main th, .post-main td,
    table.dense th, table.dense td {
        border: 1px solid #000 !important;
    }
}

.single .post-body table.links td,
.single .post-body .important-links td,
.entry-content table.links td {
  padding: 5px 8px !important;
  font-size: 0.84rem !important;
}

.single .post-body table.links a,
.single .post-body .important-links a,
.entry-content table.links a {
  font-weight: 600;
  color: var(--primary-blue);
}

/* === MAKE HEADING + TABLE LOOK LIKE ONE BLACK-BORDERED UNIT (sarkariresult style) === */
/* h2/h3 has top + sides border (no bottom). Following table has bottom + sides (no top). 
   Result: single outer black border enclosing both. Heading "owns" the table. */
.post-body h2,
.post-body h3 {
  border: 2px solid #000 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding: 8px 12px !important;
  background: #f4f7fb !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

.post-body h2 + table,
.post-body h3 + table {
  border: 2px solid #000 !important;
  border-top: none !important;
  margin-top: 0 !important;
}

/* === SARKARIRESULT TABLE ALIGNMENT & WRAP === */
/* 2-column tables (dates, fees, links): 
   - First cell (label): no wrap, fixed width.
   - Second cell (value): wraps.
   - The vertical line between columns is perfectly aligned in EVERY row.
   - Only the VALUE wraps. */
.post-body table td:first-child,
.post-body table th:first-child {
  white-space: nowrap !important;
  width: 38% !important;
  font-weight: 700 !important;
  vertical-align: top !important;
}

.post-body table td:last-child,
.post-body table th:last-child {
  word-wrap: break-word !important;
  word-break: break-word !important;
  vertical-align: top !important;
}

/* Fixed layout = every row has identical column widths → no shifting lines */
.post-body table,
.post-body table td,
.post-body table th,
.entry-content table,
.entry-content table td,
.entry-content table th {
  table-layout: fixed !important;
}

/* Consistent padding */
.post-body table td,
.post-body table th,
.entry-content table td,
.entry-content table th {
  padding: 6px 10px !important;
}

/* Mobile: aligned rows, only values wrap, table scrolls horizontally if needed */
@media (max-width: 767px) {
  .post-body table td:first-child,
  .post-body table th:first-child {
    width: 45% !important;
    font-size: 0.78rem !important;
  }
  .post-body table td:last-child,
  .post-body table th:last-child {
    font-size: 0.78rem !important;
  }
  .post-body table,
  .entry-content table {
    min-width: 100% !important;
    display: table !important;
    overflow-x: auto;
  }
}

/* === POST TABLES + HEADING INTEGRATION LIKE SARKARIRESULT.COM === */
/* Heading (h2/h3) + following table share black outer border, looks like one unit */
.post-body h2,
.post-body h3 {
  border: 1.5px solid #000 !important;
  border-bottom: none !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: #f4f7fb !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

.post-body h2 + table,
.post-body h3 + table {
  border: 1.5px solid #000 !important;
  border-top: none !important;
  margin-top: 0 !important;
}

/* Two-column alignment: label fixed/no-wrap, value wraps only */
.post-body table td:first-child,
.post-body table th:first-child {
  white-space: nowrap !important;
  width: 38% !important;
  font-weight: 700 !important;
  vertical-align: top !important;
}

.post-body table td:last-child,
.post-body table th:last-child {
  word-wrap: break-word !important;
  word-break: break-word !important;
  vertical-align: top !important;
}

/* All rows aligned, no shifting vertical lines between columns */
.post-body table,
.post-body table td,
.post-body table th,
.entry-content table,
.entry-content table td,
.entry-content table th {
  table-layout: fixed !important;
}

/* Ensure consistent cell padding, no variation */
.post-body table td,
.post-body table th,
.entry-content table td,
.entry-content table th {
  padding: 6px 10px !important;
}

/* Mobile: keep aligned, only value wraps, horizontal scroll if needed */
@media (max-width: 767px) {
  .post-body table td:first-child,
  .post-body table th:first-child {
    width: 45% !important;
    font-size: 0.8rem !important;
  }
  .post-body table td:last-child,
  .post-body table th:last-child {
    font-size: 0.8rem !important;
  }
  .post-body table,
  .entry-content table {
    min-width: 100% !important;
    display: table !important;
  }
}

/* ULTIMATE TABLE BORDER FIX FOR MOBILE & DESKTOP - FULL BLACK, CONSISTENT, NO VARIATION */
.post-body table, .entry-content table, .post-main table, table, table.dense, .sarkari-content-section table {
    border: 2px solid #000 !important;
}
.post-body th, .post-body td, .entry-content th, .entry-content td, .post-main th, .post-main td, th, td, table.dense th, table.dense td {
    border: 1px solid #000 !important;
}
@media (max-width: 767px) {
    .post-body table, .entry-content table, .post-main table, table.dense {
        min-width: 100%;
        display: table;
        overflow-x: auto;
    }
}
}

/* Hybrid context sections (explanatory text) - subtle, not vague, keeps human touch */
.single .sarkari-main-wrapper .post-body p.hybrid-context,
.single .sarkari-main-wrapper .entry-content p.hybrid-context,
.single .post-body .context,
.single .entry-content .context {
  background: #f9f9f9;
  border: 1px solid #ddd;
  padding: 6px 10px;
  margin: 8px 0;
  font-size: 0.85rem;
  line-height: 1.35;
  border-left: 3px solid var(--primary-blue);
}

/* ===== TABLE-BASED CONTENT SECTION for Tools and Mocks (from redesign mockup) ===== */
.table-section { background:#fff; border:1.5px solid #000; border-radius:var(--radius); margin-bottom:18px; box-shadow:var(--shadow-sm); overflow:hidden; }
.table-section h3 {
  font-family:var(--font-heading); font-size:0.95rem; padding:12px 16px; border-bottom:1.5px solid #000; text-transform:uppercase;
}
.table-section.ts-mock h3 { color:var(--primary-red); }
.table-section.ts-tools h3 { color:var(--accent-indigo); }
.table-section { overflow-x: auto; }
table.dense { width:100%; border-collapse:collapse; font-size:0.82rem; }
table.dense th {
  background:#f4f7fb; color:var(--text-dark); text-align:left; padding:8px 16px;
  font-size:0.72rem; text-transform:uppercase; letter-spacing:0.3px; border:1px solid #000;
}
table.dense td { padding:7px 16px; border:1px solid #000; }
table.dense tr:hover td { background:#f8f9fb; }
table.dense td a { color:var(--primary-blue); font-weight:500; }
table.dense td a:hover { color:#000000; }
.post-body table td a:hover,
.entry-content table td a:hover,
.post-main table td a:hover,
.sarkari-content-section table td a:hover {
    color: #000000 !important;
}
.tag-pdf { color:var(--primary-red); font-weight:700; font-size:0.75rem; }
.tag-live { color:var(--primary-green); font-weight:700; font-size:0.72rem; }

/* Mobile for dense tables - hide middle columns */
@media (max-width: 640px) {
  .ts-mock td:nth-child(3), .ts-mock th:nth-child(3) { display:none; }
  .ts-tools td:nth-child(2), .ts-tools th:nth-child(2) { display:none; }
  table.dense th, table.dense td { padding:9px 12px; font-size:0.84rem; }
  .table-section h3 { font-size:0.88rem; padding:11px 14px; }
}

/* ========== HOMEPAGE FIXES - Restore previous good layout ========== */
/* Hero centered */
.sarkari-hero-section .row {
  justify-content: center !important;
  text-align: center !important;
}

.sarkari-hero-section .hero-title,
.sarkari-hero-section p {
  text-align: center !important;
}

/* Portal cards side by side and centered */
.portal-cards-row {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap;
  gap: 20px;
}

.portal-cards-row .col-md-5 {
  flex: 0 0 42% !important;
  max-width: 42% !important;
  margin: 0 !important;
}

/* Government Schemes section full width, no right pull */
.container.sarkari-content-section .row,
.sarkari-content-section .row {
  display: block !important;
  width: 100% !important;
}

.container.sarkari-content-section .col-md-12 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* Free Tools layout fix */
.sarkari-content-section .box-header.header-tools + .box-content ul {
  display: block !important;
  columns: 1 !important;
  column-gap: normal !important;
}

.sarkari-content-section .box-header.header-tools + .box-content ul li {
  display: block !important;
  width: 100% !important;
}

/* ============================================================
   FINAL OVERRIDE: SARKARIRESULT.COM EXACT HEADING + TABLE + ALIGN
   - Heading + immediate table = ONE continuous black border unit
   - 2-col: label (first) fixed 38% NEVER wraps; value wraps only
   - Vertical divider line PERFECTLY aligned in every row
   - table-layout:fixed + widths guarantee no shift
   - Applied last so wins over all prior rules
   ============================================================ */
.single .post-main .post-body h2,
.single .post-main .post-body h3,
.post-body h2,
.post-body h3,
.entry-content h2 + table ~ h2, /* safety */
.post-body h2, .post-body h3 {
  border: 2px solid #000 !important;
  border-bottom: none !important;
  margin: 16px 0 0 !important;
  margin-bottom: 0 !important;
  padding: 8px 12px !important;
  background: #f4f7fb !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  display: block !important;
}

.single .post-main .post-body h2 + table,
.single .post-main .post-body h3 + table,
.post-body h2 + table,
.post-body h3 + table,
.entry-content h2 + table,
.entry-content h3 + table {
  border: 2px solid #000 !important;
  border-top: none !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* Strict 2-column: label col fixed width, no wrap ever. Value col wraps. */
.single .post-main .post-body table td:first-child,
.single .post-main .post-body table th:first-child,
.post-body table td:first-child,
.post-body table th:first-child,
.entry-content table td:first-child,
.entry-content table th:first-child {
  white-space: nowrap !important;
  width: 38% !important;
  min-width: 38% !important;
  font-weight: 700 !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}

.single .post-main .post-body table td:last-child,
.single .post-main .post-body table th:last-child,
.post-body table td:last-child,
.post-body table th:last-child,
.entry-content table td:last-child,
.entry-content table th:last-child {
  word-wrap: break-word !important;
  word-break: break-word !important;
  white-space: normal !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}

/* Force identical column widths across all rows - no line shift ever */
.single .post-main .post-body table,
.single .post-main .post-body table td,
.single .post-main .post-body table th,
.post-body table,
.post-body table td,
.post-body table th,
.entry-content table,
.entry-content table td,
.entry-content table th {
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

/* Uniform cell padding */
.single .post-main .post-body table td,
.single .post-main .post-body table th,
.post-body table td,
.post-body table th,
.entry-content table td,
.entry-content table th {
  padding: 7px 10px !important;
}

/* Mobile: maintain alignment + scroll container, labels stay single line */
@media (max-width: 767px) {
  .single .post-main .post-body table td:first-child,
  .single .post-main .post-body table th:first-child,
  .post-body table td:first-child,
  .post-body table th:first-child,
  .entry-content table td:first-child,
  .entry-content table th:first-child {
    width: 42% !important;
    min-width: 42% !important;
    font-size: 0.82rem !important;
  }
  .single .post-main .post-body table,
  .post-body table,
  .entry-content table {
    min-width: 540px !important; /* force scroll, keep columns */
    display: table !important;
  }
  .single .post-main .post-body table td,
  .single .post-main .post-body table th,
  .post-body table td,
  .post-body table th {
    font-size: 0.82rem !important;
    padding: 6px 8px !important;
  }
}
  margin-bottom: 4px;
}

/* Wrapper for tools and mocks to match upper grid cards exactly */
.sarkari-grid-wrapper.tools-mocks-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  margin-top: 20px;
}

/* =======================================================
   🏆 MASTER DESIGN — ALL POSTS (DESKTOP + TABLET + MOBILE)
   Single source of truth for every post on the site.
   Scope: Post content tables, headings, links, sections, cards.
   Only edit inside this block for future changes.
   ======================================================= */

/* ---------- DESKTOP (default, > 991px) ---------- */
.single .sarkari-main-wrapper .post-body,
.single .sarkari-main-wrapper .entry-content,
.post-main {
  /* Base container */
}

.single .sarkari-main-wrapper .post-body h2,
.single .sarkari-main-wrapper .post-body h3,
.single .sarkari-main-wrapper .entry-content h2,
.single .sarkari-main-wrapper .entry-content h3 {
  border: 2px solid #000 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding: 10px 14px !important;
  background: #f4f7fb !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

/* Merged border for heading + following content (table or list) */
.single .sarkari-main-wrapper .post-body h2 + table,
.single .sarkari-main-wrapper .post-body h2 + p,
.single .sarkari-main-wrapper .post-body h2 + ol,
.single .sarkari-main-wrapper .post-body h2 + ul,
.single .sarkari-main-wrapper .entry-content h2 + table,
.single .sarkari-main-wrapper .entry-content h2 + p,
.single .sarkari-main-wrapper .entry-content h2 + ol,
.single .sarkari-main-wrapper .entry-content h2 + ul {
  border: 2px solid #000 !important;
  border-top: none !important;
  margin-top: 0 !important;
  padding: 10px 14px !important;
  background: #fff !important;
}

/* Full black bordered tables */
.single .sarkari-main-wrapper .post-body table,
.single .sarkari-main-wrapper .entry-content table,
.post-main table {
  border: 2px solid #000 !important;
  border-collapse: collapse !important;
  width: 100% !important;
  table-layout: fixed !important;
  background: #fff;
}

.single .sarkari-main-wrapper .post-body table th,
.single .sarkari-main-wrapper .post-body table td,
.single .sarkari-main-wrapper .entry-content table th,
.single .sarkari-main-wrapper .entry-content table td {
  border: 1px solid #000 !important;
  padding: 8px 12px !important;
  text-align: left !important;
  vertical-align: top !important;
  font-size: 0.9rem !important;
  color: #111827 !important;
}

/* 2-column layout for data tables (Event | Date, etc.) */
.single .sarkari-main-wrapper .post-body table td:first-child,
.single .sarkari-main-wrapper .post-body table th:first-child,
.single .sarkari-main-wrapper .entry-content table td:first-child,
.single .sarkari-main-wrapper .entry-content table th:first-child {
  white-space: nowrap !important;
  width: 40% !important;
  font-weight: 700 !important;
  background: #f4f7fb !important;
}

.single .sarkari-main-wrapper .post-body table td:last-child,
.single .sarkari-main-wrapper .entry-content table td:last-child {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* Links inside post tables & content - always blue */
.single .sarkari-main-wrapper .post-body a,
.single .sarkari-main-wrapper .entry-content a,
.post-main a {
  color: var(--primary-blue) !important;
}

.single .sarkari-main-wrapper .post-body a:hover,
.single .sarkari-main-wrapper .entry-content a:hover {
  color: #000 !important;
  text-decoration: underline !important;
}

/* Cards / sections inside posts (Who Can Apply, Important Links, etc.) */
.single .sarkari-main-wrapper .post-body .important-links,
.single .sarkari-main-wrapper .entry-content .important-links {
  border: 2px solid #000 !important;
  padding: 8px 12px !important;
  background: #fff;
}

/* ---------- TABLET (768px - 991px) ---------- */
@media (min-width: 768px) and (max-width: 991px) {
  .single .sarkari-main-wrapper .post-body table,
  .single .sarkari-main-wrapper .entry-content table {
    font-size: 0.85rem !important;
  }

  .single .sarkari-main-wrapper .post-body table td:first-child,
  .single .sarkari-main-wrapper .post-body table th:first-child {
    width: 42% !important;
    font-size: 0.82rem !important;
  }
}

/* ---------- MOBILE (< 768px) ---------- */
@media (max-width: 767px) {
  .single .sarkari-main-wrapper .post-body,
  .single .sarkari-main-wrapper .entry-content {
    font-size: 14px !important;
  }

  .single .sarkari-main-wrapper .post-body table,
  .single .sarkari-main-wrapper .entry-content table,
  .post-main table {
    min-width: 520px !important; /* forces horizontal scroll */
    display: table !important;
    font-size: 0.8rem !important;
  }

  .single .sarkari-main-wrapper .post-body table td:first-child,
  .single .sarkari-main-wrapper .post-body table th:first-child,
  .single .sarkari-main-wrapper .entry-content table td:first-child,
  .single .sarkari-main-wrapper .entry-content table th:first-child {
    width: 45% !important;
    font-size: 0.78rem !important;
    white-space: nowrap !important;
  }

  .single .sarkari-main-wrapper .post-body table td,
  .single .sarkari-main-wrapper .post-body table th {
    padding: 6px 8px !important;
  }

  /* Keep merged border behavior on mobile too */
  .single .sarkari-main-wrapper .post-body h2 + table,
  .single .sarkari-main-wrapper .post-body h2 + p,
  .single .sarkari-main-wrapper .post-body h2 + ol,
  .single .sarkari-main-wrapper .post-body h2 + ul {
    border: 2px solid #000 !important;
    border-top: none !important;
  }
}

/* Homepage + Sidebar cards - consistent master look */
.sarkari-box {
  border: 2px solid #000 !important;
  background: #fff;
}

.sarkari-box .box-content li a {
  color: var(--primary-blue) !important;
}

.sarkari-box .box-content li a:hover {
  color: #000 !important;
}
}

@media (max-width: 767px) {
  .sarkari-grid-wrapper.tools-mocks-grid {
    grid-template-columns: 1fr;
  }
}

.sb-jobs { background: linear-gradient(135deg, var(--accent-orange), #e65100); }
.sb-result { background: linear-gradient(135deg, var(--primary-red), #b71c1c); }
.sb-admit { background: linear-gradient(135deg, var(--primary-blue), #1565c0); }

.side-box ul { list-style: none; margin: 0; padding: 0; }
.side-box li { border-bottom: 1px solid #000; }
.side-box li:last-child { border-bottom: none; }
.side-box li a {
  display: block;
  padding: 9px 14px;
  font-size: 0.83rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--text-dark);
}
.side-box li a:hover { background: #f8f9fb; color: var(--primary-blue); }

.side-box .sb-foot {
  padding: 8px;
  text-align: center;
  background: #fafbfc;
  border-top: 1.5px solid #000;
}
.side-box .sb-foot a {
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--primary-blue);
}

/* Section headers for post (colored + black border) */
.sec-h {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  background: var(--primary-blue);
  padding: 9px 14px;
  border-radius: 6px 6px 0 0;
  margin-top: 22px;
  border: 1.5px solid #000;
  border-bottom: none;
}
.sec-h.red { background: var(--primary-red); }
.sec-h.green { background: var(--primary-green); }
.sec-h.orange { background: linear-gradient(135deg, var(--accent-orange), #e65100); }

/* Post main content wrapper */
.post-main {
  border: 1.5px solid #000;
}

/* Responsive - stack on smaller screens */
@media (max-width: 1024px) {
  .layout {
    grid-template-columns: 1fr;
  }
  .sidebar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

@media (max-width: 767px) {
  .sidebar {
    grid-template-columns: 1fr;
  }
  .layout {
    gap: 14px;
  }
}

/* =======================================================
   🎯 SARKARI RESULT STYLE TABLES (Post Content & Pages)
   ======================================================= */
.entry-content table,
.sarkari-content-section table,
.post-body table,
.post-main table,
table.dense {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 15px 0 !important;
    font-size: 14px !important;
    color: #000000 !important;
}

/* Borders for all cells */
.entry-content table th,
.entry-content table td,
.sarkari-content-section table th,
.sarkari-content-section table td,
.post-body table th,
.post-body table td,
.post-main table th,
.post-main table td,
table.dense th,
table.dense td {
    border: 1.5px solid #000000 !important;
    padding: 8px 12px !important;
    line-height: 1.4 !important;
}

/* Header style: high-contrast navy blue */
.entry-content table th,
.sarkari-content-section table th,
.post-body table th,
.post-main table th,
table.dense th {
    background-color: #0A2463 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
}

/* Alternating rows */
.entry-content table tr:nth-child(even),
.sarkari-content-section table tr:nth-child(even),
.post-body table tr:nth-child(even),
.post-main table tr:nth-child(even),
table.dense tr:nth-child(even) {
    background-color: #f2f5fa !important;
}

.entry-content table tr:hover,
.sarkari-content-section table tr:hover,
.post-body table tr:hover,
.post-main table tr:hover,
table.dense tr:hover {
    background-color: #e6eefa !important;
}

/* Links inside tables styled as buttons (Apply Online, etc.) */
.entry-content table td a,
.sarkari-content-section table td a,
.post-body table td a,
.post-main table td a,
table.dense td a {
    display: inline-block !important;
    background-color: #D90429 !important;
    color: #ffffff !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    margin: 2px 0 !important;
    transition: background 0.2s !important;
}

.entry-content table td a:hover,
.sarkari-content-section table td a:hover,
.post-body table td a:hover,
.post-main table td a:hover,
table.dense td a:hover {
    background-color: #b3001e !important;
}

/* Special styling: links with official/gov in url styled green */
.entry-content table td a[href*="official"],
.entry-content table td a[href*="gov.in"],
.entry-content table td a[href*="nic.in"],
.post-body table td a[href*="official"],
.post-body table td a[href*="gov.in"] {
    background-color: #2ecc71 !important;
}
.entry-content table td a[href*="official"]:hover,
.entry-content table td a[href*="gov.in"]:hover,
.post-body table td a[href*="official"]:hover {
    background-color: #27ae60 !important;
}

/* Mobile-specific adjustments */
@media (max-width: 767px) {
    .entry-content table,
    .sarkari-content-section table,
    .post-body table,
    .post-main table,
    table.dense {
        min-width: 500px !important;
        font-size: 11.5px !important;
    }
    
    .entry-content table th,
    .entry-content table td,
    .sarkari-content-section table th,
    .sarkari-content-section table td,
    table.dense th,
    table.dense td {
        padding: 5px 8px !important;
    }
}

/* ============================================
   USER REQUEST FIX: 
   - Event Date (and similar date text) was white → not visible
   - Make ALL links blue on: homepage, post pages, inside tables, inside cards
     so users perceive them as clickable (blue = link habit)
   ============================================ */

/* === FIX: Event/Date headers white + make links blue for clickability ===
   - "EVENT" and "DATE" (and similar th in Important Dates tables) were white or light on light bg → invisible
   - All links in homepage cards, post tables, sidebar cards should be blue so user knows they are clickable
   - Strong !important and specific selectors to win over other rules
*/

.post-body table th,
.entry-content table th,
.post-main table th,
.sarkari-content-section table th,
table th {
    color: #1f2937 !important;   /* dark gray, visible */
    background-color: #f4f7fb !important;  /* light bg for contrast */
}

/* Also protect data cells and first column (often "Event" or label) */
.post-body table td,
.entry-content table td,
.post-main table td,
.sarkari-content-section table td,
table td,
.post-body table td:first-child,
.entry-content table td:first-child {
    color: #1f2937 !important;
}

/* Homepage and cards - links blue */
.sarkari-box .box-content li a,
.box-content li a,
.sarkari-grid-wrapper a,
.sarkari-content-section a,
.homepage a {
    color: var(--primary-blue) !important;
}

/* Post page tables - all links inside tables blue (data links like in Important Links) */
.post-body table a,
.entry-content table a,
.post-main table a,
.sarkari-main-wrapper table a {
    color: var(--primary-blue) !important;
    font-weight: 500 !important;
}

.post-body table a:hover,
.entry-content table a:hover,
.sarkari-box .box-content li a:hover,
.box-content li a:hover {
    color: #000000 !important;
    text-decoration: underline !important;
}

/* Keep specific "links" tables and Important Links blue and prominent */
.post-body table.links a,
.post-body .important-links a,
.entry-content table.links a {
    color: var(--primary-blue) !important;
    font-weight: 600 !important;
}

/* === URGENT OVERRIDE: Force dark text on Event/Date headers in tables ===
   The "EVENT" and "DATE" (and similar sub-headers) are still white.
   This targets post content tables with very high specificity.
*/
.single .sarkari-main-wrapper .post-body table th,
.single .sarkari-main-wrapper .entry-content table th,
.post-body table th,
.entry-content table th {
  color: #111827 !important;
  background-color: #f3f4f6 !important;
}

.single .sarkari-main-wrapper .post-body table td,
.single .sarkari-main-wrapper .entry-content table td,
.post-body table td,
.entry-content table td {
  color: #111827 !important;
}

/* Force links blue in tables, cards, home for clickability */
.post-body table a,
.entry-content table a,
.post-body a,
.entry-content a,
.sarkari-box .box-content li a,
.box-content a,
table a,
.sarkari-content-section a,
.homepage a {
  color: #0A2463 !important;
}

.post-body table a:hover,
.entry-content table a:hover,
.sarkari-box .box-content li a:hover {
  color: #000 !important;
}

/* === FIX: Full black 4-side borders for "Who Can Apply", "How to Apply for RVUNL 2026", "Important Links" ===
   These sections (h2 + p/ol/ul) should have proper black border on all four sides like the Important Dates table.
   Currently borders are incomplete or not consistent black.
   Use merged h2 + following content pattern.
*/
.post-body h2 + p,
.post-body h2 + ol,
.post-body h2 + ul,
.entry-content h2 + p,
.entry-content h2 + ol,
.entry-content h2 + ul {
  border: 2px solid #000 !important;
  border-top: none !important;
  margin-top: 0 !important;
  padding: 8px 12px !important;
  background: #fff !important;
}

/* Make sure the h2 itself has the top + sides border */
.post-body h2,
.post-body h3 {
  border: 2px solid #000 !important;
  border-bottom: none !important;
}

/* Specific for Important Links section if it's a ul or list under h2 */
.post-body h2 + ul,
.entry-content h2 + ul {
  border: 2px solid #000 !important;
  border-top: none !important;
}

/* === FIX WHITE TEXT IN TABLE HEADERS (EVENT / DATE etc.) ===
   In post content tables, the sub-headers like EVENT and DATE were white or invisible.
   Force dark text on light background for all th/td in post tables.
   This should make "Event" and "Date" visible.
*/
.single .sarkari-main-wrapper .post-body table th,
.single .sarkari-main-wrapper .post-body table td,
.single .sarkari-main-wrapper .entry-content table th,
.single .sarkari-main-wrapper .entry-content table td,
.post-body table th,
.post-body table td,
.entry-content table th,
.entry-content table td {
  color: #111827 !important; /* dark */
  background-color: #f3f4f6 !important; /* light bg */
}

/* Also ensure no white from other rules */
.post-body table thead th,
.entry-content table thead th {
  color: #111827 !important;
  background-color: #f3f4f6 !important;
}
