:root {
  --second: #1477e0;
  --third:  #5eb6ff;
  --primary-color: #f3f9fe;
  --text-dark: #333; --text-light: #666; --border-color: #e5e7eb;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Baloo 2","Poppins",cursive,sans-serif; background:#f5f7fa; }

/* ── HEADER ── */
.page-detail-header { background:var(--second); border-bottom:1px solid #e5e7eb; position:sticky; top:0; padding:9px 0; z-index:100; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.page-detail-header .header-content { max-width:1400px; margin:0 auto; padding:10px 60px; display:flex; justify-content:space-between; align-items:center; position:relative; min-height:60px; }
.page-detail-header .site-logo { height:40px; width:auto; }

/* ── NAV ── */
.detail-page-nav { display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,0.18); backdrop-filter:blur(14px); border-radius:50px; padding:6px 16px; }
.detail-page-nav .nav-menu { list-style:none; display:flex; gap:2px; }
.detail-page-nav .nav-menu li { position:relative; }
.detail-page-nav .nav-menu a { color:white !important; text-decoration:none; font-size:13.5px; font-weight:600; padding:5px 13px; border-radius:30px; display:inline-block; transition:background .2s; cursor:pointer; }
.detail-page-nav .nav-menu a:hover { background:rgba(255,255,255,0.18); }
.detail-page-nav .nav-menu a.active { background:rgba(255,255,255,0.88) !important; color:var(--second) !important; }
.detail-page-nav .nav-menu .submenu { display:none; position:absolute; top:calc(100% + 8px); left:0; background:white; border-radius:10px; padding:8px; list-style:none; min-width:170px; box-shadow:0 4px 20px rgba(0,0,0,.12); z-index:30; }
.detail-page-nav .nav-menu li:hover .submenu { display:block; }
.detail-page-nav .nav-menu .submenu a { color:var(--text-dark) !important; display:block; padding:8px 14px; border-radius:6px; }
.detail-page-nav .nav-menu .submenu a:hover { background:#f3f4f6; }

/* ── CONTAINER ── */
.page-detail-container { max-width:1400px; margin:0 auto; padding:40px 60px; }

/* ── WIDGET AREAS ── */
.widget-area { margin-bottom:30px; }
.top-content-area .widget,
.bottom-content-area .widget { background:white; border-radius:12px; padding:20px; box-shadow:0 2px 12px rgba(0,0,0,.06); }

/* ── LAYOUT ── */
.page-detail-layout { 
  display:block; 
  width:100%; 
}
.page-detail-layout .sidebar { 
  display:none; 
  flex-direction:column; 
  gap:20px; 
  position:sticky; 
  top:100px; 
  align-self:start; 
  max-height:120vh;
  overflow-y:auto; 
  padding:20px; 
  background:white; 
  border-radius:12px; 
  box-shadow:0 2px 12px rgba(0,0,0,.06); 
}
.page-detail-layout.has-right-sidebar { 
  display:grid; 
  grid-template-columns:2.5fr 1fr; 
  gap:40px; 
  align-items:start; 
}
.page-detail-layout.has-right-sidebar .right-sidebar { 
  display:flex !important; 
}
.page-detail-layout.has-left-sidebar { 
  display:grid; 
  grid-template-columns:1fr 3fr; 
  gap:40px; 
  align-items:start; 
}
.page-detail-layout.has-left-sidebar .left-sidebar { 
  display:flex !important; 
}
.page-detail-layout.has-both-sidebars { 
  display:grid; 
  grid-template-columns:1fr 3fr 1fr; 
  gap:40px; 
  align-items:start; 
}
.page-detail-layout.has-both-sidebars .left-sidebar,
.page-detail-layout.has-both-sidebars .right-sidebar { 
  display:flex !important; 
}
.page-detail-main { min-width:0; }

.sidebar .widget {
  margin-top: 16px;
}

.sidebar .widget:first-child {
  margin-top: 0;
}

/* Tag cloud spacing */
.widget-random_tag .tag-cloud {
  margin-top: 14px;
  padding-top: 40px;
}
/* ── ARTICLE ── */
.page-detail-article { background:white; border-radius:12px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.page-header { padding:40px 50px 30px; }
.page-title { font-size:32px; font-weight:800; color:#333; line-height:1.2; margin-bottom:20px; }
.page-meta { display:flex; flex-wrap:wrap; gap:25px; font-size:14px; color:#666; }
.page-meta-item { display:flex; align-items:center; gap:8px; }
.page-meta-item i { color:var(--second); font-size:14px; }
.page-featured-image { width:80%; height:450px; overflow:hidden; background:#f3f4f6; margin:0 auto 0; border-radius:16px; box-shadow:0 4px 12px rgba(0,0,0,.1); }
.page-featured-image img { width:100%; height:100%; object-fit:cover; }
.page-content { padding:40px 50px; font-size:16px; line-height:1.8; color:#333; }
/* ... sisanya sama ... */

/* ── WIDGET STYLES ── */
.widget { 
  margin-bottom:0px; 
  padding:15px; 
  background:#fff; 
  border-radius:8px; 
  border:1px solid #e5e7eb; 
  margin-top:50px;
}
.widget-title { 
  font-size:16px; 
  font-weight:700; 
  color:#333; 
  margin-bottom:15px; 
  padding-bottom:10px; 
  border-bottom:2px solid var(--second); 
}
.latest-posts-list { display:flex; flex-direction:column; gap:12px; }
.latest-post-item { 
  display:flex; 
  align-items:flex-start; 
  gap:12px; 
  padding:10px; 
  background:#f9fafb; 
  border-radius:8px; 
  text-decoration:none; 
  transition:all .3s; 
}
.latest-post-item:hover { 
  background:#f3f4f6; 
  transform:translateX(5px); 
}
.latest-post-thumbnail { 
  width:50px; 
  height:50px; 
  border-radius:6px; 
  overflow:hidden; 
  background:#e5e7eb; 
}
.latest-post-thumbnail img { 
  width:100%; 
  height:100%; 
  object-fit:cover; 
}
.latest-post-title { 
  font-size:14px; 
  font-weight:600; 
  color:#333; 
  margin-bottom:4px; 
}
.latest-post-date { 
  font-size:12px; 
  color:#666; 
}
.tag-cloud { 
  display:flex; 
  flex-wrap:wrap; 
  gap:8px; 
}
.tag-item { 
  padding:4px 12px; 
  background:#f3f4f6; 
  border-radius:16px; 
  font-size:12px; 
  color:#666; 
  text-decoration:none; 
  transition:all .3s; 
}
.tag-item:hover { 
  background:var(--second); 
  color:white; 
}

.page-detail-mobile-btn { display: none; }
.page-detail-mobile-overlay { display: none; }
.page-detail-mobile-drawer { display: none; }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .page-detail-container { padding:30px; }
  .page-detail-layout.has-right-sidebar,
  .page-detail-layout.has-left-sidebar,
  .page-detail-layout.has-both-sidebars { 
    display:block; 
  }
  .page-detail-layout .sidebar { 
    display:none !important; 
  }
  .page-content { padding:30px; }
  .page-header { padding:30px; }
  .page-featured-image { width:100%; height:300px; }
}
@media(max-width:768px) {
.page-detail-header .site-branding a img {
  height: 30px;
}

/* Bikin logo fixed seperti halaman lain */
.page-detail-header .site-branding {
  position: fixed;
  left: 14px;
  top: 14px;
  z-index: 999;
  border-radius: 8px;
  padding: 4px 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
  .page-detail-header .detail-page-nav { display: none; }

  .page-detail-mobile-btn {
    display: flex;
    position: fixed;
    top: 14px; right: 14px;
    z-index: 1000;
    background: var(--second);
    border: none; border-radius: 10px;
    width: 40px; height: 40px;
    align-items: center; justify-content: center;
    cursor: pointer; color: white; font-size: 17px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  }
  .page-detail-mobile-overlay {
    display: none;
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 9998; backdrop-filter: blur(2px);
  }
  .page-detail-mobile-overlay.open { display: block; }
  .page-detail-mobile-drawer {
    display: flex; flex-direction: column;
    position: fixed;
    top: 0; right: -100%;
    width: 78%; max-width: 280px;
    height: 100vh; height: 100dvh;
    background: white;
    z-index: 9999;
    transition: right 0.3s ease;
    box-shadow: -4px 0 24px rgba(0,0,0,0.18);
    overflow-y: auto;
  }
  .page-detail-mobile-drawer.open { right: 0; }
  .page-detail-mobile-drawer::before {
    content: "";
    display: block;
    background: linear-gradient(135deg, var(--second), var(--third));
    height: 80px; flex-shrink: 0;
  }
  .page-detail-mobile-drawer .nav-close {
    position: absolute; top: 20px; right: 16px;
    background: rgba(255,255,255,0.2);
    border: none; border-radius: 8px;
    width: 34px; height: 34px;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; cursor: pointer; color: white;
  }
  .page-detail-mobile-drawer ul {
    list-style: none;
    display: flex; flex-direction: column;
    padding: 16px 12px 12px; gap: 2px; flex: 1;
  }
  .page-detail-mobile-drawer ul li a {
    display: flex; align-items: center;
    padding: 12px 16px;
    font-size: 15px; font-weight: 600;
    color: #1f2937 !important; text-decoration: none;
    border-radius: 10px; cursor: pointer; transition: all 0.2s;
  }
  .page-detail-mobile-drawer ul li a:hover,
  .page-detail-mobile-drawer ul li a.active {
    background: rgba(20,119,224,0.08);
    color: var(--second) !important;
  }
  .page-detail-mobile-drawer .drawer-blog-btn {
    display: block;
    margin: 0 12px calc(24px + env(safe-area-inset-bottom));
    padding: 13px 16px;
    background: var(--second); color: white !important;
    border: none; border-radius: 10px;
    font-size: 15px; font-weight: 700;
    width: calc(100% - 24px); cursor: pointer;
    font-family: "Baloo 2", cursive; text-align: center;
  }
}