/*
Theme Name: Komparatif ID Plus
Theme URI: https://komparatif.id
Author: Komparatif.ID
Author URI: https://komparatif.id
Description: Evolusi tema Komparatif ID: menggabungkan tata letak berita utama (sidebar kanan, slideshow headline, blok kategori berpita warna, integrasi iklan AdSense/mgid) dengan tiga zona visual baru — ticker breaking news berjalan, carousel editorial "Opini" bernuansa krem-navy, dan mosaik foto "Sorotan Kategori" beraksen teal — supaya beranda terasa lebih variatif tanpa kehilangan identitas Komparatif.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: komparatif-id
Tags: news, blog, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, translation-ready
*/

/* =========================================================
   0. RESET & BASE
   ========================================================= */
:root{
  --kid-red:       #e30613;
  --kid-red-dark:  #b8050f;
  --kid-black:     #1a1a1a;
  --kid-ink:       #222222;
  --kid-gray:      #6b6b6b;
  --kid-gray-line: #e4e4e4;
  --kid-bg:        #f7f7f7;
  --kid-orange:    #f3801f;
  --kid-yellow:    #f4d000;
  --kid-blue:      #1f6fb2;
  --kid-white:     #ffffff;
  --font-display:  'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body:     'Source Sans 3', 'Segoe UI', Arial, sans-serif;
  --font-voice:    'Playfair Display', Georgia, serif; /* logo, kutipan, & Opini */

  /* Zona "Opini": sengaja beda dari merah/hitam berita — krem +
     navy + serif, biar terasa seperti kolom editorial yang
     disisipkan, bukan grid berita biasa. */
  --kid-opini-bg:        #f4efe3;
  --kid-opini-ink:       #1e3a52;
  --kid-opini-ink-soft:  #4d6a80;
  --kid-opini-card:      #fffdf8;
  --kid-opini-border:    #e2d8c0;

  /* Zona "Sorotan Kategori": mosaik foto beraksen teal, identitas
     ketiga yang photo-forward — kebalikan dari Opini yang text-forward. */
  --kid-spotlight-accent:      #0e7c86;
  --kid-spotlight-accent-dark: #095a61;
}

*, *::before, *::after{ box-sizing: border-box; }

body{
  margin: 0;
  background: var(--kid-bg);
  color: var(--kid-ink);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

img{ max-width: 100%; height: auto; display: block; }
a{ color: inherit; text-decoration: none; }
a:hover{ color: var(--kid-red); }
ul{ margin: 0; padding: 0; list-style: none; }
h1,h2,h3,h4{ font-family: var(--font-display); margin: 0 0 8px; line-height: 1.25; }

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

.screen-reader-text{
  position: absolute !important;
  clip: rect(1px,1px,1px,1px);
  overflow: hidden;
  height: 1px; width: 1px;
}

.eyebrow-link{ display:inline-block; font-size:12px; font-weight:700; text-transform:uppercase; }

/* =========================================================
   1. TOP BAR / HEADER
   ========================================================= */
.site-topbar{
  background: var(--kid-black);
  color: #cfcfcf;
  font-size: 12px;
}
.site-topbar .container{ display:flex; justify-content:flex-end; padding-top:4px; padding-bottom:4px; }
.site-topbar a{ color:#cfcfcf; margin-left:14px; }

.site-header{
  background: var(--kid-white);
  border-bottom: 4px solid var(--kid-red);
  position: relative;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  padding: 14px 0;
}
.site-branding{ display:flex; align-items:center; gap:12px; min-width:0; }
.site-branding > div{ min-width:0; }
.site-logo-mark{
  width:34px; height:34px; background:var(--kid-red);
  clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
  flex: 0 0 auto;
}
.site-title{
  font-family: var(--font-voice);
  font-weight:700;
  font-style: italic;
  font-size: clamp(20px, 6vw, 34px);
  color: var(--kid-black);
  margin:0;
  letter-spacing: -0.5px;
  white-space: nowrap;
}
.site-title a{ color: var(--kid-black); }
.site-description{
  font-size:11px;
  color: var(--kid-gray);
  margin-top:-4px;
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.menu-toggle{
  display:none;
  align-items:center;
  gap:8px;
  background: transparent;
  border:1px solid var(--kid-gray-line);
  color: var(--kid-black);
  padding:8px 14px;
  border-radius:20px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  flex:0 0 auto;
}
.menu-toggle-bars{ font-size:16px; line-height:1; }

.main-navigation{
  flex:1;
  display:flex;
  justify-content:flex-end;
  min-width:0;
}
.nav-menu{ display:flex; flex-wrap:wrap; }
.nav-menu li a{
  display:block;
  padding: 10px 14px;
  font-size: 13px;
  font-weight:700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--kid-black);
  border-bottom: 3px solid transparent;
}
.nav-menu li a:hover,
.nav-menu li.current-menu-item > a{ color: var(--kid-red); border-bottom-color: var(--kid-red); }

.header-search-toggle{
  border:1px solid var(--kid-gray-line);
  background:var(--kid-white);
  border-radius:20px;
  padding:6px 14px;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  flex:0 0 auto;
}

.nav-backdrop{ display:none; }

.header-search-form{
  display:none;
  padding: 12px 0;
  border-top:1px solid var(--kid-gray-line);
}
.header-search-form.is-open{ display:flex; }
.header-search-form input[type="search"]{
  flex:1;
  border:1px solid var(--kid-gray-line);
  padding:10px 12px;
  font-size:14px;
}
.header-search-form button{
  background: var(--kid-red);
  color:#fff;
  border:0;
  padding:0 18px;
  font-weight:700;
  cursor:pointer;
}

/* Mobile: logo shrinks (clamp above), nav collapses into a
   hamburger-triggered dropdown panel with a tap-to-close backdrop —
   same interaction pattern as the reference theme, in Komparatif's
   own white/red palette instead of its dark navy header. */
@media (max-width: 900px){
  .header-inner{ flex-wrap: wrap; padding: 12px 0; position: relative; }
  .site-branding{ order:1; flex:1 1 auto; }
  .header-search-toggle{ order:2; }
  .menu-toggle{ display:inline-flex; order:3; }

  .main-navigation{
    order:4;
    flex-basis:100%;
    display:none;
    position:absolute;
    top:100%;
    left:0; right:0;
    z-index:200;
    background: var(--kid-white);
    border-top:1px solid var(--kid-gray-line);
    box-shadow: 0 16px 30px rgba(0,0,0,.15);
    max-height: calc(100vh - 60px);
    overflow-y:auto;
  }
  .main-navigation.is-open{ display:block; }
  .nav-menu{ flex-direction:column; width:100%; }
  .nav-menu li a{ padding:14px 20px; border-bottom:1px solid var(--kid-gray-line); }
  .nav-menu li a:hover,
  .nav-menu li.current-menu-item > a{ border-bottom-color: var(--kid-gray-line); background: var(--kid-bg); }

  .nav-backdrop{
    display:none;
    position:fixed;
    inset:0;
    background: rgba(10,10,10,.5);
    z-index:150;
  }
  .nav-backdrop.is-open{ display:block; }
}
@media (max-width: 480px){
  .header-search-toggle-text,
  .menu-toggle-text,
  .site-description{ display:none; }
}

/* =========================================================
   1.5 BREAKING NEWS TICKER
   ========================================================= */
.breaking-ticker{
  background: var(--kid-red);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.breaking-ticker .container{ display:flex; align-items:stretch; padding:0; }
.ticker-label{
  background: var(--kid-red-dark);
  font-family: var(--font-display);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:14px;
  padding:9px 16px;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.ticker-label .dot{
  width:8px; height:8px; border-radius:50%;
  background:#fff;
  animation: kid-pulse 1.4s infinite;
}
@keyframes kid-pulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.35; transform:scale(.8); }
}
.ticker-viewport{ flex:1; overflow:hidden; position:relative; }
.ticker-track{
  display:flex;
  white-space:nowrap;
  animation: kid-ticker-scroll 32s linear infinite;
  padding:9px 0;
}
.ticker-track a{ color:#fff; font-weight:600; font-size:14.5px; margin-right:48px; }
.ticker-track a:hover{ text-decoration:underline; }
@keyframes kid-ticker-scroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{ animation:none; overflow-x:auto; }
  .ticker-label .dot{ animation:none; }
}

/* =========================================================
   2. HEADLINE SLIDESHOW (hero + synced secondary list)
   ========================================================= */
.headline-slideshow-wrap{
  display:flex;
  gap: 24px;
  align-items: stretch;
  margin: 22px 0;
}

.headline-hero{
  position: relative;
  flex: 1.7;
  overflow: hidden;
  border-radius: 2px;
  background: #000;
  min-height: 480px;
}
.headline-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  transition: opacity .9s ease;
}
.headline-slide.is-active{ opacity: 1; z-index: 2; }
.headline-slide-img{ width:100%; height:100%; object-fit: cover; }
.headline-slide-content{
  position: absolute; left:0; right:0; bottom:0;
  padding: 30px 34px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.88) 100%);
}
.headline-slide-content h2{ font-size: 32px; color:#fff; margin: 0 0 10px; max-width: 80%; }
.headline-slide-content h2 a{ color:#fff; }
.headline-excerpt{ color:#e2e2e2; font-size:14px; max-width:640px; margin:0 0 10px; }
.headline-meta{ color:#cfcfcf; font-size:12px; text-transform:uppercase; letter-spacing:.5px; }

.badge-pill{
  display:inline-block;
  font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.5px;
  padding: 5px 12px; border-radius:2px; margin-bottom:10px;
}
.badge-hero{ background: var(--kid-red); color:#fff; }

.headline-dots{
  position:absolute; right:20px; bottom:20px; z-index:3;
  display:flex; gap:6px;
}
.headline-dot{
  width:10px; height:10px; border-radius:50%; border:0;
  background: rgba(255,255,255,.45); cursor:pointer; padding:0;
  transition: all .3s ease;
}
.headline-dot.is-active{ width:26px; border-radius:6px; background: var(--kid-red); }

.headline-list{
  flex: 1;
  display:flex;
  flex-direction: column;
  gap: 14px;
}
.headline-list-item{
  display:flex; gap:14px; align-items:center; flex:1;
  background:#fff;
  border:1px solid var(--kid-gray-line);
  border-left: 4px solid transparent;
  padding: 10px;
  transition: border-color .3s ease;
}
.headline-list-item.is-active{ border-left-color: var(--kid-red); }
.headline-list-item .thumb{ flex:0 0 96px; width:96px; height:72px; overflow:hidden; }
.headline-list-item .thumb img{ width:100%; height:100%; object-fit:cover; }
.headline-list-body{ min-width:0; }
.headline-list-body .badge-pill{ background:#cba135; color:#4a3708; margin-bottom:6px; }
.headline-list-body h4{
  font-size:14px; margin:0; font-weight:700; line-height:1.35; color: var(--kid-ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

@media (max-width: 960px){
  .headline-slideshow-wrap{ flex-direction: column; }
  .headline-hero{ min-height: 320px; }
}
@media (max-width: 640px){
  .headline-slide-content h2{ font-size:22px; max-width:100%; }
  .headline-list-item .thumb{ flex-basis:76px; width:76px; height:60px; }
}

/* =========================================================
   3. LAYOUT: content left / sidebar right
   ========================================================= */
.site-content-wrap{
  display:flex;
  align-items:flex-start;
  gap: 30px;
  padding-bottom: 40px;
}
.primary-content{ flex: 1 1 0; min-width:0; }
.widget-area{
  flex: 0 0 300px;
  width: 300px;
}

/* Section header (TERBARU, POLITIK, KHAZANAH, TEKNOLOGI ...) */
.section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom: 3px solid var(--kid-black);
  margin-bottom: 16px;
}
.section-heading h2{
  font-family: var(--font-body);
  font-size: 16px;
  font-weight:800;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--kid-red);
  border-bottom: 3px solid var(--kid-red);
  margin: 0 0 -3px;
  padding-bottom: 10px;
}
.section-heading .more-link{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  color:var(--kid-gray);
  padding-bottom:10px;
}

/* Category color band variants */
.section-heading.is-band{ border-bottom:none; margin-bottom:0; }
.section-heading.is-band h2{
  color:#fff;
  border-bottom:none;
  padding: 10px 14px;
  margin:0;
  width:100%;
}
.band-politik .section-heading.is-band{ background: var(--kid-orange); }
.band-khazanah .section-heading.is-band{ background: var(--kid-yellow); }
.band-khazanah .section-heading.is-band h2{ color:#1a1a1a; }
.band-teknologi .section-heading.is-band{ background: var(--kid-orange); }
.category-block{ margin: 34px 0; }
.category-block .band-inner{ padding-top:18px; }

/* Post lists */
.post-list-item{
  display:flex;
  gap:14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--kid-gray-line);
}
.post-list-item:first-child{ padding-top:0; }
.post-list-item .thumb{ flex:0 0 120px; width:120px; height:80px; overflow:hidden; background:#ddd; }
.post-list-item .thumb img{ width:100%; height:100%; object-fit:cover; }
.post-list-item .entry-body{ flex:1; min-width:0; }
.post-list-item h3{ font-size:16px; margin:0 0 6px; font-weight:700; }
.post-list-item .entry-excerpt{ font-size:13px; color:var(--kid-gray); margin-bottom:6px; }
.entry-meta{ font-size:11px; color: var(--kid-gray); text-transform:uppercase; }
.entry-meta a{ color: var(--kid-red); font-weight:700; }

/* Category grid (3-up thumbnails with headline under) */
.category-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 22px;
}
.category-grid .thumb{ aspect-ratio: 4/3; overflow:hidden; margin-bottom:8px; background:#ddd; }
.category-grid .thumb img{ width:100%; height:100%; object-fit:cover; }
.category-grid h4{ font-size:14px; margin:0; font-weight:700; }

/* =========================================================
   3.5 OPINI — carousel editorial, identitas visual sengaja
   berbeda (krem + navy + serif) supaya terasa seperti "kolom
   pendapat" yang disisipkan di tengah portal berita, bukan
   sekadar grid berita lain. Terkurung di lebar kolom konten
   utama saja (tidak menjorok ke sidebar).
   ========================================================= */
.opini-section{
  background: var(--kid-opini-bg);
  border: 1px solid var(--kid-opini-border);
  border-radius: 10px;
  padding: 26px 26px 22px;
  margin: 38px 0;
}
.opini-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; margin-bottom:20px;
}
.opini-eyebrow{
  display:block;
  font-family: var(--font-display);
  font-size:12px; font-weight:700; letter-spacing:1.8px;
  text-transform:uppercase; color: var(--kid-opini-ink-soft);
}
.opini-head h2{
  font-family: var(--font-voice);
  font-style:italic; font-weight:700;
  color: var(--kid-opini-ink);
  font-size:26px; margin:2px 0 0;
}
.opini-more{
  flex-shrink:0;
  font-family: var(--font-display);
  font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.3px;
  color: var(--kid-opini-ink);
  display:flex; align-items:center; gap:6px; padding-bottom:4px;
}
.opini-more span{ transition: transform .2s ease; }
.opini-more:hover span{ transform: translateX(3px); }

.opini-track-wrap{ position:relative; }
.opini-track{
  display:flex; gap:16px; overflow-x:auto;
  scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px;
}
.opini-track::-webkit-scrollbar{ display:none; }
.opini-card{
  scroll-snap-align:start;
  flex:1 1 0; min-width:220px; max-width:260px;
  background: var(--kid-opini-card);
  border:1px solid var(--kid-opini-border);
  border-radius:6px;
  padding:20px 18px 18px;
  position:relative; overflow:hidden;
}
.opini-card .quote-mark{
  position:absolute; top:-14px; left:8px;
  font-family: var(--font-voice);
  font-size:84px; color: var(--kid-opini-ink); opacity:.07;
  line-height:1; pointer-events:none;
}
.opini-card .opini-topic{
  position:relative; display:inline-block;
  font-family: var(--font-display);
  font-size:11px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
  color: var(--kid-opini-ink);
  border-bottom:2px solid var(--kid-opini-ink);
  padding-bottom:3px; margin-bottom:12px;
}
.opini-card h3{
  position:relative;
  font-family: var(--font-voice);
  font-style:italic; font-weight:600; font-size:18px; line-height:1.3;
  color: var(--kid-ink); margin:0 0 12px;
}
.opini-card h3 a:hover{ color: var(--kid-opini-ink); }
.opini-card .opini-excerpt{ position:relative; font-size:13.5px; color: var(--kid-gray); margin:0 0 16px; }
.opini-byline{
  position:relative; display:flex; align-items:center; gap:10px;
  border-top:1px solid var(--kid-opini-border); padding-top:12px;
}
.opini-avatar{
  width:30px; height:30px; border-radius:50%;
  background: var(--kid-opini-ink); color: var(--kid-opini-card);
  font-family: var(--font-display); font-weight:700; font-size:12px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.opini-byline .opini-name{ font-weight:700; font-size:13px; color: var(--kid-opini-ink); display:block; }
.opini-byline .opini-role{ font-size:11.5px; color: var(--kid-opini-ink-soft); display:block; }
.opini-controls{ display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
.opini-arrow{
  width:34px; height:34px; border-radius:50%;
  border:1px solid var(--kid-opini-ink); background:transparent; color: var(--kid-opini-ink);
  font-size:15px; display:flex; align-items:center; justify-content:center;
  transition: background .2s ease, color .2s ease;
}
.opini-arrow:hover{ background: var(--kid-opini-ink); color: var(--kid-opini-card); }

@media (max-width: 900px){ .opini-card{ min-width:200px; } }
@media (max-width: 640px){
  .opini-head{ flex-direction:column; align-items:flex-start; }
  .opini-card{ min-width:78vw; max-width:78vw; }
}

/* =========================================================
   3.6 SOROTAN KATEGORI — mosaik foto, identitas ketiga
   (teal + overlay gelap + tipografi condensed), sengaja
   photo-forward: kebalikan dari Opini yang text-forward.
   Kategorinya bisa diganti lewat Kustomais, bukan hard-code.
   ========================================================= */
.spotlight-section{ margin: 40px 0; }
.spotlight-section .section-heading h2{
  color: var(--kid-spotlight-accent);
  border-bottom-color: var(--kid-spotlight-accent);
}
.spotlight-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 120px;
  gap: 10px;
}
.spotlight-tile{
  position:relative; display:block; border-radius:6px; overflow:hidden; background: var(--kid-black);
}
.spotlight-tile.is-featured{ grid-column: span 2; grid-row: span 2; }
.spotlight-tile img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition: transform .4s ease;
}
.spotlight-tile:hover img{ transform: scale(1.06); }
.spotlight-tile::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(9,13,15,0) 35%, rgba(6,20,22,.92) 100%);
}
.spotlight-tile-content{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:12px; }
.spotlight-badge{
  display:inline-block; background: var(--kid-spotlight-accent); color:#fff;
  font-family: var(--font-display); font-size:10px; font-weight:700;
  text-transform:uppercase; letter-spacing:.6px; padding:2px 8px; border-radius:2px; margin-bottom:6px;
}
.spotlight-tile-content h4{
  color:#fff; font-family: var(--font-display); font-weight:700; font-size:14px; line-height:1.25; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.spotlight-tile.is-featured .spotlight-tile-content{ padding:18px; }
.spotlight-tile.is-featured .spotlight-badge{ font-size:11.5px; }
.spotlight-tile.is-featured h4{ font-size:21px; -webkit-line-clamp:3; }
@media (max-width: 700px){
  .spotlight-grid{ grid-template-columns: repeat(2, 1fr); grid-auto-rows:140px; }
  .spotlight-tile.is-featured{ grid-column: span 2; grid-row: span 1; }
}

/* =========================================================
   4. SIDEBAR
   ========================================================= */
.widget{
  background: var(--kid-white);
  border: 1px solid var(--kid-gray-line);
  margin-bottom: 26px;
}
.widget-title{
  background: var(--kid-black);
  color:#fff;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
  padding: 10px 14px;
  margin:0;
}
.widget.widget-editor-pick .widget-title{ background: var(--kid-red); }
.widget.widget-opini .widget-title{ background: var(--kid-blue); }
.widget-opini .mini-post h4{ font-family: var(--font-voice); font-style: italic; font-weight:700; font-size:14px; }
.widget-body{ padding: 14px; }

.mini-post{
  display:flex;
  gap:10px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--kid-gray-line);
}
.mini-post:last-child{ border-bottom:0; }
.mini-post .thumb{ flex:0 0 64px; width:64px; height:64px; overflow:hidden; background:#ddd; }
.mini-post .thumb img{ width:100%; height:100%; object-fit:cover; }
.mini-post h4{ font-size:13px; margin:0 0 4px; font-weight:700; line-height:1.35; }
.mini-post .entry-meta{ font-size:10px; }

.widget-ad{ text-align:center; }
.widget-ad img{ width:100%; }
.widget-ad .ad-placeholder{
  background: repeating-linear-gradient(45deg,#eee,#eee 10px,#f5f5f5 10px,#f5f5f5 20px);
  height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#999;
  font-size:12px;
  text-transform:uppercase;
}

.tag-cloud-list{ display:flex; flex-wrap:wrap; gap:8px; }
.tag-cloud-list a{
  display:flex; align-items:center; gap:6px;
  font-size:12px;
  border:1px solid var(--kid-gray-line);
  padding:5px 10px;
  border-radius:20px;
}
.tag-cloud-list .count{
  background: var(--kid-red); color:#fff;
  border-radius:50%;
  min-width:18px; height:18px;
  font-size:10px;
  display:flex; align-items:center; justify-content:center;
  padding:0 4px;
}

.widget_search .search-form{ display:flex; }
.widget_search input[type="search"]{ flex:1; border:1px solid var(--kid-gray-line); padding:8px 10px; }
.widget_search button{ background:var(--kid-red); color:#fff; border:0; padding:0 14px; }

/* Subscribe box in widget */
.widget-subscribe input[type="email"]{
  width:100%; padding:10px; border:1px solid var(--kid-gray-line); margin-bottom:10px;
}
.widget-subscribe button{
  width:100%; background:var(--kid-red); color:#fff; border:0; padding:10px; font-weight:700; text-transform:uppercase; cursor:pointer;
}

/* "Komparatif: Populer" widget — daftar bernomor, bisa ditambahkan
   lewat Tampilan > Widget ke area manapun. */
.popular-list{ display:flex; flex-direction:column; gap:12px; }
.popular-item{ display:flex; align-items:baseline; gap:12px; }
.popular-rank{
  font-family: var(--font-display); font-weight:800; font-size:26px;
  color: var(--kid-red); min-width:32px; line-height:1;
}
.popular-link{ font-weight:700; font-size:14px; line-height:1.35; }
.popular-link:hover{ color: var(--kid-red); }

/* Load more */
.load-more-wrap{ text-align:center; margin: 20px 0 10px; }
.load-more-wrap .load-more-btn{
  display:inline-block;
  background: var(--kid-black);
  color:#fff;
  padding: 10px 26px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  cursor:pointer;
  border:0;
}
.load-more-wrap .load-more-btn:hover{ background: var(--kid-red); }

/* =========================================================
   5. SINGLE / PAGE
   ========================================================= */

/* Breadcrumb */
.breadcrumb-row{ padding: 14px 16px 0; }
.kid-breadcrumb{ font-size:12px; color: var(--kid-gray); }
.kid-breadcrumb a{ color: var(--kid-gray); }
.kid-breadcrumb a:hover{ color: var(--kid-red); }
.kid-breadcrumb .sep{ margin: 0 6px; }
.kid-breadcrumb .current{ color: var(--kid-ink); }

.single .entry-header{ margin-bottom: 14px; }
.single .entry-title{
  font-size: 30px;
  color: #1c3c73;
  font-weight: 700;
}
.single .entry-meta{ font-size:12px; color:var(--kid-gray); text-transform:none; margin-bottom: 4px; }
.single .entry-meta a{ color: var(--kid-ink); font-weight:700; text-transform:none; }

.single .entry-thumbnail{ margin: 0 0 18px; }
.single .entry-thumbnail figcaption{
  font-size:12px;
  font-style: italic;
  color: var(--kid-gray);
  padding-top:8px;
}

.single .entry-content{ font-size:16px; line-height:1.8; }
.single .entry-content p{ margin: 0 0 18px; }
.single .entry-content img{ margin: 12px 0; }
.single .entry-content h2{ font-size:22px; margin-top:30px; }
.single .entry-content blockquote{
  margin: 20px 0;
  padding: 14px 20px;
  border-left: 4px solid var(--kid-red);
  background: #faf6f6;
  font-family: var(--font-voice);
  font-style: italic;
  font-size: 18px;
  color: #444;
}

/* "Baca juga" inline box */
.baca-juga{
  display:block;
  background:#f1f6fb;
  border-left:4px solid var(--kid-blue);
  padding: 12px 16px;
  font-size:14px;
  margin: 20px 0;
}
.baca-juga strong{ color: var(--kid-blue); }

.entry-tags{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  margin-top:24px; padding-top:16px; border-top:1px solid var(--kid-gray-line);
}
.entry-tags-label{ font-size:11px; font-weight:800; color:var(--kid-gray); letter-spacing:.5px; margin-right:4px; }
.entry-tags a{
  display:inline-block; font-size:12px; background:#eef4fb; color: var(--kid-blue);
  border:1px solid #d9e7f5; padding:4px 10px; border-radius:3px;
}
.entry-tags a:hover{ background: var(--kid-blue); color:#fff; }

.entry-share{ display:flex; gap:8px; margin: 16px 0 26px; }
.entry-share a{
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:13px; font-weight:700;
}
.entry-share .share-fb{ background:#3b5998; }
.entry-share .share-x{ background:#000; }
.entry-share .share-pin{ background:#bd081c; }
.entry-share .share-wa{ background:#25d366; }
.entry-share a:hover{ opacity:.85; color:#fff; }

.author-card{
  display:flex; align-items:center; gap:14px;
  padding:18px; background:#fff; border:1px solid var(--kid-gray-line);
  margin-top:10px;
}
.author-card img{ width:64px; height:64px; border-radius:50%; }
.author-card-body{ display:flex; flex-direction:column; gap:4px; }
.author-card-name{ font-weight:700; font-size:15px; }
.author-card-url{ font-size:12px; color: var(--kid-blue); }

/* Related articles */
.related-articles{ margin: 34px 0; }
.related-tabs{ display:flex; gap:22px; border-bottom:2px solid var(--kid-black); margin-bottom:18px; }
.related-tabs .tab{
  font-size:12px; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
  color: var(--kid-gray); padding-bottom:10px;
}
.related-tabs .tab.is-active{ color: var(--kid-red); border-bottom:2px solid var(--kid-red); margin-bottom:-2px; }
.related-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:18px; }
.related-grid .thumb{ aspect-ratio:4/3; overflow:hidden; margin-bottom:8px; background:#ddd; }
.related-grid .thumb img{ width:100%; height:100%; object-fit:cover; }
.related-grid h4{ font-size:13px; font-weight:700; margin:0; }

.pagination-nav{ display:flex; justify-content:space-between; margin: 24px 0; font-size:13px; font-weight:700; }
.pagination-nav a{ color:var(--kid-red); }

/* Comment form */
.comments-area{ }
.comments-title{ font-size:18px; margin-bottom:16px; }
.comment-list{ margin:0 0 20px; }
.comment-list .comment-body{ padding:14px 0; border-bottom:1px solid var(--kid-gray-line); }
#commentform p{ margin: 0 0 12px; }
#commentform label{ display:block; font-size:12px; font-weight:700; margin-bottom:4px; }
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
#commentform textarea{
  width:100%; border:1px solid var(--kid-gray-line); padding:10px 12px; font-family:inherit; font-size:14px;
}
#commentform textarea{ min-height:120px; }
#commentform .comment-form-cookies-consent{ display:flex; align-items:center; gap:8px; font-size:12px; }
#commentform .comment-form-cookies-consent input{ width:auto; }
#commentform .form-submit input[type="submit"]{
  background: var(--kid-black); color:#fff; border:0; padding:10px 26px;
  font-weight:700; text-transform:uppercase; font-size:12px; cursor:pointer;
}
#commentform .form-submit input[type="submit"]:hover{ background: var(--kid-red); }

/* Sidebar variant used on single posts */
.widget-area-single .widget-discover .widget-body{ padding:0; }
.widget-area-single .discover-list li a{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; font-size:13px; font-weight:700;
  border-bottom:1px solid var(--kid-gray-line);
  background: #eef4fb; color: var(--kid-blue);
}
.widget-area-single .discover-list li:first-child a{ border-top:3px solid var(--kid-blue); }
.widget-area-single .discover-list li a span{ color: var(--kid-blue); }

.widget-ad-feature .ad-feature{
  display:flex; align-items:flex-end;
  min-height: 220px;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.65)), #444;
  padding: 16px;
}
.ad-feature-label{
  color:#fff; text-transform:uppercase; font-weight:800; font-size:15px; letter-spacing:.5px;
}

/* "Konten Promosi" ad grid (mgid-style) shown after article content */
.promo-content{ margin: 22px 0; padding: 16px 0; border-top:1px solid var(--kid-gray-line); border-bottom:1px solid var(--kid-gray-line); }
.promo-content-label{
  display:block; font-size:11px; font-weight:800; letter-spacing:1px; color: var(--kid-gray);
  margin-bottom:12px;
}
.promo-content-body{ min-width:0; }

/* Footer "Temukan lebih banyak" discovery ad row */
.footer-discovery{ padding: 18px 0; border-bottom: 1px solid #333; margin-bottom: 24px; }

/* =========================================================
   6. FOOTER
   ========================================================= */
.site-footer{
  background: var(--kid-black);
  color: #bdbdbd;
  margin-top: 30px;
  padding: 40px 0 20px;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 30px;
  padding-bottom: 24px;
  border-bottom: 1px solid #333;
}
.footer-brand .site-title,
.footer-brand .site-title a{ color:#fff; }
.footer-brand p{ font-size:13px; color:#999; margin-top:10px; }
.footer-social{ display:flex; gap:10px; margin-top:14px; }
.footer-social a{
  width:32px; height:32px; border:1px solid #444; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:12px;
}
.footer-col h5{
  color:#fff; text-transform:uppercase; font-size:13px; letter-spacing:.5px;
  font-family: var(--font-body); margin-bottom:14px;
}
.footer-col ul li{ margin-bottom:9px; font-size:13px; }
.footer-col ul li a:hover{ color:var(--kid-red); }
.site-info{ text-align:center; font-size:12px; padding-top:18px; color:#777; }

/* =========================================================
   7. RESPONSIVE
   ========================================================= */
@media (max-width: 960px){
  .site-content-wrap{ flex-direction: column; }
  .widget-area{ width:100%; flex-basis:auto; order: 2; }
  .category-grid{ grid-template-columns: repeat(2,1fr); }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .post-list-item .thumb{ flex-basis:96px; width:96px; height:70px; }
  .category-grid{ grid-template-columns: 1fr 1fr; }
  .footer-grid{ grid-template-columns: 1fr; }
}
