/*
Theme Name: Teraju Redesign
Theme URI: https://teraju.id
Author: teraju.id
Description: Theme minimalis & fungsional untuk teraju.id — benchmark Guardian/Reuters, terintegrasi dengan pipeline otomasi Jalur A (data strip), Jalur B (Kabar Kalbar/UGC), Jalur C (Teraju Shorts).
Version: 1.0.0
Text Domain: teraju
*/

:root{
  --bg: #fbf9f6;
  --bg-alt: #f3efe8;
  --ink: #16130f;
  --ink-soft: #4a453e;
  --muted: #85796c;
  --line: #e4ddd0;
  --accent: #a3241f;
  --kabarkalbar: #1f6e52;
  --kabarkalbar-bg: #edf5f0;
  --video-bg: #14110e;
  --radius: 3px;
  --maxw: 1180px;

  /* Font system (dikunci sesuai spesifikasi) */
  --font-head: 'Noto Sans', system-ui, sans-serif;   /* semua judul/headline */
  --font-body: 'Merriweather', Georgia, serif;        /* isi artikel, dek/lead */
  --font-meta: 'Roboto Serif', Georgia, serif;        /* kicker, byline, meta, nav kecil */
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-meta);-webkit-font-smoothing:antialiased;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:var(--font-head);margin:0;font-weight:700;line-height:1.18;}
p{font-family:var(--font-body);}

.kicker{font-family:var(--font-meta);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.kicker.alt-green{color:var(--kabarkalbar);}
.kicker.alt-muted{color:var(--muted);}
.byline{font-family:var(--font-meta);font-size:12px;color:var(--muted);}

/* ---- utility / masthead / nav / ticker (shared, lihat header.php) ---- */
.utility{background:var(--ink);color:#d8d2c6;font-size:12px;}
.utility .wrap{display:flex;align-items:center;justify-content:space-between;height:34px;}
.utility a{opacity:.85;font-family:var(--font-meta);}
.utility a:hover{opacity:1;text-decoration:underline;}
.utility .u-left{display:flex;gap:16px;align-items:center;}
.utility .u-right{display:flex;gap:14px;align-items:center;}

.masthead{border-bottom:1px solid var(--line);background:var(--bg);}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 18px;flex-wrap:wrap;gap:14px;}
.logo{font-family:var(--font-head);font-weight:800;font-size:34px;letter-spacing:-.01em;}
.logo .dot{color:var(--accent);}
.tagline{font-family:var(--font-meta);font-size:11.5px;color:var(--muted);letter-spacing:.03em;margin-top:3px;}
.head-actions{display:flex;align-items:center;gap:10px;}
.search-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;color:var(--muted);min-width:160px;background:transparent;font-family:var(--font-meta);}
.btn-tip{display:flex;align-items:center;gap:7px;background:var(--kabarkalbar);color:#fff;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;font-family:var(--font-meta);}

.nav{background:var(--bg);border-bottom:1px solid var(--line);}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;overflow-x:auto;}
.nav a{font-family:var(--font-meta);font-size:13.5px;font-weight:600;color:var(--ink-soft);padding:15px 2px;white-space:nowrap;border-bottom:2px solid transparent;display:block;min-height:44px;box-sizing:border-box;display:flex;align-items:center;}
.nav a:hover,.nav .current-menu-item a{color:var(--ink);border-bottom-color:var(--accent);}

.ticker{background:var(--accent);color:#fff;font-size:12.5px;}
.ticker .wrap{display:flex;align-items:center;gap:12px;height:32px;}
.ticker .tag{font-weight:800;letter-spacing:.06em;font-size:10.5px;background:rgba(255,255,255,.18);padding:3px 8px;border-radius:2px;font-family:var(--font-meta);}
.ticker .msg{font-family:var(--font-meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

main{padding-bottom:70px;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:9px;margin-bottom:20px;}
.section-head h2{font-size:22px;}
.section-head .see-all{font-family:var(--font-meta);font-size:12.5px;font-weight:600;color:var(--accent);}

/* ---- card grid (dipakai di category.php / archive.php / related posts) ---- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:26px;}
.card{display:block;}
.card .thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--bg-alt);}
.card h3{font-size:18px;margin-top:12px;line-height:1.3;}
.card .dek{font-family:var(--font-body);color:var(--ink-soft);font-size:13.5px;margin-top:8px;line-height:1.5;}
.card .byline{margin-top:10px;}

/* ---- Kabar Kalbar treatment ---- */
.kabarkalbar-banner{background:var(--kabarkalbar-bg);border:1px solid #d7e6dd;border-radius:8px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px;}
.kabarkalbar-banner .kb-left{display:flex;align-items:center;gap:12px;}
.kb-badge{width:36px;height:36px;border-radius:50%;background:var(--kabarkalbar);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 36px;}
.kabarkalbar-banner h2{font-size:18px;color:#123;}
.kabarkalbar-banner p{font-family:var(--font-meta);font-size:12.5px;color:var(--ink-soft);margin:2px 0 0;}
.kb-cta{background:var(--kabarkalbar);color:#fff;font-family:var(--font-meta);font-size:13px;font-weight:600;padding:10px 18px;border-radius:999px;white-space:nowrap;}
.badge-komunitas{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-meta);font-size:11px;font-weight:700;color:var(--kabarkalbar);background:#fff;border:1px solid #cfe6da;padding:4px 10px;border-radius:999px;}

/* ---- Teraju Shorts (video grid) ---- */
.shorts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.short-card .thumb-wrap{position:relative;aspect-ratio:9/16;border-radius:8px;overflow:hidden;background:var(--video-bg);}
.short-card img{width:100%;height:100%;object-fit:cover;}
.short-card .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.15);}
.short-card .play span{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);color:#111;display:flex;align-items:center;justify-content:center;font-size:15px;}
.short-card p{font-family:var(--font-meta);font-size:12.5px;line-height:1.35;margin-top:9px;color:var(--ink-soft);}
.short-embed{position:relative;width:100%;max-width:380px;aspect-ratio:9/16;margin:0 auto;border-radius:8px;overflow:hidden;background:#000;}
.short-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---- HERO (front-page.php) ---- */
.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:36px;margin-top:28px;}
.hero-main .thumb-lg{width:100%;aspect-ratio:16/9.5;object-fit:cover;border-radius:var(--radius);background:var(--bg-alt);}
.hero-main h1{font-size:34px;margin-top:14px;}
.hero-main .dek{font-family:var(--font-body);color:var(--ink-soft);font-size:16px;line-height:1.5;margin-top:10px;}
.hero-side{display:flex;flex-direction:column;gap:20px;}
.hero-side-item{display:flex;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.hero-side-item:last-child{border-bottom:none;padding-bottom:0;}
.hero-side-item .thumb-sq{width:104px;flex:0 0 104px;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius);background:var(--bg-alt);}
.hero-side-item h3{font-size:16px;line-height:1.3;}
.hero-side-item .byline{margin-top:6px;}
.hero-empty{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;font-family:var(--font-meta);font-size:13px;}

/* ---- Kabar Kalbar homepage module ---- */
.kabarkalbar-section{background:var(--kabarkalbar-bg);border:1px solid #d7e6dd;border-radius:8px;padding:26px 26px 28px;}
.kb-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:20px;}
.kb-head-left{display:flex;align-items:center;gap:12px;}
.kb-head h2{font-size:21px;color:#123;}
.kb-sub{font-family:var(--font-meta);font-size:12.5px;color:var(--ink-soft);margin-top:2px;}
.kb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.kb-card{background:#fff;border-radius:6px;overflow:hidden;border:1px solid #dcebe3;display:block;}
.kb-card .thumb{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--bg-alt);}
.kb-card-body{padding:13px 14px 15px;}
.kb-card-body .kicker{font-size:10px;}
.kb-card-body h4{font-family:var(--font-head);font-weight:700;font-size:14.5px;margin-top:6px;line-height:1.32;}
.kb-source{display:flex;align-items:center;gap:6px;font-family:var(--font-meta);font-size:10.5px;color:var(--kabarkalbar);font-weight:600;margin-top:9px;}

/* ---- Teraju Shorts strip (front-page.php, dark) ---- */
.shorts-strip{background:var(--video-bg);border-radius:8px;padding:26px 0 30px;color:#fff;}
.shorts-strip .section-head{border-bottom:1px solid rgba(255,255,255,.18);margin:0 26px 18px;padding-bottom:9px;}
.shorts-strip .section-head h2{color:#fff;font-size:20px;}
.shorts-strip .section-head .see-all{color:#e7b9a8;}
.shorts-row{display:flex;gap:16px;overflow-x:auto;padding:0 26px 4px;scrollbar-width:thin;}
.shorts-row .short-card{flex:0 0 156px;}
.shorts-row p{color:#f1ede6;}

/* ---- category grid (front-page.php, Reuters-style dense list) ---- */
.cat-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;}
.cat-lead .thumb-lead{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);background:var(--bg-alt);}
.cat-lead h3{font-size:22px;margin-top:12px;}
.cat-lead p.dek{font-family:var(--font-body);color:var(--ink-soft);font-size:14px;margin-top:8px;line-height:1.5;}
.cat-list-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);}
.cat-list-item:first-child{padding-top:0;}
.cat-list-item .thumb-sm{width:78px;flex:0 0 78px;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius);background:var(--bg-alt);}
.cat-list-item h4{font-family:var(--font-head);font-size:14.5px;line-height:1.32;font-weight:600;}
.cat-list-item .byline{margin-top:6px;}

/* ---- kultur spotlight (front-page.php) ---- */
.kultur{background:var(--bg-alt);border-radius:8px;padding:30px 30px 34px;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;}
.kultur .thumb-kultur{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:#c8a878;}
.kultur-copy .kicker{color:#8a5a1f;}
.kultur-copy h2{font-size:26px;margin-top:10px;}
.kultur-copy p{font-family:var(--font-body);color:var(--ink-soft);font-size:15.5px;line-height:1.6;margin-top:12px;}

/* ---- english strip (front-page.php) ---- */
.eng-strip{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:22px 26px;gap:20px;flex-wrap:wrap;}
.eng-strip .kicker{color:#3a5a8a;}
.eng-strip h3{font-size:19px;margin-top:6px;}
.eng-strip p{font-family:var(--font-body);font-size:13.5px;color:var(--ink-soft);margin-top:6px;max-width:520px;}
.eng-strip .btn-out{font-family:var(--font-meta);font-size:13px;font-weight:700;color:#3a5a8a;border:1.5px solid #3a5a8a;padding:10px 18px;border-radius:999px;white-space:nowrap;}

/* ---- data strip (Jalur A) — auto-fit supaya aman kalau TBS sawit diabaikan ---- */
.data-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.data-item{background:var(--bg);padding:16px 18px;}
.data-item .label{font-family:var(--font-meta);font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.03em;text-transform:uppercase;}
.data-item .value{font-family:var(--font-head);font-size:21px;font-weight:700;margin-top:6px;}
.data-item .delta{font-family:var(--font-meta);font-size:11.5px;margin-top:4px;font-weight:600;}
.delta.up{color:#1f6e52;} .delta.down{color:var(--accent);}
.data-strip .stale-notice{grid-column:1/-1;font-family:var(--font-meta);font-size:10.5px;color:var(--muted);padding:8px 18px;background:var(--bg-alt);}

/* ---- single.php layout: artikel + sidebar ---- */
.single-layout{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start;}
.single-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:26px;}
.breadcrumb{font-family:var(--font-meta);font-size:12px;color:var(--muted);margin-bottom:14px;}
.breadcrumb a{color:var(--muted);}
.breadcrumb a:hover{color:var(--accent);}

.sidebar-box{border:1px solid var(--line);border-radius:8px;padding:18px 18px 6px;}
.sidebar-box h4{font-family:var(--font-head);font-size:14px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;}
.popular-item{display:flex;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line);}
.popular-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.popular-rank{font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--line);flex:0 0 22px;line-height:1;}
.popular-item h5{font-family:var(--font-head);font-size:13.5px;font-weight:700;line-height:1.32;}
.popular-item .byline{margin-top:5px;font-size:11px;}

.share-box{border:1px solid var(--line);border-radius:8px;padding:16px 18px;}
.share-box h4{font-family:var(--font-head);font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;}
.share-row{display:flex;gap:8px;flex-wrap:wrap;}
.share-row a{font-family:var(--font-meta);font-size:12.5px;font-weight:600;border:1px solid var(--line);padding:8px 13px;border-radius:999px;display:flex;align-items:center;gap:6px;}
.share-row a.wa{border-color:#1f6e52;color:#1f6e52;}
.share-row a.wa:hover{background:#1f6e52;color:#fff;}

.author-box{display:flex;gap:14px;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:34px 0;}
.author-box img{width:52px;height:52px;border-radius:50%;flex:0 0 52px;}
.author-box h5{font-family:var(--font-head);font-size:14.5px;}
.author-box p{font-family:var(--font-meta);font-size:12.5px;color:var(--ink-soft);margin-top:5px;line-height:1.5;}

.kb-follow-box{background:var(--kabarkalbar-bg);border:1px solid #d7e6dd;border-radius:8px;padding:18px;text-align:center;}
.kb-follow-box p{font-family:var(--font-meta);font-size:12.5px;color:var(--ink-soft);margin:0 0 12px;}

@media (max-width: 960px){
  .single-layout{grid-template-columns:1fr;}
  .single-sidebar{position:static;flex-direction:row;flex-wrap:wrap;}
  .single-sidebar .sidebar-box,.single-sidebar .share-box,.single-sidebar .kb-follow-box{flex:1 1 260px;}
}

/* ---- single.php ---- */
.single-article{max-width:100%;}
.single-article .article-head{margin-bottom:22px;}
.single-article .article-head h1{font-size:36px;margin-top:12px;}
.single-article .dek{font-family:var(--font-body);font-size:17px;color:var(--ink-soft);margin-top:12px;line-height:1.55;}
.single-article .byline-row{display:flex;align-items:center;gap:12px;margin-top:16px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.single-article .featured{width:100%;border-radius:6px;margin:22px 0;aspect-ratio:16/9;object-fit:cover;background:var(--bg-alt);}
.article-body{font-family:var(--font-body);font-size:17.5px;line-height:1.75;color:var(--ink);}
.article-body p{margin:0 0 20px;}
.article-body h2{font-size:24px;margin:34px 0 14px;}
.article-body h3{font-size:20px;margin:28px 0 12px;}
.article-body a{color:var(--accent);text-decoration:underline;}
.article-body blockquote{font-family:var(--font-body);font-style:italic;border-left:3px solid var(--accent);padding-left:18px;margin:26px 0;color:var(--ink-soft);}
.article-body img{border-radius:6px;margin:22px 0;}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px;}
.tag-row a{font-family:var(--font-meta);font-size:11.5px;font-weight:600;color:var(--ink-soft);border:1px solid var(--line);padding:5px 12px;border-radius:999px;}
.related-wrap{max-width:960px;margin:56px auto 0;}

/* ---- page.php ---- */
.static-page{max-width:760px;margin:0 auto;}
.static-page h1{font-size:32px;margin-bottom:22px;}
.static-page .article-body{font-size:16.5px;}

/* ---- category.php / archive.php ---- */
.archive-head{margin-bottom:8px;}
.archive-head h1{font-size:30px;}
.archive-head p{font-family:var(--font-meta);color:var(--muted);font-size:13.5px;margin-top:8px;}
.pagination{display:flex;gap:10px;justify-content:center;margin-top:44px;font-family:var(--font-meta);font-size:13px;}
.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--line);border-radius:4px;}
.pagination .current{background:var(--ink);color:#fff;border-color:var(--ink);}

footer.site-footer{background:var(--ink);color:#c9c3b7;margin-top:70px;padding:44px 0 26px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
.footer-logo{font-family:var(--font-head);font-size:24px;font-weight:800;color:#fff;}
footer p{font-family:var(--font-meta);font-size:12.5px;line-height:1.6;margin-top:10px;color:#a49d8e;}
.footer-col h5{font-family:var(--font-meta);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#8a8375;margin-bottom:12px;}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col a{display:block;font-family:var(--font-meta);font-size:13px;padding:5px 0;color:#d8d2c6;}
.footer-col a:hover{color:#fff;}
.footer-bottom{border-top:1px solid #2c2820;margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;font-family:var(--font-meta);font-size:11.5px;color:#7d7669;flex-wrap:wrap;gap:10px;}

@media (max-width: 880px){
  .card-grid{grid-template-columns:1fr 1fr;}
  .shorts-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .data-strip{grid-template-columns:1fr 1fr;}
  .single-article .article-head h1{font-size:28px;}
}
@media (max-width: 560px){
  .card-grid{grid-template-columns:1fr;}
  .shorts-grid{grid-template-columns:1fr 1fr;}
  .kb-grid{grid-template-columns:1fr;}
  .head-actions{width:100%;flex-direction:column;align-items:stretch;}
  .search-pill{min-width:0;width:100%;}
  .btn-tip{justify-content:center;}
  .utility .wrap{flex-direction:column;height:auto;padding:6px 0;gap:4px;align-items:flex-start;}
}
