/*
Theme Name: Katalog Ringan
Theme URI: 
Author: 
Author URI: 
Description: Tema WordPress minimalis, bersih, dan ringan. Tanpa font eksternal, tanpa library JS tambahan.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: katalog-ringan
*/

:root{
  --bg:#FAFAF9;
  --surface:#FFFFFF;
  --ink:#14161A;
  --muted:#6B7280;
  --line:#E4E4E7;
  --accent:#3B4A6B;
  --radius:4px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

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

img{max-width:100%;height:auto;display:block;}

.wrap{
  max-width:760px;
  margin:0 auto;
  padding:0 24px;
}

h1,h2,h3{
  font-weight:700;
  line-height:1.2;
  letter-spacing:-0.01em;
  margin:0 0 0.5em;
}

/* ---------- Header ---------- */
.site-header{
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 24px;
  max-width:760px;
  margin:0 auto;
}
.site-title{
  font-weight:700;
  font-size:18px;
  color:var(--ink);
}
.site-title:hover{text-decoration:none;color:var(--accent);}

.nav-toggle{
  display:none;
  border:none;
  background:none;
  padding:6px 0;
  font-size:14px;
  font-weight:500;
  color:var(--ink);
  cursor:pointer;
}

.nav-menu{
  list-style:none;
  display:flex;
  gap:20px;
  margin:0;
  padding:0;
}
.nav-menu li{position:relative;}
.nav-menu a{
  display:block;
  color:var(--muted);
  font-size:14px;
  font-weight:500;
  padding:4px 0;
}
.nav-menu a:hover{color:var(--ink);text-decoration:none;}
.nav-menu li.current-menu-item > a{color:var(--ink);}

/* Submenu (dropdown) — disembunyikan sampai di-hover/fokus, biar tidak berantakan */
.nav-menu ul{
  list-style:none;
  margin:0;
  padding:6px;
  display:none;
  flex-direction:column;
  gap:0;
  position:absolute;
  top:100%;
  left:0;
  min-width:170px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  z-index:20;
}
.nav-menu li:hover > ul,
.nav-menu li:focus-within > ul{display:flex;}
.nav-menu ul a{padding:8px 10px;font-size:13.5px;}
.nav-menu ul a:hover{background:var(--bg);}

@media (max-width:640px){
  .nav-toggle{display:block;}
  .nav-menu{
    display:none;
    flex-direction:column;
    gap:0;
    position:absolute;
    left:24px;
    right:24px;
    top:64px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:6px;
  }
  .nav-menu.is-open{display:flex;}
  .nav-menu a{padding:9px 10px;}
  /* Di mobile, submenu langsung tampil bertumpuk, tanpa perlu hover */
  .nav-menu ul{
    display:flex;
    position:static;
    border:none;
    padding:0 0 0 14px;
    min-width:0;
  }
  .site-header{position:relative;}
}

/* ---------- Main content ---------- */
.site-main{padding:48px 0 64px;}

.post-list{display:flex;flex-direction:column;gap:36px;}
.post-item{
  padding-bottom:36px;
  border-bottom:1px solid var(--line);
}
.post-item:last-child{border-bottom:none;padding-bottom:0;}
.post-thumb{display:block;margin-bottom:16px;border-radius:var(--radius);overflow:hidden;}
.post-meta{
  font-size:13px;
  color:var(--muted);
  margin:0 0 6px;
}
.post-title{font-size:22px;margin:0 0 8px;}
.post-title a{color:var(--ink);}
.post-title a:hover{color:var(--accent);text-decoration:none;}
.post-excerpt{color:var(--muted);margin:0 0 10px;}
.read-more{font-size:14px;font-weight:600;}

/* ---------- Single / Page ---------- */
.page-title, .single-post .post-title{font-size:30px;}
.page-thumb, .post-thumb-full{margin:20px 0;border-radius:var(--radius);overflow:hidden;}
.entry-content{margin-top:18px;}
.entry-content p{margin:0 0 1.2em;}
.entry-content h2{font-size:22px;margin-top:1.6em;}
.entry-content h3{font-size:18px;margin-top:1.4em;}
.entry-content blockquote{
  margin:24px 0;
  padding:4px 0 4px 18px;
  border-left:2px solid var(--line);
  color:var(--muted);
}
.entry-content img{border-radius:var(--radius);margin:20px 0;}
.entry-content a{text-decoration:underline;}
.post-tags{margin-top:28px;font-size:13.5px;color:var(--muted);}

/* ---------- Archive / Search / 404 ---------- */
.archive-title{font-size:24px;}
.archive-description{color:var(--muted);margin-bottom:24px;}
.error-404{padding:40px 0;}
.error-404 h1{font-size:26px;}
.error-404 p{color:var(--muted);}

/* ---------- Pagination ---------- */
.pagination{
  display:flex;
  gap:8px;
  margin-top:40px;
  font-size:14px;
}
.pagination a, .pagination span{
  border:1px solid var(--line);
  padding:7px 12px;
  border-radius:var(--radius);
  color:var(--ink);
}
.pagination a:hover{border-color:var(--accent);text-decoration:none;}
.pagination .current{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------- Sidebar / Widgets ---------- */
.widget{margin-bottom:28px;}
.widget-title{font-size:14px;text-transform:none;color:var(--muted);margin-bottom:10px;}

/* ---------- Comments ---------- */
.comments-area{margin-top:48px;border-top:1px solid var(--line);padding-top:32px;}
.comment-list{list-style:none;padding:0;margin:0;}
.comment-list li{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line);}

/* ---------- Footer ---------- */
.site-footer{
  border-top:1px solid var(--line);
  padding:24px 0;
  font-size:13px;
  color:var(--muted);
}
