/**
 * NairaVoice — Additional Styles
 * Fixes: section headers, top stories layout, dark mode text, mobile nav, ad zones
 */

/* ============================================================
   SECTION HEADERS — Premium designed labels
============================================================ */
.nv-home-section { position: relative; }

.nv-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--nv-border);
    position: relative;
}

.nv-section-label-wrap {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-family: var(--font-head);
    font-weight: 800;
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--nv-text);
    position: relative;
}

/* Coloured left bar */
.nv-section-label-wrap::before {
    content: '';
    display: block;
    width: 4px;
    height: 22px;
    background: var(--nv-gold);
    border-radius: 3px;
    flex-shrink: 0;
}

/* Category accent colours */
.nv-section-label-wrap.news::before          { background: var(--cat-news); }
.nv-section-label-wrap.entertainment::before { background: var(--cat-entertainment); }
.nv-section-label-wrap.education::before     { background: var(--cat-education); }
.nv-section-label-wrap.business::before      { background: var(--cat-business); }
.nv-section-label-wrap.music::before         { background: var(--cat-music); }
.nv-section-label-wrap.video::before         { background: var(--cat-video); }

.nv-section-label-wrap.news          { color: var(--cat-news); }
.nv-section-label-wrap.entertainment { color: var(--cat-entertainment); }
.nv-section-label-wrap.education     { color: var(--cat-education); }
.nv-section-label-wrap.business      { color: var(--cat-business); }
.nv-section-label-wrap.music         { color: var(--cat-music); }
.nv-section-label-wrap.video         { color: var(--cat-video); }

.nv-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: rgba(255,255,255,.05);
    font-size: .85rem;
}

/* Animated underline on the section header border */
.nv-section-header::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 60px;
    height: 2px;
    background: var(--nv-gold);
    border-radius: 2px;
}
.nv-section-label-wrap.news          ~ * .nv-section-header::after,
.nv-section-header:has(.news)::after         { background: var(--cat-news); }
.nv-section-header:has(.entertainment)::after{ background: var(--cat-entertainment); }
.nv-section-header:has(.education)::after    { background: var(--cat-education); }
.nv-section-header:has(.business)::after     { background: var(--cat-business); }
.nv-section-header:has(.music)::after        { background: var(--cat-music); }
.nv-section-header:has(.video)::after        { background: var(--cat-video); }

.nv-view-all {
    font-family: var(--font-ui);
    font-size: .72rem;
    font-weight: 700;
    color: var(--nv-gold);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .3rem;
    padding: .3rem .7rem;
    border-radius: 20px;
    border: 1px solid rgba(232,160,32,.3);
    transition: all .2s;
    white-space: nowrap;
}
.nv-view-all:hover { background: var(--nv-gold); color: #000; border-color: var(--nv-gold); }

/* ============================================================
   BETWEEN-SECTION AD DIVIDER
============================================================ */
.nv-between-ad {
    text-align: center;
    padding: 1.25rem 0;
    margin-bottom: 1.75rem;
    border-top: 1px solid var(--nv-border);
    border-bottom: 1px solid var(--nv-border);
    background: var(--nv-bg2);
    border-radius: var(--nv-r2);
    position: relative;
}
.nv-between-ad::before {
    content: 'Advertisement';
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--nv-bg2);
    font-family: var(--font-ui);
    font-size: .6rem;
    color: var(--nv-text4);
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 0 .75rem;
}

/* ============================================================
   TOP STORIES LAYOUT — Big feature + right stack
============================================================ */
.nv-top-stories-layout {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 1rem;
    align-items: stretch;
}

.nv-top-feat { min-height: 380px; }

/* Big feature card */
.nv-card-featured .nv-card-thumb {
    position: absolute;
    inset: 0;
    aspect-ratio: unset;
    width: 100%;
    height: 100%;
}
.nv-card-featured .nv-card-body {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 2rem 1.5rem 1.5rem;
    background: linear-gradient(to top, rgba(12,12,20,.97) 0%, rgba(12,12,20,.5) 60%, transparent 100%);
}
.nv-card-featured .nv-card-title { color: #fff; -webkit-line-clamp: 4; font-family: var(--font-display); font-size: clamp(1rem,2vw,1.4rem); }
.nv-card-featured:hover .nv-card-title { color: var(--nv-gold-light); }
.nv-card-featured .nv-card-footer { border-top-color: rgba(255,255,255,.12); }
.nv-card-featured .nv-card-author span,
.nv-card-featured .nv-card-author time { color: rgba(255,255,255,.65); font-size: .72rem; }
.nv-card-featured .nv-card-readtime { background: rgba(255,255,255,.1); color: rgba(255,255,255,.65); }

/* Right stack */
.nv-top-stack {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.nv-stack-card {
    display: flex;
    align-items: stretch;
    gap: .75rem;
    background: var(--nv-bg2);
    border: 1px solid var(--nv-border);
    border-radius: var(--nv-r2);
    overflow: hidden;
    transition: all .2s;
    text-decoration: none;
    flex: 1;
}
.nv-stack-card:hover {
    border-color: rgba(232,160,32,.3);
    background: var(--nv-bg3);
}

.nv-stack-thumb {
    width: 90px;
    flex-shrink: 0;
    overflow: hidden;
    display: block;
}
.nv-stack-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s;
}
.nv-stack-card:hover .nv-stack-thumb img { transform: scale(1.06); }

.nv-stack-body {
    padding: .6rem .75rem .6rem 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.nv-mini-cat {
    font-family: var(--font-ui);
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: .25rem;
    display: block;
}

.nv-stack-title {
    font-family: var(--font-head);
    font-size: .8rem;
    font-weight: 700;
    color: var(--nv-text);
    line-height: 1.35;
    margin: 0 0 .3rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .2s;
}
.nv-stack-card:hover .nv-stack-title { color: var(--nv-gold); }

.nv-stack-meta {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-ui);
    font-size: .65rem;
    color: var(--nv-text3);
}

/* ============================================================
   NO THUMBNAIL PLACEHOLDER
============================================================ */
.nv-no-thumb-ratio {
    width: 100%;
    aspect-ratio: 16/9;
    background: var(--nv-bg3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
}
.nv-no-thumb {
    background: var(--nv-bg3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
}

/* ============================================================
   FILTER TABS
============================================================ */
.nv-filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    padding-bottom: .25rem;
}
.nv-filter-tab {
    display: inline-flex;
    align-items: center;
    padding: .28rem .85rem;
    border-radius: 20px;
    border: 1px solid var(--nv-border);
    background: var(--nv-bg3);
    color: var(--nv-text3);
    font-family: var(--font-ui);
    font-size: .72rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .18s;
    white-space: nowrap;
}
.nv-filter-tab:hover  { border-color: var(--nv-gold); color: var(--nv-gold); }
.nv-filter-tab.active { background: var(--nv-gold); border-color: var(--nv-gold); color: #000; }

/* ============================================================
   MUSIC GRID
============================================================ */
.nv-music-grid {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}
.nv-music-card {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .55rem .75rem;
    border-radius: var(--nv-r2);
    border: 1px solid var(--nv-border);
    background: var(--nv-bg3);
    cursor: pointer;
    transition: all .2s;
}
.nv-music-card:hover { background: var(--nv-bg4); border-color: rgba(32,200,120,.3); transform: translateX(3px); }
.nv-music-rank { font-family: var(--font-display); font-size: .95rem; font-weight: 800; color: var(--nv-text4); width: 22px; text-align: right; flex-shrink: 0; }
.nv-music-grid .nv-music-card:nth-child(1) .nv-music-rank { color: var(--nv-gold); }
.nv-music-grid .nv-music-card:nth-child(2) .nv-music-rank { color: var(--nv-text2); }
.nv-music-grid .nv-music-card:nth-child(3) .nv-music-rank { color: var(--nv-text3); }
.nv-music-cover { width: 46px; height: 46px; border-radius: 6px; object-fit: cover; flex-shrink: 0; box-shadow: var(--sh-sm); }
.nv-music-cover-ph { width: 46px; height: 46px; border-radius: 6px; background: rgba(32,200,120,.1); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; flex-shrink: 0; }
.nv-music-info { flex: 1; min-width: 0; }
.nv-music-name   { font-family: var(--font-ui); font-weight: 600; font-size: .82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--nv-text); }
.nv-music-artist { font-family: var(--font-ui); font-size: .7rem; color: var(--nv-text3); margin-top: 1px; }
.nv-music-actions { display: flex; align-items: center; gap: .4rem; flex-shrink: 0; }
.nv-music-play {
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(32,200,120,.15); color: var(--cat-music);
    border: none; cursor: pointer; display: flex; align-items: center; justify-content: center;
    font-size: .85rem; transition: all .2s;
}
.nv-music-card:hover .nv-music-play { background: var(--cat-music); color: #000; }
.nv-music-dl {
    width: 28px; height: 28px; border-radius: 50%;
    background: rgba(255,255,255,.06); border: 1px solid var(--nv-border);
    color: var(--nv-text3); display: flex; align-items: center; justify-content: center;
    font-size: .72rem; text-decoration: none; transition: all .2s;
}
.nv-music-dl:hover { background: var(--nv-gold); color: #000; border-color: var(--nv-gold); }

/* ============================================================
   EMPTY STATE
============================================================ */
.nv-empty-state {
    text-align: center;
    padding: 2.5rem 1rem;
    color: var(--nv-text3);
    font-family: var(--font-ui);
    font-size: .85rem;
}
.nv-empty-state i { font-size: 2.5rem; display: block; margin-bottom: .75rem; opacity: .4; }

/* ============================================================
   DARK MODE — FIX POST CONTENT TEXT
============================================================ */

/* This is the critical fix: force all text inside post content
   to use the theme text colour in dark mode */
[data-theme="dark"] .nv-post-content,
[data-theme="dark"] .nv-post-content p,
[data-theme="dark"] .nv-post-content li,
[data-theme="dark"] .nv-post-content td,
[data-theme="dark"] .nv-post-content th,
[data-theme="dark"] .nv-post-content span,
[data-theme="dark"] .nv-post-content div,
[data-theme="dark"] .nv-post-content blockquote,
[data-theme="dark"] .entry-content,
[data-theme="dark"] .entry-content p,
[data-theme="dark"] .entry-content li,
[data-theme="dark"] .entry-content span,
[data-theme="dark"] .entry-content div,
[data-theme="dark"] .wp-block-paragraph,
[data-theme="dark"] .wp-block-list,
[data-theme="dark"] article.nv-article * { color: var(--nv-text2); }

[data-theme="dark"] .nv-post-content h1,
[data-theme="dark"] .nv-post-content h2,
[data-theme="dark"] .nv-post-content h3,
[data-theme="dark"] .nv-post-content h4,
[data-theme="dark"] .nv-post-content h5,
[data-theme="dark"] .nv-post-content h6,
[data-theme="dark"] .entry-content h1,
[data-theme="dark"] .entry-content h2,
[data-theme="dark"] .entry-content h3,
[data-theme="dark"] .entry-content h4 { color: var(--nv-text) !important; }

[data-theme="dark"] .nv-post-content a,
[data-theme="dark"] .entry-content a { color: var(--nv-gold); }
[data-theme="dark"] .nv-post-content a:hover,
[data-theme="dark"] .entry-content a:hover { color: var(--nv-gold-light); }

[data-theme="dark"] .nv-post-content strong,
[data-theme="dark"] .nv-post-content b,
[data-theme="dark"] .entry-content strong,
[data-theme="dark"] .entry-content b { color: var(--nv-text) !important; font-weight: 700; }

[data-theme="dark"] .nv-post-content img,
[data-theme="dark"] .entry-content img { border-radius: var(--nv-r3); }

[data-theme="dark"] .nv-post-content blockquote {
    background: var(--nv-bg3);
    border-left-color: var(--nv-gold);
    color: var(--nv-text) !important;
}

/* Tables in dark mode */
[data-theme="dark"] .nv-post-content table,
[data-theme="dark"] .entry-content table {
    background: var(--nv-bg2);
    border-color: var(--nv-border);
    color: var(--nv-text2);
    width: 100%;
    border-collapse: collapse;
}
[data-theme="dark"] .nv-post-content table th { background: var(--nv-bg3); color: var(--nv-text); }
[data-theme="dark"] .nv-post-content table td, [data-theme="dark"] .nv-post-content table th { border: 1px solid var(--nv-border); padding: .5rem .75rem; }

/* Code blocks in dark mode */
[data-theme="dark"] .nv-post-content pre,
[data-theme="dark"] .entry-content pre,
[data-theme="dark"] .nv-post-content code,
[data-theme="dark"] .entry-content code {
    background: var(--nv-bg3);
    color: var(--nv-gold);
    border: 1px solid var(--nv-border);
    border-radius: var(--nv-r);
    padding: .2rem .5rem;
    font-family: var(--font-mono);
    font-size: .85em;
}
[data-theme="dark"] .nv-post-content pre,
[data-theme="dark"] .entry-content pre { padding: 1rem; display: block; white-space: pre-wrap; }

/* Gutenberg blocks dark mode */
[data-theme="dark"] .wp-block-quote { background: var(--nv-bg3); border-color: var(--nv-gold); }
[data-theme="dark"] .wp-block-pullquote { background: var(--nv-bg3); }
[data-theme="dark"] .wp-block-code { background: var(--nv-bg3); color: var(--nv-gold); }
[data-theme="dark"] .wp-block-group { background: var(--nv-bg2); }
[data-theme="dark"] .wp-block-separator { border-color: var(--nv-border); }

/* Fix WooCommerce, bbPress, contact form text in dark mode */
[data-theme="dark"] .woocommerce-page *,
[data-theme="dark"] .bbpress *,
[data-theme="dark"] .wpcf7 * { color: var(--nv-text2); }

/* Generic override: anything that might have inline black color */
[data-theme="dark"] body *:not(.nv-card-cat):not(.nv-hero-cat):not(.nv-btn-register):not(.nv-btn-signup-sm):not(.nv-filter-tab.active) {
    /* Do NOT use color:inherit here – too broad. Instead handle specific selectors above */
}

/* Inline style color overrides for dark mode - common WP issue */
[data-theme="dark"] .nv-post-content [style*="color:#000"],
[data-theme="dark"] .nv-post-content [style*="color: #000"],
[data-theme="dark"] .nv-post-content [style*="color:black"],
[data-theme="dark"] .nv-post-content [style*="color: black"],
[data-theme="dark"] .nv-post-content [style*="color:#1"],
[data-theme="dark"] .nv-post-content [style*="color:#2"],
[data-theme="dark"] .nv-post-content [style*="color:#3"],
[data-theme="dark"] .entry-content [style*="color:#000"],
[data-theme="dark"] .entry-content [style*="color: #000"],
[data-theme="dark"] .entry-content [style*="color:black"] { color: var(--nv-text2) !important; }

/* ============================================================
   HEADER AD SLOT FIX — visible on all screen sizes
============================================================ */
.nv-header-ad {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    max-width: 500px;
}
.nv-header-ad .nv-ad-zone {
    min-height: 60px;
    width: 100%;
    max-width: 468px;
}
/* Fallback placeholder when no ad set */
.nv-ad-zone:empty {
    display: none;
}
.nv-ad-zone[data-size]::before {
    content: attr(data-label);
}

/* ============================================================
   MOBILE NAV — Auth buttons + categories fully visible
============================================================ */
.nv-mobile-nav-auth {
    padding: 1rem 1.25rem 1.5rem;
    border-top: 1px solid var(--nv-border);
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

/* Auth buttons in header (show on tablet too) */
@media (min-width: 576px) {
    .nv-btn-login,
    .nv-btn-register { display: inline-flex !important; }
}

/* Ensure mobile nav shows auth buttons */
.nv-mobile-auth-btn {
    display: block;
    text-align: center;
    padding: .7rem 1rem;
    border-radius: 8px;
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: .85rem;
    transition: all .2s;
    text-decoration: none;
}
.nv-mobile-auth-login {
    border: 1.5px solid var(--nv-border2);
    color: var(--nv-text2);
    background: var(--nv-bg3);
}
.nv-mobile-auth-login:hover { border-color: var(--nv-gold); color: var(--nv-gold); background: var(--nv-bg4); }
.nv-mobile-auth-signup {
    background: var(--nv-gold);
    color: #000;
    font-weight: 700;
    border: 1.5px solid var(--nv-gold);
}
.nv-mobile-auth-signup:hover { background: var(--nv-gold-dark); border-color: var(--nv-gold-dark); }

/* Mobile sub-menu animation */
.nv-mobile-sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}
.nv-mobile-sub-menu.open {
    max-height: 500px;
}

/* ============================================================
   TOP STORIES RESPONSIVE
============================================================ */
@media (max-width: 767px) {
    .nv-top-stories-layout {
        grid-template-columns: 1fr;
    }
    .nv-top-feat { min-height: 280px; }
    .nv-stack-thumb { width: 80px; }
    .nv-stack-title { font-size: .75rem; }
}

/* ============================================================
   AD ZONE RESPONSIVE
============================================================ */
.nv-ad-zone { max-width: 100%; overflow: hidden; }
.nv-ad-728x90,
.nv-ad-970x90 { width: 100% !important; height: 90px; }
@media (max-width: 480px) {
    .nv-ad-728x90,
    .nv-ad-970x90 { height: 60px; }
    .nv-between-ad { padding: .75rem 0; }
}

/* ============================================================
   IN-POST AD SLOTS (single.php)
============================================================ */
.nv-incontent-ad {
    margin: 2rem auto;
    text-align: center;
    padding: 1rem 0;
    border-top: 1px solid var(--nv-border);
    border-bottom: 1px solid var(--nv-border);
    background: var(--nv-bg2);
    border-radius: var(--nv-r2);
    position: relative;
}
.nv-incontent-ad::before {
    content: 'Advertisement';
    position: absolute;
    top: -9px; left: 50%;
    transform: translateX(-50%);
    background: var(--nv-bg2);
    font-family: var(--font-ui);
    font-size: .58rem;
    color: var(--nv-text4);
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 0 .75rem;
}

/* ============================================================
   BOOTSTRAP OVERRIDES for dark mode
============================================================ */
[data-theme="dark"] .card { background: var(--nv-bg2); border-color: var(--nv-border); color: var(--nv-text); }
[data-theme="dark"] .modal-content { background: var(--nv-bg2); border-color: var(--nv-border); color: var(--nv-text); }
[data-theme="dark"] .dropdown-menu { background: var(--nv-bg4); border-color: var(--nv-border); }
[data-theme="dark"] .dropdown-item { color: var(--nv-text2); }
[data-theme="dark"] .dropdown-item:hover { background: var(--nv-bg5); color: var(--nv-gold); }
[data-theme="dark"] .nav-tabs .nav-link { color: var(--nv-text3); }
[data-theme="dark"] .nav-tabs .nav-link.active { color: var(--nv-gold); border-bottom-color: var(--nv-gold); }
[data-theme="dark"] .table { color: var(--nv-text2); }
[data-theme="dark"] .table th { color: var(--nv-text); background: var(--nv-bg3); }
[data-theme="dark"] .table td { border-color: var(--nv-border); }
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select { background: var(--nv-bg3); border-color: var(--nv-border2); color: var(--nv-text); }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus { background: var(--nv-bg4); border-color: var(--nv-gold); color: var(--nv-text); box-shadow: 0 0 0 .2rem rgba(232,160,32,.2); }
[data-theme="dark"] .form-control::placeholder { color: var(--nv-text4); }
[data-theme="dark"] .alert { color: var(--nv-text); }
[data-theme="dark"] .badge { }
[data-theme="dark"] .list-group-item { background: var(--nv-bg2); border-color: var(--nv-border); color: var(--nv-text2); }
[data-theme="dark"] .breadcrumb-item { color: var(--nv-text3); }
[data-theme="dark"] .breadcrumb-item.active { color: var(--nv-text); }
[data-theme="dark"] .pagination .page-link { background: var(--nv-bg2); border-color: var(--nv-border); color: var(--nv-text2); }
[data-theme="dark"] .pagination .page-item.active .page-link { background: var(--nv-gold); border-color: var(--nv-gold); color: #000; }
[data-theme="dark"] .close,
[data-theme="dark"] .btn-close { filter: invert(1); }

/* Also fix light mode explicit dark text in post content */
[data-theme="light"] .nv-post-content,
[data-theme="light"] .entry-content { color: var(--nv-text); }

/* ============================================================
   WP DEFAULT CLASS OVERRIDES
============================================================ */
[data-theme="dark"] .wp-caption,
[data-theme="dark"] .gallery,
[data-theme="dark"] .wp-caption-text { color: var(--nv-text3); }
[data-theme="dark"] .sticky { background: var(--nv-bg2); }
[data-theme="dark"] .bypostauthor { background: var(--nv-bg3); }

/* ============================================================
   NairaVoice 2.0.1 final layout/ad/content fixes
============================================================ */
html, body { max-width: 100%; overflow-x: hidden; }
.container, .container-fluid, .container-lg, .container-xl, .container-xxl { max-width: 100%; }

/* Desktop nav must never be wider than the screen */
.nv-nav, .nv-nav .container-xxl, .nv-nav-inner { max-width: 100vw; overflow: visible; }
.nv-nav-inner { display: flex; align-items: center; flex-wrap: nowrap; min-width: 0; gap: .15rem; }
.nv-nav-menu { min-width: 0; flex: 1 1 auto; overflow-x: auto; overflow-y: visible; scrollbar-width: none; }
.nv-nav-menu::-webkit-scrollbar { display: none; }
.nv-nav-link { white-space: nowrap; padding-left: .55rem; padding-right: .55rem; font-size: clamp(.68rem,.78vw,.78rem); }
.nv-nav .nv-btn-sm, .nv-nav .nv-badge { white-space: nowrap; }
@media (max-width: 1280px) { .nv-nav-link { padding-left: .42rem; padding-right: .42rem; } .nv-badge-live { display:none!important; } }

/* Header ad is visible on mobile and stays outside the mobile menu */
@media (max-width: 1199.98px) {
  .nv-header-inner { flex-wrap: wrap; gap: .65rem; }
  .nv-header-ad { display: flex !important; order: 3; flex: 0 0 100%; max-width: 100% !important; justify-content: center; }
  .nv-header-ad .nv-ad-zone { width: min(100%, 728px) !important; min-height: 60px; }
  .nv-header-actions { margin-left: auto; }
}

/* Ad tags/scripts/iframes should render like ad containers, not text boxes */
.nv-ad-zone { max-width: 100%; overflow: hidden; padding: 0; line-height: normal; text-align: center; }
.nv-ad-zone script { display: none !important; }
.nv-ad-zone iframe, .nv-ad-zone ins, .nv-ad-zone object, .nv-ad-zone embed { max-width: 100%; }
.nv-ad-zone iframe { width: 100%; min-height: 60px; }
.nv-ad-zone > a, .nv-ad-zone > div, .nv-ad-zone > ins { display: flex; align-items: center; justify-content: center; max-width: 100%; }

/* Home page: two columns on desktop, two on mobile where possible */
.nv-home-card-grid > [class*="col-"] { display: flex; }
.nv-home-card-grid .nv-card { width: 100%; }
@media (min-width: 992px) { .nv-home-card-grid > .col-lg-6 { width: 50%; flex: 0 0 50%; } }
@media (max-width: 575.98px) { .nv-home-card-grid > .col-6 { width: 50%; flex: 0 0 50%; } .nv-card-title { font-size: .86rem; } .nv-card-excerpt, .nv-card-footer { font-size: .68rem; } }

/* Trailers on homepage reduced from 4/5 to 2 columns */
.nv-movie-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.nv-movie-home-grid .nv-movie-card-title, .nv-video-title, .nv-card-title, .nv-card-title a { color: var(--nv-text) !important; }
[data-theme="light"] .nv-card-title,
[data-theme="light"] .nv-card-title a,
[data-theme="light"] .nv-video-title,
[data-theme="light"] .nv-movie-card-title,
[data-theme="light"] .nv-stack-title,
[data-theme="light"] .nv-stack-title a { color: #161616 !important; }
[data-theme="dark"] .nv-card-title,
[data-theme="dark"] .nv-card-title a,
[data-theme="dark"] .nv-video-title,
[data-theme="dark"] .nv-movie-card-title,
[data-theme="dark"] .nv-stack-title,
[data-theme="dark"] .nv-stack-title a { color: #f7f3ea !important; }
.nv-card:hover .nv-card-title a { color: var(--nv-gold) !important; }

/* Better post/page content design */
.nv-article, article.nv-article { background: var(--nv-bg2); border: 1px solid var(--nv-border); border-radius: var(--nv-r4); padding: clamp(1rem,2vw,2rem); box-shadow: var(--sh-md); }
.nv-post-content, .entry-content { max-width: 860px; margin: 0 auto; color: var(--nv-text2); font-size: clamp(1rem,1.1vw,1.08rem); line-height: 1.85; }
.nv-post-content p, .entry-content p, .nv-post-content li, .entry-content li { color: var(--nv-text2) !important; }
[data-theme="light"] .nv-post-content, [data-theme="light"] .entry-content,
[data-theme="light"] .nv-post-content p, [data-theme="light"] .entry-content p,
[data-theme="light"] .nv-post-content li, [data-theme="light"] .entry-content li { color: #292929 !important; }
[data-theme="dark"] .nv-post-content, [data-theme="dark"] .entry-content,
[data-theme="dark"] .nv-post-content p, [data-theme="dark"] .entry-content p,
[data-theme="dark"] .nv-post-content li, [data-theme="dark"] .entry-content li { color: #e5dfd3 !important; }
.nv-post-content h1, .nv-post-content h2, .nv-post-content h3, .entry-content h1, .entry-content h2, .entry-content h3 { color: var(--nv-text) !important; }
.nv-post-content img, .entry-content img, .wp-post-image { width: auto; max-width: 100%; max-height: 520px; object-fit: contain; margin: 1.25rem auto; border-radius: var(--nv-r3); box-shadow: var(--sh-sm); }
.single .wp-post-image, .page .wp-post-image { width: 100%; max-height: 460px; object-fit: cover; }
@media (max-width: 768px) { .nv-article, article.nv-article { padding: 1rem; border-radius: var(--nv-r3); } .single .wp-post-image, .page .wp-post-image { max-height: 280px; } .nv-post-content, .entry-content { font-size: 1rem; line-height: 1.78; } }

/* Mobile menu/toggle reliability */
.nv-mobile-overlay, .nv-mobile-nav { touch-action: manipulation; }
.nv-mobile-nav { max-width: 88vw; }
.nv-mobile-nav-link a, .nv-mobile-sub-link { pointer-events: auto; }
#nv-theme-toggle-mobile { display: inline-flex !important; visibility: visible !important; opacity: 1 !important; }
.nv-hamburger { z-index: 1100; }
@media (max-width: 992px) { .nv-hamburger { display: inline-flex !important; } }

/* Remove warning-style placeholders from plugins/theme areas without affecting real ads/videos */
.nv-adblock-warning, .adblock-warning, .nv-js-warning, .js-warning, .no-js-warning { display: none !important; }
