.pointer {
	cursor: pointer;
}

.preloader {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.85);
	z-index: 99999;
	transition: all 500ms ease;
	-webkit-transition: all 500ms ease;
}

.preloader.out {
	opacity: 0;
	visibility: hidden;
	transition-delay: 1s;
}

.loader {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transition: all 500ms ease;
	-webkit-transition: all 500ms ease;
	transition-delay: 0.8s;
}

.preloader.out .loader {
	transform: translate(-50%, -100%);
	-webkit-transform: translate(-50%, -100%);
	opacity: 0;
}

.preloader.out .loader:before {
	border-color: var(--bg-white);
	transition-delay: 0.2s;
}

.loader img {
	position: relative;
	transition: all 500ms ease;
	-webkit-transition: all 500ms ease;
}

.loader:before {
	content: "";
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	width: 150px;
	height: 150px;
	background: #222;
	border: 5px solid rgba(255, 255, 255, 0.1);
	border-top: 5px solid var(--bg-white);
	border-radius: 50%;
	-webkit-border-radius: 50%;
	animation: preloaderAnimation 1s linear infinite;
	-webkit-animation: preloaderAnimation 1s linear infinite;
	transition: all 500ms ease;
	-webkit-transition: all 500ms ease;
}

@keyframes preloaderAnimation {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

@-webkit-keyframes preloaderAnimation {
	0% {
		-webkit-transform: translate(-50%, -50%) rotate(0deg);
	}

	100% {
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
	}
}

.blog-comments {
	--comment-soft: #f7f9fb;
	--comment-admin-border: #d8eaff;

	color: var(--brand-secondary);
}

.blog-comments .header .title {
	position: relative;
	font-family: "Quicksand", sans-serif !important;
	text-transform: uppercase;
	font-size: 18px;
	font-weight: 600 !important;
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.blog-comments .header .title::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 50px;
	height: 3px;
	background: var(--brand-primary);
}

.blog-comments .comment-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.blog-comments .comment-item {
	padding: 16px;
	margin-bottom: 0;
	background: var(--bg-white);
	border: 1px solid var(--border-light);
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(33, 45, 60, 0.045);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.blog-comments .comment-item:hover {
	border-color: #d4e2f0;
	box-shadow: 0 4px 12px rgba(33, 45, 60, 0.075);
}

.blog-comments .comment-user {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-width: 0;
}

.blog-comments .comment-avatar {
	display: block;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	object-fit: cover;
	border: 1px solid var(--border-light);
	border-radius: 50%;
	background: var(--comment-soft);
}

.blog-comments .comment-content {
	flex: 1;
	min-width: 0;
}

.blog-comments .comment-author {
	margin-bottom: 4px;
	color: var(--accent-light);
	/* color: #303943; */
	font-family: "Quicksand", sans-serif;
	font-size: 14px;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.blog-comments .comment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	margin-bottom: 9px;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 1.5;
}

.blog-comments .comment-topic {
	color: var(--brand-primary);
	font-weight: 600;
}

.blog-comments .comment-separator {
	color: #b0b7bf;
}

.blog-comments .comment-message {
	color: #49515a;
	font-size: 14px;
	line-height: 1.75;
	overflow-wrap: anywhere;
	white-space: normal;
}

.blog-comments .comment-message p,
.blog-comments .admin-message p {
	margin-bottom: 0;
}

/* Tanggapan admin */
.blog-comments .comment-admin {
	margin-top: 15px;
	margin-left: 58px;
	padding: 12px 14px;
	background: var(--bg-soft-gray);
	border: 1px solid var(--comment-admin-border);
	border-left: 3px solid var(--brand-primary);
	border-radius: 8px;
}

.blog-comments .admin-heading {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 8px;
}

.blog-comments .admin-avatar {
	display: block;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	object-fit: cover;
	border-radius: 50%;
	background: var(--bg-white);
	border: 1px solid var(--comment-admin-border);
}

.blog-comments .admin-info {
	min-width: 0;
}

.blog-comments .admin-author {
	color: var(--brand-primary);
	font-size: 13px;
	font-weight: 700;
}

.blog-comments .admin-meta {
	margin-top: 2px;
	color: #75879a;
	font-size: 11px;
	line-height: 1.5;
}

.blog-comments .admin-message {
	padding-left: 45px;
	color: #465565;
	font-size: 13px;
	line-height: 1.7;
	overflow-wrap: anywhere;
	white-space: normal;
}

/* Belum ada komentar */
.blog-comments .comment-empty {
	padding: 24px 18px;
	margin-bottom: 18px;
	text-align: center;
	background: #faf8f2;
	border: 1px solid #ebe4d4;
	border-radius: 10px;
}

.blog-comments .comment-empty > i {
	margin-bottom: 8px;
	color: #a58b56;
	font-size: 28px;
}

.blog-comments .comment-empty-title {
	margin-bottom: 6px;
	color: #66583c;
	font-size: 15px;
	font-weight: 700;
}

.blog-comments .comment-empty p {
	margin: 0;
	color: #786f60;
	font-size: 13px;
	line-height: 1.7;
}

/* Pagination */
.blog-comments .comment-pagination {
	margin: 18px 0 22px;
}

.blog-comments .comment-pagination .pagination {
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px;
}

/* Informasi moderasi */
.blog-comments .comment-guidelines {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 15px;
	margin: 12px 0 16px;
	background: var(--comment-soft);
	border: 1px solid var(--border-light);
	border-radius: 9px;
}

.blog-comments .comment-guidelines img {
	display: block;
	flex: 0 0 58px;
	width: 58px;
	max-width: 58px;
	height: auto;
	object-fit: contain;
}

.blog-comments .comment-guidelines strong {
	display: block;
	margin-bottom: 3px;
	color: #404a55;
	font-size: 13px;
}

.blog-comments .comment-guidelines p {
	margin: 0;
	color: #68737e;
	font-size: 12px;
	line-height: 1.7;
}

/* Formulir komentar */
.blog-comments .reply-form,
.blog-comments .formkritik {
	margin-bottom: 15px;
}

.blog-comments .formkritik .form-group {
	margin-bottom: 8px;
}

.blog-comments .formkritik .form-control {
	min-height: 42px;
	border: 1px solid #dce2e8;
	border-radius: 6px;
	background: var(--bg-white);
	color: #343a40;
	font-size: 13px;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.blog-comments .formkritik textarea.form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 95px;
	resize: vertical;
	box-sizing: border-box;
}

.blog-comments .formkritik .form-control:focus {
	border-color: var(--brand-light);
	box-shadow: 0 0 0 3px rgba(27, 130, 236, 0.1);
}

.blog-comments .formkritik .form-control::placeholder {
	color: #929ba5;
	opacity: 1;
}

.blog-comments .formkritik .btnkritik {
	padding: 9px 17px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
}

/* Responsif */
@media (max-width: 576px) {
	.blog-comments .comment-item {
		padding: 12px;
		border-radius: 8px;
	}

	.blog-comments .comment-user {
		gap: 9px;
	}

	.blog-comments .comment-avatar {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}

	.blog-comments .comment-author {
		font-size: 13px;
	}

	.blog-comments .comment-message {
		font-size: 13px;
	}

	.blog-comments .comment-admin {
		margin-left: 0;
		padding: 10px;
	}

	.blog-comments .admin-message {
		padding-left: 0;
	}

	.blog-comments .comment-guidelines {
		align-items: flex-start;
		gap: 9px;
		padding: 11px;
	}

	.blog-comments .comment-guidelines img {
		flex-basis: 42px;
		width: 42px;
		max-width: 42px;
	}
}

/* Form komentar berita */
.blog-comments .formkomen {
	margin-bottom: 15px;
}

.blog-comments .formkomen .form-group {
	margin-bottom: 8px;
}

.blog-comments .formkomen .form-control {
	min-height: 42px;
	border: 1px solid #dce2e8;
	border-radius: 6px;
	background: var(--bg-white);
	color: #343a40;
	font-size: 13px;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.blog-comments .formkomen textarea.form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 95px;
	resize: vertical;
	box-sizing: border-box;
}

.blog-comments .formkomen .form-control:focus {
	border-color: var(--brand-light);
	box-shadow: 0 0 0 3px rgba(27, 130, 236, 0.1);
}

.blog-comments .formkomen .form-control::placeholder {
	color: #929ba5;
	opacity: 1;
}

.blog-comments .formkomen .btnkomen {
	padding: 9px 17px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
}

.blog-comments .formkomen .invalid-feedback {
	font-size: 12px;
}

@media (max-width: 576px) {
	.blog-comments .header .title {
		font-size: 16px;
		margin-bottom: 15px;
		padding-bottom: 10px;
	}

	.blog-comments .comment-guidelines {
		align-items: flex-start;
		gap: 9px;
		padding: 11px;
	}

	.blog-comments .comment-guidelines img {
		flex-basis: 42px;
		width: 42px;
		max-width: 42px;
	}

	.blog-comments .formkomen .btnkomen {
		width: 100%;
	}
}

.pengumuman {
	background: var(--brand-secondary);
	padding: 0px 0;
	height: 40px;
}

.pengumuman .info-dinas-header {
	position: absolute;
	padding: 0 20px;
	margin: 0;
	height: 40px;
	line-height: 40px;
	font-size: 13px;
	font-weight: 700;
	background-color: var(--accent-light);
	color: var(--bg-white);
	z-index: 10;
}

.pengumuman .dinas-info {
	padding: 11px 0;
}

.pengumuman .dinas-info .item {
	font-size: 13px;
	font-style: italic;
	color: var(--bg-white);
}

.pengumuman .tanggal-pengumuman {
	color: var(--bg-soft-gray);
	background: var(--reply-border);
	padding: 3px 5px;
}

.dge-counter-card {
	position: relative;
	border-radius: 12px;
	padding: 19px 8px 10px;
	text-align: center;
	border: 1px solid var(--dge-color);
	background: #f1f3f5;
	height: 100%;
	margin-bottom: 10px;
	transition: all 0.2s ease;
}

/* Efek hover */
.dge-counter-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 12px rgba(0, 0, 0, 0.07);
}

/* Icon mengambang di tengah border atas */
.dge-counter-icon {
	position: absolute;
	top: -17px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;

	width: 34px;
	height: 34px;
	border-radius: 20%;
	border: 1.1px solid var(--dge-color);
	background: var(--bg-white);

	display: flex;
	align-items: center;
	justify-content: center;

	font-size: 19px !important;
	line-height: 1;
}

/* Angka counter */
.dge-counter-value {
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	margin-bottom: 3px;
}

/* Label counter */
.dge-counter-label {
	font-size: 12px;
	line-height: 1.35;
	color: #666;
	min-height: 16px;
}

/* Tombol counter */
.dge-counter-btn {
	display: inline-block;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 500;
	padding: 3px 8px;
	border-radius: 20px;
}

/* Responsif HP */
@media (max-width: 768px) {
	.dge-counter-card {
		padding: 17px 5px 9px;
		border-radius: 10px;
		margin-bottom: 9px;
	}

	.dge-counter-icon {
		width: 30px;
		height: 30px;
		top: -15px;
		font-size: 17px !important;
	}

	.dge-counter-value {
		font-size: 20px;
		margin-bottom: 2px;
	}

	.dge-counter-label {
		font-size: 11px;
		line-height: 1.3;
	}

	.dge-counter-btn {
		margin-top: 5px;
		font-size: 10px;
		padding: 3px 7px;
	}
}

.gradient-custom-2 {
	background: #fbc2eb;
	background: -webkit-linear-gradient(to right, rgba(251, 194, 235, 1), rgba(166, 193, 238, 1));
	background: linear-gradient(to right, rgba(251, 194, 235, 1), rgba(166, 193, 238, 1));
}

.pegawai-card .card-up {
	height: 120px;
	overflow: hidden;
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}

.pegawai-card .avatar {
	/* width: 110px; */
	width: 128px;
	margin-top: -60px;
	overflow: hidden;
	border: 3px solid var(--bg-white);
	border-radius: 50%;
}

.mainmenu {
	position: fixed;
	transition: all 0.3s ease;
	z-index: 99;
	background-color: var(--bg-white);
	top: 0;
	left: 0;
	width: 100%;
	color: var(--bg-white);
}

.mainmenu.nempel {
	top: 0;
}

.mainmenu a {
	color: var(--bg-white);
}

.mainmenu a:hover {
	color: var(--accent-primary);
}

.mainmenu__row {
	display: flex;
	margin-top: 10px;
	flex-direction: column;
}

.mainmenu__logo {
	flex-shrink: 0;
	padding-left: 15px;
	display: flex;
	align-items: center;
	position: absolute;
	z-index: 10;
}

.mainmenu__logo img {
	width: 100%;
	max-width: 180px;
}

.mainmenu__nav {
	position: relative;
	display: flex;
	align-items: center;
	background-color: var(--brand-primary);
	color: var(--bg-white);
	padding-left: 120px;
	font-family: "NeoSans", Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	font-weight: bold;
	position: relative;
	font-size: 0.9rem;
	justify-content: space-between;
	margin-bottom: 10px;
	border-radius: 5px 5px 0 0;
}

.mainmenu__nav:before {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 100%;
	height: 10px;
	background: url(./../img/gradasi.png);
	background-size: 100%;
	z-index: -2;
}

.menu ul li a.active {
	color: var(--accent-primary);
	border-bottom: 1px solid var(--alert-red);
}

.menu ul li.has-dropdown ul li a {
	color: var(--bg-white);
}
.menu ul.level2 li.has-dropdown2 ul.level2 li a {
	color: var(--bg-white);
}

nav-dge {
	display: block;
	padding: 2px 40px;
	position: relative;
	z-index: 1000;
}

.menudge,
.menudge ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.menudge {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.menudge li {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

.menudge > li > a {
	display: block;
	margin: 1px 1px;
	padding: 10px 9px;

	color: var(--bg-white);
	background: transparent;

	font-size: 14px;
	font-weight: 550;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;

	border-radius: 5px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.menudge > li:hover > a,
.menudge > li > a:hover,
.menudge > li > a:focus,
.menudge > li > a.dgeaktif {
	color: var(--accent-primary);
	background: var(--brand-primary);
}

.menudge ul {
	position: absolute;
	top: calc(100% - 1px);
	left: 0;

	display: block;
	width: max-content;
	min-width: 220px;
	max-width: min(340px, calc(100vw - 24px));

	padding: 5px;
	margin: 0;

	background: var(--bg-white);
	border: 1px solid rgba(30, 45, 60, 0.08);
	border-top: 3px solid var(--brand-primary);
	border-radius: 0 0 8px 8px;
	box-shadow: 0 8px 20px rgba(25, 35, 45, 0.12);

	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transform: translateY(6px);

	z-index: 1001;
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}

/* Penghubung transparan antara navbar dan dropdown */
.menudge > li > ul::before {
	content: "";
	position: absolute;
	top: -8px;
	left: 0;
	right: 0;
	height: 8px;
	background: transparent;
}

/* Panah segitiga ke atas pada dropdown utama */
.menudge > li:hover > ul::after,
.menudge > li:focus-within > ul::after {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 24px;

	width: 0;
	height: 0;

	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 7px solid var(--brand-primary);

	pointer-events: none;
}

/* Item dropdown */
.menudge ul li {
	display: block;
	width: 100%;
	float: none;
	background: transparent;
}

/* Link dropdown */
.menudge ul li a {
	display: block;
	position: relative;
	width: 100%;
	padding: 10px 13px;

	color: var(--text-muted);
	background: transparent;

	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;

	white-space: normal;
	overflow-wrap: anywhere;

	border: 0;
	border-radius: 5px;
	box-shadow: none;

	transition: background-color 0.15s ease, color 0.15s ease;
}

/* Hover item dropdown */
.menudge ul li:hover > a,
.menudge ul li a:hover,
.menudge ul li > a.dgeaktif {
	color: var(--brand-primary);
	background: var(--bg-soft-gray);
}

/* ==========================================================
   DROPDOWN LEVEL 3 DAN SETERUSNYA
   ========================================================== */

.menudge ul ul {
	top: -3px;
	left: calc(100% - 1px);

	min-width: 220px;
	margin: 0;

	border-top: 1px solid rgba(30, 45, 60, 0.08);
	border-radius: 7px;
	box-shadow: 0 6px 18px rgba(25, 35, 45, 0.12);
}

/* Penghubung transparan dropdown bertingkat */
.menudge ul ul::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -8px;
	width: 8px;
	background: transparent;
}

/* Hilangkan segitiga dekoratif pada dropdown bertingkat */
.menudge ul ul::after {
	display: none;
}

/* Indikator panah kanan pada item yang memiliki submenu */
.menudge ul li:has(> ul) > a {
	padding-right: 30px;
}

.menudge ul li:has(> ul) > a::after {
	content: "\f105";
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);

	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 14px;
	color: #9aa2aa;
}

/* ==========================================================
   TAMPILKAN DROPDOWN
   ========================================================== */

.menudge li:hover > ul,
.menudge li:focus-within > ul {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translate(0, 0);
}

/* Fokus keyboard */
.menudge li > a:focus-visible {
	outline: 2px solid var(--brand-primary);
	outline-offset: -2px;
}

/* ==========================================================
   TOMBOL MENU RESPONSIF
   ========================================================== */

.responsive-menudge {
	display: none;
	width: 100%;
	padding: 13px 15px;

	background: var(--brand-primary);
	color: var(--bg-white);

	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;

	border: 0;
	border-radius: 5px;
}

.responsive-menudge:hover,
.responsive-menudge:focus {
	background: var(--brand-primary);
	color: var(--bg-white);
	text-decoration: none;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (min-width: 768px) and (max-width: 979px) {
	.mainWrap {
		width: 100%;
		max-width: 100%;
	}

	nav-dge {
		padding-right: 15px;
		padding-left: 15px;
	}

	.menudge > li > a {
		padding: 10px 9px;
		font-size: 13px;
	}

	.menudge ul {
		min-width: 210px;
	}

	.menudge ul li a {
		padding: 10px 12px;
	}
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {
	.mainWrap {
		width: auto;
		max-width: 100%;
		padding: 10px 15px;
	}

	nav-dge {
		margin: 0;
		padding: 0;
		background: transparent;
	}

	.menudge {
		display: none;
		width: 100%;
	}

	.responsive-menudge {
		display: block;
		margin-top: 0;
	}

	.menudge li {
		display: block;
		width: 100%;
	}

	.menudge > li > a {
		width: 100%;
		margin: 2px 0;
		padding: 11px 13px;

		color: var(--bg-white);
		white-space: normal;
		border-radius: 5px;
	}

	/* Hover menu utama pada mobile */
	.menudge > li:hover > a,
	.menudge > li > a:hover,
	.menudge > li > a:focus,
	.menudge > li > a.dgeaktif {
		color: var(--accent-primary);
		background: var(--brand-primary);
	}

	/* Dropdown mengikuti alur menu */
	.menudge ul,
	.menudge ul ul {
		position: static;
		display: none;

		width: 100%;
		min-width: 0;
		max-width: 100%;

		padding: 0 0 0 12px;
		margin: 0;

		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;

		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		transition: none;
	}

	/* Tampilkan submenu saat item aktif di-hover */
	.menudge li:hover > ul,
	.menudge li:focus-within > ul {
		display: block;
		position: static;
		transform: none;
	}

	.menudge ul li a {
		padding: 10px 12px;
		font-size: 13px;
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	.menudge ul li:hover > a,
	.menudge ul li a:hover,
	.menudge ul li > a:focus {
		color: var(--bg-white) !important;
		background: var(--brand-primary);
	}
	.menudge ul li > a.dgeaktif {
		color: var(--accent-primary);
		background: var(--bg-soft-gray);
	}

	/* Hilangkan dekorasi dropdown desktop */
	.menudge > li > ul::before,
	.menudge > li:hover > ul::after,
	.menudge > li:focus-within > ul::after,
	.menudge ul ul::before {
		display: none;
	}

	.menudge ul ul {
		padding-left: 12px;
	}
}

@media (max-width: 767px) {
	/* Submenu tidak aktif: putih */
	nav-dge .menudge ul li > a:not(.dgeaktif) {
		color: var(--bg-white) !important;
	}

	/* Submenu hover: putih */
	nav-dge .menudge ul li:hover > a:not(.dgeaktif),
	nav-dge .menudge ul li > a:not(.dgeaktif):hover,
	nav-dge .menudge ul li > a:not(.dgeaktif):focus {
		color: var(--bg-white) !important;
		background: var(--brand-primary) !important;
	}

	/* Submenu aktif: warna accent-primary */
	nav-dge .menudge ul li > a.dgeaktif,
	nav-dge .menudge ul li > a.dgeaktif:hover,
	nav-dge .menudge ul li:hover > a.dgeaktif {
		color: var(--accent-primary) !important;
		background: var(--bg-soft-gray) !important;
	}
}

.menudge > li > a.menu-induk-aktif {
	color: var(--accent-primary) !important;
	background: var(--brand-primary);
}

/* Pastikan warna tetap tampil saat hover */
.menudge > li > a.menu-induk-aktif:hover,
.menudge > li > a.menu-induk-aktif:focus {
	color: var(--accent-primary) !important;
	background: var(--brand-primary);
}

/* Header sebagai acuan layer */
.navbar-header {
	position: relative;
	isolation: isolate;
}

/* Area logo dan tombol pencarian */
.navbar-header > .container-fluid > .float-right,
.navbar-header .navbar-brand-box {
	position: relative;
	z-index: 20;
}

/* Tombol pencarian dan dropdown */
.navbar-header .dropdown {
	position: relative;
	z-index: 30;
}

.navbar-header #page-header-search-dropdown {
	position: relative;
	z-index: 31;
	pointer-events: auto;
}

.navbar-header .dropdown-menu {
	z-index: 1055 !important;
	pointer-events: auto;
}

/* Menu navigasi jangan menutupi area header */
.navbar-header .topnav {
	position: relative;
	z-index: 10;
}

.navbar-header nav-dge {
	position: relative;
	z-index: 10;
}

/* Dropdown menu tetap dapat diklik */
.navbar-header .menudge ul {
	z-index: 1001;
	pointer-events: none;
}

.navbar-header .menudge li:hover > ul,
.navbar-header .menudge li:focus-within > ul {
	pointer-events: auto;
}

/* Logo desktop dan mobile */
.navbar-header .logo,
.navbar-header .logo-lg,
.navbar-header .logo-sm,
.navbar-header .logo-sm a {
	position: relative;
	z-index: 21;
	pointer-events: auto;
}

.navbar-header .logo img,
.navbar-header .logo-sm img {
	pointer-events: auto;
}

/* Tombol menu mobile */
.navbar-header #resp-menudge {
	position: relative;
	z-index: 32;
	pointer-events: auto;
}

/* ==========================================================
   DATAGOE - PERBAIKAN MENU MOBILE
   ========================================================== */

@media (max-width: 767px) {
	/* Pembungkus menu: tidak menampilkan bidang putih */
	.navbar-header .topnav,
	.navbar-header nav-dge {
		background: transparent !important;
		box-shadow: none;
	}

	.navbar-header .topnav {
		margin: 0;
		padding: 0;
	}

	.navbar-header nav-dge {
		padding: 0;
		margin: 0;
	}

	/* Menu utama: warna latar mengikuti warna brand */
	.navbar-header .menudge {
		background: var(--brand-primary);
		color: var(--bg-white);
		border-radius: 0 0 8px 8px;
		padding: 6px 10px 10px;
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
	}

	/* Link menu utama */
	.navbar-header .menudge > li > a {
		color: var(--bg-white) !important;
		background: transparent;
		border-radius: 5px;
	}

	/* Hover, fokus, dan menu induk aktif */
	.navbar-header .menudge > li:hover > a,
	.navbar-header .menudge > li > a:hover,
	.navbar-header .menudge > li > a:focus,
	.navbar-header .menudge > li > a.dgeaktif,
	.navbar-header .menudge > li > a.menu-induk-aktif {
		color: var(--accent-primary) !important;
		background: rgba(255, 255, 255, 0.1);
	}

	.navbar-header .menudge ul,
	.navbar-header .menudge ul ul {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		border-radius: 0;
	}

	.navbar-header .menudge ul li > a {
		color: var(--bg-white) !important;
		background: transparent !important;
		padding: 10px 12px;
	}

	.navbar-header .menudge ul li:hover > a,
	.navbar-header .menudge ul li > a:hover,
	.navbar-header .menudge ul li > a:focus {
		color: var(--accent-primary) !important;
		background: rgba(255, 255, 255, 0.1) !important;
	}

	.navbar-header .menudge ul li > a.dgeaktif,
	.navbar-header .menudge ul li > a.dgeaktif:hover {
		color: var(--accent-primary) !important;
		background: rgba(255, 255, 255, 0.12) !important;
	}

	.navbar-header .menudge > li + li {
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}

	.navbar-header .menudge > form {
		padding: 5px 0 10px;
		margin: 0 0 5px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.navbar-header .menudge ul li:has(> ul) > a::after {
		color: rgba(255, 255, 255, 0.75);
	}
}

@media (max-width: 767px) {
	.navbar-header .topnav {
		margin: 0 !important;
		padding: 0 !important;
		background: var(--brand-primary) !important;
	}

	.navbar-header nav-dge {
		margin: 0 !important;
		padding: 0 !important;
		background: var(--brand-primary) !important;
	}

	.navbar-header .menudge {
		margin: 0 !important;
		padding: 0 10px 10px !important;
		background: var(--brand-primary) !important;
		border-radius: 0 0 8px 8px;
	}

	.navbar-header .menudge > li:first-child {
		margin-top: 0 !important;
	}

	.navbar-header .menudge ul,
	.navbar-header .menudge ul ul {
		background: transparent !important;
	}
}

#myBtn {
	display: none;
	position: fixed;
	bottom: 38px;
	right: 30px;
	z-index: 99;
	font-size: 13px;
	border: none;
	outline: none;
	background-color: var(--brand-primary);
	color: white;
	cursor: pointer;
	padding: 10px;
	border-radius: 4px;
}

#myBtn:hover {
	background-color: #555;
}

.dge-featured-news {
	position: relative;
	overflow: hidden;
	border-radius: 14px;
	background: #252a30;
	isolation: isolate;
}

/* Area gambar */
.dge-featured-news .dge-featured-item,
.dge-featured-news .dge-featured-media {
	position: relative;
	width: 100%;
}

.dge-featured-news .dge-featured-media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #343a40;
}

/* Link gambar */
.dge-featured-news .dge-featured-image-link {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
}

/* Gambar utama */
.dge-featured-news .dge-featured-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.7s ease;
}

.dge-featured-news .carousel-item.active .dge-featured-image {
	animation: dgeFeaturedReveal 0.8s ease both;
}

@keyframes dgeFeaturedReveal {
	from {
		transform: scale(1.035);
	}

	to {
		transform: scale(1);
	}
}

.dge-featured-news .dge-featured-gradient {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(13, 18, 24, 0.28) 0%, rgba(13, 18, 24, 0.02) 28%, rgba(13, 18, 24, 0.18) 48%, rgba(13, 18, 24, 0.88) 100%);
}

.dge-featured-news .dge-featured-category {
	position: absolute;
	top: 20px;
	left: 22px;
	z-index: 3;

	display: inline-flex;
	align-items: center;
	gap: 7px;

	max-width: calc(100% - 44px);
	padding: 8px 13px;

	overflow: hidden;
	color: var(--bg-white);
	background: var(--brand-primary);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 6px;

	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.35px;
	text-decoration: none;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;

	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition: background 0.2s ease;
}

.dge-featured-news .dge-featured-category:hover {
	color: var(--bg-white);
	background: var(--brand-dark);
	text-decoration: none;
}

.dge-featured-news .dge-featured-caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;

	padding: 65px 30px 42px;
	color: var(--bg-white);
	text-align: left;
}

.dge-featured-news .dge-featured-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	margin-bottom: 12px;

	color: rgba(255, 255, 255, 0.86);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
}

.dge-featured-news .dge-featured-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.dge-featured-news .dge-featured-meta i {
	color: var(--brand-primary);
	font-size: 14px;
}

.dge-featured-news .dge-featured-meta a {
	color: var(--bg-white);
	text-decoration: none;
}

.dge-featured-news .dge-featured-meta a:hover {
	color: var(--accent-primary);
}

.dge-featured-news .dge-featured-title {
	max-width: 900px;
	margin: 0 0 16px;

	color: var(--bg-white);
	font-size: clamp(23px, 2.5vw, 36px);
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -0.5px;
	overflow-wrap: anywhere;

	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.dge-featured-news .dge-featured-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dge-featured-news .dge-featured-title a:hover {
	color: var(--accent-primary);
}

.dge-featured-news .dge-featured-readmore {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 13px;
	color: var(--bg-white);
	background: var(--brand-primary);
	border: 1px solid var(--brand-primary);
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;

	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.dge-featured-news .dge-featured-readmore:hover {
	color: var(--bg-white);
	background: var(--brand-dark);
	border-color: var(--brand-dark);
	text-decoration: none;
	transform: translateY(-1px);
}

.dge-featured-news .dge-featured-readmore i {
	font-size: 17px;
}

.dge-featured-news .carousel-control-prev,
.dge-featured-news .carousel-control-next {
	z-index: 4;
	width: 48px;
	opacity: 1;
	text-decoration: none;
}

.dge-featured-news .dge-featured-control {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--bg-white);
	background: rgba(25, 30, 35, 0.48);
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	font-size: 14px;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.dge-featured-news .carousel-control-prev:hover .dge-featured-control,
.dge-featured-news .carousel-control-next:hover .dge-featured-control {
	background: var(--brand-primary);
	border-color: var(--brand-primary);
}

.dge-featured-news .carousel-indicators {
	z-index: 5;
	right: 25px;
	bottom: 10px;
	left: auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
	width: auto;
	margin-right: 0;
	margin-left: 0;
}

.dge-featured-news .carousel-indicators li {
	box-sizing: content-box;
	width: 7px;
	height: 7px;
	margin: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.55);
	border: 0;
	border-radius: 10px;
	opacity: 1;
	transition: width 0.25s ease, background 0.25s ease;
}

.dge-featured-news .carousel-indicators li.active {
	width: 23px;
	background: var(--brand-primary);
}

/* Tablet */
@media (max-width: 991.98px) {
	.dge-featured-news .dge-featured-caption {
		padding: 50px 24px 38px;
	}

	.dge-featured-news .dge-featured-title {
		font-size: 25px;
		line-height: 1.35;
	}

	.dge-featured-news .dge-featured-category {
		top: 16px;
		left: 17px;
	}
}

/* HP */
@media (max-width: 575.98px) {
	.dge-featured-news {
		border-radius: 10px;
	}

	.dge-featured-news .dge-featured-media {
		aspect-ratio: 4 / 3;
	}

	.dge-featured-news .dge-featured-gradient {
		background: linear-gradient(180deg, rgba(13, 18, 24, 0.25) 0%, rgba(13, 18, 24, 0.02) 25%, rgba(13, 18, 24, 0.45) 48%, rgba(13, 18, 24, 0.94) 100%);
	}

	.dge-featured-news .dge-featured-category {
		top: 12px;
		left: 12px;
		max-width: calc(100% - 24px);
		padding: 6px 9px;
		font-size: 10px;
	}

	.dge-featured-news .dge-featured-caption {
		padding: 40px 15px 39px;
	}

	.dge-featured-news .dge-featured-meta {
		gap: 5px 12px;
		margin-bottom: 8px;
		font-size: 10px;
		line-height: 1.5;
	}

	.dge-featured-news .dge-featured-meta i {
		font-size: 12px;
	}

	.dge-featured-news .dge-featured-title {
		display: -webkit-box;
		margin-bottom: 11px;
		overflow: hidden;

		font-size: 19px;
		line-height: 1.38;
		letter-spacing: -0.2px;

		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.dge-featured-news .dge-featured-readmore {
		padding: 7px 10px;
		font-size: 11px;
	}

	.dge-featured-news .carousel-control-prev,
	.dge-featured-news .carousel-control-next {
		width: 34px;
	}

	.dge-featured-news .dge-featured-control {
		width: 29px;
		height: 29px;
		font-size: 11px;
	}

	.dge-featured-news .carousel-indicators {
		right: 12px;
		bottom: 8px;
		gap: 4px;
	}

	.dge-featured-news .carousel-indicators li {
		width: 5px;
		height: 5px;
	}

	.dge-featured-news .carousel-indicators li.active {
		width: 15px;
	}
}

.sinergi {
	--sinergi-primary: var(--brand-primary, #2457c5);
	--sinergi-dark: var(--brand-dark, #163b70);
	--sinergi-border: var(--border-light, #ebf2ff);

	padding: 8px 0;
	font-family: var(--font-primary, "Inter", sans-serif);
}

.sinergi .sinergi-carousel {
	margin-bottom: 0;
	padding: 8px 2px 14px;
}

.sinergi .sinergi-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100px;
	margin: 0 5px;
	padding: 14px 18px;
	overflow: hidden;
	background: var(--bg-white, #fff);
	border: 1px solid var(--sinergi-border);
	border-radius: 10px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, background 0.25s ease;
}

.sinergi .sinergi-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
	outline-offset: 4px;
}

.sinergi .sinergi-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 62px;
	object-fit: contain;
	object-position: center;
	filter: grayscale(100%);
	opacity: 0.78;
	transform: scale(1);
	transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.sinergi .sinergi-logo:hover {
	background: var(--bg-white, #fff);
	border-color: var(--brand-light, #dce8ff);
	box-shadow: 0 6px 18px rgba(22, 59, 112, 0.09);
	transform: translateY(-3px);
}

.sinergi .sinergi-logo:hover img,
.sinergi .sinergi-logo a:focus-visible img {
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.06);
}

.sinergi .sinergi-logo a:focus-visible {
	border-radius: 5px;
	outline: 2px solid var(--sinergi-primary);
}

.sinergi .owl-stage-outer {
	padding: 5px 0 8px;
}

@media (max-width: 767.98px) {
	.sinergi {
		padding: 6px 0;
	}

	.sinergi .sinergi-logo {
		height: 88px;
		margin: 0 4px;
		padding: 12px;
		border-radius: 9px;
	}

	.sinergi .sinergi-logo img {
		max-height: 54px;
	}
}

@media (max-width: 480px) {
	.sinergi .sinergi-carousel {
		padding-right: 1px;
		padding-left: 1px;
	}
	.sinergi .sinergi-logo {
		height: 78px;
		margin: 0 3px;
		padding: 9px;
		border-radius: 8px;
	}
	.sinergi .sinergi-logo img {
		max-height: 46px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sinergi .sinergi-logo,
	.sinergi .sinergi-logo img {
		transition: none;
	}

	.sinergi .sinergi-logo:hover {
		transform: none;
	}

	.sinergi .sinergi-logo:hover img,
	.sinergi .sinergi-logo a:focus-visible img {
		transform: none;
	}
}

.dge-news-list {
	--dge-news-primary: var(--brand-primary, #2457c5);
	--dge-news-primary-dark: var(--brand-dark, #163b70);
	--dge-news-text: var(--text-dark, #222);
	--dge-news-muted: var(--text-muted, #7b8490);
	--dge-news-border: var(--border-light, #ebf2ff);

	font-family: var(--font-primary, "Inter", sans-serif);
}

.dge-news-list .dge-news-card {
	height: 100%;
	overflow: hidden;
	background: var(--bg-white, #fff);
	border: 1px solid var(--dge-news-border);
	border-radius: 12px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.dge-news-list .dge-news-card:hover {
	border-color: var(--brand-light, #dce8ff);
	box-shadow: 0 8px 24px rgba(22, 59, 112, 0.09);
	transform: translateY(-3px);
}

.dge-news-list .dge-news-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--bg-disabled, #f3f6fb);
}

.dge-news-list .dge-news-image-link {
	display: block;
	width: 100%;
	height: 100%;
}

.dge-news-list .dge-news-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
}

.dge-news-list .dge-news-card:hover .dge-news-image img {
	transform: scale(1.045);
}

.dge-news-list .dge-news-category {
	position: absolute;
	left: 12px;
	bottom: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: calc(100% - 24px);
	padding: 6px 10px;
	overflow: hidden;
	color: var(--bg-white, #fff);
	background: var(--dge-news-primary);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 5px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.12);
	transition: background 0.2s ease;
}

.dge-news-list .dge-news-category:hover {
	color: var(--bg-white, #fff);
	background: var(--dge-news-primary-dark);
}

.dge-news-list .dge-news-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 16px 17px 17px;
}

.dge-news-list .dge-news-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 13px;
	margin-bottom: 10px;
	color: var(--dge-news-muted);
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.55;
}

.dge-news-list .dge-news-meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.dge-news-list .dge-news-meta i {
	color: var(--dge-news-primary);
	font-size: 13px;
}

.dge-news-list .dge-news-title {
	display: -webkit-box;
	width: 100%;
	margin: 0 0 13px;
	overflow: hidden;
	color: var(--dge-news-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 650;
	line-height: 1.5;
	letter-spacing: -0.35px;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.dge-news-list .dge-news-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dge-news-list .dge-news-title a:hover {
	color: var(--dge-news-primary);
}

.dge-news-list .dge-news-opd {
	display: flex;
	align-items: center;
	gap: 7px;
	max-width: 100%;
	margin-top: auto;
	padding-top: 11px;
	border-top: 1px solid var(--dge-news-border);
	color: var(--dge-news-muted);
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
}

.dge-news-list .dge-news-opd i {
	flex: 0 0 auto;
	color: var(--dge-news-primary);
	font-size: 14px;
}

.dge-news-list .dge-news-opd a {
	overflow: hidden;
	color: var(--dge-news-primary-dark);
	font-weight: 600;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dge-news-list .dge-news-opd a:hover {
	color: var(--dge-news-primary);
}

.dge-news-list .dge-news-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 19px;
	color: var(--bg-white, #fff);
	background: var(--dge-news-primary);
	border: 1px solid var(--dge-news-primary);
	border-radius: 7px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.dge-news-list .dge-news-more:hover {
	color: var(--bg-white, #fff);
	background: var(--dge-news-primary-dark);
	border-color: var(--dge-news-primary-dark);
	transform: translateY(-1px);
}

.dge-news-list .dge-news-more i {
	font-size: 18px;
}

@media (max-width: 991.98px) {
	.dge-news-list .dge-news-content {
		padding: 14px;
	}

	.dge-news-list .dge-news-title {
		font-size: 17px;
		line-height: 1.48;
	}
}

@media (max-width: 575.98px) {
	.dge-news-list .dge-news-card {
		border-radius: 10px;
	}

	.dge-news-list .dge-news-content {
		padding: 13px;
	}

	.dge-news-list .dge-news-meta {
		gap: 5px 10px;
		margin-bottom: 8px;
		font-size: 11px;
	}

	.dge-news-list .dge-news-title {
		margin-bottom: 11px;
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: -0.2px;
		-webkit-line-clamp: 3;
	}

	.dge-news-list .dge-news-category {
		left: 9px;
		bottom: 9px;
		padding: 5px 8px;
		font-size: 11px;
	}

	.dge-news-list .dge-news-opd {
		padding-top: 9px;
		font-size: 11px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dge-news-list .dge-news-card,
	.dge-news-list .dge-news-image img,
	.dge-news-list .dge-news-title a,
	.dge-news-list .dge-news-more {
		transition: none;
	}

	.dge-news-list .dge-news-card:hover,
	.dge-news-list .dge-news-more:hover {
		transform: none;
	}

	.dge-news-list .dge-news-card:hover .dge-news-image img {
		transform: none;
	}
}
.dge-news-horizontal {
	--dge-horizontal-cover-width: 190px;
	--dge-horizontal-cover-height: 145px;

	display: flex;
	flex-direction: column;
	gap: 14px;
	font-family: var(--font-primary, "Nunito", sans-serif);
}

.dge-news-horizontal .dge-news-horizontal-item {
	display: flex;
	align-items: stretch;
	min-width: 0;
	overflow: hidden;
	background: var(--bg-white, #fff);
	border: 1px solid var(--border-light, #ebf2ff);
	border-radius: 11px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.dge-news-horizontal .dge-news-horizontal-item:hover {
	border-color: var(--brand-light, #dce8ff);
	box-shadow: 0 6px 18px rgba(22, 59, 112, 0.08);
	transform: translateY(-2px);
}

.dge-news-horizontal .dge-news-horizontal-image {
	position: relative;
	flex: 0 0 var(--dge-horizontal-cover-width);
	width: var(--dge-horizontal-cover-width);
	min-height: var(--dge-horizontal-cover-height);
	overflow: hidden;
	background: var(--bg-disabled, #f3f6fb);
}

.dge-news-horizontal .dge-news-horizontal-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.dge-news-horizontal .dge-news-horizontal-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: var(--dge-horizontal-cover-height);
	object-fit: cover;
	object-position: center;
	transition: transform 0.35s ease;
}

.dge-news-horizontal .dge-news-horizontal-item:hover .dge-news-horizontal-image img {
	transform: scale(1.045);
}

.dge-news-horizontal .dge-news-horizontal-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 13px 16px;
}

.dge-news-horizontal .dge-news-horizontal-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 12px;
	color: var(--text-muted, #7b8490);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
}

.dge-news-horizontal .dge-news-horizontal-meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.dge-news-horizontal .dge-news-horizontal-meta i {
	color: var(--brand-primary, #2457c5);
}

.dge-news-horizontal .dge-news-horizontal-title {
	display: -webkit-box;
	width: 100%;
	margin: 6px 0 7px;
	overflow: hidden;
	color: var(--text-dark, #222);
	font-family: inherit;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.45;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.dge-news-horizontal .dge-news-horizontal-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dge-news-horizontal .dge-news-horizontal-title a:hover {
	color: var(--brand-primary, #2457c5);
}

/* Ringkasan berita */
.dge-news-horizontal .dge-news-horizontal-description {
	display: -webkit-box;
	width: 100%;
	margin: 0 0 9px;
	overflow: hidden;
	color: var(--text-muted, #7b8490);
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.dge-news-horizontal .dge-news-horizontal-opd {
	display: flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	margin-top: auto;
	padding-top: 8px;
	color: var(--text-muted, #7b8490);
	font-size: 11px;
	font-weight: 600;
}

.dge-news-horizontal .dge-news-horizontal-opd i {
	flex: 0 0 auto;
	color: var(--brand-primary, #2457c5);
}

.dge-news-horizontal .dge-news-horizontal-opd a {
	overflow: hidden;
	color: var(--brand-dark, #163b70);
	font-weight: 700;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dge-news-horizontal .dge-news-horizontal-opd a:hover {
	color: var(--brand-primary, #2457c5);
}

@media (max-width: 767.98px) {
	.dge-news-horizontal {
		--dge-horizontal-cover-width: 145px;
		--dge-horizontal-cover-height: 125px;
		gap: 12px;
	}

	.dge-news-horizontal .dge-news-horizontal-content {
		padding: 11px 12px;
	}

	.dge-news-horizontal .dge-news-horizontal-title {
		font-size: 14px;
	}

	.dge-news-horizontal .dge-news-horizontal-description {
		font-size: 11px;
	}
}

@media (max-width: 480px) {
	.dge-news-horizontal {
		--dge-horizontal-cover-width: 112px;
		--dge-horizontal-cover-height: 112px;
		gap: 10px;
	}

	.dge-news-horizontal .dge-news-horizontal-item {
		border-radius: 8px;
	}

	.dge-news-horizontal .dge-news-horizontal-content {
		padding: 9px 10px;
	}

	.dge-news-horizontal .dge-news-horizontal-title {
		margin: 5px 0;
		font-size: 13px;
		line-height: 1.4;
		-webkit-line-clamp: 3;
	}

	.dge-news-horizontal .dge-news-horizontal-description {
		margin-bottom: 5px;
		font-size: 10px;
		line-height: 1.45;
	}

	.dge-news-horizontal .dge-news-horizontal-meta {
		gap: 4px 8px;
		font-size: 10px;
	}

	.dge-news-horizontal .dge-news-horizontal-opd {
		padding-top: 6px;
		font-size: 10px;
	}
}

.dge-quick-access {
	--dge-quick-text: #292f36;
	--dge-quick-muted: #78828e;
	--dge-quick-border: #e9edf2;

	margin-top: 26px;
	margin-bottom: 24px;
}

.dge-quick-access .dge-quick-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 16px;
	padding-bottom: 13px;
	border-bottom: 1px solid var(--dge-quick-border);
}

.dge-quick-access .dge-quick-heading {
	min-width: 0;
}

.dge-quick-access .dge-quick-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: var(--brand-primary);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.5;
}

.dge-quick-access .dge-quick-title {
	margin: 0;
	color: var(--dge-quick-text);
	font-size: 21px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -0.35px;
	overflow-wrap: anywhere;
}

.dge-quick-access .dge-quick-heading-icon {
	display: flex;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: var(--brand-primary);
	background: var(--bg-soft-gray);
	border: 1px solid var(--info-border);
	border-radius: 11px;
	font-size: 17px;
}

.dge-quick-access .dge-quick-grid {
	margin-right: -8px;
	margin-left: -8px;
}

.dge-quick-access .dge-quick-column {
	display: flex;
	padding: 8px;
}

.dge-quick-access .dge-quick-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 13px;

	width: 100%;
	min-width: 0;
	min-height: 88px;
	padding: 14px;

	color: var(--dge-quick-text);
	background: #fff;
	border: 1px solid var(--dge-quick-border);
	border-radius: 12px;

	text-decoration: none;
	box-shadow: 0 2px 7px rgba(25, 35, 45, 0.025);

	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, background 0.25s ease;
}

.dge-quick-access .dge-quick-card:hover {
	color: var(--dge-quick-text);
	background: var(--bg-soft-gray);
	border-color: var(--gradient-end);
	box-shadow: 0 7px 20px rgba(35, 45, 55, 0.075);
	text-decoration: none;
	transform: translateY(-3px);
}

.dge-quick-access .dge-quick-icon {
	display: flex;
	flex: 0 0 54px;
	align-items: center;
	justify-content: center;

	width: 54px;
	height: 54px;
	padding: 8px;

	overflow: hidden;
	background: #f4f5f7;
	border: 1px solid #edf0f3;
	border-radius: 10px;

	transition: background 0.25s ease, border-color 0.25s ease;
}

.dge-quick-access .dge-quick-card:hover .dge-quick-icon {
	background: #e6f7ff;
	/* background: #fff0e6; */
	border-color: #ffdfca;
}

.dge-quick-access .dge-quick-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 0.25s ease;
}

.dge-quick-access .dge-quick-card:hover .dge-quick-icon img {
	transform: scale(1.07);
}

.dge-quick-access .dge-quick-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;

	flex: 1;
	min-width: 0;
}

.dge-quick-access .dge-quick-name {
	margin: 0;
	color: var(--dge-quick-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	overflow-wrap: anywhere;

	transition: color 0.2s ease;
}

.dge-quick-access .dge-quick-card:hover .dge-quick-name {
	color: var(--brand-dark);
}

.dge-quick-access .dge-quick-arrow {
	display: flex;
	flex: 0 0 25px;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	color: #9aa2ad;
	background: #f5f6f8;
	border-radius: 50%;
	font-size: 10px;

	transition: color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.dge-quick-access .dge-quick-card:hover .dge-quick-arrow {
	color: #fff;
	background: var(--accent-light);
	transform: translateX(2px);
}

@media (max-width: 991.98px) {
	.dge-quick-access .dge-quick-title {
		font-size: 19px;
	}
	.dge-quick-access .dge-quick-card {
		min-height: 80px;
		padding: 11px;
		gap: 10px;
	}
	.dge-quick-access .dge-quick-icon {
		flex-basis: 46px;
		width: 46px;
		height: 46px;
		padding: 7px;
	}

	.dge-quick-access .dge-quick-name {
		font-size: 12px;
	}
}

@media (max-width: 575.98px) {
	.dge-quick-access {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.dge-quick-access .dge-quick-header {
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.dge-quick-access .dge-quick-eyebrow {
		font-size: 9px;
		letter-spacing: 0.9px;
	}

	.dge-quick-access .dge-quick-title {
		font-size: 17px;
		line-height: 1.4;
	}

	.dge-quick-access .dge-quick-heading-icon {
		flex-basis: 36px;
		width: 36px;
		height: 36px;
		font-size: 15px;
		border-radius: 9px;
	}

	.dge-quick-access .dge-quick-grid {
		margin-right: -5px;
		margin-left: -5px;
	}

	.dge-quick-access .dge-quick-column {
		padding: 5px;
	}

	.dge-quick-access .dge-quick-card {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
		min-height: 0;
		padding: 12px 10px;
		border-radius: 10px;
	}

	.dge-quick-access .dge-quick-icon {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		padding: 7px;
		border-radius: 9px;
	}

	.dge-quick-access .dge-quick-info {
		align-items: flex-start;
		width: 100%;
		gap: 5px;
	}

	.dge-quick-access .dge-quick-name {
		font-size: 12px;
		line-height: 1.45;
	}

	.dge-quick-access .dge-quick-arrow {
		flex-basis: 21px;
		width: 21px;
		height: 21px;
		font-size: 9px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dge-quick-access .dge-quick-card,
	.dge-quick-access .dge-quick-icon,
	.dge-quick-access .dge-quick-icon img,
	.dge-quick-access .dge-quick-name,
	.dge-quick-access .dge-quick-arrow {
		transition: none;
	}
}

.dge-publication-section {
	margin-top: 24px;
	margin-bottom: 30px;
}

.dge-publication-section .dge-publication-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 18px;
	padding-bottom: 13px;
	border-bottom: 1px solid #e9edf2;
}

.dge-publication-section .dge-publication-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: var(--brand-primary);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
}

.dge-publication-section .dge-publication-title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	color: #292f36;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.dge-publication-section .dge-publication-title > i {
	color: var(--brand-primary);
	font-size: 25px;
}

.dge-publication-section .dge-publication-link {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	gap: 5px;
	padding: 8px 12px;
	color: var(--brand-dark);
	background: var(--border-light);
	border: 1px solid var(--info-border);
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.dge-publication-section .dge-publication-link:hover {
	color: #fff;
	background: var(--brand-primary);
	border-color: var(--brand-primary);
}

.dge-publication-section .dge-publication-link i {
	font-size: 16px;
}

.dge-category-section {
	padding-top: 6px;
}

@media (max-width: 575.98px) {
	.dge-publication-section {
		margin-top: 19px;
		margin-bottom: 24px;
	}

	.dge-publication-section .dge-publication-header {
		align-items: flex-start;
		gap: 8px;
		margin-bottom: 13px;
	}

	.dge-publication-section .dge-publication-eyebrow {
		font-size: 9px;
		letter-spacing: 0.6px;
	}

	.dge-publication-section .dge-publication-title {
		gap: 6px;
		font-size: 17px;
	}

	.dge-publication-section .dge-publication-title > i {
		font-size: 21px;
	}

	.dge-publication-section .dge-publication-link {
		gap: 3px;
		padding: 7px 8px;
		font-size: 10px;
	}
}

.dge-sidebar-news {
	--dge-sidebar-primary: var(--brand-primary, #2457c5);
	--dge-sidebar-dark: var(--brand-dark, #163b70);
	--dge-sidebar-light: var(--brand-light, #dce8ff);
	--dge-sidebar-text: var(--text-dark, #222);
	--dge-sidebar-muted: var(--text-muted, #7b8490);
	--dge-sidebar-border: var(--border-light, #ebf2ff);
	--dge-sidebar-surface: var(--bg-white, #fff);

	font-family: var(--font-primary, "Inter", sans-serif);
}

.dge-sidebar-news .caption {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 14px;
	padding: 0 0 10px;
	color: var(--dge-sidebar-text);
	border-bottom: 1px solid var(--dge-sidebar-border);
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
}

.dge-sidebar-news .caption::before {
	display: none;
}

.dge-sidebar-news .caption::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 48px;
	height: 2px;
	background: var(--dge-sidebar-primary);
	border-radius: 2px;
	content: "";
}

.dge-sidebar-news .dge-sidebar-news-list {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.dge-sidebar-news .card {
	margin: 0;
	padding: 9px;
	overflow: hidden;
	background: var(--dge-sidebar-surface);
	border: 1px solid var(--dge-sidebar-border) !important;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(22, 59, 112, 0.025);
	transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.dge-sidebar-news .card:hover {
	border-color: var(--dge-sidebar-light) !important;
	box-shadow: 0 5px 15px rgba(22, 59, 112, 0.075);
	transform: translateY(-1px);
}

.dge-sidebar-news .dge-sidebar-news-row {
	display: flex;
	align-items: stretch;
	min-width: 0;
}

.dge-sidebar-news .wraper-img-side {
	position: relative;
	display: block;
	flex: 0 0 100px;
	width: 100px;
	max-width: 100px;
	min-height: 82px;
	overflow: hidden;
	background: var(--bg-disabled, #f3f6fb);
	border-radius: 7px;
}

.dge-sidebar-news img.wraper-img-side {
	height: 82px;
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease;
}

.dge-sidebar-news .card:hover img.wraper-img-side {
	transform: scale(1.055);
}

.dge-sidebar-news .dge-sidebar-news-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding-left: 12px;
}

.dge-sidebar-news .judul-side {
	display: -webkit-box;
	width: 100%;
	margin: 0;
	overflow: hidden;
	color: var(--dge-sidebar-text);
	font-family: inherit;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.55;
	text-decoration: none;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	transition: color 0.2s ease;
}

.dge-sidebar-news .judul-side:hover {
	color: var(--dge-sidebar-primary);
}

.dge-sidebar-news .post-side {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin-top: 8px;
	padding: 0;
	color: var(--dge-sidebar-muted);
	font-family: inherit;
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1.5;
}

.dge-sidebar-news .post-side span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.dge-sidebar-news .post-side i {
	color: var(--dge-sidebar-primary);
	font-size: 11px;
}

@media (max-width: 991.98px) {
	.dge-sidebar-news .wraper-img-side {
		flex-basis: 92px;
		width: 92px;
		max-width: 92px;
		min-height: 78px;
	}

	.dge-sidebar-news img.wraper-img-side {
		height: 78px;
	}

	.dge-sidebar-news .dge-sidebar-news-content {
		padding-left: 10px;
	}

	.dge-sidebar-news .judul-side {
		font-size: 12.5px;
	}

	.dge-sidebar-news .post-side {
		gap: 4px 8px;
		font-size: 10px;
	}
}

@media (max-width: 575.98px) {
	.dge-sidebar-news .caption {
		margin-bottom: 12px;
		font-size: 17px;
	}
	.dge-sidebar-news .dge-sidebar-news-list {
		gap: 9px;
	}
	.dge-sidebar-news .card {
		padding: 8px;
		border-radius: 9px;
	}
	.dge-sidebar-news .wraper-img-side {
		flex-basis: 90px;
		width: 90px;
		max-width: 90px;
		min-height: 76px;
		border-radius: 6px;
	}
	.dge-sidebar-news img.wraper-img-side {
		height: 76px;
	}

	.dge-sidebar-news .dge-sidebar-news-content {
		padding-left: 10px;
	}
	.dge-sidebar-news .judul-side {
		font-size: 12.5px;
		line-height: 1.5;
		-webkit-line-clamp: 3;
	}
	.dge-sidebar-news .post-side {
		margin-top: 6px;
		gap: 3px 8px;
		font-size: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dge-sidebar-news .card,
	.dge-sidebar-news img.wraper-img-side,
	.dge-sidebar-news .judul-side {
		transition: none;
	}

	.dge-sidebar-news .card:hover {
		transform: none;
	}

	.dge-sidebar-news .card:hover img.wraper-img-side {
		transform: none;
	}
}

.dge-agenda-widget {
	background: var(--bg-white, #fff);
	border: 1px solid var(--border-light, #ebf2ff);
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 20px;
	box-shadow: 0 3px 14px rgba(22, 59, 112, 0.055);
}

.dge-agenda-header {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 15px;
	border-bottom: 1px solid var(--border-light, #ebf2ff);
	background: linear-gradient(135deg, var(--bg-white, #fff), var(--bg-disabled, #f3f6fb));
}

.dge-agenda-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	color: var(--bg-white, #fff);
	font-size: 19px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--brand-dark, #163b70), var(--brand-primary, #2457c5));
}
.dge-agenda-heading {
	min-width: 0;
	flex: 1;
}

.dge-agenda-title {
	margin: 0;
	color: var(--brand-secondary, #202b3c);
	font-size: 16px;
	font-weight: 750;
	line-height: 1.35;
}

.dge-agenda-subtitle {
	display: block;
	margin-top: 3px;
	color: var(--text-muted, #7b8490);
	font-size: 11px;
}

.dge-agenda-list {
	padding: 0 15px;
}

.dge-agenda-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--border-light, #ebf2ff);
	cursor: pointer;
	transition: background 0.2s ease;
}

.dge-agenda-item:last-child {
	border-bottom: 0;
}

.dge-agenda-item:focus-visible {
	outline: 2px solid var(--brand-primary, #2457c5);
	outline-offset: 2px;
	border-radius: 5px;
}

.dge-agenda-date {
	display: flex;
	flex: 0 0 55px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 70px;
	padding: 7px 4px;
	color: var(--brand-dark, #163b70);
	text-align: center;
	background: var(--brand-light, #dce8ff);
	border: 1px solid rgba(36, 87, 197, 0.15);
	border-radius: 9px;
}

.dge-agenda-date-label {
	color: var(--brand-primary, #2457c5);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.5px;
	line-height: 1.2;
}

.dge-agenda-date-value {
	margin: 3px 0 1px;
	color: var(--brand-dark, #163b70);
	font-size: 25px;
	font-weight: 800;
	line-height: 1.05;
}

.dge-agenda-month {
	color: var(--brand-dark, #163b70);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
}

.dge-agenda-content {
	min-width: 0;
	flex: 1;
}

.dge-agenda-item-title {
	display: -webkit-box;
	overflow: hidden;
	margin: 0 0 8px;
	color: var(--text-charcoal, #333);
	font-size: 13px;
	font-weight: 750;
	line-height: 1.5;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.dge-agenda-item:hover .dge-agenda-item-title {
	color: var(--brand-primary, #2457c5);
}

.dge-agenda-meta {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-top: 5px;
	color: var(--text-muted, #7b8490);
	font-size: 11px;
	line-height: 1.5;
}

.dge-agenda-meta i {
	flex: 0 0 13px;
	margin-top: 2px;
	color: var(--brand-primary, #2457c5);
	text-align: center;
}

.dge-agenda-separator {
	margin: 0 3px;
	color: var(--brand-primary, #2457c5);
	font-weight: 700;
}

.dge-agenda-empty {
	padding: 25px 15px;
	color: var(--text-muted, #7b8490);
	font-size: 12px;
	text-align: center;
}

.dge-agenda-empty i {
	display: block;
	margin-bottom: 8px;
	color: var(--brand-primary, #2457c5);
	font-size: 26px;
}

.dge-agenda-footer {
	padding: 12px 15px 15px;
}

.dge-agenda-more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	padding: 10px 12px;
	color: var(--brand-primary, #2457c5);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	background: var(--bg-white, #fff);
	border: 1px solid var(--brand-light, #dce8ff);
	border-radius: 8px;
	transition: all 0.2s ease;
}

.dge-agenda-more:hover {
	color: var(--bg-white, #fff);
	background: var(--brand-primary, #2457c5);
	border-color: var(--brand-primary, #2457c5);
	text-decoration: none;
}

.dge-agenda-more i {
	font-size: 15px;
	transition: transform 0.2s ease;
}

.dge-agenda-more:hover i {
	transform: translateX(3px);
}

@media (max-width: 1199.98px) {
	.dge-agenda-widget {
		border-radius: 10px;
	}

	.dge-agenda-header {
		padding: 13px;
	}

	.dge-agenda-list {
		padding: 0 13px;
	}

	.dge-agenda-item {
		gap: 10px;
	}
}

.dge-ebook {
	--dge-ebook-primary: var(--brand-primary, #2457c5);
	--dge-ebook-dark: var(--brand-dark, #163b70);
	--dge-ebook-light: var(--brand-light, #dce8ff);
	--dge-ebook-text: var(--text-dark, #222);
	--dge-ebook-muted: var(--text-muted, #7b8490);
	--dge-ebook-border: var(--border-light, #ebf2ff);
	--dge-ebook-surface: var(--bg-white, #fff);

	font-family: var(--font-primary, "Inter", sans-serif);
}

.dge-ebook .dge-ebook-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.dge-ebook .dge-ebook-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	background: var(--dge-ebook-surface);
	border: 1px solid var(--dge-ebook-border);
	border-radius: 12px;
	box-shadow: 0 3px 12px rgba(22, 59, 112, 0.035);
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.dge-ebook .dge-ebook-card:hover {
	border-color: var(--dge-ebook-light);
	box-shadow: 0 10px 26px rgba(22, 59, 112, 0.1);
	transform: translateY(-4px);
}

.dge-ebook .dge-ebook-cover {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px 18px 12px;
	overflow: hidden;
	background: var(--bg-disabled, #f3f6fb);
}

.dge-ebook .dge-ebook-cover-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.dge-ebook .dge-ebook-cover img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 240px;
	aspect-ratio: 3 / 4;
	object-fit: contain;
	object-position: center;
	border-radius: 3px;
	box-shadow: 0 5px 13px rgba(22, 35, 55, 0.14);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dge-ebook .dge-ebook-card:hover .dge-ebook-cover img {
	transform: translateY(-3px);
	box-shadow: 0 9px 20px rgba(22, 35, 55, 0.18);
}

.dge-ebook .dge-ebook-format {
	position: absolute;
	top: 12px;
	left: 12px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 8px;
	color: var(--dge-ebook-primary);
	background: var(--dge-ebook-surface);
	border: 1px solid var(--dge-ebook-border);
	border-radius: 5px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.3;
	box-shadow: 0 2px 6px rgba(22, 59, 112, 0.05);
}

/* Konten kartu */
.dge-ebook .dge-ebook-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 15px 16px 16px;
}

/* Metadata */
.dge-ebook .dge-ebook-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	width: 100%;
	margin-bottom: 10px;
	color: var(--dge-ebook-muted);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
}

.dge-ebook .dge-ebook-meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.dge-ebook .dge-ebook-meta i {
	color: var(--dge-ebook-primary);
	font-size: 12px;
}

.dge-ebook .dge-ebook-title {
	display: -webkit-box;
	width: 100%;
	margin: 0 0 14px;
	overflow: hidden;
	color: var(--dge-ebook-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.2px;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.dge-ebook .dge-ebook-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dge-ebook .dge-ebook-title a:hover {
	color: var(--dge-ebook-primary);
}

.dge-ebook .dge-ebook-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	margin-top: auto;
	padding-top: 11px;
	border-top: 1px solid var(--dge-ebook-border);
}

.dge-ebook .dge-ebook-detail {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	padding: 6px 9px;
	color: var(--dge-ebook-dark);
	background: var(--dge-ebook-light);
	border: 1px solid transparent;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.dge-ebook .dge-ebook-detail:hover {
	color: var(--dge-ebook-primary);
	background: var(--dge-ebook-surface);
	border-color: var(--dge-ebook-light);
}

.dge-ebook .dge-ebook-read {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 7px 11px;
	color: var(--bg-white, #fff);
	background: var(--dge-ebook-primary);
	border: 1px solid var(--dge-ebook-primary);
	border-radius: 6px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.dge-ebook .dge-ebook-read:hover {
	color: var(--bg-white, #fff);
	background: var(--dge-ebook-dark);
	border-color: var(--dge-ebook-dark);
}

.dge-ebook-pagination {
	margin-top: 28px;
}

.dge-ebook-pagination .pagination {
	flex-wrap: wrap;
	gap: 5px;
}

.dge-ebook-pagination .pagination .page-link {
	color: var(--brand-dark, #163b70);
	background: var(--bg-white, #fff);
	border: 1px solid var(--border-light, #ebf2ff);
	border-radius: 6px;
	font-family: var(--font-primary, "Inter", sans-serif);
	font-size: 13px;
}

.dge-ebook-pagination .pagination .page-item.active .page-link {
	color: var(--bg-white, #fff);
	background: var(--brand-primary, #2457c5);
	border-color: var(--brand-primary, #2457c5);
}

.dge-ebook-empty {
	padding: 35px 20px;
	color: var(--text-muted, #7b8490);
	background: var(--bg-disabled, #f3f6fb);
	border: 1px dashed var(--border-light, #ebf2ff);
	border-radius: 12px;
	text-align: center;
}

.dge-ebook-empty i {
	display: block;
	margin-bottom: 10px;
	color: var(--brand-primary, #2457c5);
	font-size: 32px;
}

.dge-ebook-empty p {
	margin: 0;
	font-size: 14px;
}

@media (max-width: 991.98px) {
	.dge-ebook .dge-ebook-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.dge-ebook .dge-ebook-cover {
		padding: 15px 15px 10px;
	}

	.dge-ebook .dge-ebook-cover img {
		max-height: 220px;
	}

	.dge-ebook .dge-ebook-content {
		padding: 13px;
	}
}

@media (max-width: 575.98px) {
	.dge-ebook .dge-ebook-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 11px;
	}
	.dge-ebook .dge-ebook-card {
		border-radius: 9px;
	}
	.dge-ebook .dge-ebook-cover {
		padding: 12px 10px 8px;
	}
	.dge-ebook .dge-ebook-cover img {
		max-height: 170px;
	}
	.dge-ebook .dge-ebook-format {
		top: 7px;
		left: 7px;
		padding: 4px 6px;
		font-size: 9px;
	}
	.dge-ebook .dge-ebook-content {
		padding: 10px;
	}
	.dge-ebook .dge-ebook-meta {
		gap: 4px 7px;
		margin-bottom: 7px;
		font-size: 10px;
	}

	.dge-ebook .dge-ebook-meta i {
		font-size: 11px;
	}
	.dge-ebook .dge-ebook-title {
		margin-bottom: 10px;
		font-size: 13px;
		line-height: 1.45;
		-webkit-line-clamp: 3;
	}

	.dge-ebook .dge-ebook-actions {
		flex-wrap: wrap;
		gap: 6px;
		padding-top: 8px;
	}
	.dge-ebook .dge-ebook-detail,
	.dge-ebook .dge-ebook-read {
		gap: 4px;
		padding: 6px 7px;
		font-size: 10px;
	}
}

@media (max-width: 359.98px) {
	.dge-ebook .dge-ebook-grid {
		grid-template-columns: 1fr;
	}

	.dge-ebook .dge-ebook-cover img {
		max-height: 230px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dge-ebook .dge-ebook-card,
	.dge-ebook .dge-ebook-cover img,
	.dge-ebook .dge-ebook-title a,
	.dge-ebook .dge-ebook-detail,
	.dge-ebook .dge-ebook-read {
		transition: none;
	}
	.dge-ebook .dge-ebook-card:hover,
	.dge-ebook .dge-ebook-card:hover .dge-ebook-cover img {
		transform: none;
	}
}

.dge-ebook .dge-ebook-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
	padding-top: 14px;
}

.dge-ebook .dge-ebook-action-right {
	display: flex;
	align-items: center;
	gap: 7px;
}

.dge-ebook .dge-ebook-detail,
.dge-ebook .dge-ebook-download,
.dge-ebook .dge-ebook-read {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 34px;
	padding: 7px 10px;
	border-radius: 7px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.dge-ebook .dge-ebook-detail {
	border: 1px solid var(--dge-ebook-border);
	background: var(--dge-ebook-surface);
	color: var(--dge-ebook-primary);
}

.dge-ebook .dge-ebook-detail:hover {
	background: var(--dge-ebook-light);
	border-color: var(--dge-ebook-primary);
}

.dge-ebook .dge-ebook-download {
	border: 1px solid var(--dge-ebook-border);
	background: var(--dge-ebook-light);
	color: var(--dge-ebook-dark);
}
.dge-ebook .dge-ebook-download:hover {
	background: var(--dge-ebook-primary);
	border-color: var(--dge-ebook-primary);
	color: #fff;
}
.dge-ebook .dge-ebook-read {
	border: 1px solid var(--dge-ebook-primary);
	background: var(--dge-ebook-primary);
	color: #fff;
}
.dge-ebook .dge-ebook-read:hover {
	background: var(--dge-ebook-dark);
	border-color: var(--dge-ebook-dark);
	color: #fff;
}
.dge-ebook .dge-ebook-detail:focus-visible,
.dge-ebook .dge-ebook-download:focus-visible,
.dge-ebook .dge-ebook-read:focus-visible {
	outline: 2px solid var(--dge-ebook-primary);
	outline-offset: 3px;
}
@media (max-width: 420px) {
	.dge-ebook .dge-ebook-actions {
		align-items: stretch;
		flex-wrap: wrap;
	}
	.dge-ebook .dge-ebook-action-right {
		gap: 6px;
	}
	.dge-ebook .dge-ebook-detail,
	.dge-ebook .dge-ebook-download,
	.dge-ebook .dge-ebook-read {
		padding: 7px 8px;
		font-size: 11px;
	}
}

.testimonial-card {
	--pegawai-radius: 14px;

	position: relative;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(127, 127, 127, 0.14) !important;
	border-radius: var(--pegawai-radius) !important;
	background: var(--bs-card-bg, #fff);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.045) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.testimonial-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.09) !important;
	border-color: var(--brand-primary) !important;
}

.testimonial-card .card-up {
	position: relative;
	height: 94px;
	overflow: hidden;
	border-radius: 0 !important;
	background: var(--brand-primary);
	background: -webkit-linear-gradient(to right, var(--gradient-start), var(--gradient-end));
	background: linear-gradient(to right, var(--gradient-start), var(--gradient-end));
}

.testimonial-card .card-up::after {
	content: "";
	position: absolute;
	width: 145px;
	height: 145px;
	right: -38px;
	top: -82px;
	border: 22px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
}

.testimonial-card .avatar {
	position: relative;
	z-index: 1;
	width: 116px;
	height: 116px;
	margin: -58px auto 0;
	padding: 4px;
	overflow: hidden;
	border: 1px solid rgba(127, 127, 127, 0.15);
	border-radius: 50%;
	background: var(--bs-card-bg, #fff);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.09);
}

.testimonial-card .avatar img {
	display: block;
	width: 100% !important;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	border-radius: 50%;
}

.testimonial-card .card-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 14px 18px 20px;
	text-align: center;
}

.testimonial-card .pegawai-nama {
	width: 100%;
	margin: 0 0 7px;
	color: var(--bs-body-color, #333);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.testimonial-card .pegawai-jabatan {
	min-height: 42px;
	margin: 0;
	color: var(--bs-secondary-color, #6c757d);
	font-size: 13px;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.testimonial-card .pegawai-divider {
	width: 42px;
	height: 3px;
	margin: 15px auto;
	border: 0;
	border-radius: 5px;
	background: var(--brand-primary);
	opacity: 0.8;
}

.testimonial-card .btn-detail-pegawai {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 36px;
	margin-top: auto;
	padding: 8px 17px;
	border: 1px solid var(--brand-primary);
	border-radius: 8px;
	background: var(--brand-primary);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}

.testimonial-card .btn-detail-pegawai:hover {
	background: var(--gradient-end);
	border-color: var(--gradient-end);
	color: #fff;
}

.testimonial-card .btn-detail-pegawai:focus-visible {
	outline: 2px solid var(--brand-primary);
	outline-offset: 3px;
}

.pegawai-grid > [class*="col-"] {
	display: flex;
	margin-bottom: 24px;
}

.pegawai-grid .testimonial-card {
	width: 100%;
}

@media (max-width: 575.98px) {
	.testimonial-card .card-up {
		height: 82px;
	}
	.testimonial-card .avatar {
		width: 104px;
		height: 104px;
		margin-top: -52px;
	}
	.testimonial-card .card-body {
		padding: 12px 14px 17px;
	}
	.testimonial-card .pegawai-nama {
		font-size: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.testimonial-card,
	.testimonial-card .btn-detail-pegawai {
		transition: none;
	}
}

.album-gallery {
	--album-radius: 13px;
	--album-text: var(--bs-body-color, #343a40);
	--album-muted: var(--bs-secondary-color, #6c757d);
	--album-border: rgba(127, 127, 127, 0.16);

	row-gap: 8px;
}

.album-gallery > [class*="col-"] {
	display: flex;
	flex-direction: column;
	margin-bottom: 18px;
}
.album-gallery .gallery-box {
	position: relative;
	overflow: hidden;
	margin-top: 0 !important;
	border: 1px solid var(--album-border);
	border-radius: var(--album-radius);
	background: var(--bs-card-bg, #fff);
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.045);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.album-gallery .album-cover {
	position: relative;
	display: block;
	height: 210px;
	overflow: hidden;
	background: var(--bs-tertiary-bg, #f1f3f5);
}
.album-gallery .album-cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.45s ease;
}

.album-gallery .album-cover::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.35), transparent 55%);
	opacity: 0.45;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

.album-gallery .gallery-box:has(a[href]):hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
}

.album-gallery .gallery-box a:hover img {
	transform: scale(1.055);
}

.album-gallery .gallery-box a:hover::after {
	opacity: 0.8;
}

.album-gallery .album-count {
	position: absolute;
	z-index: 2;
	top: 12px;
	left: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 7px;
	background: rgba(30, 36, 44, 0.72);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}

.album-gallery .album-empty {
	position: absolute;
	z-index: 2;
	right: 12px;
	bottom: 12px;
	padding: 5px 9px;
	border-radius: 6px;
	background: rgba(30, 36, 44, 0.72);
	color: #fff;
	font-size: 10px;
	font-weight: 500;
}

.album-gallery .judul-galeri {
	flex: 1;
	padding: 12px 3px 0;
	text-align: left;
}

.album-gallery .judul-galeri a {
	display: -webkit-box;
	overflow: hidden;
	color: var(--album-text);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.55;
	text-decoration: none;
	overflow-wrap: anywhere;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	transition: color 0.2s ease;
}

.album-gallery .judul-galeri a[href]:hover {
	color: var(--brand-primary);
}

.album-gallery .judul-galeri .album-disabled {
	color: var(--album-muted);
	cursor: default;
}

.album-pagination {
	margin-top: 14px;
}

.album-pagination .pagination {
	flex-wrap: wrap;
	gap: 5px;
}

.album-pagination .page-link {
	border-radius: 7px;
}

@media (min-width: 1200px) {
	.album-gallery .album-cover {
		height: 220px;
	}
}

@media (max-width: 767.98px) {
	.album-gallery .album-cover {
		height: 220px;
	}

	.album-gallery .judul-galeri {
		padding-top: 10px;
	}
}

@media (max-width: 575.98px) {
	.album-gallery .album-cover {
		height: 210px;
	}

	.album-gallery > [class*="col-"] {
		margin-bottom: 12px;
	}

	.album-gallery .judul-galeri a {
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.album-gallery *,
	.album-gallery *::before,
	.album-gallery *::after {
		transition: none !important;
	}
}
