/**
 * Redesign v2 — acuan visual tema-infonus-v2/Main.dc.html (+ preview.png).
 *
 * Dimuat setelah style-mobile.css (< 1024 px) / style-desktop.css (>= 1024 px) dan menimpa
 * keduanya. Tampilan dipilih lewat media query, bukan wp_is_mobile(): HTML sama untuk semua
 * perangkat sehingga aman di cache bersama (Hostinger CDN mengabaikan Vary: User-Agent).
 * Aturan per perangkat memakai body.sw di dalam media query agar specificity-nya sama dengan
 * body.desktop/body.mobile dulu. Komponen baru berprefiks sw-. Breakpoint mengikuti
 * flex-basis di mockup: kolom utama 560 + sidebar 300 menumpuk di bawah 1024 px.
 *
 * Warna --primary/--secondary/--active bisa diganti di Customizer (dicetak inline setelah berkas
 * ini oleh customcss()).
 */

:root {
	--primary: #B5242F;
	--secondary: #2A1647;
	--active: #F5A32A;
	--sw-mid: #6E1F3F;
	--sw-gradient: linear-gradient(90deg, var(--primary) 0%, var(--sw-mid) 50%, var(--secondary) 100%);
	--sw-text: #1A1A1A;
	--sw-muted: #5F5F5F;
	--sw-line: #E3E3E3;
	--sw-line-strong: #CFCFCF;
	--sw-bg: #FCFBFA;
	--sw-soft: #F5F5F5;
	--sw-ph: #E3E3E3;
	--sw-hover: #8F1B25;
	--sw-new: #E60000;
	--sw-topbar: #1A1A1A;
	--sw-band-ph: #3A2A57;
	--sw-band-line: rgb(255 255 255 / .2);
	--sw-band-muted: #D9D4E3;
	--sw-gutter: 24px;
	/* Pasangan font mengikuti tempo.co (assets/css/fonts.css). */
	--sw-font-sans: "Roboto", Arial, sans-serif;
	--sw-font-serif: "Roboto Serif", Georgia, "Times New Roman", serif;

	/* Skala tipografi tempo.co (diukur 2026-10-19, desktop 1440 & iPhone 390): ukuran/line-height.
	   Dipakai blok "Tipografi" di akhir berkas. */
	--sw-type-hero: 32px/39px;        /* judul hero beranda (ponsel: --sw-type-hero-sm) */
	--sw-type-hero-sm: 26px/31.72px;
	--sw-type-h1: 26px/31.72px;       /* judul artikel/halaman */
	--sw-type-feature: 24px/30px;     /* artikel besar di band Sorotan */
	--sw-type-card-lg: 22px/26.84px;  /* judul kartu besar / nama rubrik */
	--sw-type-headline: 18px/28px;    /* judul kartu & daftar berita, judul section */
	--sw-type-body-serif: 20px/28px;  /* isi artikel (Roboto Serif) */
	--sw-type-base: 16px/24px;        /* teks dasar, daftar kecil, keterangan foto */
	--sw-type-lead: 16px/24.96px;     /* ringkasan (Roboto Serif) */
	--sw-type-ui: 14px/20px;          /* menu, tanggal, label, tombol */
	--sw-type-xs: 12px/16px;          /* teks kecil, badge, hak cipta */
}

.darkmode {
	--sw-text: #fff;
	--sw-muted: #a9a9a9;
	--sw-line: #303030;
	--sw-line-strong: #444;
	--sw-bg: #222;
	--sw-soft: #262626;
	--sw-ph: #2c2c2c;
	--sw-hover: #fff;
}

/* ===================== Dasar ===================== */

/* Elemen khusus satu tampilan (header, iklan, widget yang hanya dicentang untuk satu perangkat). */
@media (max-width: 1023.98px) {
	.sw-only-desktop {
		display: none !important;
	}
}

@media (min-width: 1024px) {
	.sw-only-mobile {
		display: none !important;
	}
}

body {
	background: var(--sw-bg);
	color: var(--sw-text);
	font-family: var(--sw-font-sans);
	line-height: 1.5;
}

/* Tautan tanpa garis bawah saat hover; umpan balik hover lewat warna. */
a:hover {
	text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 3px solid var(--secondary);
	outline-offset: 2px;
	box-shadow: 0 0 0 2px #fff;
}

.sw-container {
	width: auto;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: var(--sw-gutter);
	box-sizing: border-box;
}

@media (min-width: 1024px) {
	body.sw .container {
		width: auto;
		max-width: 1200px;
		margin-inline: auto;
		padding-inline: var(--sw-gutter);
		box-sizing: border-box;
	}
}

@media (max-width: 1023.98px) {
	body.sw {
		--sw-gutter: 15px;
	}
}

/* ===================== Top bar (Menu Jaringan) ===================== */

.network-menu {
	background: var(--sw-topbar);
	min-width: 0;
}

.network-menu ul {
	justify-content: center;
	gap: 10px 24px;
	padding: 16px 0;
}

.network-menu ul li a {
	padding: 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	text-transform: none;
}

.network-menu ul li a:hover {
	color: #fff;
}

/* ===================== Header ===================== */

.header-box {
	min-width: 0;
	box-shadow: none;
	background: var(--sw-bg);
}

@media (min-width: 1024px) {
	body.sw .header-row {
		flex-wrap: wrap;
		gap: 16px;
		padding: 14px 0;
	}

	body.sw .header-left {
		padding-right: 0;
	}

	body.sw .header-brand img {
		max-height: 32px;
	}

	body.sw .header-center {
		flex: 1 1 280px;
		max-width: 500px;
	}

	body.sw .header-search {
		width: 100%;
		height: 48px;
		padding: 0 2px 0 24px;
		border-radius: 999px;
		background: var(--sw-soft);
	}

	body.sw .header-search .search-text {
		font-size: 16px;
		font-weight: 400;
		color: var(--sw-text);
	}

	body.sw .header-search .btn-search {
		flex: none;
		width: 44px;
		height: 44px;
		justify-content: center;
		color: var(--sw-muted);
	}
}

/* ===================== Menu mobile (gaya tema infonusantara) =====================
 * Panel navy turun tepat di bawah header (header tetap terlihat), satu kolom, baris 44 px,
 * pemisah tipis, item aktif bergaris merah di kiri. Tombol menu berubah jadi ×.
 * Warna/ukuran = token infonusantara (--inus-color-nav, --inus-color-accent, --inus-touch-target).
 */
@media (max-width: 1023.98px) {
	body.sw {
		--sw-nav: #0a2463;
		--sw-nav-hover: rgb(255 255 255 / .1);
		--sw-nav-divider: rgb(255 255 255 / .12);
		--sw-nav-muted: rgb(255 255 255 / .7);
		--sw-nav-accent: #e30613;
		--sw-nav-row: 44px;
	}

	body.sw .header-left .menu {
		padding: 0;
		border: 0;
		background: none;
		color: var(--sw-text);
		font: inherit;
	}

	body.sw .header-left .menu span {
		background: currentColor;
	}

	body.sw .header-left .menu[aria-expanded="true"] span:nth-child(1),
	body.sw .header-left .menu[aria-expanded="true"] span:nth-child(3) {
		top: 13px;
		left: 4px;
		width: 20px;
	}

	body.sw .header-left .menu[aria-expanded="true"] span:nth-child(1) {
		transform: rotate(45deg);
	}

	body.sw .header-left .menu[aria-expanded="true"] span:nth-child(2) {
		opacity: 0;
	}

	body.sw .header-left .menu[aria-expanded="true"] span:nth-child(3) {
		transform: rotate(-45deg);
	}

	/* .header-box sticky = blok acuan; 100% pada max-height = tinggi header. */
	body.sw .sidebar-menu {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		z-index: 1;
		width: auto;
		height: auto;
		max-width: none;
		max-height: calc(100vh - 100%);
		max-height: calc(100dvh - 100%);
		margin: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--sw-nav);
		color: #fff;
		box-shadow: 0 8px 24px rgb(10 36 99 / .14);
		animation: none;
	}

	body.sw .sidebar-menu.show {
		animation: none;
	}

	body.sw .sidebar-menu-content {
		padding-bottom: 8px;
	}

	body.sw .sidebar-menu .sw-mnav__list,
	body.sw .sidebar-menu .sidebar-menu-content ul.menu {
		display: block;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	body.sw .sidebar-menu .sw-mnav__list li,
	body.sw .sidebar-menu .sidebar-menu-content ul.menu li {
		width: auto;
		padding: 0;
	}

	body.sw .sidebar-menu .sw-mnav__list li + li,
	body.sw .sidebar-menu .sidebar-menu-content ul.menu li + li {
		border-top: 1px solid var(--sw-nav-divider);
	}

	body.sw .sidebar-menu .sw-mnav__list a,
	body.sw .sidebar-menu .sidebar-menu-content ul.menu li a {
		position: relative;
		display: flex;
		align-items: center;
		min-height: var(--sw-nav-row);
		padding: 0 var(--sw-gutter);
		border: 0;
		color: #fff;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.3;
		text-transform: none;
		transition: background-color .15s ease;
	}

	body.sw .sidebar-menu .sw-mnav__list a:hover,
	body.sw .sidebar-menu .sidebar-menu-content ul.menu li a:hover {
		background: var(--sw-nav-hover);
		color: #fff;
	}

	body.sw .sidebar-menu a:focus-visible {
		outline: 2px solid #fff;
		outline-offset: -4px;
		box-shadow: none;
	}

	/* Item aktif: garis merah di kiri (padanan garis bawah di desktop). */
	body.sw .sidebar-menu .current-menu-item > a::before,
	body.sw .sidebar-menu .current_page_item > a::before {
		content: "";
		position: absolute;
		inset: 0 auto 0 0;
		width: 3px;
		background: var(--sw-nav-accent);
	}

	/* Grup kedua (Informasi): label kecil + tautan lebih ringan. */
	body.sw .sw-mnav + .sw-mnav {
		border-top: 1px solid var(--sw-nav-divider);
	}

	body.sw .sw-mnav__title,
	body.sw .sidebar-menu .widget-title {
		margin: 0;
		padding: 16px var(--sw-gutter) 4px;
		border: 0;
		color: var(--sw-nav-muted);
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .06em;
		text-transform: uppercase;
	}

	body.sw .sidebar-menu .widget-header {
		margin: 0;
		padding: 0;
		border: 0;
		text-align: left;
	}

	body.sw .sw-mnav--network_menu .sw-mnav__list a {
		min-height: 40px;
		color: var(--sw-nav-muted);
		font-size: 14px;
		font-weight: 500;
	}

	body.sw .sw-mnav--network_menu .sw-mnav__list li + li {
		border-top: 0;
	}

	body.sw .sw-mnav__social {
		padding: 12px var(--sw-gutter) 16px;
		border-top: 1px solid var(--sw-nav-divider);
		background: none;
	}

	body.sw .sidebar-menu .widget {
		margin: 0;
	}
}

.darkmode .sidebar-menu,
.darkmode .sidebar-menu-content ul.menu li a {
	background: var(--sw-nav);
}

/* ===================== Navigasi utama ===================== */

.primary-menu {
	background: var(--sw-gradient);
}

/* Jarak antarmenu = padding kanan tiap tautan (lihat "Navigasi" di blok Tipografi). */
@media (min-width: 1024px) {
	body.sw .primary-menu nav > ul {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 0;
	}

	body.sw .primary-menu nav > ul > li > a,
	body.sw .primary-menu nav > ul > li:first-child > a {
		margin: 0;
		color: #fff;
	}
}

.primary-menu nav > ul > li.current-menu-item > a,
.primary-menu nav > ul > li.current_page_item > a {
	color: #fff;
	box-shadow: inset 0 -3px 0 var(--active);
}

.primary-menu nav > ul > li:hover > a {
	color: var(--active);
}

/* ===================== Tata letak beranda/arsip ===================== */

@media (min-width: 1024px) {
	body.sw .main-row {
		flex-wrap: wrap;
		gap: 32px;
		margin-top: 12px;
	}

	body.sw .main {
		flex: 2 1 560px;
		width: auto;
		min-width: 0;
		padding-right: 0;
	}

	body.sw .sidebar {
		flex: 1 1 300px;
		width: auto;
		min-width: 0;
		max-width: 380px;
	}
}

.main-box .widget,
.sidebar > .widget {
	margin-bottom: 40px;
}

/* Judul section: teks kapital, garis merah 3 px di atas garis abu 1 px. */
.widget-header {
	margin: 0 0 6px;
	border-bottom: 1px solid var(--sw-line);
}

.widget-title {
	display: inline-block;
	margin: 0 0 -1px;
	padding-bottom: 8px;
	border-bottom: 3px solid var(--primary);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--sw-text);
}

/* ===================== Bagian bersama ===================== */

.sw-media {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--sw-ph);
}

.sw-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sw-ph {
	display: block;
	width: 100%;
	height: 100%;
}

.sw-kicker {
	margin: 12px 0 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--primary);
}

.sw-meta {
	display: block;
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--sw-muted);
}

.sw-new {
	margin-right: 8px;
	padding: 2px 6px;
	background: var(--sw-new);
	color: #fff;
}

.sw-btn,
.status .trigger.sw-btn {
	display: inline-block;
	width: fit-content;
	padding: 10px 22px;
	border: 2px solid var(--primary);
	border-radius: 0;
	background: transparent;
	color: var(--primary);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
}

.sw-btn:hover,
.status .trigger.sw-btn:hover {
	background: var(--primary);
	color: #fff;
	text-decoration: none;
}

.darkmode .sw-btn {
	color: #fff;
}

/* Mode gelap: merah kicker terlalu gelap di latar #222 (kontras < 3:1). */
.darkmode .sw-kicker {
	color: #FF8A93;
}

/* Logo berlatar putih: CSS lama meng-invert-nya menjadi kotak putih polos; tampilkan apa adanya
   di kartu putih seperti di footer. */
.darkmode .header-brand img {
	filter: none;
	padding: 4px 8px;
	border-radius: 8px;
	background: #fff;
}

.sw-card__title,
.sw-row__title,
.sw-feature__main-title,
.sw-feature__item-title {
	margin: 0;
	font-weight: 600;
	line-height: 1.3;
}

.sw-card__link,
.sw-row,
.sw-hero__link,
.sw-feature__link {
	display: block;
	color: var(--sw-text);
	text-decoration: none;
}

.sw-card__link:hover .sw-card__title,
.sw-row:hover .sw-row__title {
	color: var(--sw-hover);
}

/* ===================== Berita utama ===================== */

.sw-hero__link {
	position: relative;
	color: #fff;
}

/* Slider (assets/js/slider.js menambah is-enhanced): slide ditumpuk di satu sel grid dan
   berganti dengan fade. Tanpa JS hanya slide pertama yang tampil (atribut hidden). */
.sw-hero {
	position: relative;
	container-type: inline-size;
}

.sw-hero__slides {
	display: grid;
	grid-template: 1fr / minmax(0, 1fr);
}

.sw-hero__slide {
	display: flex;
	flex-direction: column;
	grid-area: 1 / 1;
}

/* Slide berjudul pendek mengisi tinggi slide tertinggi (blok teks ikut memanjang), agar titik
   dan panah tidak jatuh di latar putih halaman. */
.sw-hero__slide > .sw-hero__link {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.sw-hero.is-enhanced .sw-hero__slide {
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease, visibility 0s linear .4s;
}

.sw-hero.is-enhanced .sw-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
	.sw-hero.is-enhanced .sw-hero__slide {
		transition: none;
	}
}

/* Ruang untuk baris titik di bawah meta. */
.sw-hero[data-sw-slider] .sw-hero__body {
	padding-bottom: 40px;
}

.sw-hero :focus-visible {
	outline-color: #fff;
}

.sw-hero__nav {
	position: absolute;
	z-index: 2;
	/* Layar sempit: tengah foto 16:9 (teks di bawah foto). >= 768: tengah hero. */
	top: calc(56.25cqi / 2);
	display: none;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid rgb(255 255 255 / .6);
	border-radius: 999px;
	background: rgb(0 0 0 / .55);
	color: #fff;
	cursor: pointer;
	transform: translateY(-50%);
}

.sw-hero__nav:not([hidden]) {
	display: grid;
}

.sw-hero__nav:hover {
	background: var(--primary);
}

.sw-hero__nav--prev {
	left: 12px;
}

.sw-hero__nav--next {
	right: 12px;
}

@media (min-width: 640px) {
	.sw-hero__nav {
		width: 40px;
		height: 40px;
	}
}

.sw-hero__dots {
	position: absolute;
	z-index: 2;
	left: 12px;
	bottom: 8px;
	display: flex;
	padding: 0 4px;
	border-radius: 999px;
	/* Latar gelap: titik putih tetap terlihat di atas foto/latar terang. */
	background: rgb(0 0 0 / .45);
}

.sw-hero__dots[hidden] {
	display: none;
}

.sw-hero__dot {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.sw-hero__dot::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: rgb(255 255 255 / .85);
	transition: width .2s ease;
}

.sw-hero__dot[aria-current="true"]::before {
	width: 20px;
	background: var(--active);
}

.sw-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Foto memenuhi wadah 16:9 (cover): foto di luar 16:9 terpotong atas/bawah atau kiri/kanan.
   Salinan blur di belakangnya hanya terlihat selama foto utama belum termuat. Tinggi wadah tetap:
   semua slide sama tinggi. */
.sw-hero__media {
	background: var(--sw-topbar);
}

/* Rata atas: foto lebih tinggi dari 16:9 hanya terpotong di bawah, area yang di >= 768 memang
   tertutup gradien dan judul. */
.sw-hero__media img {
	object-fit: cover;
	object-position: center top;
}

.sw-hero__media .sw-hero__backdrop {
	object-fit: cover;
	filter: blur(20px) brightness(.55);
	transform: scale(1.15);
}

/* Layar sempit: teks di bawah foto berlatar gelap; selisih tinggi antar-slide diserap blok teks
   (flex: 1). */
.sw-hero__body {
	position: relative;
	flex: 1;
	display: block;
	padding: 16px 16px 20px;
	background: var(--sw-topbar);
	color: #fff;
}

.sw-badge {
	display: inline-block;
	padding: 4px 10px;
	background: var(--primary);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.sw-hero__title {
	margin: 12px 0 0;
	font-size: clamp(22px, 1.4vw + 10px, 30px);
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
	text-shadow: 0 1px 2px rgb(0 0 0 / .4);
}

.sw-hero__meta {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.5;
	color: #fff;
}

.sw-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	margin-top: 24px;
}

.sw-cards--wide {
	gap: 32px;
	margin-top: 0;
}

@media (min-width: 640px) {
	.sw-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Foto kartu berukuran 'medium' (rasio asli) di wadah 16:9: rata atas agar foto yang lebih tinggi
   dari 16:9 hanya terpotong di bawah, kepala/subjek di bagian atas tetap tampil. */
.sw-card__media img {
	object-position: center top;
}

.sw-card__title {
	font-size: 16px;
}

/* Dari Daerah: 4 kartu per baris di desktop, 2 di tablet, 1 di ponsel. */
@media (min-width: 640px) {
	.sw-cards--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.sw-cards--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* >= 768: tinggi hero = foto 16:9; teks di atas foto berlapis gradasi, tidak berada di bawah
   panah (lebar panah 40 + jarak 12 + 12). */
@media (min-width: 768px) {
	.sw-hero__nav {
		top: 50%;
	}

	.sw-hero__body {
		position: absolute;
		inset: auto 0 0;
		padding: 56px 64px 24px;
		background: linear-gradient(transparent, rgb(0 0 0 / .6) 35%, rgb(0 0 0 / .85));
	}

	.sw-hero__title {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}

	.sw-hero__dots {
		left: 56px;
		bottom: 10px;
	}
}

/* ===================== Terkini & baris daftar ===================== */

.sw-row {
	display: flex;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--sw-line);
}

.sw-row__media {
	flex: none;
	width: 96px;
	height: 96px;
	aspect-ratio: auto;
}

.sw-row--sm .sw-row__media {
	width: 80px;
	height: 80px;
}

.sw-row__body {
	flex: 1;
	min-width: 0;
}

.sw-row .sw-kicker {
	margin: 0 0 4px;
}

.sw-row__title {
	font-size: 16px;
}

.sw-row--sm .sw-row__title {
	font-size: 15px;
	font-weight: 500;
}

/* Terkini: 2 kolom mulai 640 px (item infinite scroll ikut masuk grid yang sama). */
@media (min-width: 640px) {
	.sw-latest > .widget-content {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 32px;
	}
}

.sw-latest .status {
	margin-top: 24px;
}

/* Status memuat "Muat lebih banyak": kotak merah seukuran tombolnya bertulisan LOADING...
   (menggantikan spinner bola lama). Tampil/sembunyi diatur JS lewat style display. */
.status .loading {
	width: fit-content;
	height: auto;
	margin: 0;
	padding: 12px 24px;
	box-sizing: border-box;
	border-radius: 4px;
	background: var(--sw-new);
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 21px;
	letter-spacing: .06em;
	text-align: center;
	text-transform: uppercase;
}

/* Selama memuat, tombol disembunyikan; kotak LOADING... menggantikan tempatnya. */
.status:has(.loading[style*="block"]) .trigger {
	display: none !important;
}

.sw-latest .no-more {
	display: none;
	color: var(--sw-muted);
}

/* ===================== Sidebar ===================== */

.popularpos .list-item {
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--sw-line);
}

.popularpos .list-item:first-child {
	padding-top: 14px;
}

.popularpos .list-item:last-child {
	border-bottom: 1px solid var(--sw-line);
}

.popularpos .list-counter {
	flex: none;
	justify-content: flex-start;
	width: 26px;
	min-width: 0;
	margin-right: 14px;
	padding: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
	color: rgb(203 203 203 / 1);
}

.darkmode .popularpos .list-counter {
	color: var(--active);
}

.popularpos .list-title {
	display: block;
	overflow: visible;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	-webkit-line-clamp: unset;
}

.popularpos .list-title a {
	color: var(--sw-text);
}

.popularpos .list-item:hover a {
	color: var(--sw-hover);
}

.sw-market {
	display: flex;
	margin: 0;
	border: 1px solid var(--sw-line);
}

.sw-market__item {
	flex: 1;
	min-width: 0;
	padding: 12px 8px;
	text-align: center;
}

.sw-market__item + .sw-market__item {
	border-left: 1px solid var(--sw-line);
}

.sw-market__label,
.sw-market__change {
	margin: 0;
	font-size: 13px;
	color: var(--sw-muted);
}

.sw-market__value {
	margin: 4px 0 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--sw-text);
}

.sw-market__change {
	margin-top: 2px;
}

.sw-market__updated {
	margin: 8px 0 0;
	font-size: 12px;
	color: var(--sw-muted);
}

.sw-cta {
	padding: 20px;
	background: var(--sw-soft);
}

.sw-cta__title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--sw-text);
}

.sw-cta__text {
	margin: 6px 0 14px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--sw-muted);
}

/* ===================== Section selebar halaman ===================== */

.sw-fullwidth {
	margin-top: 16px;
}

.sw-fullwidth > * + * {
	margin-top: 56px;
}

/* IN-DEPTH REPORT dan INFOGRAFIS */
.sw-feature {
	padding: 48px 0;
	background: var(--secondary);
	color: #fff;
}

.sw-feature__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--sw-band-line);
}

.sw-feature__title {
	margin: 0 0 -1px;
	padding-bottom: 8px;
	border-bottom: 3px solid var(--active);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	color: #fff;
}

.sw-feature .sw-feature__more {
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.sw-feature .sw-feature__more:hover,
.sw-feature__link:hover h3 {
	color: var(--active);
	text-decoration: none;
}

.sw-feature__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.sw-feature__main {
	flex: 2 1 480px;
	min-width: 0;
}

.sw-feature__list {
	flex: 1 1 300px;
	min-width: 0;
}

.sw-feature .sw-feature__link {
	color: #fff;
}

.sw-feature__media {
	background: var(--sw-band-ph);
}

.sw-feature .sw-kicker {
	color: var(--active);
}

.sw-feature__main-title {
	font-size: 22px;
	font-weight: 700;
}

.sw-feature .sw-meta {
	color: var(--sw-band-muted);
}

.sw-feature__item {
	padding: 20px 0;
	border-bottom: 1px solid var(--sw-band-line);
}

.sw-feature__item:first-child {
	padding-top: 0;
}

.sw-feature__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.sw-feature__item .sw-kicker {
	margin-top: 0;
}

.sw-feature__item-title {
	font-size: 15px;
	font-weight: 500;
}

@media (max-width: 639px) {
	.sw-feature {
		padding: 32px 0;
	}

	.sw-feature__main-title {
		font-size: 20px;
	}
}

/* Dari Daerah */
.sw-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}

.sw-chip {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 20px;
	border: 2px solid var(--sw-line-strong);
	border-radius: 999px;
	background: var(--sw-bg);
	color: var(--sw-text);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.sw-chip:hover {
	border-color: var(--primary);
	color: var(--sw-text);
}

.sw-chip.is-active,
.darkmode .sw-chip.is-active {
	border-color: var(--primary);
	background: var(--primary);
	color: #fff;
	font-weight: 700;
}

/* ===================== Halaman artikel ===================== */

/* Mobile: gambar unggulan dulu melebar sampai tepi layar (margin -15px); kini mengikuti padding
   konten agar tidak rapat ke pinggir. */
@media (max-width: 1023.98px) {
	body.sw .article-featured {
		margin-inline: 0;
	}

	body.sw .article-featured img,
	body.sw .post-detail img {
		border-radius: 6px;
	}
}

/* Isi artikel memakai serif (seperti tempo.co); subjudul, keterangan foto, dan kotak bawaan
   blok tetap sans. */
.post-detail {
	font-family: var(--sw-font-serif);
	line-height: 1.7;
}

.post-detail :is(h1, h2, h3, h4, h5, h6, figcaption, table, .wp-caption-text, .bacajuga) {
	font-family: var(--sw-font-sans);
}

@media (max-width: 1023.98px) {
	body.sw .post-detail img {
		max-width: 100%;
		height: auto;
	}
}

/* ===================== Footer ===================== */

.footer {
	margin-top: 64px;
}

/* CSS lama mengunci lebar 970 px (footer, area iklan): menimbulkan geser horizontal pada
   jendela desktop/tablet < 970 px. */
@media (min-width: 1024px) {
	body.sw footer.footer,
	body.sw .parallax-area {
		min-width: 0;
	}

	body.sw .billboard,
	body.sw .banner.ads970250 {
		max-width: 100%;
	}
}

/* ===================== Rubrik (di bawah Dari Daerah) =====================
 * Tiga kartu abu bergaris atas ungu: kicker "RUBRIK | jadwal", nama, deskripsi, lalu
 * "Terbaru | tanggal" + judul tulisan terbaru yang menempel di dasar kartu.
 */
.sw-rubrik__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
}

.sw-rubrik__more {
	padding-bottom: 8px;
	color: var(--primary);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sw-rubrik__more:hover {
	color: var(--sw-hover);
	text-decoration: underline;
}

.sw-rubrik__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	margin-top: 24px;
}

.sw-rubrik__card {
	display: flex;
	flex-direction: column;
	padding: 24px 20px;
	border-top: 3px solid var(--secondary);
	background: var(--sw-soft);
}

.sw-rubrik__card .sw-kicker {
	margin: 0 0 8px;
}

.sw-rubrik__name {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--sw-text);
}

.sw-rubrik__name a {
	color: inherit;
}

.sw-rubrik__name a:hover,
.sw-rubrik__post:hover {
	color: var(--primary);
}

.sw-rubrik__desc {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--sw-muted);
}

/* margin-top auto: bagian Terbaru sejajar di dasar kartu walau deskripsi beda panjang. */
.sw-rubrik__latest {
	margin-top: auto;
	padding-top: 20px;
}

.sw-rubrik__latest::before {
	content: "";
	display: block;
	margin-bottom: 20px;
	border-top: 1px solid var(--sw-line-strong);
}

.sw-rubrik__label {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--sw-muted);
}

.sw-rubrik__post {
	display: block;
	margin-top: 4px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--sw-text);
}

.darkmode .sw-rubrik__card {
	border-top-color: var(--active);
}

@media (min-width: 768px) {
	.sw-rubrik__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 32px;
		margin-top: 14px;
	}

	.sw-rubrik__card {
		padding: 28px;
	}

}

/* ===================== Tipografi (skala tempo.co) =====================
 * Satu sumber ukuran font untuk seluruh tema (beranda, arsip, cari, artikel, halaman, footer),
 * menimpa ukuran CSS lama (style-desktop/mobile, footer.css). Selector sengaja menyamai
 * spesifisitas selector lama; berkas ini dimuat paling akhir sehingga menang.
 * Pemetaan: judul hero 32 (ponsel 26) · H1 26 · kartu/daftar 18 (ponsel daftar 16) · section 18
 * tebal · isi artikel serif 20/28 · teks dasar 16 · menu/tanggal/label 14 · kecil 12.
 */
body {
	font-size: 16px;
	line-height: 24px;
}

/* --- Judul halaman & hero --- */
.sw-hero__title {
	font: 700 var(--sw-type-hero-sm) var(--sw-font-sans);
}

.header-post .title-post h1,
.archive.author .author-name h1 {
	font: 700 var(--sw-type-h1) var(--sw-font-sans);
}

.sw-feature__main-title {
	font: 700 var(--sw-type-feature) var(--sw-font-sans);
}

/* --- Judul kartu & daftar berita --- */
.sw-card__title,
.sw-row__title,
.sw-feature__item-title,
.sw-rubrik__post,
.headline-small .headline-title,
.headline-small .headline-title a,
.article-item .article-title,
.article-item .article-title a,
.bacaselanjutnya.article-item .article-title {
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

.sw-card__title,
.sw-rubrik__post {
	font-size: 18px;
	font-weight: 500;
	line-height: 28px;
}

.headline .headline-big .headline-title,
.headline .headline-big .headline-title a {
	font: 700 var(--sw-type-card-lg) var(--sw-font-sans);
}

/* Daftar kecil di sidebar (Terpopuler, Bisnis). */
.sw-row--sm .sw-row__title,
.list-title,
.popularpos .list-title,
.popularpos .list-title a {
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

.sw-rubrik__name {
	font: 700 var(--sw-type-headline) var(--sw-font-sans);
}

/* --- Judul section --- */
.widget-title,
.sw-feature__title,
.site-footer-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 28px;
}

/* --- Label, tanggal, meta (14) --- */
.sw-kicker {
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: .02em;
}

.sw-meta,
.sw-hero__meta,
.sw-rubrik__label,
.info-post .timepost,
.headline .headline-category,
.headline .headline-big .headline-category,
.headline .headline-big .headline-date,
.headline-small .headline-category,
.headline-small .headline-date,
.list-meta {
	font-size: 14px;
	line-height: 20px;
}

/* Tanggal artikel: tempo.co 14/20 reguler (CSS lama menebalkan 600 di desktop). */
.prop-pos time {
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

@media (min-width: 1024px) {
	body.sw .info-post .timepost {
		font-size: 14px;
		font-weight: 400;
		line-height: 20px;
	}
}

/* Breadcrumb/kategori di atas judul: tempo.co 14/20 medium. */
.header-post .breadcrumb ul li a {
	font-weight: 500;
}

@media (min-width: 1024px) {
	body.sw .breadcrumb ul li a {
		font-weight: 500;
	}
}

.info-post .author-name a,
.author-name > a {
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

/* Byline "Reporter: Nama | Editor: Nama" (suarawp_byline_tim()): label redup, nama tebal. */
.author-name > .sw-byline__item {
	color: var(--sw-muted);
	font-size: 14px;
	line-height: 24px;
}

.sw-byline__item a {
	color: var(--sw-text);
	font-weight: 700;
}

.breadcrumb ul li a,
.tag-label,
.post-tag ul li a,
.share-label,
.sw-chip,
.sw-btn,
.status .trigger.sw-btn,
.sw-feature .sw-feature__more,
.sw-rubrik__more,
.comments-pagination a,
.comments-pagination span {
	font-size: 14px;
	line-height: 20px;
}

/* --- Kecil (12) --- */
.sw-badge,
.sw-new,
.site-footer-label,
.site-footer-copyright,
.footer-copyright p {
	font-size: 12px;
	line-height: 16px;
}

/* --- Navigasi ---
 * Menu utama (Menu Utama SuaraWP, desktop & strip ponsel) = tautan nav tempo.co:
 * text-sm (14/20), font-normal, aktif font-medium, tanpa huruf kapital, h-10 (40 px), pl-0 pr-4.
 */
.primary-menu nav > ul > li > a {
	height: 40px;
	padding: 0 16px 0 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 0;
	text-transform: none;
}

@media (min-width: 1024px) {
	body.sw .primary-menu nav > ul > li > a {
		height: 40px;
		padding: 0 16px 0 0;
		font-size: 14px;
		font-weight: 400;
		line-height: 20px;
		letter-spacing: 0;
		text-transform: none;
	}
}

/* Garis penanda aktif selebar teks saja (tanpa padding kanan 16 px). */
body .primary-menu nav > ul > li.current-menu-item > a,
body .primary-menu nav > ul > li.current_page_item > a {
	font-weight: 500;
	box-shadow: none;
	background: linear-gradient(var(--active), var(--active)) left bottom / calc(100% - 16px) 3px no-repeat;
}

.network-menu ul li a {
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
}

@media (max-width: 1023.98px) {
	body.sw .sidebar-menu .sw-mnav__list a,
	body.sw .sidebar-menu .sidebar-menu-content ul.menu li a {
		font-size: 16px;
		font-weight: 500;
		line-height: 24px;
	}

	body.sw .sw-mnav--network_menu .sw-mnav__list a,
	body.sw .sw-mnav__title,
	body.sw .sidebar-menu .widget-title {
		font-size: 14px;
		line-height: 20px;
	}
}

/* --- Footer --- */
.site-footer-tagline,
.footer .site-footer-col a {
	font-size: 14px;
	line-height: 20px;
}

/* --- Isi artikel & halaman --- */
.post-detail,
.post-detail p,
.post-detail li {
	font: 400 var(--sw-type-body-serif) var(--sw-font-serif);
}

.post-detail h2 {
	font: 700 var(--sw-type-feature) var(--sw-font-sans);
}

.post-detail h3 {
	font: 700 var(--sw-type-card-lg) var(--sw-font-sans);
}

.post-detail h4,
.post-detail h5,
.post-detail h6 {
	font: 700 var(--sw-type-headline) var(--sw-font-sans);
}

.article-featured figcaption,
.post-detail figcaption,
.post-detail .wp-caption-text {
	font: 400 var(--sw-type-base) var(--sw-font-sans);
}

.bacajuga,
.bacajuga a {
	font: 400 var(--sw-type-base) var(--sw-font-sans);
}

.bacajuga strong {
	font-weight: 700;
}

.sw-rubrik__desc {
	font-size: 16px;
	line-height: 24px;
}

/* Ringkasan berita: serif seperti lead tempo.co. */
.article-description {
	font: 400 var(--sw-type-lead) var(--sw-font-serif);
}

/* --- Desktop (≥ 768 px pada tema mobile, atau tema desktop) --- */
@media (min-width: 768px) {
	.sw-hero__title {
		font: 700 var(--sw-type-hero) var(--sw-font-sans);
	}

	.sw-row__title,
	.sw-feature__item-title,
	.headline-small .headline-title,
	.headline-small .headline-title a,
	.article-item .article-title,
	.article-item .article-title a,
	.bacaselanjutnya.article-item .article-title {
		font-size: 18px;
		font-weight: 500;
		line-height: 28px;
	}

	.sw-row--sm .sw-row__title {
		font-size: 16px;
		font-weight: 400;
		line-height: 24px;
	}

	.headline .headline-big .headline-title,
	.headline .headline-big .headline-title a {
		font: 700 var(--sw-type-h1) var(--sw-font-sans);
	}

	.sw-rubrik__name {
		font: 700 var(--sw-type-card-lg) var(--sw-font-sans);
	}

}

/* ===================== Strip menu tema mobile (gaya infonusantara) =====================
 * doc/design.md §607: ponsel (< 768) = hamburger + panel saja, tanpa strip; tablet = satu baris
 * navy yang bisa digulir, item aktif bergaris merah. Ukuran huruf tetap skala tempo (blok
 * Tipografi). Hanya di bawah 1024 px; strip desktop tidak berubah.
 */
@media (max-width: 1023.98px) {
	body.sw .primary-menu {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 1023.98px) {
	body.sw .primary-menu {
		display: block;
		height: auto;
		background: var(--sw-nav);
	}

	body.sw .primary-menu nav {
		padding-bottom: 0;
		overflow-x: auto;
		scrollbar-width: none;
	}

	body.sw .primary-menu nav::-webkit-scrollbar {
		display: none;
	}

	body.sw .primary-menu nav > ul > li > a {
		height: var(--sw-nav-row);
	}

	body.sw .primary-menu nav > ul > li > a:hover {
		color: #fff;
		background: var(--sw-nav-hover);
	}

	body.sw .primary-menu nav > ul > li.current-menu-item > a,
	body.sw .primary-menu nav > ul > li.current_page_item > a {
		color: #fff;
		background: linear-gradient(var(--sw-nav-accent), var(--sw-nav-accent)) left bottom / calc(100% - 16px) 3px no-repeat;
	}
}
