/*
Theme Name: GarudaNews Pro
Theme URI: https://example.com/garudanews-pro
Author: GarudaPress Studio
Author URI: https://example.com
Description: Lightweight, SEO-friendly news theme styled like Kompas.com, tailored for TNI–POLRI portals. Includes breaking news ticker, headline slider, category sections, verified author badge, dark mode, Google News markup.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: garudanews
Tags: news, magazine, two-columns, right-sidebar, custom-logo, custom-colors, editor-style, featured-images, rtl-language-support
*/

/* Root variables (overridden by Customizer) */
:root {
  --gn-primary: #0d2b6b;   /* biru tua MSM-style */
  --gn-accent: #7a0a0a;    /* maroon TNI–POLRI */
  --gn-bg: #ffffff;
  --gn-text: #1a1a1a;
  --gn-muted: #666666;
}

html, body {
  margin:0; padding:0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  background: var(--gn-bg);
  color: var(--gn-text);
}

a { color: var(--gn-primary); text-decoration:none }
a:hover { text-decoration:underline }

.container { max-width:1200px; margin:0 auto; padding:0 16px; }

.header-top {
  background: var(--gn-primary); color:#fff; font-size:14px;
}
.header-top .ticker { display:flex; gap:12px; align-items:center; overflow:hidden; white-space:nowrap; }
.header-top .ticker-label { font-weight:700; padding:8px 0; }
.header-top .ticker-items { display:inline-block; animation: ticker-scroll 30s linear infinite; }
.header-top .ticker-items a { color:#fff; margin-right:24px; }

@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.header-main { padding:12px 0; display:flex; align-items:center; gap:16px; }
.site-title a { font-weight:800; font-size:28px; color: var(--gn-text); }
.tagline { font-size:12px; color: var(--gn-muted); }

.nav-primary { background:#fafafa; border-top:1px solid #eee; border-bottom:1px solid #eee; }
.nav-primary ul { list-style:none; margin:0; padding:0; display:flex; gap:18px; overflow:auto; }
.nav-primary a { display:block; padding:12px 0; font-weight:600; color:#222; }
.nav-primary a:hover, .nav-primary .current a { color: var(--gn-accent); }

.grid { display:grid; gap:18px; }
.grid-main { grid-template-columns: 1fr 320px; }
.card { border:1px solid #eee; border-radius:10px; overflow:hidden; background:#fff; }
.card .thumb img { width:100%; height:220px; object-fit:cover; display:block; }
.card .content { padding:14px; }
.meta { font-size:12px; color:var(--gn-muted); margin-bottom:6px; }
.excerpt { color:#333; line-height:1.6; }
.btn { display:inline-block; padding:8px 12px; border-radius:8px; background: var(--gn-accent); color:#fff; font-weight:700; }
.btn:hover { opacity:.9; }

.widget { border:1px solid #eee; border-radius:10px; padding:12px; background:#fff; }
.widget-title { margin-top:0; font-size:16px; border-left:4px solid var(--gn-accent); padding-left:8px; }

.footer { margin-top:24px; background:#0b1020; color:#c9d1d9; }
.footer a { color:#c9d1d9; }
.footer .columns { display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; padding:24px 0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:12px 0; font-size:12px; color:#9aa4b2; }

.badge-verified { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color: var(--gn-accent); }
.badge-verified svg { width:14px; height:14px; }

.dark body { background:#0b0f1a; color:#e5e7eb; }
.dark .card, .dark .widget { background:#111827; border-color:#1f2937; }
.dark .nav-primary { background:#0f172a; border-color:#1f2937; }
.dark .site-title a { color:#e5e7eb; }

/* Slider */
.slider { position:relative; overflow:hidden; border-radius:12px; }
.slider-track { display:flex; transition: transform .4s ease; }
.slide { min-width:100%; position:relative; }
.slide img { width:100%; height:430px; object-fit:cover; display:block; }
.slide .overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.0) 20%, rgba(0,0,0,.65) 100%); }
.slide .caption { position:absolute; bottom:16px; left:16px; right:16px; color:#fff; }
.slider-nav { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; pointer-events:none; }
.slider-nav button { pointer-events:auto; border:none; background:rgba(0,0,0,.35); color:#fff; width:40px; height:40px; border-radius:50%; font-size:18px; }

/* Breadcrumb */
.breadcrumb { font-size:12px; margin-bottom:8px; color:var(--gn-muted); }
.breadcrumb a { color: var(--gn-muted); }
