/*
Theme Name: Detikwarta
Theme URI: https://detikwarta.id
Author: Detikwarta.id
Description: Theme portal berita untuk Detikwarta.id — headline besar, Breaking News, Terbaru, Video Terbaru, Jangan Lewatkan, sidebar Trending & Viral, halaman kanal & detail berita lengkap dengan Baca Juga, Berita Terkait, Topik Terkait. Warna mengikuti logo (biru & merah). Ringan tanpa jQuery, responsif, siap AdSense.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: detikwarta
Tags: news, blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, post-formats, threaded-comments
*/

/* ==========================================================================
   1. Variabel & dasar
   ========================================================================== */
:root {
	--dw-blue: #0a55c8;
	--dw-blue-2: #1d74e6;
	--dw-navy: #0b2a80;
	--dw-navy-d: #071a52;
	--dw-red: #e40a0e;
	--dw-red-d: #b8070a;
	--dw-ink: #141a2b;
	--dw-text: #2a3142;
	--dw-muted: #6b7385;
	--dw-line: #e5e9f1;
	--dw-soft: #f2f6fc;
	--dw-radius: 8px;
	--dw-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--dw-serif: "Merriweather", Georgia, "Times New Roman", serif;
	--dw-wrap: 1112px;
	--dw-side: 300px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: #fff;
	color: var(--dw-text);
	font-family: var(--dw-font);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body.dw-lock { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .15s, background-color .15s, border-color .15s; }
a:hover { color: var(--dw-blue); }
button { font-family: inherit; cursor: pointer; }
h1, h2, h3, h4, h5, h6 { color: var(--dw-ink); line-height: 1.3; margin: 0 0 .5em; }
svg.dw-ico { flex-shrink: 0; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}
.dw-skip:focus {
	clip: auto; width: auto; height: auto; margin: 0;
	left: 8px; top: 8px; z-index: 9999;
	background: #fff; padding: 10px 14px; border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,.2);
}

/* Container: hanya padding kiri/kanan — jangan digabung dengan shorthand padding lain */
.dw-container {
	width: 100%;
	max-width: var(--dw-wrap);
	margin-left: auto;
	margin-right: auto;
	padding-left: 16px;
	padding-right: 16px;
}

/* ==========================================================================
   2. Iklan
   ========================================================================== */
.dw-ad { margin: 22px auto; text-align: center; max-width: 100%; overflow: hidden; font-family: var(--dw-font); }
.dw-ad-label { display: block; font-size: 9.5px; letter-spacing: 1.5px; color: #a2aabb; margin-bottom: 4px; }
.dw-ad img { margin: 0 auto; }
.dw-ad-box {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	min-height: 90px; margin: 0 auto;
	background: repeating-linear-gradient(45deg, #f3f6fb, #f3f6fb 10px, #eaf0f8 10px, #eaf0f8 20px);
	border: 1px dashed #c8d3e6; border-radius: 6px; color: #8794ad;
}
.dw-ad-box b { font-size: 15px; letter-spacing: 3px; }
.dw-ad-box small { font-size: 11px; }
.dw-top-ad .dw-ad { margin: 12px auto 4px; }
.dw-ad-header .dw-ad-box { max-width: 970px; min-height: 110px; }
.dw-ad-home_1 .dw-ad-box, .dw-ad-home_2 .dw-ad-box, .dw-ad-archive .dw-ad-box,
.dw-ad-single_top .dw-ad-box, .dw-ad-single_bottom .dw-ad-box { max-width: 728px; }
.dw-ad-sidebar .dw-ad-box { width: 300px; max-width: 100%; min-height: 250px; }
.dw-ad-inline { margin: 24px auto; }
.dw-ad-inline .dw-ad-box { width: 336px; max-width: 100%; min-height: 250px; }

.dw-sky { display: none; }
@media (min-width: 1480px) {
	.dw-sky {
		display: block; position: fixed; top: 150px; width: 160px; z-index: 20;
	}
	.dw-sky .dw-ad { margin: 0; }
	.dw-sky .dw-ad-box { width: 160px; min-height: 600px; }
	.dw-sky-l { left: calc(50% - (var(--dw-wrap) / 2) - 172px); }
	.dw-sky-r { right: calc(50% - (var(--dw-wrap) / 2) - 172px); }
}

/* ==========================================================================
   3. Header
   ========================================================================== */
.dw-header { background: #fff; }
.dw-brand-row {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	min-height: 84px;
}
.dw-logo { display: flex; align-items: center; }
.dw-logo img, .dw-logo .custom-logo { height: 60px; width: auto; }
.dw-brand-right { display: flex; align-items: center; gap: 14px; }
.dw-today { font-size: 12.5px; color: var(--dw-muted); white-space: nowrap; }
.dw-gnews {
	display: inline-flex; align-items: center; gap: 8px;
	border: 1px solid var(--dw-line); border-radius: 30px; padding: 5px 14px 5px 10px;
	font-size: 11px; line-height: 1.2; color: var(--dw-muted);
}
.dw-gnews .dw-ico { width: 22px; height: 22px; color: var(--dw-blue); }
.dw-gnews b { display: block; color: var(--dw-ink); font-size: 12.5px; }
.dw-gnews:hover { border-color: var(--dw-blue); }
.dw-burger, .dw-search-btn-m { display: none; }
.dw-burger, .dw-search-btn {
	background: none; border: 0; padding: 8px; color: var(--dw-navy); line-height: 0; border-radius: 6px;
}
.dw-burger .dw-ico, .dw-search-btn .dw-ico { width: 22px; height: 22px; }

/* Bar menu biru */
.dw-nav { position: sticky; top: 0; z-index: 60; background: #fff; padding: 0 0 2px; }
.admin-bar .dw-nav { top: 32px; }
.dw-nav.is-stuck { box-shadow: 0 6px 16px -10px rgba(7, 26, 82, .5); }
.dw-nav-bar {
	position: relative;
	display: flex; align-items: stretch;
	min-height: 44px;
	background: linear-gradient(90deg, var(--dw-navy) 0%, var(--dw-blue) 55%, var(--dw-blue-2) 100%);
	border-radius: 6px;
}
.dw-menu { display: flex; align-items: stretch; list-style: none; margin: 0; padding: 0; flex: 1; min-width: 0; }
.dw-menu > li { position: relative; display: flex; }
.dw-menu > li > a {
	display: flex; align-items: center; gap: 4px;
	padding: 0 12px;
	color: #fff; font-size: 12.5px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; white-space: nowrap;
}
.dw-menu > li:first-child > a { border-radius: 6px 0 0 6px; }
.dw-menu > li > a:hover { background: rgba(255,255,255,.14); color: #fff; }
.dw-menu > li.current-menu-item > a,
.dw-menu > li.current-menu-ancestor > a,
.dw-menu > li.current-post-ancestor > a,
.dw-menu > li.current-category-ancestor > a { background: var(--dw-red); color: #fff; }
.dw-menu .dw-ico-home { width: 18px; height: 18px; }
.dw-menu > li.menu-item-has-children > a::after {
	content: ""; width: 0; height: 0; margin-left: 2px;
	border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor;
}
.dw-menu .sub-menu {
	position: absolute; top: 100%; left: 0; z-index: 70;
	min-width: 210px; margin: 0; padding: 6px 0; list-style: none;
	background: #fff; border-radius: 0 0 8px 8px; border-top: 3px solid var(--dw-red);
	box-shadow: 0 14px 28px -8px rgba(7, 26, 82, .28);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s;
}
.dw-menu li:hover > .sub-menu, .dw-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.dw-menu .sub-menu a { display: block; padding: 8px 16px; font-size: 13.5px; font-weight: 500; color: var(--dw-ink); }
.dw-menu .sub-menu a:hover { background: var(--dw-soft); color: var(--dw-blue); }
.dw-nav-bar > .dw-search-btn { color: #fff; padding: 0 14px; border-left: 1px solid rgba(255,255,255,.18); border-radius: 0 6px 6px 0; }
.dw-nav-bar > .dw-search-btn:hover { background: rgba(255,255,255,.14); }
.dw-search-drop {
	position: absolute; left: 16px; right: 16px; z-index: 65;
	padding: 12px; background: #fff; border-radius: 0 0 8px 8px; box-shadow: 0 14px 28px -10px rgba(7,26,82,.35);
}

/* Form cari */
.dw-searchform { display: flex; border: 1.5px solid var(--dw-line); border-radius: 8px; overflow: hidden; background: #fff; }
.dw-searchform:focus-within { border-color: var(--dw-blue); }
.dw-searchform input {
	flex: 1; min-width: 0; border: 0; outline: 0; padding: 10px 14px; font: inherit; font-size: 14px; background: transparent;
}
.dw-searchform button { border: 0; background: var(--dw-blue); color: #fff; padding: 0 16px; line-height: 0; }
.dw-searchform button:hover { background: var(--dw-navy); }

/* Bar regional */
.dw-subbar {
	display: flex; align-items: center; gap: 10px;
	margin-top: 6px; padding: 6px 8px; background: var(--dw-soft); border-radius: 6px;
}
.dw-subbar-label {
	display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0;
	background: #fff; border-radius: 4px; padding: 3px 10px 3px 6px;
	font-size: 12px; font-weight: 700; color: var(--dw-navy); box-shadow: 0 1px 2px rgba(7,26,82,.08);
}
.dw-subbar-label .dw-ico { width: 16px; height: 16px; color: var(--dw-red); }
.dw-subbar-scroll, .dw-tren-scroll {
	display: flex; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.dw-subbar-scroll::-webkit-scrollbar, .dw-tren-scroll::-webkit-scrollbar, .dw-track::-webkit-scrollbar { display: none; }
.dw-subbar-scroll a { padding: 2px 12px; font-size: 12.5px; font-weight: 500; color: var(--dw-navy); white-space: nowrap; }
.dw-subbar-scroll a:hover { color: var(--dw-red); }

/* Bar tren */
.dw-tren {
	display: flex; align-items: center; gap: 10px;
	padding: 9px 0; border-bottom: 1px solid var(--dw-line);
}
.dw-tren-label {
	display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0;
	color: var(--dw-red); font-size: 12.5px; font-weight: 800; letter-spacing: .5px;
}
.dw-tren-label .dw-ico { width: 16px; height: 16px; }
.dw-tren-scroll a {
	padding: 0 14px; font-size: 12.5px; font-weight: 600; color: var(--dw-ink); white-space: nowrap;
	border-left: 1px solid var(--dw-line);
}
.dw-tren-scroll a:first-child { border-left: 0; padding-left: 4px; }
.dw-tren-scroll a:hover { color: var(--dw-blue); }

/* Offcanvas (mobile) */
.dw-offcanvas { position: fixed; inset: 0 auto 0 0; z-index: 1000; width: 310px; max-width: 86vw; pointer-events: none; }
.dw-offcanvas-panel {
	height: 100%; overflow-y: auto; background: #fff; padding: 16px;
	transform: translateX(-110%); visibility: hidden; transition: transform .25s ease, visibility .25s; pointer-events: auto;
}
.dw-offcanvas.is-open { pointer-events: auto; }
.dw-offcanvas.is-open .dw-offcanvas-panel { transform: none; visibility: visible; box-shadow: 6px 0 30px rgba(0,0,0,.18); }
.dw-offcanvas-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.dw-offcanvas-head img, .dw-offcanvas-head .custom-logo { height: 40px; width: auto; }
.dw-offcanvas-close { background: var(--dw-soft); border: 0; border-radius: 50%; width: 36px; height: 36px; display: grid; place-items: center; color: var(--dw-navy); }
.dw-mmenu { list-style: none; margin: 14px 0; padding: 0; }
.dw-mmenu li { position: relative; border-bottom: 1px solid var(--dw-line); }
.dw-mmenu a { display: flex; align-items: center; gap: 6px; padding: 11px 4px; font-weight: 600; font-size: 14px; color: var(--dw-ink); text-transform: uppercase; }
.dw-mmenu .current-menu-item > a { color: var(--dw-red); }
.dw-mmenu .sub-menu { display: none; list-style: none; margin: 0; padding: 0 0 8px 12px; }
.dw-mmenu .sub-menu li { border: 0; }
.dw-mmenu .sub-menu a { text-transform: none; font-weight: 500; padding: 7px 4px; }
.dw-mmenu .is-open > .sub-menu { display: block; }
.dw-sub-toggle { position: absolute; right: 0; top: 6px; background: none; border: 0; padding: 6px; color: var(--dw-muted); }
.dw-offcanvas-sub { margin: 18px 0 8px; font-size: 12px; font-weight: 700; color: var(--dw-muted); text-transform: uppercase; letter-spacing: .5px; }
.dw-offcanvas-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.dw-offcanvas-tags a { background: var(--dw-soft); padding: 5px 10px; border-radius: 20px; font-size: 12.5px; font-weight: 500; }
.dw-offcanvas-soc { display: flex; gap: 8px; margin-top: 20px; }
.dw-offcanvas-soc .dw-soc { background: var(--dw-soft); color: var(--dw-navy); }
.dw-overlay { position: fixed; inset: 0; z-index: 999; background: rgba(7, 18, 50, .55); }

/* ==========================================================================
   4. Layout umum
   ========================================================================== */
.dw-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--dw-side);
	gap: 32px;
	margin-top: 24px;
	align-items: start;
}
.dw-layout-top { margin-top: 18px; }
.dw-content { min-width: 0; }
.dw-block { margin-bottom: 30px; }

/* Judul seksi: teks biru gelap + garis dua warna (merah & biru seperti logo) */
.dw-sec-head {
	display: flex; align-items: flex-end; justify-content: space-between; gap: 10px;
	border-bottom: 2px solid var(--dw-line);
	margin-bottom: 6px;
}
.dw-sec-title {
	margin: 0; padding-bottom: 8px;
	font-size: 17px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase;
	color: var(--dw-navy);
}
.dw-sec-title span { position: relative; display: inline-block; }
.dw-sec-title span::after {
	content: ""; position: absolute; left: 0; bottom: -10px; height: 3px; width: 100%; min-width: 48px;
	background: linear-gradient(90deg, var(--dw-red) 0 55%, var(--dw-blue) 55% 100%);
	border-radius: 2px;
}
.dw-sec-more {
	display: inline-flex; align-items: center; gap: 2px; padding-bottom: 9px;
	font-size: 12px; font-weight: 600; color: var(--dw-blue); white-space: nowrap;
}
.dw-sec-more .dw-ico { width: 15px; height: 15px; }
.dw-sec-more:hover { color: var(--dw-red); }

/* Badge & meta */
.dw-badge {
	display: inline-block;
	background: var(--dw-red); color: #fff;
	font-size: 10.5px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; line-height: 1;
	padding: 5px 8px; border-radius: 3px;
}
.dw-badge:hover { background: var(--dw-blue); color: #fff; }
.dw-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; font-size: 11.5px; line-height: 1.4; }
.dw-meta-cat { color: var(--dw-red); font-weight: 700; text-transform: capitalize; }
.dw-meta-cat:hover { color: var(--dw-blue); }
.dw-date { color: var(--dw-muted); font-size: 11.5px; }
.dw-meta .dw-meta-cat + .dw-date::before { content: "•"; margin-right: 8px; color: #c2c8d4; }

/* Placeholder gambar (pakai ikon D) */
.dw-noimg {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%;
	background: linear-gradient(135deg, #eaf1fc 0%, #f7f9fd 60%, #fdeeee 100%);
}
.dw-noimg img { width: 34%; max-width: 90px; height: auto; opacity: .35; filter: grayscale(.2); }

/* Ikon play */
.dw-play {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	width: 48px; height: 48px; border-radius: 50%;
	display: grid; place-items: center;
	background: rgba(228, 10, 14, .92); color: #fff;
	box-shadow: 0 0 0 5px rgba(255,255,255,.28); pointer-events: none;
}
.dw-play .dw-ico { width: 22px; height: 22px; margin-left: 3px; }
.dw-play-sm { width: 34px; height: 34px; box-shadow: 0 0 0 3px rgba(255,255,255,.3); }
.dw-play-sm .dw-ico { width: 16px; height: 16px; margin-left: 2px; }

/* Tombol */
.dw-btn-more, .dw-btn {
	display: flex; align-items: center; justify-content: center; gap: 6px;
	margin-top: 16px; padding: 11px 16px;
	background: var(--dw-red); color: #fff; border: 0; border-radius: 6px;
	font-size: 12.5px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase;
}
.dw-btn { display: inline-flex; margin-top: 0; }
.dw-btn-more .dw-ico { width: 16px; height: 16px; }
.dw-btn-more:hover, .dw-btn:hover { background: var(--dw-navy); color: #fff; }

/* ==========================================================================
   5. Headline (hero)
   ========================================================================== */
.dw-hero {
	display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 12px;
	margin-top: 16px;
}
.dw-hero-single { grid-template-columns: 1fr; }
.dw-hero-side { display: grid; grid-template-rows: 1fr 1fr; gap: 12px; }
.dw-ov { position: relative; overflow: hidden; border-radius: var(--dw-radius); background: var(--dw-navy-d); }
.dw-ov-big { height: 430px; }
.dw-ov-small { min-height: 0; height: 100%; }
.dw-ov-link, .dw-ov-img { position: absolute; inset: 0; display: block; }
.dw-ov-img img, .dw-ov-img .dw-noimg { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.dw-ov:hover .dw-ov-img img { transform: scale(1.04); }
.dw-ov-link::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(7,26,82,0) 35%, rgba(7,20,60,.55) 62%, rgba(4,12,38,.94) 100%);
}
.dw-ov-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 20px; z-index: 2; pointer-events: none; }
.dw-ov-body a { pointer-events: auto; }
.dw-ov-title { margin: 8px 0 6px; color: #fff; font-weight: 700; }
.dw-ov-title a { color: #fff; }
.dw-ov-title a:hover { color: #ffd6d6; }
.dw-ov-big .dw-ov-title { font-size: 27px; line-height: 1.28; text-shadow: 0 2px 10px rgba(0,0,0,.25); }
.dw-ov-small .dw-ov-title { font-size: 15px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dw-ov-small .dw-ov-body { padding: 12px 14px; }
.dw-ov .dw-date { color: rgba(255,255,255,.78); }
.dw-ov .dw-play { top: 38%; }
.dw-ov-big .dw-play { width: 60px; height: 60px; }

/* ==========================================================================
   6. Breaking News (slider)
   ========================================================================== */
.dw-breaking {
	background: linear-gradient(180deg, var(--dw-soft), #fff);
	border: 1px solid var(--dw-line); border-radius: 10px;
	padding: 14px 14px 6px;
}
.dw-breaking-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.dw-breaking-title {
	display: flex; align-items: center; gap: 8px; margin: 0;
	font-size: 19px; font-weight: 800; font-style: italic; color: var(--dw-navy);
}
.dw-breaking-ico {
	display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
	background: linear-gradient(135deg, var(--dw-red), #ff4b3e); color: #fff;
	box-shadow: 0 0 0 4px rgba(228,10,14,.12);
	animation: dw-pulse 1.8s infinite;
}
.dw-breaking-ico .dw-ico { width: 17px; height: 17px; }
@keyframes dw-pulse { 0%,100% { box-shadow: 0 0 0 4px rgba(228,10,14,.14); } 50% { box-shadow: 0 0 0 8px rgba(228,10,14,.04); } }
.dw-breaking-nav { display: flex; align-items: center; gap: 6px; }
.dw-breaking-nav .dw-sec-more { padding: 0 6px 0 0; }
.dw-arrow {
	display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
	border: 1px solid var(--dw-line); background: #fff; color: var(--dw-navy);
}
.dw-arrow:hover { background: var(--dw-blue); border-color: var(--dw-blue); color: #fff; }
.dw-track {
	display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
	padding-bottom: 8px;
}

/* Kartu grid */
.dw-gc { position: relative; min-width: 0; }
.dw-gc-slide { flex: 0 0 calc((100% - 42px) / 4); scroll-snap-align: start; }
.dw-gc-img { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 6px; background: var(--dw-soft); }
.dw-gc-img img, .dw-gc-img .dw-noimg { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.dw-gc:hover .dw-gc-img img { transform: scale(1.05); }
.dw-gc-badge { position: absolute; top: 8px; left: 8px; z-index: 2; font-size: 9.5px; padding: 4px 7px; }
.dw-gc-title {
	margin: 8px 0 4px; font-size: 13.5px; font-weight: 700; line-height: 1.4;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.dw-ggrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; margin-top: 14px; }
.dw-ggrid .dw-gc-title { font-size: 15px; }

/* ==========================================================================
   7. Daftar berita
   ========================================================================== */
.dw-li {
	display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 16px;
	padding: 16px 0; border-bottom: 1px solid var(--dw-line);
}
.dw-li:last-child { border-bottom: 0; }
.dw-li-img { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 6px; background: var(--dw-soft); }
.dw-li-img img, .dw-li-img .dw-noimg { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.dw-li:hover .dw-li-img img { transform: scale(1.05); }
.dw-li-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dw-li-title { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.38; }
.dw-li-ex {
	margin: 0; font-size: 13.5px; color: var(--dw-muted); line-height: 1.55;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.dw-li-compact { grid-template-columns: 160px minmax(0, 1fr); gap: 14px; padding: 13px 0; }
.dw-li-compact .dw-li-title { font-size: 15px; }
.dw-li-compact .dw-li-ex { font-size: 13px; }

/* Video */
.dw-vgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; margin-top: 16px; }
.dw-vc { min-width: 0; }
.dw-vc-img { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--dw-radius); background: var(--dw-navy-d); }
.dw-vc-img img, .dw-vc-img .dw-noimg { width: 100%; height: 100%; object-fit: cover; transition: transform .4s, opacity .3s; }
.dw-vc-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.45)); }
.dw-vc:hover .dw-vc-img img { transform: scale(1.05); opacity: .9; }
.dw-vc .dw-play { z-index: 2; }
.dw-dur {
	position: absolute; right: 8px; bottom: 8px; z-index: 2;
	background: rgba(0,0,0,.75); color: #fff; font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 3px;
}
.dw-vc-title {
	margin: 9px 0 5px; font-size: 14.5px; font-weight: 700; line-height: 1.4;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* Paginasi */
.dw-pagination { margin: 24px 0; }
.dw-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.dw-pagination a, .dw-pagination span {
	display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px;
	border: 1px solid var(--dw-line); border-radius: 6px; font-size: 14px; font-weight: 600; color: var(--dw-ink);
}
.dw-pagination a:hover { border-color: var(--dw-blue); color: var(--dw-blue); }
.dw-pagination .current { background: var(--dw-blue); border-color: var(--dw-blue); color: #fff; }
.dw-pagination .dots { border: 0; }

/* ==========================================================================
   8. Sidebar
   ========================================================================== */
.dw-side { min-width: 0; }
.dw-widget { margin-bottom: 30px; }
.dw-side .dw-sec-title { display: block; border-bottom: 2px solid var(--dw-line); margin-bottom: 6px; }
.dw-tr {
	display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 11px;
	padding: 11px 0; border-bottom: 1px solid var(--dw-line);
}
.dw-tr-img { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 5px; background: var(--dw-soft); }
.dw-tr-img img, .dw-tr-img .dw-noimg { width: 100%; height: 100%; object-fit: cover; }
.dw-tr-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dw-tr-title {
	margin: 0; font-size: 13.5px; font-weight: 700; line-height: 1.4;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.dw-trending .dw-btn-more { margin-top: 14px; }

.dw-viral-list { list-style: none; margin: 0; padding: 0; }
.dw-viral-list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--dw-line); }
.dw-viral-n {
	flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--dw-soft); color: var(--dw-red); font-size: 15px; font-weight: 800;
}
.dw-viral-list li:first-child .dw-viral-n { background: var(--dw-red); color: #fff; }
.dw-viral-list li:nth-child(2) .dw-viral-n { background: var(--dw-blue); color: #fff; }
.dw-viral-list li:nth-child(3) .dw-viral-n { background: var(--dw-navy); color: #fff; }
.dw-viral-list a { display: flex; flex-direction: column; line-height: 1.3; }
.dw-viral-list b { font-size: 14.5px; color: var(--dw-ink); }
.dw-viral-list a:hover b { color: var(--dw-blue); }
.dw-viral-list small { font-size: 11.5px; color: var(--dw-muted); }
.dw-side-sticky { position: sticky; top: 64px; }
.dw-side-sticky .dw-ad { margin-top: 0; }

/* Widget umum */
.dw-widget ul { list-style: none; margin: 0; padding: 0; }
.dw-widget ul li { padding: 8px 0; border-bottom: 1px solid var(--dw-line); font-size: 14px; }
.dw-popular { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.dw-popular li { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--dw-line); }
.dw-popular-n { font-size: 26px; font-weight: 800; color: var(--dw-red); line-height: 1; min-width: 26px; }
.dw-popular a { display: block; font-size: 14px; font-weight: 600; line-height: 1.4; margin-bottom: 2px; }

/* ==========================================================================
   9. Arsip / kanal
   ========================================================================== */
.dw-crumb {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
	font-size: 12px; font-weight: 600; text-transform: uppercase; color: var(--dw-muted);
}
.dw-crumb a { display: inline-flex; color: var(--dw-blue); }
.dw-crumb a:hover { color: var(--dw-red); }
.dw-crumb i { font-style: normal; color: #c0c7d4; }
.dw-crumb .dw-ico { width: 16px; height: 16px; }
.dw-arch-head { margin-bottom: 6px; padding-bottom: 12px; border-bottom: 2px solid var(--dw-line); position: relative; }
.dw-arch-head::after {
	content: ""; position: absolute; left: 0; bottom: -2px; width: 90px; height: 3px;
	background: linear-gradient(90deg, var(--dw-red) 0 55%, var(--dw-blue) 55% 100%);
}
.dw-arch-title { margin: 6px 0 0; font-size: 26px; font-weight: 800; color: var(--dw-navy); text-transform: capitalize; }
.dw-arch-desc { margin-top: 4px; font-size: 14px; color: var(--dw-muted); }
.dw-arch-desc p { margin: 0; }
.dw-arch-head .dw-searchform { margin-top: 12px; }
.dw-arch-sub { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.dw-arch-sub a { padding: 4px 12px; border: 1px solid var(--dw-line); border-radius: 20px; font-size: 12.5px; font-weight: 600; }
.dw-arch-sub a:hover { background: var(--dw-blue); border-color: var(--dw-blue); color: #fff; }
.dw-indeks-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.dw-indeks-filter input, .dw-indeks-filter select {
	padding: 9px 12px; border: 1.5px solid var(--dw-line); border-radius: 6px; font: inherit; font-size: 14px; background: #fff;
}
.dw-none, .dw-404 { text-align: center; padding: 40px 16px; }
.dw-none img { margin: 0 auto 12px; opacity: .5; }
.dw-none .dw-searchform, .dw-404 .dw-searchform { max-width: 420px; margin: 16px auto; }
.dw-404 b {
	display: block; font-size: 96px; line-height: 1; font-weight: 800;
	background: linear-gradient(90deg, var(--dw-blue), var(--dw-red)); -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ==========================================================================
   10. Detail berita
   ========================================================================== */
.dw-single-title {
	margin: 12px 0 12px;
	font-family: var(--dw-serif); font-size: 31px; font-weight: 900; line-height: 1.35; color: #0f1b3d;
}
.dw-lead {
	margin: 0 0 14px; padding-left: 14px; border-left: 3px solid var(--dw-red);
	font-size: 15px; font-style: italic; color: var(--dw-muted); line-height: 1.6;
}
.dw-byline {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px;
	padding: 10px 0; border-top: 1px solid var(--dw-line); border-bottom: 1px solid var(--dw-line);
}
.dw-byline-who { display: flex; flex-direction: column; font-size: 12.5px; color: var(--dw-muted); line-height: 1.6; }
.dw-byline-who span { display: inline; }
.dw-byline-who b { color: var(--dw-blue); font-weight: 600; }
.dw-byline-who span + span::before { content: none; }
.dw-share { display: flex; align-items: center; gap: 6px; }
.dw-share-label { font-size: 11.5px; font-weight: 600; color: var(--dw-muted); margin-right: 2px; }
.dw-sh {
	display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 0; color: #fff;
}
.dw-sh .dw-ico { width: 16px; height: 16px; }
.dw-sh:hover { color: #fff; transform: translateY(-2px); }
.dw-sh-facebook { background: #1877f2; }
.dw-sh-x { background: #111; }
.dw-sh-whatsapp { background: #25d366; }
.dw-sh-telegram { background: #229ed9; }
.dw-sh-copy { background: #8a93a6; }
.dw-sh-copy.is-done { background: var(--dw-blue); }
.dw-share-bottom { margin: 22px 0 6px; padding: 12px 14px; background: var(--dw-soft); border-radius: 8px; }

.dw-feat { margin: 16px 0 6px; }
.dw-feat-img { width: 100%; border-radius: var(--dw-radius); }
.dw-feat figcaption {
	padding: 7px 2px; font-size: 12.5px; color: var(--dw-muted); font-style: italic; border-bottom: 1px solid var(--dw-line);
}
.dw-embed { position: relative; aspect-ratio: 16 / 9; border-radius: var(--dw-radius); overflow: hidden; background: #000; }
.dw-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.dw-entry {
	margin-top: 18px;
	font-family: var(--dw-serif); font-size: 16.5px; line-height: 1.85; color: #222838;
	overflow-wrap: break-word;
}
.dw-entry > *:first-child { margin-top: 0; }
.dw-entry p { margin: 0 0 1.25em; }
.dw-entry h2, .dw-entry h3, .dw-entry h4 { font-family: var(--dw-font); color: var(--dw-navy); margin: 1.6em 0 .6em; }
.dw-entry h2 { font-size: 22px; }
.dw-entry h3 { font-size: 19px; }
.dw-entry a { color: var(--dw-blue); text-decoration: underline; text-underline-offset: 3px; }
.dw-entry a:hover { color: var(--dw-red); }
.dw-entry ul, .dw-entry ol { padding-left: 1.4em; margin: 0 0 1.25em; }
.dw-entry blockquote {
	margin: 1.5em 0; padding: 16px 20px; border-left: 4px solid var(--dw-red); background: var(--dw-soft);
	border-radius: 0 8px 8px 0; font-style: italic;
}
.dw-entry blockquote p:last-child { margin: 0; }
.dw-entry img { border-radius: 6px; }
.dw-entry figure { margin: 1.5em 0; max-width: 100%; }
.dw-entry figcaption, .wp-caption-text { font-family: var(--dw-font); font-size: 12.5px; color: var(--dw-muted); padding-top: 6px; font-style: italic; }
.dw-entry table { width: 100%; border-collapse: collapse; font-family: var(--dw-font); font-size: 14px; margin: 0 0 1.25em; }
.dw-entry th, .dw-entry td { border: 1px solid var(--dw-line); padding: 8px 10px; }
.dw-entry th { background: var(--dw-soft); }
.dw-entry iframe { max-width: 100%; }
.alignleft { float: left; margin: .3em 1.2em .8em 0; }
.alignright { float: right; margin: .3em 0 .8em 1.2em; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.sticky, .bypostauthor, .gallery-caption { outline: 0; }
.dw-pages { font-family: var(--dw-font); font-size: 14px; margin: 16px 0; display: flex; gap: 6px; align-items: center; }
.dw-pages a, .dw-pages > span:not(:first-child) { padding: 3px 10px; border: 1px solid var(--dw-line); border-radius: 4px; text-decoration: none; }

/* Baca Juga */
.dw-bacajuga {
	margin: 1.6em 0; padding: 12px 14px;
	background: var(--dw-soft); border-left: 4px solid var(--dw-red); border-radius: 0 8px 8px 0;
	font-family: var(--dw-font);
}
.dw-bacajuga-label { display: block; font-size: 12px; font-weight: 800; color: var(--dw-red); text-transform: uppercase; letter-spacing: .6px; margin-bottom: 8px; }
.dw-entry .dw-bacajuga-item { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--dw-ink); }
.dw-bacajuga-img { flex: 0 0 100px; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 5px; }
.dw-bacajuga-img img, .dw-bacajuga-img .dw-noimg { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.dw-bacajuga-title { font-size: 15px; font-weight: 700; line-height: 1.4; }
.dw-entry .dw-bacajuga-item:hover .dw-bacajuga-title { color: var(--dw-blue); }

/* Topik terkait */
.dw-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.dw-pills a {
	padding: 6px 14px; border: 1px solid var(--dw-line); border-radius: 20px;
	font-size: 13px; font-weight: 600; color: var(--dw-ink); background: #fff;
}
.dw-pills a::before { content: "#"; color: var(--dw-red); margin-right: 2px; }
.dw-pills a:hover { background: var(--dw-blue); border-color: var(--dw-blue); color: #fff; }
.dw-pills a:hover::before { color: #fff; }

/* Komentar */
.dw-comments .comment-respond, .dw-comment-list { margin-top: 14px; }
.dw-comment-list { list-style: none; padding: 0; }
.dw-comment-list .children { list-style: none; padding-left: 28px; }
.dw-comment-list .comment-body { padding: 12px 0; border-bottom: 1px solid var(--dw-line); font-size: 14px; }
.dw-comment-list .avatar { float: left; border-radius: 50%; margin-right: 10px; }
.dw-comment-list .comment-meta { font-size: 12px; color: var(--dw-muted); }
.dw-comment-list .fn { font-style: normal; color: var(--dw-ink); font-weight: 700; font-size: 14px; }
.dw-comment-list .reply a { font-size: 12px; font-weight: 600; color: var(--dw-blue); }
.comment-form textarea, .comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url] {
	width: 100%; padding: 11px 14px; border: 1.5px solid var(--dw-line); border-radius: 8px; font: inherit; font-size: 14px;
}
.comment-form textarea:focus, .comment-form input:focus { outline: 0; border-color: var(--dw-blue); }
.comment-form p { margin: 0 0 10px; font-size: 13px; }
.comment-form .submit {
	background: var(--dw-blue); color: #fff; border: 0; border-radius: 6px; padding: 10px 20px; font-weight: 700; font-size: 13px;
}
.comment-form .submit:hover { background: var(--dw-navy); }
.comment-form-cookies-consent { display: flex; gap: 6px; align-items: flex-start; }

/* ==========================================================================
   11. Footer
   ========================================================================== */
.dw-footer {
	margin-top: 44px; padding: 30px 0 22px;
	background: linear-gradient(180deg, var(--dw-navy-d) 0%, #050f33 100%);
	border-top: 4px solid var(--dw-red);
	color: #c4cee6; font-size: 13px;
}
.dw-footer a { color: #e3e9f7; }
.dw-footer a:hover { color: #fff; }
.dw-footer-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
.dw-footer-logo img { height: 52px; width: auto; }
.dw-footer-follow { display: flex; align-items: center; gap: 12px; }
.dw-footer-follow span { font-size: 12.5px; font-weight: 600; }
.dw-footer-soc, .dw-offcanvas-soc { display: flex; gap: 8px; }
.dw-soc {
	display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
	background: rgba(255,255,255,.1); color: #fff;
}
.dw-footer .dw-soc:hover { background: var(--dw-red); }
.dw-soc .dw-ico { width: 17px; height: 17px; }
.dw-footer-widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.dw-fwidget h4 { color: #fff; font-size: 14px; text-transform: uppercase; }
.dw-footer-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 0; list-style: none; margin: 0; padding: 18px 0 6px; }
.dw-footer-nav li { padding: 0 14px; border-left: 1px solid rgba(255,255,255,.18); line-height: 1.2; }
.dw-footer-nav li:first-child { border-left: 0; }
.dw-footer-nav a { font-weight: 600; font-size: 13px; }
.dw-copy { text-align: center; padding-top: 12px; font-size: 12px; color: #93a0c0; line-height: 1.8; }
.dw-copy span { letter-spacing: 2px; font-size: 10.5px; text-transform: uppercase; color: #6f7ea6; }

.dw-totop {
	position: fixed; right: 18px; bottom: 18px; z-index: 50;
	width: 42px; height: 42px; border-radius: 50%; border: 0;
	display: grid; place-items: center;
	background: var(--dw-blue); color: #fff; box-shadow: 0 6px 16px rgba(10,85,200,.35);
	opacity: 0; visibility: hidden; transform: translateY(10px); transition: .2s;
}
.dw-totop .dw-ico { transform: rotate(180deg); }
.dw-totop.is-show { opacity: 1; visibility: visible; transform: none; }
.dw-totop:hover { background: var(--dw-red); }

/* ==========================================================================
   12. Responsif
   ========================================================================== */
@media (max-width: 1100px) {
	.dw-menu > li > a { padding: 0 9px; font-size: 12px; }
}

@media (max-width: 991px) {
	:root { --dw-side: 100%; }
	.dw-layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.dw-side-sticky { position: static; }
	.dw-brand-row { min-height: 64px; }
	.dw-burger, .dw-search-btn-m { display: inline-flex; }
	.dw-logo { flex: 1; justify-content: center; }
	.dw-logo img, .dw-logo .custom-logo { height: 44px; }
	.dw-today, .dw-gnews { display: none; }
	.dw-nav-bar > .dw-search-btn { display: none; }
	.dw-menu { overflow-x: auto; scrollbar-width: none; }
	.dw-menu::-webkit-scrollbar { display: none; }
	.dw-menu .sub-menu { display: none; }
	.dw-menu > li.menu-item-has-children > a::after { display: none; }
	.dw-nav-bar { border-radius: 0; margin-left: -16px; margin-right: -16px; }
	.dw-menu > li:first-child > a { border-radius: 0; }
	.admin-bar .dw-nav { top: 0; }
	.dw-ov-big { height: 360px; }
	.dw-ov-big .dw-ov-title { font-size: 23px; }
	.dw-gc-slide { flex-basis: calc((100% - 28px) / 3); }
}

@media (max-width: 767px) {
	body { font-size: 14.5px; }
	.dw-hero { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 12px; }
	.dw-hero-side { grid-template-rows: none; grid-template-columns: 1fr 1fr; gap: 10px; }
	.dw-ov-big { height: 280px; }
	.dw-ov-big .dw-ov-title { font-size: 19px; }
	.dw-ov-big .dw-ov-body { padding: 14px; }
	.dw-ov-small { height: 170px; }
	.dw-ov-small .dw-ov-title { font-size: 13.5px; }
	.dw-ov-small .dw-badge { display: none; }
	.dw-gc-slide { flex-basis: 44%; }
	.dw-li { grid-template-columns: 128px minmax(0, 1fr); gap: 12px; padding: 13px 0; }
	.dw-li-title, .dw-li-compact .dw-li-title { font-size: 14.5px; }
	.dw-li-compact { grid-template-columns: 112px minmax(0, 1fr); }
	.dw-li-ex { display: none; }
	.dw-vgrid { gap: 16px 12px; }
	.dw-vc-title { font-size: 13.5px; }
	.dw-ggrid { gap: 14px 12px; }
	.dw-ggrid .dw-gc-title { font-size: 13.5px; }
	.dw-single-title { font-size: 23px; }
	.dw-entry { font-size: 16px; line-height: 1.8; }
	.dw-byline { flex-direction: column; align-items: flex-start; }
	.dw-arch-title { font-size: 22px; }
	.dw-footer-top { flex-direction: column; text-align: center; }
	.dw-footer-follow { flex-direction: column; }
	.dw-ad-header .dw-ad-box { min-height: 60px; }
	.alignleft, .alignright { float: none; margin: 1em auto; }
}

@media (max-width: 420px) {
	.dw-ov-small { height: 150px; }
	.dw-vgrid { grid-template-columns: minmax(0, 1fr); }
	.dw-share-label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Meta di sidebar: kategori & tanggal bertumpuk agar tidak terpotong */
.dw-tr .dw-meta { flex-direction: column; align-items: flex-start; gap: 0; }
.dw-tr .dw-meta .dw-meta-cat + .dw-date::before { content: none; }
