/*
Theme Name: Komparatif ID
Theme URI: https://komparatif.id
Author: Komparatif.ID
Author URI: https://komparatif.id
Description: Tema berita responsif dengan sidebar di kanan, terinspirasi tampilan Komparatif.ID. Mendukung berita utama, kategori dengan pita warna, editor's pick, kolom opini, dan topik hot.
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 */
}

*, *::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);
}
.site-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 18px 0;
}
.site-branding{ display:flex; align-items:center; gap:12px; }
.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: 34px;
  color: var(--kid-black);
  margin:0;
  letter-spacing: -0.5px;
}
.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;
}

.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;
}

.main-navigation{
  background: var(--kid-white);
  border-top: 1px solid var(--kid-gray-line);
}
.main-navigation ul{ display:flex; flex-wrap:wrap; }
.main-navigation ul li a{
  display:block;
  padding: 12px 16px;
  font-size: 13px;
  font-weight:700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--kid-black);
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a{ color: var(--kid-red); }
.main-navigation ul li:first-child a{ padding-left:0; }

.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;
}

/* =========================================================
   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; }

/* =========================================================
   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;
}

/* 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){
  .site-header-inner{ flex-direction:column; align-items:flex-start; gap:10px; }
  .main-navigation ul{ overflow-x:auto; flex-wrap:nowrap; }
  .post-list-item .thumb{ flex-basis:96px; width:96px; height:70px; }
  .breaking-content h2{ font-size:22px; }
  .category-grid{ grid-template-columns: 1fr 1fr; }
  .footer-grid{ grid-template-columns: 1fr; }
}
