/*
Theme Name: Hamro Chronicle Clone
Theme URI: http://example.com/hamro-chronicle-clone
Author: Rajendra Puri
Author URI: https://example.com
Description: A cloned, WordPress-safe edition of the Hamro Chronicle newspaper theme. Designed with a strong focus on readability, performance, and user engagement, Hamro Chronicle Clone delivers a clean newspaper-style layout with dynamic category sections, bold typography, sticky navigation, breaking news ticker, advertisement-ready placements, and seamless dark mode support. Developed with advanced UI/UX optimization, lightweight architecture, and scalable customization options to ensure fast loading speed and smooth browsing experience across all devices. Suitable for online newspapers, magazines, media agencies, and content-driven portals seeking a premium and credible digital presence.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hamro-chronicle-clone
*/

/* ==========================================================================
   1. DESIGN SYSTEM & ROOT VARIABLES
   ========================================================================== */
:root {
    /* Light Theme Color tokens */
    --bg-primary: #F3F3F3;
    --bg-secondary: #F1F5F9;
    --bg-card: #FFFFFF;
    --color-primary: #0058B5;      /* Primary Blue */
    --color-primary-rgb: 0, 88, 181;
    --color-accent: #E63946;       /* Breaking News Red */
    --text-main: #0F172A;          /* Slate Navy Main */
    --text-muted: #475569;         /* Dark grey */
    --text-light: #64748B;         /* Light grey */
    --border-color: #E2E8F0;       /* Divider */
    
    /* Typography System */
    --font-title: 'Mukta', 'Noto Sans Devanagari', sans-serif;
    --font-body: 'Hind', 'Poppins', sans-serif;
    
    /* Layout Constants */
    --site-max-width: 1200px;
    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 16px;
    
    /* Shadow tokens */
    --shadow-subtle: 0 4px 6px -1px rgba(15, 23, 42, 0.03), 0 2px 4px -2px rgba(15, 23, 42, 0.03);
    --shadow-md: 0 10px 15px -3px rgba(15, 23, 42, 0.06), 0 4px 6px -4px rgba(15, 23, 42, 0.06);
    --shadow-lg: 0 20px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.1);
    
    /* Transitions */
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.15s ease;
}

/* Figma homepage shell overrides. Header, sidebar, ads, and footer stay widget/menu driven. */
body.home,
body.front-page {
    background: #ffffff;
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
}

body.home .site-container,
body.front-page .site-container {
    width: min(100% - 32px, 1440px);
}

body.home .top-utility-bar,
body.front-page .top-utility-bar {
    background: #ffffff;
    border-bottom: 0;
    color: #636363;
    min-height: 44px;
}

body.home .branding-header-zone,
body.front-page .branding-header-zone {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    padding: 22px 0 24px;
}

body.home .branding-flex,
body.front-page .branding-flex {
    align-items: center;
}

body.home .site-title-branding,
body.front-page .site-title-branding {
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    font-size: clamp(38px, 4vw, 64px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

body.home .site-title-branding .prefix,
body.home .site-title-branding .suffix,
body.front-page .site-title-branding .prefix,
body.front-page .site-title-branding .suffix {
    color: #000000;
}

body.home .site-tagline,
body.front-page .site-tagline {
    color: #636363;
}

body.home .header-banner-ad,
body.front-page .header-banner-ad {
    border-radius: 0;
}

body.home .mock-header-ad,
body.front-page .mock-header-ad {
    background: #f7f8ff;
    border: 1px dashed #d8d8d8;
    border-radius: 0;
    color: #8a8a8a;
}

body.home .main-navigation-bar,
body.front-page .main-navigation-bar {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    box-shadow: none;
}

body.home .primary-menu-list a,
body.front-page .primary-menu-list a {
    color: #000000;
    font-size: 16px;
    font-weight: 400;
}

body.home .primary-menu-list a:hover,
body.home .primary-menu-list .current-menu-item > a,
body.front-page .primary-menu-list a:hover,
body.front-page .primary-menu-list .current-menu-item > a {
    color: #f09705;
}

body.home .search-trigger-btn,
body.front-page .search-trigger-btn {
    background: transparent;
    color: #000000;
}

body.home .portal-sidebar,
body.front-page .portal-sidebar {
    background: #ffffff;
    border: 0;
    padding: 0;
}

body.home .sidebar-module,
body.front-page .sidebar-module {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #ececec;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
    padding: 24px 0;
}

body.home .sidebar-module-heading,
body.front-page .sidebar-module-heading {
    border-bottom: 1px solid #ececec;
    margin-bottom: 16px;
}

body.home .sidebar-module-heading h3,
body.front-page .sidebar-module-heading h3 {
    color: #000000;
    font-size: 18px;
    font-weight: 600;
}

body.home .sidebar-module-heading span,
body.front-page .sidebar-module-heading span {
    color: #f09705;
    font-weight: 400;
}

body.home .sidebar-rank-item,
body.home .sidebar-thumb-item,
body.home .sidebar-clean-list article,
body.front-page .sidebar-rank-item,
body.front-page .sidebar-thumb-item,
body.front-page .sidebar-clean-list article {
    border-color: #ececec;
}

body.home .sidebar-module a,
body.front-page .sidebar-module a {
    color: #000000;
}

body.home .sidebar-module a:hover,
body.front-page .sidebar-module a:hover {
    color: #f09705;
}

body.home .sidebar-ad-box,
body.front-page .sidebar-ad-box {
    background: #f7f8ff;
    border: 1px dashed #d8d8d8;
    border-radius: 0;
    color: #8a8a8a;
}

body.home .inline-footer-ad-zone,
body.front-page .inline-footer-ad-zone {
    border-top: 1px solid #ececec;
    padding: 24px 0;
}

body.home .mock-footer-ad-banner,
body.front-page .mock-footer-ad-banner {
    background: #f7f8ff;
    border: 1px dashed #d8d8d8;
    border-radius: 0;
    color: #8a8a8a;
}

body.home .site-main-footer,
body.front-page .site-main-footer {
    background: #111111;
    border-top: 0;
    color: #ffffff;
}

body.home .site-main-footer a,
body.home .footer-brand-title,
body.home .footer-widget-title,
body.front-page .site-main-footer a,
body.front-page .footer-brand-title,
body.front-page .footer-widget-title {
    color: #ffffff;
}

body.home .footer-copyright-strip,
body.front-page .footer-copyright-strip {
    background: #000000;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

@media (max-width: 700px) {
    body.home .site-container,
    body.front-page .site-container {
        width: min(100% - 24px, 1440px);
    }
}

/* Dark Theme Variables override */
body.dark-theme {
    --bg-primary: #0B0F19;         /* Carbon Slate */
    --bg-secondary: #121824;
    --bg-card: #1E293B;            /* Slate Card */
    --color-primary: #3B82F6;      /* Lighter bright blue */
    --color-primary-rgb: 59, 130, 246;
    --text-main: #F8FAFC;          /* Crisp soft white */
    --text-muted: #CBD5E1;
    --text-light: #94A3B8;
    --border-color: #334155;       /* Dark dividers */
    
    --shadow-subtle: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
    --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.25);
    --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.35);
}

/* ==========================================================================
   2. CORE RESETS & GLOBAL SETUP
   ========================================================================== */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--bg-primary);
    color: var(--text-main);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    transition: background-color 0.3s ease, color 0.3s ease;
    overflow-x: hidden;
}

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

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

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-title);
    font-weight: 700;
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: 0.5em;
    color: var(--text-main);
}

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

/* Font Awesome fallback icons for hosts that block external webfont files. */
.fa-solid,
.fa-regular,
.fa-brands {
    display: inline-block;
    font-family: Arial, Helvetica, sans-serif !important;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    text-rendering: auto;
}

.fa-play::before { content: "\25B6" !important; }
.fa-clock::before { content: "\23F2" !important; }
.fa-comment::before,
.fa-comments::before { content: "\25A1" !important; }
.fa-bookmark::before { content: "\25AE" !important; }
.fa-calendar::before,
.fa-calendar-days::before { content: "\25A3" !important; }
.fa-folder-open::before { content: "\25A4" !important; }
.fa-angle-left::before,
.fa-chevron-right::before { content: "\2039" !important; }
.fa-angle-right::before,
.fa-arrow-right-long::before { content: "\203A" !important; }
.fa-bolt::before { content: "\26A1" !important; }
.fa-pen-nib::before { content: "\270E" !important; }
.fa-user::before,
.fa-user-tie::before { content: "\25CF" !important; }
.fa-camera::before { content: "\25A3" !important; }
.fa-share-nodes::before { content: "\21AA" !important; }
.fa-file-invoice::before { content: "\25A4" !important; }
.fa-building::before { content: "\25A6" !important; }
.fa-location-dot::before { content: "\25CF" !important; }
.fa-phone::before { content: "\260E" !important; }
.fa-envelope::before { content: "\2709" !important; }
.fa-heart::before { content: "\2665" !important; }
.fa-magnifying-glass::before { content: "\2315" !important; }
.fa-circle-exclamation::before { content: "!" !important; }
.fa-house::before { content: "\2302" !important; }
.fa-moon::before { content: "\25D0" !important; }
.fa-sun::before { content: "\2600" !important; }
.fa-facebook-f::before { content: "f" !important; }
.fa-twitter::before { content: "X" !important; }
.fa-youtube::before { content: "YT" !important; }
.fa-instagram::before { content: "IG" !important; }
.fa-viber::before { content: "V" !important; }
.fa-whatsapp::before { content: "WA" !important; }

input, button, textarea, select {
    font-family: inherit;
    font-size: inherit;
}

.site-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-container {
    width: 100%;
    max-width: var(--site-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* ==========================================================================
   Modern Nepali Portal UI Polish
   Keeps WordPress menus, widgets, and loops intact while refining the shell.
   ========================================================================== */
:root {
    --bg-primary: #f5f7fa;
    --bg-secondary: #f5f7fa;
    --color-primary: #003366;
    --color-primary-rgb: 0, 51, 102;
    --color-accent: #e21b2d;
    --text-main: #1f2933;
    --text-muted: #6b7280;
    --text-light: #718096;
    --border-color: #e1e7ef;
    --font-title: "Noto Sans Devanagari", "Mukta", Arial, sans-serif;
    --font-body: "Noto Sans Devanagari", "Mukta", Arial, sans-serif;
    --site-max-width: 1240px;
    --border-radius-lg: 12px;
    --shadow-subtle: 0 10px 24px rgba(15, 23, 42, 0.035);
    --shadow-md: 0 18px 34px rgba(15, 23, 42, 0.08);
}

/* Screen reader text for 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;
    width: 1px;
    word-wrap: normal !important;
}

/* ==========================================================================
   3. HEADER & STICKY NAVIGATION STYLING
   ========================================================================== */
/* Top Utility Bar */
.top-utility-bar {
    background-color: #001C3D;
    color: #E2E8F0;
    padding: 8px 0;
    font-size: 0.85rem;
    font-family: var(--font-title);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

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

.top-bar-left {
    display: flex;
    gap: 20px;
}

.top-bar-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.top-bar-item i {
    color: var(--color-primary);
}

.top-bar-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.top-bar-link {
    color: #E2E8F0;
    transition: var(--transition-fast);
}

.top-bar-link:hover {
    color: #FFFFFF;
}

/* Theme Toggle Sun/Moon Icon */
.theme-toggle-btn {
    background: rgba(255, 255, 255, 0.08);
    border: none;
    color: #FFFFFF;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    transition: var(--transition-smooth);
}

.theme-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

.theme-toggle-btn.rotating i {
    animation: rotateBtn 0.5s ease-in-out;
}

@keyframes rotateBtn {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Branding & Logo Header Zone */
.branding-header-zone {
    background-color: var(--bg-card);
    padding: 25px 0;
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.branding-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    text-align: center;
}

.logo-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.site-title-branding {
    font-size: 2.8rem;
    font-weight: 800;
    margin: 0;
    letter-spacing: -1.5px;
    font-family: var(--font-title);
    line-height: 1;
}

.site-title-branding .prefix {
    color: var(--text-main);
}

.site-title-branding .suffix {
    color: var(--color-primary);
    position: relative;
    padding-left: 5px;
}

.site-tagline {
    font-size: 0.85rem;
    color: var(--text-light);
    margin: 4px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Mock Header Ad Space matching screenshot */
.header-banner-ad {
    max-width: 728px;
    width: 100%;
    display: flex;
    justify-content: center;
}

.mock-header-ad {
    background: var(--bg-secondary);
    border: 2px dashed var(--border-color);
    height: 90px;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-light);
    font-family: var(--font-title);
    font-size: 0.9rem;
}

.mock-ad-label {
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* Sticky Navigation Bar */
.main-navigation-bar {
    background-color: #0057B8; /* Royal Blue */
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
    transition: padding 0.3s ease, background-color 0.3s ease;
}

.admin-bar .main-navigation-bar {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar .main-navigation-bar {
        top: 46px;
    }
}

.main-navigation-bar.scrolled {
    padding: 5px 0;
    background-color: #004694;
}

.nav-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.primary-menu-list {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

.primary-menu-list li {
    position: relative;
}

.primary-menu-list li a {
    color: #FFFFFF;
    font-family: var(--font-title);
    font-size: 1.15rem;
    font-weight: 500;
    padding: 16px 20px;
    display: block;
    transition: var(--transition-fast);
    border-top: 3px solid transparent;
}

.primary-menu-list li a:hover,
.primary-menu-list li a.active-item {
    background-color: rgba(255, 255, 255, 0.1);
    border-top-color: var(--color-accent);
}

/* Elegant Floating Dropdown Submenus for WordPress */
.primary-menu-list li ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #001C3D; /* Matching deep header blue */
    min-width: 220px;
    list-style: none;
    margin: 0;
    padding: 10px 0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    border-radius: 0 0 var(--border-radius-md) var(--border-radius-md);
    border-top: 3px solid var(--color-accent);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease;
    z-index: 1000;
}

.primary-menu-list li:hover > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.primary-menu-list li ul.sub-menu li {
    width: 100%;
    position: relative;
}

.primary-menu-list li ul.sub-menu li a {
    color: #CBD5E1;
    font-size: 1rem;
    font-weight: 500;
    padding: 10px 20px;
    display: block;
    text-align: left;
    border-top: none;
    border-left: 3px solid transparent;
    background: none;
    transition: var(--transition-fast);
}

.primary-menu-list li ul.sub-menu li a:hover {
    background-color: rgba(255, 255, 255, 0.05);
    color: #FFFFFF;
    border-left-color: var(--color-accent);
    padding-left: 24px; /* Soft hover offset transition */
}

/* Nested secondary submenus support */
.primary-menu-list li ul.sub-menu li ul.sub-menu {
    top: 0;
    left: 100%;
    border-radius: 0 var(--border-radius-md) var(--border-radius-md) var(--border-radius-md);
}

/* Search Box Overlay */
.header-search-wrap {
    display: flex;
    align-items: center;
}

.search-trigger-btn {
    background: none;
    border: none;
    color: #FFFFFF;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 16px;
    transition: var(--transition-fast);
}

.search-trigger-btn:hover {
    color: var(--color-accent);
    transform: scale(1.1);
}

.search-form-overlay {
    position: absolute;
    right: 20px;
    top: 100%;
    background-color: var(--bg-card);
    border: 1px solid var(--border-color);
    padding: 10px;
    box-shadow: var(--shadow-lg);
    border-radius: 0 0 var(--border-radius-md) var(--border-radius-md);
    display: none;
    align-items: center;
    gap: 8px;
    width: 320px;
    animation: slideDownMenu 0.2s ease-out forwards;
}

.search-form-overlay.active {
    display: flex;
}

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

.search-field-input {
    border: 1px solid var(--border-color);
    background-color: var(--bg-primary);
    color: var(--text-main);
    padding: 8px 12px;
    border-radius: var(--border-radius-sm);
    flex-grow: 1;
    outline: none;
}

.search-submit-btn {
    background-color: var(--color-primary);
    color: #FFFFFF;
    border: none;
    padding: 8px 15px;
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: var(--transition-fast);
}

.search-submit-btn:hover {
    background-color: var(--color-accent);
}

/* Hamburger mobile menu button */
.burger-menu-btn {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

.burger-menu-btn span {
    width: 100%;
    height: 3px;
    background-color: #FFFFFF;
    border-radius: 2px;
    transition: var(--transition-smooth);
}

/* Open states for burger button */
.burger-menu-btn.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.burger-menu-btn.open span:nth-child(2) {
    opacity: 0;
}

.burger-menu-btn.open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* ==========================================================================
   4. HOMEPAGE STACKED NEWS FEED (Matching visual image upload)
   ========================================================================== */
.highlights-stacked-feed {
    padding-top: 30px;
    padding-bottom: 20px;
}

.highlight-stacked-card {
    background-color: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-subtle);
    padding: 30px;
    margin-bottom: 40px;
    transition: var(--transition-smooth);
    border: 1px solid var(--border-color);
}

.highlight-stacked-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}

.highlight-header {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 20px auto;
}

.category-badge {
    background-color: var(--color-accent);
    color: #FFFFFF;
    font-family: var(--font-title);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 4px 14px;
    border-radius: var(--border-radius-sm);
    display: inline-block;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.highlight-title {
    font-size: 2.3rem;
    line-height: 1.3;
    font-weight: 800;
    margin-bottom: 15px;
}

.highlight-title a {
    color: var(--text-main);
}

.highlight-title a:hover {
    color: var(--color-primary);
}

.highlight-meta {
    display: flex;
    justify-content: center;
    gap: 20px;
    font-size: 0.85rem;
    color: var(--text-light);
    font-family: var(--font-title);
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.meta-item i {
    color: var(--color-primary);
}

/* Centered Image media block matching screenshot */
.highlight-media-container {
    width: 100%;
    margin-bottom: 25px;
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.highlight-img-centered {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    margin: 0 auto;
    transition: transform 0.5s ease;
}

.highlight-media-container:hover .highlight-img-centered {
    transform: scale(1.02);
}

.highlight-excerpt {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
    font-size: 1.1rem;
    color: var(--text-muted);
    line-height: 1.7;
}

.read-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    font-family: var(--font-title);
    font-weight: 600;
    color: var(--color-primary);
    transition: var(--transition-fast);
}

.read-more-btn:hover {
    color: var(--color-accent);
}

.read-more-btn i {
    transition: transform 0.2s ease;
}

.read-more-btn:hover i {
    transform: translateX(5px);
}

/* Inline Ad slots between highlights */
.inline-content-ad-block {
    margin-bottom: 40px;
    width: 100%;
}

.mock-inline-ad-banner {
    background: var(--bg-secondary);
    border: 2px dashed var(--border-color);
    height: 90px;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-light);
    font-family: var(--font-title);
    font-size: 0.90rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* ==========================================================================
   5. QUICK HEADLINES TICKER STRIP
   ========================================================================== */
.quick-headlines-ticker-strip {
    background-color: var(--bg-card);
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 12px 0;
    margin-bottom: 40px;
    overflow: hidden;
}

.quick-strip-inner {
    display: flex;
    align-items: center;
    gap: 20px;
}

.strip-label {
    background-color: var(--color-accent);
    color: #FFFFFF;
    font-family: var(--font-title);
    font-size: 1rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: var(--border-radius-sm);
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    animation: flashTicker 1.5s infinite alternate;
}

@keyframes flashTicker {
    0% { opacity: 1; }
    100% { opacity: 0.85; }
}

.strip-posts-wrapper {
    display: flex;
    gap: 40px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none; /* Firefox */
}

.strip-posts-wrapper::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.strip-post-item {
    color: var(--text-main);
    font-family: var(--font-title);
    font-size: 1.05rem;
    font-weight: 500;
    white-space: nowrap;
    position: relative;
    padding-left: 15px;
}

.strip-post-item::before {
    content: "•";
    color: var(--color-primary);
    position: absolute;
    left: 0;
    font-size: 1.2rem;
}

.strip-post-item:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

/* ==========================================================================
   6. DUAL COLUMN LAYOUT & CATEGORY BLOCKS (Politics, Sports, etc)
   ========================================================================== */
.dual-column-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    margin-bottom: 50px;
}

.left-main-content-column {
    display: flex;
    flex-direction: column;
    gap: 45px;
}

/* Category news blocks section structure */
.category-block-section {
    background-color: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    padding: 25px;
    transition: var(--transition-smooth);
}

.category-block-section:hover {
    box-shadow: var(--shadow-md);
}

/* Category block title bars */
.category-header-title-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3px solid var(--color-primary);
    margin-bottom: 25px;
    padding-bottom: 0px;
}

.category-title {
    color: #FFFFFF;
    background-color: var(--color-primary);
    font-size: 1.35rem;
    font-weight: 700;
    padding: 8px 24px;
    margin: 0;
    border-radius: var(--border-radius-sm) var(--border-radius-sm) 0 0;
    display: inline-block;
    letter-spacing: 0.5px;
}

.view-all-category-link {
    font-family: var(--font-title);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-light);
    display: flex;
    align-items: center;
    gap: 6px;
    transition: var(--transition-fast);
}

.view-all-category-link:hover {
    color: var(--color-primary);
}

/* Internal Category grid loop cards */
.category-grid-wrapper {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 25px;
}

/* Left Large Featured Block Card with beautiful overlay */
.category-featured-left-card {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.featured-card-overlay-bg {
    position: relative;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    height: 250px;
    box-shadow: var(--shadow-subtle);
}

.featured-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.featured-card-overlay-bg:hover .featured-card-img {
    transform: scale(1.05);
}

/* Blue Gradient overlay bottom for high typography readability as in screenshot */
.featured-card-overlay-bg::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70%;
    background: linear-gradient(to top, rgba(0, 28, 61, 0.95) 0%, rgba(0, 87, 184, 0.6) 50%, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
}

.featured-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    z-index: 2;
}

.featured-card-title {
    color: #FFFFFF;
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 6px;
    line-height: 1.35;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.featured-card-date {
    color: #E2E8F0;
    font-size: 0.8rem;
    font-family: var(--font-title);
    display: flex;
    align-items: center;
    gap: 6px;
}

.featured-card-excerpt {
    font-size: 0.95rem;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.6;
}

/* Right column smaller post list items */
.category-list-right-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 15px;
}

.category-list-item-horizontal {
    display: flex;
    gap: 15px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color);
}

.category-list-item-horizontal:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.list-item-thumb {
    width: 90px;
    height: 65px;
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    flex-shrink: 0;
}

.list-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.category-list-item-horizontal:hover .list-thumb-img {
    transform: scale(1.08);
}

.list-item-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.list-item-title {
    font-size: 1.02rem;
    line-height: 1.35;
    font-weight: 600;
    margin-bottom: 5px;
}

.list-item-title a {
    color: var(--text-main);
}

.list-item-title a:hover {
    color: var(--color-primary);
}

.list-item-date {
    color: var(--text-light);
    font-size: 0.75rem;
    font-family: var(--font-title);
}

/* ==========================================================================
   7. WIDGETIZED RIGHT SIDEBAR & ADVERTISEMENT DESIGN
   ========================================================================== */
.sidebar-right-column {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.widget {
    background-color: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    padding: 25px;
    transition: var(--transition-smooth);
}

.widget:hover {
    box-shadow: var(--shadow-md);
}

.widget-title {
    border-bottom: 2px solid var(--border-color);
    margin-bottom: 20px;
    padding-bottom: 10px;
    position: relative;
    font-size: 1.25rem;
    font-weight: 700;
}

.widget-title span {
    position: relative;
}

.widget-title::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 50px;
    height: 2px;
    background-color: var(--color-primary);
}

/* Trending / Popular Posts numerals widget matching screenshot */
.widget-trending-posts {
    padding: 25px;
}

.trending-list-wrapper {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.trending-item {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    padding-bottom: 14px;
    border-bottom: 1px dashed var(--border-color);
}

.trending-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.trending-rank {
    font-family: var(--font-title);
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--color-primary);
    line-height: 1;
    width: 35px;
    opacity: 0.8;
    transition: var(--transition-fast);
}

.trending-item:hover .trending-rank {
    transform: scale(1.1);
    color: var(--color-accent);
}

.trending-content {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.trending-item-cat {
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.trending-item-title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
}

.trending-item-title a {
    color: var(--text-main);
}

.trending-item-title a:hover {
    color: var(--color-primary);
}

/* Advertisement frames in sidebar */
.widget-sidebar-advertisement {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    text-align: center;
}

.widget-sidebar-advertisement:hover {
    box-shadow: none;
}

.ad-sidebar-label {
    font-family: var(--font-title);
    font-size: 0.75rem;
    color: var(--text-light);
    display: block;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.sidebar-ad-frame {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mock-sidebar-ad-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-subtle);
    border-radius: var(--border-radius-md);
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-light);
    font-family: var(--font-title);
    font-size: 0.9rem;
    border: 2px dashed var(--border-color);
    transition: var(--transition-smooth);
}

.mock-sidebar-ad-card:hover {
    border-color: var(--color-primary);
}

.mock-sidebar-ad-card.card-tall {
    height: 600px;
}

/* Social Box Grid Widgets */
.social-connect-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.social-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 15px 10px;
    border-radius: var(--border-radius-md);
    color: #FFFFFF;
    transition: var(--transition-smooth);
}

.social-box i {
    font-size: 1.5rem;
    margin-bottom: 6px;
}

.social-count {
    font-size: 0.7rem;
    font-weight: 500;
}

.social-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.social-box.facebook { background-color: #3b5998; }
.social-box.youtube { background-color: #bb0000; }
.social-box.twitter { background-color: #1da1f2; }
.social-box.instagram { background-color: #e1306c; }

/* ==========================================================================
   8. IMMERSIVE READING VIEW (single.php & comments.php)
   ========================================================================== */
/* Reading scroll tracker progress bar */
.reading-progress-container {
    position: fixed;
    top: 52px; /* Navigation bar offset depending on menu height */
    left: 0;
    width: 100%;
    height: 4px;
    background: transparent;
    z-index: 998;
}

.reading-progress-indicator {
    height: 100%;
    width: 0%;
    background-color: var(--color-accent);
    transition: width 0.1s ease;
}

.single-post-view {
    padding-top: 40px;
}

.single-post-article {
    background-color: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    padding: 40px;
    margin-bottom: 40px;
}

.single-post-category-tag {
    margin-bottom: 15px;
}

.cat-badge-btn {
    background-color: rgba(var(--color-primary-rgb), 0.1);
    color: var(--color-primary);
    font-family: var(--font-title);
    font-size: 0.85rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: var(--border-radius-sm);
    display: inline-block;
}

.cat-badge-btn:hover {
    background-color: var(--color-accent);
    color: #FFFFFF;
}

.single-post-title {
    font-size: 2.6rem;
    line-height: 1.3;
    font-weight: 800;
    margin-bottom: 20px;
}

.single-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 0.85rem;
    color: var(--text-light);
    font-family: var(--font-title);
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 30px;
}

.single-post-featured-media {
    position: relative;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: var(--shadow-subtle);
}

.single-article-img {
    width: 100%;
    max-height: 550px;
    object-fit: cover;
}

.media-caption {
    background: rgba(15, 23, 42, 0.85);
    color: #F8FAFC;
    padding: 8px 15px;
    font-size: 0.8rem;
    display: block;
    border-top: 2px solid var(--color-primary);
}

/* Share Strip styling */
.single-post-share-strip {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    padding: 15px 20px;
    background-color: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    margin-bottom: 30px;
}

.share-label {
    font-family: var(--font-title);
    font-weight: 700;
    font-size: 0.95rem;
}

.share-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.share-btn {
    color: #FFFFFF;
    font-family: var(--font-title);
    font-size: 0.85rem;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: var(--border-radius-sm);
    display: flex;
    align-items: center;
    gap: 6px;
    transition: var(--transition-smooth);
}

.share-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    color: #FFFFFF;
}

.share-btn.fb { background-color: #3b5998; }
.share-btn.tw { background-color: #1da1f2; }
.share-btn.viber { background-color: #7360f2; }
.share-btn.wa { background-color: #25d366; }

/* Dynamic premium typography content styling */
.single-post-article-content {
    font-size: 1.18rem;
    line-height: 1.95;
    color: var(--text-main);
    letter-spacing: 0.1px;
}

.single-post-article-content p {
    margin-top: 0;
    margin-bottom: 1.6em;
}

.single-post-article-content h2,
.single-post-article-content h3 {
    margin-top: 1.5em;
    margin-bottom: 0.6em;
    font-weight: 800;
}

.single-post-article-content blockquote {
    border-left: 5px solid var(--color-primary);
    background-color: var(--bg-secondary);
    margin: 25px 0;
    padding: 20px 25px;
    font-style: italic;
    border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
}

/* Author Box Biography card */
.post-author-profile-box {
    display: flex;
    gap: 25px;
    align-items: center;
    background-color: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    padding: 30px;
    margin-top: 40px;
    border-left: 4px solid var(--color-primary);
}

.author-avatar-img img {
    border-radius: 50%;
    border: 3px solid var(--bg-card);
    box-shadow: var(--shadow-subtle);
}

.author-details-bio h4 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.author-bio-text {
    font-size: 0.92rem;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.6;
}

/* Comment Form section styling (comments.php) */
.comments-section-container {
    background-color: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    padding: 40px;
    margin-bottom: 40px;
}

.comments-title-header {
    font-size: 1.4rem;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 12px;
    margin-bottom: 25px;
}

.comment-list-wrapper {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.comment-list-wrapper .comment {
    display: flex;
    flex-direction: column;
    padding: 20px;
    background-color: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    border-left: 3px solid var(--border-color);
}

.comment-list-wrapper .children {
    list-style: none;
    margin-left: 40px;
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.comment-body {
    display: flex;
    gap: 15px;
}

.comment-meta {
    margin-bottom: 8px;
}

.comment-author cite {
    font-style: normal;
    font-weight: 700;
    color: var(--text-main);
}

.comment-metadata {
    font-size: 0.75rem;
    color: var(--text-light);
}

.comment-content {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-muted);
}

.reply {
    margin-top: 10px;
    text-align: right;
}

.comment-reply-link {
    font-family: var(--font-title);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-primary);
}

/* Comment feedback fields styling */
.comment-respond {
    margin-top: 30px;
}

.reply-title {
    font-size: 1.3rem;
    margin-bottom: 20px;
}

.comment-form-flex-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.comment-input-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 15px;
}

.comment-input-col.full-width {
    grid-column: span 2;
    margin-bottom: 20px;
}

.comment-input-col label {
    font-size: 0.9rem;
    font-weight: 600;
    font-family: var(--font-title);
    color: var(--text-muted);
}

.comment-input-col input,
.comment-input-col textarea {
    border: 1px solid var(--border-color);
    background-color: var(--bg-secondary);
    color: var(--text-main);
    padding: 10px 14px;
    border-radius: var(--border-radius-sm);
    outline: none;
    transition: var(--transition-fast);
}

.comment-input-col input:focus,
.comment-input-col textarea:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.15);
    background-color: var(--bg-card);
}

.submit-comment-btn {
    background-color: var(--color-primary);
    color: #FFFFFF;
    border: none;
    padding: 12px 25px;
    font-family: var(--font-title);
    font-size: 1.05rem;
    font-weight: 700;
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: var(--transition-smooth);
}

.submit-comment-btn:hover {
    background-color: var(--color-accent);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* ==========================================================================
   9. STATIC PAGES & ARCHIVES (category.php & search.php)
   ========================================================================== */
.archive-header-banner {
    background-color: #001C3D;
    color: #FFFFFF;
    padding: 40px 0;
    margin-bottom: 40px;
}

.archive-label {
    font-family: var(--font-title);
    font-size: 0.9rem;
    text-transform: uppercase;
    color: #94A3B8;
    letter-spacing: 1px;
}

.archive-title-heading {
    font-size: 2.4rem;
    color: #FFFFFF;
    margin: 5px 0 0 0;
}

.archive-title-heading i {
    color: var(--color-primary);
}

.archive-description-text {
    margin-top: 10px;
    color: #CBD5E1;
    font-size: 0.95rem;
    max-width: 700px;
}

.archive-posts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.archive-grid-card {
    background-color: var(--bg-card);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    overflow: hidden;
    transition: var(--transition-smooth);
}

.archive-grid-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.card-thumb-container {
    height: 200px;
    overflow: hidden;
}

.archive-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.archive-grid-card:hover .archive-card-img {
    transform: scale(1.04);
}

.card-text-container {
    padding: 20px;
}

.card-date-badge {
    color: var(--text-light);
    font-family: var(--font-title);
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.card-title-text {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 10px;
}

.card-title-text a {
    color: var(--text-main);
}

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

.card-excerpt-text {
    font-size: 0.9rem;
    color: var(--text-muted);
    line-height: 1.6;
    margin: 0;
}

.pagination-navigation-row {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.pagination-navigation-row .page-numbers {
    background-color: var(--bg-card);
    border: 1px solid var(--border-color);
    color: var(--text-main);
    padding: 8px 15px;
    margin: 0 4px;
    border-radius: var(--border-radius-sm);
    font-family: var(--font-title);
    font-weight: 600;
    transition: var(--transition-fast);
}

.pagination-navigation-row .page-numbers.current,
.pagination-navigation-row .page-numbers:hover {
    background-color: var(--color-primary);
    color: #FFFFFF;
    border-color: var(--color-primary);
}

/* Empty or Fallback card designs */
.empty-search-fallback-card {
    background-color: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    padding: 50px 30px;
    text-align: center;
}

.fallback-icon {
    font-size: 3.5rem;
    color: var(--color-accent);
    margin-bottom: 20px;
}

.fallback-search-form {
    display: flex;
    max-width: 450px;
    margin: 25px auto 0 auto;
    gap: 8px;
}

.fallback-search-input {
    flex-grow: 1;
    border: 1px solid var(--border-color);
    padding: 10px 14px;
    border-radius: var(--border-radius-sm);
    background-color: var(--bg-secondary);
    color: var(--text-main);
}

.fallback-search-submit {
    background-color: var(--color-primary);
    color: #FFFFFF;
    border: none;
    padding: 10px 20px;
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    font-family: var(--font-title);
    font-weight: 700;
}

.static-page-card {
    background-color: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    padding: 40px;
    margin-bottom: 40px;
}

.static-page-title {
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 25px;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 12px;
}

.static-page-featured-media {
    border-radius: var(--border-radius-md);
    overflow: hidden;
    margin-bottom: 30px;
}

.page-hero-img {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
}

.static-page-content {
    font-size: 1.08rem;
    line-height: 1.8;
    color: var(--text-main);
}

/* ==========================================================================
   10. MAIN FOOTER & NEWSLETTER STYLING (footer.php)
   ========================================================================== */
.inline-footer-ad-zone {
    margin-bottom: 40px;
    text-align: center;
}

.mock-footer-ad-banner {
    background: var(--bg-secondary);
    border: 2px dashed var(--border-color);
    height: 90px;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-light);
    font-family: var(--font-title);
    font-size: 0.90rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.site-main-footer {
    background-color: #001C3D;
    color: #E2E8F0;
    padding-top: 60px;
    margin-top: auto;
    border-top: 4px solid var(--color-primary);
}

.footer-grid-container {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 1fr;
    gap: 40px;
    padding-bottom: 50px;
}

.footer-widget-col {
    display: flex;
    flex-direction: column;
}

.footer-brand-title {
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 15px;
    letter-spacing: -0.5px;
}

.footer-brand-title span {
    color: var(--color-primary);
}

.footer-description {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #94A3B8;
    margin: 0 0 20px 0;
}

.footer-reg-details {
    font-size: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #CBD5E1;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 15px;
    border-radius: var(--border-radius-md);
}

.footer-reg-details p {
    margin: 0;
}

.footer-reg-details i {
    color: var(--color-primary);
    width: 18px;
}

.footer-widget-title {
    color: #FFFFFF;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    position: relative;
}

.footer-widget-title::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 35px;
    height: 1px;
    background-color: var(--color-primary);
}

.footer-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-links-list li a {
    color: #94A3B8;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition-fast);
}

.footer-links-list li a:hover {
    color: #FFFFFF;
    transform: translateX(3px);
}

.footer-links-list li a i {
    font-size: 0.65rem;
    color: var(--color-primary);
}

.footer-contact-details {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 0.9rem;
    color: #94A3B8;
    margin-bottom: 20px;
}

.footer-contact-details p {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-contact-details i {
    color: var(--color-primary);
    font-size: 1rem;
}

.footer-social-strip {
    display: flex;
    gap: 12px;
}

.social-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background-color: rgba(255,255,255,0.05);
    font-size: 0.95rem;
    transition: var(--transition-smooth);
}

.social-circle:hover {
    color: #FFFFFF;
    transform: translateY(-2px);
}

.social-circle.fb:hover { background-color: #3b5998; }
.social-circle.tw:hover { background-color: #1da1f2; }
.social-circle.yt:hover { background-color: #bb0000; }
.social-circle.ig:hover { background-color: #e1306c; }

/* Footer bottom copyright line */
.footer-copyright-strip {
    background-color: #001229;
    padding: 20px 0;
    font-size: 0.85rem;
    color: #64748B;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
}

.copyright-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.copyright-text {
    margin: 0;
}

.developer-credit {
    margin: 0;
}

.developer-credit i {
    animation: pulseHeart 1.5s infinite;
}

.text-red {
    color: var(--color-accent);
}

@keyframes pulseHeart {
    0% { transform: scale(1); }
    50% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

/* ==========================================================================
   11. COMPACT NEWSPAPER-STYLE HOMEPAGE LAYOUT (Redesigned index.php)
   ========================================================================== */

/* -- Global Compact Container -- */
.site-container-compact {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
}

.compact-newspaper-layout {
    padding-top: 0;
    padding-bottom: 30px;
}

/* -- Category Modules Wrapper (holds all below-hero sections) -- */
.category-modules-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ==========================================================================
   11a. HERO NEWS SECTION
   ========================================================================== */
.hero-news-section {
    padding-top: 28px;
    padding-bottom: 10px;
}

.hero-news-container {
    text-align: center;
}

.hero-news-header {
    margin-bottom: 18px;
}

.category-accent-badge {
    display: inline-block;
    background-color: var(--color-accent);
    color: #FFFFFF;
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 0.85rem;
    font-weight: 700;
    padding: 3px 14px;
    border-radius: var(--border-radius-sm);
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.hero-news-title {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 42px;
    font-weight: 700;
    line-height: 1.22;
    margin: 0;
    color: var(--text-main);
}

.hero-news-title a {
    color: inherit;
    transition: var(--transition-fast);
}

.hero-news-title a:hover {
    color: var(--color-primary);
}

/* Hero Featured Image */
.hero-news-media {
    width: 100%;
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    margin-bottom: 0;
    box-shadow: var(--shadow-subtle);
}

.hero-media-img {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.hero-news-media:hover .hero-media-img {
    transform: scale(1.02);
}

/* ==========================================================================
   11b. MINI NEWS THUMBNAILS ROW (4-column grid below hero)
   ========================================================================== */
.hero-mini-thumbnails-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 16px;
}

.mini-thumbnail-card {
    background: var(--bg-card);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    transition: var(--transition-smooth);
}

.mini-thumbnail-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.mini-card-thumb {
    width: 100%;
    height: 110px;
    overflow: hidden;
}

.mini-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.mini-thumbnail-card:hover .mini-thumb-img {
    transform: scale(1.06);
}

.mini-card-headline {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    padding: 8px 10px 10px;
    margin: 0;
    color: var(--text-main);
}

.mini-card-headline a {
    color: inherit;
}

.mini-card-headline a:hover {
    color: var(--color-primary);
}

/* ==========================================================================
   11c. QUICK HEADLINE TICKER STRIP (Compact version)
   ========================================================================== */
.quick-headline-ticker-strip {
    background-color: var(--bg-card);
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 10px 0;
    margin-bottom: 14px;
    overflow: hidden;
}

/* ==========================================================================
   11d. HORIZONTAL AD BANNER SPACING
   ========================================================================== */
.ad-banner-spacing {
    margin-top: 16px;
    margin-bottom: 16px;
}

.mock-horizontal-ad-strip {
    background: #e8ffe8;
    border: 2px dashed #8bc48b;
    height: 90px;
    border-radius: var(--border-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4a8a4a;
    font-family: var(--font-title);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: var(--transition-fast);
}

.mock-horizontal-ad-strip.accent-green {
    background: #dff5e1;
    border-color: #5aad5e;
    color: #3b7a3e;
}

/* ==========================================================================
   11e. REUSABLE CATEGORY MODULE (Core repeating layout)
   ========================================================================== */
.reusable-category-module {
    background: var(--bg-card);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    margin-bottom: 20px;
    padding: 0;
    transition: var(--transition-smooth);
}

.reusable-category-module:hover {
    box-shadow: var(--shadow-md);
}

/* Colored top accent borders per category */
.reusable-category-module.theme-red {
    border-top: 4px solid #E63946;
}

.reusable-category-module.theme-green {
    border-top: 4px solid #27AE60;
}

.reusable-category-module.theme-blue {
    border-top: 4px solid var(--color-primary);
}

.reusable-category-module.theme-purple {
    border-top: 4px solid #8E44AD;
}

/* Module Title Bar */
.module-title-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

.module-title {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 24px;
    font-weight: 700;
    margin: 0;
    color: var(--text-main);
    line-height: 1;
}

/* Module Grid: 40% Left Featured / 60% Right Small News */
.module-grid-wrapper {
    display: grid;
    grid-template-columns: 40% 60%;
    gap: 0;
    min-height: 280px;
}

/* -- Left Large Feature Card (40%) -- */
.module-large-feature-card {
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
}

.large-feature-card-link {
    display: block;
    flex-grow: 1;
}

.large-feature-overlay {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.large-feature-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.module-large-feature-card:hover .large-feature-img {
    transform: scale(1.04);
}

.large-feature-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 14px 16px;
    background: linear-gradient(transparent, rgba(0,0,0,0.8));
    z-index: 2;
}

.large-feature-title {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 22px;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0;
    line-height: 1.3;
    text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

.large-feature-excerpt {
    font-size: 0.88rem;
    color: var(--text-muted);
    padding: 10px 16px 14px;
    margin: 0;
    line-height: 1.55;
}

/* -- Right News Grid (60%): 2-column mini cards -- */
.module-right-news-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 0;
}

.module-small-news-card {
    display: flex;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border-color);
    border-left: 1px solid var(--border-color);
    transition: var(--transition-fast);
    align-items: flex-start;
}

.module-small-news-card:hover {
    background: var(--bg-secondary);
}

.small-card-thumb {
    width: 70px;
    height: 55px;
    border-radius: 3px;
    overflow: hidden;
    flex-shrink: 0;
}

.small-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.module-small-news-card:hover .small-thumb-img {
    transform: scale(1.06);
}

.small-card-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    min-width: 0;
}

.small-card-title {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 14px;
    font-weight: 700;
    margin: 0;
    line-height: 1.35;
    color: var(--text-main);
}

.small-card-title a {
    color: inherit;
}

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

.small-card-date {
    font-size: 0.72rem;
    color: var(--text-light);
    font-family: var(--font-title);
}

/* ==========================================================================
   11f. THREE-COLUMN AD GRID (Featured + List + Vertical Ad)
   ========================================================================== */
.three-column-ad-grid-wrapper {
    display: grid;
    grid-template-columns: 35% 40% 25%;
    gap: 0;
    min-height: 300px;
}

.three-column-ad-grid-wrapper .module-large-feature-card {
    border-right: 1px solid var(--border-color);
}

/* Middle News List column */
.module-middle-news-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-right: 1px solid var(--border-color);
}

.module-middle-news-list .module-small-news-card {
    border-left: none;
}

/* Right Vertical Ad Column */
.module-vertical-ad-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 14px 12px;
    background: var(--bg-secondary);
}

.vertical-ad-label {
    display: block;
    font-family: var(--font-title);
    font-size: 0.72rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.mock-vertical-ad-sidebar {
    width: 100%;
    flex-grow: 1;
    min-height: 250px;
    background: var(--bg-card);
    border: 2px dashed var(--border-color);
    border-radius: var(--border-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-fast);
}

.mock-vertical-ad-sidebar:hover {
    border-color: var(--color-primary);
}

.mock-ad-placeholder-text {
    color: var(--text-light);
    font-family: var(--font-title);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ==========================================================================
   11g. EDITORIAL & INTERVIEW TWO-COLUMN LAYOUT
   ========================================================================== */
.editorial-interview-section {
    background: var(--bg-card);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    margin-bottom: 20px;
}

.editorial-grid-flex {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.editorial-left-col {
    border-right: 1px solid var(--border-color);
}

.editorial-right-col {
    display: flex;
    flex-direction: column;
}

/* Title bar accent stripe for editorial/interview */
.module-title-bar-accent {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
}

.module-title-editorial {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    color: var(--text-main);
    position: relative;
    padding-left: 14px;
}

.module-title-editorial::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    bottom: 2px;
    width: 4px;
    background: var(--color-primary);
    border-radius: 2px;
}

/* Interview Featured Card (Left column) */
.interview-featured-card {
    padding: 14px;
}

.interview-link {
    display: block;
}

.interview-overlay {
    position: relative;
    width: 100%;
    height: 200px;
    border-radius: var(--border-radius-sm);
    overflow: hidden;
}

.interview-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.interview-featured-card:hover .interview-img {
    transform: scale(1.04);
}

.play-icon-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
    z-index: 3;
    transition: var(--transition-smooth);
    pointer-events: none;
}

.interview-featured-card:hover .play-icon-overlay {
    transform: translate(-50%, -50%) scale(1.15);
    color: #FFFFFF;
}

.interview-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 14px;
    background: linear-gradient(transparent, rgba(0,0,0,0.75));
    z-index: 2;
}

.interview-title {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 18px;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0;
    line-height: 1.3;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

.interview-excerpt {
    font-size: 0.85rem;
    color: var(--text-muted);
    padding: 10px 0 0;
    margin: 0;
    line-height: 1.5;
}

/* Editorial List (Right column items) */
.editorial-list-widget {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex-grow: 1;
}

.editorial-item-box {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-color);
    transition: var(--transition-fast);
}

.editorial-item-box:last-child {
    border-bottom: none;
}

.editorial-item-box:hover {
    background: var(--bg-secondary);
}

.editorial-bullet {
    width: 8px;
    height: 8px;
    background: var(--color-primary);
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 7px;
}

.editorial-text-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.editorial-item-title {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    line-height: 1.4;
}

.editorial-item-title a {
    color: var(--text-main);
}

.editorial-item-title a:hover {
    color: var(--color-primary);
}

.editorial-author {
    font-size: 0.75rem;
    color: var(--text-light);
    font-family: var(--font-title);
}

.editorial-author i {
    color: var(--color-primary);
    margin-right: 3px;
}

/* ==========================================================================
   11h. TEXT-ONLY HEADLINE LIST WIDGET
   ========================================================================== */
.text-headlines-list-section {
    background: var(--bg-card);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-subtle);
    border: 1px solid var(--border-color);
    margin-bottom: 20px;
}

.text-headlines-list-section .module-title-bar {
    border-bottom: 1px solid var(--border-color);
}

.headline-list-widget-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.headline-list-col {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.headline-list-col:first-child {
    border-right: 1px solid var(--border-color);
}

.text-headline-row-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    transition: var(--transition-fast);
}

.text-headline-row-item:last-child {
    border-bottom: none;
}

.text-headline-row-item:hover {
    background: var(--bg-secondary);
}

.text-accent-bullet {
    color: var(--color-primary);
    font-size: 0.7rem;
    flex-shrink: 0;
    margin-top: 4px;
}

.text-headline-link-title {
    font-family: 'Noto Sans Devanagari', var(--font-title);
    font-size: 14px;
    font-weight: 700;
    margin: 0;
    line-height: 1.4;
    flex-grow: 1;
}

.text-headline-link-title a {
    color: var(--text-main);
}

.text-headline-link-title a:hover {
    color: var(--color-primary);
}

.text-headline-time {
    font-size: 0.7rem;
    color: var(--text-light);
    font-family: var(--font-title);
    white-space: nowrap;
    flex-shrink: 0;
    margin-top: 2px;
}

.text-headline-time i {
    margin-right: 3px;
    color: var(--color-primary);
}

/* Dynamic middle category modules: responsive refinements only */
@media (max-width: 900px) {
    .module-grid-wrapper,
    .three-column-ad-grid-wrapper,
    .editorial-grid-flex,
    .headline-list-widget-grid {
        grid-template-columns: 1fr;
    }

    .module-large-feature-card,
    .editorial-left-col,
    .headline-list-col:first-child,
    .three-column-ad-grid-wrapper .module-large-feature-card,
    .module-middle-news-list {
        border-right: none;
    }

    .module-right-news-grid {
        grid-template-columns: 1fr 1fr;
        border-top: 1px solid var(--border-color);
    }

    .module-small-news-card {
        border-left: none;
    }
}

@media (max-width: 560px) {
    .module-title-bar {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        padding: 12px 14px;
    }

    .module-title {
        font-size: 20px;
        line-height: 1.2;
    }

    .module-grid-wrapper {
        min-height: 0;
    }

    .large-feature-overlay,
    .interview-overlay {
        height: 180px;
    }

    .large-feature-title {
        font-size: 18px;
    }

    .module-right-news-grid {
        grid-template-columns: 1fr;
    }

    .module-small-news-card {
        padding: 10px 12px;
    }

    .small-card-thumb {
        width: 82px;
        height: 62px;
    }

    .small-card-title,
    .text-headline-link-title,
    .editorial-item-title {
        font-size: 14px;
    }
}

/* ==========================================================================
   12. CUSTOM MEDIA QUERIES (FULL RESPONSIVE SYSTEM)
   ========================================================================== */
@media (max-width: 1024px) {
    :root {
        --site-max-width: 100%;
    }
    
    .dual-column-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    
    .footer-grid-container {
        grid-template-columns: 1.2fr 1fr;
    }
    
    .footer-widget-col:last-child {
        grid-column: span 2;
        margin-top: 20px;
    }
    
    .header-banner-ad {
        display: none;
    }
    
    .branding-flex {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .site-title-branding {
        font-size: 2.3rem;
    }
    
    .top-bar-flex {
        flex-direction: column;
        gap: 8px;
    }
    
    /* Responsive Hamburger Navigation drawer sliding in */
    .burger-menu-btn {
        display: flex;
        z-index: 1001;
    }
    
    .nav-menu-wrap {
        position: fixed;
        top: 0;
        left: -280px;
        width: 280px;
        height: 100vh;
        background-color: #001C3D;
        box-shadow: 4px 0 15px rgba(0,0,0,0.15);
        z-index: 1000;
        transition: var(--transition-smooth);
        padding-top: 70px;
        overflow-y: auto;
    }
    
    .nav-menu-wrap.active {
        left: 0;
    }
    
    .primary-menu-list {
        flex-direction: column;
        padding-left: 10px;
        padding-right: 10px;
    }
    
    .primary-menu-list li a {
        padding: 12px 20px;
        border-top: none;
        border-left: 3px solid transparent;
        font-size: 1.1rem;
    }
    
    .primary-menu-list li a:hover,
    .primary-menu-list li a.active-item {
        background-color: rgba(255, 255, 255, 0.05);
        border-left-color: var(--color-accent);
    }
    
    /* Responsive Mobile nested sub-menu configurations */
    .primary-menu-list li ul.sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        background-color: rgba(0, 0, 0, 0.15);
        box-shadow: none;
        border-radius: 0;
        border-top: none;
        min-width: 100%;
        padding: 5px 0 5px 15px;
        display: none;
        animation: none;
    }

    /* Expand submenu inside mobile drawer on focus or hover */
    .primary-menu-list li.menu-item-has-children:hover ul.sub-menu,
    .primary-menu-list li.menu-item-has-children:focus-within ul.sub-menu {
        display: block;
    }

    .primary-menu-list li ul.sub-menu li a {
        font-size: 0.95rem;
        padding: 10px 20px;
        color: #CBD5E1;
        border-left: 2px solid transparent;
        border-top: none;
        background: none;
    }

    .primary-menu-list li ul.sub-menu li a:hover {
        color: #FFFFFF;
        border-left-color: var(--color-accent);
        padding-left: 24px;
        background: none;
    }
    
    .search-form-overlay {
        width: calc(100% - 40px);
        right: 20px;
    }
    
    /* Category grids collapse to single columns */
    .category-grid-wrapper {
        grid-template-columns: 1fr;
    }
    
    .archive-posts-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-grid-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .footer-widget-col:last-child {
        grid-column: span 1;
        margin-top: 0;
    }
    
    .copyright-flex {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
    
    .comment-form-flex-row {
        grid-template-columns: 1fr;
    }
    
    .comment-input-col.full-width {
        grid-column: span 1;
    }
    
    .highlight-title {
        font-size: 1.7rem;
    }
    
    .single-post-title {
        font-size: 1.95rem;
    }
    
    .single-post-article {
        padding: 20px;
    }
    
    .comments-section-container {
        padding: 20px;
    }
    
    .comment-list-wrapper .children {
        margin-left: 15px;
    }
    
    .highlight-stacked-card {
        padding: 15px;
    }
}

/* ==========================================================================
   Professional news portal shell refinements
   ========================================================================== */
.top-utility-bar {
    background: #061b33;
    padding: 7px 0;
    font-size: 13px;
}

.top-bar-flex,
.branding-flex,
.nav-flex {
    gap: 18px;
}

.top-bar-left,
.top-bar-right {
    gap: 16px;
}

.top-bar-item,
.top-bar-link {
    color: rgba(255, 255, 255, 0.82);
}

.top-bar-link:hover {
    color: #ffffff;
}

.theme-toggle-btn {
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.12);
}

.branding-header-zone {
    background: #ffffff;
    padding: 22px 0;
    border-bottom: 1px solid #e1e7ef;
}

.branding-flex {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
}

.logo-block {
    align-items: flex-start;
    min-width: max-content;
}

.site-title-branding {
    font-family: "Noto Sans Devanagari", "Mukta", Arial, sans-serif;
    font-size: clamp(30px, 3vw, 42px);
    letter-spacing: 0;
}

.site-title-branding .prefix {
    color: #1f2933;
}

.site-title-branding .suffix {
    color: #003366;
}

.site-tagline {
    color: #6b7280;
    font-size: 13px;
    letter-spacing: 0;
    text-transform: none;
}

.header-banner-ad {
    max-width: 728px;
}

.mock-header-ad,
.mock-footer-ad-banner,
.mock-inline-ad-banner {
    background: #f1f5f9;
    border: 1px dashed #b8c5d6;
    border-radius: 8px;
    color: #52657a;
}

.main-navigation-bar {
    background: #003366;
    box-shadow: 0 8px 18px rgba(0, 20, 48, 0.12);
}

.main-navigation-bar.scrolled {
    background: #00294f;
}

.primary-menu-list {
    align-items: center;
    gap: 2px;
}

.primary-menu-list li a {
    border-top: 0;
    border-bottom: 3px solid transparent;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    padding: 15px 14px 13px;
}

.primary-menu-list li a:hover,
.primary-menu-list li a.active-item {
    background-color: rgba(255, 255, 255, 0.08);
    border-bottom-color: #e21b2d;
    border-top-color: transparent;
}

.primary-menu-list li ul.sub-menu {
    background: #061b33;
    border-top-color: #e21b2d;
}

.search-trigger-btn {
    padding: 14px;
}

.inline-footer-ad-zone {
    margin-top: 34px;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.site-main-footer {
    background: #061b33;
    border-top: 3px solid #e21b2d;
    margin-top: 38px;
    padding-top: 34px;
}

.footer-grid-container {
    grid-template-columns: minmax(0, 1.25fr) minmax(180px, 0.75fr) minmax(0, 1fr);
    gap: 28px;
    padding-bottom: 30px;
}

.footer-brand-title {
    font-size: 24px;
    margin-bottom: 10px;
}

.footer-brand-title span {
    color: #68a6ff;
}

.footer-description {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 14px;
}

.footer-reg-details {
    background: rgba(255, 255, 255, 0.035);
    border-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    gap: 6px;
    padding: 12px;
}

.footer-widget-title {
    font-size: 18px;
    margin-bottom: 16px;
    padding-bottom: 8px;
}

.footer-widget-title::after {
    background-color: #e21b2d;
    height: 2px;
}

.footer-links-list {
    gap: 8px;
}

.footer-links-list li a,
.footer-contact-details {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
}

.footer-social-strip {
    gap: 8px;
}

.social-circle {
    width: 32px;
    height: 32px;
}

.footer-copyright-strip {
    background: rgba(0, 0, 0, 0.18);
    padding: 12px 0;
}

.copyright-flex {
    align-items: center;
}

.copyright-text,
.developer-credit {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.68);
}

@media (max-width: 1024px) {
    .branding-flex {
        flex-direction: column;
        text-align: center;
    }

    .logo-block {
        align-items: center;
    }

    .footer-grid-container {
        grid-template-columns: 1fr 1fr;
    }

    .footer-widget-col:last-child {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .top-bar-flex {
        align-items: flex-start;
    }

    .top-bar-left,
    .top-bar-right {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 14px;
    }

    .branding-header-zone {
        padding: 18px 0;
    }

    .main-navigation-bar {
        padding: 10px 0;
    }

    .primary-menu-list li a {
        border-bottom: 0;
        border-left: 3px solid transparent;
        padding: 12px 18px;
    }

    .footer-grid-container {
        grid-template-columns: 1fr;
    }

    .footer-widget-col:last-child {
        grid-column: auto;
    }

    .copyright-flex {
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
}

/* Final shared shell standardization for all non-home templates. */
body.archive,
body.category,
body.search,
body.single,
body.page {
    background: #ffffff !important;
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
}

body.archive .site-container,
body.category .site-container,
body.search .site-container,
body.single .site-container,
body.page .site-container,
body.archive .portal-container,
body.category .portal-container,
body.single .portal-container {
    width: min(100% - 32px, 1440px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.archive .top-utility-bar,
body.category .top-utility-bar,
body.search .top-utility-bar,
body.single .top-utility-bar,
body.page .top-utility-bar {
    background: #ffffff !important;
    border-bottom: 0 !important;
    color: #1f2933 !important;
}

body.archive .top-bar-item,
body.archive .top-bar-item i,
body.archive .top-bar-link,
body.archive .theme-toggle-btn,
body.category .top-bar-item,
body.category .top-bar-item i,
body.category .top-bar-link,
body.category .theme-toggle-btn,
body.search .top-bar-item,
body.search .top-bar-item i,
body.search .top-bar-link,
body.search .theme-toggle-btn,
body.single .top-bar-item,
body.single .top-bar-item i,
body.single .top-bar-link,
body.single .theme-toggle-btn,
body.page .top-bar-item,
body.page .top-bar-item i,
body.page .top-bar-link,
body.page .theme-toggle-btn {
    color: #1f2933 !important;
}

body.archive .branding-header-zone,
body.category .branding-header-zone,
body.search .branding-header-zone,
body.single .branding-header-zone,
body.page .branding-header-zone {
    background: #ffffff !important;
    border-bottom: 1px solid #ececec !important;
    padding: 22px 0 24px !important;
}

body.archive .branding-flex,
body.category .branding-flex,
body.search .branding-flex,
body.single .branding-flex,
body.page .branding-flex {
    align-items: center !important;
    gap: 28px !important;
}

body.archive .site-title-branding,
body.category .site-title-branding,
body.search .site-title-branding,
body.single .site-title-branding,
body.page .site-title-branding {
    color: #000000 !important;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif !important;
    font-size: clamp(38px, 4vw, 64px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
}

body.archive .site-tagline,
body.category .site-tagline,
body.search .site-tagline,
body.single .site-tagline,
body.page .site-tagline {
    color: #636363 !important;
}

body.archive .main-navigation-bar,
body.category .main-navigation-bar,
body.search .main-navigation-bar,
body.single .main-navigation-bar,
body.page .main-navigation-bar {
    background: #ffffff !important;
    border-bottom: 1px solid #ececec !important;
    box-shadow: none !important;
}

body.archive .primary-menu-list a,
body.category .primary-menu-list a,
body.search .primary-menu-list a,
body.single .primary-menu-list a,
body.page .primary-menu-list a {
    background: transparent !important;
    border-bottom-color: transparent !important;
    color: #000000 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

body.archive .primary-menu-list a:hover,
body.archive .primary-menu-list .current-menu-item > a,
body.category .primary-menu-list a:hover,
body.category .primary-menu-list .current-menu-item > a,
body.search .primary-menu-list a:hover,
body.search .primary-menu-list .current-menu-item > a,
body.single .primary-menu-list a:hover,
body.single .primary-menu-list .current-menu-item > a,
body.page .primary-menu-list a:hover,
body.page .primary-menu-list .current-menu-item > a {
    color: #f09705 !important;
}

body.archive .search-trigger-btn,
body.category .search-trigger-btn,
body.search .search-trigger-btn,
body.single .search-trigger-btn,
body.page .search-trigger-btn {
    background: transparent !important;
    color: #000000 !important;
}

body.archive .archive-header-banner,
body.category .archive-header-banner,
body.search .archive-header-banner {
    background: #ffffff !important;
    border-bottom: 1px solid #ececec !important;
    margin: 0 0 24px !important;
    padding: 26px 0 22px !important;
}

body.archive .archive-label,
body.category .archive-label,
body.search .archive-label {
    color: #f09705 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body.archive .archive-title-heading,
body.category .archive-title-heading,
body.search .archive-title-heading {
    color: #000000 !important;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif !important;
    font-size: clamp(30px, 3vw, 46px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
}

body.archive .archive-title-heading i,
body.category .archive-title-heading i,
body.search .archive-title-heading i {
    color: #f09705 !important;
}

body.archive .dual-column-layout,
body.category .dual-column-layout,
body.search .dual-column-layout,
body.page .dual-column-layout,
body.single .portal-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 351px) !important;
    gap: 18px !important;
    align-items: start !important;
}

body.archive .left-main-content-column,
body.category .left-main-content-column,
body.search .left-main-content-column,
body.page .left-main-content-column,
body.single .portal-main-stream {
    border-right: 1px solid #ececec !important;
    min-width: 0 !important;
    padding-right: 18px !important;
}

body.archive .archive-posts-grid,
body.category .archive-posts-grid,
body.search .archive-posts-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}

body.archive .archive-grid-card,
body.category .archive-grid-card,
body.search .archive-grid-card {
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid #ececec !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 18px 0 !important;
    transform: none !important;
}

body.archive .card-thumb-container,
body.archive .card-thumb-container a,
body.category .card-thumb-container,
body.category .card-thumb-container a,
body.search .card-thumb-container,
body.search .card-thumb-container a {
    border-radius: 3px !important;
    display: block !important;
    height: 118px !important;
    overflow: hidden !important;
    width: 180px !important;
}

body.archive .archive-card-img,
body.category .archive-card-img,
body.search .archive-card-img {
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

body.archive .card-date-badge,
body.category .card-date-badge,
body.search .card-date-badge {
    display: none !important;
}

body.archive .card-title-text,
body.category .card-title-text,
body.search .card-title-text {
    color: #000000 !important;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif !important;
    font-size: clamp(22px, 2vw, 30px) !important;
    font-weight: 700 !important;
    line-height: 1.34 !important;
    margin: 0 !important;
}

body.archive .card-title-text a,
body.category .card-title-text a,
body.search .card-title-text a {
    color: #000000 !important;
}

body.archive .card-title-text a:hover,
body.category .card-title-text a:hover,
body.search .card-title-text a:hover {
    color: #f09705 !important;
}

body.archive .card-excerpt-text,
body.category .card-excerpt-text,
body.search .card-excerpt-text {
    color: #555555 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    margin: 8px 0 0 !important;
}

body.archive .portal-sidebar,
body.archive .sidebar-right-column,
body.category .portal-sidebar,
body.category .sidebar-right-column,
body.search .portal-sidebar,
body.search .sidebar-right-column,
body.single .portal-sidebar,
body.single .sidebar-right-column,
body.page .portal-sidebar,
body.page .sidebar-right-column {
    background: #ffffff !important;
    border: 0 !important;
    padding: 0 !important;
}

body.archive .portal-sidebar .widget,
body.category .portal-sidebar .widget,
body.search .portal-sidebar .widget,
body.single .portal-sidebar .widget,
body.page .portal-sidebar .widget {
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid #ececec !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 24px 0 !important;
}

body.archive .inline-footer-ad-zone,
body.category .inline-footer-ad-zone,
body.search .inline-footer-ad-zone,
body.single .inline-footer-ad-zone,
body.page .inline-footer-ad-zone {
    border-top: 1px solid #ececec !important;
    padding: 24px 0 !important;
}

body.archive .site-main-footer,
body.category .site-main-footer,
body.search .site-main-footer,
body.single .site-main-footer,
body.page .site-main-footer {
    background: #111111 !important;
    border-top: 0 !important;
    color: #ffffff !important;
}

body.archive .footer-copyright-strip,
body.category .footer-copyright-strip,
body.search .footer-copyright-strip,
body.single .footer-copyright-strip,
body.page .footer-copyright-strip {
    background: #000000 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

@media (max-width: 1024px) {
    body.archive .dual-column-layout,
    body.category .dual-column-layout,
    body.search .dual-column-layout,
    body.page .dual-column-layout,
    body.single .portal-shell {
        grid-template-columns: 1fr !important;
    }

    body.archive .left-main-content-column,
    body.category .left-main-content-column,
    body.search .left-main-content-column,
    body.page .left-main-content-column,
    body.single .portal-main-stream {
        border-right: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 700px) {
    body.archive .site-container,
    body.category .site-container,
    body.search .site-container,
    body.single .site-container,
    body.page .site-container,
    body.single .portal-container {
        width: min(100% - 24px, 1440px) !important;
    }

    body.archive .archive-grid-card,
    body.category .archive-grid-card,
    body.search .archive-grid-card {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    body.archive .card-thumb-container,
    body.archive .card-thumb-container a,
    body.category .card-thumb-container,
    body.category .card-thumb-container a,
    body.search .card-thumb-container,
    body.search .card-thumb-container a {
        height: 72px !important;
        width: 104px !important;
    }

    body.archive .card-title-text,
    body.category .card-title-text,
    body.search .card-title-text {
        font-size: 18px !important;
    }
}

/* Site Identity and top-bar fixes. */
body.home .top-utility-bar,
body.front-page .top-utility-bar,
.top-utility-bar {
    background: #ffffff;
    color: #1f2933;
}

body.home .top-bar-item,
body.home .top-bar-item i,
body.home .top-bar-link,
body.home .theme-toggle-btn,
body.front-page .top-bar-item,
body.front-page .top-bar-item i,
body.front-page .top-bar-link,
body.front-page .theme-toggle-btn,
.top-bar-item,
.top-bar-item i,
.top-bar-link,
.theme-toggle-btn {
    color: #1f2933;
}

body.home .top-bar-link:hover,
body.front-page .top-bar-link:hover,
.top-bar-link:hover {
    color: #f09705;
}

.site-logo-wrap,
.custom-logo-link,
.logo-link {
    display: inline-flex;
    align-items: center;
    max-width: min(100%, 420px);
}

.custom-logo {
    display: block;
    height: auto;
    max-height: 96px;
    max-width: 100%;
    width: auto;
}

.site-title-branding {
    margin: 0;
    word-break: break-word;
}

.site-tagline {
    margin-top: 8px;
}

.portal-sidebar .widget {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #ececec;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 24px 0;
}

.portal-sidebar .widget-title {
    border-bottom: 1px solid #ececec;
    color: #000000;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 16px;
    padding: 0 0 10px;
}

.portal-sidebar .hm-sidebar-ad-image {
    border-radius: 3px;
    display: block;
    height: auto;
    width: 100%;
}

.portal-sidebar .sidebar-ad-label {
    color: #8a8a8a;
    display: block;
    font-size: 12px;
    margin-bottom: 8px;
    text-align: center;
}

.logo-block.logo-block-centered {
    align-items: center;
    flex: 1 1 100%;
    text-align: center;
}

.logo-block.logo-block-centered .site-logo-wrap,
.logo-block.logo-block-centered .custom-logo-link,
.logo-block.logo-block-centered .logo-link {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

.logo-block.logo-block-centered .site-tagline {
    text-align: center;
}

/* Shared UI standardization across homepage, category, search, archive, page, and single views. */
body {
    background: #ffffff;
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    letter-spacing: 0;
}

.site-container,
.portal-container {
    width: min(100% - 32px, 1440px);
    margin-left: auto;
    margin-right: auto;
}

.top-utility-bar {
    background: #ffffff;
    border-bottom: 0;
    color: #1f2933;
}

.top-bar-flex {
    min-height: 40px;
}

.top-bar-item,
.top-bar-item i,
.top-bar-link,
.theme-toggle-btn {
    color: #1f2933;
}

.top-bar-link:hover,
.primary-menu-list a:hover,
.primary-menu-list .current-menu-item > a {
    color: #f09705;
}

.branding-header-zone {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    padding: 22px 0 24px;
}

.branding-flex {
    align-items: center;
    gap: 28px;
}

.site-title-branding {
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    font-size: clamp(38px, 4vw, 64px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.site-title-branding .prefix,
.site-title-branding .suffix {
    color: #000000;
}

.site-tagline {
    color: #636363;
}

.main-navigation-bar {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    box-shadow: none;
}

.primary-menu-list a {
    color: #000000;
    font-size: 16px;
    font-weight: 500;
}

.search-trigger-btn {
    background: transparent;
    color: #000000;
}

.mock-header-ad,
.mock-footer-ad-banner,
.sidebar-ad-box,
.inline-article-ad-placeholder {
    background: #f7f8ff;
    border: 1px dashed #d8d8d8;
    border-radius: 0;
    color: #8a8a8a;
}

.archive-header-banner,
.search-banner {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    margin: 0 0 24px;
    padding: 26px 0 22px;
}

.archive-label {
    color: #f09705;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
}

.archive-title-heading {
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    font-size: clamp(30px, 3vw, 46px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.18;
}

.archive-title-heading i {
    color: #f09705;
}

.archive-description-text {
    color: #555555;
    font-size: 17px;
    line-height: 1.6;
}

.dual-column-layout,
.portal-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 351px);
    gap: 18px;
    align-items: start;
    margin-top: 24px;
}

.left-main-content-column,
.portal-main-stream {
    border-right: 1px solid #ececec;
    min-width: 0;
    padding-right: 18px;
}

.portal-sidebar,
.sidebar-right-column {
    background: #ffffff;
    border: 0;
    padding: 0;
}

.portal-sidebar .widget,
.portal-sidebar .sidebar-module,
.sidebar-right-column .widget,
.sidebar-right-column .sidebar-module {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #ececec;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 24px 0;
}

.portal-sidebar .widget-title,
.portal-sidebar .sidebar-module-heading,
.sidebar-right-column .widget-title,
.sidebar-right-column .sidebar-module-heading {
    border-bottom: 1px solid #ececec;
    margin-bottom: 16px;
    padding-bottom: 10px;
}

.portal-sidebar .widget-title,
.portal-sidebar .sidebar-module-heading h3,
.sidebar-right-column .widget-title,
.sidebar-right-column .sidebar-module-heading h3 {
    color: #000000;
    font-size: 18px;
    font-weight: 700;
}

.portal-sidebar a,
.sidebar-right-column a {
    color: #000000;
}

.portal-sidebar a:hover,
.sidebar-right-column a:hover {
    color: #f09705;
}

.archive-posts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

.archive-grid-card {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #ececec;
    border-radius: 0;
    box-shadow: none;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 18px;
    padding: 18px 0;
}

.archive-grid-card:hover {
    box-shadow: none;
    transform: none;
}

.card-thumb-container,
.card-thumb-container a {
    border-radius: 3px;
    display: block;
    height: 118px;
    overflow: hidden;
    width: 180px;
}

.archive-card-img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.card-date-badge {
    display: none;
}

.card-title-text {
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 700;
    line-height: 1.34;
    margin: 0;
}

.card-title-text a {
    color: #000000;
}

.card-title-text a:hover {
    color: #f09705;
}

.card-excerpt-text {
    color: #555555;
    font-size: 16px;
    line-height: 1.6;
    margin: 8px 0 0;
}

.single-post-view,
.site-main-content,
.category-archive-view,
.search-results-view,
.static-page-view {
    background: #ffffff;
}

.single-post-article,
.static-page-card {
    background: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.single-post-title,
.static-page-title {
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    letter-spacing: 0;
}

.inline-footer-ad-zone {
    border-top: 1px solid #ececec;
    padding: 24px 0;
}

.site-main-footer {
    background: #111111;
    border-top: 0;
    color: #ffffff;
}

.site-main-footer a,
.footer-brand-title,
.footer-widget-title {
    color: #ffffff;
}

.footer-copyright-strip {
    background: #000000;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

@media (max-width: 1024px) {
    .dual-column-layout,
    .portal-shell {
        grid-template-columns: 1fr;
    }

    .left-main-content-column,
    .portal-main-stream {
        border-right: 0;
        padding-right: 0;
    }
}

@media (max-width: 700px) {
    .site-container,
    .portal-container {
        width: min(100% - 24px, 1440px);
    }

    .archive-grid-card {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 12px;
    }

    .card-thumb-container,
    .card-thumb-container a {
        height: 72px;
        width: 104px;
    }

    .card-title-text {
        font-size: 18px;
    }
}

/* Final Figma shell overrides. Kept last to win over older theme layers. */
body.home,
body.front-page {
    background: #ffffff;
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
}

body.home .site-container,
body.front-page .site-container {
    width: min(100% - 32px, 1440px);
}

body.home .top-utility-bar,
body.front-page .top-utility-bar {
    background: #ffffff;
    border-bottom: 0;
    color: #636363;
}

body.home .branding-header-zone,
body.front-page .branding-header-zone {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    padding: 22px 0 24px;
}

body.home .site-title-branding,
body.front-page .site-title-branding {
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    font-size: clamp(38px, 4vw, 64px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

body.home .site-title-branding .prefix,
body.home .site-title-branding .suffix,
body.front-page .site-title-branding .prefix,
body.front-page .site-title-branding .suffix,
body.home .primary-menu-list a,
body.front-page .primary-menu-list a,
body.home .search-trigger-btn,
body.front-page .search-trigger-btn {
    color: #000000;
}

body.home .site-tagline,
body.front-page .site-tagline {
    color: #636363;
}

body.home .main-navigation-bar,
body.front-page .main-navigation-bar {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    box-shadow: none;
}

body.home .primary-menu-list a,
body.front-page .primary-menu-list a {
    font-size: 16px;
    font-weight: 400;
}

body.home .primary-menu-list a:hover,
body.home .primary-menu-list .current-menu-item > a,
body.front-page .primary-menu-list a:hover,
body.front-page .primary-menu-list .current-menu-item > a,
body.home .sidebar-module a:hover,
body.front-page .sidebar-module a:hover {
    color: #f09705;
}

body.home .mock-header-ad,
body.home .mock-footer-ad-banner,
body.home .sidebar-ad-box,
body.front-page .mock-header-ad,
body.front-page .mock-footer-ad-banner,
body.front-page .sidebar-ad-box {
    background: #f7f8ff;
    border: 1px dashed #d8d8d8;
    border-radius: 0;
    color: #8a8a8a;
}

body.home .portal-sidebar,
body.front-page .portal-sidebar {
    background: #ffffff;
    border: 0;
    padding: 0;
}

body.home .sidebar-module,
body.front-page .sidebar-module {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #ececec;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
    padding: 24px 0;
}

body.home .sidebar-module-heading,
body.front-page .sidebar-module-heading {
    border-bottom: 1px solid #ececec;
    margin-bottom: 16px;
}

body.home .sidebar-module-heading h3,
body.front-page .sidebar-module-heading h3 {
    color: #000000;
    font-size: 18px;
    font-weight: 600;
}

body.home .sidebar-module-heading span,
body.front-page .sidebar-module-heading span {
    color: #f09705;
    font-weight: 400;
}

body.home .sidebar-rank-item,
body.home .sidebar-thumb-item,
body.home .sidebar-clean-list article,
body.front-page .sidebar-rank-item,
body.front-page .sidebar-thumb-item,
body.front-page .sidebar-clean-list article {
    border-color: #ececec;
}

body.home .sidebar-module a,
body.front-page .sidebar-module a {
    color: #000000;
}

body.home .inline-footer-ad-zone,
body.front-page .inline-footer-ad-zone {
    border-top: 1px solid #ececec;
    padding: 24px 0;
}

body.home .site-main-footer,
body.front-page .site-main-footer {
    background: #111111;
    border-top: 0;
    color: #ffffff;
}

body.home .site-main-footer a,
body.home .footer-brand-title,
body.home .footer-widget-title,
body.front-page .site-main-footer a,
body.front-page .footer-brand-title,
body.front-page .footer-widget-title {
    color: #ffffff;
}

body.home .footer-copyright-strip,
body.front-page .footer-copyright-strip {
    background: #000000;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

@media (max-width: 700px) {
    body.home .site-container,
    body.front-page .site-container {
        width: min(100% - 24px, 1440px);
    }
}

/* ==========================================================================
   13. PREMIUM MODULAR NEWS PORTAL HOMEPAGE
   ========================================================================== */
:root {
    --portal-container: 1320px;
    --portal-gap: 28px;
    --portal-gap-sm: 16px;
    --portal-section-pad: 28px;
    --portal-soft-blue: #eef6ff;
    --portal-soft-gray: #f6f7f9;
    --portal-ink: #101828;
}

.main-navigation-bar {
    position: sticky;
    top: 0;
    z-index: 999;
}

.news-portal-home {
    background: #f3f5f7;
    color: var(--text-main);
    font-family: 'Noto Sans Devanagari', 'Mukta', 'Hind', sans-serif;
}

.portal-container {
    width: min(100% - 32px, var(--portal-container));
    margin-inline: auto;
}

.portal-lead-stack {
    background: #f3f7fb;
    border-bottom: 1px solid var(--border-color);
    padding: 20px 0 34px;
}

.portal-lead-inner {
    width: min(100% - 32px, var(--portal-container));
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.lead-story-card {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 6px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    padding: 24px 34px 28px;
    text-align: center;
}

.lead-story-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    background: #ef3f4d;
    color: #ffffff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 900;
    padding: 4px 12px;
    margin-bottom: 12px;
}

.lead-story-title {
    max-width: 860px;
    margin: 0 auto 10px;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: 0;
}

.lead-story-title a {
    color: var(--portal-ink);
}

.lead-story-title a:hover,
.lead-read-more:hover {
    color: #0b63ce;
}

.lead-story-card .portal-meta-row {
    justify-content: center;
    margin-bottom: 14px;
}

.lead-story-media {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 4px;
    background: #d9e2ec;
    aspect-ratio: 16 / 9;
    max-width: 1060px;
    margin: 0 auto 14px;
}

.lead-story-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.lead-story-media:hover .lead-story-img {
    transform: scale(1.04);
}

.lead-video-play {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.78);
    color: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.9);
}

.lead-story-excerpt {
    max-width: 780px;
    margin: 0 auto 12px;
    color: #475467;
    font-size: 15px;
    line-height: 1.75;
}

.lead-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #0b63ce;
    font-size: 14px;
    font-weight: 900;
}

.lead-inline-ad {
    min-height: 64px;
    display: grid;
    place-items: center;
    border: 1px dashed #c9d7e6;
    background: #f8fbff;
    color: #7a8da6;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
}

.lead-inline-ad-placeholder {
    min-height: 90px;
    display: grid;
    place-items: center;
}

.header-ad-block,
.lead-inline-ad-widget,
.in-feed-ad-container,
.homepage-side-ad-widget,
.sidebar-ad-widget,
.single-article-ad-widget {
    width: 100%;
    text-align: center;
}

.header-ad-block img,
.lead-inline-ad-widget img,
.in-feed-ad-container img,
.homepage-side-ad-widget img,
.sidebar-ad-widget img,
.single-article-ad-widget img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
}

.header-ad-block iframe,
.lead-inline-ad-widget iframe,
.in-feed-ad-container iframe,
.homepage-side-ad-widget iframe,
.sidebar-ad-widget iframe,
.single-article-ad-widget iframe {
    max-width: 100%;
}

.ad-label-inline,
.hidden-title {
    display: none;
}

.inline-article-ad {
    margin: 30px 0;
    text-align: center;
}

.inline-article-ad-placeholder {
    display: inline-block;
    min-width: min(300px, 100%);
    padding: 15px;
    border: 2px dashed var(--border-color);
    border-radius: var(--border-radius-md);
    background: var(--bg-secondary);
    color: var(--text-light);
    font-family: var(--font-title);
    font-size: 0.85rem;
}

/* The reference design uses a centered lead stack, so hide the previous split hero. */
.portal-hero-zone {
    display: none;
}

.portal-breaking-ticker {
    background: #ffffff;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 20px;
}

.ticker-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 18px;
    padding-block: 12px;
}

.ticker-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #d71920;
    color: #ffffff;
    font-weight: 800;
    padding: 7px 14px;
    border-radius: 4px;
}

.ticker-items {
    display: flex;
    align-items: center;
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: none;
    padding-right: 15px;
}

.ticker-items::-webkit-scrollbar {
    display: none;
}

.ticker-items a {
    color: var(--portal-ink);
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.portal-hero-zone {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(320px, 0.85fr);
    gap: var(--portal-gap);
    padding-block: 28px;
}

.portal-hero-feature,
.portal-hero-latest,
.portal-zone,
.sidebar-module {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.portal-hero-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: 0;
    min-height: 430px;
    overflow: hidden;
}

.portal-hero-media,
.portal-card-media,
.sports-card-media,
.video-media,
.sidebar-video-media {
    display: block;
    overflow: hidden;
    background: #d9e2ec;
}

.portal-hero-img,
.portal-card-img,
.portal-thumb-img,
.sports-card-img,
.magazine-card-img,
.video-card-img,
.sidebar-video-img,
.sidebar-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.portal-hero-media:hover .portal-hero-img,
.portal-card-media:hover .portal-card-img,
.sports-card-media:hover .sports-card-img,
.magazine-card:hover .magazine-card-img,
.video-media:hover .video-card-img,
.sidebar-video-media:hover .sidebar-video-img {
    transform: scale(1.045);
}

.portal-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
}

.portal-category-badge {
    align-self: flex-start;
    background: #0b63ce;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 4px;
    margin-bottom: 16px;
}

.portal-hero-title {
    font-size: 42px;
    line-height: 1.22;
    font-weight: 900;
    margin: 0 0 14px;
    letter-spacing: 0;
}

.portal-hero-title a,
.portal-feature-card h3 a,
.portal-thumb-card h3 a,
.sports-card h3 a,
.magazine-card h3 a,
.opinion-card h3 a,
.video-card h3 a,
.clean-list-item h3 a,
.sidebar-module a {
    color: var(--portal-ink);
}

.portal-hero-title a:hover,
.portal-feature-card h3 a:hover,
.portal-thumb-card h3 a:hover,
.sports-card h3 a:hover,
.magazine-card h3 a:hover,
.opinion-card h3 a:hover,
.video-card h3 a:hover,
.clean-list-item h3 a:hover,
.sidebar-module a:hover {
    color: #0b63ce;
}

.portal-hero-excerpt {
    color: #475467;
    font-size: 17px;
    line-height: 1.75;
    margin: 0 0 18px;
}

.portal-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
}

.portal-meta-row span,
.portal-card-time {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.portal-hero-latest {
    padding: 20px;
}

.portal-panel-heading,
.portal-section-heading,
.sidebar-module-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 14px;
    border-top: 4px solid #0b63ce;
    padding-top: 12px;
    margin-bottom: 18px;
}

.portal-panel-heading h2,
.portal-section-heading h2,
.sidebar-module-heading h3 {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 900;
    margin: 0;
}

.portal-panel-heading span,
.portal-section-heading span,
.sidebar-module-heading span {
    color: #667085;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.hero-latest-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border-color);
}

.hero-latest-item:last-child {
    border-bottom: 0;
}

.hero-latest-rank,
.sidebar-rank-item span {
    color: #0b63ce;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

.hero-latest-item h3,
.sidebar-thumb-item h4,
.sidebar-clean-list h4,
.sidebar-rank-item h4 {
    font-size: 15px;
    line-height: 1.45;
    margin: 0 0 6px;
}

.portal-shell {
    display: grid;
    grid-template-columns: 2.2fr 1fr;
    gap: var(--portal-gap);
    align-items: start;
    padding-bottom: 44px;
}

.portal-main-stream {
    display: flex;
    flex-direction: column;
    gap: var(--portal-gap);
    min-width: 0;
}

.portal-combined-sections {
    display: flex;
    flex-direction: column;
    gap: var(--portal-gap);
    padding-bottom: 44px;
}

.portal-combo-row {
    display: grid;
    grid-template-columns: minmax(0, 60fr) minmax(300px, 40fr);
    gap: var(--portal-gap);
    align-items: stretch;
}

.portal-combo-col {
    min-width: 0;
}

.portal-combo-panel {
    height: 100%;
    padding: var(--portal-section-pad);
    background: #ffffff;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-subtle);
    overflow: hidden;
}

.portal-combo-list {
    display: grid;
    gap: 14px;
}

.portal-combo-feature {
    display: grid;
    grid-template-columns: minmax(230px, 44%) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border-color);
}

.portal-combo-feature-media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e5edf7;
}

.portal-combo-feature h3 {
    font-size: 23px;
    line-height: 1.35;
    margin: 0 0 8px;
}

.portal-combo-feature p {
    margin: 0;
    color: #475467;
    line-height: 1.65;
}

.portal-combo-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border-color);
}

.portal-combo-item:last-child,
.portal-combo-feature:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.portal-combo-thumb {
    width: 96px;
    height: 72px;
    overflow: hidden;
    background: #e5edf7;
}

.portal-combo-feature-media img,
.portal-combo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portal-combo-item h3 {
    font-size: 16px;
    line-height: 1.42;
    margin: 0 0 5px;
}

.portal-combo-item span {
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.portal-combo-panel-compact .portal-combo-list {
    gap: 0;
}

.portal-combo-panel-compact .portal-combo-item {
    grid-template-columns: 82px minmax(0, 1fr);
    padding: 12px 0;
}

.portal-combo-panel-compact .portal-combo-thumb {
    width: 82px;
    height: 62px;
}

.portal-combo-side-ad {
    display: flex;
    min-height: 320px;
    flex-direction: column;
    justify-content: center;
    background: #eef6ff;
    border-style: dashed;
}

.portal-combo-side-ad .sidebar-ad-box {
    min-height: 250px;
}

.portal-combo-full-ad {
    margin: 0;
}

.portal-zone {
    padding: var(--portal-section-pad);
    overflow: hidden;
}

.zone-tint {
    background: var(--portal-soft-blue);
}

.zone-soft {
    background: var(--portal-soft-gray);
}

.portal-ad-band {
    background: #ffffff;
    border: 1px dashed #9fb7d7;
    padding: 14px;
}

.portal-ad-placeholder {
    min-height: 90px;
    display: grid;
    place-items: center;
    color: #547095;
    font-weight: 800;
    background: #eef6ff;
}

.politics-layout {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 22px;
}

.portal-feature-card h3 {
    font-size: 24px;
    line-height: 1.35;
    margin: 14px 0 8px;
}

.portal-feature-card p {
    margin: 0;
    color: #475467;
    line-height: 1.65;
}

.portal-card-media {
    aspect-ratio: 16 / 10;
}

.portal-mini-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.portal-thumb-card,
.sidebar-thumb-item {
    display: grid;
    grid-template-columns: 94px 1fr;
    gap: 12px;
    align-items: start;
}

.portal-thumb-img,
.sidebar-thumb-media {
    width: 94px;
    height: 70px;
    overflow: hidden;
}

.portal-thumb-card h3 {
    font-size: 16px;
    line-height: 1.4;
    margin: 0 0 5px;
}

.portal-thumb-card span,
.sports-card span,
.clean-list-item span,
.sidebar-thumb-item span {
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.sports-scroll-row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(220px, 28%);
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
    scroll-snap-type: x proximity;
}

.sports-card {
    background: #ffffff;
    scroll-snap-align: start;
}

.sports-card-media {
    aspect-ratio: 4 / 3;
}

.sports-card h3,
.magazine-card h3,
.video-card h3 {
    font-size: 18px;
    line-height: 1.45;
    margin: 12px;
}

.sports-card span {
    display: block;
    padding: 0 12px 14px;
}

.magazine-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 16px;
}

.magazine-card {
    background: #f8fafc;
    border: 1px solid var(--border-color);
}

.magazine-card:first-child {
    grid-row: span 2;
}

.magazine-card a:first-child {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.magazine-card:first-child a:first-child {
    aspect-ratio: 4 / 3;
}

.opinion-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.opinion-card {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
    background: #ffffff;
    padding: 16px;
    border-left: 4px solid #d71920;
}

.opinion-avatar {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #0b63ce;
    color: #ffffff;
    font-weight: 900;
    font-size: 22px;
}

.opinion-card span {
    color: #667085;
    font-size: 13px;
    font-weight: 800;
}

.opinion-card h3 {
    font-size: 17px;
    line-height: 1.45;
    margin: 5px 0 0;
}

.video-zone {
    background: #101828;
    color: #ffffff;
}

.video-zone .portal-section-heading {
    border-top-color: #f04438;
}

.video-zone .portal-section-heading h2,
.video-zone .portal-section-heading span,
.video-zone a {
    color: #ffffff;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.video-media {
    position: relative;
    aspect-ratio: 16 / 10;
}

.video-play,
.sidebar-video-media span {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(215, 25, 32, 0.92);
    color: #ffffff;
}

.clean-list-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
}

.clean-list-item {
    border-bottom: 1px solid var(--border-color);
    padding: 14px 0;
}

.clean-list-item h3 {
    font-size: 18px;
    line-height: 1.45;
    margin: 0 0 5px;
}

.portal-sidebar {
    position: sticky;
    top: 72px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.sidebar-module {
    padding: 18px;
}

.sidebar-rank-list,
.sidebar-thumb-list,
.sidebar-clean-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sidebar-rank-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
}

.sidebar-thumb-item {
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
}

.sidebar-clean-list article {
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color);
}

.sidebar-video-module {
    background: #101828;
    color: #ffffff;
}

.sidebar-video-module .sidebar-module-heading h3,
.sidebar-video-module .sidebar-module-heading span,
.sidebar-video-module a {
    color: #ffffff;
}

.sidebar-video-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
}

.sidebar-video-card h4 {
    font-size: 16px;
    line-height: 1.45;
    margin: 12px 0 0;
}

.sidebar-ad-module {
    background: #eef6ff;
    border-style: dashed;
}

.sidebar-ad-label {
    display: block;
    color: #667085;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.sidebar-ad-box {
    min-height: 250px;
    display: grid;
    place-items: center;
    border: 1px dashed #9fb7d7;
    color: #547095;
    font-weight: 800;
}

.sidebar-social-grid,
.market-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.sidebar-social-grid a,
.market-grid div {
    min-height: 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 12px;
    border-radius: 6px;
}

.sidebar-social-grid a {
    color: #ffffff;
}

.sidebar-social-grid .facebook { background: #1877f2; }
.sidebar-social-grid .youtube { background: #ff0000; }
.sidebar-social-grid .twitter { background: #1d9bf0; }
.sidebar-social-grid .instagram { background: #c13584; }

.market-grid div {
    background: #f8fafc;
    border: 1px solid var(--border-color);
}

.market-grid strong {
    font-size: 14px;
}

.market-grid span {
    color: #667085;
    font-size: 12px;
}

.news-portal-home .portal-hero-zone {
    display: none !important;
}

body.dark-theme .news-portal-home {
    background: #0b1220;
}

body.dark-theme .portal-hero-feature,
body.dark-theme .portal-hero-latest,
body.dark-theme .lead-story-card,
body.dark-theme .portal-zone,
body.dark-theme .portal-combo-panel,
body.dark-theme .sidebar-module,
body.dark-theme .portal-breaking-ticker,
body.dark-theme .sports-card,
body.dark-theme .opinion-card,
body.dark-theme .magazine-card,
body.dark-theme .market-grid div {
    background: #111827;
    border-color: #243244;
}

body.dark-theme .zone-tint,
body.dark-theme .zone-soft,
body.dark-theme .portal-ad-band,
body.dark-theme .portal-combo-side-ad,
body.dark-theme .sidebar-ad-module {
    background: #162033;
}

body.dark-theme .portal-hero-title a,
body.dark-theme .lead-story-title a,
body.dark-theme .portal-feature-card h3 a,
body.dark-theme .portal-thumb-card h3 a,
body.dark-theme .portal-combo-feature h3 a,
body.dark-theme .portal-combo-item h3 a,
body.dark-theme .sports-card h3 a,
body.dark-theme .magazine-card h3 a,
body.dark-theme .opinion-card h3 a,
body.dark-theme .clean-list-item h3 a,
body.dark-theme .sidebar-module a,
body.dark-theme .ticker-items a {
    color: #f8fafc;
}

body.dark-theme .portal-hero-excerpt,
body.dark-theme .lead-story-excerpt,
body.dark-theme .portal-feature-card p,
body.dark-theme .portal-combo-feature p,
body.dark-theme .portal-meta-row,
body.dark-theme .portal-section-heading span,
body.dark-theme .sidebar-module-heading span {
    color: #cbd5e1;
}

@media (max-width: 1100px) {
    .portal-shell,
    .portal-combo-row,
    .portal-hero-zone,
    .portal-hero-feature {
        grid-template-columns: 1fr;
    }

    .portal-sidebar {
        position: static;
    }

    .portal-hero-img {
        max-height: 440px;
    }
}

@media (max-width: 760px) {
    .portal-container {
        width: min(100% - 24px, var(--portal-container));
    }

    .portal-lead-stack {
        padding: 14px 0 24px;
    }

    .portal-lead-inner {
        width: min(100% - 24px, var(--portal-container));
        gap: 18px;
    }

    .lead-story-card {
        padding: 16px;
    }

    .lead-story-title {
        font-size: 25px;
    }

    .lead-story-excerpt {
        font-size: 14px;
    }

    .ticker-grid {
        grid-template-columns: auto 1fr;
        gap: 10px;
    }

    .portal-hero-zone {
        padding-block: 18px;
        gap: 18px;
    }

    .portal-hero-copy,
    .portal-zone,
    .sidebar-module {
        padding: 16px;
    }

    .portal-hero-title {
        font-size: 30px;
    }

    .portal-panel-heading h2,
    .portal-section-heading h2 {
        font-size: 24px;
    }

    .politics-layout,
    .portal-combo-feature,
    .portal-mini-grid,
    .magazine-grid,
    .opinion-grid,
    .video-grid,
    .clean-list-layout {
        grid-template-columns: 1fr;
    }

    .sports-scroll-row {
        grid-auto-columns: 82%;
    }

    .portal-thumb-card,
    .portal-combo-item,
    .portal-combo-panel-compact .portal-combo-item,
    .sports-card,
    .magazine-card,
    .video-card,
    .sidebar-thumb-item {
        display: grid;
        grid-template-columns: 110px 1fr;
        gap: 12px;
        align-items: start;
    }

    .sports-card-media,
    .portal-combo-thumb,
    .portal-combo-panel-compact .portal-combo-thumb,
    .magazine-card a:first-child,
    .video-media,
    .sidebar-thumb-media {
        grid-row: span 2;
    }

    .sports-card-media,
    .portal-combo-thumb,
    .portal-combo-panel-compact .portal-combo-thumb,
    .magazine-card a:first-child,
    .magazine-card:first-child a:first-child,
    .video-media {
        width: 110px;
        height: 82px;
        aspect-ratio: auto;
    }

    .sports-card h3,
    .magazine-card h3,
    .video-card h3,
    .clean-list-item h3,
    .portal-combo-feature h3,
    .portal-combo-item h3,
    .portal-thumb-card h3 {
        font-size: 15px;
        margin: 0;
    }

    .sports-card span {
        padding: 4px 0 0;
    }

    .portal-ad-band,
    .sidebar-ad-module,
    .widget-sidebar-advertisement {
        display: none;
    }

    .sidebar-social-grid,
    .market-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .lead-story-title {
        font-size: 22px;
    }

    .lead-story-media {
        aspect-ratio: 4 / 3;
    }

    .lead-story-card .portal-meta-row {
        gap: 8px 12px;
        font-size: 12px;
    }

    .portal-hero-title {
        font-size: 26px;
    }

    .portal-hero-excerpt {
        font-size: 15px;
    }

    .portal-thumb-card,
    .sports-card,
    .magazine-card,
    .video-card,
    .sidebar-thumb-item {
        grid-template-columns: 96px 1fr;
    }

    .portal-thumb-img,
    .sidebar-thumb-media,
    .sports-card-media,
    .magazine-card a:first-child,
    .magazine-card:first-child a:first-child,
    .video-media {
        width: 96px;
        height: 72px;
    }
}

/* Final shell override: modern professional Nepali news portal finish. */
body {
    background: #f5f7fa;
    color: #1f2933;
    font-family: "Noto Sans Devanagari", "Mukta", Arial, sans-serif;
}

.site-container {
    max-width: 1240px;
}

.top-utility-bar {
    background: #061b33;
    padding: 7px 0;
    font-size: 13px;
}

.top-bar-flex,
.branding-flex,
.nav-flex {
    gap: 18px;
}

.top-bar-left,
.top-bar-right {
    gap: 16px;
}

.top-bar-item,
.top-bar-link {
    color: rgba(255, 255, 255, 0.82);
}

.top-bar-link:hover {
    color: #ffffff;
}

.theme-toggle-btn {
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.12);
}

.branding-header-zone {
    background: #ffffff;
    padding: 22px 0;
    border-bottom: 1px solid #e1e7ef;
}

.branding-flex {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
}

.logo-block {
    align-items: flex-start;
    min-width: max-content;
}

.site-title-branding {
    font-family: "Noto Sans Devanagari", "Mukta", Arial, sans-serif;
    font-size: clamp(30px, 3vw, 42px);
    letter-spacing: 0;
}

.site-title-branding .prefix {
    color: #1f2933;
}

.site-title-branding .suffix {
    color: #003366;
}

.site-tagline {
    color: #6b7280;
    font-size: 13px;
    letter-spacing: 0;
    text-transform: none;
}

.header-banner-ad {
    max-width: 728px;
}

.mock-header-ad,
.mock-footer-ad-banner,
.mock-inline-ad-banner {
    background: #f1f5f9;
    border: 1px dashed #b8c5d6;
    border-radius: 8px;
    color: #52657a;
}

.main-navigation-bar {
    background: #003366;
    box-shadow: 0 8px 18px rgba(0, 20, 48, 0.12);
}

.main-navigation-bar.scrolled {
    background: #00294f;
}

.primary-menu-list {
    align-items: center;
    gap: 2px;
}

.primary-menu-list li a {
    border-top: 0;
    border-bottom: 3px solid transparent;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    padding: 15px 14px 13px;
}

.primary-menu-list li a:hover,
.primary-menu-list li a.active-item {
    background-color: rgba(255, 255, 255, 0.08);
    border-bottom-color: #e21b2d;
    border-top-color: transparent;
}

.primary-menu-list li ul.sub-menu {
    background: #061b33;
    border-top-color: #e21b2d;
}

.search-trigger-btn {
    padding: 14px;
}

.inline-footer-ad-zone {
    margin-top: 34px;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.site-main-footer {
    background: #061b33;
    border-top: 3px solid #e21b2d;
    margin-top: 38px;
    padding-top: 34px;
}

.footer-grid-container {
    grid-template-columns: minmax(0, 1.25fr) minmax(180px, 0.75fr) minmax(0, 1fr);
    gap: 28px;
    padding-bottom: 30px;
}

.footer-brand-title {
    font-size: 24px;
    margin-bottom: 10px;
}

.footer-brand-title span {
    color: #68a6ff;
}

.footer-description {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 14px;
}

.footer-reg-details {
    background: rgba(255, 255, 255, 0.035);
    border-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    gap: 6px;
    padding: 12px;
}

.footer-widget-title {
    font-size: 18px;
    margin-bottom: 16px;
    padding-bottom: 8px;
}

.footer-widget-title::after {
    background-color: #e21b2d;
    height: 2px;
}

.footer-links-list {
    gap: 8px;
}

.footer-links-list li a,
.footer-contact-details {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
}

.footer-social-strip {
    gap: 8px;
}

.social-circle {
    width: 32px;
    height: 32px;
}

.footer-copyright-strip {
    background: rgba(0, 0, 0, 0.18);
    padding: 12px 0;
}

.copyright-flex {
    align-items: center;
}

.copyright-text,
.developer-credit {
    color: rgba(255, 255, 255, 0.68);
    font-size: 13px;
}

body.home,
body.front-page {
    background: #ffffff;
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
}

body.home .site-container,
body.front-page .site-container {
    width: min(100% - 32px, 1440px);
}

body.home .top-utility-bar,
body.front-page .top-utility-bar {
    background: #ffffff;
    border-bottom: 0;
    color: #636363;
}

body.home .branding-header-zone,
body.front-page .branding-header-zone {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    padding: 22px 0 24px;
}

body.home .site-title-branding,
body.front-page .site-title-branding {
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    font-size: clamp(38px, 4vw, 64px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

body.home .site-title-branding .prefix,
body.home .site-title-branding .suffix,
body.front-page .site-title-branding .prefix,
body.front-page .site-title-branding .suffix,
body.home .primary-menu-list a,
body.front-page .primary-menu-list a,
body.home .search-trigger-btn,
body.front-page .search-trigger-btn {
    color: #000000;
}

body.home .site-tagline,
body.front-page .site-tagline {
    color: #636363;
}

body.home .main-navigation-bar,
body.front-page .main-navigation-bar {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    box-shadow: none;
}

body.home .primary-menu-list a,
body.front-page .primary-menu-list a {
    font-size: 16px;
    font-weight: 400;
}

body.home .primary-menu-list a:hover,
body.home .primary-menu-list .current-menu-item > a,
body.front-page .primary-menu-list a:hover,
body.front-page .primary-menu-list .current-menu-item > a,
body.home .sidebar-module a:hover,
body.front-page .sidebar-module a:hover {
    color: #f09705;
}

body.home .mock-header-ad,
body.home .mock-footer-ad-banner,
body.home .sidebar-ad-box,
body.front-page .mock-header-ad,
body.front-page .mock-footer-ad-banner,
body.front-page .sidebar-ad-box {
    background: #f7f8ff;
    border: 1px dashed #d8d8d8;
    border-radius: 0;
    color: #8a8a8a;
}

body.home .portal-sidebar,
body.front-page .portal-sidebar {
    background: #ffffff;
    border: 0;
    padding: 0;
}

body.home .sidebar-module,
body.front-page .sidebar-module {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #ececec;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
    padding: 24px 0;
}

body.home .sidebar-module-heading,
body.front-page .sidebar-module-heading {
    border-bottom: 1px solid #ececec;
    margin-bottom: 16px;
}

body.home .sidebar-module-heading h3,
body.front-page .sidebar-module-heading h3 {
    color: #000000;
    font-size: 18px;
    font-weight: 600;
}

body.home .sidebar-module-heading span,
body.front-page .sidebar-module-heading span {
    color: #f09705;
    font-weight: 400;
}

body.home .sidebar-rank-item,
body.home .sidebar-thumb-item,
body.home .sidebar-clean-list article,
body.front-page .sidebar-rank-item,
body.front-page .sidebar-thumb-item,
body.front-page .sidebar-clean-list article {
    border-color: #ececec;
}

body.home .sidebar-module a,
body.front-page .sidebar-module a {
    color: #000000;
}

body.home .inline-footer-ad-zone,
body.front-page .inline-footer-ad-zone {
    border-top: 1px solid #ececec;
    padding: 24px 0;
}

body.home .site-main-footer,
body.front-page .site-main-footer {
    background: #111111;
    border-top: 0;
    color: #ffffff;
}

body.home .site-main-footer a,
body.home .footer-brand-title,
body.home .footer-widget-title,
body.front-page .site-main-footer a,
body.front-page .footer-brand-title,
body.front-page .footer-widget-title {
    color: #ffffff;
}

body.home .footer-copyright-strip,
body.front-page .footer-copyright-strip {
    background: #000000;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

@media (max-width: 1024px) {
    .branding-flex {
        flex-direction: column;
        text-align: center;
    }

    .logo-block {
        align-items: center;
    }

    .footer-grid-container {
        grid-template-columns: 1fr 1fr;
    }

    .footer-widget-col:last-child {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .top-bar-flex {
        align-items: flex-start;
    }

    .top-bar-left,
    .top-bar-right {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 14px;
    }

    .branding-header-zone {
        padding: 18px 0;
    }

    .main-navigation-bar {
        padding: 10px 0;
    }

    .primary-menu-list li a {
        border-bottom: 0;
        border-left: 3px solid transparent;
        padding: 12px 18px;
    }

    .footer-grid-container {
        grid-template-columns: 1fr;
    }

    .footer-widget-col:last-child {
        grid-column: auto;
    }

    .copyright-flex {
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
}

/* Final responsive gutters for shared page shells. */
.site-container,
.portal-container,
.site-container-compact {
    width: min(100% - clamp(24px, 4vw, 48px), 1440px) !important;
    box-sizing: border-box;
}

.portal-shell,
.dual-column-layout {
    column-gap: clamp(28px, 4vw, 56px);
}

@media (max-width: 1100px) {
    .portal-shell,
    .dual-column-layout {
        row-gap: 32px;
    }
}

@media (max-width: 700px) {
    .site-container,
    .portal-container,
    .site-container-compact {
        width: min(100% - 24px, 1440px) !important;
    }
}

/* Final single-post sync with the homepage/shared news UI. */
body.single {
    background: #ffffff !important;
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
}

body.single .top-utility-bar,
body.single .branding-header-zone,
body.single .main-navigation-bar {
    background: #ffffff !important;
}

body.single .top-utility-bar {
    border-bottom: 0;
    color: #636363;
}

body.single .branding-header-zone {
    border-bottom: 1px solid #ececec;
    padding: 22px 0 24px;
}

body.single .main-navigation-bar {
    border-bottom: 1px solid #ececec;
    box-shadow: none;
}

body.single .site-title-branding,
body.single .primary-menu-list a,
body.single .search-trigger-btn {
    color: #000000;
}

body.single .site-tagline,
body.single .top-bar-item,
body.single .top-bar-link {
    color: #636363;
}

body.single .primary-menu-list a {
    font-size: 16px;
    font-weight: 400;
}

body.single .primary-menu-list a:hover,
body.single .primary-menu-list .current-menu-item > a {
    color: #f09705;
}

body.single .single-post-view {
    background: #ffffff !important;
    padding-top: clamp(28px, 4vw, 48px);
}

body.single .portal-shell {
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}

body.single .portal-main-stream {
    border-right: 1px solid #ececec;
    gap: 0;
    padding-right: clamp(24px, 3vw, 42px);
}

body.single .single-post-article {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-bottom: 40px;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

body.single .site-breadcrumbs {
    border-bottom: 1px solid #ececec;
    margin-bottom: 18px !important;
    padding-bottom: 14px;
}

body.single .cat-badge-btn {
    background: #f09705;
    border-radius: 3px;
    color: #000000;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 7px 10px;
}

body.single .single-post-title {
    color: #000000 !important;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif !important;
    font-size: clamp(34px, 4.5vw, 62px) !important;
    font-weight: 800 !important;
    letter-spacing: 0;
    line-height: 1.22 !important;
    margin: 12px 0 22px !important;
}

body.single .single-post-meta {
    border-bottom: 1px solid #ececec;
    color: #6b7280;
    gap: 16px 24px;
    margin-bottom: 28px;
    padding-bottom: 18px;
}

body.single .single-post-featured-media {
    border-radius: 3px;
    box-shadow: none;
    margin-bottom: 28px;
}

body.single .single-article-img {
    display: block;
    height: auto;
    max-height: none;
    width: 100%;
}

body.single .single-post-share-strip {
    background: #ffffff;
    border-bottom: 1px solid #ececec;
    border-radius: 0;
    border-top: 1px solid #ececec;
    padding: 16px 0;
}

body.single .single-post-article-content {
    color: #000000 !important;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1.85 !important;
}

body.single .post-author-profile-box,
body.single .related-posts-section {
    background: #ffffff;
    border: 0;
    border-top: 1px solid #ececec !important;
    border-radius: 0;
    margin-top: 36px;
    padding: 28px 0 0;
}

body.single .portal-sidebar {
    background: #ffffff;
    border: 0;
    padding: 0;
}

body.single .portal-sidebar .widget,
body.single .sidebar-module {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #ececec;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
    padding: 24px 0;
}

@media (max-width: 1100px) {
    body.single .portal-shell {
        grid-template-columns: 1fr;
    }

    body.single .portal-main-stream {
        border-right: 0;
        padding-right: 0;
    }
}

@media (max-width: 700px) {
    body.single .single-post-view {
        padding-top: 24px;
    }

    body.single .single-post-title {
        font-size: 32px !important;
        line-height: 1.28 !important;
    }

    body.single .single-post-article-content {
        font-size: 18px !important;
    }
}

/* Final static page and archive/search cleanup. */
body.page:not(.home) .static-page-view,
body.archive .category-archive-view,
body.category .category-archive-view,
body.search .search-results-view {
    background: #ffffff !important;
}

body.page:not(.home) .static-page-view {
    padding-top: clamp(28px, 4vw, 48px);
}

body.page:not(.home) .dual-column-layout {
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}

body.page:not(.home) .left-main-content-column {
    border-right: 1px solid #ececec;
    min-width: 0;
    padding-right: clamp(24px, 3vw, 42px);
}

body.page:not(.home) .static-page-card {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.page:not(.home) .static-page-header {
    border-bottom: 1px solid #ececec;
    margin-bottom: 24px;
    padding-bottom: 16px;
}

body.page:not(.home) .static-page-title {
    color: #000000 !important;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif !important;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0;
}

body.page:not(.home) .static-page-content {
    color: #000000;
    font-family: "Mukta", "Noto Sans Devanagari", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.8;
}

body.page:not(.home) .static-page-content img,
body.page:not(.home) .static-page-content iframe,
body.page:not(.home) .static-page-content video {
    height: auto;
    max-width: 100%;
}

body.page:not(.home) .static-page-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

body.page:not(.home) .teamcon .teamsrow {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 10px 0;
}

body.page:not(.home) .teamcon .teamsrow:empty,
body.page:not(.home) .teamcon .teamsrow > p:empty {
    display: none;
}

body.page:not(.home) .teamcon .teamsrow h1 {
    color: #0066cc;
    font-size: 25px;
    font-weight: 800;
    line-height: 1.4;
    margin: 10px 0 0;
}

body.page:not(.home) .teamcon .teamsrow h1:hover {
    color: #f6921e;
}

body.page:not(.home) .teamcon .teamsrow h2 {
    color: #000000;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin: 10px 0 0;
}

body.page:not(.home) .teamcon .teamm {
    font-family: Mukta, "Noto Sans Devanagari", Arial, sans-serif;
    font-weight: 600;
    text-align: center;
    width: 390px;
}

body.page:not(.home) .teamcon .teamm img {
    border-radius: 50%;
    height: 125px;
    object-fit: cover;
    width: 125px;
}

body.page:not(.home) .teamcon .teamm h3 {
    color: #464646;
    display: block;
    font-size: 1.5rem;
    line-height: 1.4;
    margin: 10px 0 0;
}

body.page:not(.home) .teamcon .teamm p {
    margin: 0;
}

body.page:not(.home) .teamcon .teamsocial {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 5px 0 0;
}

body.page:not(.home) .teamcon .teamsocial br {
    display: none;
}

body.page:not(.home) .teamcon .teamsocial a {
    color: #000000;
}

body.page:not(.home) .teamcon .teamsocial .ts {
    color: #000000;
    width: 20px;
}

body.page:not(.home) .blogmagazine-post-meta {
    display: none;
}

body.archive .card-text-container,
body.category .card-text-container,
body.search .card-text-container {
    justify-content: center;
}

body.archive .card-title-text,
body.category .card-title-text,
body.search .card-title-text {
    margin-top: 0;
}

@media (max-width: 1100px) {
    body.page:not(.home) .dual-column-layout {
        grid-template-columns: 1fr;
    }

    body.page:not(.home) .left-main-content-column {
        border-right: 0;
        padding-right: 0;
    }
}

@media (max-width: 700px) {
    body.page:not(.home) .static-page-view {
        padding-top: 24px;
    }

    body.page:not(.home) .static-page-title {
        font-size: 30px;
    }

    body.page:not(.home) .static-page-content {
        font-size: 17px;
    }

    body.page:not(.home) .teamcon .teamsrow {
        flex-wrap: wrap;
        gap: 18px 0;
    }

    body.page:not(.home) .teamcon .teamm {
        max-width: 50%;
        width: 50%;
    }

    body.page:not(.home) .teamcon .teamm h3 {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    body.page:not(.home) .teamcon .teamm {
        max-width: 100%;
        width: 100%;
    }
}

/* Final excerpt clamp: keep all summaries to two lines. */
.card-excerpt-text,
.highlight-excerpt,
.featured-card-excerpt,
.large-feature-excerpt,
.interview-excerpt,
.lead-story-excerpt,
.portal-hero-excerpt,
.entry-summary {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* Final title clamp: keep post/list/card titles to two lines. */
.card-title-text,
.lead-story-title,
.portal-hero-title,
.portal-feature-card h3,
.portal-thumb-card h3,
.portal-combo-feature h3,
.portal-combo-item h3,
.sports-card h3,
.magazine-card h3,
.opinion-card h3,
.video-card h3,
.clean-list-item h3,
.hero-latest-item h3,
.sidebar-thumb-item h4,
.sidebar-clean-list h4,
.sidebar-rank-item h4 {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* Customizer option: center the primary navigation menu. */
.nav-flex.nav-flex-centered {
    justify-content: center;
}

.nav-flex.nav-flex-centered .burger-menu-btn {
    position: absolute;
    left: 0;
}

.nav-flex.nav-flex-centered .nav-menu-wrap {
    flex: 0 1 auto;
}

.nav-flex.nav-flex-centered .primary-menu-list {
    justify-content: center;
}

.nav-flex.nav-flex-centered .header-search-wrap {
    position: absolute;
    right: 0;
}

@media (max-width: 768px) {
    .nav-flex.nav-flex-centered {
        justify-content: space-between;
    }

    .nav-flex.nav-flex-centered .burger-menu-btn,
    .nav-flex.nav-flex-centered .header-search-wrap {
        position: static;
    }

    .nav-flex.nav-flex-centered .primary-menu-list {
        justify-content: flex-start;
    }
}

/* Final submenu contrast correction. */
.primary-menu-list li ul.sub-menu,
.primary-menu-list li .sub-menu {
    background: #061b33;
}

.primary-menu-list li ul.sub-menu li a,
.primary-menu-list li .sub-menu li a {
    color: #ffffff !important;
}

.primary-menu-list li ul.sub-menu li a:hover,
.primary-menu-list li ul.sub-menu li.current-menu-item > a,
.primary-menu-list li .sub-menu li a:hover,
.primary-menu-list li .sub-menu li.current-menu-item > a {
    background: rgba(255, 255, 255, 0.08);
    color: #f09705 !important;
}
