/*
Theme Name: biomedical-theme
Theme URI: https://www.biyomedikalbilgi.com
Author: Günay YÜKSEK
Author URI: https://www.biyomedikalbilgi.com
Description: A production-ready, high-performance, SEO-optimized WordPress theme tailored for biomedical content.
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: biomedical-theme
Tags: accessibility-ready, custom-colors, custom-menu, featured-images, one-column, two-columns
*/

:root {
    /* Newsmatic Pro Color Palette */
    --color-primary: #b2071d;
    --color-secondary: #27272a;
    --color-text: #1e1e1e;
    /* Darker black */
    --color-text-light: #475569;
    /* Darker slate for better contrast (was #64748b) */
    --color-bg: #ffffff;
    --color-bg-alt: #f6f6f6;
    --color-border: #e5e5e5;
    --color-success: #1b8415;
    --color-danger: #ef4444;

    /* Newsmatic Pro Preset Colors */
    --newsmatic-color-1: #475569;
    --newsmatic-color-2: #27272a;
    --newsmatic-color-3: #ef4444;
    --newsmatic-color-4: #eab308;
    --newsmatic-color-5: #1b8415;
    --newsmatic-color-6: #2ab391;
    --newsmatic-color-7: #06b6d4;
    --newsmatic-color-8: #e76f51;

    /* Header/Footer Colors */
    --top-header-bg: #000000;
    --site-branding-bg: #181818;
    --menu-section-bg: #010101;
    --footer-bg: #1a1a1a;
    --footer-bottom-bg: #222222;

    /* Typography */
    --font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-family-content: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-family-meta: 'Jost', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-family-mono: SFMono-Regular, Menlo, Monaco, Consolas, monospace;

    --spacing-unit: 1rem;
    --container-max-width: 1325px;
    --header-height: auto;
}

/* Reset & Basics */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-family-sans);
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: 1.6;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}

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

/* Ticker Image Fixed Dimensions (Prevent CLS) */
.feature_image img {
    width: 90px;
    height: 90px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover,
a:focus {
    color: var(--color-secondary);
    text-decoration: underline;
}

/* Category Labels - White Text with Bordo Background */
.post-categories a,
.widget-post-cat {
    color: #ffffff !important;
    background-color: var(--color-primary);
    padding: 4px 10px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 3px;
    display: inline-block;
    line-height: 1.2;
}

/* Accessibility */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.skip-link {
    background-color: var(--color-bg);
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    color: var(--color-primary);
    display: block;
    font-family: var(--font-family-sans);
    font-size: 14px;
    font-weight: 700;
    left: -9999rem;
    padding: 15px 23px;
    position: fixed;
    text-decoration: none;
    text-transform: uppercase;
    top: 5px;
    z-index: 100000;
}

.skip-link:focus {
    left: 5px;
    top: 5px;
    clip: auto !important;
    clip-path: none;
    height: auto;
    width: auto;
}

/* ==========================================================================
   NEWSMATIC PRO HEADER STYLES
   ========================================================================== */

/* Container */
.newsmatic-container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 15px;
}

.site-header {
    background: var(--color-bg);
    padding: 0;
}

.site-header .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

/* TOP HEADER BAR */
.top-header {
    background: var(--top-header-bg);
    padding: 8px 0;
    font-size: 13px;
}

.top-header .row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.top-date-time {
    color: #fff;
    font-family: var(--font-family-meta);
    font-weight: 500;
    white-space: nowrap;
}

.top-date-time::after {
    content: "|";
    margin-left: 15px;
    opacity: 0.5;
}

/* Header Social Icons (Replaces Ticker) */
.header-social-icons {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}

.header-social-icons a {
    color: #fff;
    font-size: 16px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.header-social-icons a:hover {
    color: var(--color-primary);
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

/* Hide Menu Social Icons on Desktop */
.menu-social-icons {
    display: none;
}

/* SITE BRANDING SECTION */
.site-branding-section {
    background: var(--site-branding-bg);
    width: 100%;
    height: 209px;
    display: flex;
    align-items: center;
}

.site-branding-section .newsmatic-container {
    width: 100%;
}

.site-branding-section .row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 15px;
}

.site-branding {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.site-branding .custom-logo-link img,
.site-branding .custom-logo {
    max-height: 60px;
    width: auto;
}

.site-title {
    font-family: var(--font-family-sans);
    font-size: 45px;
    font-weight: 700;
    line-height: 1;
    margin: 0;
    text-transform: capitalize;
    text-align: left;
}

.site-title a {
    color: #fff;
    text-decoration: none;
}

.site-title a:hover {
    color: #fff;
    text-decoration: none;
}

.site-description {
    color: #8f8f8f;
    font-size: 16px;
    margin-top: 5px;
    font-family: var(--font-family-sans);
    text-align: left;
}

/* Header Ad Banner */
.ads-banner {
    max-width: 728px;
}

.ads-banner img {
    max-height: 90px;
    width: auto;
}

/* MENU SECTION */
.menu-section {
    background: var(--menu-section-bg);
    padding: 0;
}

.menu-section .row {
    display: flex;
    align-items: center;
    position: relative;
}

/* Sidebar Toggle */
.sidebar-toggle-wrap {
    display: flex;
    align-items: center;
}

.sidebar-toggle-trigger {
    background: none;
    border: none;
    cursor: pointer;
    padding: 15px 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.newsmatic_sidetoggle_menu_burger {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.newsmatic_sidetoggle_menu_burger span {
    display: block;
    width: 20px;
    height: 2px;
    background: #fff;
    transition: all 0.3s ease;
}

/* Main Navigation */
.main-navigation {
    flex: 1;
}

.main-navigation ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

.main-navigation li {
    position: relative;
}

.main-navigation a {
    display: block;
    padding: 15px 20px;
    color: #fefefe;
    font-family: var(--font-family-sans);
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0;
    text-decoration: none;
    transition: all 0.3s ease;
}

.main-navigation a:hover,
.main-navigation .current-menu-item>a,
.main-navigation .current_page_item>a {
    color: #fff;
    background: var(--color-primary);
    /* Subtle background */
    border-bottom-color: var(--color-primary);
}

/* Dropdown Menu */
.main-navigation ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 240px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    /* Softer shadow */
    border: 1px solid #eee;
    border-top: 3px solid var(--color-primary);
    z-index: 1000;
    flex-direction: column;
    text-align: left;
    justify-content: flex-start;
    animation: fadeIn 0.2s ease-in-out;
}

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

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

.main-navigation li:hover>ul {
    display: flex;
}

.main-navigation ul ul a {
    padding: 0.85rem 1.2rem;
    border-bottom: 1px solid #f9f9f9;
    font-size: 0.85rem;
    text-transform: none;
    font-weight: 500;
    color: #555;
    border-bottom-width: 1px;
    /* Reset hover border */
}

.main-navigation ul ul a:hover {
    background: #f5f5f5;
    color: var(--color-primary);
    padding-left: 1.5rem;
    /* Slide effect */
}

/* Responsive Menu Styles */
@media (max-width: 992px) {

    /* Sticky Header Logic */
    .site-header {
        position: sticky;
        top: 0;
        z-index: 9999;
        background: #fff;
        padding: 0.5rem 0;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    }

    .site-header .container {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-top: 0;
        flex-wrap: wrap;
    }

    /* Reorder: Button Left, Logo Center/Right */
    .main-navigation {
        order: 1;
        width: auto;
        /* Shrink to fit button */
        margin-top: 0;
        border: none;
        position: static;
        /* allow menu drawer to be fixed relative to viewport */
    }

    .site-branding {
        order: 2;
        margin-bottom: 0;
        flex-grow: 1;
        text-align: center;
        padding-right: 40px;
        /* Balance the hamburger width to center logo visually */
    }

    .site-logo img {
        max-height: 50px;
        /* Smaller logo for sticky header */
    }

    /* Toggle Button */
    .menu-toggle {
        display: flex;
        padding: 0.5rem;
        width: auto;
        border: none;
        background: transparent;
        color: #111;
    }

    .menu-toggle .icon-menu,
    .menu-toggle .icon-close {
        width: 28px;
        height: 28px;
    }

    /* Off-Canvas Menu Drawer */
    .main-navigation ul {
        display: block;
        /* Always block for the drawer, but hidden via transform */
        flex-direction: column;
        width: 80%;
        max-width: 300px;
        height: 100vh;
        position: fixed;
        top: 0;
        left: -100%;
        /* Hidden off-screen */
        background-color: #fff;
        background-color: #fff;
        z-index: 1001 !important;
        /* Ensure strictly above backdrop */
        /* Above everything */
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
        padding-top: 4rem;
        /* Space for close button if inside, or just spacing */
        transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        justify-content: flex-start;
        pointer-events: auto;
        /* Force clickable */
    }

    /* Open State */
    .main-navigation.toggled ul {
        left: 0;
    }

    /* Backdrop Overlay (Optional pseudo-element) */
    .main-navigation.toggled::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1000;
        /* Below menu (1001) */
        /* Behind menu, above header */
        pointer-events: auto;
        /* Catches clicks outside menu */
    }

    .main-navigation ul li {
        width: 100%;
        text-align: left;
        border-bottom: 1px solid #f0f0f0;
    }

    .main-navigation a {
        padding: 1rem 1.5rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: none;
        color: #333;
        /* Fix visibility on white background */
        pointer-events: auto;
        cursor: pointer;
        position: relative;
        /* Establish local stacking context if needed */
        z-index: 100000;
        /* Ensure on top of container */
    }

    /* Submenus in Drawer */
    .main-navigation ul ul {
        position: static;
        width: 100%;
        max-width: none;
        height: auto;
        box-shadow: none;
        border: none;
        background: #fafafa;
        display: none;
        /* Collapsed by default */
        padding-top: 0;
    }

    .main-navigation li.focus>ul,
    .main-navigation li:hover>ul {
        display: flex;
    }

    .main-navigation ul ul a {
        padding-left: 2rem;
        font-weight: 500;
        font-size: 0.9em;
    }

    /* Hide Sidebar Toggle on Mobile (confusing duplicate hamburger) */
    .sidebar-toggle-wrap {
        display: none !important;
    }

    .site-branding-section {
        /* Hide main branding on mobile */
        display: none !important;
    }

    /* Hide Date on Mobile */
    /* Hide Top Header (Date + Desktop Social Icons) on Mobile */
    .top-header {
        display: none;
    }

    /* Ensure flex alignment for menu and name */
    .main-navigation {
        display: flex !important;
        align-items: center;
        /* Allow wrapping if needed, but preferably not */
        flex-wrap: nowrap;
    }

    /* Social Icons in Menu Bar */
    .menu-social-icons {
        margin-left: auto;
        /* Push to far right */
        display: flex;
        gap: 10px;
        /* Moderate spacing */
        align-items: center;
        padding-right: 0;
    }

    .menu-social-icons a {
        color: #ffffff !important;
        /* Forces white */
        font-size: 16px;
        width: auto;
        height: auto;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        transition: none;
        opacity: 1 !important;
        margin: 0;
    }

    .menu-social-icons a:hover {
        color: var(--color-primary) !important;
    }

    /* Ticker Adjustments for Mobile */
    .newsmatic-ticker-label {
        display: none !important;
        /* Hide "Gündem" text */
    }

    .newsmatic-ticker-controls {
        margin-left: auto;
        /* Push pause button to far right */
    }

    /* Responsive Heading Sizes for Mobile */
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    h4 {
        font-size: 1.25rem;
    }

    h5 {
        font-size: 1.125rem;
    }

    h6 {
        font-size: 1rem;
    }

    .entry-content h2 {
        font-size: 1.75rem;
    }

    .entry-content h3 {
        font-size: 1.5rem;
    }

    .entry-content h4 {
        font-size: 1.25rem;
    }

    .entry-content h5 {
        font-size: 1.125rem;
    }

    .entry-content h6 {
        font-size: 1rem;
    }
}

/* Default state for mobile branding on desktop: hidden */
.mobile-site-branding {
    display: none;
}

/* Typography - Heading Sizes (Prevents Browser Deprecated API Warnings) */
h1 {
    font-size: 2.5rem;
    line-height: 1.2;
    font-weight: 700;
}

h2 {
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 700;
}

h3 {
    font-size: 1.75rem;
    line-height: 1.3;
    font-weight: 600;
}

h4 {
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: 600;
}

h5 {
    font-size: 1.25rem;
    line-height: 1.4;
    font-weight: 600;
}

h6 {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 600;
}

/* Post/Article Styles */
.entry-header {
    margin-bottom: 2rem;
}

.entry-title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 0.5rem;
    color: #111;
}

.entry-meta {
    font-size: 0.9rem;
    color: var(--color-text-light);
    margin-bottom: 1rem;
}

.entry-content {
    max-width: 800px;
    /* Optimal reading width */
}

.entry-content h2,
.entry-content h3 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: #222;
}

.entry-content h2 {
    font-size: 2rem;
}

.entry-content h3 {
    font-size: 1.75rem;
}

.entry-content h4 {
    font-size: 1.5rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    color: #222;
}

.entry-content h5 {
    font-size: 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    color: #222;
}

.entry-content h6 {
    font-size: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    color: #222;
}


.entry-content p {
    margin-bottom: 1.5rem;
}

.aligncenter {
    text-align: center;
    margin: 2rem auto;
}

figcaption {
    font-size: 0.9rem;
    color: var(--color-text-light);
    text-align: center;
    margin-top: 0.5rem;
}

/* Device Summary Box */
.device-summary-box {
    background-color: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 2rem 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.device-summary-box h3 {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 1.25rem;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
    padding-bottom: 0.25rem;
}

.device-summary-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.device-summary-item strong {
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    color: var(--color-text-light);
    letter-spacing: 0.05em;
}

/* Pagination */
.pagination {
    margin-top: 3rem;
    text-align: center;
}

.pagination .page-numbers {
    display: inline-block;
    padding: 0.5rem 1rem;
    border: 1px solid var(--color-border);
    margin: 0 0.25rem;
    border-radius: 4px;
}

.pagination .current {
    background-color: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}

/* Footer */
.site-footer {
    border-top: none;
    padding: 0;
    margin-top: 4rem;
    text-align: left;
    color: #444;
    /* Darker for better contrast on white background */
    background-color: var(--footer-bg);
}

/* Footer Widgets Area - White Background */
.footer-widgets {
    background-color: #ffffff;
    color: var(--color-text);
    padding: 60px 0;
    border-top: 1px solid var(--color-border);
}

.footer-widget-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.footer-widget-column {
    flex: 1 1 0;
    padding: 0 15px;
    min-width: 0;
    /* removed 250px so they can shrink/grow to fit 3 in a row without wrapping prematurely */
}

/* Specific Widget Title Styling - Overlay Method */
.footer-widget-column .widget {
    position: relative;
    margin-bottom: 30px;
}

/* The Line (Background) */
.footer-widget-column .widget::before {
    content: '';
    position: absolute;
    top: 50%;
    /* Adjust in specific alignment if needed, usually around middle of title */
    top: 15px;
    /* Approx middle of a ~30px high title */
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #d90a2c;
    z-index: 0;
}

/* The Title (Foreground) */
.footer-widget-column .widget-title {
    display: inline-block;
    background-color: #d90a2c;
    color: #fff;
    padding: 8px 15px;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    position: relative;
    margin-bottom: 20px;
    line-height: 1;
    z-index: 1;
    /* Sit on top of the line */
    white-space: nowrap;
    text-decoration: none;
    /* Ensure no unwanted strikethrough */
}

/* Specific adjustment to ensure line aligns perfectly with title center */
.footer-widget-column .widget-title {
    /* Height calculation: 1rem (16px) + 16px padding = 32px. Center ~16px. */
    vertical-align: middle;
}

.footer-widget-column .widget::before {
    /* Fine tune top to match title vertical center */
    top: 16px;
}

/* Force Footer Widget Row to use Flexbox with 3 equal columns - Override any plugin/WP grid styles */
.footer-widgets .footer-widget-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    gap: 30px !important;
    grid-template-columns: none !important;
}

.footer-widgets .footer-widget-column {
    flex: 1 1 0 !important;
    max-width: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

/* Responsive: stack columns on mobile */
@media (max-width: 768px) {
    .footer-widgets .footer-widget-row {
        flex-wrap: wrap !important;
    }

    .footer-widgets .footer-widget-column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 30px;
    }
}


.bottom-footer {
    padding: 40px 0;
    background-color: #333333;
    /* Dark Grey Middle Section */
    color: #d1d1d1;
    /* Lighter for better contrast on dark background */
}

.newsmatic-footer-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    /* Vertically center items */
    justify-content: space-between;
    gap: 30px;
}

.footer-col-left,
.footer-col-middle,
.footer-col-right {
    flex: 1;
    min-width: 250px;
}

/* Left Column */
.footer-logo {
    margin-bottom: 20px;
}

/* Footer Logo Image - Aspect Ratio Protection */
.footer-logo-img {
    width: 265px;
    max-width: 100%;
    height: auto !important;
    /* Force auto height to maintain aspect ratio */
    display: block;
}

/* Custom width from theme settings */
.footer-logo-custom {
    width: var(--footer-logo-width, 265px);
}

.footer-social-icons {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.footer-social-icons a {
    color: #d1d1d1;
    /* Lighter for better contrast on dark background */
    font-size: 18px;
    transition: all 0.3s ease;
}

.footer-social-icons a:hover {
    color: #fff;
}

.site-info p {
    margin-bottom: 5px;
    font-size: 13px;
    color: #666;
}

.site-info a {
    color: #d1d1d1;
    /* Lighter for better contrast on dark background */
}

.site-info a:hover {
    color: #fff;
    text-decoration: none;
}

.theme-credits {
    font-size: 12px;
    opacity: 0.7;
}

/* Middle Column */
.footer-col-middle {
    color: #999;
    font-size: 14px;
    line-height: 1.8;
}

.footer-search-title {
    color: #fff;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.footer-search-form .search-form {
    position: relative;
    display: flex;
}

.footer-search-form .search-field {
    width: 100%;
    background-color: #222;
    /* Darker input background */
    border: none;
    color: #999;
    padding: 12px 45px 12px 15px;
    /* Right padding for button */
    font-size: 14px;
    border-radius: 2px;
}

.footer-search-form .search-field:focus {
    background-color: #1a1a1a;
    outline: none;
}

.footer-search-form .search-submit {
    background: transparent;
    border: none;
    color: #d90a2c;
    /* Red icon color */
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 40px;
    font-size: 16px;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s;
}

.footer-search-form .search-submit:hover {
    color: #fff;
}

@media (max-width: 768px) {
    .newsmatic-footer-row {
        flex-direction: column;
        text-align: center;
    }

    .footer-col-left,
    .footer-col-middle,
    .footer-col-right {
        flex: 0 0 100%;
        min-width: 100%;
        width: 100%;
        margin-bottom: 30px;
    }

    .footer-social-icons {
        justify-content: center;
    }

    .footer-search-form .search-form {
        max-width: 100%;
    }
}

/* 404 */
.error-404 {
    text-align: center;
    padding: 4rem 0;
}

.error-404 h1 {
    font-size: 4rem;
    margin-bottom: 1rem;
    color: var(--color-primary);
}

/* Print Styles */
@media print {

    .site-header,
    .site-footer,
    .skip-link,
    .pagination,
    .comments-area {
        display: none;
    }

    body {
        background: none;
        color: black;
    }

    a {
        text-decoration: none;
        color: black;
    }
}

/* Magazine Homepage Layout */
.home-hero-section,
.home-featured-section,
.home-section-type-a,
.home-section-type-b {
    padding: 3rem 0;
    border-bottom: 1px solid var(--color-border);
}

.section-title {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-primary);
    margin-bottom: 1.5rem;
    border-left: 5px solid var(--color-primary);
    padding-left: 10px;
    line-height: 1;
}

/* Hero Grid */
.hero-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(2, 250px);
    gap: 1.5rem;
    align-items: stretch;
}

.hero-main-post {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

.hero-sub-posts {
    grid-column: 2 / 4;
    grid-row: 1 / 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 1.5rem;
}

.hero-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    background: #000;
    border-radius: 4px;
}

.hero-card .post-thumbnail {
    height: 100%;
    width: 100%;
}

.hero-card .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.7;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.hero-card:hover .post-thumbnail img {
    opacity: 0.5;
    transform: scale(1.05);
}

.hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    color: white;
}

.hero-content .cat-label {
    background: var(--color-primary);
    color: white;
    padding: 2px 8px;
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 0.5rem;
    display: inline-block;
    border-radius: 2px;
}

.hero-content a {
    color: white;
    text-decoration: none;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.hero-large .entry-title {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.hero-small .entry-title {
    font-size: 1rem;
    margin-bottom: 0.25rem;
    line-height: 1.4;
}

.hero-content .entry-meta {
    font-size: 0.8rem;
    opacity: 0.8;
}

/* Featured Row */
.featured-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.featured-row.three-col {
    grid-template-columns: repeat(3, 1fr);
}

.featured-card {
    height: 100%;
}

.featured-card .post-thumbnail {
    margin-bottom: 1rem;
    border-radius: 4px;
    overflow: hidden;
    aspect-ratio: 16/9;
}

.featured-card .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-card .entry-title {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

.featured-card .entry-meta {
    font-size: 0.85rem;
    color: var(--color-text-light);
}

/* Category Block (Type A) */
.cat-block-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 2rem;
}

.cat-card-large .post-thumbnail {
    margin-bottom: 1rem;
    border-radius: 4px;
    overflow: hidden;
}

.cat-card-large .entry-title {
    font-size: 1.75rem;
    margin-bottom: 1rem;
}

.cat-list-item {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    align-items: flex-start;
}

.cat-list-item .post-thumbnail {
    flex: 0 0 100px;
    width: 100px;
    height: 75px;
    border-radius: 4px;
    overflow: hidden;
}

.cat-list-item .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.cat-list-item .entry-title {
    font-size: 1rem;
    margin: 0 0 0.5rem 0;
    line-height: 1.3;
}

.cat-list-item .entry-meta {
    font-size: 0.8rem;
    color: var(--color-text-light);
}

/* Responsive */
@media (max-width: 992px) {
    .hero-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }

    .hero-main-post {
        grid-column: 1 / -1;
    }

    .hero-sub-posts {
        grid-column: 1 / -1;
    }

    .cat-block-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {

    .featured-row,
    .featured-row.three-col {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .entry-title {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {

    .featured-row,
    .featured-row.three-col {
        grid-template-columns: 1fr;
    }
}

/* Category Overlay Label */
.post-thumbnail {
    position: relative;
}

.cat-label-overlay {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--color-primary);
    color: #fff;
    padding: 4px 8px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 10;
    border-radius: 2px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Re-adding basic layout classes accidentaly removed */
.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--spacing-unit);
}

.site-main {
    padding: 2rem 0;
}

/* Layout & Sidebar Styles */
.content-area {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--spacing-unit);
    width: 100%;
}

.layout-right-sidebar,
.layout-left-sidebar {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}

.layout-right-sidebar .site-main,
.layout-left-sidebar .site-main {
    flex: 2;
    min-width: 0;
    /* Fix flex overflow issues */
}

.layout-right-sidebar .widget-area,
.layout-left-sidebar .widget-area {
    flex: 1;
    min-width: 300px;
}

.layout-left-sidebar {
    flex-direction: row-reverse;
}

/* Narrow Layout (Single Post) */
.layout-narrow .site-main {
    max-width: 800px;
    margin: 0 auto;
    float: none;
}

/* Front Page Nested Containers Fix */
/* When front page has a sidebar, the internal containers should fill the available space */
.layout-right-sidebar section .container,
.layout-left-sidebar section .container {
    width: 100%;
    max-width: none;
    padding: 0;
}

/* Sidebar Widgets */
.widget-area {
    padding-top: 1rem;
}

.widget {
    margin-bottom: 2.5rem;
}

.widget-title {
    font-size: 1.1rem;
    text-transform: uppercase;
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-border);
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
    position: relative;
}

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

.widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.widget ul li {
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--color-border);
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget ul li a {
    color: var(--color-text);
    font-weight: 500;
}

.widget ul li a:hover {
    color: var(--color-primary);
}

/* Responsive Layout */
@media (max-width: 992px) {

    .layout-right-sidebar,
    .layout-left-sidebar {
        flex-direction: column;
    }

    .layout-right-sidebar .site-main,
    .layout-left-sidebar .site-main,
    .layout-right-sidebar .widget-area,
    .layout-left-sidebar .widget-area {
        flex: auto;
        width: 100%;
    }

    .widget-area {
        margin-top: 3rem;
        border-top: 1px solid var(--color-border);
        padding-top: 3rem;
    }
}


/* Fix: Allow Front Page Full Width Backgrounds */
body.home .content-area.layout-full,
body.front-page .content-area.layout-full {
    max-width: 100%;
    padding: 0;
}

/* Ensure single posts effectively use the space in full width but are not 4000px wide text lines */
.layout-full .site-main .entry-content,
.layout-full .site-main .entry-header {
    max-width: 100%;
    /* Or keep it contained if desired, but typically 'Full Width' page means container width */
}

/* Note: The default .content-area max-width handles the container for standard pages */


/* Custom Widget Styles */

/* Recent & Popular Posts Widget */
.biomedical-widget-posts {
    list-style: none;
    padding: 0;
    margin: 0;
}

.biomedical-widget-posts li {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-border);
}

.biomedical-widget-posts li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.widget-post-thumbnail {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    margin-right: 15px;
    border-radius: 4px;
    overflow: hidden;
}

.widget-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.widget-post-content {
    flex: 1;
}

.widget-post-title {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
    margin-bottom: 0;
    padding: 5px 0;
    /* Accessible touch target */
    color: #d0d0d0;
    /* Match Image 1 dark/clean text */
}

.widget-post-title:hover {
    color: #fff;
    /* White on hover */
}

/* Remove old widget-post-cat if not needed or style it */
.widget-post-cat {
    display: none;
    /* Image 1 doesn't show category labels on posts */
}

/* Modern Category Widget Style */
.footer-widget-column .widget_categories ul li,
.footer-widget-column .widget_archive ul li,
.footer-widget-column .widget_pages ul li,
.footer-widget-column .widget_meta ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding: 0;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-widget-column .widget_categories ul li:last-child,
.footer-widget-column .widget_archive ul li:last-child,
.footer-widget-column .widget_pages ul li:last-child,
.footer-widget-column .widget_meta ul li:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.footer-widget-column .widget_categories ul li a {
    color: #ffffff;
    /* Clean white text for readability */
    font-size: 14px;
    font-weight: 500;
    padding: 10px 16px;
    background: #b41d36;
    /* Deep red background */
    border-radius: 4px;
    display: inline-block;
    min-width: 120px;
    text-align: left;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.footer-widget-column .widget_categories ul li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.footer-widget-column .widget_categories ul li a:hover::before {
    left: 100%;
}

.footer-widget-column .widget_categories ul li a:hover {
    color: #ffffff;
    background: linear-gradient(135deg, #d90a2c 0%, #b41d36 100%);
    box-shadow: 0 4px 12px rgba(217, 10, 44, 0.4);
    transform: translateX(4px);
}

.footer-widget-column .widget_categories ul li span.count {
    color: #999;
    font-size: 13px;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.05);
    padding: 6px 12px;
    border-radius: 12px;
    min-width: 32px;
    text-align: center;
    transition: all 0.3s ease;
}

.footer-widget-column .widget_categories ul li:hover span.count {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    transform: scale(1.05);
}

.widget-post-date {
    font-size: 0.8rem;
    color: var(--color-text-light);
}

/* Social Followers Widget */
.biomedical-social-widget {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.social-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    background-color: #f5f5f5;
    color: #444;
    font-weight: 600;
    transition: all 0.2s ease;
    text-decoration: none;
}

.social-item:hover {
    background-color: #e5e5e5;
    text-decoration: none;
}

/* Social Network Colors (on hover or always?) */
/* Let's keep it clean for now, or add specific colors */
.social-item.social-icon-facebook:hover {
    background-color: #1877f2;
    color: #fff;
}

.social-item.social-icon-x:hover {
    background-color: #000;
    color: #fff;
}

.social-item.social-icon-instagram:hover {
    background-color: #c32aa3;
    color: #fff;
}

.social-item.social-icon-linkedin:hover {
    background-color: #0a66c2;
    color: #fff;
}

.social-item.social-icon-telegram:hover {
    background-color: #0088cc;
    color: #fff;
}

.social-icon {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Using simple text for icons as requested, but could add pseudo-elements later if font icons are available */


/* Updated Widget Styles per Request */

.biomedical-widget-posts li {
    display: flex;
    align-items: flex-start;
    /* Align top */
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #f0f0f0;
    /* Lighter border */
}

.widget-post-thumbnail {
    flex: 0 0 80px;
    /* Bit larger thumbnail */
    width: 80px;
    height: 80px;
    margin-right: 1.25rem;
    border-radius: 0;
    /* Square as per image? Or slight radius. Image shows square-ish */
}

.widget-post-cat {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: #666;
    /* Darker for better contrast */
    letter-spacing: 0.05em;
    margin-bottom: 0.3rem;
    line-height: 1;
}

.widget-post-title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.35rem;
    color: #222;
}

.widget-post-date {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #666;
    /* Darker for better contrast */
    letter-spacing: 0.05em;
}

/* ========================================
   NEWSMATIC PRO STYLES
   ======================================== */

/* Color Variables */
:root {
    --nm-primary: #1B8415;
    --nm-secondary: #c94a2f;
    /* Darker burnt orange for better contrast (was #e76f51) */
    --nm-accent: #1a8a6e;
    /* Darker teal for better contrast (was #2ab391) */
    --nm-dark: #27272a;
    --nm-dark-bg: #181818;
    --nm-light-bg: #f6f6f6;
    --nm-border: #eaeaea;
    --nm-text: #333;
    --nm-text-light: #666;
}

/* Newsmatic Layout */
.newsmatic-layout {
    max-width: 100%;
    padding: 0;
}

.newsmatic-layout .site-main {
    padding: 0;
}

.newsmatic-section {
    padding: 30px 0;
}

.newsmatic-section .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

/* ========================================
   TICKER NEWS
   ======================================== */
.after-header {
    background: #fff;
    border-bottom: 1px solid var(--nm-border);
    padding: 10px 0;
}

.ticker-news-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
    overflow: hidden;
}

.ticker-label {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--nm-primary);
    color: #fff;
    padding: 8px 15px;
    border-radius: 3px;
    white-space: nowrap;
    flex-shrink: 0;
}

.ticker-label .icon {
    font-size: 1rem;
}

.ticker-label-text {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
}

.newsmatic-ticker-box {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.ticker-item-wrap {
    display: flex;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

.ticker-item {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.ticker-item .feature_image {
    width: 50px;
    height: 50px;
    border-radius: 4px;
    overflow: hidden;
    margin: 0;
    flex-shrink: 0;
}

.ticker-item .feature_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ticker-item .title-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ticker-item .post-title {
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
}

.ticker-item .post-title a {
    color: var(--nm-dark);
    text-decoration: none;
}

.ticker-item .post-title a:hover {
    color: var(--nm-primary);
}

.ticker-item .post-date {
    font-size: 0.75rem;
    color: var(--nm-text-light);
}

.newsmatic-ticker-controls {
    flex-shrink: 0;
}

.newsmatic-ticker-pause {
    background: transparent;
    border: 1px solid var(--nm-border);
    padding: 8px 12px;
    cursor: pointer;
    border-radius: 3px;
    color: var(--nm-text-light);
    transition: all 0.2s ease;
}

.newsmatic-ticker-pause:hover {
    background: var(--nm-light-bg);
    color: var(--nm-dark);
}

/* ========================================
   MAIN BANNER SECTION
   ======================================== */
.main-banner-section {
    background: var(--nm-light-bg);
    padding: 20px 0 30px;
}

.banner-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

.main-banner-wrap {
    position: relative;
}

/* Slider Height */
.main-banner-slider {
    width: 100%;
    height: 100%;
}

.main-banner-slider .swiper-slide {
    position: relative;
    overflow: hidden;
}

.main-banner-slider .post-thumb {
    height: 100%;
    width: 100%;
    margin: 0;
}

.main-banner-slider .post-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-banner-slider .post-element {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 80px 30px 30px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.4) 60%, transparent 100%);
    color: #fff;
    z-index: 10;
}

.main-banner-slider .post-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
}

.main-banner-slider .post-title a {
    color: #fff;
    text-decoration: none;
}

.main-banner-slider .post-title a:hover {
    text-decoration: underline;
}

.main-banner-slider .post-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

.main-banner-slider .post-date {
    font-size: 0.85rem;
    opacity: 0.9;
}

/* Swiper Navigation Arrows */
.main-banner-slider .swiper-button-next,
.main-banner-slider .swiper-button-prev {
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.main-banner-slider .swiper-button-next:after,
.main-banner-slider .swiper-button-prev:after {
    font-size: 18px;
    font-weight: bold;
}

.main-banner-slider .swiper-button-next:hover,
.main-banner-slider .swiper-button-prev:hover {
    background: var(--nm-primary);
    transform: scale(1.1);
}

/* Main Banner Layout (Three) */
.banner-layout--three .row {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 10px;
}

.banner-layout--three .main-banner-wrap {
    width: 100%;
    min-width: 0;
    /* Critical for CSS Grid */
    overflow: hidden;
    position: relative;
    z-index: 1;
}

/* Slider Height */
.main-banner-slider .post-thumb {
    height: 480px;
    /* Taller for main slider */
}

/* Trailing Posts Grid */
.banner-trailing-posts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1.6fr 1fr;
    /* Top item taller */
    gap: 10px;
    height: 480px;
    /* Match slider height */
}

/* First trailing post spans full width */
.banner-trailing-posts .post-item:first-child {
    grid-column: span 2;
}

/* Trailing Post Items */
.banner-trailing-posts .post-item {
    position: relative;
    width: 100%;
    height: 100%;
}

.banner-trailing-posts .post-thumb {
    height: 100%;
    min-height: auto;
}

.banner-trailing-posts .post-thumb img {
    height: 100%;
    object-fit: cover;
}

.banner-trailing-posts .post-element {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.3) 60%, transparent 100%);
    pointer-events: none;
    /* Allow clicks to pass through if needed, but usually text is clickable */
}

.banner-trailing-posts .post-element * {
    pointer-events: auto;
}

.banner-trailing-posts .post-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 5px;
}

/* Smaller titles for bottom items */
.banner-trailing-posts .post-item:not(:first-child) .post-title {
    font-size: 0.95rem;
}

.banner-trailing-posts .post-meta {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 5px;
}

/* Responsive */
@media (max-width: 992px) {
    .banner-layout--three .row {
        grid-template-columns: 1fr;
    }

    .main-banner-slider .post-thumb {
        height: 400px;
    }

    .banner-trailing-posts {
        height: auto;
        grid-template-rows: auto;
    }

    .banner-trailing-posts .post-thumb {
        height: 250px;
    }
}

@media (max-width: 576px) {
    .main-banner-slider .post-thumb {
        height: 280px;
    }

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

    .banner-trailing-posts .post-item:first-child {
        grid-column: span 1;
    }
}

/* ========================================
   POST CATEGORIES
   ======================================== */
.post-categories {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex;
    gap: 5px;
}

.post-categories .cat-item {
    display: inline-block;
    margin: 0;
    padding: 0;
    border: none;
}

.post-categories .cat-item a {
    display: inline-block;
    background: var(--nm-primary);
    color: #fff;
    padding: 3px 10px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.03em;
}

/* Category Colors */
.cat-item.cat-1 a,
.cat-item.cat-1 {
    background: var(--nm-primary);
}

.cat-item.cat-2 a,
.cat-item.cat-2 {
    background: var(--nm-secondary);
}

.cat-item.cat-3 a,
.cat-item.cat-3 {
    background: var(--nm-accent);
}

/* ========================================
   BLOCK TITLES
   ======================================== */
.newsmatic-block-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--nm-dark);
    margin: 0 0 20px;
    padding: 0;
    position: relative;
    display: inline-block;
}

.newsmatic-block-title span {
    display: inline-block;
    position: relative;
    padding-bottom: 10px;
}

.newsmatic-block-title span::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--nm-primary);
}

.newsmatic-block-title sub {
    font-size: 0.65em;
    color: var(--nm-text-light);
    font-weight: 400;
    vertical-align: baseline;
}

/* ========================================
   FULL WIDTH SECTION (Editor's Picks)
   ======================================== */
.full-width-section {
    background: var(--nm-light-bg);
    padding: 30px 0;
}

.news-grid.layout-one {
    background: #fff;
    padding: 20px;
    border-radius: 0;
}

.news-grid-post-wrap {
    display: grid;
    gap: 20px;
}

.news-grid-post-wrap.column-four {
    grid-template-columns: repeat(4, 1fr);
}

.news-grid-post-wrap.column-three {
    grid-template-columns: repeat(3, 1fr);
}

.news-grid .grid-item {
    background: #fff;
}

.news-grid .grid-item .post-thumb-wrap {
    position: relative;
    padding-bottom: 65%;
    overflow: hidden;
    margin: 0;
}

.news-grid .grid-item .post-thumb-wrap img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.news-grid .grid-item:hover .post-thumb-wrap img {
    transform: scale(1.05);
}

.news-grid .grid-item .post-categories {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
}

.news-grid .grid-item .post-element {
    padding: 15px 0 0;
}

.news-grid .grid-item .post-title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 8px;
}

.news-grid .grid-item .post-title a {
    color: var(--nm-dark);
    text-decoration: none;
    display: inline-block;
    /* Increase touch target area */
    padding: 5px 0;
}

.news-grid .grid-item .post-title a:hover {
    color: var(--nm-primary);
}

.news-grid .grid-item .post-meta {
    font-size: 0.8rem;
    color: var(--nm-text-light);
}

/* ========================================
   CONTENT + SIDEBAR SECTION
   ======================================== */
.leftc-rights-section {
    background: var(--nm-light-bg);
    padding: 40px 0;
}

.content-sidebar-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

/* Primary Content - News List */
.primary-content .news-list {
    background: #fff;
    padding: 0;
}

.news-list .list-item {
    display: flex;
    gap: 20px;
    padding: 20px;
    border-bottom: 1px solid var(--nm-border);
}

.news-list .list-item:last-child {
    border-bottom: none;
}

.news-list .list-item .post-thumb-wrap {
    flex: 0 0 280px;
    width: 280px;
    position: relative;
    overflow: hidden;
    margin: 0;
}

.news-list .list-item .post-thumb-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

.news-list .list-item .post-categories {
    position: absolute;
    top: 10px;
    left: 10px;
}

.news-list .list-item .post-categories a {
    color: #ffffff !important;
}

.news-list .list-item .post-element {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.news-list .list-item .post-title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 10px;
}

.news-list .list-item .post-title a {
    color: var(--nm-dark);
    text-decoration: none;
    display: inline-block;
    padding: 4px 0;
}

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

.news-list .list-item .post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 0.85rem;
    color: var(--nm-text-light);
    margin-bottom: 12px;
}

.news-list .list-item .post-meta .author a {
    color: var(--nm-text);
    font-weight: 500;
}

.news-list .list-item .post-excerpt {
    font-size: 0.95rem;
    color: var(--nm-text-light);
    line-height: 1.6;
}

/* Secondary Sidebar */
.secondary-sidebar {
    padding: 0;
}

.secondary-sidebar .widget {
    background: #fff;
    padding: 20px;
    margin-bottom: 0;
}

.secondary-sidebar .widget_posts_list .posts-wrap {
    display: flex;
    flex-direction: column;
}

.secondary-sidebar .post-item {
    display: flex;
    gap: 12px;
    padding: 15px 0;
    border-bottom: 1px solid var(--nm-border);
}

.secondary-sidebar .post-item:first-child {
    padding-top: 0;
}

.secondary-sidebar .post-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.secondary-sidebar .post-item .post-thumb {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    overflow: hidden;
    margin: 0;
}

.secondary-sidebar .post-item .post-thumb figure {
    width: 100%;
    height: 100%;
    margin: 0;
}

.secondary-sidebar .post-item .post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.secondary-sidebar .post-item .post-content-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.secondary-sidebar .post-item .post-categories {
    margin-bottom: 5px;
}

.secondary-sidebar .post-item .post-categories h5 {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
}

.secondary-sidebar .post-item .post-categories h5 a {
    color: var(--nm-primary);
    text-decoration: none;
}

.secondary-sidebar .post-item .post-title {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
}

.secondary-sidebar .post-item .post-title a {
    color: var(--nm-dark);
    text-decoration: none;
}

.secondary-sidebar .post-item .post-title a:hover {
    color: var(--nm-primary);
}

/* ========================================
   BOTTOM SECTION
   ======================================== */
.bottom-full-width-section {
    background: #f4f4f4;
    padding: 30px 0;
}

/* ========================================
   RESPONSIVE STYLES
   ======================================== */
@media (max-width: 992px) {
    .banner-layout {
        grid-template-columns: 1fr;
    }

    .banner-trailing-posts {
        flex-direction: row;
    }

    .banner-trailing-posts .post-item {
        min-height: 180px;
    }

    .news-grid-post-wrap.column-four,
    .news-grid-post-wrap.column-three {
        grid-template-columns: repeat(2, 1fr);
    }

    .content-sidebar-layout {
        grid-template-columns: 1fr;
    }

    .secondary-sidebar {
        margin-top: 30px;
    }

    .news-list .list-item .post-thumb-wrap {
        flex: 0 0 200px;
        width: 200px;
    }
}

@media (max-width: 768px) {
    .ticker-news-wrap {
        flex-wrap: wrap;
    }

    .ticker-label {
        width: 100%;
        justify-content: center;
    }

    .newsmatic-ticker-box {
        order: 3;
        width: 100%;
    }

    .newsmatic-ticker-controls {
        order: 2;
    }

    .main-banner-slider .post-title {
        font-size: 1.25rem;
    }

    .main-banner-slider .post-element {
        padding: 40px 20px 20px;
    }

    .banner-trailing-posts {
        flex-direction: column;
    }

    .banner-trailing-posts .post-item {
        min-height: 150px;
    }

    .news-list .list-item {
        flex-direction: column;
    }

    .news-list .list-item .post-thumb-wrap {
        flex: none;
        width: 100%;
    }
}

@media (max-width: 576px) {

    .news-grid-post-wrap.column-four,
    .news-grid-post-wrap.column-three {
        grid-template-columns: 1fr;
    }

    .newsmatic-block-title {
        font-size: 1.25rem;
    }
}

/* ==========================================================================
   HEADER ACTIONS (Newsletter, Random, Search)
   ========================================================================== */

.header-actions {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.newsletter-element,
.random-news-element {
    padding: 0 15px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.newsletter-element a,
.random-news-element a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-family: var(--font-family-sans);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.newsletter-element a:hover,
.random-news-element a:hover {
    color: var(--color-primary);
    text-decoration: none;
}

.newsletter-element .title-icon,
.random-news-element .title-icon {
    font-size: 16px;
}

/* Search Wrap */
.search-wrap {
    position: relative;
    padding: 0 15px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.search-trigger {
    background: none;
    border: none;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    padding: 15px;
    transition: color 0.3s ease;
}

.search-trigger:hover {
    color: var(--color-primary);
}

.search-form-wrap {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    padding: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    min-width: 300px;
    border-radius: 4px;
}

.search-form-wrap.hide {
    display: none;
}

.search-form-wrap .search-form {
    display: flex;
}

.search-form-wrap .search-field {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-right: none;
    font-size: 14px;
}

.search-form-wrap .search-submit {
    background: var(--color-primary);
    color: #fff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.3s ease;
}

.search-form-wrap .search-submit:hover {
    background: var(--color-secondary);
}

/* Menu Toggle Mobile */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 15px 20px;
    color: #fff;
}

#newsmatic_menu_burger {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#newsmatic_menu_burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    transition: all 0.3s ease;
}

.menu_txt {
    color: #fff;
    margin-left: 10px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
}

/* ==========================================================================
   FOOTER STYLES - NEWSMATIC PRO
   ========================================================================== */

.site-footer {
    background: var(--footer-bg);
    color: #444;
    /* Darker for contrast */
    margin-top: 50px;
}

.site-footer.dark_bk {
    background: var(--footer-bg);
}

/* Footer Widgets */
.footer-widgets {
    padding: 50px 0 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-widget-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.footer-widget-column .widget {
    margin-bottom: 30px;
}

.footer-widget-column .widget-title {
    color: #fff;
    font-family: var(--font-family-sans);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 10px;
}

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

.footer-widget-column ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-widget-column ul li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-widget-column ul li a {
    color: #444;
    /* Darker for contrast on white background */
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-widget-column ul li a:hover {
    color: var(--color-primary);
}

/* Bottom Footer */
.bottom-footer {
    background: var(--footer-bottom-bg);
    padding: 20px 0;
}

.bottom-footer .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
}

.site-info {
    color: #8a8a8a;
    font-size: 14px;
}

.site-info p {
    margin: 0;
}

.site-info a {
    color: #fff;
    text-decoration: none;
}

.site-info a:hover {
    color: var(--color-primary);
}

.site-info .sep {
    margin: 0 5px;
    opacity: 0.5;
}

/* Footer Navigation */
.footer-navigation .footer-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 25px;
}

.footer-navigation .footer-menu li a {
    color: #d1d1d1;
    /* Lighter for better contrast on dark background */
    font-size: 14px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-navigation .footer-menu li a:hover {
    color: var(--color-primary);
}

/* Scroll to Top Button */
#newsmatic-scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: var(--footer-bottom-bg);
    color: #fff;
    border: 1px solid #fff;
    width: 50px;
    height: 50px;
    border-radius: 0;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    z-index: 999;
    transition: all 0.3s ease;
}

#newsmatic-scroll-to-top.show {
    display: flex;
}

#newsmatic-scroll-to-top:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
}

/* Responsive Footer */
@media (max-width: 992px) {
    .footer-widget-row {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .header-actions {
        display: none;
    }

    .menu-toggle {
        display: flex;
        align-items: center;
    }

    .main-navigation ul {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--menu-section-bg);
        z-index: 1000;
    }

    .main-navigation.toggled ul {
        display: flex;
    }

    .top-header .row {
        flex-direction: column;
        gap: 10px;
    }

    .top-date-time::after {
        display: none;
    }

    .social-icons-wrap {
        margin-left: 0;
    }

    .site-branding-section .row {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

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

    .bottom-footer .row {
        flex-direction: column;
        text-align: center;
    }

    .footer-navigation .footer-menu {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* ==========================================================================
   ADVERTISEMENT BLOCKS
   ========================================================================== */

.newsmatic-advertisement-block {
    text-align: center;
    margin: 20px 0;
}

.newsmatic-advertisement-block.is-large {
    margin: 30px 0;
}

.newsmatic-advertisement-block .inner-ad-block {
    display: inline-block;
}

.newsmatic-advertisement-block .inner-ad-block img {
    max-width: 100%;
    height: auto;
}

/* ==========================================================================
   VIDEO PLAYLIST SECTION
   ========================================================================== */

.video-playlist-section {
    background: #000;
    padding: 30px 0;
}

.video-playlist-section.layout--two .newmatic-video-section-container {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

.video-playlist-section .active-player {
    position: relative;
    background: #1a1a1a;
    border-radius: 4px;
    overflow: hidden;
}

.video-playlist-section .active-player iframe {
    width: 100%;
    height: 100%;
    min-height: 400px;
}

.video-playlist-section .thumb-video-highlight-text {
    display: none;
}

.video-playlist-section .player-list-wrap {
    background: #1a1a1a;
    border-radius: 4px;
    padding: 15px;
    max-height: 450px;
    overflow-y: auto;
}

.video-playlist-section .playlist-items-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.video-playlist-section .video-item {
    display: flex;
    gap: 15px;
    padding: 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.video-playlist-section .video-item:hover,
.video-playlist-section .video-item.activePlayer {
    background: #333;
}

.video-playlist-section .video-thumb {
    flex: 0 0 120px;
    margin: 0;
}

.video-playlist-section .video-thumb img {
    width: 100%;
    height: 70px;
    object-fit: cover;
    border-radius: 4px;
}

.video-playlist-section .title-wrap {
    flex: 1;
    display: flex;
    align-items: center;
}

.video-playlist-section .video-title {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    margin: 0;
    line-height: 1.4;
}

/* ==========================================================================
   LEFTS-RIGHTC SECTION (Secondary Section)
   ========================================================================== */

.lefts-rightc-section {
    padding: 30px 0;
    background: var(--color-bg);
}

.lefts-rightc-section .row {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 30px;
}

.lefts-rightc-section .secondary-sidebar {
    order: -1;
}

.lefts-rightc-section .news-list.layout--three .list-item {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 25px;
    margin-bottom: 25px;
}

.lefts-rightc-section .news-list.layout--three .post-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.lefts-rightc-section .news-list.layout--three .post-title a {
    color: var(--color-text);
    text-decoration: none;
}

.lefts-rightc-section .news-list.layout--three .post-title a:hover {
    color: var(--color-primary);
}

.lefts-rightc-section .news-list.layout--three .blog_inner_wrapper {
    display: flex;
    gap: 20px;
}

.lefts-rightc-section .news-list.layout--three .post-thumb-wrap {
    flex: 0 0 280px;
}

.lefts-rightc-section .news-list.layout--three .post-element {
    flex: 1;
}

/* Column classes for grids */
.column--four {
    grid-template-columns: repeat(4, 1fr) !important;
}

.column--three {
    grid-template-columns: repeat(3, 1fr) !important;
}

.column--two {
    grid-template-columns: repeat(2, 1fr) !important;
}

.column--one {
    grid-template-columns: 1fr !important;
}

/* Responsive for advertisement and video */
@media (max-width: 992px) {
    .video-playlist-section.layout--two .newmatic-video-section-container {
        grid-template-columns: 1fr;
    }

    .video-playlist-section .player-list-wrap {
        max-height: 300px;
    }

    .lefts-rightc-section .row {
        grid-template-columns: 1fr;
    }

    .lefts-rightc-section .secondary-sidebar {
        order: 0;
    }

    .column--four {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .lefts-rightc-section .news-list.layout--three .blog_inner_wrapper {
        flex-direction: column;
    }

    .lefts-rightc-section .news-list.layout--three .post-thumb-wrap {
        flex: none;
        width: 100%;
    }

    .column--four,
    .column--three {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   MAIN BANNER SLIDER (Newsmatic Pro Two Style)
   ========================================================================== */

/* Main Wrapper Grid - 1:1 Split based on 643px widths */
.main-banner-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    /* Reduced from 30px to 10px */
    height: auto;
    margin-bottom: 30px;
}

@media (max-width: 992px) {
    .main-banner-wrap {
        grid-template-columns: 1fr;
    }
}

/* 1. Left Slide (643px x 472px) */
.main-banner-slider {
    width: 100%;
    height: 472px;
    /* Fixed height from screenshot */
    background: #000;
    border-radius: 0;
    /* Screenshots show sharp corners or very subtle? User said "birebir aynı". Let's assume standard sharp or slight radius. Reference usually has subtle. Let's stick to 4px or 0. */
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

@media (max-width: 992px) {
    .main-banner-slider {
        height: 400px;
    }
}

.main-banner-slider .swiper-slide {
    position: relative;
    height: 100%;
    width: 100%;
}

.main-banner-slider .slide-item .post-thumb {
    height: 100%;
    width: 100%;
    margin: 0;
}

.main-banner-slider .slide-item .post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.main-banner-slider .slide-item:hover .post-thumb img {
    transform: scale(1.05);
}

/* Gradient Overlay - Full coverage but stronger at bottom */
.main-banner-slider .slide-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Full height gradient for better text readability */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 40%, rgba(0, 0, 0, 0.1) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Content Positioning */
.main-banner-slider .post-element {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    z-index: 2;
    text-align: left;
}

/* Categories */
.main-banner-slider .post-categories,
.main-banner-block-posts .post-categories {
    list-style: none;
    padding: 0;
    margin: 0 0 10px 0;
}

.main-banner-slider .post-categories li,
.main-banner-block-posts .post-categories li {
    display: inline-block;
}

.main-banner-slider .post-categories a,
.main-banner-block-posts .post-categories a {
    /* Variable colors would be ideal, but default to Theme Primary or Hardcoded for now */
    background-color: var(--color-primary);
    color: #fff;
    font-size: 10px;
    /* Small uppercase */
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 2px;
    display: inline-block;
    line-height: 1;
}

/* Specific Category Colors based on User Image (Approximation) */
/* Ideally we output class .cat-ID, assuming user has these. 
   We will treat the first cat-link generically. */
.cat-item a {
    background: var(--color-primary);
}

/* Example overrides if IDs matched, but we don't know IDs. */


/* Typography - Left Slider */
.main-banner-slider .post-title {
    margin: 5px 0 10px;
}

.main-banner-slider .post-title a {
    font-family: 'Roboto', sans-serif;
    font-size: 32px;
    /* Large */
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    line-height: 1.2;
}

.main-banner-slider .post-meta {
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
    font-weight: 500;
}

.main-banner-slider .post-meta span {
    margin-right: 10px;
}

/* Navigation - Centered? No, side arrows usually */
.main-banner-slider .swiper-button-next,
.main-banner-slider .swiper-button-prev {
    color: #fff;
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 0.5);
    /* Square dark background */
    border-radius: 0;
}

.main-banner-slider .swiper-button-next:after,
.main-banner-slider .swiper-button-prev:after {
    font-size: 14px;
}

/* 2. Right Side Grid (Combined Height ~472px) */
/* Top: 251px + Gap ~11px + Bot: 210px = 472px. */

.main-banner-block-posts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px 10px;
    height: 472px;
}

.main-banner-block-posts .post-item {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    margin: 0;
}

/* First item spans full width (Top Item) */
.main-banner-block-posts .post-item:nth-child(1) {
    grid-column: 1 / -1;
    height: 251px;
}

/* Next items share row (Bottom Items) */
.main-banner-block-posts .post-item:nth-child(2),
.main-banner-block-posts .post-item:nth-child(3) {
    grid-column: span 1;
    height: 210px;
}

/* Common Styles for Right Posts (Overlay Style) */
.main-banner-block-posts .post-item .post-thumb {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.main-banner-block-posts .post-item .post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.main-banner-block-posts .post-item:hover .post-thumb img {
    transform: scale(1.05);
}

/* Overlay for Right Posts */
.main-banner-block-posts .post-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0) 100%);
    z-index: 2;
    pointer-events: none;
}

.main-banner-block-posts .post-element {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    padding: 20px;
    /* Hide post meta if not in screenshot? Screenshots show Title and Category. Time? Yes, "3 Years Ago" is visible.*/
}

.main-banner-block-posts .post-title {
    margin: 5px 0;
}

.main-banner-block-posts .post-title a {
    font-family: 'Roboto', sans-serif;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

/* Font Sizes Logic */
/* Top Card (Large) */
.main-banner-block-posts .post-item:nth-child(1) .post-title a {
    font-size: 24px;
}

/* Bottom Cards (Small) */
.main-banner-block-posts .post-item:nth-child(2) .post-title a,
.main-banner-block-posts .post-item:nth-child(3) .post-title a {
    font-size: 18px;
    line-height: 1.3;
}

.main-banner-block-posts .post-meta {
    color: rgba(255, 255, 255, 0.7);
    font-size: 11px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .main-banner-block-posts {
        height: auto;
        grid-template-columns: 1fr;
    }

    .main-banner-block-posts .post-item:nth-child(1),
    .main-banner-block-posts .post-item:nth-child(2),
    .main-banner-block-posts .post-item:nth-child(3) {
        grid-column: 1 / -1;
        height: 250px;
        /* Stack them */
    }
}

/* ==========================================================================
   SPLIT BANNER LAYOUT (1 Left Large + 1 Top Right + 2 Bottom Right)
   ========================================================================== */
.banner-layout-split {
    padding: 30px 0;
}

.banner-grid-wrapper {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 11px;
    /* Calculated to match heights */
    align-items: stretch;
}

/* Left Column */
.banner-left-column {
    height: 472px;
}

.banner-left-column .banner-card {
    height: 100%;
    position: relative;
    border-radius: 5px;
    overflow: hidden;
}

/* Right Column */
.banner-right-column {
    display: flex;
    flex-direction: column;
    gap: 11px;
    height: 472px;
}

.banner-right-top {
    height: 251px;
    width: 100%;
}

.banner-right-top .banner-card {
    height: 100%;
    position: relative;
    border-radius: 5px;
    overflow: hidden;
}

.banner-right-bottom {
    display: flex;
    gap: 11px;
    height: 210px;
    width: 100%;
}

.banner-right-bottom .banner-card {
    width: calc(50% - 5.5px);
    /* Account for gap */
    height: 100%;
    position: relative;
    border-radius: 5px;
    overflow: hidden;
    flex: 1;
}

/* Card Styling */
.banner-card .post-thumb {
    width: 100%;
    height: 100%;
    margin: 0;
    position: relative;
}

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

.banner-card:hover .post-thumb img {
    transform: scale(1.05);
    /* Zoom effect on hover */
}

/* Overlay Content */
.banner-card .post-overlay-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.1) 100%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    pointer-events: none;
}

.banner-card .post-overlay-content>* {
    pointer-events: auto;
}

.banner-card .cat-label {
    display: inline-block;
    padding: 3px 10px;
    background: var(--color-primary);
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 10px;
    border-radius: 3px;
    line-height: 1;
}

.banner-card .post-title {
    font-family: var(--font-family-sans);
    margin: 5px 0 0;
    line-height: 1.3;
}

.banner-card .post-title a {
    color: #fff;
    text-decoration: none;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    transition: color 0.3s ease;
}

.banner-card .post-title a:hover {
    color: #eee;
    text-decoration: underline;
}

.banner-card .meta-info {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 8px;
    font-family: var(--font-family-meta);
}

.banner-card .meta-info i {
    margin-right: 5px;
}

/* Typography Sizing */
.large-card .post-title {
    font-size: 32px;
    font-weight: 700;
}

.medium-card .post-title {
    font-size: 24px;
    font-weight: 600;
}

.small-card .post-title {
    font-size: 16px;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 992px) {
    .banner-grid-wrapper {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .banner-left-column,
    .banner-right-column {
        height: auto;
    }

    .banner-left-column {
        height: 400px;
    }

    .banner-right-top {
        height: 250px;
    }

    .banner-right-bottom {
        height: 200px;
    }
}

@media (max-width: 480px) {
    .banner-right-bottom {
        flex-direction: column;
        height: auto;
    }

    .banner-right-bottom .banner-card {
        width: 100%;
        height: 200px;
    }
}

/* ========================================
   NEW MAIN LAYOUT WITH STICKY SIDEBAR
   ======================================== */
.main-layout-row {
    display: flex;
    gap: 30px;
    align-items: stretch;
    /* Stretch to allow proper sticky track */
    margin-top: 30px;
}

.primary-layout-column {
    flex: 1;
    min-width: 0;
    /* Prevents flex items from overflowing */
}

.secondary-layout-column {
    flex: 0 0 300px;
    /* Fixed width sidebar */
    width: 300px;
    position: relative;
    z-index: 10;
}

.sticky-sidebar-content {
    position: sticky;
    top: 20px;
    /* Adjust based on sticky header height if any */
    transition: top 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Adjust sections to fit inside the column */
.primary-layout-column .newsmatic-section {
    padding: 0 0 30px;
    /* Remove top padding if needed, adjust spacing */
}

/* IMPORTANT: Override internal containers when inside the primary column */
.primary-layout-column .newsmatic-container {
    max-width: 100%;
    padding: 0;
}

.primary-layout-column .row {
    margin: 0;
    width: 100%;
    max-width: 100%;
    display: block;
    /* Utilize full width, inner grids will handle display */
}

/* Specific Fix for Banner Grid inside Primary Column */
.primary-layout-column .banner-grid-wrapper {
    /* It is grid 1.6fr 1fr. It should adapt naturally. */
    width: 100%;
}

.primary-layout-column .news-grid .row,
.primary-layout-column .news-list .row {
    display: block;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
    .main-layout-row {
        flex-direction: column;
    }

    .primary-layout-column {
        width: 100%;
        flex: none;
    }

    .secondary-layout-column {
        width: 100%;
        flex: none;
        margin-top: 30px;
    }

    .sticky-sidebar-content {
        position: static;
    }
}

/* ========================================
   TRENDING NOW WIDGET STYLING
   ======================================== */
.secondary-layout-column .widget_newsmatic_posts_list_widget .widget-title {
    margin-bottom: 20px;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    position: relative;
    text-align: left;
}

.secondary-layout-column .widget_newsmatic_posts_list_widget .widget-title span {
    font-weight: 800;
    font-size: 20px;
    color: #000;
    display: inline-block;
    position: relative;
}

/* Add the black underline part if needed, assuming theme does default */

.secondary-layout-column .post-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    gap: 15px;
}

.secondary-layout-column .post-item .post_thumb_image {
    flex: 0 0 100px;
    /* Fixed width for thumbnail */
    width: 100px;
    max-width: 100px;
}

.secondary-layout-column .post-item .post_thumb_image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    /* Slight radius */
    aspect-ratio: 4/3;
    object-fit: cover;
}

.secondary-layout-column .post-item .post-content-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.secondary-layout-column .post-item .card__content-category {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 5px !important;
    display: block;
    line-height: 1;
}

.secondary-layout-column .post-item .card__content-category a {
    text-decoration: none;
}

/* Category Colors (Example - theme might generate these, but enforcing visibilty) */
.secondary-layout-column .post-item .card__content-category.cat-item a {
    color: #e74c3c;
    /* Default fallback */
}

/* If you have specific category classes, let's trust the theme's output or add generics */

.secondary-layout-column .post-item .post-title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    color: #000;
}

.secondary-layout-column .post-item .post-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s;
}

.secondary-layout-column .post-item .post-title a:hover {
    color: #e74c3c;
}

/* ==========================================================================
   SINGLE POST LAYOUT STYLES
   ========================================================================== */

/* 1. Featured Image */
.single-featured-image-container {
    width: 100%;
    margin-bottom: 2rem;
    overflow: hidden;
    border-radius: 8px;
    /* Optional rounded corners */
}

.single-featured-image-container .post-thumbnail {
    display: block;
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 Aspect Ratio */
    margin: 0;
}

.single-featured-image-container .post-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-featured-image-container figcaption {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--color-text-light);
    text-align: right;
}

/* 2. H1 Title */
.single .entry-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    line-height: 1.2;
    color: var(--color-text);
}

/* 3. Author Box */
.single-author-box {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-border);
}

.single-author-box .author-avatar img {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    object-fit: cover;
}

.single-author-box .author-info {
    display: flex;
    flex-direction: column;
}

.single-author-box .author-name {
    font-weight: 700;
    font-size: 1rem;
    color: var(--color-text);
}

.single-author-box .author-title {
    font-size: 0.85rem;
    color: var(--color-text-light);
    margin-bottom: 2px;
}

.single-author-box .post-date {
    font-size: 0.8rem;
    color: var(--color-text-light);
    font-family: var(--font-family-meta);
}

/* 4-5. Content */
.single .entry-content {
    font-size: 1.125rem;
    line-height: 1.8;
    color: #333;
}

.single .entry-content p {
    margin-bottom: 1.5rem;
}

.single .entry-content h2,
.single .entry-content h3 {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 700;
    color: #111;
}

/* 6. Social Share Buttons */
.post-footer-actions {
    margin-top: 3rem;
    border-top: 1px solid var(--color-border);
    padding-top: 2rem;
}

.social-share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 1.5rem;
}

.social-share-buttons span {
    font-weight: 700;
    margin-right: 10px;
    text-transform: uppercase;
    font-size: 0.85rem;
}

.social-share-buttons a {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    transition: opacity 0.2s;
}

.social-share-buttons a:hover {
    opacity: 0.9;
    text-decoration: none;
    color: #fff;
}

.social-share-buttons a[href*="facebook"] {
    background-color: #1877f2;
}

.social-share-buttons a[href*="twitter"] {
    background-color: #000;
}

.social-share-buttons a[href*="whatsapp"] {
    background-color: #25d366;
}

.social-share-buttons a[href*="linkedin"] {
    background-color: #0077b5;
}

/* 7. Tags */
.tags-list a {
    display: inline-block;
    background: var(--color-bg-alt);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.85rem;
    color: var(--color-text-light);
    margin-right: 8px;
    margin-bottom: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tags-list a:hover {
    background: var(--color-primary);
    color: #fff;
}

/* 8. Related Posts */
.related-posts {
    margin-top: 3rem;
    margin-bottom: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
}

.related-posts h3 {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
}

.related-posts-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.related-post-item {
    display: flex;
    gap: 15px;
    align-items: center;
    padding: 10px;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
    transition: transform 0.2s;
}

.related-post-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.related-post-thumbnail {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 4px;
    overflow: hidden;
}

.related-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.related-post-content h4 {
    font-size: 0.95rem;
    line-height: 1.4;
    margin: 0;
    font-weight: 600;
}

.related-post-content h4 a {
    color: var(--color-text);
}

.related-post-content h4 a:hover {
    color: var(--color-primary);
}

/* 9. Comments */
.comments-area {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
}

.comments-title {
    font-size: 1.5rem;
    margin-bottom: 2rem;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-body {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
    padding-left: 70px;
    /* Space for avatar */
}

.comment-author .avatar {
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
}

.comment-meta {
    margin-bottom: 0.5rem;
}

.fn {
    font-weight: 700;
    font-size: 1rem;
    margin-right: 10px;
}

.comment-metadata {
    font-size: 0.85rem;
    color: #999;
    display: inline-block;
}

.comment-metadata a {
    color: #999;
}

.comment-content p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.reply a {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-primary);
}

/* Modern Comment Form */
.comment-respond {
    background-color: #f9f9f9;
    padding: 2rem;
    border-radius: 8px;
    margin-top: 2rem;
    border: 1px solid #eee;
}

.comment-reply-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    display: block;
}

.comment-form p {
    margin-bottom: 1rem;
}

.comment-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    color: #444;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
    background-color: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form input[type="url"]:focus,
.comment-form textarea:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.1);
    /* Assuming primary color is reddish */
}

.comment-form textarea {
    min-height: 150px;
}

.form-submit {
    margin-bottom: 0;
    text-align: right;
}

.comment-form .submit {
    background-color: var(--color-primary);
    color: #fff;
    border: none;
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.comment-form .submit:hover {
    background-color: #333;
    /* Darker shade on hover */
}

.logged-in-as {
    font-size: 0.9rem;
    color: #777;
    margin-bottom: 1rem;
}

.logged-in-as a {
    color: var(--color-primary);
    font-weight: 600;
}

.comment-notes {
    font-size: 0.85rem;
    color: #777;
    margin-bottom: 1rem;
}

/* Sub Footer (Copyright Strip) */
.sub-footer-copyright {
    background-color: #000000;
    color: #ffffff;
    padding: 15px 0;
    font-size: 0.9rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sub-footer-copyright .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.sub-footer-copyright .site-info-left p,
.sub-footer-copyright .site-info-right p {
    margin: 0;
    opacity: 0.8;
}

.sub-footer-copyright a {
    color: #ffffff;
    text-decoration: none;
}

.sub-footer-copyright a:hover {
    text-decoration: underline;
    color: var(--color-primary);
}

@media (max-width: 768px) {
    .sub-footer-copyright .row {
        flex-direction: column;
        text-align: center;
    }
}

/* ==========================================================================
   BOTTOM FOOTER LAYOUT (Logo, Text, Search)
   ========================================================================== */
.bottom-footer {
    background-color: #222;
    padding: 50px 0;
    color: #aeaeae;
    border-top: 1px solid #333;
}

.newsmatic-footer-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}

.footer-col-left {
    flex: 0 0 25%;
    max-width: 25%;
}

.footer-col-middle {
    flex: 1;
    padding: 0 40px;
    font-size: 14px;
    line-height: 1.6;
    color: #d1d1d1;
    /* Lighter for better contrast on dark background */
}

.footer-col-right {
    flex: 0 0 30%;
    max-width: 30%;
}

/* Footer Logo */
.footer-logo {
    margin-bottom: 20px;
}

.footer-logo img {
    max-height: 50px;
    width: auto;
    display: block;
}

/* Footer Socials */
.footer-social-icons {
    display: flex;
    gap: 15px;
    margin-top: 25px;
}

.footer-social-icons a {
    color: #777;
    font-size: 18px;
    transition: color 0.3s;
}

.footer-social-icons a:hover {
    color: #fff;
}

/* Search Section - Matching Reference */
.footer-search-title {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
    margin-top: 0;
    letter-spacing: 0.5px;
}

.footer-search-form .search-form {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.footer-search-form label {
    width: 100%;
    margin: 0;
}

.footer-search-form .search-field {
    width: 100%;
    background-color: #1a1a1a;
    border: none;
    padding: 15px 50px 15px 20px;
    /* Padding right for the icon */
    color: #d1d1d1;
    /* Lighter for better contrast on dark background */
    font-size: 13px;
    border-radius: 2px;
    outline: none;
    height: 50px;
}

.footer-search-form .search-field::placeholder {
    color: #666;
}

.footer-search-form .search-field:focus {
    background-color: #151515;
    color: #ccc;
}

.footer-search-form .search-submit {
    position: absolute;
    right: 0;
    top: 0;
    height: 50px;
    width: 50px;
    background: transparent;
    border: none;
    color: #e62e2e;
    /* Red search icon */
    font-size: 16px;
    cursor: pointer;
    transition: color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-search-form .search-submit:hover {
    color: #ff4d4d;
}

/* Responsive Adjustments */
@media (max-width: 992px) {
    .newsmatic-footer-row {
        flex-direction: column;
        gap: 40px;
    }

    .footer-col-left,
    .footer-col-middle,
    .footer-col-right {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0;
    }

    .logged-in-as a {
        color: var(--color-primary);
        font-weight: 600;
    }

    .comment-notes {
        font-size: 0.85rem;
        color: #777;
        margin-bottom: 1rem;
    }

    /* Sub Footer (Copyright Strip) */
    .sub-footer-copyright {
        background-color: #000000;
        color: #ffffff;
        padding: 15px 0;
        font-size: 0.9rem;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .sub-footer-copyright .row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 15px;
    }

    .sub-footer-copyright .site-info-left p,
    .sub-footer-copyright .site-info-right p {
        margin: 0;
        opacity: 0.8;
    }

    .sub-footer-copyright a {
        color: #ffffff;
        text-decoration: none;
    }

    .sub-footer-copyright a:hover {
        text-decoration: underline;
        color: var(--color-primary);
    }

    @media (max-width: 768px) {
        .sub-footer-copyright .row {
            flex-direction: column;
            text-align: center;
        }
    }

    /* ==========================================================================
   BOTTOM FOOTER LAYOUT (Logo, Text, Search)
   ========================================================================== */
    .bottom-footer {
        background-color: #222;
        padding: 50px 0;
        color: #aeaeae;
        border-top: 1px solid #333;
    }

    .newsmatic-footer-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 40px;
    }

    .footer-col-left {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .footer-col-middle {
        flex: 1;
        padding: 0 40px;
        font-size: 14px;
        line-height: 1.6;
        color: #aeaeae;
    }

    .footer-col-right {
        flex: 0 0 30%;
        max-width: 30%;
    }

    /* Footer Logo */
    .footer-logo {
        margin-bottom: 20px;
    }

    .footer-logo img {
        max-height: 50px;
        width: auto;
        display: block;
    }

    /* Footer Socials */
    .footer-social-icons {
        display: flex;
        gap: 15px;
        margin-top: 25px;
    }

    .footer-social-icons a {
        color: #777;
        font-size: 18px;
        transition: color 0.3s;
    }

    .footer-social-icons a:hover {
        color: #fff;
    }

    /* Search Section - Matching Reference */
    .footer-search-title {
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-transform: uppercase;
        margin-bottom: 20px;
        margin-top: 0;
        letter-spacing: 0.5px;
    }

    .footer-search-form .search-form {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
    }

    .footer-search-form label {
        width: 100%;
        margin: 0;
    }

    .footer-search-form .search-field {
        width: 100%;
        background-color: #1a1a1a;
        border: none;
        padding: 15px 50px 15px 20px;
        /* Padding right for the icon */
        color: #888;
        font-size: 13px;
        border-radius: 2px;
        outline: none;
        height: 50px;
    }

    .footer-search-form .search-field::placeholder {
        color: #666;
    }

    .footer-search-form .search-field:focus {
        background-color: #151515;
        color: #ccc;
    }

    .footer-search-form .search-submit {
        position: absolute;
        right: 0;
        top: 0;
        height: 50px;
        width: 50px;
        background: transparent;
        border: none;
        color: #e62e2e;
        /* Red search icon */
        font-size: 16px;
        cursor: pointer;
        transition: color 0.3s;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer-search-form .search-submit:hover {
        color: #ff4d4d;
    }

    /* Responsive Adjustments */
    @media (max-width: 992px) {
        .newsmatic-footer-row {
            flex-direction: column;
            gap: 40px;
        }

        .footer-col-left,
        .footer-col-middle,
        .footer-col-right {
            flex: 0 0 100%;
            max-width: 100%;
            padding: 0;
        }

        .footer-col-middle {
            order: 2;
        }

        .footer-col-right {
            order: 3;
        }
    }

    /* ==========================================================================
   ADSENSE MANUAL PLACEMENTS
   ========================================================================== */
    .biomedical-ad-container {
        display: block;
        clear: both;
        text-align: center;
        margin: 30px auto;
        min-height: 280px;
        /* Prevents CLS */
        width: 100%;
    }

    .biomedical-ad-container ins.adsbygoogle {
        display: block;
        margin: 0 auto;
    }

    /* SEO-FRIENDLY ADVERTISEMENT CONTAINERS */
    .biomedical-ad-container {
        margin: 30px auto;
        padding: 20px;
        text-align: center;
        background: #f9f9f9;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        max-width: 100%;
        overflow: hidden;
        min-height: 280px;
        /* CLS Protection */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .biomedical-ad-container .ad-label {
        display: block;
        font-size: 11px;
        color: #999;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 10px;
        font-weight: 500
    }

    .biomedical-ad-container.in-content {
        margin: 40px auto;
        clear: both
    }

    .biomedical-ad-container ins,
    .biomedical-ad-container iframe,
    .biomedical-ad-container img {
        max-width: 100% !important;
        height: auto !important
    }

    @media(max-width:768px) {
        .biomedical-ad-container {
            padding: 15px;
            margin: 20px auto;
            min-height: 250px;
            /* CLS Protection Mobile */
        }

        .site-header {
            min-height: 60px;
            /* CLS Protection Mobile Header */
        }
    }

    /* Header CLS Optimization */
    .site-header {
        min-height: auto;
        /* Allow growth on desktop but define base if needed, user suggested min-height */
        contain: layout;
    }

    @media (min-width: 993px) {
        .site-header {
            min-height: 140px;
            /* Approximate desktop header height */
        }
    }
}

/* ==========================================================================
   GOOGLE FUNDING CHOICES / COOKIE CONSENT DIALOG CONTRAST FIX
   ========================================================================== */
/* 
 * Bu stiller, PageSpeed Insights'ta raporlanan kontrast oranı sorunlarını giderir.
 * Hedef öğeler: fc-faq-label, fc-footer-link-v2, fc-dialog vb.
 * WCAG AA uyumluluğu için minimum 4.5:1 kontrast oranı sağlanmaktadır.
 * Güçlendirilmiş seçiciler ile üçüncü taraf stilleri override eder.
 */

/* "Daha fazla bilgi edinin" linki - Maksimum spesifisite */
body .fc-consent-root .fc-faq-label,
body .fc-consent-root span.fc-faq-label,
body div.fc-consent-root .fc-faq-label,
.fc-consent-root .fc-dialog .fc-faq-label,
body .fc-dialog-overlay .fc-faq-label,
div.fc-dialog-overlay span.fc-faq-label,
.fc-faq-label,
span.fc-faq-label {
    color: #0056b3 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

/* "İş ortaklarının listesi" linki - Maksimum spesifisite */
body .fc-consent-root .fc-vendors-list-dialog,
body .fc-consent-root .fc-footer-link-v2,
body .fc-consent-root a.fc-vendors-list-dialog,
body .fc-consent-root a.fc-footer-link-v2,
body div.fc-consent-root .fc-footer-link-v2,
.fc-consent-root .fc-dialog .fc-footer-link-v2,
body .fc-dialog-overlay .fc-footer-link-v2,
div.fc-dialog-overlay a.fc-footer-link-v2,
.fc-vendors-list-dialog,
.fc-footer-link-v2,
a.fc-vendors-list-dialog,
a.fc-footer-link-v2 {
    color: #0056b3 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

/* Dialog overlay ve içerik kontrast düzeltmeleri */
body .fc-consent-root .fc-dialog-overlay,
div.fc-consent-root .fc-dialog-overlay,
.fc-dialog-overlay {
    background-color: rgba(0, 0, 0, 0.6) !important;
}

/* Dialog ana container - Maksimum spesifisite */
body .fc-consent-root .fc-dialog,
body .fc-consent-root .fc-choice-dialog,
body div.fc-consent-root div.fc-dialog,
body div.fc-consent-root div.fc-choice-dialog,
div.fc-consent-root .fc-dialog,
div.fc-consent-root .fc-choice-dialog,
.fc-dialog,
.fc-choice-dialog,
div.fc-dialog,
div.fc-choice-dialog {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
}

/* Dialog içindeki tüm metinler için minimum kontrast - Maksimum spesifisite */
body .fc-consent-root .fc-dialog p,
body .fc-consent-root .fc-dialog span,
body .fc-consent-root .fc-dialog label,
body .fc-consent-root .fc-dialog div,
body .fc-consent-root .fc-choice-dialog p,
body .fc-consent-root .fc-choice-dialog span,
body .fc-consent-root .fc-choice-dialog label,
body .fc-consent-root .fc-choice-dialog div,
div.fc-consent-root .fc-dialog p,
div.fc-consent-root .fc-dialog span,
div.fc-consent-root .fc-dialog label,
div.fc-consent-root .fc-choice-dialog p,
div.fc-consent-root .fc-choice-dialog span,
div.fc-consent-root .fc-choice-dialog label,
.fc-dialog p,
.fc-dialog span,
.fc-dialog label,
.fc-dialog div,
.fc-choice-dialog p,
.fc-choice-dialog span,
.fc-choice-dialog label,
.fc-choice-dialog div {
    color: #1a1a1a !important;
}

/* Dialog başlıkları - Maksimum spesifisite */
body .fc-consent-root .fc-dialog-headline,
body .fc-consent-root .fc-dialog h1,
body .fc-consent-root .fc-dialog h2,
body .fc-consent-root .fc-dialog h3,
div.fc-consent-root .fc-dialog-headline,
.fc-dialog-headline,
.fc-dialog h1,
.fc-dialog h2,
.fc-dialog h3 {
    color: #000000 !important;
    font-weight: 700 !important;
}

/* Dialog içerik metni - aria-label içeren elementler */
body .fc-consent-root [aria-label],
body .fc-consent-root .fc-dialog-content,
body .fc-consent-root .fc-message-container,
div.fc-consent-root [aria-label],
.fc-dialog-content,
.fc-message-container,
[aria-label*="biyomedikalbilgi"] {
    color: #1a1a1a !important;
}

/* Dialog linkleri için tutarlı renk - Maksimum spesifisite */
body .fc-consent-root .fc-dialog a,
body .fc-consent-root .fc-choice-dialog a,
div.fc-consent-root .fc-dialog a,
div.fc-consent-root .fc-choice-dialog a,
.fc-dialog a,
.fc-choice-dialog a {
    color: #0056b3 !important;
    text-decoration: underline !important;
}

body .fc-consent-root .fc-dialog a:hover,
body .fc-consent-root .fc-choice-dialog a:hover,
div.fc-consent-root .fc-dialog a:hover,
div.fc-consent-root .fc-choice-dialog a:hover,
.fc-dialog a:hover,
.fc-choice-dialog a:hover {
    color: #003d82 !important;
    text-decoration: underline !important;
}

/* Buton stilleri - Maksimum spesifisite */
body .fc-consent-root .fc-button,
body .fc-consent-root .fc-cta-consent,
body .fc-consent-root .fc-cta-manage-options,
div.fc-consent-root .fc-button,
.fc-button,
.fc-cta-consent,
.fc-cta-manage-options {
    color: #ffffff !important;
    background-color: #0056b3 !important;
    font-weight: 600 !important;
}

body .fc-consent-root .fc-button-background,
div.fc-consent-root .fc-button-background,
.fc-button-background {
    background-color: #0056b3 !important;
}

/* Secondary/Outline butonlar */
body .fc-consent-root .fc-secondary-button,
body .fc-consent-root .fc-button.fc-secondary-button,
div.fc-consent-root .fc-secondary-button,
.fc-secondary-button {
    color: #0056b3 !important;
    background-color: #ffffff !important;
    border-color: #0056b3 !important;
}

/* ==========================================================================
   TOUCH TARGET ACCESSIBILITY (PageSpeed Insights Fix)
   ========================================================================== */
/* 
 * Bu stiller, "Dokunma hedefleri, yeterli boyut veya boşluğa sahip değil" 
 * uyarısını giderir. WCAG 2.1 ve Google PageSpeed için minimum 48x48px 
 * tıklanabilir alan ve 8px boşluk gereklidir.
 * Hem masaüstü hem mobil için uygulanır.
 */

/* Kategori etiketleri */
.post-categories a,
.widget-post-cat,
.cat-links a {
    min-height: 48px;
    min-width: 48px;
    padding: 12px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 4px;
}

/* Post başlık linkleri */
.post-title a,
.entry-title a,
article h2 a,
article h3 a,
article h4 a,
.widget-post-title a,
.related-post-content h4 a {
    display: inline-block;
    min-height: 48px;
    padding: 8px 0;
    line-height: 1.4;
}

/* Widget linkleri */
.widget a,
.widget li a,
.footer-widgets a,
.sidebar a {
    display: inline-block;
    min-height: 44px;
    padding: 8px 4px;
    line-height: 1.5;
}

/* Widget liste öğeleri */
.widget li,
.widget ul li,
.footer-widgets li {
    padding: 4px 0;
    margin-bottom: 4px;
}

/* Navigasyon linkleri */
.main-navigation a,
.menu-item a,
nav a {
    min-height: 48px;
    padding: 12px 16px;
    display: inline-flex;
    align-items: center;
}

/* Butonlar */
button,
.button,
.btn,
input[type="submit"],
input[type="button"],
.wp-block-button__link {
    min-height: 48px;
    min-width: 48px;
    padding: 12px 24px;
}

/* Sosyal medya ikonları */
.social-share-buttons a,
.header-social-icons a,
.footer-social-icons a,
.menu-social-icons a {
    min-width: 48px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

/* Yorum ve form linkleri */
.comment-metadata a,
.reply a,
.logged-in-as a {
    min-height: 44px;
    padding: 8px 4px;
    display: inline-block;
}

/* Tag linkleri */
.tags-list a,
.tagcloud a,
.post-tags a {
    min-height: 44px;
    padding: 10px 16px;
    margin: 4px;
}

/* Sayfalama (Pagination) linkleri */
.pagination a,
.nav-links a,
.page-numbers,
.post-navigation a {
    min-height: 48px;
    min-width: 48px;
    padding: 12px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Breadcrumb linkleri */
.breadcrumb a,
.breadcrumbs a {
    min-height: 44px;
    padding: 8px 4px;
    display: inline-block;
}

/* Arama formu */
.search-form input[type="search"],
.search-form input[type="text"],
.search-form .search-submit {
    min-height: 48px;
}

/* İlgili yazılar */
.related-post-item {
    padding: 12px;
    margin-bottom: 8px;
}

.related-post-item a {
    min-height: 48px;
    display: flex;
    align-items: center;
}

/* Footer widget içerikleri */
.footer-widgets .widget-title {
    margin-bottom: 16px;
}

.footer-widgets .widget ul li {
    padding: 8px 0;
}

.footer-widgets .widget ul li a {
    padding: 8px 4px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
}

/* Ekstra küçük ekranlar için daha fazla boşluk */
@media (max-width: 480px) {

    .post-categories a,
    .widget-post-cat,
    .cat-links a {
        padding: 14px 18px;
        margin: 6px 4px;
    }

    .widget li,
    .footer-widgets li {
        padding: 6px 0;
        margin-bottom: 6px;
    }

    .tags-list a,
    .tagcloud a {
        padding: 12px 18px;
        margin: 6px 4px;
    }

    .pagination a,
    .nav-links a {
        padding: 14px 18px;
        margin: 4px;
    }
}