/**
 * Sarkari Vigyapan Online — Theme Stylesheet (Reference-matched)
 *
 * Compact, mobile-first government job portal design.
 *
 * @package Sarkari_Vigyapan_Online
 * @version 1.0.3
 */

/* ==========================================================================
   CSS Custom Properties
   ========================================================================== */
:root {
    --svo-primary: #2457d6;
    --svo-primary-dark: #173ea5;
    --svo-secondary: #4f7cff;
    --svo-accent: #f4b740;
    --svo-accent-dark: #d97706;
    --svo-background: #f5f7fb;
    --svo-text: #172033;
    --svo-text-light: #64748b;
    --svo-white: #ffffff;
    --svo-border: #e5eaf2;
    --svo-success: #16a34a;
    --svo-error: #dc2626;
    --svo-warning: #ea580c;
    --svo-info: #2563eb;
    --svo-radius: 10px;
    --svo-radius-lg: 16px;
    --svo-shadow: 0 2px 8px rgba(23,32,51,0.05);
    --svo-shadow-md: 0 8px 24px rgba(23,32,51,0.10);
    --svo-shadow-lg: 0 16px 40px rgba(23,32,51,0.14);
    --svo-container-max: 1180px;
    --svo-container-pad: 12px;
    --svo-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --svo-green: #16a34a;
    --svo-blue: #2563eb;
    --svo-red: #dc2626;
    --svo-orange: #ea580c;
    --svo-purple: #7c3aed;
    --svo-teal: #0d9488;
    --svo-navy: #1e3a5f;
}

@media (min-width: 768px) {
    :root {
        --svo-container-pad: 20px;
    }
}

/* ==========================================================================
   Reset & Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    margin: 0; padding: 0;
    font-family: var(--svo-font);
    font-size: 14px;
    line-height: 1.5;
    color: var(--svo-text);
    background: var(--svo-background);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--svo-primary); text-decoration: none; transition: color 0.15s; }
a:hover, a:focus { color: var(--svo-primary-dark); text-decoration: underline; }
h1, h2, h3, h4, h5, h6 { line-height: 1.25; margin: 0 0 6px; color: var(--svo-text); }
h1 { font-size: 1.375rem; }
h2 { font-size: 1.125rem; }
h3 { font-size: 1rem; }
p { margin: 0 0 8px; }
ul, ol { margin: 0 0 8px; padding-left: 1.25em; }
table { border-collapse: collapse; width: 100%; }

/* ==========================================================================
   Accessibility
   ========================================================================== */
.screen-reader-text {
    border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
    height: 1px; margin: -1px; overflow: hidden; padding: 0;
    position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
    background: var(--svo-white); border-radius: var(--svo-radius);
    clip: auto !important; clip-path: none; color: var(--svo-primary);
    display: block; font-size: 14px; font-weight: 700; height: auto;
    left: 5px; line-height: normal; padding: 12px 16px; text-decoration: none;
    top: 5px; width: auto; z-index: 100000;
}
:focus-visible { outline: 2px solid var(--svo-accent); outline-offset: 2px; }

/* ==========================================================================
   Container
   ========================================================================== */
.svo-container {
    max-width: var(--svo-container-max);
    margin: 0 auto;
    padding: 0 var(--svo-container-pad);
}

/* ==========================================================================
   Header
   ========================================================================== */
.svo-top-bar {
    background: var(--svo-navy);
    color: rgba(255,255,255,0.85);
    font-size: 11px;
    padding: 4px 0;
}
.svo-top-bar-inner {
    display: flex; justify-content: space-between; align-items: center;
}
.svo-social-nav { display: flex; gap: 10px; align-items: center; }
.svo-social-link {
    color: rgba(255,255,255,0.8); font-size: 11px;
}
.svo-social-link:hover, .svo-social-link:focus { color: var(--svo-accent); text-decoration: none; }
.svo-social-icon::before { font-size: 12px; }
.svo-social-whatsapp .svo-social-icon::before { content: "💬"; }
.svo-social-telegram .svo-social-icon::before { content: "✈"; }
.svo-social-youtube .svo-social-icon::before { content: "▶"; }

.svo-header {
    background: var(--svo-white);
    border-bottom: 2px solid var(--svo-primary);
    padding: 8px 0;
    position: sticky; top: 0; z-index: 1000;
    box-shadow: var(--svo-shadow);
}
.svo-header-inner {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.svo-header-brand { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.svo-header-brand .custom-logo { max-height: 36px; width: auto; }
.svo-site-title {
    font-size: 1.125rem; font-weight: 800; color: var(--svo-primary);
    margin: 0; line-height: 1.2;
}
.svo-site-title-link { color: var(--svo-primary); text-decoration: none; }
.svo-site-title-link:hover { color: var(--svo-primary-dark); text-decoration: none; }
.svo-site-description { display: none; font-size: 10px; color: var(--svo-text-light); margin: 0; }

@media (min-width: 768px) {
    .svo-site-description { display: block; }
}

.svo-header-search {
    display: none; flex: 1; max-width: 320px;
}
@media (min-width: 768px) { .svo-header-search { display: block; } }

.svo-search-input-wrapper {
    display: flex; border: 1px solid var(--svo-border); border-radius: var(--svo-radius);
    overflow: hidden; transition: border-color 0.15s;
}
.svo-search-input-wrapper:focus-within { border-color: var(--svo-primary); }
.svo-search-input {
    flex: 1; padding: 6px 10px; border: none; font-size: 13px;
    font-family: var(--svo-font); outline: none; background: var(--svo-white);
}
.svo-search-submit {
    background: var(--svo-primary); color: var(--svo-white); border: none;
    padding: 6px 10px; cursor: pointer; font-size: 13px; display: flex;
    align-items: center;
}
.svo-search-submit:hover { background: var(--svo-primary-dark); }

/* ==========================================================================
   Mobile Menu Toggle
   ========================================================================== */
.svo-mobile-toggle {
    display: flex; flex-direction: column; justify-content: center; gap: 4px;
    background: none; border: 1px solid var(--svo-border); border-radius: var(--svo-radius);
    padding: 6px 8px; cursor: pointer; width: 36px; height: 36px;
}
@media (min-width: 768px) { .svo-mobile-toggle { display: none; } }
.svo-hamburger-icon { display: flex; flex-direction: column; gap: 3px; width: 100%; }
.svo-hamburger-icon span {
    display: block; height: 2px; background: var(--svo-text); border-radius: 2px;
    transition: transform 0.25s, opacity 0.25s;
}
.svo-mobile-toggle[aria-expanded="true"] .svo-hamburger-icon span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.svo-mobile-toggle[aria-expanded="true"] .svo-hamburger-icon span:nth-child(2) { opacity: 0; }
.svo-mobile-toggle[aria-expanded="true"] .svo-hamburger-icon span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* ==========================================================================
   Desktop Navigation
   ========================================================================== */
.svo-navigation {
    background: var(--svo-primary);
    position: relative; z-index: 999;
}
@media (max-width: 767px) { .svo-navigation { display: none; } }
.svo-nav-menu {
    display: flex; list-style: none; margin: 0; padding: 0; gap: 0;
    flex-wrap: wrap;
}
.svo-nav-menu li { position: relative; }
.svo-nav-menu li a {
    display: block; padding: 8px 12px; color: var(--svo-white);
    font-size: 13px; font-weight: 500; text-decoration: none;
    transition: background 0.15s; white-space: nowrap;
}
.svo-nav-menu li a:hover, .svo-nav-menu li a:focus {
    background: var(--svo-primary-dark); color: var(--svo-white); text-decoration: none;
}
.svo-nav-menu li.current-menu-item > a { background: var(--svo-primary-dark); }
.svo-nav-menu .sub-menu {
    display: none; position: absolute; top: 100%; left: 0;
    background: var(--svo-white); min-width: 180px;
    box-shadow: var(--svo-shadow-md); border-radius: 0 0 var(--svo-radius) var(--svo-radius);
    list-style: none; margin: 0; padding: 4px 0; z-index: 1000;
}
.svo-nav-menu li:hover > .sub-menu { display: block; }
.svo-nav-menu .sub-menu li a {
    color: var(--svo-text); padding: 6px 14px; font-size: 12px;
}
.svo-nav-menu .sub-menu li a:hover { background: var(--svo-background); color: var(--svo-primary); }
.svo-nav-menu .menu-item-has-children > a::after { content: " ▾"; font-size: 0.65em; }

/* ==========================================================================
   Mobile Menu (Off-canvas)
   ========================================================================== */
.svo-mobile-menu {
    position: fixed; top: 0; left: -280px; width: 260px; height: 100vh;
    background: var(--svo-white); z-index: 10000; overflow-y: auto;
    transition: left 0.25s ease; box-shadow: var(--svo-shadow-lg);
}
.svo-mobile-menu[aria-hidden="false"] { left: 0; }
.svo-mobile-menu-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4);
    z-index: 9999; opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s;
}
.svo-mobile-menu-overlay[aria-hidden="false"] { opacity: 1; visibility: visible; }
.svo-mobile-menu-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px; border-bottom: 1px solid var(--svo-border);
}
.svo-mobile-menu-title { font-weight: 700; font-size: 14px; color: var(--svo-primary); }
.svo-mobile-menu-close {
    background: none; border: none; font-size: 1.25rem; cursor: pointer;
    color: var(--svo-text); padding: 2px; line-height: 1;
}
.svo-mobile-menu-search { padding: 8px 12px; border-bottom: 1px solid var(--svo-border); }
.svo-mobile-nav-menu { list-style: none; margin: 0; padding: 4px 0; }
.svo-mobile-nav-menu li a {
    display: block; padding: 8px 12px; color: var(--svo-text); text-decoration: none;
    font-size: 13px; border-bottom: 1px solid var(--svo-border);
}
.svo-mobile-nav-menu li a:hover { background: var(--svo-background); color: var(--svo-primary); }
.svo-mobile-nav-menu .sub-menu { list-style: none; padding: 0; margin: 0; }
.svo-mobile-nav-menu .sub-menu li a { padding-left: 24px; font-size: 12px; }
body.menu-open { overflow: hidden; }

/* ==========================================================================
   Breaking News Ticker
   ========================================================================== */
.svo-ticker {
    background: var(--svo-white);
    border-bottom: 1px solid var(--svo-border);
    padding: 6px 0;
}
.svo-ticker-inner {
    display: flex; align-items: center; gap: 10px;
}
.svo-ticker-label {
    background: var(--svo-red); color: var(--svo-white);
    padding: 2px 8px; border-radius: 3px; font-size: 11px;
    font-weight: 700; text-transform: uppercase; white-space: nowrap;
    animation: svo-pulse 2s infinite;
}
@keyframes svo-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}
.svo-ticker-content {
    flex: 1; overflow: hidden; white-space: nowrap;
    font-size: 13px; color: var(--svo-text);
}
.svo-ticker-content a { color: var(--svo-primary); font-weight: 500; }
.svo-ticker-scroll {
    display: inline-block;
    animation: svo-scroll 20s linear infinite;
}
@keyframes svo-scroll {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

/* ==========================================================================
   Category Tiles Grid (the key visual element)
   ========================================================================== */
.svo-category-tiles {
    padding: 12px 0;
}
.svo-category-tiles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
@media (max-width: 480px) {
    .svo-category-tiles-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 481px) and (max-width: 767px) {
    .svo-category-tiles-grid { grid-template-columns: repeat(3, 1fr); }
}
.svo-category-tile {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 4px;
    padding: 10px 6px; border-radius: var(--svo-radius);
    text-decoration: none; color: var(--svo-white);
    text-align: center; font-size: 11px; font-weight: 600;
    transition: transform 0.15s, box-shadow 0.15s;
    min-height: 64px;
}
.svo-category-tile:hover, .svo-category-tile:focus {
    transform: translateY(-2px); box-shadow: var(--svo-shadow-md);
    text-decoration: none; color: var(--svo-white);
}
.svo-category-tile-icon { font-size: 1.25rem; line-height: 1; }
.svo-category-tile-label { line-height: 1.2; }

.svo-tile-jobs { background: var(--svo-blue); }
.svo-tile-results { background: var(--svo-green); }
.svo-tile-admit { background: var(--svo-orange); }
.svo-tile-answer { background: var(--svo-purple); }
.svo-tile-syllabus { background: var(--svo-teal); }
.svo-tile-admission { background: #e11d48; }
.svo-tile-news { background: var(--svo-navy); }

/* ==========================================================================
   Homepage Content (rich text from Customizer)
   ========================================================================== */
.svo-home-content {
    padding: 12px 0;
}
.svo-home-content-bg-white { background: var(--svo-white); }
.svo-home-content-bg-light { background: var(--svo-background); }
.svo-home-content-bg-theme { background: var(--svo-background); }
.svo-home-content-wide .svo-container { max-width: 960px; }

.svo-home-content-heading {
    font-size: 1rem; font-weight: 700; margin-bottom: 12px;
    color: var(--svo-text); padding-bottom: 8px;
    border-bottom: 2px solid var(--svo-primary);
}
.svo-home-content-body {
    font-size: 14px; line-height: 1.7; color: var(--svo-text);
}
.svo-home-content-body h2 { font-size: 1.25rem; margin-top: 1.5em; margin-bottom: 0.5em; }
.svo-home-content-body h3 { font-size: 1.1rem; margin-top: 1.25em; margin-bottom: 0.4em; }
.svo-home-content-body h4 { font-size: 1rem; margin-top: 1em; margin-bottom: 0.4em; }
.svo-home-content-body p { margin-bottom: 1em; }
.svo-home-content-body ul, .svo-home-content-body ol { margin-bottom: 1em; padding-left: 1.25em; }
.svo-home-content-body li { margin-bottom: 0.3em; }
.svo-home-content-body a { color: var(--svo-primary); text-decoration: underline; }
.svo-home-content-body blockquote {
    border-left: 3px solid var(--svo-primary); margin: 1em 0;
    padding: 8px 14px; background: var(--svo-background); border-radius: 0 var(--svo-radius) var(--svo-radius) 0;
    font-style: italic; font-size: 13px;
}
.svo-home-content-body table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.svo-home-content-body table th,
.svo-home-content-body table td { padding: 6px 10px; border: 1px solid var(--svo-border); text-align: left; font-size: 13px; }
.svo-home-content-body table th { background: var(--svo-primary); color: var(--svo-white); font-weight: 600; }
.svo-home-content-body table tr:nth-child(even) { background: var(--svo-background); }
.svo-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1em 0; }
.svo-table-wrapper table { min-width: 500px; }

/* ==========================================================================
   Post Sections (Latest Jobs, Results, Admit Cards)
   ========================================================================== */
.svo-home-posts-section { padding: 8px 0; }
.svo-posts-section { margin-bottom: 16px; }

.svo-section-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 10px; padding-bottom: 6px;
    border-bottom: 2px solid var(--svo-primary);
}
.svo-section-title {
    font-size: 0.9375rem; font-weight: 700; margin: 0; color: var(--svo-text);
    display: flex; align-items: center; gap: 6px;
}
.svo-section-title-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 4px; font-size: 12px;
    color: var(--svo-white);
}
.svo-section-jobs .svo-section-title-icon { background: var(--svo-blue); }
.svo-section-results .svo-section-title-icon { background: var(--svo-green); }
.svo-section-admit .svo-section-title-icon { background: var(--svo-orange); }

.svo-view-all {
    font-size: 12px; font-weight: 600; color: var(--svo-primary);
    white-space: nowrap;
}
.svo-view-all:hover { text-decoration: underline; }

/* ==========================================================================
   Post Cards — Compact list style (Sarkari Result style)
   ========================================================================== */
.svo-posts-list {
    background: var(--svo-white);
    border-radius: var(--svo-radius);
    border: 1px solid var(--svo-border);
    overflow: hidden;
}
.svo-post-item {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--svo-border);
    transition: background 0.1s;
    text-decoration: none; color: var(--svo-text);
}
.svo-post-item:last-child { border-bottom: none; }
.svo-post-item:hover, .svo-post-item:focus {
    background: #f8fafc; text-decoration: none; color: var(--svo-text);
}

.svo-post-item-icon {
    flex-shrink: 0; width: 8px; height: 8px;
    border-radius: 50%; background: var(--svo-primary);
}

.svo-post-item-content { flex: 1; min-width: 0; }
.svo-post-item-title {
    font-size: 13px; font-weight: 600; color: var(--svo-text);
    margin: 0 0 2px; line-height: 1.3;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.svo-post-item:hover .svo-post-item-title { color: var(--svo-primary); }
.svo-post-item-meta {
    display: flex; align-items: center; gap: 8px; font-size: 11px;
    color: var(--svo-text-light);
}
.svo-post-item-org { font-weight: 500; }

.svo-post-item-status { flex-shrink: 0; }
.svo-post-item-arrow {
    flex-shrink: 0; color: var(--svo-text-light); font-size: 14px;
    transition: transform 0.15s, color 0.15s;
}
.svo-post-item:hover .svo-post-item-arrow { color: var(--svo-primary); transform: translateX(3px); }

/* ==========================================================================
   Post Card Grid (card-style, for wider layouts)
   ========================================================================== */
.svo-posts-grid {
    display: grid; grid-template-columns: 1fr; gap: 10px;
}
@media (min-width: 576px) { .svo-posts-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .svo-posts-grid { grid-template-columns: repeat(3, 1fr); } }

.svo-post-card {
    background: var(--svo-white); border-radius: var(--svo-radius);
    overflow: hidden; border: 1px solid var(--svo-border);
    transition: box-shadow 0.15s, transform 0.15s;
}
.svo-post-card:hover { box-shadow: var(--svo-shadow-md); transform: translateY(-1px); }
.svo-post-card-link { display: block; text-decoration: none; color: inherit; }
.svo-post-card-link:hover, .svo-post-card-link:focus { color: inherit; text-decoration: none; }
.svo-post-card-image {
    width: 100%; aspect-ratio: 16/10; overflow: hidden; background: var(--svo-background);
}
.svo-post-card-image img { width: 100%; height: 100%; object-fit: cover; }
.svo-post-card-placeholder {
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--svo-primary) 0%, var(--svo-secondary) 100%);
}
.svo-placeholder-icon::before { content: "📄"; font-size: 1.5rem; opacity: 0.4; }
.svo-post-card-content { padding: 10px; }
.svo-post-card-category {
    display: inline-block; background: var(--svo-background); color: var(--svo-primary);
    font-size: 10px; font-weight: 600; padding: 2px 6px; border-radius: 3px; margin-bottom: 4px;
}
.svo-post-card-title {
    font-size: 13px; font-weight: 600; margin: 0 0 4px; line-height: 1.3; color: var(--svo-text);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.svo-post-card-org { display: block; font-size: 11px; color: var(--svo-text-light); margin-bottom: 4px; }
.svo-post-card-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.svo-post-card-date { font-size: 11px; color: var(--svo-text-light); }
.svo-post-card-excerpt {
    font-size: 12px; color: var(--svo-text-light); line-height: 1.4; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* ==========================================================================
   Status Badge
   ========================================================================== */
.svo-status-badge {
    display: inline-flex; align-items: center; gap: 3px;
    padding: 1px 6px; border-radius: 3px; font-size: 10px;
    font-weight: 700; white-space: nowrap; line-height: 1.4;
}
.svo-status-active { background: #dcfce7; color: #166534; }
.svo-status-new { background: #dbeafe; color: #1e40af; }
.svo-status-expected { background: #fef3c7; color: #92400e; }
.svo-status-closed { background: #fee2e2; color: #991b1b; }
.svo-status-declared { background: #f3e8ff; color: #6b21a8; }
.svo-status-icon::before { content: "●"; font-size: 0.6em; }
.svo-status-active .svo-status-icon::before { content: "✓"; }
.svo-status-new .svo-status-icon::before { content: "●"; }
.svo-status-closed .svo-status-icon::before { content: "✕"; }
.svo-status-declared .svo-status-icon::before { content: "★"; }

/* ==========================================================================
   Sidebar
   ========================================================================== */
.svo-content-with-sidebar {
    display: grid; grid-template-columns: 1fr; gap: 16px;
}
@media (min-width: 768px) {
    .svo-content-with-sidebar { grid-template-columns: 1fr 260px; }
}
.svo-main-content { padding: 12px 0 24px; }

.svo-sidebar { display: flex; flex-direction: column; gap: 12px; }
.svo-widget {
    background: var(--svo-white); border: 1px solid var(--svo-border);
    border-radius: var(--svo-radius); padding: 12px;
}
.svo-widget-title {
    font-size: 13px; font-weight: 700; margin: 0 0 8px;
    padding-bottom: 6px; border-bottom: 2px solid var(--svo-primary); color: var(--svo-text);
}
.svo-widget ul { list-style: none; margin: 0; padding: 0; }
.svo-widget li { padding: 4px 0; border-bottom: 1px solid var(--svo-border); font-size: 12px; }
.svo-widget li:last-child { border-bottom: none; }
.svo-widget a { color: var(--svo-text); text-decoration: none; }
.svo-widget a:hover { color: var(--svo-primary); }

.svo-ad-slot { margin: 12px 0; text-align: center; }
.svo-ad-widget {
    text-align: center; background: transparent;
    border: 1px dashed var(--svo-border); padding: 12px;
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
.svo-breadcrumbs { padding: 8px 0; font-size: 12px; }
.svo-breadcrumbs-list {
    display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0;
    gap: 3px; align-items: center;
}
.svo-breadcrumbs-item { display: inline-flex; align-items: center; }
.svo-breadcrumbs-item a { color: var(--svo-primary); }
.svo-breadcrumbs-separator { margin: 0 3px; color: var(--svo-text-light); }

/* ==========================================================================
   Single Article
   ========================================================================== */
.svo-single-article {
    background: var(--svo-white); border-radius: var(--svo-radius);
    padding: 16px; margin-bottom: 16px; border: 1px solid var(--svo-border);
}
@media (min-width: 768px) { .svo-single-article { padding: 20px; } }
.svo-article-header { margin-bottom: 14px; }
.svo-article-categories { margin-bottom: 6px; }
.svo-article-categories a {
    display: inline-block; background: var(--svo-primary); color: var(--svo-white);
    font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 3px; text-decoration: none;
}
.svo-article-title {
    font-size: 1.25rem; font-weight: 800; margin: 0 0 8px; line-height: 1.3;
}
@media (min-width: 768px) { .svo-article-title { font-size: 1.375rem; } }
.svo-article-meta {
    display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px;
    color: var(--svo-text-light); align-items: center;
}
.svo-article-status { margin-bottom: 14px; }
.svo-post-thumbnail { margin-bottom: 16px; border-radius: var(--svo-radius); overflow: hidden; }
.svo-post-thumbnail img { width: 100%; height: auto; }
.svo-post-organization { font-size: 12px; }
.svo-org-label { font-weight: 600; color: var(--svo-text); }

.svo-article-content { font-size: 14px; line-height: 1.7; }
.svo-article-content h2, .svo-article-content h3, .svo-article-content h4 { margin-top: 1.25em; margin-bottom: 0.4em; }
.svo-article-content img { max-width: 100%; height: auto; border-radius: var(--svo-radius); }
.svo-article-content table {
    width: 100%; border-collapse: collapse; margin: 1em 0;
}
.svo-article-content table th,
.svo-article-content table td { padding: 6px 10px; border: 1px solid var(--svo-border); text-align: left; font-size: 13px; }
.svo-article-content table th { background: var(--svo-background); font-weight: 600; }
.svo-article-content blockquote {
    border-left: 3px solid var(--svo-primary); margin: 1em 0;
    padding: 8px 14px; background: var(--svo-background);
    border-radius: 0 var(--svo-radius) var(--svo-radius) 0;
}

/* Important Links */
.svo-important-links {
    background: var(--svo-background); border-radius: var(--svo-radius);
    padding: 14px; margin: 16px 0; border: 1px solid var(--svo-border);
}
.svo-important-links-title {
    font-size: 14px; font-weight: 700; margin: 0 0 10px;
}
.svo-important-links-list { display: flex; flex-wrap: wrap; gap: 8px; }
.svo-important-link {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 6px 12px; background: var(--svo-primary); color: var(--svo-white);
    border-radius: var(--svo-radius); font-size: 12px; font-weight: 600;
    text-decoration: none; transition: background 0.15s;
}
.svo-important-link:hover { background: var(--svo-primary-dark); color: var(--svo-white); text-decoration: none; }

/* ==========================================================================
   Author Box
   ========================================================================== */
.svo-author-box {
    display: flex; gap: 12px; align-items: center;
    padding: 14px; background: var(--svo-background);
    border-radius: var(--svo-radius); margin: 16px 0;
}
.svo-author-avatar img { border-radius: 50%; width: 48px; height: 48px; }
.svo-author-name { font-size: 14px; font-weight: 600; margin: 0 0 2px; }
.svo-author-name a { color: var(--svo-text); text-decoration: none; }
.svo-author-desc { font-size: 12px; color: var(--svo-text-light); margin: 0; }

/* ==========================================================================
   Pagination
   ========================================================================== */
.svo-pagination { margin-top: 16px; text-align: center; }
.svo-pagination-list {
    display: inline-flex; list-style: none; gap: 3px; flex-wrap: wrap; justify-content: center;
}
.svo-pagination-list a, .svo-pagination-list span {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 32px; height: 32px; padding: 0 8px;
    border-radius: var(--svo-radius); font-size: 12px;
    text-decoration: none; color: var(--svo-text);
    background: var(--svo-white); border: 1px solid var(--svo-border);
}
.svo-pagination-list a:hover { background: var(--svo-primary); color: var(--svo-white); border-color: var(--svo-primary); }
.svo-pagination-list .current { background: var(--svo-primary); color: var(--svo-white); border-color: var(--svo-primary); font-weight: 700; }

/* ==========================================================================
   Buttons
   ========================================================================== */
.svo-btn {
    display: inline-block; padding: 6px 16px; border-radius: var(--svo-radius);
    font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer;
    border: none; transition: background 0.15s;
}
.svo-btn-primary { background: var(--svo-primary); color: var(--svo-white); }
.svo-btn-primary:hover { background: var(--svo-primary-dark); color: var(--svo-white); }
.svo-btn-outline { background: transparent; color: var(--svo-primary); border: 1px solid var(--svo-primary); }
.svo-btn-outline:hover { background: var(--svo-primary); color: var(--svo-white); }

/* ==========================================================================
   Page Header
   ========================================================================== */
.svo-page-header { margin-bottom: 14px; }
.svo-page-title { font-size: 1.25rem; font-weight: 800; margin: 0 0 4px; }
.svo-archive-description { font-size: 13px; color: var(--svo-text-light); }
.svo-results-count { font-size: 12px; color: var(--svo-text-light); margin: 0; }

/* ==========================================================================
   Search
   ========================================================================== */
.svo-search-form-container { margin-bottom: 14px; }
.svo-search-form-container .svo-search-input-wrapper { max-width: 500px; }

/* ==========================================================================
   404
   ========================================================================== */
.svo-404-page { text-align: center; padding: 30px 0; }
.svo-404-title { font-size: 3.5rem; font-weight: 900; color: var(--svo-primary); margin: 0 0 4px; line-height: 1; }
.svo-404-subtitle { font-size: 1.25rem; font-weight: 700; margin: 0 0 8px; }
.svo-404-desc { font-size: 13px; color: var(--svo-text-light); max-width: 400px; margin: 0 auto 16px; }
.svo-404-search { margin-bottom: 16px; display: flex; justify-content: center; }
.svo-404-search .svo-search-input-wrapper { max-width: 400px; width: 100%; }
.svo-404-actions { margin-bottom: 24px; }
.svo-404-categories { margin-bottom: 24px; }
.svo-404-categories h2 { font-size: 14px; margin-bottom: 8px; }
.svo-404-cat-list { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.svo-404-latest { margin-top: 24px; }
.svo-404-latest h2 { font-size: 14px; margin-bottom: 12px; }

/* ==========================================================================
   No Results
   ========================================================================== */
.svo-no-results { text-align: center; padding: 30px 0; }
.svo-no-results h2 { font-size: 1.25rem; margin-bottom: 8px; }
.svo-no-results p { color: var(--svo-text-light); margin-bottom: 14px; }

/* ==========================================================================
   Disclaimer
   ========================================================================== */
.svo-disclaimer-bar {
    background: var(--svo-navy);
    border-top: 1px solid rgba(255,255,255,0.12);
    padding: 10px 0;
    font-size: 11px;
    color: var(--svo-white);
}
.svo-disclaimer-text { margin: 0; color: var(--svo-white); }
.svo-disclaimer-text strong { color: var(--svo-white); }
.svo-disclaimer-text a { color: var(--svo-white); text-decoration: underline; }

/* ==========================================================================
   Footer
   ========================================================================== */
.svo-footer {
    background: var(--svo-navy); color: rgba(255,255,255,0.85);
    padding: 24px 0 0;
}
.svo-footer-columns {
    display: grid; grid-template-columns: 1fr; gap: 20px; padding-bottom: 20px;
}
@media (min-width: 576px) { .svo-footer-columns { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .svo-footer-columns { grid-template-columns: repeat(3, 1fr); } }
.svo-footer-title {
    font-size: 13px; font-weight: 700; color: var(--svo-white);
    margin: 0 0 10px; padding-bottom: 6px;
    border-bottom: 2px solid var(--svo-primary);
}
.svo-footer-desc { font-size: 12px; line-height: 1.5; color: rgba(255,255,255,0.65); margin: 0; }
.svo-footer-nav { list-style: none; margin: 0; padding: 0; }
.svo-footer-nav li { margin-bottom: 5px; }
.svo-footer-nav li a {
    color: rgba(255,255,255,0.65); text-decoration: none; font-size: 12px;
}
.svo-footer-nav li a:hover { color: var(--svo-accent); }
.svo-footer-social { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.svo-footer-social .svo-social-link {
    display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px;
    background: rgba(255,255,255,0.08); border-radius: var(--svo-radius);
    color: rgba(255,255,255,0.8); text-decoration: none; font-size: 11px;
}
.svo-footer-social .svo-social-link:hover { background: rgba(255,255,255,0.15); color: var(--svo-white); }
.svo-social-label { font-size: 11px; }
.svo-copyright {
    border-top: 1px solid rgba(255,255,255,0.1); padding: 10px 0;
    font-size: 11px; color: rgba(255,255,255,0.5);
}
.svo-copyright-inner { text-align: center; }
.svo-copyright p { margin: 0; }

/* ==========================================================================
   Post Navigation
   ========================================================================== */
.svo-post-navigation { margin-bottom: 16px; }
.svo-post-navigation .nav-links { display: flex; justify-content: space-between; gap: 12px; }
.svo-post-navigation .nav-next, .svo-post-navigation .nav-previous { flex: 1; }
.svo-post-navigation .nav-label { display: block; font-size: 10px; text-transform: uppercase; color: var(--svo-text-light); margin-bottom: 2px; }
.svo-post-navigation .nav-title { color: var(--svo-primary); font-weight: 600; font-size: 12px; }
.svo-post-navigation .nav-next { text-align: right; }

/* Related Posts */
.svo-related-posts { margin: 16px 0; }
.svo-related-posts .svo-section-title { margin-bottom: 10px; padding-bottom: 6px; border-bottom: 2px solid var(--svo-primary); }

/* ==========================================================================
   Print
   ========================================================================== */
@media print {
    .svo-top-bar, .svo-header, .svo-navigation, .svo-mobile-menu, .svo-mobile-menu-overlay,
    .svo-footer, .svo-disclaimer-bar, .svo-sidebar, .svo-ticker,
    .svo-category-tiles, .svo-ad-slot, .svo-ad-widget,
    .svo-post-navigation, .svo-related-posts { display: none !important; }
    .svo-container { max-width: 100%; padding: 0; }
    .svo-article-content { font-size: 12pt; line-height: 1.5; }
}

/* ========================================================================
   Premium UI Refresh — v1.0.3
   ======================================================================== */
body {
    letter-spacing: -0.005em;
}

.svo-top-bar {
    background: #12213f;
    padding: 6px 0;
    letter-spacing: .01em;
}

.svo-header {
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(36,87,214,.16);
    padding: 12px 0;
    box-shadow: 0 4px 18px rgba(23,32,51,.07);
    backdrop-filter: blur(10px);
}
.svo-header-brand { gap: 11px; }
.svo-header-brand .custom-logo { max-height: 42px; }
.svo-site-title { font-size: 1.28rem; letter-spacing: -.025em; }
.svo-site-description { font-size: 11px; margin-top: 2px; }

.svo-search-input-wrapper {
    border-color: #dbe3f0;
    border-radius: 12px;
    background: #f8faff;
    box-shadow: inset 0 1px 2px rgba(23,32,51,.03);
}
.svo-search-input { background: transparent; padding: 9px 12px; }
.svo-search-submit { border-radius: 0 11px 11px 0; padding: 9px 14px; }

.svo-navigation {
    background: linear-gradient(135deg, var(--svo-primary), #315fd8);
    box-shadow: 0 4px 12px rgba(36,87,214,.16);
}
.svo-nav-menu li a {
    padding: 10px 14px;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .01em;
}
.svo-nav-menu li.current-menu-item > a,
.svo-nav-menu li a:hover,
.svo-nav-menu li a:focus { background: rgba(0,0,0,.14); }
.svo-nav-menu .sub-menu {
    margin-top: 4px;
    border: 1px solid var(--svo-border);
    border-radius: 12px;
    box-shadow: var(--svo-shadow-lg);
}

.svo-category-tiles { padding: 18px 0 12px; }
.svo-category-tiles-grid { gap: 11px; }
.svo-category-tile {
    min-height: 78px;
    padding: 13px 8px;
    border-radius: 14px;
    font-size: 11.5px;
    font-weight: 700;
    box-shadow: 0 5px 16px rgba(23,32,51,.10);
    position: relative;
    overflow: hidden;
}
.svo-category-tile::after {
    content: "";
    position: absolute;
    width: 70px; height: 70px;
    right: -24px; top: -26px;
    border-radius: 50%;
    background: rgba(255,255,255,.13);
}
.svo-category-tile:hover,
.svo-category-tile:focus {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(23,32,51,.16);
}
.svo-category-tile-icon { font-size: 1.45rem; margin-bottom: 2px; }

.svo-home-content {
    padding: 18px 0;
}
.svo-home-content .svo-container {
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(229,234,242,.95);
    border-radius: 16px;
    padding-top: 20px;
    padding-bottom: 20px;
    box-shadow: var(--svo-shadow);
}
.svo-home-content-heading {
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: -.02em;
    border-bottom: 0;
    padding-bottom: 0;
    position: relative;
}
.svo-home-content-heading::after {
    content: "";
    display: block;
    width: 46px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--svo-primary), var(--svo-accent));
    margin-top: 9px;
}
.svo-home-content-body { font-size: 14px; line-height: 1.8; }

.svo-home-posts-section { padding: 14px 0 24px; }
.svo-posts-section { margin-bottom: 26px; }
.svo-section-header {
    margin-bottom: 13px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--svo-border);
    position: relative;
}
.svo-section-header::after {
    content: "";
    position: absolute;
    left: 0; bottom: -1px;
    width: 64px; height: 3px;
    border-radius: 999px;
    background: var(--svo-primary);
}
.svo-section-title { font-size: 1.02rem; font-weight: 800; letter-spacing: -.02em; }
.svo-view-all {
    background: #eef3ff;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 11px;
    font-weight: 750;
}
.svo-view-all:hover { background: var(--svo-primary); color: #fff; text-decoration: none; }

.svo-posts-list {
    border-radius: 14px;
    border-color: var(--svo-border);
    box-shadow: 0 4px 16px rgba(23,32,51,.045);
}
.svo-post-card {
    border-radius: 14px;
    border-color: var(--svo-border);
    box-shadow: 0 3px 12px rgba(23,32,51,.04);
}
.svo-post-card:hover { box-shadow: 0 12px 28px rgba(23,32,51,.11); transform: translateY(-3px); }
.svo-post-card-content { padding: 13px; }
.svo-post-card-title { font-size: 13.5px; font-weight: 700; line-height: 1.4; }
.svo-post-card-category { border-radius: 999px; padding: 3px 8px; font-weight: 700; }

.svo-single-article,
.svo-widget {
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(23,32,51,.05);
}
.svo-widget-title { font-weight: 800; }

.svo-footer {
    background: linear-gradient(145deg, #12213f 0%, #172e55 100%);
    padding-top: 30px;
}
.svo-footer-title { font-size: 13px; letter-spacing: .01em; }
.svo-footer-desc, .svo-footer-nav li a { line-height: 1.7; }

.svo-disclaimer-bar {
    background: linear-gradient(135deg, #1a3158, #12213f);
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 13px 0;
}
.svo-disclaimer-text {
    color: #fff !important;
    font-size: 11.5px;
    line-height: 1.65;
}
.svo-disclaimer-text strong { color: #fff !important; font-weight: 800; }
.svo-disclaimer-text a { color: #fff !important; text-decoration: underline; }
.svo-copyright { background: rgba(0,0,0,.14); padding: 12px 0; }

@media (max-width: 767px) {
    .svo-header { padding: 10px 0; }
    .svo-site-title { font-size: 1.08rem; }
    .svo-category-tiles { padding-top: 14px; }
    .svo-category-tile { min-height: 72px; }
    .svo-home-content .svo-container { border-radius: 13px; padding-top: 16px; padding-bottom: 16px; }
}
