/*
Theme Name: FinancialAmerica
Description: Neon green & black finance magazine theme
Version: 1.0.0
*/

/* ── Reset & Variables ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --clr-bg:#0a0a0a;
  --clr-surface:#111113;
  --clr-surface-alt:#161618;
  --clr-text:#e8e8ec;
  --clr-text-secondary:#8a8a96;
  --clr-green:#00ff88;
  --clr-green-dim:#00cc6a;
  --clr-green-dark:#00994f;
  --clr-green-glow:rgba(0,255,136,.12);
  --clr-green-glow2:rgba(0,255,136,.06);
  --clr-red:#ff3b5c;
  --clr-border:#1e1e22;
  --clr-border-light:#252528;
  --radius:10px;
  --radius-sm:6px;
  --shadow:0 2px 16px rgba(0,0,0,.4);
  --shadow-hover:0 6px 28px rgba(0,255,136,.08);
  --font-heading:'Space Grotesk','Inter',system-ui,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --font-mono:'JetBrains Mono','Fira Code',monospace;
  --max-w:1320px;
  --header-h:60px;
}

html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--clr-bg);
  color:var(--clr-text);
  line-height:1.7;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--clr-green);text-decoration:none;transition:color .2s}
a:hover{color:#fff}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}

/* ── Header ── */
.site-header{
  background:rgba(10,10,10,.92);
  border-bottom:1px solid var(--clr-border);
  position:sticky;top:0;z-index:100;
  backdrop-filter:blur(12px);
}
.header-inner{
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;height:var(--header-h);
}

.header-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.header-brand__icon{
  width:38px;height:38px;
  background:var(--clr-green);
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:16px;font-weight:800;color:#000;
  letter-spacing:-1px;
}
.header-brand__name{
  font-family:var(--font-heading);font-size:1.25rem;font-weight:700;
  color:var(--clr-text);
}
.header-brand__name span{color:var(--clr-green)}

/* ── Category Nav ── */
.cat-nav{
  background:var(--clr-surface);
  border-bottom:1px solid var(--clr-border);
  overflow-x:auto;scrollbar-width:none;
}
.cat-nav::-webkit-scrollbar{display:none}
.cat-nav__inner{
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;gap:0;padding:0 24px;
}
.cat-nav__link{
  display:block;padding:11px 18px;
  font-size:.78rem;font-weight:600;letter-spacing:.06em;
  color:var(--clr-text-secondary);text-transform:uppercase;
  white-space:nowrap;transition:all .2s;
  border-bottom:2px solid transparent;
}
.cat-nav__link:hover,
.cat-nav__link.active{
  color:var(--clr-green);border-bottom-color:var(--clr-green);
}

/* ── Header Search & Burger ── */
.header-actions{display:flex;align-items:center;gap:12px}
.header-search{position:relative}
.header-search input{
  width:200px;padding:8px 14px 8px 36px;
  border:1px solid var(--clr-border);border-radius:20px;
  background:var(--clr-surface);color:var(--clr-text);
  font-size:.85rem;outline:none;transition:border-color .2s,width .3s;
}
.header-search input:focus{border-color:var(--clr-green);width:260px}
.header-search input::placeholder{color:var(--clr-text-secondary)}
.header-search::before{
  content:"🔍";position:absolute;left:12px;top:50%;transform:translateY(-50%);
  font-size:.75rem;opacity:.5;pointer-events:none;
}
.burger{
  display:none;width:36px;height:36px;
  background:none;border:none;cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.burger span{display:block;width:22px;height:2px;background:var(--clr-text);border-radius:2px;transition:.3s}

/* ── 3-Column Layout ── */
.site-layout{
  max-width:var(--max-w);margin:0 auto;
  display:grid;
  grid-template-columns:240px 1fr 280px;
  gap:28px;padding:28px 24px;
  min-height:calc(100vh - var(--header-h) - 60px);
}

/* ── Left Sidebar (Square scroll cards) ── */
.sidebar-left{
  position:sticky;top:calc(var(--header-h) + 28px);
  height:calc(100vh - var(--header-h) - 56px);
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--clr-green-glow) transparent;
  padding-right:8px;
}
.sidebar-left::-webkit-scrollbar{width:4px}
.sidebar-left::-webkit-scrollbar-track{background:transparent}
.sidebar-left::-webkit-scrollbar-thumb{background:var(--clr-green-dark);border-radius:10px}
.sidebar-left::-webkit-scrollbar-thumb:hover{background:var(--clr-green)}

.sidebar-left__title{
  font-family:var(--font-heading);font-size:.9rem;font-weight:700;
  margin-bottom:16px;padding-bottom:10px;
  border-bottom:1px solid var(--clr-green);
  color:var(--clr-green);
  text-transform:uppercase;letter-spacing:.06em;
}

.sq-card{
  display:block;margin-bottom:10px;border-radius:var(--radius-sm);
  overflow:hidden;position:relative;
  aspect-ratio:1/1;
  background:var(--clr-surface);
  border:1px solid var(--clr-border);
  transition:transform .25s,border-color .25s;
}
.sq-card:hover{transform:translateY(-2px);border-color:var(--clr-green)}
.sq-card__img{width:100%;height:100%;object-fit:cover;transition:transform .4s;opacity:.85}
.sq-card:hover .sq-card__img{transform:scale(1.05);opacity:1}
.sq-card__overlay{
  position:absolute;bottom:0;left:0;right:0;
  padding:10px;
  background:linear-gradient(transparent,rgba(0,0,0,.9));
}
.sq-card__title{
  font-family:var(--font-heading);font-size:.72rem;font-weight:600;
  color:#fff;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

/* ── Main Content ── */
.main-content{min-width:0}

.main-content__heading{
  font-family:var(--font-heading);font-size:1.3rem;font-weight:700;
  margin-bottom:24px;padding-bottom:12px;
  border-bottom:1px solid var(--clr-green);
  color:var(--clr-green);
  text-transform:uppercase;letter-spacing:.04em;
}

/* Article cards - rectangular */
.article-card{
  display:grid;grid-template-columns:280px 1fr;
  background:var(--clr-surface);border-radius:var(--radius);
  overflow:hidden;margin-bottom:20px;
  border:1px solid var(--clr-border);
  transition:transform .25s,border-color .25s,box-shadow .25s;
}
.article-card:hover{transform:translateY(-2px);border-color:var(--clr-green-dark);box-shadow:var(--shadow-hover)}

.article-card__img-wrap{overflow:hidden;height:100%;min-height:210px}
.article-card__img{width:100%;height:100%;object-fit:cover;transition:transform .4s;opacity:.9}
.article-card:hover .article-card__img{transform:scale(1.04);opacity:1}

.article-card__body{padding:20px 24px;display:flex;flex-direction:column;justify-content:center}
.article-card__cat{
  font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  color:var(--clr-green);margin-bottom:8px;
  font-family:var(--font-mono);
}
.article-card__title{
  font-family:var(--font-heading);font-size:1.1rem;font-weight:700;
  color:var(--clr-text);line-height:1.3;margin-bottom:10px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.article-card__title a{color:inherit}
.article-card__title a:hover{color:var(--clr-green)}

.article-card__excerpt{
  font-size:.85rem;color:var(--clr-text-secondary);line-height:1.6;
  margin-bottom:14px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

.article-card__meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.article-card__date{font-size:.72rem;color:var(--clr-text-secondary);font-family:var(--font-mono)}
.btn-read{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 16px;border-radius:4px;
  background:var(--clr-green);color:#000;
  font-size:.75rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  transition:all .25s;font-family:var(--font-heading);
}
.btn-read:hover{
  background:#fff;color:#000;
  box-shadow:0 0 20px rgba(0,255,136,.3);
}
.btn-read::after{content:"→";font-size:.85rem}

/* ── Right Sidebar ── */
.sidebar-right{position:sticky;top:calc(var(--header-h) + 28px);height:fit-content}

.widget{
  background:var(--clr-surface);border-radius:var(--radius);
  padding:18px;margin-bottom:18px;
  border:1px solid var(--clr-border);
}
.widget__title{
  font-family:var(--font-heading);font-size:.85rem;font-weight:700;
  margin-bottom:14px;padding-bottom:8px;
  border-bottom:1px solid var(--clr-green);
  color:var(--clr-green);
  text-transform:uppercase;letter-spacing:.06em;
}

.pop-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--clr-border)}
.pop-item:last-child{border:none}
.pop-item__num{
  flex-shrink:0;width:26px;height:26px;
  background:var(--clr-green);border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:800;color:#000;
  font-family:var(--font-mono);
}
.pop-item__title{font-size:.8rem;font-weight:600;line-height:1.3;color:var(--clr-text)}
.pop-item__title:hover{color:var(--clr-green)}

.tag-cloud{display:flex;flex-wrap:wrap;gap:6px}
.tag-cloud a{
  display:block;padding:4px 12px;border-radius:4px;
  background:var(--clr-green-glow2);color:var(--clr-green);
  font-size:.72rem;font-weight:600;transition:all .2s;
  border:1px solid var(--clr-green-glow);
  font-family:var(--font-mono);
}
.tag-cloud a:hover{background:var(--clr-green);color:#000}

.tg-widget{
  display:flex;align-items:center;gap:14px;
  padding:16px;background:var(--clr-green-glow2);
  border:1px solid var(--clr-green-glow);
  border-radius:var(--radius);text-decoration:none;transition:all .2s;
}
.tg-widget:hover{background:var(--clr-green-glow);border-color:var(--clr-green)}
.tg-widget__icon{font-size:1.8rem;flex-shrink:0}
.tg-widget__text{font-size:.82rem;font-weight:600;color:var(--clr-text)}
.tg-widget__text small{display:block;font-weight:400;color:var(--clr-text-secondary);font-size:.75rem}

/* ── Ticker / Market Bar ── */
.market-bar{
  background:var(--clr-surface);border-bottom:1px solid var(--clr-border);
  overflow:hidden;height:32px;
}
.market-bar__inner{
  display:flex;align-items:center;gap:28px;
  height:100%;padding:0 24px;
  animation:ticker 30s linear infinite;
  white-space:nowrap;
}
.market-bar__item{
  font-family:var(--font-mono);font-size:.72rem;font-weight:600;
  color:var(--clr-text-secondary);
}
.market-bar__item .up{color:var(--clr-green)}
.market-bar__item .down{color:var(--clr-red)}
@keyframes ticker{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ── Pagination ── */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:28px}
.pagination a,.pagination span{
  display:flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 10px;
  border-radius:4px;font-size:.82rem;font-weight:600;
  font-family:var(--font-mono);transition:all .2s;
}
.pagination a{background:var(--clr-surface);color:var(--clr-text);border:1px solid var(--clr-border)}
.pagination a:hover{background:var(--clr-green);color:#000;border-color:var(--clr-green)}
.pagination .current{background:var(--clr-green);color:#000;border:1px solid var(--clr-green)}

/* ── Single Post ── */
.single-layout{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:1fr 280px;
  gap:28px;padding:28px 24px;
}

.single-article{background:var(--clr-surface);border-radius:var(--radius);padding:36px 40px;border:1px solid var(--clr-border)}

.single-article__breadcrumbs{font-size:.75rem;color:var(--clr-text-secondary);margin-bottom:14px;font-family:var(--font-mono)}
.single-article__breadcrumbs a{color:var(--clr-green)}

.single-article__cat{
  display:inline-block;padding:3px 12px;border-radius:4px;
  background:var(--clr-green-glow2);color:var(--clr-green);
  font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:12px;font-family:var(--font-mono);
  border:1px solid var(--clr-green-glow);
}

.single-article__title{
  font-family:var(--font-heading);font-size:2rem;font-weight:800;
  line-height:1.2;margin-bottom:14px;color:var(--clr-text);
}

.single-article__meta{
  display:flex;align-items:center;gap:16px;
  font-size:.78rem;color:var(--clr-text-secondary);
  margin-bottom:24px;padding-bottom:18px;
  border-bottom:1px solid var(--clr-border);
  font-family:var(--font-mono);
}

.single-article__featured{width:100%;border-radius:var(--radius);overflow:hidden;margin-bottom:28px}
.single-article__featured img{width:100%;height:auto;display:block}

.single-article__content{font-size:.95rem;line-height:1.85;color:var(--clr-text)}
.single-article__content p{margin-bottom:1.4em}
.single-article__content h2{
  font-family:var(--font-heading);font-size:1.3rem;font-weight:700;
  margin:2em 0 .8em;color:var(--clr-text);
  padding-left:14px;border-left:2px solid var(--clr-green);
}
.single-article__content h3{
  font-family:var(--font-heading);font-size:1.1rem;font-weight:700;
  margin:1.6em 0 .6em;color:var(--clr-text);
}
.single-article__content strong{color:var(--clr-green-dim);font-weight:700}
.single-article__content figure{margin:1.8em 0;border-radius:var(--radius);overflow:hidden}
.single-article__content blockquote{
  margin:1.6em 0;padding:16px 24px;
  border-left:2px solid var(--clr-green);
  background:var(--clr-green-glow2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  font-style:italic;color:var(--clr-text-secondary);
}

/* Article Byline */
.article-byline{
  margin-top:24px;padding-top:18px;
  border-top:1px solid var(--clr-border);
  font-size:.82rem;color:var(--clr-text-secondary);
}
.article-byline em{font-style:normal;font-weight:600;color:var(--clr-green)}

/* TOC */
.toc{
  background:var(--clr-surface-alt);border-radius:var(--radius);
  padding:18px 22px;margin-bottom:28px;
  border:1px solid var(--clr-border);
}
.toc__title{
  font-family:var(--font-heading);font-size:.9rem;font-weight:700;
  cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  color:var(--clr-green);
}
.toc__title::after{content:"▾";font-size:.75rem;color:var(--clr-text-secondary)}
.toc__list{margin-top:10px}
.toc__list li{padding:4px 0}
.toc__list a{font-size:.82rem;color:var(--clr-text-secondary)}
.toc__list a:hover{color:var(--clr-green)}

.single-article__tags{margin-top:24px;padding-top:18px;border-top:1px solid var(--clr-border);display:flex;flex-wrap:wrap;gap:6px}

/* Related Posts */
.related-section{margin-top:32px}
.related-section__title{
  font-family:var(--font-heading);font-size:1.1rem;font-weight:700;
  margin-bottom:18px;padding-bottom:8px;
  border-bottom:1px solid var(--clr-green);
  color:var(--clr-green);text-transform:uppercase;letter-spacing:.04em;
}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related-card{
  background:var(--clr-surface);border-radius:var(--radius);
  overflow:hidden;border:1px solid var(--clr-border);
  display:flex;flex-direction:column;transition:all .25s;
}
.related-card:hover{transform:translateY(-2px);border-color:var(--clr-green-dark)}
.related-card__img{width:100%;aspect-ratio:16/10;object-fit:cover;opacity:.85}
.related-card:hover .related-card__img{opacity:1}
.related-card__body{padding:12px 14px;flex:1;display:flex;flex-direction:column}
.related-card__title{
  font-family:var(--font-heading);font-size:.82rem;font-weight:600;
  color:var(--clr-text);line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.related-card__title:hover{color:var(--clr-green)}

/* ── Footer ── */
.site-footer{background:#060608;color:rgba(255,255,255,.6);margin-top:48px;border-top:1px solid var(--clr-border)}
.footer-inner{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:1.3fr repeat(3,1fr);
  gap:32px;padding:44px 24px;
}
.footer-col__title{
  font-family:var(--font-heading);font-size:.85rem;font-weight:700;
  color:var(--clr-green);margin-bottom:14px;padding-bottom:8px;
  border-bottom:1px solid var(--clr-border);
  text-transform:uppercase;letter-spacing:.06em;
}
.footer-col ul li{margin-bottom:7px}
.footer-col a{color:rgba(255,255,255,.5);font-size:.85rem;transition:color .2s}
.footer-col a:hover{color:var(--clr-green)}

.footer-brand__desc{font-size:.82rem;line-height:1.6;margin-bottom:16px;color:rgba(255,255,255,.4)}
.footer-socials{display:flex;gap:8px}
.footer-socials a{
  width:34px;height:34px;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);color:rgba(255,255,255,.6);
  font-size:.8rem;font-weight:700;transition:all .2s;
  border:1px solid var(--clr-border);
}
.footer-socials a:hover{background:var(--clr-green);color:#000;border-color:var(--clr-green)}

.footer-bottom{
  border-top:1px solid var(--clr-border);
  text-align:center;padding:18px 24px;
  font-size:.75rem;color:rgba(255,255,255,.25);
  font-family:var(--font-mono);
}

/* ── Category/Archive/Search Page ── */
.archive-header{max-width:var(--max-w);margin:0 auto;padding:28px 24px 0}
.archive-header h1{font-family:var(--font-heading);font-size:1.6rem;font-weight:800;color:var(--clr-text)}
.archive-header p{font-size:.88rem;color:var(--clr-text-secondary);margin-top:6px}

/* ── Page Template ── */
.page-layout{max-width:800px;margin:0 auto;padding:36px 24px}
.page-layout h1{font-family:var(--font-heading);font-size:1.8rem;font-weight:800;margin-bottom:24px;color:var(--clr-text)}
.page-layout .page-content{font-size:.95rem;line-height:1.85}
.page-layout .page-content p{margin-bottom:1.3em}
.page-layout .page-content h2{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;margin:1.8em 0 .6em;color:var(--clr-green)}

/* ── 404 ── */
.page-404{text-align:center;padding:80px 24px;max-width:600px;margin:0 auto}
.page-404 h1{font-family:var(--font-heading);font-size:5rem;font-weight:800;color:var(--clr-green);text-shadow:0 0 40px rgba(0,255,136,.3)}
.page-404 p{font-size:1rem;color:var(--clr-text-secondary);margin:16px 0 28px}
.page-404 a{display:inline-block;padding:10px 24px;border-radius:4px;background:var(--clr-green);color:#000;font-weight:700;text-transform:uppercase;font-size:.85rem}

/* ── Sitemap ── */
.sitemap-section{margin-bottom:28px}
.sitemap-section h2{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--clr-green);color:var(--clr-green)}
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px}
.sitemap-grid a{font-size:.88rem;padding:5px 0;display:block;color:var(--clr-text)}
.sitemap-grid a:hover{color:var(--clr-green)}

/* ── Mobile Menu ── */
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);z-index:200;opacity:0;transition:opacity .3s}
.mobile-overlay.open{display:block;opacity:1}
.mobile-menu{
  position:fixed;top:0;right:-300px;width:280px;height:100vh;
  background:var(--clr-surface);z-index:201;
  padding:24px;transition:right .3s;overflow-y:auto;
  border-left:1px solid var(--clr-border);
}
.mobile-menu.open{right:0}
.mobile-menu__close{position:absolute;top:16px;right:16px;width:32px;height:32px;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--clr-text)}
.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--clr-border);font-size:.92rem;color:var(--clr-text);font-weight:600}
.mobile-menu a:hover{color:var(--clr-green)}

/* ── Responsive ── */
@media(max-width:1024px){
  .site-layout{grid-template-columns:1fr 260px;gap:20px}
  .sidebar-left{display:none}
  .single-layout{grid-template-columns:1fr}
  .sidebar-right{position:static}
}
@media(max-width:768px){
  .site-layout{grid-template-columns:1fr;padding:16px}
  .sidebar-right{display:none}
  .article-card{grid-template-columns:1fr}
  .article-card__img-wrap{height:200px}
  .header-search{display:none}
  .burger{display:flex}
  .cat-nav__inner{padding:0 12px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:20px}
  .related-grid{grid-template-columns:1fr 1fr}
  .single-article{padding:20px}
  .single-article__title{font-size:1.5rem}
  .market-bar{display:none}
}
@media(max-width:480px){
  .footer-inner{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
}
