/* =============================================================
   mal-luxury — Ghost theme PT. Mantra Aji Logistik
   Light Luxury: putih + emas + aksen merah MAL
   Fonts: Playfair Display (display) + Plus Jakarta Sans (body)
   ============================================================= */
:root {
  --bg: #FBF9F4;
  --bg-tint: #F5F1E8;
  --white: #FFFFFF;
  --ink: #1F1B16;
  --muted: #6E675C;
  --gold: #B8912F;
  --gold-deep: #96731D;
  --gold-light: #E9DCAF;
  --red: #E0202A;
  --red-deep: #B0121A;
  --line: #EDE6D6;
  --shadow: 0 10px 40px rgba(31,27,22,0.08);
  --radius: 14px;
  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--font-body); background:var(--bg); color:var(--ink); line-height:1.7; font-size:16px; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.container { width:min(1100px,92%); margin:0 auto; }

/* Header */
.site-header { position:sticky; top:0; z-index:100; background:rgba(251,249,244,.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0; }
.brand { display:flex; align-items:center; gap:12px; }
.brand-logo { width:42px; height:42px; object-fit:contain; }
.brand-text { font-weight:800; letter-spacing:.04em; font-size:.98rem; line-height:1.15; }
.brand-text em { font-style:normal; color:var(--red); display:block; letter-spacing:.28em; font-size:.72rem; }
.header-meta { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.header-label { font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); }
.back-link { font-size:.85rem; font-weight:600; color:var(--red); }
.back-link:hover { color:var(--red-deep); }

/* Page head */
.page-head { text-align:center; padding:72px 0 44px; }
.eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--red); margin-bottom:14px; }
.eyebrow::before, .eyebrow::after { content:"—"; color:var(--gold); margin:0 10px; }
.page-title { font-family:var(--font-display); font-weight:700; font-size:clamp(2rem,4vw,2.8rem); line-height:1.15; }
.page-desc { max-width:640px; margin:16px auto 0; color:var(--muted); }

/* Post grid */
.post-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; padding-bottom:64px; }
.post-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
.post-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--gold-light); }
.post-image img { height:200px; width:100%; object-fit:cover; }
.post-body { padding:22px; display:flex; flex-direction:column; flex:1; }
.post-date { font-size:.74rem; color:var(--gold-deep); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.post-title { font-size:1.15rem; line-height:1.35; margin:10px 0 8px; }
.post-title a:hover { color:var(--red); }
.post-excerpt { font-size:.92rem; color:var(--muted); flex:1; }
.post-link { margin-top:14px; font-weight:700; color:var(--red); font-size:.88rem; }

/* Single post */
.post-container { max-width:760px; padding:64px 0; }
.post-header { margin-bottom:32px; }
.post-header .post-title { font-family:var(--font-display); font-size:clamp(1.8rem,3.6vw,2.6rem); font-weight:700; line-height:1.2; margin-top:12px; }
.post-feature { border-radius:var(--radius); margin-top:24px; }
.post-content { font-size:1.05rem; color:#2b261f; }
.post-content p { margin-bottom:18px; }
.post-content h2, .post-content h3 { font-family:var(--font-display); margin:28px 0 12px; line-height:1.25; }
.post-content a { color:var(--red); font-weight:600; }
.post-content img { border-radius:10px; margin:16px 0; }
.post-content blockquote { border-left:3px solid var(--gold); padding:8px 0 8px 20px; margin:20px 0; color:var(--muted); font-style:italic; }
.post-content ul, .post-content ol { margin:0 0 18px 22px; }
.post-back { margin-top:40px; padding-top:24px; border-top:1px solid var(--line); }

/* Pagination */
.pagination { display:flex; justify-content:center; gap:10px; padding:0 0 72px; }
.pagination .page-number, .pagination .older-posts, .pagination .newer-posts { padding:9px 16px; border:1px solid var(--line); border-radius:999px; font-size:.9rem; font-weight:600; color:var(--muted); }
.pagination a:hover { border-color:var(--gold); color:var(--gold-deep); }

/* Footer */
.site-footer { background:#171410; color:#D9D2C4; padding:44px 0 24px; margin-top:40px; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.footer-brand { display:flex; align-items:center; gap:14px; }
.footer-logo { width:42px; height:42px; object-fit:contain; }
.footer-name { font-weight:800; letter-spacing:.04em; color:#fff; }
.footer-name em { font-style:normal; color:var(--red); }
.footer-tag { font-size:.82rem; color:#9a907e; }
.footer-link { font-size:.9rem; color:#c9bfa9; }
.footer-link:hover { color:var(--gold-light); }
.footer-copy { border-top:1px solid #2a251e; margin-top:28px; padding-top:18px; font-size:.82rem; color:#8d8472; }

/* Error */
.error-page .page-title { font-size:5rem; color:var(--gold); }

/* Koenig editor — full-width cards (GS050) */
.kg-image { max-width: 100%; height: auto; }
.kg-width-wide { width: 100%; }
.kg-width-full { position: relative; width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }

@media (max-width:640px) {
  .header-meta { display:none; }
  .post-grid { grid-template-columns:1fr; }
}
