
/*
Theme Name: VectorNews AI
Theme URI: https://example.com/
Author: VectorNews
Description: Fast, lightweight WordPress news theme with built-in technical SEO, NewsArticle/Breadcrumb JSON-LD, Open Graph, XML sitemaps, configurable robots.txt, noindex/canonical controls, source attribution and an optional OpenAI article assistant.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: vectornews
License: GPL-2.0-or-later
*/
:root{
  --vn-bg:#f7f8fb;--vn-surface:#fff;--vn-text:#171a21;--vn-muted:#68707d;
  --vn-brand:#e63946;--vn-brand2:#7c3aed;--vn-border:#e7e9ee;--vn-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vn-bg);color:var(--vn-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.site-header{background:#fff;border-bottom:1px solid var(--vn-border);position:relative;z-index:20}
.vn-header-inner{max-width:var(--vn-max);margin:auto;padding:16px 20px;display:flex;align-items:center;gap:28px}
.vn-brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:1.35rem}
.vn-brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--vn-brand),var(--vn-brand2));display:inline-block}
.vn-nav{margin-left:auto}.vn-nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}.vn-nav a{font-weight:650;font-size:.95rem}
.vn-menu{display:none;background:none;border:0;font-size:24px}
.vn-container{max-width:var(--vn-max);margin:auto;padding:0 20px}
.vn-main{padding:28px 0 60px}
.vn-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px}
.vn-card{background:var(--vn-surface);border:1px solid var(--vn-border);border-radius:16px;overflow:hidden;box-shadow:0 5px 24px rgba(16,24,40,.035)}
.vn-card-body{padding:20px}
.vn-post-card{display:grid;grid-template-columns:280px 1fr;gap:20px;padding:18px;border-bottom:1px solid var(--vn-border)}
.vn-post-card:last-child{border-bottom:0}.vn-post-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px}
.vn-post-card h2{margin:3px 0 8px;font-size:1.35rem;line-height:1.25}
.vn-meta{font-size:.82rem;color:var(--vn-muted);display:flex;gap:12px;flex-wrap:wrap}
.vn-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--vn-brand);font-weight:800}
.vn-single{background:#fff;border:1px solid var(--vn-border);border-radius:18px;padding:28px}
.vn-single h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;margin:8px 0 12px;letter-spacing:-.035em}
.vn-article__dek{font-size:1.18rem;color:#555f6d;margin:0 0 20px}
.vn-hero{margin:22px -28px 26px}.vn-hero img{display:block;width:100%;max-height:680px;object-fit:cover}
.vn-content{font-size:1.08rem}.vn-content p{margin:0 0 1.15em}.vn-content h2{font-size:1.7rem;line-height:1.2;margin:1.7em 0 .65em}.vn-content h3{font-size:1.3rem;margin:1.4em 0 .5em}
.vn-content blockquote{border-left:4px solid var(--vn-brand);margin:1.5em 0;padding:.5em 1em;background:#faf7f8}
.vn-content figure{margin:1.5em 0}.vn-content img{border-radius:12px}
.vn-breadcrumbs{font-size:.82rem;color:var(--vn-muted);display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.vn-breadcrumbs a:hover{color:var(--vn-brand)}
.vn-sidebar .vn-widget{background:#fff;border:1px solid var(--vn-border);border-radius:16px;padding:20px;margin-bottom:20px}
.vn-sidebar h3{margin-top:0}.vn-sidebar ul{margin:0;padding-left:18px}
.vn-faq__item{border-top:1px solid var(--vn-border);padding:14px 0}.vn-faq__item h4{margin:0 0 6px}
.vn-source{margin-top:30px;padding:16px 18px;border:1px solid var(--vn-border);border-radius:12px;background:#fafbfc;font-size:.92rem;color:#586171}
.vn-footer{background:#111827;color:#dce2ea;margin-top:40px}.vn-footer-inner{max-width:var(--vn-max);margin:auto;padding:35px 20px;display:flex;justify-content:space-between;gap:20px}
.vn-footer a{color:#fff}
@media(max-width:900px){.vn-grid{grid-template-columns:1fr}.vn-nav{display:none}.vn-menu{display:block;margin-left:auto}.vn-post-card{grid-template-columns:180px 1fr}}
@media(max-width:600px){.vn-header-inner{padding:12px 15px}.vn-container{padding:0 15px}.vn-single{padding:20px}.vn-hero{margin:18px -20px 22px}.vn-post-card{grid-template-columns:1fr}.vn-post-card img{aspect-ratio:16/9}.vn-single h1{font-size:2rem}.vn-footer-inner{flex-direction:column}}
