/*
Theme Name: JdxNews
Theme URI: https://example.com/jdxnews
Author: You
Author URI: https://example.com
Description: Pro-style magazine/news WordPress theme converted from the static JdxNews layout with dark/light toggle, responsive grid, and clean typography.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jdxnews
Tags: news, magazine, blog, responsive, dark-mode, accessibility-ready
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Copyright: © 2026 Your Name. All rights reserved.
*/

/* Recommended WP core classes */
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.85rem;color:var(--muted)}
.gallery-caption{font-size:.85rem;color:var(--muted)}
.sticky{outline:2px solid var(--line)}
.bypostauthor{outline:none}
.alignright{float:right;margin:0 0 1em 1em}
.alignleft{float:left;margin:0 1em 1em 0}
.aligncenter{display:block;margin-left:auto;margin-right:auto}

/* ========== Base CSS (shared) ========== */
:root{
  --bg:#ffffff; --text:#0c0c0d; --muted:#6b7280; --accent:#5b7fff; --chip:#16a34a; --line:#e5e7eb; --card:#ffffff; --shadow:0 8px 28px rgba(16,24,40,.08);
  --radius:14px; --radius-sm:12px; --radius-lg:16px; --popular-h:420px;
}
:root[data-theme="dark"]{
  --bg:#0b121b; --text:#e5e7eb; --muted:#94a3b8; --accent:#8aa3ff; --chip:#10b981; --line:#1f2937; --card:#0f172a; --shadow:0 8px 28px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1200px,94vw);margin-inline:auto}

/* Header */
header{position:sticky;top:0;background:var(--bg);z-index:1000;box-shadow:0 1px 0 var(--line)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px}
.brand__logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#6d7cff,#42d0ff);display:grid;place-items:center;color:#fff;font-weight:800}
.brand__name{font-size:1.3rem}
nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
nav a{color:#262a2f;font-weight:500;transition:color .35s cubic-bezier(.22,.61,.36,1)}
nav a .fa-chevron-down{font-size:.65rem;margin-left:6px;color:var(--muted)}
.header-actions{display:flex;align-items:center;gap:10px}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;background:var(--card);color:var(--text)}
.icon-btn:hover{filter:brightness(1.05)}
.menu-toggle{display:none}

/* Theme toggle */
.theme-toggle{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;background:var(--card);color:var(--text);box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 1px 2px rgba(0,0,0,.2)}
.theme-toggle:hover{filter:brightness(1.1)}
.theme-toggle svg{width:20px;height:20px}
.theme-toggle .sun{display:none;color:#fbbf24}
.theme-toggle .moon{display:inline;color:#93c5fd}
:root[data-theme="dark"] .theme-toggle .sun{display:inline}
:root[data-theme="dark"] .theme-toggle .moon{display:none}

/* Dark header link colors */
:root[data-theme="dark"] header nav a{color:#e5e7eb}
:root[data-theme="dark"] header nav a .fa-chevron-down{color:#94a3b8}

/* Header nav hover effects */
header .topbar nav a{transition:color .35s cubic-bezier(.22,.61,.36,1)}
header nav .menu li > a{transition:color .35s cubic-bezier(.22,.61,.36,1)}
header nav ul li > a{transition:color .35s cubic-bezier(.22,.61,.36,1)}
header .topbar nav a:is(:hover,:focus,:focus-visible){color:#06b6d4}
header nav .menu li:hover > a,
header nav .menu li:focus-within > a,
header nav ul li:hover > a,
header nav ul li:focus-within > a{color:#06b6d4}
header .topbar nav a:is(:hover,:focus,:focus-visible) .fa-chevron-down{color:#06b6d4}
nav a .fa-chevron-down{transition:color .35s cubic-bezier(.22,.61,.36,1)}
.mobile-inline-nav .mobile-list a{transition:color .35s cubic-bezier(.22,.61,.36,1)}
.mobile-inline-nav .mobile-list a:hover,
.mobile-inline-nav .mobile-list a:focus{color:#06b6d4}

/* Header search */
.search-bar{display:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.search-bar.show{display:block}
.search-inner{display:flex;align-items:center;gap:10px;padding:10px 0}
.search-input-wrap{position:relative;flex:1}
.search-inner .search-input{flex:1;width:100%;height:40px;border:1px solid var(--line);border-radius:12px;padding:0 40px 0 12px;background:var(--card);font-size:.95rem;color:var(--text)}
.search-inner .submit-search{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}
.search-inner .close-search{width:40px;height:40px}

/* Section titles */
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin:34px 0 16px}
.section-title{font-weight:700;font-size:1.1rem}
.section-title::after{content:"";display:block;width:70px;height:3px;background:#111;border-radius:3px;margin-top:8px}
.mobile-popular-title{display:none}
@media(max-width:1000px){
  .mobile-popular-title{display:block;margin:16px 0 8px}
  .mobile-popular-title .section-title::after{display:none}
}

/* Cards */
.card{position:relative;border-radius:var(--radius);overflow:hidden;background:#d1d5db}
.card img{width:100%;height:100%;object-fit:cover;object-position:center}
.overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.15) 50%,rgba(0,0,0,0));pointer-events:none}
.card-content{position:absolute;left:18px;right:18px;bottom:16px;color:#fff}
.chip{display:inline-block;background:var(--chip);color:#fff;font-size:.72rem;padding:6px 10px;border-radius:999px;font-weight:600;letter-spacing:.2px}
.title{font-family:Merriweather,serif;margin:10px 0 8px;font-size:1.45rem;line-height:1.25}
.title a{transition:color .25s ease}
.card .title a:hover,
.post-body .title a:hover,
.trend-title a:hover,
h2.title a:hover,
h3.title a:hover,
h4.title a:hover{color:#2563eb !important}
.meta{display:flex;gap:12px;align-items:center;color:#d1d5db;font-size:.82rem}
.meta i{opacity:.9}

/* Recent posts thumbnails should show full image (no crop) */
.post-media img,
.post-media .wp-post-image{object-fit:contain !important}

/* Other card thumbnails: full fill (crop allowed) */
.trend-thumb img,
.m-media img,
.hero-mini img,
.mid-card img{object-fit:cover !important}

/* Hero grid */
.hero-grid{display:grid;grid-template-columns:2fr 1fr;--hero-gap:18px;gap:var(--hero-gap);margin:18px 0 22px}
.hero-main{min-height:360px;border-radius:var(--radius-lg)}
.hero-side{display:grid;gap:var(--hero-gap)}
.hero-mini{height:170px;border-radius:var(--radius)}

/* Middle feature row */
.mid-row{display:grid;grid-template-columns:2fr 1fr;gap:18px}
.mid-left{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mid-right{display:block}
.mid-card{height:var(--mini-sync-h,160px);border-radius:var(--radius)}

/* Popular + Trending */
.two-col{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin-top:10px;align-items:stretch}
.head-row{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin:0 0 8px}
.head-row .section-header{margin:0}
.popular-card{height:var(--popular-h);border-radius:var(--radius-lg)}
.two-col > aside{height:var(--popular-h)}
.trending-list{padding:0;height:100%;display:flex;flex-direction:column;justify-content:space-between}
.trend-item{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;align-content:center;padding:0;min-height:84px}
.trend-item > div:last-child{min-width:0}
.trend-thumb{width:84px;height:84px;border-radius:14px;overflow:hidden;position:relative;box-shadow:var(--shadow)}
.trend-thumb img{width:100%;height:100%}
.trend-badge{position:absolute;top:-6px;right:-6px;width:28px;height:28px;border-radius:999px;background:#5866ff;color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.trend-title{font-weight:700;font-size:1rem;margin:2px 0;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.trend-cat{font-size:.7rem;text-transform:uppercase;color:#f59e0b;font-weight:800;letter-spacing:.28px}
.trend-date{font-size:.8rem;color:var(--muted)}

/* Recent Posts */
.posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin:6px 0 50px}
.post-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow)}

.post-media{position:relative;border-bottom:1px solid var(--line);overflow:hidden;background:#fff}
.posts-grid .post-card .post-media{height:320px}
@media (max-width: 1000px){.posts-grid .post-card .post-media{height:260px}}
@media (max-width: 560px){.posts-grid .post-card .post-media{height:220px}}
.posts-grid .post-card .post-media > a{display:block;width:100%;height:100%}
.posts-grid .post-card .post-media img,
.posts-grid .post-card .post-media .wp-post-image{display:block;width:100% !important;height:100% !important;object-fit:contain !important;background:#fff}

.post-body{padding:14px 14px 18px}
.post-body .title{font-family:Poppins,system-ui; font-size:1.05rem;color:var(--text);margin:6px 0 10px}
.post-body .meta{color:#667085}
.post-media .chip{position:absolute;left:12px;bottom:12px;z-index:2}
.post-body .excerpt{color:#667085;font-size:.95rem;line-height:1.6;margin:8px 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Single post paragraph readability */
.post-body p{color:var(--text);line-height:1.75}
:root[data-theme="dark"] .post-body p{color:#f1f5f9}
.read-btn{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600;color:#101828;transition:all .25s ease}
.read-btn:hover,
.read-btn:focus,
.read-btn:focus-visible{
  color:#fff !important;
  border-color:transparent;
  background:linear-gradient(135deg,#2563eb,#60a5fa);
  box-shadow:0 6px 20px rgba(37,99,235,.35);
  transform:translateY(-1px);
}

/* Utilities */
.rounded{border-radius:var(--radius)}
.shadow{box-shadow:var(--shadow)}
.as-link{cursor:pointer}

/* Mobile inline nav */
.mobile-inline-nav{display:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);overflow:hidden}
.mobile-inline-nav.show{display:block}
.mobile-inline-nav .mobile-list{display:flex;gap:12px;align-items:center;padding:10px 0;flex-wrap:wrap;overflow:hidden;white-space:normal}
.mobile-inline-nav a{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-weight:600;color:var(--text)}
@media (min-width: 801px){ .mobile-inline-nav{display:none!important} }

/* Ads */
.posts-with-ads{display:block}
.ad{display:none}
.ad .ad-box{height:600px;border:1px solid var(--line);border-radius:0;background:#f8fafc;display:grid;place-items:center;color:#475569;font-weight:700}
.ad .ad-label{font-size:.8rem;color:#667085;font-weight:700;text-transform:uppercase;letter-spacing:.4px;text-align:center;margin-bottom:6px}

/* Inline ad below post content */
.post-ad{margin:18px 0 22px}
.post-ad .ad-box{width:728px;max-width:100%;height:160px;border:1px dashed var(--line);border-radius:12px;background:#f8fafc;display:grid;place-items:center;color:#475569;font-weight:700;margin-inline:auto}
.post-ad .ad-label{text-align:center;color:#667085;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}
@media (max-width: 780px){
  .post-ad .ad-box{max-width:100%;height:160px}
}

@media (min-width: 1200px){
  .posts-with-ads{display:grid;grid-template-columns:180px 1fr 180px;column-gap:0;align-items:start;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
  .posts-with-ads .ad-col{display:flex;flex-direction:column;gap:5px}
  .posts-with-ads .ad-left{grid-column:1}
  .posts-with-ads .ad-right{grid-column:3}
  .posts-with-ads section{grid-column:2}
  .ad{display:block;position:static;padding-top:var(--ad-offset, 0px)}
}

.ad-728x160{width:728px;max-width:100%;height:160px}

/* Responsive tweaks */
@media (min-width: 601px) and (max-width: 1000px){
  .hero-mini{height:260px}
  .mid-card{height:280px}
  .post-media{height:auto}
}
@media (max-width: 1000px){
  .hero-grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .mid-row{grid-template-columns:1fr}
  .mid-left{grid-template-columns:1fr 1fr}
  .head-row{display:none}
  .two-col > aside::before{content:'Trending';display:block;font-weight:700;font-size:1.1rem;margin:16px 0 8px;color:var(--text)}
}
@media (max-width: 800px){
  nav ul{display:none}
  .menu-toggle{display:inline-grid}
  .posts-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .posts-grid{grid-template-columns:1fr}
  .title{font-size:1.2rem}
  .hero-main{min-height:300px}
  .hero-mini{height:150px}
  .mid-row{grid-template-columns:1fr}
  .mid-left{grid-template-columns:1fr}
}

/* Footer */
footer{border-top:1px solid var(--line);margin-top:20px}
footer .container{padding:24px 0;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;color:#667085;text-align:center}

/* Pre-footer social icons */
.pre-footer-social{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pre-footer-social .footer-social{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.pre-footer-social .social-link{width:44px !important;height:44px !important;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);display:inline-grid;place-items:center;box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;will-change:transform}
.pre-footer-social .social-link:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,24,40,.12)}
.pre-footer-social .social-link i{font-size:28px;line-height:1;display:inline-block}
.pre-footer-social .social-link img{width:28px;height:28px;display:block;object-fit:contain}
.pre-footer-social .social-link .custom-icon{width:30px;height:30px;display:block;background-position:center;background-repeat:no-repeat;background-size:contain}
