/*
Theme Name: GovtJobsNet Child — cleaned
Author: Ameer
Template: generatepress
Version: 2.6
*/

/* ========================================
   FONT FALLBACKS
   ======================================== */
@font-face{font-family:'Roboto-Fallback';src:local('Arial');size-adjust:104.56%;ascent-override:92.77%;descent-override:24.41%;line-gap-override:0%}
@font-face{font-family:'Inter-Fallback';src:local('Arial');size-adjust:107.4%;ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%}

/* ========================================
   MASTER COLOR SYSTEM - CSS VARIABLES
   Complete light/dark mode theming
   ======================================== */

/* -----------------------------------------
   LIGHT MODE (Default)
   ----------------------------------------- */
:root {
  /* Color Scheme Declaration */
  color-scheme: light;

  /* ===== SEMANTIC COLOR TOKENS ===== */
  
  /* Text Colors */
  --color-text: #333333;
  --color-text-light: #555555;
  --color-text-lighter: #666666;
  --color-text-dark: #000000;
  --color-text-muted: #777777;
  --color-text-inverse: #ffffff;
  
  /* Heading Colors */
  --color-heading: #1a1a1a;
  --color-heading-secondary: #2c3e50;
  
  /* Link Colors */
  --color-link: #1a237e;
  --color-link-hover: #0d47a1;
  --color-link-visited: #4a148c;
  --color-link-focus: #1565c0;
  
  /* Background Colors */
  --color-bg: #ffffff;
  --color-bg-primary: #f8f8f8;
  --color-bg-secondary: #fafafa;
  --color-bg-tertiary: #f5f5f5;
  --color-bg-card: #ffffff;
  --color-bg-highlight: #e6f3ff;
  --color-bg-highlight-alt: #e5e5ff;
  --color-bg-code: #f4f4f4;
  --color-bg-blockquote: #f9f9f9;
  --color-bg-input: #ffffff;
  
  /* Border Colors */
  --color-border: #dddddd;
  --color-border-light: #eeeeee;
  --color-border-medium: #cccccc;
  --color-border-dark: #999999;
  --color-border-focus: #1a237e;
  
  /* Brand Colors */
  --color-primary: #1a237e;
  --color-primary-dark: #0d1757;
  --color-primary-light: #31259a;
  --color-secondary: #0040ff;
  --color-secondary-hover: #0033cc;
  --color-accent: #007bff;
  --color-accent-light: #1a73e8;
  --color-brand-blue: #003399;
  
  /* Status Colors */
  --color-success: #34a853;
  --color-success-bg: #e8f5e9;
  --color-danger: #b00000;
  --color-danger-bg: #ffebee;
  --color-warning: #c2753b;
  --color-warning-bg: #fff3e0;
  --color-info: #0288d1;
  --color-info-bg: #e1f5fe;
  
  /* Button Colors */
  --button-primary-bg: #0040ff;
  --button-primary-text: #ffffff;
  --button-primary-hover-bg: #0033cc;
  --button-primary-hover-text: #ffffff;
  --button-secondary-bg: #f5f5f5;
  --button-secondary-text: #333333;
  --button-secondary-hover-bg: #e0e0e0;
  --button-secondary-hover-text: #000000;
  --button-outline-border: #1a237e;
  --button-outline-text: #1a237e;
  --button-outline-hover-bg: #1a237e;
  --button-outline-hover-text: #ffffff;
  
  /* Table Colors */
  --table-header-bg: #31259a;
  --table-header-text: #ffffff;
  --table-row-odd-bg: #ffffff;
  --table-row-even-bg: #f8f9fa;
  --table-cell-text: #333333;
  --table-border: #dddddd;
  
  /* Navigation Colors */
  --nav-text: #333333;
  --nav-text-hover: #1a237e;
  --nav-text-active: #1a237e;
  --nav-bg: #ffffff;
  --nav-bg-hover: #f5f5f5;
  --nav-mobile-bg: #ffffff;
  --nav-mobile-text: #333333;
  
  /* Card/Container Colors */
  --card-bg: #ffffff;
  --card-border: #eeeeee;
  --card-shadow: rgba(0, 0, 0, 0.08);
  --card-text: #333333;
  --card-heading: #1a237e;
  
  /* Form Colors */
  --input-bg: #ffffff;
  --input-text: #333333;
  --input-border: #cccccc;
  --input-border-focus: #1a237e;
  --input-placeholder: #999999;
  --label-text: #333333;
  
  /* Footer Colors */
  --footer-bg: #1a237e;
  --footer-text: #e0e0e0;
  --footer-link: #04d9ff;
  --footer-link-hover: #ffffff;
  
  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 4px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 8px 25px rgba(0, 0, 0, 0.15);

  /* ===== LAYOUT & TYPOGRAPHY TOKENS ===== */
  --spacing-xs: 5px;
  --spacing-sm: 10px;
  --spacing-md: 15px;
  --spacing-lg: 20px;
  --spacing-xl: 30px;
  --spacing-2xl: 40px;
  
  --font-family-primary: 'Segoe UI', Tahoma, sans-serif;
  --font-family-secondary: Roboto, sans-serif;
  --font-size-xs: .75rem;
  --font-size-sm: .9rem;
  --font-size-base: 1rem;
  --font-size-md: 1.1rem;
  --font-size-lg: 1.2rem;
  --font-size-xl: 1.4rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.8rem;
  --font-size-4xl: 2.625rem;

  --max-width-container: 1170px;
  --max-width-content: 900px;
  --sidebar-width: 220px;
  --border-radius-sm: 4px;
  --border-radius-md: 6px;
  --border-radius-lg: 8px;
  --border-radius-xl: 12px;
  --border-radius-circle: 50%;
  --transition-fast: .2s ease;
  --transition-base: .3s ease;
  --transition-slow: .3s ease-in-out;
  --card-padding: 30px;
  --card-lift-hover: -8px;

  /* GeneratePress font variables */
  --gp-font--roboto: 'Roboto', 'Roboto-Fallback', sans-serif;
  --gp-font--inter: 'Inter', 'Inter-Fallback', sans-serif;
  
  /* Legacy variable mappings (for backward compatibility) */
  --bg-primary: var(--color-bg-primary);
  --bg-secondary: var(--color-bg-secondary);
  --bg-card: var(--color-bg-card);
  --bg-highlight: var(--color-bg-highlight);
  --bg-highlight-alt: var(--color-bg-highlight-alt);
  --bg-footer: var(--footer-bg);
  --border-light: var(--color-border-light);
  --border-medium: var(--color-border);
  --border-dark: var(--color-border-medium);
  --color-white: #ffffff;
}

/* -----------------------------------------
   DARK MODE - System Preference
   ----------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    
    /* Text Colors */
    --color-text: #e0e0e0;
    --color-text-light: #b0b0b0;
    --color-text-lighter: #a0a0a0;
    --color-text-dark: #f5f5f5;
    --color-text-muted: #909090;
    --color-text-inverse: #121212;
    
    /* Heading Colors */
    --color-heading: #ffffff;
    --color-heading-secondary: #e0e0e0;
    
    /* Link Colors */
    --color-link: #64b5f6;
    --color-link-hover: #90caf9;
    --color-link-visited: #ce93d8;
    --color-link-focus: #42a5f5;
    
    /* Background Colors */
    --color-bg: #121212;
    --color-bg-primary: #121212;
    --color-bg-secondary: #1e1e1e;
    --color-bg-tertiary: #252525;
    --color-bg-card: #1e1e1e;
    --color-bg-highlight: #1a237e;
    --color-bg-highlight-alt: #311b92;
    --color-bg-code: #2d2d2d;
    --color-bg-blockquote: #1e1e1e;
    --color-bg-input: #2a2a2a;
    
    /* Border Colors */
    --color-border: #444444;
    --color-border-light: #333333;
    --color-border-medium: #555555;
    --color-border-dark: #666666;
    --color-border-focus: #64b5f6;
    
    /* Brand Colors (adjusted for dark mode) */
    --color-primary: #9fa8da;
    --color-primary-dark: #7986cb;
    --color-primary-light: #c5cae9;
    --color-secondary: #64b5f6;
    --color-secondary-hover: #90caf9;
    --color-accent: #64b5f6;
    --color-accent-light: #81d4fa;
    --color-brand-blue: #90caf9;
    
    /* Status Colors (adjusted for dark mode) */
    --color-success: #69f0ae;
    --color-success-bg: #1b5e20;
    --color-danger: #ff8a80;
    --color-danger-bg: #b71c1c;
    --color-warning: #ffcc80;
    --color-warning-bg: #e65100;
    --color-info: #4fc3f7;
    --color-info-bg: #01579b;
    
    /* Button Colors */
    --button-primary-bg: #1565c0;
    --button-primary-text: #ffffff;
    --button-primary-hover-bg: #1976d2;
    --button-primary-hover-text: #ffffff;
    --button-secondary-bg: #333333;
    --button-secondary-text: #e0e0e0;
    --button-secondary-hover-bg: #444444;
    --button-secondary-hover-text: #ffffff;
    --button-outline-border: #64b5f6;
    --button-outline-text: #64b5f6;
    --button-outline-hover-bg: #64b5f6;
    --button-outline-hover-text: #121212;
    
    /* Table Colors */
    --table-header-bg: #2d2d2d;
    --table-header-text: #ffffff;
    --table-row-odd-bg: #1a1a1a;
    --table-row-even-bg: #252525;
    --table-cell-text: #e0e0e0;
    --table-border: #444444;
    
    /* Navigation Colors */
    --nav-text: #e0e0e0;
    --nav-text-hover: #64b5f6;
    --nav-text-active: #90caf9;
    --nav-bg: #1e1e1e;
    --nav-bg-hover: #2a2a2a;
    --nav-mobile-bg: #1e1e1e;
    --nav-mobile-text: #e0e0e0;
    
    /* Card/Container Colors */
    --card-bg: #1e1e1e;
    --card-border: #333333;
    --card-shadow: rgba(0, 0, 0, 0.3);
    --card-text: #e0e0e0;
    --card-heading: #90caf9;
    
    /* Form Colors */
    --input-bg: #2a2a2a;
    --input-text: #e0e0e0;
    --input-border: #444444;
    --input-border-focus: #64b5f6;
    --input-placeholder: #888888;
    --label-text: #e0e0e0;
    
    /* Footer Colors */
    --footer-bg: #0a0a1a;
    --footer-text: #b0b0b0;
    --footer-link: #04d9ff;
    --footer-link-hover: #ffffff;
    
    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 4px 15px rgba(0, 0, 0, 0.5);
    --shadow-xl: 0 8px 25px rgba(0, 0, 0, 0.6);
    
    /* Legacy mappings */
    --bg-primary: var(--color-bg-primary);
    --bg-secondary: var(--color-bg-secondary);
    --bg-card: var(--color-bg-card);
    --bg-highlight: var(--color-bg-highlight);
    --bg-highlight-alt: var(--color-bg-highlight-alt);
    --bg-footer: var(--footer-bg);
    --border-light: var(--color-border-light);
    --border-medium: var(--color-border);
    --border-dark: var(--color-border-medium);
    --color-white: #1a1a1a;
  }
}

/* -----------------------------------------
   DARK MODE - JS Toggle Class Support
   Duplicates dark variables for .dark-mode class
   ----------------------------------------- */
:root.dark-mode,
html.dark-mode,
body.dark-mode {
  color-scheme: dark;
  
  /* Text Colors */
  --color-text: #e0e0e0;
  --color-text-light: #b0b0b0;
  --color-text-lighter: #a0a0a0;
  --color-text-dark: #f5f5f5;
  --color-text-muted: #909090;
  --color-text-inverse: #121212;
  
  /* Heading Colors */
  --color-heading: #ffffff;
  --color-heading-secondary: #e0e0e0;
  
  /* Link Colors */
  --color-link: #64b5f6;
  --color-link-hover: #90caf9;
  --color-link-visited: #ce93d8;
  --color-link-focus: #42a5f5;
  
  /* Background Colors */
  --color-bg: #121212;
  --color-bg-primary: #121212;
  --color-bg-secondary: #1e1e1e;
  --color-bg-tertiary: #252525;
  --color-bg-card: #1e1e1e;
  --color-bg-highlight: #1a237e;
  --color-bg-highlight-alt: #311b92;
  --color-bg-code: #2d2d2d;
  --color-bg-blockquote: #1e1e1e;
  --color-bg-input: #2a2a2a;
  
  /* Border Colors */
  --color-border: #444444;
  --color-border-light: #333333;
  --color-border-medium: #555555;
  --color-border-dark: #666666;
  --color-border-focus: #64b5f6;
  
  /* Brand Colors */
  --color-primary: #9fa8da;
  --color-primary-dark: #7986cb;
  --color-primary-light: #c5cae9;
  --color-secondary: #64b5f6;
  --color-secondary-hover: #90caf9;
  --color-accent: #64b5f6;
  --color-accent-light: #81d4fa;
  --color-brand-blue: #90caf9;
  
  /* Status Colors */
  --color-success: #69f0ae;
  --color-success-bg: #1b5e20;
  --color-danger: #ff8a80;
  --color-danger-bg: #b71c1c;
  --color-warning: #ffcc80;
  --color-warning-bg: #e65100;
  --color-info: #4fc3f7;
  --color-info-bg: #01579b;
  
  /* Button Colors */
  --button-primary-bg: #1565c0;
  --button-primary-text: #ffffff;
  --button-primary-hover-bg: #1976d2;
  --button-primary-hover-text: #ffffff;
  --button-secondary-bg: #333333;
  --button-secondary-text: #e0e0e0;
  --button-secondary-hover-bg: #444444;
  --button-secondary-hover-text: #ffffff;
  --button-outline-border: #64b5f6;
  --button-outline-text: #64b5f6;
  --button-outline-hover-bg: #64b5f6;
  --button-outline-hover-text: #121212;
  
  /* Table Colors */
  --table-header-bg: #2d2d2d;
  --table-header-text: #ffffff;
  --table-row-odd-bg: #1a1a1a;
  --table-row-even-bg: #252525;
  --table-cell-text: #e0e0e0;
  --table-border: #444444;
  
  /* Navigation Colors */
  --nav-text: #e0e0e0;
  --nav-text-hover: #64b5f6;
  --nav-text-active: #90caf9;
  --nav-bg: #1e1e1e;
  --nav-bg-hover: #2a2a2a;
  --nav-mobile-bg: #1e1e1e;
  --nav-mobile-text: #e0e0e0;
  
  /* Card/Container Colors */
  --card-bg: #1e1e1e;
  --card-border: #333333;
  --card-shadow: rgba(0, 0, 0, 0.3);
  --card-text: #e0e0e0;
  --card-heading: #90caf9;
  
  /* Form Colors */
  --input-bg: #2a2a2a;
  --input-text: #e0e0e0;
  --input-border: #444444;
  --input-border-focus: #64b5f6;
  --input-placeholder: #888888;
  --label-text: #e0e0e0;
  
  /* Footer Colors */
  --footer-bg: #0a0a1a;
  --footer-text: #b0b0b0;
  --footer-link: #04d9ff;
  --footer-link-hover: #ffffff;
  
  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 4px 15px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 8px 25px rgba(0, 0, 0, 0.6);
  
  /* Legacy mappings */
  --bg-primary: var(--color-bg-primary);
  --bg-secondary: var(--color-bg-secondary);
  --bg-card: var(--color-bg-card);
  --bg-highlight: var(--color-bg-highlight);
  --bg-highlight-alt: var(--color-bg-highlight-alt);
  --bg-footer: var(--footer-bg);
  --border-light: var(--color-border-light);
  --border-medium: var(--color-border);
  --border-dark: var(--color-border-medium);
  --color-white: #1a1a1a;
}

/* ========================================
   GLOBAL ELEMENT STYLING
   Uses CSS variables for automatic theme switching
   ======================================== */

/* -----------------------------------------
   Body & Base Typography
   ----------------------------------------- */
html, body {
  height: 100%;
  background-color: var(--color-bg-primary);
  color: var(--color-text);
}

body {
  margin: 0;
  font-family: var(--font-family-primary);
  line-height: 1.6;
}

/* -----------------------------------------
   Headings (h1-h6)
   ----------------------------------------- */
h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title a,
.widget-title,
.comments-title,
.comment-reply-title,
.wp-block-heading,
.wp-block-post-title,
.wp-block-query-title {
  color: var(--color-heading) !important;
}

.entry-title a:hover,
.entry-title a:focus {
  color: var(--color-link-hover) !important;
}

/* -----------------------------------------
   Paragraphs & Body Text
   ----------------------------------------- */
p,
.entry-content p,
.entry-content,
.entry-summary,
.entry-summary p,
article p,
.widget p,
.comment-content p,
.wp-block-paragraph {
  color: var(--color-text);
}

/* -----------------------------------------
   Links
   ----------------------------------------- */
a {
  color: var(--color-link);
  text-decoration: underline;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-link-hover);
}

a:visited {
  color: var(--color-link-visited);
}

a:focus {
  color: var(--color-link-focus);
  outline: 2px solid var(--color-border-focus);
  outline-offset: 2px;
}

/* Article & Content Links */
article a,
.entry-content a,
.widget-area a,
.comment-content a,
.wp-block-group a {
  color: var(--color-link);
}

article a:hover,
.entry-content a:hover,
.widget-area a:hover {
  color: var(--color-link-hover);
}

/* -----------------------------------------
   Lists (ul, ol, li)
   ----------------------------------------- */
ul, ol {
  color: var(--color-text);
}

li {
  color: var(--color-text);
}

.entry-content ul,
.entry-content ol,
.entry-content li,
.wp-block-list,
.wp-block-list li {
  color: var(--color-text);
}

/* -----------------------------------------
   Buttons (All Types)
   ----------------------------------------- */

/* Primary Buttons */
button,
.button,
.wp-block-button__link,
.wp-element-button,
input[type="submit"],
input[type="button"],
.generate-button,
.gp-button {
  background-color: var(--button-primary-bg) !important;
  color: var(--button-primary-text) !important;
  border: none;
  padding: 12px 24px;
  border-radius: var(--border-radius-sm);
  cursor: pointer;
  font-weight: 600;
  transition: background-color var(--transition-base), color var(--transition-base);
}

button:hover,
.button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.generate-button:hover,
.gp-button:hover {
  background-color: var(--button-primary-hover-bg) !important;
  color: var(--button-primary-hover-text) !important;
}

button:focus,
.button:focus,
.wp-block-button__link:focus,
input[type="submit"]:focus {
  outline: 2px solid var(--color-border-focus);
  outline-offset: 2px;
}

/* Outline Buttons */
.wp-block-button.is-style-outline .wp-block-button__link,
.button-outline,
.btn-outline {
  background-color: transparent !important;
  color: var(--button-outline-text) !important;
  border: 2px solid var(--button-outline-border) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.button-outline:hover,
.btn-outline:hover {
  background-color: var(--button-outline-hover-bg) !important;
  color: var(--button-outline-hover-text) !important;
}

/* Secondary Buttons */
.button-secondary,
.btn-secondary {
  background-color: var(--button-secondary-bg) !important;
  color: var(--button-secondary-text) !important;
}

.button-secondary:hover,
.btn-secondary:hover {
  background-color: var(--button-secondary-hover-bg) !important;
  color: var(--button-secondary-hover-text) !important;
}

/* -----------------------------------------
   Tables (Global)
   ----------------------------------------- */
table {
  border-collapse: collapse;
  border-color: var(--table-border);
}

/* Table Headers */
table th,
table thead th,
thead th,
.wp-block-table th,
.wp-block-table thead th,
.responsive-table th,
.responsive-table thead th,
.responsive-event-table th,
.responsive-event-table thead th,
.result-table th,
.result-table thead th,
[class*="table"] th {
  background-color: var(--table-header-bg) !important;
  color: var(--table-header-text) !important;
  font-weight: bold;
  padding: 12px 15px;
}

/* Table Cells */
table td,
table tbody td,
.wp-block-table td,
.responsive-table td,
.responsive-event-table td,
.result-table td {
  color: var(--table-cell-text);
  border-color: var(--table-border);
  padding: 12px 15px;
}

/* Zebra Stripes */
table tbody tr:nth-of-type(odd) td,
.wp-block-table tbody tr:nth-of-type(odd) td,
.responsive-table tbody tr:nth-of-type(odd) td,
.responsive-event-table tbody tr:nth-of-type(odd) td,
.result-table tbody tr:nth-of-type(odd) td {
  background-color: var(--table-row-odd-bg);
}

table tbody tr:nth-of-type(even) td,
.wp-block-table tbody tr:nth-of-type(even) td,
.responsive-table tbody tr:nth-of-type(even) td,
.responsive-event-table tbody tr:nth-of-type(even) td,
.result-table tbody tr:nth-of-type(even) td {
  background-color: var(--table-row-even-bg);
}

/* Table Links */
table a,
.wp-block-table a {
  color: var(--color-link);
}

table a:hover,
.wp-block-table a:hover {
  color: var(--color-link-hover);
}

/* -----------------------------------------
   Navigation
   ----------------------------------------- */
.main-navigation,
.site-header,
#site-navigation {
  background-color: var(--nav-bg);
  border-color: var(--color-border);
}

.main-navigation a,
.menu-item a,
.nav-menu a,
#site-navigation a {
  color: var(--nav-text) !important;
}

.main-navigation a:hover,
.menu-item a:hover,
.nav-menu a:hover,
#site-navigation a:hover {
  color: var(--nav-text-hover) !important;
  background-color: var(--nav-bg-hover);
}

.current-menu-item > a,
.current_page_item > a {
  color: var(--nav-text-active) !important;
}

/* Mobile Navigation */
.menu-toggle,
.mobile-menu-control-wrapper {
  color: var(--nav-text);
}

.main-navigation .menu-bar-items,
.mobile-menu-container {
  background-color: var(--nav-mobile-bg);
}

.mobile-menu-container a {
  color: var(--nav-mobile-text) !important;
}

/* -----------------------------------------
   Cards & Containers
   ----------------------------------------- */
.card,
.ap-card,
.post-card,
.gb-container {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  color: var(--card-text);
}

/* wp-block-group - inherit by default, only style when explicitly needed */
.wp-block-group {
  color: var(--color-text);
}

/* Only apply card-bg to wp-block-group when it has explicit background class */
.wp-block-group.has-background {
  color: var(--color-text);
}

.wp-block-column,
.wp-block-cover__inner-container {
  color: var(--color-text);
}

.card h2, .card h3, .card h4,
.ap-card h2, .ap-card h3, .ap-card h4 {
  color: var(--card-heading) !important;
}

.card p, .ap-card p {
  color: var(--card-text);
}

/* wp-block-group headings - respect theme colors */
.wp-block-group h2, .wp-block-group h3,
.wp-block-column h2, .wp-block-column h3 {
  color: var(--color-heading) !important;
}

.wp-block-group p,
.wp-block-column p {
  color: var(--color-text);
}

/* Post List Cards */
.post-list {
  background-color: var(--card-bg);
  border-color: var(--card-border);
}

.post-list-head {
  background-color: var(--color-primary);
  color: var(--color-text-inverse) !important;
}

.post-list-item {
  border-color: var(--color-border);
  color: var(--color-text);
}

.post-list-item:hover {
  background-color: var(--color-bg-secondary);
}

.post-list-item a {
  color: var(--color-link);
}

/* -----------------------------------------
   Blockquotes
   ----------------------------------------- */
blockquote,
.wp-block-quote,
.wp-block-pullquote {
  background-color: var(--color-bg-blockquote);
  border-left-color: var(--color-primary);
  color: var(--color-text);
}

blockquote p,
.wp-block-quote p,
.wp-block-pullquote p {
  color: var(--color-text);
}

blockquote cite,
.wp-block-quote cite {
  color: var(--color-text-muted);
}

/* -----------------------------------------
   Code Blocks
   ----------------------------------------- */
code,
pre,
.wp-block-code,
.wp-block-preformatted {
  background-color: var(--color-bg-code);
  color: var(--color-success);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-sm);
}

pre code {
  background-color: transparent;
  border: none;
}

/* -----------------------------------------
   Forms & Inputs
   ----------------------------------------- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
textarea,
select {
  background-color: var(--input-bg);
  color: var(--input-text);
  border: 1px solid var(--input-border);
  border-radius: var(--border-radius-sm);
  padding: 10px 12px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  border-color: var(--input-border-focus);
  outline: none;
  box-shadow: 0 0 0 2px rgba(26, 35, 126, 0.2);
}

input::placeholder,
textarea::placeholder {
  color: var(--input-placeholder);
}

label,
.form-label {
  color: var(--label-text);
}

/* -----------------------------------------
   Gutenberg Blocks
   ----------------------------------------- */

/* Group Block - Don't force background, let it inherit */
.wp-block-group {
  color: var(--color-text);
}

/* Only set background when WordPress adds has-background class */
.wp-block-group.has-background {
  color: var(--color-text);
}

/* Group blocks with light backgrounds in dark mode need dark text */
.wp-block-group.has-white-background-color,
.wp-block-group.has-pale-pink-background-color,
.wp-block-group.has-pale-cyan-blue-background-color,
.wp-block-group.has-light-gray-background-color,
.wp-block-group.has-luminous-vivid-amber-background-color {
  color: #333333 !important;
}

.wp-block-group.has-white-background-color h1,
.wp-block-group.has-white-background-color h2,
.wp-block-group.has-white-background-color h3,
.wp-block-group.has-white-background-color p,
.wp-block-group.has-light-gray-background-color h1,
.wp-block-group.has-light-gray-background-color h2,
.wp-block-group.has-light-gray-background-color h3,
.wp-block-group.has-light-gray-background-color p {
  color: #333333 !important;
}

/* Group blocks with dark backgrounds need light text */
.wp-block-group.has-black-background-color,
.wp-block-group.has-cyan-bluish-gray-background-color,
.wp-block-group.has-dark-gray-background-color {
  color: #e0e0e0 !important;
}

.wp-block-group.has-black-background-color h1,
.wp-block-group.has-black-background-color h2,
.wp-block-group.has-black-background-color h3,
.wp-block-group.has-black-background-color p,
.wp-block-group.has-dark-gray-background-color h1,
.wp-block-group.has-dark-gray-background-color h2,
.wp-block-group.has-dark-gray-background-color h3,
.wp-block-group.has-dark-gray-background-color p {
  color: #ffffff !important;
}

/* Columns Block */
.wp-block-columns,
.wp-block-column {
  color: var(--color-text);
}

/* Cover Block */
.wp-block-cover {
  color: #ffffff;
}

.wp-block-cover__inner-container p,
.wp-block-cover__inner-container h1,
.wp-block-cover__inner-container h2,
.wp-block-cover__inner-container h3 {
  color: inherit;
}

/* Query Loop / Post Template */
.wp-block-post-template,
.wp-block-query {
  color: var(--color-text);
}

.wp-block-post-title a {
  color: var(--color-heading) !important;
}

.wp-block-post-title a:hover {
  color: var(--color-link-hover) !important;
}

.wp-block-post-excerpt,
.wp-block-post-date,
.wp-block-post-author {
  color: var(--color-text-light);
}

/* Separator */
.wp-block-separator,
hr {
  border-color: var(--color-border);
}

/* -----------------------------------------
   wp-block-group Edge Cases for Light/Dark Mode
   ----------------------------------------- */
   
/* Default state: inherit from parent, don't force colors */
.entry-content .wp-block-group,
.post-content .wp-block-group,
article .wp-block-group {
  background-color: transparent;
  color: inherit;
}

/* When wp-block-group has custom inline background, ensure text is readable */
.wp-block-group[style*="background-color"] {
  /* Let WordPress inline styles handle this */
}

/* Nested wp-block-groups should inherit */
.wp-block-group .wp-block-group {
  background-color: transparent;
}

/* -----------------------------------------
   Accordion / FAQ / Details
   ----------------------------------------- */
details {
  background-color: var(--card-bg);
  border-color: var(--color-border);
  color: var(--color-text);
}

details[open] {
  background-color: var(--color-bg-secondary);
}

summary {
  color: var(--color-heading);
}

summary:hover {
  background-color: var(--color-bg-tertiary);
}

.faq-answer,
.accordion-content {
  color: var(--color-text);
  background-color: var(--card-bg);
}

/* -----------------------------------------
   Highlight Boxes & Special Containers
   ----------------------------------------- */
.highlight-box,
.highlights-container {
  background-color: var(--color-bg-highlight) !important;
  color: var(--color-text);
  border-color: var(--color-primary);
}

.green-bordered-box {
  border-color: var(--color-success);
  color: var(--color-text);
  background-color: var(--card-bg);
}

.blue-bordered-box {
  border-color: var(--color-info);
  color: var(--color-text);
  background-color: var(--card-bg);
}

.mcq-section {
  background-color: var(--card-bg);
  border-color: var(--color-border);
  color: var(--color-text);
}

.mcq-section strong {
  color: var(--color-heading);
}

/* -----------------------------------------
   Meta Information
   ----------------------------------------- */
.entry-meta,
.post-meta,
.comment-metadata,
.byline,
.posted-on {
  color: var(--color-text-muted);
}

.entry-meta a,
.post-meta a {
  color: var(--color-text-light);
}

.entry-meta a:hover,
.post-meta a:hover {
  color: var(--color-link-hover);
}

/* -----------------------------------------
   Sidebar & Widgets
   ----------------------------------------- */
.sidebar,
.widget-area,
#secondary {
  background-color: var(--color-bg-secondary);
  color: var(--color-text);
}

.widget {
  background-color: var(--card-bg);
  border-color: var(--card-border);
}

.widget-title,
.sidebar .widget-title,
.widget-area .widget-title,
#secondary .widget-title,
.sidebar h2,
.sidebar h3,
.sidebar h4,
.widget-area h2,
.widget-area h3,
.widget-area h4,
#secondary h2,
#secondary h3,
#secondary h4,
body .widget-title,
body .sidebar h2,
body .sidebar h3,
body .widget-area h2,
body .widget-area h3,
html body .widget-title,
html body .sidebar h2,
html body .sidebar h3,
html body .widget-area h2,
html body .widget-area h3,
html body #secondary h2,
html body #secondary h3 {
  color: #ffffff !important;
}

.widget a {
  color: var(--color-link);
}

.widget a:hover {
  color: var(--color-link-hover);
}

.widget p,
.widget li,
.widget span,
.sidebar p,
.sidebar li,
.widget-area p,
.widget-area li {
  color: var(--color-text);
}

/* -----------------------------------------
   Footer
   Footer always has dark background in both modes
   IMPORTANT: Uses hardcoded colors to ensure consistency
   ----------------------------------------- */
   
/* Base footer container - maximum specificity */
footer,
.site-footer,
#colophon,
body footer,
body .site-footer,
body #colophon,
html body footer,
html body .site-footer {
  background-color: #000033 !important;
  color: #e0e0e0 !important;
}

/* Footer headings - override any theme defaults */
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
#colophon h1,
#colophon h2,
#colophon h3,
#colophon h4,
#colophon h5,
#colophon h6,
.site-footer .widget-title,
.site-footer .wp-block-heading,
#colophon .widget-title,
footer .widget-title,
body .site-footer h1,
body .site-footer h2,
body .site-footer h3,
body .site-footer h4,
body footer h1,
body footer h2,
body footer h3,
body footer h4 {
  color: #ffffff !important;
}

/* Footer paragraphs and text */
.site-footer p,
.site-footer span,
.site-footer div,
footer p,
footer span,
#colophon p,
#colophon span,
#colophon div,
.site-footer .widget p,
.site-footer .textwidget,
body .site-footer p,
body footer p,
body #colophon p {
  color: #e0e0e0 !important;
}

/* Footer links */
.site-footer a,
footer a,
#colophon a,
.footer-nav a,
.site-footer .widget a,
body .site-footer a,
body footer a,
body #colophon a {
  color: #04d9ff !important;
  text-decoration: none;
}

.site-footer a:hover,
footer a:hover,
#colophon a:hover,
.footer-nav a:hover,
.site-footer .widget a:hover,
body .site-footer a:hover,
body footer a:hover {
  color: #ffffff !important;
}

/* Footer lists */
.site-footer ul,
.site-footer ol,
.site-footer li,
footer ul,
footer ol,
footer li,
#colophon ul,
#colophon ol,
#colophon li,
.footer-list,
.footer-list li,
body .site-footer li,
body footer li {
  color: #e0e0e0 !important;
}

/* Footer wp-block-group override - must have light text on dark bg */
.site-footer .wp-block-group,
footer .wp-block-group,
#colophon .wp-block-group,
body .site-footer .wp-block-group,
body footer .wp-block-group {
  background-color: transparent !important;
  color: #e0e0e0 !important;
}

.site-footer .wp-block-group p,
.site-footer .wp-block-group span,
.site-footer .wp-block-group div,
footer .wp-block-group p,
footer .wp-block-group span,
#colophon .wp-block-group p,
#colophon .wp-block-group span {
  color: #e0e0e0 !important;
}

.site-footer .wp-block-group h1,
.site-footer .wp-block-group h2,
.site-footer .wp-block-group h3,
.site-footer .wp-block-group h4,
footer .wp-block-group h1,
footer .wp-block-group h2,
footer .wp-block-group h3,
footer .wp-block-group h4,
#colophon .wp-block-group h1,
#colophon .wp-block-group h2,
#colophon .wp-block-group h3,
#colophon .wp-block-group h4 {
  color: #ffffff !important;
}

.site-footer .wp-block-group a,
footer .wp-block-group a,
#colophon .wp-block-group a {
  color: #04d9ff !important;
}

.site-footer .wp-block-group a:hover,
footer .wp-block-group a:hover,
#colophon .wp-block-group a:hover {
  color: #ffffff !important;
}

/* Footer copyright text */
.site-info,
.footer-info,
.copyright,
#colophon .site-info,
.site-footer .site-info,
body .site-info {
  color: #b0b0b0 !important;
}

.site-info a,
.footer-info a,
.copyright a,
body .site-info a {
  color: #04d9ff !important;
}

/* GeneratePress specific footer widgets */
.footer-widgets,
.footer-widgets-container,
.site-footer .inside-footer-widgets,
.footer-bar,
#colophon .footer-widgets,
body .footer-widgets {
  background-color: transparent !important;
  color: #e0e0e0 !important;
}

.footer-widgets p,
.footer-widgets span,
.footer-widgets div,
.footer-bar p,
.footer-bar span {
  color: #e0e0e0 !important;
}

.footer-widgets a,
.footer-bar a {
  color: #04d9ff !important;
}

.footer-widgets a:hover,
.footer-bar a:hover {
  color: #ffffff !important;
}

.footer-widgets h1,
.footer-widgets h2,
.footer-widgets h3,
.footer-widgets h4,
.footer-widgets .widget-title {
  color: #ffffff !important;
}

/* -----------------------------------------
   Status Messages
   ----------------------------------------- */
.success-message,
.alert-success {
  background-color: var(--color-success-bg);
  color: var(--color-success);
  border-color: var(--color-success);
}

.error-message,
.alert-danger {
  background-color: var(--color-danger-bg);
  color: var(--color-danger);
  border-color: var(--color-danger);
}

.warning-message,
.alert-warning {
  background-color: var(--color-warning-bg);
  color: var(--color-warning);
  border-color: var(--color-warning);
}

.info-message,
.alert-info {
  background-color: var(--color-info-bg);
  color: var(--color-info);
  border-color: var(--color-info);
}

/* -----------------------------------------
   Strong & Bold Text
   ----------------------------------------- */
strong, b {
  font-weight: 700 !important;
  color: inherit;
}


/* ========================================
   GLOBAL ELEMENT DEFAULTS (continued)
   ======================================== */

/* Default for inline SVGs (emoji/icons): size relative to text so they don't appear huge.
   Specific components that require larger icons should set svg width/height explicitly.
*/
svg {
  width: 1.2em;
  height: 1.2em;
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
}

/* ========================================
  LAYOUT & NAV
  ======================================== */
.main-container{width:var(--max-width-container);margin:0 auto;position:relative}
.content{width:calc(100% - var(--sidebar-width));float:left}
.inside-right-sidebar{position:sticky;top:150px}
.main-navigation{border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-md)}
.site-logo img,.sticky-navigation-logo img,.header-image.is-logo-image{max-width:230px;width:75%;height:auto;margin-top:12px;margin-bottom:10px;display:block}

/* ========================================
   HERO SECTION - MOBILE FIRST DEFAULTS
   - These styles apply to ALL devices (mobile first)
   - Layout is set to stacked columns by default
   ======================================== */
.hero {
  display: flex;
  flex-direction: column; /* STACKED (mobile default) */
  width: 100%;
  min-height: auto; /* Allow height to collapse on mobile */
  background-color: var(--color-bg);
  overflow: hidden;
  padding: var(--spacing-md) 0; /* Add vertical padding around the section */
}
/* Base styles for content and image areas (full width on mobile) */
.hero-content,
.hero-image {
  width: 100%; /* Full width on mobile */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; /* Center-align content on mobile */
  padding: var(--spacing-lg) var(--spacing-md); /* Vertical padding is larger, horizontal is smaller */
  text-align: center;
}
/* Image container (ensure image is not too small/large) */
.hero-image {
  min-height: 250px; /* Smaller minimum height for mobile */
}
/* --- TEXT & HEADLINE STYLES --- */
/* CORRECTED SELECTOR: Styling your visible H2 headline */
.hero-content h2 {
  font-size: 2rem; /* Adjusted for better mobile scaling */
  line-height: 1.2;
  color: var(--color-heading);
  margin-bottom: var(--spacing-md);
  text-align: center;
  word-break: break-word;
}
.hero-content p {
  font-size: 16px; /* Slightly smaller for mobile readability */
  color: var(--color-text);
  line-height: 1.6;
  text-align: center;
  margin-bottom: var(--spacing-xl);
}
.hero-content .blue-text {
  color: var(--color-brand-blue);
}
/* --- BUTTON & CTA STYLES --- */
.hero-buttons {
  display: flex;
  justify-content: center; /* Center buttons on mobile */
  align-items: center;
  gap: var(--spacing-sm);
}
.hero-button {
  display: inline-block;
  background-color: var(--button-primary-bg);
  color: var(--button-primary-text) !important;
  padding: 12px 24px;
  border: none;
  border-radius: var(--border-radius-sm);
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color var(--transition-base);
}
.hero-button:hover,
.hero-button:focus {
  background-color: var(--button-primary-hover-bg);
  color: var(--button-primary-hover-text) !important;
  outline: 2px solid var(--color-border-focus);
  outline-offset: 3px; /* Enhanced WCAG focus visibility */
}
/* --- IMAGE STYLES --- */
.hero-figure {
  margin: 0;
}
.hero-image img {
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain; /* Ensures the image scales nicely within the container */
  max-height: none !important;
  width: 100% !important;
}
.hero-figure figcaption {
  font-size: 13px; /* Slightly smaller for mobile */
  color: var(--color-brand-blue);
  text-align: center;
  margin-top: var(--spacing-sm);
  font-weight: bold;
}
/* ========================================
   DESKTOP/TABLET MEDIA QUERY (768px and up)
   - Switches to side-by-side layout
   ======================================== */
@media (min-width: 768px) {
  .hero {
    flex-direction: row; /* SIDE-BY-SIDE (desktop layout) */
    min-height: 500px;
    padding: var(--spacing-xl) 0;
  }
  .hero-content,
  .hero-image {
    width: 50%; /* 50/50 split */
    padding: var(--spacing-lg);
    /* Switch alignment from center to left for a standard desktop look */
    align-items: flex-start;
    text-align: left;
  }
  .hero-image {
    min-height: 400px;
  }
   
  /* Re-aligning nested elements for left-aligned desktop look */
  .hero-content h2,
  .hero-content p {
    text-align: left;
    font-size: var(--font-size-4xl); /* Use larger font size defined in variables */
  }
  .hero-content p {
    font-size: 18px; /* Use larger paragraph font size */
  }
  .hero-buttons {
    justify-content: flex-start; /* Align buttons left on desktop */
  }
  .hero-figure figcaption {
    text-align: left;
    font-size: 14px;
  }
}

/* ========================================
  CARDS & GRIDS
  ======================================== */
.ap-card-container{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);max-width:var(--max-width-container);margin:0 auto}
.ap-card-two-col-container{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl);max-width:var(--max-width-container);margin:0 auto}
.ap-card{display:flex;flex-direction:column;justify-content:space-between;padding:var(--card-padding);min-height:250px;text-decoration:none;color:inherit;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);transition:transform var(--transition-base),box-shadow var(--transition-base)}
.ap-card:hover,.ap-card:focus{transform:translateY(var(--card-lift-hover));box-shadow:var(--shadow-xl);outline:2px solid var(--color-accent);outline-offset:2px}
.ap-card-icon{font-size:32px;width:32px;height:32px;margin:0 auto var(--spacing-md);color:var(--color-accent);display:flex;align-items:center;justify-content:center}
.ap-card-icon img{width:32px;height:32px;object-fit:contain}
/* Ensure emoji/svg used as icons inside ap-card headings stay 1rem (don't scale with parent h3 font-size) */
.ap-card .wp-block-heading.tool-icon img.emoji,
.ap-card .wp-block-heading.tool-icon img[src$=".svg"]{
  width:1rem !important;
  height:1rem !important;
  display:inline-block;
  vertical-align:middle;
  margin-right:0.35rem;
  object-fit:contain;
  max-width:none;
}
.ap-card h3{font-size:var(--font-size-xl);color:var(--card-heading);margin:0 0 var(--spacing-sm);min-height:50px;text-align:center}
.ap-card p{font-size:var(--font-size-sm);color:var(--color-text-lighter);margin:0 0 var(--spacing-lg);flex-grow:1;text-align:center}
.ap-card .cta-text{display:inline-block;font-weight:600;text-decoration:none;color:var(--color-link);margin-top:auto;align-self:center;transition:all var(--transition-base)}

/* Responsive cards on small screens */
@media (max-width:767px){
  .ap-card-container,.ap-card-two-col-container{grid-template-columns:1fr;gap:var(--spacing-lg);padding:0 var(--spacing-md)}
  .ap-card{padding:var(--spacing-lg);min-height:auto}
  .ap-card h3{font-size:1.1rem;min-height:auto}
  .ap-card p{font-size:0.9rem}
}

/* ========================================
  POST LISTS
  ======================================== */
.post-list-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-lg) 0}
.post-list-box{flex:1 1 30%;min-width:300px}
.post-list{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md);overflow:hidden;height:100%}
.post-list-head{display:flex;align-items:center;background-color:var(--color-primary);color:var(--color-text-inverse);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);font-weight:700}
.post-list-head img{margin-right:var(--spacing-sm);width:16px;height:16px;object-fit:contain}
.inside-article ul.post-list-ul{list-style-type:square;margin:0;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) 25px;gap:4px}
.post-list-item{display:list-item;list-style-position:outside;margin-left:4px;padding:1px 35px 1px 1px;border-bottom:1px solid var(--color-border);position:relative}
.post-list-item:first-child{margin-top:4px}
.post-list-item:last-child{border-bottom:none}
.post-list-item:hover{background-color:var(--color-bg-secondary)}
.post-list-item h2{font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}
.post-list-item a{color:var(--color-link);text-decoration:underline;font-weight:600;flex-grow:1}
.post-list-item a:hover{text-decoration:none;color:var(--color-link-hover)}
.post-list-item .last-date{font-size:var(--font-size-base);font-weight:600;color:var(--color-success);margin-left:var(--spacing-sm);white-space:nowrap}
.post-list-item .last-date.expired,.post-list-item .last-date.highlight-red{color:var(--color-danger);font-weight:bold}
.post-list-item .new-post{padding:0 4px;border-radius:var(--border-radius-lg);font-size:var(--font-size-xs);color:var(--color-text-inverse);font-weight:500;line-height:16px;background-color:var(--color-accent-light);user-select:none;position:absolute;top:5px;right:-10px;font-family:var(--font-family-secondary)}

/* ========================================
  TABLES (WP block tables, responsive tables)
  ======================================== */
.wp-block-table{overflow-x:auto;border-collapse:collapse;border-color:var(--table-border)}
.wp-block-table table{width:100%;border-collapse:collapse;font-family:sans-serif;border-spacing:0}
.wp-block-table th{background-color:var(--table-header-bg);color:var(--table-header-text);padding:12px 15px;text-align:left;font-weight:bold;border-bottom:2px solid var(--color-primary)}
.wp-block-table td{padding:12px 15px;color:var(--table-cell-text);border-bottom:1px solid var(--table-border)}
.wp-block-table a{color:var(--color-link);font-weight:600}
.wp-block-table a:hover{color:var(--color-link-hover)}

/* Responsive tables: switch to cards on small screens */
.responsive-event-table,.responsive-table{width:100%;margin:1.5em 0;border-collapse:collapse;font-family:sans-serif;font-size:var(--font-size-base);color:var(--table-cell-text);border:2px solid var(--table-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg)}
.responsive-event-table thead tr,.responsive-table thead tr{background-color:var(--table-header-bg);color:var(--table-header-text) !important;text-align:left;font-weight:bold}
.responsive-event-table th,.responsive-event-table td,.responsive-table th,.responsive-table td{padding:12px 15px;border:1px solid var(--table-border)}
.responsive-event-table thead th,.responsive-table thead th{border-right:2px solid var(--table-header-text);border-top:1px solid var(--table-border);border-bottom:1px solid var(--table-border)}
.responsive-event-table td:first-child,.responsive-table td:first-child{font-weight:700}
.responsive-event-table tbody tr:nth-of-type(even),.responsive-table tbody tr:nth-of-type(even){background-color:var(--table-row-even-bg)}
.responsive-event-table tbody tr:hover,.responsive-table tbody tr:hover{background-color:var(--color-bg-secondary)}
.responsive-event-table tbody tr:last-of-type td,.responsive-table tbody tr:last-of-type td{border-bottom:2px solid var(--table-header-bg)}

/* Special row styling */
.responsive-event-table .deadline-row,.responsive-table .deadline-row{font-weight:bold;background-color:var(--color-danger-bg)}
.responsive-event-table .deadline-row td,.responsive-table .deadline-row td{color:var(--color-danger)}
.responsive-event-table .exam-row,.responsive-table .exam-row{font-weight:bold;background-color:var(--color-bg-highlight-alt)}
.responsive-event-table .exam-row td,.responsive-table .exam-row td{color:var(--color-primary)}

/* Mobile card view for responsive tables */
@media (max-width:768px){
  .responsive-event-table,.responsive-table{border:none!important;box-shadow:none;border-radius:0}
  .responsive-event-table thead,.responsive-table thead{display:none}
  .responsive-event-table,.responsive-event-table tbody,.responsive-event-table tr,.responsive-event-table td,.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}
  .responsive-event-table tr,.responsive-table tr{background:var(--card-bg);margin-bottom:1rem;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);position:relative}
  .responsive-event-table td,.responsive-table td{position:relative;padding-left:50%;text-align:right;border-bottom:1px solid var(--color-border-light);box-sizing:border-box;color:var(--color-text)}
  .responsive-event-table td::before,.responsive-table td::before{content:attr(data-label);position:absolute;left:15px;width:45%;padding-right:var(--spacing-sm);font-weight:bold;text-align:left;color:var(--color-text-light);white-space:normal;line-height:1.4}
  .responsive-table td[data-label="S. No."]{display:none}
  .responsive-table tr td[data-label="Name of Examination"]{display:block;font-weight:bold;color:var(--color-heading);padding-bottom:0;border-bottom:none;font-size:1em}
  .responsive-table tr td[data-label="Name of Examination"]:before{content:none}

  /* Two-column table override to keep table layout */
  .responsive-event-table.two-col-table{display:table!important;border-collapse:collapse!important;width:100%!important;border:2px solid var(--table-border)!important;box-shadow:var(--shadow-lg)!important}
  .responsive-event-table.two-col-table thead{display:table-header-group!important}
  .responsive-event-table.two-col-table tbody{display:table-row-group!important}
  .responsive-event-table.two-col-table tr{display:table-row!important;border:none!important;margin:0!important;box-shadow:none!important}
  .responsive-event-table.two-col-table th,.responsive-event-table.two-col-table td{display:table-cell!important;text-align:left!important;padding:var(--spacing-sm) 12px!important;border:1px solid var(--table-border)!important;width:auto!important}
  .responsive-event-table.two-col-table td::before{content:none!important}
  .responsive-event-table.two-col-table td:first-child{font-weight:700!important;color:var(--color-heading)!important}
}

/* Desktop/tablet re-enable table layout */
@media (min-width:768px){
  .responsive-event-table,.responsive-table{display:table}
  .responsive-event-table thead,.responsive-table thead{display:table-header-group}
  .responsive-event-table tr,.responsive-table tr{display:table-row;margin-bottom:0;border:none;box-shadow:none}
  .responsive-event-table th,.responsive-event-table td,.responsive-table th,.responsive-table td{display:table-cell;text-align:left;padding:var(--spacing-sm)}
  .responsive-event-table td:before,.responsive-table td:before{content:none}
  .responsive-table tbody tr td{border:1px solid var(--table-border)!important}
}

/* direcklink result table */
.direcklink .result-table{width:100%;border-collapse:collapse;margin:25px 0;font-size:1em;font-family:sans-serif;min-width:400px;box-shadow:var(--shadow-lg)}
.direcklink .result-table thead tr{background-color:var(--table-header-bg);color:var(--table-header-text) !important;text-align:left}
.direcklink .result-table th,.direcklink .result-table td{padding:12px 15px;color:var(--table-cell-text)}
.direcklink .result-table tbody tr{border-bottom:1px solid var(--table-border)}
.direcklink .result-table tbody tr:nth-of-type(even){background-color:var(--table-row-even-bg)}
.direcklink .result-table tbody tr:last-of-type{border-bottom:2px solid var(--table-header-bg)}
.result-table .cta-button{display:inline-block;margin-bottom:12px}
.no-border-table *{border:none!important}

/* ========================================
  AUTHOR PAGE
  ======================================== */
.author-page-wrapper{max-width:var(--max-width-content);margin:auto;padding:var(--spacing-lg)}
.author-header{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border-light);padding-bottom:var(--spacing-lg)}
.author-avatar{flex:0 0 120px;margin-right:var(--spacing-lg)}
.author-avatar img{border-radius:var(--border-radius-circle)}
.author-info{flex:1}
.author-name{font-size:var(--font-size-3xl);font-weight:bold;color:var(--color-heading)}
.author-email{font-size:var(--font-size-sm);color:var(--color-text-light)}
.author-bio-box{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-bg-secondary);margin-top:var(--spacing-xl)}
.author-bio-box img{border-radius:var(--border-radius-circle);width:40px;height:40px}
.author-bio-box h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-md);color:var(--color-heading)}
.author-bio-box p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-light)}
.latest-posts{margin-top:var(--spacing-xl)}
.latest-posts h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--color-heading)}
.latest-posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}
.latest-posts-grid article{border:1px solid var(--card-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);transition:var(--transition-base);background-color:var(--card-bg)}
.latest-posts-grid article:hover{border-color:var(--color-link);box-shadow:var(--shadow-md)}

/* ========================================
  BUTTONS / NAVIGATION BUTTONS
  ======================================== */
.tamil-button,.english-button{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--button-primary-bg);color:var(--button-primary-text);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:600;font-size:18px;margin:var(--spacing-md) 0 var(--spacing-xl) 0;transition:background-color var(--transition-base)}
.tamil-button:hover,.english-button:hover{background-color:var(--button-primary-hover-bg);color:var(--button-primary-hover-text)}
.english-button{padding:var(--spacing-sm) 16px;border-radius:var(--border-radius-md);margin:0}
.nav-button{display:inline-block;padding:12px 24px;text-decoration:none;font-weight:600;border-radius:var(--border-radius-md);transition:all var(--transition-base);font-size:16px}
.next-button{background-color:var(--button-primary-bg);color:var(--button-primary-text);border:2px solid var(--button-primary-bg)}
.next-button:hover{background-color:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-bg);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.navigation-buttons{margin:var(--spacing-2xl) 0;text-align:center}
.navigation-buttons a{color:var(--button-primary-text);font-weight:bold}

/* call-to-action link */
.direcklink .cta-button{background-color:var(--button-primary-bg);color:var(--button-primary-text)!important;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;font-size:16px;border-radius:var(--border-radius-sm);font-weight:bold;display:inline-block;text-align:center;transition:background-color var(--transition-base);border:none;cursor:pointer}
.direcklink .cta-button:hover{background-color:var(--button-primary-hover-bg)}

/* ========================================
  ACCORDION / FAQ
  ======================================== */
.accordion-container{max-width:800px;margin:2rem auto;padding:1rem;font-family:var(--gp-font--inter);color:var(--color-text)}
details{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);margin-bottom:12px;box-shadow:var(--shadow-sm);transition:all .25s ease;overflow:hidden}
details[open]{background:var(--color-bg-secondary);box-shadow:var(--shadow-lg)}
summary{cursor:pointer;padding:1rem 1.25rem;font-size:var(--font-size-base);font-weight:600;display:flex;justify-content:space-between;align-items:center;list-style:none;transition:background-color var(--transition-fast);color:var(--color-heading)}
summary:hover{background-color:var(--color-bg-tertiary)}
summary::-webkit-details-marker{display:none}
summary::after{content:'\25BC';font-size:1rem;color:var(--color-link);pointer-events:none;transition:transform .25s ease}
details[open] summary::after{transform:rotate(180deg)}
summary h3{display:inline;font-size:var(--font-size-base);font-weight:600;margin:0;color:var(--color-heading)}
details>ul{padding:0 1.5rem 1rem 2rem;margin:0;line-height:1.6;color:var(--color-text);opacity:0;max-height:0;overflow:hidden;transition:all var(--transition-base)}
details[open]>ul{opacity:1;max-height:500px}
details ul li{list-style:disc;margin-bottom:6px;color:var(--color-text)}
.faq-answer{padding:0 1.5rem 1rem 1.5rem;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);border-left:4px solid var(--color-link);border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}
.accordion-button{width:100%;background-color:var(--color-bg-tertiary);color:var(--color-heading);padding:12px;text-align:left;border:none;font-weight:700;cursor:pointer;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}
.accordion-button svg{fill:var(--color-link);transition:fill var(--transition-base);width:36px;height:36px}
.accordion-button:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}
.accordion-button:hover svg{fill:var(--color-text-inverse)}
.accordion-item.active .accordion-button{background-color:var(--color-primary);color:var(--color-text-inverse)}
.accordion-item.active .accordion-button svg{fill:var(--color-text-inverse)}
.accordion-content{display:none;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--card-bg);border-left:2px solid var(--color-link);border-right:2px solid var(--color-link);border-bottom:2px solid var(--color-link);color:var(--color-text)}
.accordion-item.active .accordion-content{display:block}
h3.rank-math-question,.saswp-faq-block-section h3{font-size:18px!important;font-weight:bold;margin-bottom:var(--spacing-sm);color:var(--color-heading)}
.saswp-faq-block-section li,.saswp-faq-block-section p{font-size:18px;line-height:1.6;color:var(--color-text)}
.saswp-faq-block-section p{white-space:pre-line}
details.mcq-answer{background-color:var(--color-bg-highlight);border-left:7px solid var(--color-link);padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-top:var(--spacing-lg)}
details.mcq-answer summary{font-weight:bold;cursor:pointer;color:var(--color-link);padding:var(--spacing-xs) 0}
details.mcq-answer summary:hover{color:var(--color-link-hover)}

/* ========================================
  MISC: highlight boxes, notifications, MCQ, cards
  ======================================== */
.highlight-box,.highlights-container{background-color:var(--color-bg-highlight)!important;padding:12px!important;border-radius:var(--border-radius-md)!important;margin:var(--spacing-md) 0!important;font-size:15px!important;line-height:1.6!important;color:var(--color-text)}
.highlights-container{border:1px solid var(--color-link)}
.highlight-box b,.highlights-container b{display:block;margin-bottom:var(--spacing-xs);font-size:16px!important;color:var(--color-heading)}
.green-bordered-box{border:2px solid var(--color-success);border-radius:var(--border-radius-lg);padding:12px 16px;font-family:var(--font-family-secondary);font-size:18px;line-height:1.5;color:var(--color-text);display:inline-block;max-width:800px;background-color:var(--card-bg)}
.blue-bordered-box{border:2px solid var(--color-info);border-radius:var(--border-radius-lg);padding:12px 16px;font-family:var(--font-family-secondary);font-size:18px;line-height:1.5;color:var(--color-text);display:inline-block;max-width:800px;background-color:var(--card-bg)}
.left-border{padding:var(--spacing-lg)!important;margin-bottom:var(--spacing-xl);border-left:6px solid var(--color-link)}
.wp-block-group-border{border-left:6px solid var(--color-link);font-size:1.1em!important;background-color:var(--color-bg-highlight-alt);padding:.25rem .5rem 0 .5rem!important;margin-top:var(--spacing-lg)!important;margin-bottom:1.25rem!important}
.notification-bar{background-color:var(--color-primary);color:var(--color-text-inverse);padding:8px 16px;text-align:center;font-size:14px;display:flex;justify-content:center;align-items:center;position:sticky;top:0;z-index:1000}
.notification-content{display:flex;align-items:center;gap:8px}
.notification-content .icon{display:none}
.mcq-question{font-size:18px;font-weight:bold;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);line-height:1.5;color:var(--color-heading)}
.mcq-section{border:1px solid var(--card-border);padding:var(--spacing-lg);margin-bottom:25px;border-radius:var(--border-radius-lg);background-color:var(--card-bg)}
.mcq-section p{margin-bottom:var(--spacing-sm);line-height:1.6;color:var(--color-text)}
.mcq-section strong{color:var(--color-heading)}
.exam-source{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:-5px;margin-bottom:var(--spacing-md)}
.mcq-section ol{list-style-type:upper-alpha;margin-left:25px;margin-bottom:var(--spacing-md)}
.important-points{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px dashed var(--color-border)}
.important-points h4{color:var(--color-heading);margin-top:0;margin-bottom:var(--spacing-sm)}
.important-points ul{list-style-type:disc;margin-left:var(--spacing-lg)}
.important-points ul li{margin-bottom:var(--spacing-xs);color:var(--color-text)}

.card{margin:var(--spacing-lg) var(--spacing-lg) var(--spacing-xl) 0;padding:25px;box-shadow:var(--shadow-lg);border:2px solid var(--color-link);border-radius:var(--border-radius-sm);border-left:8px solid var(--color-link);background:var(--card-bg);color:var(--card-text)}
.card.cta{border-bottom-left-radius:15px;border-top-left-radius:15px}
.pib-section{max-width:1000px;margin:var(--spacing-lg) auto;border:2px solid var(--color-link);border-radius:var(--border-radius-sm);padding:var(--spacing-md);background-color:var(--card-bg)}
.center-icon{display:block;width:100px;height:100px;border-radius:var(--border-radius-circle);padding:var(--spacing-sm);overflow:hidden;left:0;right:0;margin:auto;top:-50px;position:absolute}
.center-icon img{display:block;object-fit:contain}
.footer{gap:0;margin:0;width:100%;max-width:var(--max-width-container);padding:var(--spacing-sm);box-sizing:border-box;color:#e0e0e0!important}
.footer-list{--icon-space:1.3em;list-style:none;padding:0;color:#04d9ff!important;margin:0 0 1em 0;font-size:1.1em!important}
.footer-list li{padding-left:var(--icon-space);letter-spacing:.5px;color:#04d9ff!important}
.footer-list li:before{content:"";background-image:url('https://govtjobsnet.com/wp-content/uploads/2024/12/check-box-icon.svg');background-repeat:no-repeat;background-size:contain;display:inline-block;margin-left:calc(var(--icon-space)*-1);width:var(--icon-space);height:20px}
.footer-nav a{color:#04d9ff!important;font-weight:400}
.footer-nav a:hover{color:#ffffff!important}

/* ========================================
  MISC / UTILITY
  ======================================== */
.section-title{text-align:center;color:var(--color-warning)}
.category-question-and-answers h1.entry-title{font-size:24px;line-height:1.4;font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-heading)}
.wp-block-table-of-contents{background:var(--color-bg-highlight);padding:1em;border-left:5px solid var(--color-link);margin-bottom:1.5em;font-size:18px;color:var(--color-text)}
.wp-block-table-of-contents li{color:var(--color-link);padding-left:12px;list-style-type:'⮕';margin-bottom:1.5em}
hr.wp-block-separator{border:none;border-top:1px solid var(--color-border);width:calc(100% - 100px)!important;margin:var(--spacing-lg) auto;display:block}
.inside-article ul{display:flex;flex-direction:column;gap:var(--spacing-md)}
ol.wp-block-list{line-height:1.8;color:var(--color-text)}
ol.wp-block-list li{margin-bottom:.75rem;color:var(--color-text)}
input.sub-input{border:1px solid var(--input-border);border-radius:var(--border-radius-sm);font-size:1.2rem;padding:8px var(--spacing-lg);width:50%;background-color:var(--input-bg);color:var(--input-text)}
input.sub-btn{border-radius:var(--border-radius-sm);font-weight:600;padding:8px var(--spacing-lg);border:1px solid var(--button-primary-bg);background-color:var(--button-primary-bg);color:var(--button-primary-text)}
.sub-container{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xl);align-items:center}
.single-post .inside-article{background-color:transparent!important}
.arrow{color:var(--color-link)!important;font-weight:bold!important;font-size:1.2em!important}
img.emoji{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;vertical-align:-0.1em;object-fit:contain}
.post .entry-content img:first-child{margin-bottom:var(--spacing-2xl)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* ICON TOOLKIT: prevent stretching */
.gb-container img,.gb-container .gb-icon,.gb-container .gb-icon svg{max-width:40px;max-height:40px;width:100%;height:auto}

/* ========================================
  MOBILE RESPONSIVENESS (small devices)
  ======================================== */
@media (max-width:600px){
  ol.wp-block-list{line-height:1.6}
  ol.wp-block-list li{margin-bottom:.6rem}
  .saswp-faq-block-section li,.saswp-faq-block-section p{font-size:16px}
}

/* Tablet adjustments */
@media (max-width:768px){
  .hero{flex-direction:column;align-items:center}
  .hero-content,.hero-image{width:100%}
  .hero-content{padding:var(--spacing-2xl) var(--spacing-lg)}
  .hero-content a.hero-button{display:block;width:100%;margin:var(--spacing-sm) 0}
  .hero-logo{width:180px}
  .hero-tagline{font-size:1.2rem}
  .post-list-group{flex-direction:column;gap:var(--spacing-lg)}
  .post-list-box{min-width:unset;flex:1 1 100%}
  .post-list-item{flex-direction:column;align-items:flex-start}
  .post-list-item a{margin-bottom:var(--spacing-xs)}
  .post-list-item .last-date,.post-list-item .new-post{margin-left:0;margin-top:var(--spacing-xs)}
  .navigation-branding img,.site-logo.mobile-header-logo,.site-logo img,.header-image.is-logo-image{height:40px;width:30%}
  .exam-specific-nav{display:none}
  .footer-menu{display:flex;justify-content:center}
  .footer-menu div{display:flex;flex-direction:column;text-align:left;gap:var(--spacing-sm);width:fit-content}
  .footer-menu a{margin:0;display:block;align-items:start;text-align:start}
  .secondary-nav-aligned-right .secondary-navigation .inside-navigation{text-align:center}
  .secondary-nav-aligned-right .secondary-navigation .main-nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-sm)}
  .sub-container{width:100%!important}
  .sub-input{font-size:16px!important;padding:0!important}
  .search .post-list,.archive .post-list{font-size:16px!important;margin:var(--spacing-xs) var(--spacing-md)}
  .category-question-and-answers h1.entry-title{font-size:20px}
  /* mobile article tables (stacked rows) */
  .article-content table,.article-content thead,.article-content tbody,.article-content th,.article-content td,.article-content tr{display:block}
  .article-content thead tr{position:absolute;top:-9999px;left:-9999px}
  .article-content tr{margin-bottom:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);background-color:var(--card-bg)}
  .article-content td{border:none;border-bottom:1px solid var(--color-border-light);position:relative;padding-left:40%;color:var(--color-text)}
  .article-content td:before{content:attr(data-label);position:absolute;left:var(--spacing-sm);width:35%;padding-right:var(--spacing-lg);white-space:nowrap;font-weight:bold;color:var(--color-text-light)}
}

/* Hide sidebar ads under 768 */
@media (max-width:768px){.adsbygoogle{display:none!important}}
.sidebar-ad-desktop{display:block;text-align:center;margin:20px auto;max-width:300px}
.top-header-ad,.header-top-banner{max-width:970px;margin:15px auto;text-align:center}
.in-article-ad,.bottom-post-ad{max-width:970px;text-align:center;margin:25px 0;padding:10px 0}

/* EMERGENCY OVERRIDE - LAST RESORT */
.hero img {
  min-width: 280px !important;
  width: 100% !important;
  height: auto !important;
}

/* ========================================
   CRITICAL FOOTER OVERRIDE - MUST BE LAST
   Forces navy blue footer in ALL modes
   ======================================== */
html body footer,
html body .site-footer,
html body #colophon,
html body footer.site-footer,
html body #colophon.site-footer,
.site-footer,
footer,
#colophon {
  background-color: #000033 !important;
  background: #000033 !important;
  color: #e0e0e0 !important;
}

html body footer *,
html body .site-footer *,
html body #colophon * {
  background-color: transparent !important;
}

html body footer p,
html body footer span,
html body footer div:not(.wp-block-group),
html body .site-footer p,
html body .site-footer span,
html body #colophon p,
html body #colophon span {
  color: #e0e0e0 !important;
}

html body footer h1,
html body footer h2,
html body footer h3,
html body footer h4,
html body footer h5,
html body footer h6,
html body .site-footer h1,
html body .site-footer h2,
html body .site-footer h3,
html body .site-footer h4,
html body #colophon h1,
html body #colophon h2,
html body #colophon h3,
html body #colophon h4,
html body footer .widget-title,
html body .site-footer .widget-title {
  color: #ffffff !important;
}

html body footer a,
html body .site-footer a,
html body #colophon a {
  color: #04d9ff !important;
}

html body footer a:hover,
html body .site-footer a:hover,
html body #colophon a:hover {
  color: #ffffff !important;
}

/* ========================================
   CRITICAL WP-BLOCK-GROUP DARK MODE FIX
   Ensures transparent bg in dark mode
   ======================================== */
@media (prefers-color-scheme: dark) {
  .wp-block-group {
    background-color: transparent !important;
    background: transparent !important;
    color: #e0e0e0 !important;
  }
  
  .wp-block-group.has-background {
    /* Let inline styles work for blocks with explicit backgrounds */
  }
  
  .wp-block-group h1,
  .wp-block-group h2,
  .wp-block-group h3,
  .wp-block-group h4,
  .wp-block-group h5,
  .wp-block-group h6 {
    color: #ffffff !important;
  }
  
  .wp-block-group p,
  .wp-block-group span,
  .wp-block-group li {
    color: #e0e0e0 !important;
  }
  
  .wp-block-group a {
    color: #64b5f6 !important;
  }
}

:root.dark-mode .wp-block-group,
html.dark-mode .wp-block-group,
body.dark-mode .wp-block-group {
  background-color: transparent !important;
  background: transparent !important;
  color: #e0e0e0 !important;
}

:root.dark-mode .wp-block-group h1,
:root.dark-mode .wp-block-group h2,
:root.dark-mode .wp-block-group h3,
:root.dark-mode .wp-block-group h4,
html.dark-mode .wp-block-group h1,
html.dark-mode .wp-block-group h2,
html.dark-mode .wp-block-group h3,
html.dark-mode .wp-block-group h4,
body.dark-mode .wp-block-group h1,
body.dark-mode .wp-block-group h2,
body.dark-mode .wp-block-group h3,
body.dark-mode .wp-block-group h4 {
  color: #ffffff !important;
}

:root.dark-mode .wp-block-group p,
:root.dark-mode .wp-block-group span,
:root.dark-mode .wp-block-group li,
html.dark-mode .wp-block-group p,
html.dark-mode .wp-block-group span,
html.dark-mode .wp-block-group li,
body.dark-mode .wp-block-group p,
body.dark-mode .wp-block-group span,
body.dark-mode .wp-block-group li {
  color: #e0e0e0 !important;
}

:root.dark-mode .wp-block-group a,
html.dark-mode .wp-block-group a,
body.dark-mode .wp-block-group a {
  color: #64b5f6 !important;
}