/*
Theme Name: EagleHub
Theme URI: https://eaglehub.today
Author: EagleHub Media
Author URI: https://eaglehub.today
Description: Professional US news theme for EagleHub.today — Google News ready, E-E-A-T compliant, fast loading, mobile responsive, with breaking news ticker, author profiles, category colors, and full editorial layout.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: eaglehub
Tags: news, magazine, blog, custom-menu, featured-images, threaded-comments, full-width-template, custom-logo
*/

/* ═══════════════════════════════════════
   RESET
═══════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --red:    #c0392b;
  --blue:   #1a3a6b;
  --dark:   #0d0d0d;
  --white:  #ffffff;
  --gray:   #f5f4f0;
  --border: #e5e5e5;
  --mid:    #888888;
  --serif:  'Playfair Display', Georgia, serif;
  --sans:   'DM Sans', Arial, sans-serif;
}

html { font-size:16px; scroll-behavior:smooth; }
body { font-family:var(--sans); color:var(--dark); background:var(--white); line-height:1.7; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }
p { margin-bottom:1rem; }

/* ═══════════════════════════════════════
   GOOGLE / SEO HELPERS (hidden but indexed)
═══════════════════════════════════════ */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* ═══════════════════════════════════════
   TICKER
═══════════════════════════════════════ */
.eh-ticker { background:var(--blue); color:#ccd; font-size:12px; padding:7px 24px; display:flex; justify-content:space-between; align-items:center; }
.eh-ticker-date { flex-shrink:0; letter-spacing:.5px; }
.eh-ticker-wrap { overflow:hidden; flex:1; margin:0 20px; white-space:nowrap; }
.eh-ticker-inner { display:inline-block; animation:ehtick 32s linear infinite; }
.eh-ticker-inner span { margin:0 32px; color:#fff; }
@keyframes ehtick { 0%{transform:translateX(60vw)} 100%{transform:translateX(-100%)} }
.eh-ticker-site { flex-shrink:0; font-weight:700; color:#fff; font-size:12px; }

/* ═══════════════════════════════════════
   HEADER
═══════════════════════════════════════ */
.eh-header { border-bottom:4px solid var(--blue); padding:0 24px; background:var(--white); position:sticky; top:0; z-index:999; box-shadow:0 2px 8px rgba(0,0,0,.07); }
.eh-header-inner { max-width:1160px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:12px 0 10px; }
.eh-logo { font-family:var(--serif); font-size:44px; font-weight:900; letter-spacing:-2px; line-height:1; }
.eh-logo em { color:var(--red); font-style:normal; }
.eh-logo small { display:block; font-family:var(--sans); font-size:10px; font-weight:600; letter-spacing:5px; color:var(--mid); text-transform:uppercase; margin-top:3px; }
.eh-header-meta { text-align:right; font-size:12px; color:var(--mid); line-height:1.8; }
.eh-header-meta strong { display:block; font-size:13px; color:var(--dark); font-weight:600; }

/* ═══════════════════════════════════════
   NAV
═══════════════════════════════════════ */
.eh-nav-wrap { border-top:1px solid var(--border); background:var(--white); }
.eh-nav { max-width:1160px; margin:0 auto; padding:0 24px; display:flex; overflow-x:auto; scrollbar-width:none; }
.eh-nav::-webkit-scrollbar { display:none; }
.eh-nav a { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:11px 15px; white-space:nowrap; border-bottom:3px solid transparent; transition:.15s; color:#444; display:block; }
.eh-nav a:hover, .eh-nav a.current { color:var(--red); border-bottom-color:var(--red); }
.eh-nav a.eh-home { color:var(--blue); font-size:12px; }

/* ═══════════════════════════════════════
   BREAKING BANNER
═══════════════════════════════════════ */
.eh-breaking { background:var(--red); color:#fff; padding:8px 24px; display:flex; align-items:center; gap:12px; font-size:13px; }
.eh-breaking-badge { background:#fff; color:var(--red); font-weight:800; font-size:10px; letter-spacing:2px; padding:3px 8px; text-transform:uppercase; flex-shrink:0; animation:blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.7} }
.eh-breaking-text { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

/* ═══════════════════════════════════════
   LAYOUT
═══════════════════════════════════════ */
.eh-container { max-width:1160px; margin:0 auto; padding:0 24px; }
.eh-grid { display:grid; grid-template-columns:1fr 340px; gap:32px; padding:32px 0; }
@media(max-width:920px){ .eh-grid { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════
   HERO
═══════════════════════════════════════ */
.eh-hero { margin-bottom:28px; }
.eh-hero-img { width:100%; height:380px; background:linear-gradient(160deg,#0d1b3e,#1a3a6b 50%,#c0392b); display:flex; align-items:flex-end; padding:28px; position:relative; overflow:hidden; }
.eh-hero-img img.eh-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.eh-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.25) 60%,transparent 100%); }
.eh-hero-content { position:relative; z-index:2; }
.eh-hero-badge { background:var(--red); color:#fff; font-size:10px; font-weight:800; letter-spacing:2px; padding:3px 10px; text-transform:uppercase; margin-bottom:10px; display:inline-block; }
.eh-hero h1 { font-family:var(--serif); font-size:32px; font-weight:900; color:#fff; line-height:1.2; margin-bottom:10px; }
.eh-hero h1 a { color:#fff; }
.eh-hero h1 a:hover { color:#ffe; }
.eh-hero-meta { font-size:12px; color:rgba(255,255,255,.7); }
.eh-hero-meta strong { color:#fff; }

/* ═══════════════════════════════════════
   SECTION LABEL
═══════════════════════════════════════ */
.eh-section-label { font-size:10px; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--blue); border-left:3px solid var(--red); padding-left:10px; margin:24px 0 14px; }

/* ═══════════════════════════════════════
   STORY LIST
═══════════════════════════════════════ */
.eh-story { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border); transition:.15s; }
.eh-story:hover { opacity:.75; }
.eh-story-thumb { width:90px; height:72px; flex-shrink:0; background:var(--blue); overflow:hidden; }
.eh-story-thumb img { width:100%; height:100%; object-fit:cover; }
.eh-story-cat { font-size:9px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--red); margin-bottom:4px; }
.eh-story h3 { font-family:var(--serif); font-size:15px; font-weight:700; line-height:1.3; margin-bottom:5px; }
.eh-story h3 a:hover { color:var(--red); }
.eh-story-meta { font-size:11px; color:var(--mid); }

/* ═══════════════════════════════════════
   3 COL GRID
═══════════════════════════════════════ */
.eh-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:16px 0; }
@media(max-width:700px){ .eh-grid-3 { grid-template-columns:1fr; } }
.eh-card { border:1px solid var(--border); transition:.15s; }
.eh-card:hover { border-color:var(--blue); }
.eh-card-img { height:160px; background:var(--blue); overflow:hidden; }
.eh-card-img img { width:100%; height:100%; object-fit:cover; }
.eh-card-body { padding:14px; }
.eh-card-cat { font-size:9px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--red); margin-bottom:6px; }
.eh-card h3 { font-family:var(--serif); font-size:16px; font-weight:700; line-height:1.3; margin-bottom:6px; }
.eh-card h3 a:hover { color:var(--red); }
.eh-card-meta { font-size:11px; color:var(--mid); }

/* ═══════════════════════════════════════
   CATEGORY CARDS
═══════════════════════════════════════ */
.eh-cats-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin:16px 0 32px; }
@media(max-width:700px){ .eh-cats-grid { grid-template-columns:repeat(3,1fr); } }
.eh-cat-card { padding:16px 10px; border:1px solid var(--border); text-align:center; transition:.15s; position:relative; overflow:hidden; display:block; }
.eh-cat-card:hover { border-color:var(--blue); background:var(--gray); }
.eh-cat-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--cc); }
.eh-cat-icon { font-size:22px; margin-bottom:6px; display:block; }
.eh-cat-name { font-size:9px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#555; }

/* ═══════════════════════════════════════
   SIDEBAR
═══════════════════════════════════════ */
.eh-sidebar { display:flex; flex-direction:column; gap:24px; }
.eh-widget { border:1px solid var(--border); }
.eh-widget-title { background:var(--blue); color:#fff; font-size:10px; font-weight:800; letter-spacing:3px; text-transform:uppercase; padding:9px 14px; font-family:var(--sans); }
.eh-trending-item { display:flex; align-items:flex-start; gap:10px; padding:11px 14px; border-bottom:1px solid var(--border); }
.eh-trending-item:last-child { border-bottom:none; }
.eh-trend-num { font-family:var(--serif); font-size:26px; font-weight:900; color:#e0e0e0; line-height:1; flex-shrink:0; width:30px; }
.eh-trending-item p { font-size:13px; font-weight:500; line-height:1.4; margin:0; }
.eh-trending-item p a:hover { color:var(--red); }
.eh-trending-item span { font-size:11px; color:var(--mid); display:block; margin-top:2px; }

/* Opinion */
.eh-opinion-item { padding:12px 14px; border-bottom:1px solid var(--border); }
.eh-opinion-item:last-child { border-bottom:none; }
.eh-opinion-author { display:flex; align-items:center; gap:9px; margin-bottom:7px; }
.eh-opinion-av { width:36px; height:36px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:#fff; }
.eh-opinion-name { font-size:12px; font-weight:700; }
.eh-opinion-role { font-size:10px; color:var(--mid); }
.eh-opinion-item blockquote { font-size:13px; font-style:italic; line-height:1.5; color:#444; margin:0; }

/* Newsletter */
.eh-newsletter { background:var(--blue); padding:18px; }
.eh-newsletter h4 { font-family:var(--serif); font-size:20px; font-weight:700; color:#fff; margin-bottom:6px; }
.eh-newsletter p { font-size:13px; color:#aabbdd; margin-bottom:14px; }
.eh-newsletter input { width:100%; padding:9px 12px; border:none; font-family:var(--sans); font-size:13px; margin-bottom:8px; outline:none; }
.eh-newsletter button { width:100%; background:var(--red); color:#fff; border:none; padding:10px; font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:.15s; }
.eh-newsletter button:hover { background:#a93226; }

/* ═══════════════════════════════════════
   SINGLE POST
═══════════════════════════════════════ */
.eh-single-wrap { max-width:1160px; margin:0 auto; padding:32px 24px; display:grid; grid-template-columns:1fr 320px; gap:40px; }
@media(max-width:920px){ .eh-single-wrap { grid-template-columns:1fr; } }
.eh-post-cat-label { display:inline-block; background:var(--red); color:#fff; font-size:10px; font-weight:800; letter-spacing:2px; padding:3px 10px; text-transform:uppercase; margin-bottom:14px; }
.eh-post-title { font-family:var(--serif); font-size:36px; font-weight:900; line-height:1.2; margin-bottom:12px; }
.eh-post-subtitle { font-size:18px; color:#555; font-weight:300; margin-bottom:16px; line-height:1.5; }
.eh-post-byline { display:flex; align-items:center; gap:12px; padding:14px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin-bottom:24px; }
.eh-byline-av { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:#fff; flex-shrink:0; }
.eh-byline-name { font-size:14px; font-weight:700; }
.eh-byline-role { font-size:12px; color:var(--mid); }
.eh-byline-date { font-size:12px; color:var(--mid); }
.eh-post-featured { width:100%; max-height:460px; object-fit:cover; margin-bottom:6px; }
.eh-post-caption { font-size:12px; color:var(--mid); margin-bottom:24px; font-style:italic; }

/* Google E-E-A-T: structured readable content */
.eh-post-content { font-size:17px; line-height:1.85; color:#333; }
.eh-post-content h2 { font-family:var(--serif); font-size:26px; margin:28px 0 12px; border-left:4px solid var(--red); padding-left:12px; color:var(--dark); }
.eh-post-content h3 { font-family:var(--serif); font-size:20px; margin:20px 0 10px; }
.eh-post-content p { margin-bottom:1.4rem; }
.eh-post-content ul, .eh-post-content ol { padding-left:24px; margin-bottom:1.4rem; }
.eh-post-content ul li, .eh-post-content ol li { margin-bottom:8px; }
.eh-post-content blockquote { border-left:4px solid var(--blue); padding:14px 20px; margin:24px 0; font-style:italic; font-size:19px; color:#444; background:var(--gray); }
.eh-post-content a { color:var(--blue); text-decoration:underline; }
.eh-post-content img { border-radius:2px; margin:20px 0; }

/* Tags */
.eh-post-tags { margin-top:28px; padding-top:20px; border-top:1px solid var(--border); }
.eh-post-tags strong { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--mid); }
.eh-post-tags a { display:inline-block; background:var(--gray); font-size:12px; padding:4px 12px; margin:4px 4px 0 0; border:1px solid var(--border); }
.eh-post-tags a:hover { background:var(--blue); color:#fff; }

/* ═══════════════════════════════════════
   AUTHOR BOX (Google E-E-A-T)
═══════════════════════════════════════ */
.eh-author-box { border:1px solid var(--border); padding:22px; margin-top:32px; display:flex; gap:16px; border-top:4px solid var(--blue); }
.eh-author-box-av { width:72px; height:72px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:22px; font-weight:900; color:#fff; }
.eh-author-box h4 { font-family:var(--serif); font-size:18px; margin-bottom:2px; }
.eh-author-box .eh-author-role { font-size:11px; color:var(--mid); display:block; margin-bottom:8px; text-transform:uppercase; letter-spacing:1px; }
.eh-author-box p { font-size:14px; color:#555; margin:0; line-height:1.6; }

/* Disclaimer box */
.eh-disclaimer { background:#f5f7fa; border-left:4px solid var(--blue); padding:14px 18px; margin-top:28px; font-size:13px; color:#555; line-height:1.7; }
.eh-disclaimer strong { color:var(--blue); font-size:11px; letter-spacing:1px; text-transform:uppercase; display:block; margin-bottom:4px; }

/* ═══════════════════════════════════════
   CATEGORY PAGE
═══════════════════════════════════════ */
.eh-cat-hero { color:#fff; padding:36px 24px; margin-bottom:0; }
.eh-cat-hero small { font-size:10px; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,.6); display:block; margin-bottom:8px; }
.eh-cat-hero h1 { font-family:var(--serif); font-size:42px; font-weight:900; }
.eh-cat-hero p { color:rgba(255,255,255,.7); margin-top:8px; font-size:14px; margin-bottom:0; }
.eh-cat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:700px){ .eh-cat-grid { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════
   PAGINATION
═══════════════════════════════════════ */
.eh-pagination { display:flex; gap:6px; margin:32px 0; flex-wrap:wrap; }
.eh-pagination a, .eh-pagination span { display:inline-block; padding:8px 14px; border:1px solid var(--border); font-size:13px; font-weight:600; }
.eh-pagination a:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.eh-pagination .current { background:var(--red); color:#fff; border-color:var(--red); }

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
.eh-footer { background:var(--dark); color:#aaa; padding:40px 24px 20px; margin-top:40px; }
.eh-footer-inner { max-width:1160px; margin:0 auto; }
.eh-footer-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:28px; padding-bottom:28px; border-bottom:1px solid #1a1a1a; gap:24px; flex-wrap:wrap; }
.eh-footer-logo { font-family:var(--serif); font-size:34px; font-weight:900; color:#fff; }
.eh-footer-logo em { color:var(--red); font-style:normal; }
.eh-footer-logo small { display:block; font-family:var(--sans); font-size:10px; letter-spacing:3px; color:#444; text-transform:uppercase; margin-top:4px; }
.eh-footer-tagline { font-size:13px; color:#555; margin-top:10px; max-width:300px; line-height:1.6; }
.eh-footer-cols { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-bottom:28px; }
@media(max-width:700px){ .eh-footer-cols { grid-template-columns:repeat(2,1fr); } }
.eh-footer-col h5 { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#fff; margin-bottom:12px; font-family:var(--sans); }
.eh-footer-col a { display:block; font-size:13px; color:#666; margin-bottom:8px; transition:.15s; }
.eh-footer-col a:hover { color:#fff; }
.eh-footer-bottom { display:flex; justify-content:space-between; font-size:11px; color:#444; border-top:1px solid #1a1a1a; padding-top:16px; flex-wrap:wrap; gap:8px; }

/* ═══════════════════════════════════════
   SCHEMA ORG (hidden structured data support)
═══════════════════════════════════════ */
.eh-schema-hidden { display:none !important; }

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media(max-width:600px){
  .eh-logo { font-size:30px; }
  .eh-hero h1 { font-size:20px; }
  .eh-hero-img { height:260px; }
  .eh-ticker { display:none; }
  .eh-post-title { font-size:26px; }
  .eh-cats-grid { grid-template-columns:repeat(2,1fr); }
}
