/*
Theme Name: OccultTruths2
Theme URI: https://occulttruths.com
Author: OccultTruths
Author URI: https://occulttruths.com
Description: YouTube-style video/document theme with self-hosted video, PDF protection, live feeds, shorts, view counters, dark/light mode, social sharing, and a bold red/black aesthetic. Privacy-first: no external font calls.
Version: 2.8.10
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: occultruths
*/

/* ============================================
   CSS VARIABLES & DARK/LIGHT THEMES
   ============================================ */
:root, [data-theme="dark"] {
    --ot-bg: #0a0a0a;
    --ot-surface: #111111;
    --ot-surface-2: #1a1a1a;
    --ot-surface-3: #222222;
    --ot-surface-4: #2a2a2a;
    --ot-red: #cc0000;
    --ot-red-hover: #ff1a1a;
    --ot-red-dark: #990000;
    --ot-red-glow: rgba(204, 0, 0, 0.3);
    --ot-text: #f0f0f0;
    --ot-text-secondary: #aaaaaa;
    --ot-text-muted: #888888;
    --ot-text-faint: #555555;
    --ot-border: #2a2a2a;
    --ot-font-display: 'Cinzel', Georgia, serif;
    --ot-font-body: 'Rajdhani', Arial, sans-serif;
    --ot-font-mono: 'Share Tech Mono', 'Courier New', monospace;
    --ot-radius: 4px;
    --ot-transition: 0.3s ease;
    --ot-shadow: 0 4px 20px rgba(0,0,0,0.5);
    --ot-shadow-red: 0 4px 20px rgba(204,0,0,0.15);
}

[data-theme="light"] {
    --ot-bg: #f2f2f2;
    --ot-surface: #ffffff;
    --ot-surface-2: #f7f7f7;
    --ot-surface-3: #eeeeee;
    --ot-surface-4: #e0e0e0;
    --ot-text: #111111;
    --ot-text-secondary: #444444;
    --ot-text-muted: #777777;
    --ot-text-faint: #aaaaaa;
    --ot-border: #dddddd;
    --ot-shadow: 0 4px 20px rgba(0,0,0,0.1);
    --ot-shadow-red: 0 4px 20px rgba(204,0,0,0.08);
}

/* ============================================
   RESET
   ============================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ot-bg);color:var(--ot-text);font-family:var(--ot-font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}
a{color:var(--ot-red);text-decoration:none;transition:color var(--ot-transition)}
a:hover{color:var(--ot-red-hover)}
img{max-width:100%;height:auto}

/* ============================================
   HEADER — BIGGER / TALLER
   ============================================ */
.site-header{background:linear-gradient(180deg,var(--ot-surface) 0%,var(--ot-bg) 100%);border-bottom:3px solid var(--ot-red);position:sticky;top:0;z-index:1000;box-shadow:0 2px 30px rgba(204,0,0,0.25)}
.header-inner{max-width:1400px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.header-left{display:flex;align-items:center;gap:20px;flex-shrink:0}
.site-logo img{max-height:70px;width:auto}
.site-logo .logo-placeholder{width:70px;height:70px;background:var(--ot-red);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--ot-font-display);font-size:28px;font-weight:700;color:#fff}
.site-branding h1{font-family:var(--ot-font-display);font-size:30px;color:var(--ot-text);letter-spacing:4px;text-transform:uppercase;line-height:1.1}
.site-branding h1 a{color:var(--ot-text)}
.site-branding h1 a:hover{color:var(--ot-red)}
.site-branding .tagline{font-size:12px;color:var(--ot-text-muted);letter-spacing:2px;text-transform:uppercase;font-family:var(--ot-font-mono);margin-top:4px}

/* Banner Ad — taller */
.header-banner-ad{flex:1;max-width:728px;min-height:100px;background:var(--ot-surface-2);border:1px dashed var(--ot-border);border-radius:var(--ot-radius);display:flex;align-items:center;justify-content:center;color:var(--ot-text-faint);font-size:12px;font-family:var(--ot-font-mono);text-transform:uppercase;letter-spacing:2px;overflow:hidden}
.header-banner-ad img{max-height:100px;width:auto}

.header-right{display:flex;align-items:center;gap:14px;flex-shrink:0}

/* Search */
.header-search{position:relative}
.header-search input{background:var(--ot-surface-2);border:1px solid var(--ot-border);color:var(--ot-text);padding:10px 40px 10px 16px;border-radius:24px;font-family:var(--ot-font-body);font-size:14px;width:220px;transition:all var(--ot-transition)}
.header-search input:focus{outline:none;border-color:var(--ot-red);box-shadow:0 0 12px var(--ot-red-glow);width:280px}
.header-search button{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--ot-text-muted);cursor:pointer;font-size:18px}

/* Dark/Light Toggle */
.theme-toggle{background:var(--ot-surface-2);border:1px solid var(--ot-border);color:var(--ot-text);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all var(--ot-transition)}
.theme-toggle:hover{border-color:var(--ot-red);color:var(--ot-red)}

/* Mobile menu */
.menu-toggle{display:none;background:none;border:none;color:var(--ot-text);font-size:28px;cursor:pointer;padding:5px}

/* Navigation */
.main-navigation{background:var(--ot-surface);border-bottom:1px solid var(--ot-border)}
.main-navigation ul{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;list-style:none;gap:4px;overflow-x:auto}
.main-navigation li a{display:block;padding:12px 20px;color:var(--ot-text-secondary);font-family:var(--ot-font-body);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid transparent;transition:all var(--ot-transition);white-space:nowrap}
.main-navigation li a:hover,.main-navigation li.current-menu-item a{color:var(--ot-text);border-bottom-color:var(--ot-red)}

/* ============================================
   HERO — FEATURED VIDEO
   ============================================ */
.featured-hero{max-width:1400px;margin:0 auto;padding:30px 24px}
.featured-hero .hero-label{display:inline-flex;align-items:center;gap:8px;background:var(--ot-red);color:#fff;padding:7px 18px;font-family:var(--ot-font-display);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:18px;border-radius:2px}
.featured-hero .hero-label .pulse{width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

.hero-wrapper{display:grid;grid-template-columns:1fr 380px;gap:24px}
.hero-video-container{position:relative;background:var(--ot-surface);border-radius:var(--ot-radius);overflow:hidden;box-shadow:var(--ot-shadow-red)}

/* Hero thumbnail (clickable, links to post) */
.hero-thumb-link{
    display:block;
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    background:#000;
    overflow:hidden;
    text-decoration:none;
    transition:transform 0.3s ease;
}
.hero-thumb-link::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,0.4) 100%);
    pointer-events:none;
    transition:background 0.3s ease;
    z-index:2;
}
.hero-thumb-link:hover::after{
    background:linear-gradient(180deg, rgba(204,0,0,0.05) 0%, rgba(0,0,0,0.2) 100%);
}
/* Target the img with multiple selectors so it always fills regardless of WP-added classes */
.hero-thumb-link img,
.hero-thumb-link .hero-thumb-img,
.hero-thumb-link .wp-post-image,
.hero-thumb-link .attachment-full,
.hero-thumb-link .size-full{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    transition:transform 0.5s ease;
    z-index:1;
}
.hero-thumb-link:hover img{
    transform:scale(1.03);
}
.hero-thumb-placeholder{
    width:100%;
    height:100%;
    background:linear-gradient(135deg, #1a1a1a 0%, #2a0a0a 100%);
}
.video-embed{position:relative;padding-bottom:56.25%;height:0}
.video-embed iframe,.video-embed video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
/* Embed overlay to block click-throughs */
.video-embed .embed-overlay{position:absolute;top:0;left:0;right:0;height:50px;z-index:5;cursor:default}
.video-embed .embed-overlay-bottom{position:absolute;bottom:0;left:0;right:0;height:40px;z-index:5;cursor:default}

.hero-info{padding:20px 0 0}
.hero-info h2{font-family:var(--ot-font-display);font-size:22px;color:var(--ot-text);line-height:1.3;margin-bottom:10px}
.hero-info .meta{color:var(--ot-text-muted);font-size:13px;font-family:var(--ot-font-mono)}

.hero-sidebar{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow-y:auto;padding-right:8px}
.hero-sidebar::-webkit-scrollbar{width:4px}
.hero-sidebar::-webkit-scrollbar-thumb{background:var(--ot-red-dark);border-radius:2px}
.hero-sidebar .sidebar-card{display:grid;grid-template-columns:160px 1fr;gap:12px;background:var(--ot-surface-2);border-radius:var(--ot-radius);overflow:hidden;transition:all var(--ot-transition);cursor:pointer;border:1px solid transparent;text-decoration:none}
.hero-sidebar .sidebar-card:hover{border-color:var(--ot-red);transform:translateX(-4px)}
.hero-sidebar .sidebar-card .thumb{width:160px;height:90px;object-fit:cover;background:var(--ot-surface-3)}
.hero-sidebar .sidebar-card .card-info{padding:8px 8px 8px 0;display:flex;flex-direction:column;justify-content:center}
.hero-sidebar .sidebar-card .card-info h4{font-size:13px;color:var(--ot-text);line-height:1.3;margin-bottom:4px;font-weight:600}
.hero-sidebar .sidebar-card .card-info span{font-size:11px;color:var(--ot-text-muted);font-family:var(--ot-font-mono)}

/* ============================================
   LIVE FEEDS — 4 Boxes
   ============================================ */
.live-feeds-section{max-width:1400px;margin:0 auto;padding:10px 24px 30px}
.live-feeds-section .section-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--ot-font-display);font-size:16px;color:var(--ot-text);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px}
.live-feeds-section .section-label .live-dot{width:10px;height:10px;background:var(--ot-red);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}
.live-feeds-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.live-feed-card{background:var(--ot-surface-2);border-radius:var(--ot-radius);overflow:hidden;border:1px solid var(--ot-border);transition:all var(--ot-transition)}
.live-feed-card:hover{border-color:var(--ot-red);box-shadow:var(--ot-shadow-red)}
.live-feed-card .feed-label{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--ot-surface-3);border-bottom:1px solid var(--ot-border)}
.live-feed-card .feed-label h4{font-size:12px;color:var(--ot-text);font-family:var(--ot-font-mono);text-transform:uppercase;letter-spacing:1px}
.live-feed-card .feed-label .live-badge{background:var(--ot-red);color:#fff;padding:2px 8px;border-radius:10px;font-size:9px;font-family:var(--ot-font-mono);text-transform:uppercase;letter-spacing:1px;animation:pulse 2s ease-in-out infinite}
.live-feed-card .feed-video{position:relative;padding-bottom:56.25%;height:0;background:var(--ot-surface-3)}
.live-feed-card .feed-video iframe,.live-feed-card .feed-video video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.live-feed-card .feed-video .embed-overlay{position:absolute;top:0;left:0;right:0;height:40px;z-index:5}
.live-feed-card .feed-video .embed-overlay-bottom{position:absolute;bottom:0;left:0;right:0;height:30px;z-index:5}
.live-feed-card .feed-empty{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--ot-text-faint);font-family:var(--ot-font-mono);font-size:12px}

/* ============================================
   SHORTS SECTION
   ============================================ */
.shorts-section{max-width:1400px;margin:0 auto;padding:10px 24px 30px}
.shorts-section .section-label{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.shorts-section .section-label h2{font-family:var(--ot-font-display);font-size:18px;color:var(--ot-text);letter-spacing:2px;text-transform:uppercase}
.shorts-section .section-label h2::after{content:'';display:inline-block;width:100px;height:1px;background:linear-gradient(90deg,var(--ot-red),transparent);margin-left:12px;vertical-align:middle}
.shorts-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.shorts-scroll::-webkit-scrollbar{height:4px}
.shorts-scroll::-webkit-scrollbar-thumb{background:var(--ot-red-dark);border-radius:2px}
.short-card{flex-shrink:0;width:180px;scroll-snap-align:start;background:var(--ot-surface-2);border-radius:var(--ot-radius);overflow:hidden;border:1px solid transparent;transition:all var(--ot-transition);cursor:pointer;text-decoration:none;display:block}
.short-card:hover{border-color:var(--ot-red);transform:translateY(-4px);box-shadow:var(--ot-shadow-red)}
.short-card .short-thumb{position:relative;width:180px;height:320px;background:var(--ot-surface-3);overflow:hidden}
.short-card .short-thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--ot-transition)}
.short-card:hover .short-thumb img{transform:scale(1.05)}
.short-card .short-thumb .short-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;color:#fff;opacity:.8}
.short-card .short-thumb .short-duration{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.85);color:#fff;padding:2px 6px;font-size:10px;font-family:var(--ot-font-mono);border-radius:2px}
.short-card .short-info{padding:10px}
.short-card .short-info h4{font-size:12px;color:var(--ot-text);line-height:1.3;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.short-card .short-info span{font-size:10px;color:var(--ot-text-muted);font-family:var(--ot-font-mono);margin-top:4px;display:block}

/* ============================================
   CATEGORY FILTERS
   ============================================ */
.category-filters{max-width:1400px;margin:0 auto;padding:0 24px 20px;display:flex;gap:8px;flex-wrap:wrap}
.filter-btn{background:var(--ot-surface-2);border:1px solid var(--ot-border);color:var(--ot-text-secondary);padding:7px 18px;border-radius:20px;font-family:var(--ot-font-body);font-size:13px;cursor:pointer;transition:all var(--ot-transition);text-decoration:none;display:inline-block}
.filter-btn:hover,.filter-btn.active{background:var(--ot-red);border-color:var(--ot-red);color:#fff}

/* Sort Toggle */
.sort-toggle{max-width:1400px;margin:0 auto;padding:0 24px 16px;display:flex;align-items:center;gap:12px}
.sort-toggle span{font-size:13px;color:var(--ot-text-muted);font-family:var(--ot-font-mono)}
.sort-btn{background:var(--ot-surface-2);border:1px solid var(--ot-border);color:var(--ot-text-secondary);padding:5px 14px;border-radius:14px;font-family:var(--ot-font-mono);font-size:12px;cursor:pointer;transition:all var(--ot-transition)}
.sort-btn:hover,.sort-btn.active{background:var(--ot-red);border-color:var(--ot-red);color:#fff}

/* ============================================
   SECTION TITLES
   ============================================ */
.section-title{max-width:1400px;margin:0 auto;padding:10px 24px 20px}
.section-title h2{font-family:var(--ot-font-display);font-size:20px;color:var(--ot-text);letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:12px}
.section-title h2::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--ot-red),transparent)}

/* ============================================
   VIDEO GRID
   ============================================ */
.video-grid{max-width:1400px;margin:0 auto;padding:0 24px 40px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.video-card{background:var(--ot-surface-2);border-radius:var(--ot-radius);overflow:hidden;transition:all var(--ot-transition);border:1px solid transparent;cursor:pointer;text-decoration:none;display:block}
.video-card:hover{border-color:var(--ot-red);transform:translateY(-4px);box-shadow:var(--ot-shadow-red)}
.video-card .thumbnail-wrap{position:relative;padding-bottom:56.25%;background:var(--ot-surface-3);overflow:hidden}
.video-card .thumbnail-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--ot-transition)}
.video-card:hover .thumbnail-wrap img{transform:scale(1.05)}
.video-card .thumbnail-wrap .duration{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.85);color:#fff;padding:2px 6px;font-size:12px;font-family:var(--ot-font-mono);border-radius:2px}
.video-card .thumbnail-wrap .has-docs{position:absolute;top:8px;left:8px;background:var(--ot-red);color:#fff;padding:3px 8px;font-size:10px;font-family:var(--ot-font-mono);text-transform:uppercase;letter-spacing:1px;border-radius:2px}
.video-card .thumbnail-wrap .pinned-badge{position:absolute;top:8px;right:8px;background:var(--ot-red);color:#fff;padding:3px 8px;font-size:10px;font-family:var(--ot-font-mono);text-transform:uppercase;letter-spacing:1px;border-radius:2px}
.video-card .card-body{padding:14px}
.video-card .card-body h3{font-size:15px;font-weight:600;color:var(--ot-text);line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.video-card .card-body .card-meta{display:flex;justify-content:space-between;align-items:center;color:var(--ot-text-muted);font-size:12px;font-family:var(--ot-font-mono)}
.video-card .card-body .card-meta .views{display:flex;align-items:center;gap:4px}
.video-card .card-body .card-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}
.video-card .card-body .card-tags .tag-pill{background:var(--ot-surface-4);color:var(--ot-red);padding:2px 8px;font-size:10px;text-transform:uppercase;letter-spacing:1px;border-radius:2px;font-family:var(--ot-font-mono)}

/* ============================================
   SINGLE POST
   ============================================ */
.single-content{max-width:1100px;margin:0 auto;padding:30px 24px}
.single-video-player{background:#000;border-radius:var(--ot-radius);overflow:hidden;margin-bottom:24px;box-shadow:var(--ot-shadow-red);position:relative;aspect-ratio:16/9;width:100%}
/* Self-hosted video protection */
.single-video-player video{width:100%;height:100%;display:block;object-fit:cover;position:absolute;inset:0}
/* Thumbnail/image fallback when no video - applies to any direct img child */
.single-video-player > img,
.single-video-player img.attachment-ot-hero,
.single-video-player img.size-ot-hero,
.single-video-player img.wp-post-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.single-video-player iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0}
.single-video-player .video-embed{width:100%;height:100%;position:relative}
.single-video-player .video-embed iframe,.single-video-player .video-embed video{position:absolute;inset:0;width:100%;height:100%}
.single-video-player .video-no-download{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;pointer-events:none}

/* Post content YouTube/iframe embeds (rendered inside .post-description from auto-embed) */
.post-description iframe,
.post-description .wp-block-embed iframe,
.post-description .wp-block-embed__wrapper iframe{
    width:100%;
    aspect-ratio:16/9;
    height:auto;
    max-width:100%;
    display:block;
    border:0;
    margin:16px 0;
    border-radius:var(--ot-radius);
}
.post-description .wp-block-embed,
.post-description .wp-block-embed__wrapper{
    width:100%;
    margin:16px 0;
}
/* Constrain images in post content */
.post-description img{
    max-width:100%;
    height:auto;
    display:block;
    margin:16px auto;
    border-radius:6px;
}

.single-post-info{margin-bottom:30px}
.single-post-info h1{font-family:var(--ot-font-display);font-size:28px;color:var(--ot-text);line-height:1.3;margin-bottom:12px}
.post-meta-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 0;border-top:1px solid var(--ot-border);border-bottom:1px solid var(--ot-border)}
.post-meta-bar .meta-left{display:flex;align-items:center;gap:16px;color:var(--ot-text-muted);font-size:13px;font-family:var(--ot-font-mono)}
.post-meta-bar .meta-left span{display:flex;align-items:center;gap:4px}
.post-meta-bar .meta-right{display:flex;gap:6px}

.post-description{background:var(--ot-surface-2);border-radius:var(--ot-radius);padding:20px;margin-bottom:30px;color:var(--ot-text-secondary);font-size:15px;line-height:1.7;border-left:3px solid var(--ot-red)}

/* View Counter */
.view-count{display:inline-flex;align-items:center;gap:4px;color:var(--ot-text-muted);font-size:13px;font-family:var(--ot-font-mono)}

/* Social Share */
.social-share{display:flex;gap:8px;align-items:center}
.social-share .share-label{font-size:12px;color:var(--ot-text-muted);font-family:var(--ot-font-mono);text-transform:uppercase;letter-spacing:1px}
.share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--ot-surface-2);border:1px solid var(--ot-border);color:var(--ot-text-secondary);font-size:14px;cursor:pointer;transition:all var(--ot-transition);text-decoration:none}
.share-btn:hover{background:var(--ot-red);border-color:var(--ot-red);color:#fff}
.share-btn.copied{background:#22c55e;border-color:#22c55e;color:#fff}

/* ============================================
   PDF VIEWER — SILENT PROTECTION
   ============================================ */
.pdf-documents-section{margin-top:40px}
.pdf-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.pdf-section-header h3{font-family:var(--ot-font-display);font-size:18px;color:var(--ot-text);letter-spacing:2px;text-transform:uppercase}
.pdf-section-header .doc-count{background:var(--ot-red);color:#fff;padding:2px 10px;border-radius:10px;font-size:12px;font-family:var(--ot-font-mono)}

.pdf-viewer-card{background:var(--ot-surface-2);border:1px solid var(--ot-border);border-radius:var(--ot-radius);margin-bottom:20px;overflow:hidden}
.pdf-viewer-card .pdf-title-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--ot-surface-3);border-bottom:1px solid var(--ot-border)}
.pdf-viewer-card .pdf-title-bar h4{font-size:14px;color:var(--ot-text);font-weight:600}

.pdf-viewer-container{position:relative;height:600px;overflow-y:scroll;overflow-x:hidden}
.pdf-viewer-container iframe{width:100%;height:200%;border:none;pointer-events:auto}
/* Silent protection layer */
.pdf-viewer-container .pdf-shield{position:absolute;top:0;left:0;right:0;bottom:0;z-index:5;user-select:none;-webkit-user-select:none;pointer-events:none}
/* Fade at bottom — subtle, no text/icons */
.pdf-viewer-container .pdf-fade{position:sticky;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,var(--ot-bg));z-index:6;pointer-events:none}

/* ============================================
   COMMENTS
   ============================================ */
.comments-section{margin-top:40px;padding-top:30px;border-top:1px solid var(--ot-border)}
.comments-section h3{font-family:var(--ot-font-display);font-size:18px;color:var(--ot-text);margin-bottom:20px}
.comment-list{list-style:none}
.comment-list .comment{background:var(--ot-surface-2);border-radius:var(--ot-radius);padding:20px 22px;margin-bottom:14px;border-left:3px solid var(--ot-red-dark)}
.comment-list .comment .comment-author{font-weight:700;color:var(--ot-red);font-size:14px;margin-bottom:4px}
.comment-list .comment .comment-date{font-size:11px;color:var(--ot-text-faint);font-family:var(--ot-font-mono);margin-bottom:12px}
.comment-list .comment .comment-content{color:var(--ot-text);font-size:15px;line-height:1.65;}
.comment-list .comment .comment-content p{margin-bottom:1em;}
.comment-list .comment .comment-content p:last-child{margin-bottom:0;}
.comment-list .comment .comment-content a{color:var(--ot-red);text-decoration:underline;}
.comment-list .comment .comment-content a:hover{color:#ff1a1a;}
/* Comment reply link styling */
.comment-list .comment .comment-reply-link{
    display:inline-block;
    margin-top:10px;
    color:var(--ot-red);
    font-family:var(--ot-font-mono);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    text-decoration:none;
    border:1px solid var(--ot-red-dark);
    padding:4px 10px;
    border-radius:3px;
    transition:all .15s;
}
.comment-list .comment .comment-reply-link:hover{
    background:var(--ot-red);
    color:#fff;
    border-color:var(--ot-red);
}
.comment-form textarea,.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"]{width:100%;background:var(--ot-surface-2);border:1px solid var(--ot-border);color:var(--ot-text);padding:14px 16px;border-radius:var(--ot-radius);font-family:var(--ot-font-body);font-size:15px;line-height:1.6;margin-bottom:12px;transition:border-color var(--ot-transition)}
.comment-form textarea{min-height:120px;resize:vertical;}
.comment-form textarea:focus,.comment-form input:focus{outline:none;border-color:var(--ot-red)}
.comment-form input[type="submit"]{background:var(--ot-red);color:#fff;border:none;padding:12px 30px;font-family:var(--ot-font-display);font-size:14px;text-transform:uppercase;letter-spacing:2px;cursor:pointer;border-radius:var(--ot-radius);transition:all var(--ot-transition)}
.comment-form input[type="submit"]:hover{background:var(--ot-red-hover);box-shadow:0 0 20px var(--ot-red-glow)}

/* ============================================
   PAGINATION
   ============================================ */
.pagination-wrap{max-width:1400px;margin:0 auto;padding:20px 24px 50px;display:flex;justify-content:center;gap:8px}
.pagination-wrap a,.pagination-wrap span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--ot-surface-2);color:var(--ot-text-secondary);border:1px solid var(--ot-border);border-radius:var(--ot-radius);font-family:var(--ot-font-mono);font-size:14px;transition:all var(--ot-transition)}
.pagination-wrap a:hover{border-color:var(--ot-red);color:var(--ot-text)}
.pagination-wrap .current{background:var(--ot-red);border-color:var(--ot-red);color:#fff}

/* ============================================
   FOOTER
   ============================================ */
.site-footer{background:var(--ot-surface);border-top:3px solid var(--ot-red);padding:40px 24px;margin-top:40px}
.footer-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px}
.footer-col h4{font-family:var(--ot-font-display);font-size:14px;color:var(--ot-red);text-transform:uppercase;letter-spacing:2px;margin-bottom:16px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:8px}
.footer-col ul li a{color:var(--ot-text-secondary);font-size:14px;transition:all var(--ot-transition)}
.footer-col ul li a:hover{color:var(--ot-text);padding-left:6px}

/* Newsletter Signup */
.footer-newsletter{margin-top:20px}
.footer-newsletter h4{font-family:var(--ot-font-display);font-size:14px;color:var(--ot-red);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}
.footer-newsletter p{color:var(--ot-text-muted);font-size:13px;margin-bottom:12px}
.newsletter-form{display:flex;gap:8px}
.newsletter-form input[type="email"]{flex:1;background:var(--ot-surface-2);border:1px solid var(--ot-border);color:var(--ot-text);padding:10px 14px;border-radius:var(--ot-radius);font-family:var(--ot-font-body);font-size:14px}
.newsletter-form input[type="email"]:focus{outline:none;border-color:var(--ot-red)}
.newsletter-form button{background:var(--ot-red);color:#fff;border:none;padding:10px 20px;border-radius:var(--ot-radius);font-family:var(--ot-font-display);font-size:13px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all var(--ot-transition);white-space:nowrap}
.newsletter-form button:hover{background:var(--ot-red-hover)}
.newsletter-msg{margin-top:8px;font-size:12px;font-family:var(--ot-font-mono)}

.footer-bottom{max-width:1400px;margin:30px auto 0;padding-top:20px;border-top:1px solid var(--ot-border);text-align:center;color:var(--ot-text-faint);font-size:12px;font-family:var(--ot-font-mono)}

/* ============================================
   BACK TO TOP
   ============================================ */
.back-to-top{position:fixed;bottom:30px;right:30px;width:46px;height:46px;background:var(--ot-red);color:#fff;border:none;border-radius:50%;font-size:20px;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:999;box-shadow:0 4px 15px var(--ot-red-glow);transition:all var(--ot-transition)}
.back-to-top:hover{background:var(--ot-red-hover);transform:translateY(-3px)}
.back-to-top.visible{display:flex}

/* ============================================
   DISCLAIMER/LEGAL TEMPLATE
   ============================================ */
.legal-page{max-width:900px;margin:0 auto;padding:40px 24px}
.legal-page h1{font-family:var(--ot-font-display);font-size:32px;color:var(--ot-text);margin-bottom:10px}
.legal-page .legal-date{font-size:12px;color:var(--ot-text-muted);font-family:var(--ot-font-mono);margin-bottom:30px}
.legal-page .legal-content{color:var(--ot-text-secondary);line-height:1.8}
.legal-page .legal-content h2{font-family:var(--ot-font-display);font-size:20px;color:var(--ot-text);margin:30px 0 12px;border-left:3px solid var(--ot-red);padding-left:12px}
.legal-page .legal-content p{margin-bottom:16px}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:1200px){
    .live-feeds-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1024px){
    .hero-wrapper{grid-template-columns:1fr}
    .hero-sidebar{flex-direction:row;overflow-x:auto;overflow-y:visible;max-height:none;padding-right:0;padding-bottom:8px}
    .hero-sidebar .sidebar-card{flex-shrink:0;width:300px}
}
@media(max-width:768px){
    .header-inner{flex-wrap:wrap}
    .header-banner-ad{order:3;max-width:100%;width:100%;min-height:60px}
    .header-search input{width:160px}
    .header-search input:focus{width:200px}
    .menu-toggle{display:block;position:relative;z-index:1100;}
    /* v2.8.9 — proper slide-in drawer for mobile */
    .main-navigation{
        position:fixed;
        top:0;
        right:0;
        height:100vh;
        height:100dvh;
        width:min(82vw, 320px);
        background:var(--ot-surface);
        border-bottom:none;
        border-left:3px solid var(--ot-red);
        box-shadow:-8px 0 40px rgba(0,0,0,0.6);
        transform:translateX(100%);
        transition:transform 0.28s ease-out;
        z-index:1090;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        padding-top:70px;
    }
    .main-navigation.toggled{transform:translateX(0);}
    .main-navigation ul{
        display:flex;
        flex-direction:column;
        max-width:100%;
        padding:0;
        margin:0;
        gap:0;
        overflow-x:visible;
    }
    .main-navigation li{
        width:100%;
        border-bottom:1px solid var(--ot-border);
    }
    .main-navigation li a{
        display:block;
        width:100%;
        padding:18px 24px;
        font-size:15px;
        letter-spacing:1.5px;
        border-bottom:none;
        white-space:normal;
    }
    .main-navigation li a:hover,
    .main-navigation li.current-menu-item a{
        background:var(--ot-surface-2);
        color:var(--ot-red);
        border-bottom-color:transparent;
    }
    /* Backdrop behind the drawer */
    .ot-menu-backdrop{
        position:fixed;
        inset:0;
        background:rgba(0,0,0,0.55);
        z-index:1080;
        animation:ot-fade-in 0.2s ease-out;
    }
    @keyframes ot-fade-in{
        from{opacity:0;}
        to{opacity:1;}
    }
    /* Lock body scroll when drawer open */
    body.ot-menu-open{overflow:hidden;}
    /* Menu toggle becomes X-style when open */
    .menu-toggle.is-open{color:var(--ot-red);}
    /* Kill hover-preview cards on touch devices — they interfere with taps */
    body.ot-touch-device .cat-hover-card{display:none !important;}

    .video-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
    .single-post-info h1{font-size:22px}
    .pdf-viewer-container{height:400px}
    .site-branding h1{font-size:22px}
    .live-feeds-grid{grid-template-columns:1fr 1fr}
    .social-share .share-label{display:none}
}
@media(max-width:480px){
    .video-grid{grid-template-columns:1fr}
    .live-feeds-grid{grid-template-columns:1fr}
    .site-branding h1{font-size:18px;letter-spacing:1px}
    .short-card{width:150px}
    .short-card .short-thumb{height:266px;width:150px}
}

/* ============================================
   UTILITIES
   ============================================ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.no-thumb-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--ot-surface-3);color:var(--ot-text-faint);font-size:48px}

/* ============================================
   NEWS TICKER (above Video of the Week) — v3.2 working version
   ============================================ */
.news-ticker-bar{
    background:var(--ot-surface);
    border-top:2px solid var(--ot-red);
    border-bottom:2px solid var(--ot-red);
    display:flex;
    align-items:stretch;
    overflow:hidden;
    width:100%;
    max-width:1400px;
    margin:20px auto 24px;
    position:relative;
}
.news-ticker-bar .ticker-badge{
    background:var(--ot-red);
    color:#fff;
    font-family:var(--ot-font-mono);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    padding:0 16px;
    display:flex;
    align-items:center;
    white-space:nowrap;
    flex-shrink:0;
    position:relative;
    z-index:2;
    animation:ticker-flash 1.5s ease-in-out infinite;
}
@keyframes ticker-flash{
    0%,100%{background:var(--ot-red);opacity:1}
    50%{background:#ff1a1a;opacity:.7}
}
.news-ticker-bar .ticker-badge::after{
    content:'';
    position:absolute;
    right:-10px;
    top:0;
    bottom:0;
    width:20px;
    background:linear-gradient(to right,var(--ot-red),transparent);
    z-index:1;
}
.news-ticker-bar .ticker-viewport{
    flex:1;
    overflow:hidden;
    height:36px;
    display:flex;
    align-items:center;
    position:relative;
}
.news-ticker-bar .ticker-track{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    animation:ot-ticker linear infinite;
    will-change:transform;
    position:absolute;
    left:0;
}
.news-ticker-bar:hover .ticker-track{animation-play-state:paused}
.news-ticker-bar .ticker-item{
    padding:0 20px;
    font-size:14px;
    font-family:var(--ot-font-body, var(--ot-font-mono));
    font-weight:600;
    flex-shrink:0;
    position:relative;
}
.news-ticker-bar .ticker-item a{
    color:var(--ot-text);
    text-decoration:none;
    transition:color var(--ot-transition);
}
.news-ticker-bar .ticker-item a:hover{color:var(--ot-red)}
.news-ticker-bar .ticker-sep{
    color:var(--ot-red);
    padding:0 8px;
    font-size:10px;
    flex-shrink:0;
}
@keyframes ot-ticker{
    0%{transform:translateX(0)}
    100%{transform:translateX(-50%)}
}
@media(max-width:768px){
    .news-ticker-bar{margin:12px 12px 16px;}
    .news-ticker-bar .ticker-badge{font-size:10px;padding:0 10px;letter-spacing:1px;}
    .news-ticker-bar .ticker-item{font-size:13px;padding:0 14px;}
}

/* ============================================
   WORLD CLOCK BAR
   ============================================ */
.world-clock-bar{
    background:var(--ot-surface);
    border-bottom:1px solid var(--ot-border);
    padding:8px 0;
    overflow-x:auto;
}
.world-clock-inner{
    max-width:1400px;
    margin:0 auto;
    padding:0 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    flex-wrap:nowrap;
}
.clock-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:0 16px;
    flex-shrink:0;
}
.clock-city{
    font-family:var(--ot-font-mono);
    font-size:10px;
    color:var(--ot-text-muted);
    text-transform:uppercase;
    letter-spacing:1px;
}
.clock-time{
    font-family:var(--ot-font-mono);
    font-size:15px;
    color:var(--ot-red);
    font-weight:700;
    letter-spacing:1px;
}
.clock-sep{
    color:var(--ot-red);
    font-size:6px;
    opacity:.4;
    flex-shrink:0;
    padding:0 4px;
}
@media(max-width:768px){
    .world-clock-inner{justify-content:flex-start;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .clock-item{padding:0 12px}
    .clock-city{font-size:9px}
    .clock-time{font-size:13px}
}

/* ============================================
   EMBED POSTER (Gab/Rumble/etc click-to-load)
   ============================================ */
.video-embed .embed-poster,
.single-video-player .embed-poster{
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    background-color:#000;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:4;
    overflow:hidden;
    transition:opacity 0.3s ease;
}
.embed-poster .embed-poster-img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    z-index:1;
}
.embed-poster::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.45) 100%);
    transition:background 0.3s ease;
    z-index:2;
}
.embed-poster:hover::before{
    background:linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.35) 100%);
}
.embed-poster .embed-poster-play{
    position:relative;
    z-index:3;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
    transition:transform 0.2s ease;
    filter:drop-shadow(0 4px 12px rgba(0,0,0,0.6));
}
.embed-poster:hover .embed-poster-play{
    transform:scale(1.1);
}
.embed-poster .embed-poster-play svg{display:block;}
.embed-poster.is-loading{opacity:0;pointer-events:none;}

/* Poster as link (smart fallback when no Video Details filled) */
.embed-poster-link{
    text-decoration:none;
    color:inherit;
}
.embed-poster-link .embed-poster-play{
    display:flex;
    align-items:center;
    justify-content:center;
}
.embed-poster-empty{
    background:linear-gradient(135deg, #1a1a1a 0%, #2a0a0a 100%);
}
.embed-poster-empty::before{
    background:radial-gradient(ellipse at center, rgba(220,38,38,0.15) 0%, rgba(0,0,0,0.6) 70%) !important;
}

/* ============================================
   v2.8.0 - INTEL FEED SECTION
   ============================================ */
.intel-feed-section{
    max-width:1400px;
    margin:30px auto;
    padding:0 24px;
}
.intel-feed-header{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    border-bottom:1px solid var(--ot-border);
    padding-bottom:12px;
}
.intel-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#000;
    border:1px solid var(--ot-red);
    padding:8px 14px;
    border-radius:2px;
    box-shadow:0 0 12px rgba(204,0,0,0.4);
}
.intel-badge-text{
    font-family:var(--ot-font-mono);
    font-size:13px;
    font-weight:700;
    color:var(--ot-red);
    letter-spacing:3px;
}
.intel-radar{
    position:relative;
    width:18px;
    height:18px;
    border:1px solid var(--ot-red);
    border-radius:50%;
    display:inline-block;
    overflow:hidden;
    background:rgba(204,0,0,0.1);
}
.intel-radar-sweep{
    position:absolute;
    top:50%;
    left:50%;
    width:50%;
    height:1.5px;
    background:linear-gradient(to right, var(--ot-red), transparent);
    transform-origin:left center;
    animation:intel-sweep 2s linear infinite;
}
.intel-radar-dot{
    position:absolute;
    top:50%;
    left:50%;
    width:3px;
    height:3px;
    background:var(--ot-red);
    border-radius:50%;
    transform:translate(-50%,-50%);
    box-shadow:0 0 4px var(--ot-red);
}
@keyframes intel-sweep{
    0%{transform:rotate(0deg);}
    100%{transform:rotate(360deg);}
}
.intel-status{
    font-family:var(--ot-font-mono);
    font-size:11px;
    color:var(--ot-text-muted);
    letter-spacing:2px;
    margin-left:auto;
    animation:intel-blink 2s ease-in-out infinite;
}
@keyframes intel-blink{
    0%,100%{opacity:1;}
    50%{opacity:0.4;}
}
.intel-feed-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
}
.intel-card{
    display:flex;
    flex-direction:column;
    background:var(--ot-surface);
    border:1px solid var(--ot-border);
    border-radius:6px;
    overflow:hidden;
    text-decoration:none;
    color:var(--ot-text);
    transition:transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.intel-card:hover{
    transform:translateY(-2px);
    border-color:var(--ot-red);
    box-shadow:0 4px 16px rgba(204,0,0,0.25);
}
.intel-card-thumb{
    aspect-ratio:16/9;
    overflow:hidden;
    background:#000;
    position:relative;
}
.intel-card-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.intel-card-no-thumb{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    background:linear-gradient(135deg,#1a1a1a 0%,#2a0a0a 100%);
}
.intel-card-body{padding:10px 12px;}
.intel-card-title{
    font-size:13px;
    font-weight:600;
    line-height:1.35;
    margin:0 0 6px;
    color:var(--ot-text);
}
.intel-card-meta{
    font-family:var(--ot-font-mono);
    font-size:10px;
    color:var(--ot-text-muted);
    letter-spacing:1px;
    text-transform:uppercase;
}
@media(max-width:1024px){
    .intel-feed-grid{grid-template-columns:repeat(2, 1fr);}
}
@media(max-width:480px){
    .intel-feed-grid{grid-template-columns:1fr;}
    .intel-status{display:none;}
}

/* ============================================
   v2.8.0 - SHORTS "VIEW ALL" LINK
   ============================================ */
.shorts-section .section-label{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.view-all-link{
    font-family:var(--ot-font-mono);
    font-size:12px;
    color:var(--ot-red);
    text-decoration:none;
    letter-spacing:1.5px;
    text-transform:uppercase;
    transition:color 0.2s;
}
.view-all-link:hover{color:#ff1a1a;}

/* ============================================
   v2.8.0 - FIELD NOTES (rebrand of comments)
   ============================================ */
.field-notes-heading{
    font-family:var(--ot-font-display);
    font-size:18px;
    color:var(--ot-text);
    margin-bottom:18px;
    display:flex;
    align-items:center;
    gap:10px;
    letter-spacing:1px;
    text-transform:uppercase;
}
.field-notes-heading .fn-icon{
    color:var(--ot-red);
    font-size:20px;
}
.field-notes-form .comment-reply-title,
.comments-section .comment-reply-title{
    font-family:var(--ot-font-display);
    font-size:18px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:var(--ot-text);
    margin-bottom:14px;
    border-left:3px solid var(--ot-red);
    padding-left:12px;
}

/* ============================================
   v2.8.8 - INTEL BRIEF (intro/setup box on single posts)
   Sits between the title and the video. Matches the Field Notes
   aesthetic (red accent, dark surface, uppercase label).
   ============================================ */
.intel-brief{
    background:var(--ot-surface-2);
    border-radius:var(--ot-radius);
    border-left:3px solid var(--ot-red);
    padding:18px 22px 16px;
    margin:0 0 24px 0;
    box-shadow:0 2px 12px rgba(0,0,0,0.18);
    position:relative;
}
.intel-brief-header{
    display:flex;
    align-items:center;
    gap:10px;
    font-family:var(--ot-font-display);
    font-size:13px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--ot-red);
    margin-bottom:10px;
    padding-bottom:8px;
    border-bottom:1px dashed var(--ot-border);
}
.intel-brief-header .ib-icon{
    color:var(--ot-red);
    font-size:16px;
    line-height:1;
}
.intel-brief-header .ib-label{
    font-weight:700;
}
.intel-brief-body{
    color:var(--ot-text);
    font-size:15px;
    line-height:1.65;
}
.intel-brief-body p{margin:0 0 0.85em 0;}
.intel-brief-body p:last-child{margin-bottom:0;}
.intel-brief-body a{
    color:var(--ot-red);
    text-decoration:underline;
}
.intel-brief-body a:hover{color:var(--ot-red-hover);}

/* ============================================
   v2.8.0 - SHARE BUTTONS (Gab/Reddit/IG/Email)
   ============================================ */
.share-btn-ig{
    background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%) !important;
    color:#fff !important;
}
.share-btn-ig:hover{filter:brightness(1.15);}

/* ============================================
   v2.8.0 - CATEGORY HOVER PREVIEW CARDS
   ============================================ */
.main-navigation li.menu-item-object-category{position:relative;}
.cat-hover-card{
    position:absolute;
    top:100%;
    left:0;
    margin-top:6px;
    background:#0a0a0a;
    border:1px solid var(--ot-red);
    border-left-width:4px;
    border-radius:4px;
    padding:14px;
    width:280px;
    z-index:1000;
    opacity:0;
    visibility:hidden;
    transform:translateY(-4px);
    transition:opacity 0.2s, transform 0.2s, visibility 0s linear 0.2s;
    pointer-events:none;
    box-shadow:0 8px 32px rgba(0,0,0,0.7), 0 0 16px rgba(204,0,0,0.25);
}
.main-navigation li:hover .cat-hover-card{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    transition:opacity 0.2s, transform 0.2s, visibility 0s;
}
.cat-hover-title{
    font-family:var(--ot-font-display);
    font-size:14px;
    color:var(--ot-red);
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:8px;
}
.cat-hover-desc{
    font-size:12px;
    color:var(--ot-text);
    line-height:1.5;
    margin-bottom:10px;
    opacity:0.85;
}
.cat-hover-latest{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 0;
    border-top:1px solid rgba(255,255,255,0.08);
}
.cat-hover-latest img{
    width:48px;
    height:32px;
    object-fit:cover;
    border-radius:3px;
    flex-shrink:0;
}
.cat-hover-latest span{
    font-size:11px;
    color:var(--ot-text-muted);
    line-height:1.3;
}
.cat-hover-count{
    margin-top:8px;
    font-family:var(--ot-font-mono);
    font-size:10px;
    color:var(--ot-red);
    letter-spacing:1px;
    text-transform:uppercase;
}
@media(max-width:768px){
    .cat-hover-card{display:none;}
}

/* ============================================
   v2.8.0 - PODCAST PAGE
   ============================================ */
.podcast-page{
    max-width:1100px;
    margin:0 auto;
    padding:30px 24px;
}
.podcast-header{
    text-align:center;
    margin-bottom:32px;
}
.podcast-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#000;
    border:1px solid var(--ot-red);
    padding:6px 14px;
    border-radius:2px;
    margin-bottom:14px;
    box-shadow:0 0 12px rgba(204,0,0,0.4);
}
.podcast-badge-text{
    font-family:var(--ot-font-mono);
    font-size:11px;
    color:var(--ot-red);
    letter-spacing:3px;
    font-weight:700;
}
.podcast-title{
    font-family:var(--ot-font-display);
    font-size:42px;
    color:var(--ot-text);
    margin:0 0 6px;
    letter-spacing:1px;
}
.podcast-tagline{
    color:var(--ot-text-muted);
    font-style:italic;
    margin:0;
}
.podcast-empty{
    text-align:center;
    padding:60px 20px;
    color:var(--ot-text-muted);
}

/* The big sticky player */
.podcast-player{
    background:linear-gradient(135deg, var(--ot-surface) 0%, #1a0505 100%);
    border:1px solid var(--ot-red);
    border-radius:8px;
    padding:24px;
    margin-bottom:32px;
    display:grid;
    grid-template-columns:200px 1fr;
    gap:24px;
    box-shadow:0 8px 32px rgba(0,0,0,0.5), 0 0 24px rgba(204,0,0,0.2);
    position:sticky;
    top:10px;
    z-index:50;
}
.podcast-art{
    width:200px;
    height:200px;
    border-radius:6px;
    overflow:hidden;
    background:#000;
    box-shadow:0 4px 16px rgba(0,0,0,0.6);
}
.podcast-art img{width:100%;height:100%;object-fit:cover;display:block;}
.podcast-art-placeholder{
    width:100%;height:100%;
    display:flex;align-items:center;justify-content:center;
    font-size:80px;
    background:linear-gradient(135deg,#1a1a1a 0%,#2a0a0a 100%);
}
.podcast-controls{display:flex;flex-direction:column;justify-content:space-between;}
.podcast-now-label{
    font-family:var(--ot-font-mono);
    font-size:10px;
    color:var(--ot-red);
    letter-spacing:2px;
    text-transform:uppercase;
}
.podcast-now-title{
    font-family:var(--ot-font-display);
    font-size:22px;
    color:var(--ot-text);
    margin:4px 0;
    line-height:1.3;
}
.podcast-now-meta{
    font-size:12px;
    color:var(--ot-text-muted);
    margin-bottom:14px;
}
.podcast-progress{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}
.podcast-progress span{
    font-family:var(--ot-font-mono);
    font-size:11px;
    color:var(--ot-text-muted);
    min-width:36px;
}
.podcast-bar{
    flex:1;
    height:6px;
    background:rgba(255,255,255,0.1);
    border-radius:3px;
    cursor:pointer;
    overflow:hidden;
}
.podcast-bar-fill{
    height:100%;
    background:linear-gradient(to right, var(--ot-red), #ff4444);
    width:0%;
    transition:width 0.1s linear;
}
.podcast-buttons{
    display:flex;
    align-items:center;
    gap:14px;
}
.pc-btn{
    background:none;
    border:1px solid rgba(255,255,255,0.15);
    color:var(--ot-text);
    width:42px;
    height:42px;
    border-radius:50%;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    transition:all 0.2s;
    padding:0;
}
.pc-btn:hover{
    border-color:var(--ot-red);
    color:var(--ot-red);
    transform:scale(1.05);
}
.pc-btn span{
    position:absolute;
    bottom:4px;
    font-size:8px;
    font-family:var(--ot-font-mono);
}
.pc-btn.pc-play{
    width:60px;height:60px;
    background:var(--ot-red);
    border-color:var(--ot-red);
    color:#fff;
}
.pc-btn.pc-play:hover{
    background:#ff1a1a;
    transform:scale(1.08);
}
.pc-speed{
    background:#000;
    color:var(--ot-text);
    border:1px solid rgba(255,255,255,0.15);
    padding:6px 8px;
    border-radius:4px;
    font-family:var(--ot-font-mono);
    font-size:11px;
    cursor:pointer;
}
.pc-speed:hover{border-color:var(--ot-red);}

/* Episode list */
.episodes-heading{
    font-family:var(--ot-font-display);
    font-size:20px;
    color:var(--ot-text);
    margin-bottom:14px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    border-left:3px solid var(--ot-red);
    padding-left:12px;
}
.episode-list{list-style:none;padding:0;margin:0;}
.episode-item{
    display:grid;
    grid-template-columns:30px 100px 1fr 40px;
    gap:14px;
    align-items:center;
    padding:12px;
    border-bottom:1px solid var(--ot-border);
    cursor:pointer;
    transition:background 0.2s;
}
.episode-item:hover{background:rgba(204,0,0,0.06);}
.episode-item.is-playing{
    background:rgba(204,0,0,0.12);
    border-left:3px solid var(--ot-red);
    padding-left:9px;
}
.episode-num{
    font-family:var(--ot-font-mono);
    color:var(--ot-text-muted);
    font-size:13px;
    text-align:center;
}
.episode-thumb{
    width:100%;height:60px;object-fit:cover;border-radius:4px;
}
.episode-info{min-width:0;}
.episode-title{
    font-size:14px;
    color:var(--ot-text);
    font-weight:500;
    line-height:1.3;
    margin-bottom:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
.episode-date{
    font-family:var(--ot-font-mono);
    font-size:10px;
    color:var(--ot-text-muted);
    letter-spacing:1px;
}
.episode-play{
    width:36px;height:36px;
    background:var(--ot-red);
    border:none;
    border-radius:50%;
    color:#fff;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:transform 0.2s;
}
.episode-play:hover{transform:scale(1.1);background:#ff1a1a;}

@media(max-width:768px){
    .podcast-player{
        grid-template-columns:1fr;
        text-align:center;
    }
    .podcast-art{
        width:160px;height:160px;
        margin:0 auto;
    }
    .podcast-buttons{justify-content:center;flex-wrap:wrap;}
    .podcast-title{font-size:32px;}
    .episode-item{grid-template-columns:24px 70px 1fr 32px;gap:10px;}
    .episode-thumb{height:44px;}
    .episode-title{font-size:13px;}
}

/* "PODCAST" menu link */
.main-navigation .ot-podcast-menu a{
    color:var(--ot-red) !important;
    font-weight:700;
}

/* ============================================
   v2.8.1 - SHORTS SINGLE PAGE (narrower centered column for vertical content)
   ============================================ */
.single-content.single-short{
    max-width:680px;
}
.single-content.single-short .post-description{
    text-align:center;
}
.single-content.single-short .post-description iframe,
.single-content.single-short .post-description blockquote.twitter-tweet,
.single-content.single-short .post-description .wp-block-embed{
    max-width:520px;
    margin-left:auto !important;
    margin-right:auto !important;
}
.single-content.single-short .post-description video{
    max-width:520px;
    margin:16px auto;
    display:block;
}

/* ============================================
   v2.8.1 - RAW HTML EMBED CONTAINER
   ============================================ */
.single-video-html{
    aspect-ratio:auto !important;
    height:auto !important;
    background:transparent !important;
}
.single-video-html iframe,
.single-video-html video{
    width:100%;
    max-width:100%;
    display:block;
}

/* ============================================
   v2.8.2 - HEADER TELEGRAM BUTTON
   ============================================ */
.header-telegram-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:linear-gradient(135deg, #0088cc 0%, #006ba0 100%);
    color:#fff !important;
    text-decoration:none;
    padding:7px 12px;
    border-radius:4px;
    font-family:var(--ot-font-mono);
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    transition:transform 0.15s, box-shadow 0.15s;
    box-shadow:0 2px 8px rgba(0,136,204,0.3);
    margin-right:8px;
    white-space:nowrap;
}
.header-telegram-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 4px 14px rgba(0,136,204,0.5);
}
.header-telegram-btn svg{flex-shrink:0;}
@media(max-width:768px){
    .header-telegram-btn span{display:none;}
    .header-telegram-btn{padding:7px 9px;}
}

/* ============================================
   v2.8.4 - X (Twitter) + Gab embed styling
   ============================================ */
/* Tweet blockquote (before Twitter's widgets.js hydrates it) */
.video-embed blockquote.twitter-tweet{
    position:relative !important;
    margin:0 auto !important;
    max-width:550px;
    width:100%;
    color:var(--ot-text);
    padding:16px 20px;
    border-left:4px solid #1da1f2;
    background:rgba(255,255,255,0.03);
    border-radius:6px;
}
.video-embed blockquote.twitter-tweet a{
    color:#1da1f2;
    text-decoration:none;
    word-break:break-all;
}
/* After Twitter hydrates, kill the absolute padding-bottom trick on parent so iframe centers */
.video-embed:has(> .twitter-tweet-rendered),
.video-embed:has(> iframe[id^="twitter-widget"]){
    padding-bottom:0 !important;
    height:auto !important;
}
.video-embed iframe[id^="twitter-widget"]{
    position:relative !important;
    margin:0 auto !important;
    display:block;
    max-width:550px;
}

/* Gab embed iframe */
.video-embed iframe[src*="gab.com/embed/"]{
    width:100%;
    min-height:500px;
    border:0;
}
.video-embed:has(> iframe[src*="gab.com/embed/"]){
    padding-bottom:0 !important;
    height:auto !important;
}

/* On single page, give tweets/Gab embeds proper breathing room */
.single-video-player:has(blockquote.twitter-tweet),
.single-video-player:has(iframe[src*="gab.com/embed/"]){
    aspect-ratio:auto !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0;
    padding:0;
}

/* ============================================
   v2.8.5 - ADDITIONAL VIDEO SLOTS (2-5)
   ============================================ */
.extra-video-block{
    margin:24px 0;
}
.extra-video-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#000;
    color:var(--ot-red);
    border:1px solid var(--ot-red);
    padding:6px 14px;
    border-radius:2px;
    font-family:var(--ot-font-mono);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:10px;
    box-shadow:0 0 8px rgba(204,0,0,0.3);
}
.extra-video-label .extra-video-icon{
    font-size:14px;
}
.extra-video-player{
    margin-bottom:0;
    margin-top:0;
}
@media(max-width:768px){
    .extra-video-label{font-size:10px;padding:5px 10px;letter-spacing:1.5px;}
}

/* ============================================
   v2.8.6 - EMBED LOGO COVER (Medium level)
   Covers platform logos in corners to keep viewers on-site.
   Strategy: invisible overlay divs intercept clicks at the corners
   where most platforms (YouTube, Odysee, Rumble, BitChute, Vimeo)
   put their logo/share buttons. The center-bottom area (play, pause,
   timeline, volume) stays accessible.
   ============================================ */
.video-embed{position:relative;}

/* Top-right corner cover (most platforms put their logo here) */
.video-embed::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:120px;
    height:50px;
    background:transparent;
    z-index:10;
    pointer-events:auto;
    cursor:default;
}

/* Top-left corner cover (YouTube channel-name link, Odysee logo) */
.video-embed::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:140px;
    height:50px;
    background:transparent;
    z-index:10;
    pointer-events:auto;
    cursor:default;
}

/* Bottom-right cover (Watch on YouTube button, share button) */
.video-embed .embed-corner-br{
    position:absolute;
    bottom:0;
    right:0;
    width:160px;
    height:50px;
    background:transparent;
    z-index:10;
    pointer-events:auto;
    cursor:default;
}

/* IMPORTANT: don't apply these covers when the embed is a tweet/Gab/poster -
   they have their own structure and these covers would block legitimate
   interaction (clicking tweets, etc.) */
.video-embed:has(blockquote.twitter-tweet)::before,
.video-embed:has(blockquote.twitter-tweet)::after,
.video-embed:has(iframe[id^="twitter-widget"])::before,
.video-embed:has(iframe[id^="twitter-widget"])::after,
.video-embed:has(iframe[src*="gab.com/embed/"])::before,
.video-embed:has(iframe[src*="gab.com/embed/"])::after,
.video-embed:has(.embed-poster)::before,
.video-embed:has(.embed-poster)::after,
.video-embed:has(.embed-poster-link)::before,
.video-embed:has(.embed-poster-link)::after{
    display:none;
}

/* Mobile: scale the corner covers down so they don't block too much */
@media(max-width:600px){
    .video-embed::after{width:80px;height:40px;}
    .video-embed::before{width:90px;height:40px;}
    .video-embed .embed-corner-br{width:100px;height:40px;}
}
