:root {
    /* Color Palette - Modern & Professional */
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --secondary: #64748b;
    --accent: #f59e0b;
    --success: #10b981;
    --danger: #ef4444;

    /* Category Specific Colors */
    --color-results: #8b5cf6;
    /* Purple */
    --color-admit: #ec4899;
    /* Pink */
    --color-jobs: #10b981;
    /* Emerald */
    --color-answer: #f59e0b;
    /* Amber */
    --color-syllabus: #06b6d4;
    /* Cyan */
    --color-admission: #6366f1;
    /* Indigo */

    --background: #f8fafc;
    --surface: #ffffff;
    --text-main: #0f172a;
    --text-muted: #64748b;
    --border: #e2e8f0;

    /* Layout Tokens */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);

    /* Transitions */
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
figcaption,
blockquote,
dl,
dd {
    margin: 0;
    padding: 0;
}

ul,
ol {
    padding-left: 2rem;
    margin-bottom: 1.5rem;
}

li {
    margin-bottom: 0.5rem;
}

/* Reset for specific layout containers */
.wp-block-group,
.wp-block-columns,
.wp-block-column {
    margin-bottom: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--background);
    color: var(--text-main);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

/* Typography Overrides */
h1,
h2,
h3 {
    color: var(--text-main);
    font-weight: 700;
}

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

/* Layout Containers - Matching WP Block Structure */
body .is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 1280px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Force outer wrappers to be full width */
.wp-site-blocks,
.is-layout-constrained,
.top-bar,
.main-header,
.main-footer {
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
    /* Critical for sticky to work */
}

/* 
   WordPress wraps template parts in a container that acts as a boundary box.
   This prevents sticky elements from moving outside that small box.
   By setting display: contents, we 'unbox' them so the sticky logic 
   can see the entire page height.
*/
header.wp-block-template-part,
footer.wp-block-template-part {
    display: contents !important;
}

/* Only the inner container should be boxed */
.container,
.wp-block-group.container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 2rem;
}

/* Header Search Styling */
.header-search {
    margin-left: 1.5rem;
    max-width: 250px;
}

.header-search .wp-block-search__inside-wrapper {
    background: #f1f5f9;
    padding: 2px !important;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.header-search.is-focused .wp-block-search__inside-wrapper {
    background: white;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.header-search input {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.85rem !important;
    background: transparent !important;
    border: none !important;
    width: 150px !important;
}

.header-search button {
    background: var(--primary) !important;
    color: white !important;
    border: none !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.85rem !important;
    border-radius: calc(var(--radius-sm) - 2px) !important;
}

@media (max-width: 1100px) {
    .header-search {
        display: none;
        /* Hide on tablets/mobile to prevent crowding nav */
    }
}

/* Header & Nav */
.top-bar {
    padding: 0.5rem 0;
    width: 100% !important;
    max-width: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.top-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.blink-ads {
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.8rem;
    padding: 0.2rem 0.6rem;
    background: #ffffff;
    color: var(--primary) !important;
    border-radius: 4px;
    animation: blink-animation 1s infinite alternate;
}

@keyframes blink-animation {
    from {
        opacity: 1;
        transform: scale(1);
    }

    to {
        opacity: 0.5;
        transform: scale(1.05);
    }
}

.main-content {
    background-color: var(--surface);
    padding: 2rem 0 !important;
    /* Reduced padding top */
}

.main-header {
    background: var(--surface);
    border: none !important;
    border-bottom: none !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    padding: 0;
    width: 100% !important;
    max-width: none !important;
    box-shadow: none;
    /* Remove shadow to help eliminate the gap effect */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Sticky Header State */
.main-header.is-sticky {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    border: none !important;
    border-bottom: none !important;
}

.main-header.is-sticky .nav-container {
    height: 50px;
}

.main-header.is-sticky .logo svg {
    transform: scale(0.7);
    /* Smaller icon in sticky mode */
}

.main-header.is-sticky .logo {
    font-size: 0.9rem;
    /* Smaller font in sticky mode */
}

.nav-container {
    padding: 0 2rem !important;
    height: 60px;
    /* Reduced from 70px */
    display: flex;
    align-items: center;
    gap: 2rem;
    max-width: 1280px;
    transition: all 0.3s ease;
    margin: 0 auto !important;
}

.logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    /* Reduced from 1.1rem */
    font-weight: 800;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--primary);
    text-decoration: none !important;
    white-space: nowrap;
    line-height: 1;
}

.logo-accent {
    color: var(--primary) !important;
}

.logo-muted {
    color: #64748b !important;
    font-weight: 600;
}

.site-title-logo,
.wp-block-site-title {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
}

.logo svg {
    transition: transform 0.4s ease;
    flex-shrink: 0;
    height: 1.25em !important;
    /* Force height to match text */
    width: auto !important;
    display: block;
}

/* Footer Site Title Fix */
.main-footer p {
    display: inline !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    font-size: 0.85rem !important;
    color: white !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0.3rem !important;
}

/* Force the site title inside the footer to stay small and inline */
.main-footer .wp-block-site-title {
    display: inline !important;
    font-size: inherit !important;
    color: inherit !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-footer .wp-block-site-title * {
    display: inline !important;
    font-size: inherit !important;
    color: inherit !important;
    font-weight: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-footer .wp-block-site-title a,
.main-footer .wp-block-site-title span {
    font-size: inherit !important;
}

/* Remove any generic logo span color that might override */
.logo span {
    color: inherit;
}

/* Main Navigation (Single Row) */
.main-navigation {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.main-navigation ul {
    gap: 0.5rem !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

.main-navigation .wp-block-navigation-item__content {
    color: #475569 !important;
    font-weight: 500;
    padding: 0.5rem 1rem;
}

.main-navigation .wp-block-navigation-item__content:hover {
    color: var(--primary) !important;
}

.bottom-header {
    background: #f1f5f9;
    /* Distinct Slate/Gray background */
    border: none !important;
    padding: 0.45rem 0 !important;
    transition: all 0.3s ease;
}

/* Eliminate WP block gap spacing issues */
.main-header,
.main-header *,
.main-header .wp-block-group {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
}

.nav-container .main-navigation {
    margin-left: auto !important;
}

/* Keep bottom header visible in sticky mode */
.main-header.is-sticky .bottom-header {
    padding: 0.2rem 0 !important;
    background: #f1f5f9 !important;
    /* Keep the distinct color even when sticky */
}

.main-header.is-sticky .sub-navigation .wp-block-navigation-item__content {
    font-size: 0.8rem !important;
    padding: 0.15rem 0.4rem !important;
}

.sub-navigation ul {
    gap: 1.5rem !important;
    justify-content: center !important;
}

.sub-navigation .wp-block-navigation-item__content {
    color: var(--primary) !important;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.2s ease;
    border-radius: 4px;
}

/* Individual Item Colors */
.sub-navigation li:nth-child(1) .wp-block-navigation-item__content {
    color: #2563eb !important;
}

/* SSC - Blue */
.sub-navigation li:nth-child(2) .wp-block-navigation-item__content {
    color: #7c3aed !important;
}

/* Bank - Purple */
.sub-navigation li:nth-child(3) .wp-block-navigation-item__content {
    color: #db2777 !important;
}

/* Railway - Pink */
.sub-navigation li:nth-child(4) .wp-block-navigation-item__content {
    color: #059669 !important;
}

/* Teaching - Emerald */
.sub-navigation li:nth-child(5) .wp-block-navigation-item__content {
    color: #d97706 !important;
}

/* Defence - Amber */
.sub-navigation li:nth-child(6) .wp-block-navigation-item__content {
    color: #0891b2 !important;
}

/* UPSC - Cyan */
.sub-navigation li:nth-child(7) .wp-block-navigation-item__content {
    color: #4f46e5 !important;
}

/* Police - Indigo */

.sub-navigation .wp-block-navigation-item__content:hover {
    color: #1e40af !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

/* Footer & Scroll Top */
.main-footer {
    text-align: center;
    position: relative;
    width: 100% !important;
    max-width: none !important;
    padding: 2rem 0 !important;
    /* Reduced padding */
}

.scroll-top-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 45px;
    height: 45px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    z-index: 999;
}

.scroll-top-btn.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-top-btn {
    font-size: 24px;
    line-height: 1;
}

.scroll-top-btn:hover {
    background: var(--primary-hover);
    transform: translateY(-5px);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.4);
}

/* Remove default WP navigation spacing */
.wp-block-navigation__container {
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .main-navigation {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .main-navigation::-webkit-scrollbar {
        height: 0;
    }
}

/* Hero Section */
.hero,
.wp-block-group.hero {
    padding: 4rem 0;
    text-align: center;
    background: linear-gradient(180deg, var(--surface) 0%, var(--background) 100%);
}

.search-box,
.wp-block-search.search-box {
    max-width: 600px;
    margin: 2rem auto !important;
    position: relative;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    padding: 0.5rem;
}

.wp-block-search.search-box .wp-block-search__inside-wrapper {
    display: flex;
    border: none;
    padding: 0;
    margin: 0;
}

.wp-block-search.search-box input {
    flex: 1;
    border: none !important;
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
    outline: none !important;
    background: transparent !important;
}

.wp-block-search.search-box button {
    background: var(--primary) !important;
    color: white !important;
    border: none !important;
    padding: 0.75rem 2rem !important;
    border-radius: calc(var(--radius-lg) - 8px) !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: var(--transition);
}

/* Main Grid - Overriding WP Column Flex */
.main-grid,
.wp-block-columns.main-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)) !important;
    gap: 2rem !important;
    margin-top: 2rem;
}

@media (max-width: 1024px) {
    .wp-block-columns.main-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .wp-block-columns.main-grid {
        grid-template-columns: 1fr !important;
    }
}

.board,
.wp-block-group.board {
    background: var(--surface);
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    overflow: hidden;
    box-shadow: var(--shadow);
    margin-bottom: 0 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.board:hover,
.wp-block-group.board:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.board-header {
    padding: 0.75rem 1.5rem !important;
    background: #f8fafc !important;
    /* Base light background */
    border-bottom: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 70px;
}

.board-header h2 {
    font-size: 1.1rem;
    text-transform: none;
    /* Changed from uppercase */
    letter-spacing: -0.01em;
    color: inherit;
    margin: 0;
    font-weight: 800 !important;
}

.tag {
    font-size: 0.7rem;
    padding: 0.2rem 0.6rem;
    border-radius: 6px;
    background: var(--primary);
    color: white !important;
    font-weight: 600;
    display: inline-block;
    line-height: 1;
}

/* Query Loop Styles */
.wp-block-query {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wp-block-post-template {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wp-block-post {
    margin: 0 !important;
    border-bottom: 1px solid var(--border);
    transition: var(--transition);
    animation: fadeIn 0.4s ease forwards;
}

.wp-block-post:last-child {
    border-bottom: none;
}

/* Custom wrapper inside query loop */
.job-link-wrapper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.75rem 1.25rem !important;
    transition: var(--transition);
}

.wp-block-post:hover .job-link-wrapper {
    background: rgba(0, 0, 0, 0.03);
}

/* WordPress Title blocks inside query loop */
.wp-block-post-title {
    margin: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
}

.wp-block-post-title a {
    display: inline !important;
    padding: 0 !important;
    color: var(--text-main) !important;
}

.wp-block-post-date {
    margin: 0 !important;
    font-size: 0.8rem !important;
    color: var(--text-muted) !important;
}

/* Board-specific item hovers - corrected to only apply when the specific item is hovered */
.single-post-container {
    max-width: 1140px !important;
}

.single-post-grid {
    gap: 1.5rem !important;
}

.board-results .wp-block-post:hover .job-link-wrapper {
    background: #f5f3ff !important;
}

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

.board-admit .wp-block-post:hover .job-link-wrapper {
    background: #fdf2f8 !important;
}

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

.board-jobs .wp-block-post:hover .job-link-wrapper {
    background: #ecfdf5 !important;
}

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

/* Color Variant Boards */
.board-results {
    border-top: 3px solid var(--color-results) !important;
}

.board-results .board-header {
    color: var(--color-results);
    background: #f4f2ff !important;
    /* Darkened */
}

.board-admit {
    border-top: 3px solid var(--color-admit) !important;
    /* Restored */
}

.board-admit .board-header {
    color: var(--color-admit);
    background: #fff0f6 !important;
    /* Darkened */
}

.board-jobs {
    border-top: 3px solid var(--color-jobs) !important;
    /* Restored */
}

.board-jobs .board-header {
    color: var(--color-jobs);
    background: #f0fff6 !important;
    /* Darkened */
}

.board-jobs .tag {
    background: var(--color-jobs);
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--background);
}

::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* Editor-Specific Comfort Padding */
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Ensure top level header bars are full width */
.main-header,
.top-bar,
.bottom-header {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
}

/* Nuclear Gap Fix: Kill WordPress default block gaps */
:root,
body,
.wp-site-blocks,
.wp-block-group,
.wp-block-template-part {
    --wp--style--block-gap: 0 !important;
}

/* Ensure the wrapper doesn't constrain these */
.wp-site-blocks>.top-bar,
.wp-site-blocks>.main-header,
.wp-site-blocks>.bottom-header,
.wp-site-blocks>.site-main,
.site-main {
    margin: 0 !important;
    padding-top: 0 !important;
    border: none !important;
}

/* Hero Banner Styling */
.hero-banner {
    background: #f1f5f9 !important;
    /* Slightly darker slate for better visibility */
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    margin-bottom: 0 !important;
    /* Managed by layout */
    padding: 6rem 1rem !important;
}

/* Ensure the hero banner can actually span full width and sits flush */
.wp-block-group.hero-banner.alignfull {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top: none !important;
    padding-top: 5rem !important;
}

.hero-banner .wp-block-heading,
.hero-banner p {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.hero-banner .search-box {
    max-width: 600px;
    margin: 2rem auto 0 auto;
}

/* Sidebar Styling */
.post-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sidebar-board {
    background: var(--surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.sidebar-board .board-header {
    background: #f8fafc !important;
    padding: 0.75rem 1.5rem !important;
    border-bottom: 1px solid var(--border) !important;
    min-height: 70px;
    display: flex;
    align-items: center;
}

.sidebar-board .board-header h2 {
    font-size: 1.1rem;
    margin: 0;
    color: var(--text-main);
    font-weight: 800 !important;
}

.sidebar-board .wp-block-query,
.sidebar-board .wp-block-categories {
    padding: 1rem;
}

.sidebar-board .job-link-wrapper {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border);
}

.sidebar-board .job-link-wrapper:last-child {
    border-bottom: none;
}

.sidebar-board a {
    font-size: 0.95rem;
    color: var(--text-main);
    display: block;
    line-height: 1.4;
}

.sidebar-board a:hover {
    color: var(--primary);
}

/* Category List in Sidebar */
.sidebar-board .wp-block-categories {
    list-style: none;
    padding: 1rem 1.5rem;
    margin: 0 !important;
}

.sidebar-board .wp-block-categories li {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.95rem;
    color: var(--text-muted);
    margin-bottom: 0 !important;
    list-style-type: none !important;
}

.sidebar-board .wp-block-categories li:last-child {
    border-bottom: none;
}

.sidebar-board .wp-block-categories a {
    display: inline-block;
    color: var(--primary);
    font-weight: 500;
}

.sidebar-board .wp-block-categories span {
    float: right;
    color: var(--text-muted);
    font-size: 0.8rem;
    background: #f1f5f9;
    padding: 1px 6px;
    border-radius: 10px;
}

@media (max-width: 900px) {
    .single-post-grid {
        flex-direction: column !important;
    }

    .single-post-grid .wp-block-column {
        flex-basis: 100% !important;
        width: 100% !important;
    }

    .post-sidebar {
        margin-top: 3rem;
    }
}