/*
Theme Name: BizJournal
Theme URI: https://example.com
Author: Portable
Description: A sophisticated business/financial publication theme — deep navy and gold palette, serif display headlines, a full "Browse All Categories" grid section showing every category on the homepage, plus a hero module and a free public post-submission page with an image-required rule enforced site-wide. Fully portable, no site name or category hardcoded.
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: bizjournal
*/

:root{
  --bj-navy:#0b1e3d;
  --bj-navy-light:#132a52;
  --bj-gold:#c89b3c;
  --bj-cream:#faf8f3;
  --bj-ink:#1c1c1c;
  --bj-gray:#6a6a6a;
  --bj-border:#e5e0d3;
  --bj-serif: Georgia, 'Times New Roman', serif;
  --bj-sans: Arial, -apple-system, BlinkMacSystemFont, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--bj-sans);color:var(--bj-ink);background:#fff;line-height:1.55;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* ---- Header ---- */
.bj-topbar{background:var(--bj-navy);color:#cdd8ea;font-size:11.5px;padding:6px 0;text-align:center;letter-spacing:.04em;}
.bj-header{background:#fff;border-bottom:1px solid var(--bj-border);padding:22px 0;}
.bj-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.bj-logo{font-family:var(--bj-serif);font-size:30px;font-weight:700;color:var(--bj-navy);}
.bj-logo span{color:var(--bj-gold);}
.bj-search-form{display:flex;gap:0;border-bottom:2px solid var(--bj-navy);}
.bj-search-form input{border:none;padding:8px 4px;font-size:13.5px;width:180px;}
.bj-search-form button{background:none;border:none;color:var(--bj-navy);font-weight:800;cursor:pointer;font-size:13px;}

/* ---- Nav ---- */
.bj-nav{background:var(--bj-navy);border-top:3px solid var(--bj-gold);}
.bj-nav ul{display:flex;gap:0;list-style:none;overflow-x:auto;margin:0;padding:0;}
.bj-nav a{display:block;padding:13px 17px;color:#e8ecf5;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;}
.bj-nav a:hover{color:var(--bj-gold);}

/* ---- Hero ---- */
.bj-hero{display:grid;grid-template-columns:1.7fr 1fr;gap:28px;margin:32px 0;padding-bottom:30px;border-bottom:1px solid var(--bj-border);}
.bj-hero-main-img{width:100%;height:380px;object-fit:cover;background:linear-gradient(135deg,#2a3a4a,#1a2530);}
.bj-hero-eyebrow{color:var(--bj-gold);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:16px 0 8px;}
.bj-hero-title{font-family:var(--bj-serif);font-size:32px;font-weight:700;line-height:1.22;color:var(--bj-navy);}
.bj-hero-main:hover .bj-hero-title{color:var(--bj-gold);}
.bj-hero-dek{font-size:15px;color:#444;margin-top:10px;line-height:1.55;}
.bj-hero-list-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--bj-border);}
.bj-hero-list-item:first-child{padding-top:0;}
.bj-hero-thumb{width:88px;height:66px;object-fit:cover;flex-shrink:0;background:linear-gradient(135deg,#d8d8d8,#c0c0c0);}
.bj-hero-list-item h4{font-family:var(--bj-serif);font-size:15.5px;font-weight:700;line-height:1.3;color:var(--bj-navy);}
.bj-hero-list-item:hover h4{color:var(--bj-gold);}
.bj-hero-list-meta{font-size:11px;color:var(--bj-gray);margin-top:5px;text-transform:uppercase;letter-spacing:.03em;}

/* ---- Browse All Categories (genuinely lists every category) ---- */
.bj-allcats{background:var(--bj-cream);border-top:1px solid var(--bj-border);border-bottom:1px solid var(--bj-border);padding:36px 0;margin-bottom:36px;}
.bj-allcats-title{font-family:var(--bj-serif);font-size:22px;font-weight:700;color:var(--bj-navy);margin-bottom:20px;text-align:center;}
.bj-allcats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.bj-allcats-item{background:#fff;border:1px solid var(--bj-border);border-radius:6px;padding:16px 14px;text-align:center;transition:border-color .15s,transform .15s;}
.bj-allcats-item:hover{border-color:var(--bj-gold);transform:translateY(-2px);}
.bj-allcats-item h4{font-size:13.5px;font-weight:800;color:var(--bj-navy);}
.bj-allcats-item span{font-size:11px;color:var(--bj-gray);display:block;margin-top:4px;}

/* ---- Layout ---- */
.bj-layout{display:grid;grid-template-columns:2.3fr 1fr;gap:32px;align-items:start;margin-bottom:40px;}

/* ---- Section ---- */
.bj-section{margin-bottom:34px;}
.bj-section-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--bj-navy);padding-bottom:8px;margin-bottom:16px;}
.bj-section-head h2{font-family:var(--bj-serif);font-size:19px;font-weight:700;color:var(--bj-navy);}
.bj-section-more{font-size:11.5px;font-weight:700;color:var(--bj-gold);text-transform:uppercase;letter-spacing:.03em;}
.bj-section-more:hover{text-decoration:underline;}
.bj-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.bj-card{display:block;border-bottom:1px solid var(--bj-border);padding-bottom:18px;}
.bj-card-img{width:100%;height:155px;object-fit:cover;margin-bottom:12px;background:linear-gradient(135deg,#d8d8d8,#c0c0c0);}
.bj-card-title{font-family:var(--bj-serif);font-size:16.5px;font-weight:700;line-height:1.32;color:var(--bj-navy);}
.bj-card:hover .bj-card-title{color:var(--bj-gold);}
.bj-card-dek{font-size:12.5px;color:#555;margin-top:6px;line-height:1.5;}
.bj-card-meta{font-size:11px;color:var(--bj-gray);margin-top:8px;text-transform:uppercase;letter-spacing:.03em;}

/* ---- Sidebar ---- */
.bj-sidebar-block{margin-bottom:28px;}
.bj-sidebar-title{font-family:var(--bj-serif);font-size:15px;font-weight:700;color:var(--bj-navy);border-bottom:2px solid var(--bj-gold);padding-bottom:8px;margin-bottom:4px;}
.bj-sidebar-item{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--bj-border);align-items:baseline;}
.bj-sidebar-item:last-child{border-bottom:none;}
.bj-sidebar-num{font-family:var(--bj-serif);font-size:20px;font-weight:700;color:var(--bj-gold);width:24px;flex-shrink:0;}
.bj-sidebar-item h5{font-size:13.5px;font-weight:700;line-height:1.35;color:var(--bj-ink);}
.bj-sidebar-item:hover h5{color:var(--bj-gold);}

/* ---- Single article ---- */
.bj-breadcrumb{font-size:12px;color:var(--bj-gray);margin:20px 0 10px;text-transform:uppercase;letter-spacing:.03em;}
.bj-breadcrumb a:hover{color:var(--bj-gold);}
.bj-article h1{font-family:var(--bj-serif);font-size:33px;font-weight:700;line-height:1.24;margin-bottom:14px;color:var(--bj-navy);}
.bj-article-meta{font-size:12.5px;color:var(--bj-gray);margin-bottom:20px;text-transform:uppercase;letter-spacing:.03em;}
.bj-article-meta b{color:var(--bj-ink);}
.bj-article-thumb{width:100%;height:auto;max-height:440px;object-fit:cover;margin-bottom:26px;}
.bj-article-body{font-size:18px;line-height:1.8;color:#1a1a1a;}
.bj-article-body p{margin:0 0 20px;}
.bj-article-body h2{font-family:var(--bj-serif);font-size:24px;font-weight:700;margin:30px 0 12px;color:var(--bj-navy);}
.bj-article-body a{color:var(--bj-navy);text-decoration:underline;}

/* ---- Regular pages ---- */
.bj-page{max-width:760px;margin:0 auto;padding:36px 24px 60px;}
.bj-page h1{font-family:var(--bj-serif);font-size:32px;font-weight:700;margin-bottom:20px;color:var(--bj-navy);}
.bj-page-body{font-size:16.5px;line-height:1.78;color:#222;}
.bj-page-body a{color:var(--bj-navy);text-decoration:underline;}

/* ---- Submit page ---- */
.bj-submit-wrap{max-width:780px;margin:0 auto;padding:26px 24px 60px;}
.bj-submit-wrap h1{font-family:var(--bj-serif);font-size:32px;font-weight:700;margin:0 0 12px;color:var(--bj-navy);}
.bj-submit-intro{font-size:15.5px;color:#444;line-height:1.6;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--bj-border);}
.bj-req-box{background:var(--bj-cream);border-left:4px solid var(--bj-gold);border-radius:2px;padding:20px 22px;margin-bottom:30px;}
.bj-req-box h4{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;color:var(--bj-navy);}
.bj-req-box ul{margin:0;padding-left:20px;font-size:14px;color:#444;line-height:1.8;}
.bj-form-group{margin-bottom:18px;}
.bj-form-group label{display:block;font-size:13.5px;font-weight:700;margin-bottom:6px;color:var(--bj-navy);}
.bj-form-group input{width:100%;border:1px solid var(--bj-border);border-radius:2px;padding:11px 13px;font-size:14px;box-sizing:border-box;}
.bj-word-count{font-size:12.5px;color:#888;margin-top:6px;}
.bj-word-count.ok{color:#1a7a3a;font-weight:700;}
.bj-submit-btn{background:var(--bj-navy);color:#fff;border:none;border-radius:2px;padding:13px 30px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;}
.bj-submit-btn:hover{background:var(--bj-gold);}
.bj-submit-btn:disabled{opacity:.5;cursor:not-allowed;}
.bj-error-box{display:none;background:#fdf0ef;border-left:4px solid #a3382c;color:#a3382c;padding:14px 18px;margin-bottom:18px;font-size:14px;}
.bj-error-box.show{display:block;}
.bj-success-box{display:none;text-align:center;padding:40px 0;}
.bj-success-box.show{display:block;}

/* ---- Footer ---- */
.bj-footer{background:var(--bj-navy);color:#a9b6cf;padding:26px 0;margin-top:20px;text-align:center;font-size:12px;}

@media(max-width:900px){
  .bj-hero{grid-template-columns:1fr;}
  .bj-layout{grid-template-columns:1fr;}
  .bj-grid{grid-template-columns:1fr;}
  .bj-search-form input{width:110px;}
}
