/*
Theme Name: MarathiCon Child
Theme URI: https://marathicon.com
Description: Premium AI-Optimized Government Bharti Portal — GeneratePress Child Theme with dark mode, mega menu, NLP SEO, Core Web Vitals optimization, and advanced ACF dynamic category system.
Author: MarathiCon Team
Author URI: https://marathicon.com
Template: generatepress
Version: 2.0.0
Text Domain: marathicon-child
Tags: government, sarkari-naukri, bharti, admit-card, results, marathi, seo-optimized, dark-mode, mobile-first
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* ============================================================
   TABLE OF CONTENTS
   1. CSS Custom Properties (Design Tokens)
   2. Dark Mode Tokens
   3. Base Reset & Typography
   4. Header & Navigation
   5. Mega Menu
   6. Hero / Ticker Section
   7. Category Cards
   8. Post Grid & Cards
   9. Single Post — Bharti Template
   10. Single Post — Admit Card Template
   11. Single Post — Results Template
   12. Archive / Category Pages
   13. Homepage Sections
   14. AdSense Placements
   15. Mobile Navigation (Sticky Bottom)
   16. Responsive — Tablet
   17. Responsive — Mobile
   18. Dark Mode Overrides
   19. Utility Classes
   20. Core Web Vitals Helpers
============================================================ */

/* ============================================================
   1. CSS CUSTOM PROPERTIES
============================================================ */
:root {
  /* Brand */
  --mc-primary:        #1a56db;
  --mc-primary-dark:   #1341a8;
  --mc-secondary:      #ff6b00;
  --mc-accent:         #00b341;
  --mc-danger:         #e02424;
  --mc-warning:        #d97706;

  /* Surfaces */
  --mc-bg:             #f4f6f9;
  --mc-surface:        #ffffff;
  --mc-surface-2:      #f0f4ff;
  --mc-border:         #e2e8f0;
  --mc-divider:        #cbd5e1;

  /* Text */
  --mc-text:           #1e293b;
  --mc-text-muted:     #64748b;
  --mc-text-light:     #94a3b8;
  --mc-heading:        #0f172a;

  /* Gradients */
  --mc-grad-primary:   linear-gradient(135deg, #1a56db 0%, #3b82f6 100%);
  --mc-grad-secondary: linear-gradient(135deg, #ff6b00 0%, #ff9f43 100%);
  --mc-grad-hero:      linear-gradient(135deg, #0f172a 0%, #1e3a8a 60%, #1a56db 100%);

  /* Shadows */
  --mc-shadow-sm:      0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --mc-shadow:         0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
  --mc-shadow-lg:      0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);
  --mc-shadow-xl:      0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);

  /* Radius */
  --mc-radius-sm:      6px;
  --mc-radius:         10px;
  --mc-radius-lg:      16px;
  --mc-radius-xl:      24px;
  --mc-radius-full:    9999px;

  /* Spacing */
  --mc-space-xs:       4px;
  --mc-space-sm:       8px;
  --mc-space-md:       16px;
  --mc-space-lg:       24px;
  --mc-space-xl:       40px;
  --mc-space-2xl:      64px;

  /* Typography */
  --mc-font-sans:      'Noto Sans Devanagari', 'Hind', system-ui, -apple-system, sans-serif;
  --mc-font-display:   'Baloo 2', 'Noto Sans Devanagari', system-ui, sans-serif;
  --mc-font-mono:      'JetBrains Mono', ui-monospace, monospace;

  --mc-text-xs:        0.75rem;
  --mc-text-sm:        0.875rem;
  --mc-text-base:      1rem;
  --mc-text-lg:        1.125rem;
  --mc-text-xl:        1.25rem;
  --mc-text-2xl:       1.5rem;
  --mc-text-3xl:       1.875rem;
  --mc-text-4xl:       2.25rem;

  /* Transitions */
  --mc-transition:     all .2s cubic-bezier(.4,0,.2,1);
  --mc-transition-lg:  all .35s cubic-bezier(.4,0,.2,1);

  /* Z-index */
  --mc-z-sticky:       100;
  --mc-z-dropdown:     200;
  --mc-z-modal:        300;
  --mc-z-toast:        400;

  /* Ad safe min-heights (prevent CLS) */
  --mc-ad-leaderboard-h:  90px;
  --mc-ad-rectangle-h:    250px;
  --mc-ad-in-content-h:   100px;
}

/* ============================================================
   2. DARK MODE TOKENS
============================================================ */
[data-theme="dark"],
.dark-mode {
  --mc-bg:          #0d1117;
  --mc-surface:     #161b22;
  --mc-surface-2:   #1c2433;
  --mc-border:      #30363d;
  --mc-divider:     #21262d;
  --mc-text:        #e6edf3;
  --mc-text-muted:  #8b949e;
  --mc-text-light:  #6e7681;
  --mc-heading:     #f0f6fc;
  --mc-shadow-sm:   0 1px 3px rgba(0,0,0,.4);
  --mc-shadow:      0 4px 6px -1px rgba(0,0,0,.5);
  --mc-shadow-lg:   0 10px 15px -3px rgba(0,0,0,.6);
}

/* ============================================================
   3. BASE RESET & TYPOGRAPHY
============================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--mc-font-sans);
  font-size: var(--mc-text-base);
  line-height: 1.7;
  color: var(--mc-text);
  background-color: var(--mc-bg);
  margin: 0;
  padding: 0;
  transition: background-color .3s ease, color .3s ease;
}

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--mc-primary);
  text-decoration: none;
  transition: var(--mc-transition);
}

a:hover {
  color: var(--mc-primary-dark);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--mc-font-display);
  color: var(--mc-heading);
  line-height: 1.3;
  margin-top: 0;
  font-weight: 700;
}

p { margin-top: 0; }

/* Focus visible for accessibility */
:focus-visible {
  outline: 2px solid var(--mc-primary);
  outline-offset: 2px;
}

/* ============================================================
   4. HEADER & NAVIGATION
============================================================ */
.mc-header-wrapper {
  position: sticky;
  top: 0;
  z-index: var(--mc-z-sticky);
  background: var(--mc-surface);
  border-bottom: 1px solid var(--mc-border);
  box-shadow: var(--mc-shadow-sm);
  transition: var(--mc-transition);
}

.mc-top-bar {
  background: var(--mc-grad-primary);
  color: #fff;
  font-size: var(--mc-text-xs);
  padding: 5px var(--mc-space-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mc-space-sm);
}

.mc-top-bar a {
  color: rgba(255,255,255,.85);
  font-size: var(--mc-text-xs);
}

.mc-top-bar a:hover { color: #fff; }

.mc-top-bar-right {
  display: flex;
  align-items: center;
  gap: var(--mc-space-md);
}

/* Dark mode toggle */
.mc-dark-toggle {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--mc-radius-full);
  color: #fff;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: var(--mc-transition);
}

.mc-dark-toggle:hover {
  background: rgba(255,255,255,.25);
}

/* ============================================================
   5. MEGA MENU
============================================================ */
.main-navigation .mega-menu-wrapper {
  position: static;
}

.mega-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: var(--mc-surface);
  border-top: 3px solid var(--mc-primary);
  border-bottom: 1px solid var(--mc-border);
  box-shadow: var(--mc-shadow-xl);
  z-index: var(--mc-z-dropdown);
  padding: var(--mc-space-lg) 0;
}

.mega-menu-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--mc-space-lg);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--mc-space-lg);
}

.mega-menu-col h4 {
  font-size: var(--mc-text-sm);
  font-weight: 700;
  color: var(--mc-primary);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: var(--mc-space-sm);
  padding-bottom: var(--mc-space-xs);
  border-bottom: 2px solid var(--mc-primary);
}

.mega-menu-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mega-menu-col ul li a {
  font-size: var(--mc-text-sm);
  color: var(--mc-text);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 0;
  border-radius: var(--mc-radius-sm);
}

.mega-menu-col ul li a:hover {
  color: var(--mc-primary);
  padding-left: 4px;
}

.mega-menu-col ul li a::before {
  content: '›';
  color: var(--mc-primary);
  font-size: 1rem;
  line-height: 1;
}

.has-mega-menu:hover .mega-menu,
.has-mega-menu:focus-within .mega-menu {
  display: block;
  animation: mcFadeDown .2s ease;
}

@keyframes mcFadeDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   6. HERO / TICKER SECTION
============================================================ */
.mc-ticker-wrap {
  background: var(--mc-surface);
  border-bottom: 1px solid var(--mc-border);
  display: flex;
  align-items: center;
  overflow: hidden;
  height: 40px;
}

.mc-ticker-label {
  background: var(--mc-danger);
  color: #fff;
  font-size: var(--mc-text-xs);
  font-weight: 700;
  padding: 0 var(--mc-space-md);
  height: 100%;
  display: flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.mc-ticker-track {
  display: flex;
  align-items: center;
  overflow: hidden;
  flex: 1;
  padding: 0 var(--mc-space-sm);
  position: relative;
}

.mc-ticker-inner {
  display: flex;
  gap: var(--mc-space-2xl);
  animation: mcTicker 40s linear infinite;
  white-space: nowrap;
}

.mc-ticker-inner:hover { animation-play-state: paused; }

.mc-ticker-item {
  font-size: var(--mc-text-sm);
  color: var(--mc-text);
  display: flex;
  align-items: center;
  gap: var(--mc-space-sm);
}

.mc-ticker-item a {
  color: var(--mc-text);
  font-weight: 500;
}

.mc-ticker-item a:hover { color: var(--mc-primary); }

.mc-ticker-item .mc-badge {
  font-size: 10px;
  padding: 2px 6px;
}

@keyframes mcTicker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ============================================================
   7. CATEGORY CARDS
============================================================ */
.mc-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--mc-space-md);
  padding: var(--mc-space-md) 0;
}

.mc-cat-card {
  position: relative;
  background: var(--mc-surface);
  border-radius: var(--mc-radius-lg);
  border: 1px solid var(--mc-border);
  padding: var(--mc-space-lg) var(--mc-space-md);
  text-align: center;
  cursor: pointer;
  transition: var(--mc-transition-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mc-space-sm);
  box-shadow: var(--mc-shadow-sm);
}

.mc-cat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--cat-gradient, var(--mc-grad-primary));
}

.mc-cat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--mc-shadow-lg);
  border-color: var(--cat-accent, var(--mc-primary));
}

.mc-cat-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--mc-radius-full);
  background: var(--cat-gradient, var(--mc-grad-primary));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.4rem;
  flex-shrink: 0;
}

.mc-cat-icon img,
.mc-cat-icon svg {
  width: 28px;
  height: 28px;
  filter: brightness(0) invert(1);
}

.mc-cat-name {
  font-size: var(--mc-text-sm);
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.3;
}

.mc-cat-count {
  font-size: var(--mc-text-xs);
  color: var(--mc-text-muted);
  background: var(--mc-bg);
  padding: 2px 8px;
  border-radius: var(--mc-radius-full);
}

.mc-cat-trending-badge {
  position: absolute;
  top: var(--mc-space-sm);
  right: var(--mc-space-sm);
  background: var(--mc-danger);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: var(--mc-radius-full);
  text-transform: uppercase;
  letter-spacing: .04em;
  animation: mcPulse 2s infinite;
}

@keyframes mcPulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .7; }
}

/* ============================================================
   8. POST GRID & CARDS
============================================================ */
.mc-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--mc-space-md);
}

.mc-post-card {
  background: var(--mc-surface);
  border-radius: var(--mc-radius-lg);
  border: 1px solid var(--mc-border);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--mc-shadow-sm);
  transition: var(--mc-transition-lg);
}

.mc-post-card:hover {
  box-shadow: var(--mc-shadow-lg);
  transform: translateY(-3px);
}

.mc-post-card-thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.mc-post-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.mc-post-card:hover .mc-post-card-thumb img {
  transform: scale(1.04);
}

.mc-post-card-cat-badge {
  position: absolute;
  top: var(--mc-space-sm);
  left: var(--mc-space-sm);
  background: var(--cat-gradient, var(--mc-grad-primary));
  color: #fff;
  font-size: var(--mc-text-xs);
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--mc-radius-full);
}

.mc-post-card-urgent {
  position: absolute;
  top: var(--mc-space-sm);
  right: var(--mc-space-sm);
  background: var(--mc-danger);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: var(--mc-radius-full);
  animation: mcPulse 1.5s infinite;
}

.mc-post-card-body {
  padding: var(--mc-space-md);
  display: flex;
  flex-direction: column;
  gap: var(--mc-space-sm);
  flex: 1;
}

.mc-post-card-title {
  font-size: var(--mc-text-base);
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mc-post-card-title a {
  color: inherit;
}

.mc-post-card-title a:hover {
  color: var(--mc-primary);
}

.mc-post-card-meta {
  display: flex;
  align-items: center;
  gap: var(--mc-space-md);
  flex-wrap: wrap;
  font-size: var(--mc-text-xs);
  color: var(--mc-text-muted);
}

.mc-post-card-meta span {
  display: flex;
  align-items: center;
  gap: 4px;
}

.mc-post-card-excerpt {
  font-size: var(--mc-text-sm);
  color: var(--mc-text-muted);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mc-post-card-footer {
  padding: var(--mc-space-sm) var(--mc-space-md);
  border-top: 1px solid var(--mc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mc-space-sm);
}

.mc-post-card-date {
  font-size: var(--mc-text-xs);
  color: var(--mc-text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
}

.mc-post-card-link {
  font-size: var(--mc-text-xs);
  font-weight: 700;
  color: var(--mc-primary);
  display: flex;
  align-items: center;
  gap: 4px;
}

/* List view variant */
.mc-posts-list .mc-post-card {
  flex-direction: row;
}

.mc-posts-list .mc-post-card-thumb {
  width: 180px;
  flex-shrink: 0;
  aspect-ratio: auto;
}

/* ============================================================
   9. SINGLE POST — BHARTI TEMPLATE
============================================================ */
.mc-single-bharti {
  background: var(--mc-bg);
}

.mc-bharti-hero {
  background: var(--mc-grad-hero);
  color: #fff;
  padding: var(--mc-space-xl) 0;
  position: relative;
  overflow: hidden;
}

.mc-bharti-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
  pointer-events: none;
}

.mc-bharti-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 var(--mc-space-lg);
  display: flex;
  gap: var(--mc-space-lg);
  align-items: flex-start;
}

.mc-dept-logo {
  width: 80px;
  height: 80px;
  border-radius: var(--mc-radius-lg);
  background: rgba(255,255,255,.15);
  border: 2px solid rgba(255,255,255,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

.mc-dept-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.mc-bharti-hero-content { flex: 1; }

.mc-bharti-hero-breadcrumb {
  font-size: var(--mc-text-xs);
  color: rgba(255,255,255,.7);
  margin-bottom: var(--mc-space-sm);
  display: flex;
  align-items: center;
  gap: var(--mc-space-xs);
  flex-wrap: wrap;
}

.mc-bharti-hero-breadcrumb a { color: rgba(255,255,255,.7); }
.mc-bharti-hero-breadcrumb a:hover { color: #fff; }

.mc-bharti-hero h1 {
  font-size: clamp(1.25rem, 3vw, 2rem);
  color: #fff;
  margin-bottom: var(--mc-space-sm);
  line-height: 1.3;
}

.mc-bharti-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mc-space-sm);
}

.mc-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  border-radius: var(--mc-radius-full);
  font-size: var(--mc-text-xs);
  font-weight: 700;
  background: rgba(255,255,255,.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(4px);
}

.mc-hero-badge.urgent {
  background: var(--mc-danger);
  border-color: var(--mc-danger);
  animation: mcPulse 2s infinite;
}

/* Vacancy Overview Box */
.mc-vacancy-overview {
  background: var(--mc-surface);
  border-radius: var(--mc-radius-xl);
  box-shadow: var(--mc-shadow-xl);
  overflow: hidden;
  margin-bottom: var(--mc-space-xl);
  border: 1px solid var(--mc-border);
}

.mc-vacancy-overview-header {
  background: var(--mc-grad-primary);
  color: #fff;
  padding: var(--mc-space-md) var(--mc-space-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mc-vacancy-overview-header h2 {
  color: #fff;
  margin: 0;
  font-size: var(--mc-text-xl);
}

.mc-vacancy-overview-body {
  padding: var(--mc-space-lg);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--mc-space-md);
}

.mc-overview-item {
  background: var(--mc-surface-2);
  border-radius: var(--mc-radius);
  padding: var(--mc-space-md);
  border: 1px solid var(--mc-border);
  text-align: center;
}

.mc-overview-item .mc-ov-label {
  font-size: var(--mc-text-xs);
  font-weight: 600;
  color: var(--mc-text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: var(--mc-space-xs);
}

.mc-overview-item .mc-ov-value {
  font-size: var(--mc-text-xl);
  font-weight: 800;
  color: var(--mc-primary);
  line-height: 1.2;
}

/* Important Dates Table */
.mc-dates-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--mc-surface);
  border-radius: var(--mc-radius-lg);
  overflow: hidden;
  box-shadow: var(--mc-shadow-sm);
  border: 1px solid var(--mc-border);
  margin-bottom: var(--mc-space-lg);
}

.mc-dates-table th {
  background: var(--mc-primary);
  color: #fff;
  padding: var(--mc-space-sm) var(--mc-space-md);
  font-size: var(--mc-text-sm);
  font-weight: 700;
  text-align: left;
}

.mc-dates-table td {
  padding: var(--mc-space-sm) var(--mc-space-md);
  font-size: var(--mc-text-sm);
  color: var(--mc-text);
  border-bottom: 1px solid var(--mc-border);
}

.mc-dates-table tr:last-child td { border-bottom: none; }

.mc-dates-table tr:nth-child(even) td {
  background: var(--mc-surface-2);
}

.mc-dates-table tr:hover td {
  background: rgba(26,86,219,.05);
}

.mc-date-highlight {
  color: var(--mc-danger);
  font-weight: 700;
}

/* CTA Apply Section */
.mc-apply-cta {
  background: var(--mc-grad-primary);
  color: #fff;
  border-radius: var(--mc-radius-xl);
  padding: var(--mc-space-xl);
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-bottom: var(--mc-space-xl);
}

.mc-apply-cta h3 {
  color: #fff;
  margin-bottom: var(--mc-space-sm);
  font-size: var(--mc-text-2xl);
}

.mc-apply-cta p {
  color: rgba(255,255,255,.85);
  margin-bottom: var(--mc-space-lg);
}

/* Sticky Apply Button */
.mc-sticky-apply {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: var(--mc-z-sticky);
  background: var(--mc-surface);
  border-top: 2px solid var(--mc-primary);
  padding: var(--mc-space-sm) var(--mc-space-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mc-space-md);
  box-shadow: 0 -4px 20px rgba(0,0,0,.15);
  transform: translateY(100%);
  transition: transform .3s ease;
}

.mc-sticky-apply.is-visible {
  transform: translateY(0);
}

.mc-sticky-apply-info {
  flex: 1;
  min-width: 0;
}

.mc-sticky-apply-title {
  font-size: var(--mc-text-sm);
  font-weight: 700;
  color: var(--mc-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mc-sticky-apply-date {
  font-size: var(--mc-text-xs);
  color: var(--mc-danger);
  font-weight: 600;
}

/* ============================================================
   10. SINGLE POST — ADMIT CARD TEMPLATE
============================================================ */
.mc-admit-hero {
  background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);
}

.mc-countdown-box {
  background: var(--mc-surface);
  border-radius: var(--mc-radius-xl);
  border: 2px solid #7c3aed;
  padding: var(--mc-space-lg);
  text-align: center;
  margin-bottom: var(--mc-space-lg);
  position: relative;
  overflow: hidden;
}

.mc-countdown-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #7c3aed, #4f46e5, #7c3aed);
  animation: mcSlide 2s linear infinite;
}

@keyframes mcSlide {
  from { background-position: -200%; }
  to   { background-position: 200%; }
}

.mc-countdown-label {
  font-size: var(--mc-text-xs);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--mc-text-muted);
  margin-bottom: var(--mc-space-sm);
}

.mc-countdown-timer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mc-space-md);
}

.mc-countdown-unit {
  text-align: center;
}

.mc-countdown-num {
  font-size: var(--mc-text-4xl);
  font-weight: 800;
  color: #7c3aed;
  line-height: 1;
  display: block;
  font-variant-numeric: tabular-nums;
}

.mc-countdown-unit-label {
  font-size: var(--mc-text-xs);
  color: var(--mc-text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
}

.mc-countdown-sep {
  font-size: var(--mc-text-3xl);
  font-weight: 700;
  color: #7c3aed;
  margin-bottom: var(--mc-space-md);
}

.mc-admit-download-box {
  background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);
  border-radius: var(--mc-radius-xl);
  padding: var(--mc-space-xl);
  text-align: center;
  color: #fff;
  margin-bottom: var(--mc-space-lg);
}

/* Important Links Table (Admit Card) */
.mc-important-links-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--mc-surface);
  border-radius: var(--mc-radius-lg);
  overflow: hidden;
  border: 1px solid var(--mc-border);
  margin-bottom: var(--mc-space-lg);
}

.mc-important-links-table th {
  background: #7c3aed;
  color: #fff;
  padding: var(--mc-space-sm) var(--mc-space-md);
  font-size: var(--mc-text-sm);
  text-align: left;
}

.mc-important-links-table td {
  padding: var(--mc-space-sm) var(--mc-space-md);
  border-bottom: 1px solid var(--mc-border);
  font-size: var(--mc-text-sm);
  vertical-align: middle;
}

.mc-important-links-table tr:last-child td { border-bottom: none; }

.mc-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  border-radius: var(--mc-radius-full);
  font-size: var(--mc-text-xs);
  font-weight: 700;
  cursor: pointer;
  transition: var(--mc-transition);
  text-decoration: none;
  border: none;
}

.mc-link-btn.primary {
  background: var(--mc-primary);
  color: #fff;
}

.mc-link-btn.primary:hover {
  background: var(--mc-primary-dark);
  color: #fff;
}

.mc-link-btn.secondary {
  background: var(--mc-bg);
  color: var(--mc-text);
  border: 1px solid var(--mc-border);
}

.mc-link-btn.secondary:hover {
  background: var(--mc-primary);
  color: #fff;
  border-color: var(--mc-primary);
}

.mc-link-btn.danger {
  background: var(--mc-danger);
  color: #fff;
}

.mc-link-btn.success {
  background: var(--mc-accent);
  color: #fff;
}

/* ============================================================
   11. SINGLE POST — RESULTS TEMPLATE
============================================================ */
.mc-result-hero {
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
}

.mc-result-status-card {
  border-radius: var(--mc-radius-xl);
  border: 2px solid;
  padding: var(--mc-space-xl);
  text-align: center;
  margin-bottom: var(--mc-space-lg);
  position: relative;
  overflow: hidden;
}

.mc-result-status-card.declared {
  border-color: var(--mc-accent);
  background: rgba(0,179,65,.06);
}

.mc-result-status-card.awaited {
  border-color: var(--mc-warning);
  background: rgba(217,119,6,.06);
}

.mc-status-icon {
  font-size: 3rem;
  margin-bottom: var(--mc-space-sm);
  display: block;
}

.mc-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 20px;
  border-radius: var(--mc-radius-full);
  font-size: var(--mc-text-sm);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.mc-status-badge.declared {
  background: var(--mc-accent);
  color: #fff;
}

.mc-status-badge.awaited {
  background: var(--mc-warning);
  color: #fff;
}

.mc-cutoff-section {
  background: var(--mc-surface);
  border-radius: var(--mc-radius-lg);
  border: 1px solid var(--mc-border);
  overflow: hidden;
  margin-bottom: var(--mc-space-lg);
}

.mc-cutoff-header {
  background: #059669;
  color: #fff;
  padding: var(--mc-space-md) var(--mc-space-lg);
  font-weight: 700;
  font-size: var(--mc-text-base);
}

/* ============================================================
   12. ARCHIVE / CATEGORY PAGES
============================================================ */
.mc-cat-archive-hero {
  background: var(--cat-gradient, var(--mc-grad-primary));
  color: #fff;
  padding: var(--mc-space-xl) 0;
  position: relative;
  overflow: hidden;
}

.mc-cat-archive-hero-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 var(--mc-space-lg);
  display: flex;
  align-items: center;
  gap: var(--mc-space-lg);
}

.mc-cat-archive-icon {
  width: 70px;
  height: 70px;
  border-radius: var(--mc-radius-full);
  background: rgba(255,255,255,.2);
  border: 2px solid rgba(255,255,255,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  flex-shrink: 0;
}

.mc-cat-archive-title {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  color: #fff;
  margin-bottom: var(--mc-space-xs);
}

.mc-cat-archive-desc {
  color: rgba(255,255,255,.85);
  font-size: var(--mc-text-base);
}

.mc-cat-archive-stats {
  display: flex;
  gap: var(--mc-space-md);
  margin-top: var(--mc-space-sm);
  flex-wrap: wrap;
}

.mc-cat-archive-stat {
  background: rgba(255,255,255,.15);
  padding: 4px 12px;
  border-radius: var(--mc-radius-full);
  font-size: var(--mc-text-xs);
  font-weight: 600;
  color: #fff;
}

/* Filter bar */
.mc-filter-bar {
  background: var(--mc-surface);
  border-bottom: 1px solid var(--mc-border);
  padding: var(--mc-space-sm) 0;
  position: sticky;
  top: 60px;
  z-index: 50;
}

.mc-filter-inner {
  display: flex;
  align-items: center;
  gap: var(--mc-space-sm);
  flex-wrap: wrap;
  padding: 0 var(--mc-space-lg);
}

.mc-filter-btn {
  padding: 5px 14px;
  border-radius: var(--mc-radius-full);
  font-size: var(--mc-text-xs);
  font-weight: 600;
  cursor: pointer;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
  color: var(--mc-text);
  transition: var(--mc-transition);
}

.mc-filter-btn:hover,
.mc-filter-btn.active {
  background: var(--mc-primary);
  border-color: var(--mc-primary);
  color: #fff;
}

/* ============================================================
   13. HOMEPAGE SECTIONS
============================================================ */
.mc-section {
  padding: var(--mc-space-xl) 0;
}

.mc-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--mc-space-lg);
  gap: var(--mc-space-md);
}

.mc-section-title {
  font-size: var(--mc-text-2xl);
  font-weight: 800;
  color: var(--mc-heading);
  display: flex;
  align-items: center;
  gap: var(--mc-space-sm);
  margin: 0;
}

.mc-section-title::after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 1.2em;
  background: var(--mc-primary);
  border-radius: 2px;
  margin-left: var(--mc-space-xs);
}

.mc-section-link {
  font-size: var(--mc-text-sm);
  font-weight: 600;
  color: var(--mc-primary);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

/* Urgent jobs banner */
.mc-urgent-banner {
  background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
  border-radius: var(--mc-radius-lg);
  padding: var(--mc-space-lg);
  color: #fff;
  margin-bottom: var(--mc-space-xl);
  display: flex;
  align-items: center;
  gap: var(--mc-space-md);
  position: relative;
  overflow: hidden;
}

.mc-urgent-banner::before {
  content: '🔴';
  font-size: 2rem;
  animation: mcPulse 1s infinite;
  flex-shrink: 0;
}

/* Tabs component */
.mc-tabs {
  background: var(--mc-surface);
  border-radius: var(--mc-radius-lg);
  border: 1px solid var(--mc-border);
  overflow: hidden;
  box-shadow: var(--mc-shadow-sm);
}

.mc-tabs-nav {
  display: flex;
  background: var(--mc-surface-2);
  border-bottom: 1px solid var(--mc-border);
  overflow-x: auto;
  scrollbar-width: none;
}

.mc-tabs-nav::-webkit-scrollbar { display: none; }

.mc-tab-btn {
  padding: var(--mc-space-sm) var(--mc-space-lg);
  font-size: var(--mc-text-sm);
  font-weight: 600;
  color: var(--mc-text-muted);
  cursor: pointer;
  border: none;
  background: transparent;
  white-space: nowrap;
  transition: var(--mc-transition);
  position: relative;
}

.mc-tab-btn::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: var(--mc-primary);
  transform: scaleX(0);
  transition: transform .2s ease;
}

.mc-tab-btn.active {
  color: var(--mc-primary);
}

.mc-tab-btn.active::after {
  transform: scaleX(1);
}

.mc-tab-pane {
  display: none;
  padding: var(--mc-space-md);
  animation: mcFadeIn .2s ease;
}

.mc-tab-pane.active {
  display: block;
}

@keyframes mcFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Category sliders */
.mc-slider-wrapper {
  position: relative;
}

.mc-slider {
  display: flex;
  gap: var(--mc-space-md);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding-bottom: var(--mc-space-xs);
}

.mc-slider::-webkit-scrollbar { display: none; }

.mc-slider > * {
  scroll-snap-align: start;
  flex-shrink: 0;
  width: 280px;
}

.mc-slider-prev,
.mc-slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: var(--mc-radius-full);
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  box-shadow: var(--mc-shadow);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  transition: var(--mc-transition);
  color: var(--mc-text);
}

.mc-slider-prev { left: -18px; }
.mc-slider-next { right: -18px; }

.mc-slider-prev:hover,
.mc-slider-next:hover {
  background: var(--mc-primary);
  border-color: var(--mc-primary);
  color: #fff;
}

/* ============================================================
   14. ADSENSE PLACEMENTS
============================================================ */

/* All ad slots — prevent CLS with min-heights */
.mc-ad-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mc-bg);
  border: 1px dashed var(--mc-divider);
  border-radius: var(--mc-radius);
  overflow: hidden;
  position: relative;
  width: 100%;
  contain: layout style;
}

.mc-ad-leaderboard {
  min-height: var(--mc-ad-leaderboard-h);
}

.mc-ad-rectangle {
  min-height: var(--mc-ad-rectangle-h);
}

.mc-ad-in-content {
  min-height: var(--mc-ad-in-content-h);
  margin: var(--mc-space-lg) 0;
}

.mc-ad-sticky-bottom {
  position: fixed;
  bottom: 56px; /* above mobile nav */
  left: 50%;
  transform: translateX(-50%);
  z-index: calc(var(--mc-z-sticky) + 1);
  background: var(--mc-surface);
  box-shadow: var(--mc-shadow-xl);
  border-radius: var(--mc-radius) var(--mc-radius) 0 0;
  padding: var(--mc-space-xs);
  min-height: 60px;
  min-width: 320px;
}

.mc-ad-label {
  position: absolute;
  top: 4px;
  right: 6px;
  font-size: 9px;
  color: var(--mc-text-light);
  text-transform: uppercase;
  letter-spacing: .05em;
  pointer-events: none;
}

/* Ad sidebar (desktop only) */
@media (max-width: 1024px) {
  .mc-ad-sidebar { display: none; }
}

/* ============================================================
   15. MOBILE NAVIGATION (STICKY BOTTOM)
============================================================ */
.mc-mobile-nav {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: var(--mc-z-sticky);
  background: var(--mc-surface);
  border-top: 1px solid var(--mc-border);
  box-shadow: 0 -4px 20px rgba(0,0,0,.1);
  padding: 6px 0;
  padding-bottom: max(6px, env(safe-area-inset-bottom));
}

.mc-mobile-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.mc-mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 6px 12px;
  cursor: pointer;
  border-radius: var(--mc-radius);
  transition: var(--mc-transition);
  text-decoration: none;
  color: var(--mc-text-muted);
  flex: 1;
  min-width: 0;
  position: relative;
}

.mc-mobile-nav-item.active {
  color: var(--mc-primary);
}

.mc-mobile-nav-item .mc-nav-icon {
  font-size: 1.2rem;
  line-height: 1;
}

.mc-mobile-nav-item .mc-nav-label {
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  text-align: center;
}

.mc-mobile-nav-item.active::before {
  content: '';
  position: absolute;
  top: 0; left: 20%; right: 20%;
  height: 2px;
  background: var(--mc-primary);
  border-radius: 0 0 3px 3px;
}

/* Mobile search trigger */
.mc-mobile-search {
  display: none;
}

/* ============================================================
   16. RESPONSIVE — TABLET
============================================================ */
@media (max-width: 1024px) {
  .mc-posts-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }

  .mega-menu-inner {
    grid-template-columns: repeat(3, 1fr);
  }

  .mc-slider > * {
    width: 240px;
  }

  .mc-category-grid {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  }
}

/* ============================================================
   17. RESPONSIVE — MOBILE
============================================================ */
@media (max-width: 768px) {
  .mc-mobile-nav     { display: block; }
  .mc-mobile-search  { display: flex; }

  body {
    padding-bottom: 56px; /* room for mobile nav */
  }

  .mc-posts-grid {
    grid-template-columns: 1fr;
  }

  .mc-posts-list .mc-post-card {
    flex-direction: column;
  }

  .mc-posts-list .mc-post-card-thumb {
    width: 100%;
    aspect-ratio: 16/9;
  }

  .mc-category-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--mc-space-sm);
  }

  .mc-cat-card {
    padding: var(--mc-space-md) var(--mc-space-sm);
  }

  .mc-cat-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }

  .mc-cat-name {
    font-size: var(--mc-text-xs);
  }

  .mc-bharti-hero-inner {
    flex-direction: column;
    gap: var(--mc-space-md);
  }

  .mc-dept-logo {
    width: 60px;
    height: 60px;
  }

  .mc-vacancy-overview-body {
    grid-template-columns: repeat(2, 1fr);
  }

  .mc-mega-menu { display: none !important; }

  .mc-top-bar { display: none; }

  .mc-section {
    padding: var(--mc-space-lg) 0;
  }

  .mc-section-title {
    font-size: var(--mc-text-xl);
  }

  .mc-sticky-apply {
    flex-direction: column;
    padding: var(--mc-space-sm);
  }

  .mc-ad-sticky-bottom {
    bottom: 56px;
    min-width: auto;
    left: var(--mc-space-sm);
    right: var(--mc-space-sm);
    transform: none;
  }

  .mc-countdown-num { font-size: var(--mc-text-3xl); }

  .mc-slider > * { width: 220px; }

  .mc-dates-table { font-size: var(--mc-text-xs); }
  .mc-dates-table th,
  .mc-dates-table td { padding: var(--mc-space-xs) var(--mc-space-sm); }

  .mc-tabs-nav { flex-wrap: nowrap; }

  .mc-cat-archive-hero-inner {
    flex-direction: column;
    text-align: center;
  }

  .mc-cat-archive-stats {
    justify-content: center;
  }
}

/* ============================================================
   18. DARK MODE OVERRIDES
============================================================ */
[data-theme="dark"] .mc-dates-table tr:nth-child(even) td {
  background: rgba(255,255,255,.03);
}

[data-theme="dark"] .mc-post-card-thumb img {
  filter: brightness(.9);
}

[data-theme="dark"] .mc-overview-item {
  background: rgba(255,255,255,.04);
}

[data-theme="dark"] .mc-tabs-nav {
  background: rgba(255,255,255,.04);
}

[data-theme="dark"] .mc-filter-btn {
  background: var(--mc-surface-2);
}

[data-theme="dark"] .mc-urgent-banner {
  background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%);
}

[data-theme="dark"] .mc-header-wrapper {
  background: var(--mc-surface);
  border-color: var(--mc-border);
}

/* ============================================================
   19. UTILITY CLASSES
============================================================ */
.mc-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: var(--mc-radius-full);
  font-size: var(--mc-text-xs);
  font-weight: 700;
  line-height: 1.4;
}

.mc-badge-new     { background: #dcfce7; color: #166534; }
.mc-badge-urgent  { background: #fee2e2; color: #991b1b; }
.mc-badge-latest  { background: #dbeafe; color: #1e40af; }
.mc-badge-hot     { background: #ffedd5; color: #9a3412; }
.mc-badge-primary { background: var(--mc-primary); color: #fff; }
.mc-badge-dark    { background: var(--mc-heading); color: #fff; }

[data-theme="dark"] .mc-badge-new    { background: rgba(22,101,52,.3);  color: #86efac; }
[data-theme="dark"] .mc-badge-urgent { background: rgba(153,27,27,.3);  color: #fca5a5; }
[data-theme="dark"] .mc-badge-latest { background: rgba(30,64,175,.3);  color: #93c5fd; }
[data-theme="dark"] .mc-badge-hot    { background: rgba(154,52,18,.3);  color: #fdba74; }

.mc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 24px;
  border-radius: var(--mc-radius-full);
  font-size: var(--mc-text-sm);
  font-weight: 700;
  cursor: pointer;
  border: none;
  transition: var(--mc-transition);
  text-decoration: none;
  line-height: 1.4;
  white-space: nowrap;
}

.mc-btn-primary {
  background: var(--mc-primary);
  color: #fff;
}

.mc-btn-primary:hover {
  background: var(--mc-primary-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(26,86,219,.35);
}

.mc-btn-secondary {
  background: var(--mc-secondary);
  color: #fff;
}

.mc-btn-secondary:hover {
  opacity: .9;
  color: #fff;
}

.mc-btn-outline {
  background: transparent;
  border: 2px solid var(--mc-primary);
  color: var(--mc-primary);
}

.mc-btn-outline:hover {
  background: var(--mc-primary);
  color: #fff;
}

.mc-btn-white {
  background: #fff;
  color: var(--mc-primary);
}

.mc-btn-white:hover {
  background: rgba(255,255,255,.9);
  color: var(--mc-primary-dark);
  transform: translateY(-1px);
}

.mc-btn-lg { padding: 14px 32px; font-size: var(--mc-text-base); }
.mc-btn-sm { padding: 6px 16px;  font-size: var(--mc-text-xs); }

.mc-text-center { text-align: center; }
.mc-w-full      { width: 100%; }
.mc-d-none      { display: none; }
.mc-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ============================================================
   20. CORE WEB VITALS HELPERS
============================================================ */

/* Prevent layout shift on images without dimensions */
img:not([width]):not([height]) {
  aspect-ratio: attr(width) / attr(height);
}

/* Font display swap helper class */
.mc-font-loaded body {
  font-family: var(--mc-font-sans);
}

/* Skeleton loading (reduce CLS during fetch) */
.mc-skeleton {
  background: linear-gradient(
    90deg,
    var(--mc-border) 25%,
    var(--mc-divider) 50%,
    var(--mc-border) 75%
  );
  background-size: 200% 100%;
  animation: mcSkeleton 1.5s infinite;
  border-radius: var(--mc-radius);
}

@keyframes mcSkeleton {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.mc-skeleton-card {
  height: 280px;
  border-radius: var(--mc-radius-lg);
}

.mc-skeleton-text {
  height: 1em;
  margin-bottom: .5em;
  border-radius: var(--mc-radius-sm);
}

/* Lazy load placeholder */
img[data-src],
img[loading="lazy"] {
  background-color: var(--mc-bg);
}

/* Contain composited layers */
.mc-post-card,
.mc-cat-card,
.mc-ticker-inner {
  will-change: transform;
  transform: translateZ(0);
}

/* Print styles */
@media print {
  .mc-mobile-nav,
  .mc-sticky-apply,
  .mc-ad-slot,
  .mc-ticker-wrap { display: none !important; }
}
