/* RepublikWP: additions the demo stylesheet gets from third-party scripts. */

body.overflow-hide {
	overflow: hidden;
}

/* Lightbox (replaces the Spotlight library). */
#rpw-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.92);
	cursor: zoom-out;
}

#rpw-lightbox .rpw-lightbox-inner {
	max-width: 96vw;
	max-height: 94vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	cursor: default;
}

#rpw-lightbox img {
	max-width: 96vw;
	max-height: 82vh;
	object-fit: contain;
	display: block;
}

#rpw-lightbox .rpw-lightbox-caption {
	max-width: 640px;
	margin-top: 12px;
	padding: 0 16px;
	color: #bbb;
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
}

#rpw-lightbox .rpw-lightbox-caption:empty {
	display: none;
}

#rpw-lightbox .rpw-lightbox-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	cursor: pointer;
}

#rpw-lightbox .rpw-lightbox-close:before,
#rpw-lightbox .rpw-lightbox-close:after {
	content: "";
	position: absolute;
	top: 19px;
	left: 10px;
	width: 20px;
	height: 2px;
	background: #fff;
	transform: rotate(45deg);
}

#rpw-lightbox .rpw-lightbox-close:after {
	transform: rotate(-45deg);
}

/* Copy link toast icon colour. */
.copylink-close svg {
	display: block;
	color: #fff;
}

/* Pagination link kept for crawlers and the load-more script. */
.widget .pagination,
.article .pagination {
	display: none;
}

/* Calendar for the Indeks filter. */
.pika-single {
	z-index: 9999;
}
/* Copy link toast. */
.copylink-popup {
	display: none;
	position: fixed;
	left: 50%;
	bottom: 70px;
	transform: translateX(-50%);
	z-index: 10001;
	background: #323131;
	color: #fff;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 14px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}

.copylink-flex {
	display: flex;
	align-items: center;
}

.copylink-text {
	margin-right: 12px;
}

.copylink-close {
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
}

/* "Indeks" link in the Terkini header. */
.widget-title small a {
	color: inherit;
}

/* Ad slots tanpa wrapper textwidget kosong. */
.rpw-ad {
	margin-bottom: 15px;
}
.rpw-ad-inner {
	line-height: 0;
	text-align: center;
}
.rpw-ad-inner > * {
	line-height: normal;
}

/* Artikel full lebar saat iklan samping OFF. */
.article-content .article-box {
	flex: 1 1 auto;
	min-width: 0;
}
.article-text:not(.notfull) {
	max-width: none;
}

/* Halaman statis pakai layout artikel. */
.page-as-post .article-text {
	max-width: none;
}
body.page-as-post .breadcrumb span {
	color: inherit;
}

/* Footer: jika hanya kolom kiri/kanan, tetap rata. */
.footer .grid-row > .footer-left:only-of-type,
.footer .grid-row > .footer-right:only-of-type {
	width: 100%;
	max-width: 100%;
	padding-left: 0;
}

body.darkmode .footer-brand .footer-alamat,
body.darkmode .footer-brand .footer-kontak {
	color: inherit;
}

/* Footer responsive (desktop stylesheet di viewport sempit / tablet). */
@media (max-width: 991px) {
	.footer .grid-row {
		flex-direction: column;
		gap: 12px;
	}

	.footer-left,
	.footer-right {
		width: 100% !important;
		max-width: 100%;
		padding-left: 0 !important;
	}

	.grid-footer {
		flex-direction: column;
		gap: 18px;
	}

	.grid-footer > .widget {
		flex: none;
		width: 100%;
		min-width: 0;
	}

	.footer-brand {
		max-width: 100%;
	}

	.footer-brand .footer-logo {
		max-width: min(180px, 60vw);
	}
}

@media (max-width: 575px) {
	.footer .menu li {
		width: 50%;
	}

	.footer-brand .footer-alamat,
	.footer-brand .footer-kontak {
		font-size: 13px;
	}

	.footer-brand .footer-logo {
		max-width: min(160px, 70vw);
	}

	.to-top {
		right: 12px;
	}
}

/* Headline: clip wrapper (demo: .widget.headline { overflow:hidden }). */
.widget.headline {
	overflow: hidden;
}

/*
 * Garis merah item aktif — sama demo style-desktop.css:
 * .small-item.slick-current { border-top-color: var(--primary) }
 */
.headline-small .small-item.slick-current {
	border-top-color: var(--primary, #b10832) !important;
}
body.darkmode .headline-small .small-item.slick-current {
	border-top-color: var(--primary, #b10832) !important;
}

.headline-small .slick-prev,
.headline-small .slick-next {
	display: none !important;
}

/* Mobile "to top" button is shown by the script after scrolling. */
.to-top.show {
	display: flex;
}
/* Sub menus opened by the script. */
.second-menu li.open > .sub-menu,
.sidebarmenu .widget li.open > .sub-menu,
.primary-menu li.open > .sub-menu {
	display: block;
}