/* Dashboard eksternal (Works & Goods) dan tombol akses cepat beranda. Ditambahkan 2026-11. */

:root {
	--iswmp-blue: #1c6295;
	--iswmp-blue-dark: #134a72;
	--iswmp-teal: #189f97;
	--iswmp-ink: #1f2933;
	--iswmp-muted: #5b6875;
	--iswmp-line: #dfe5ea;
	--iswmp-soft: #f3f6f8;
}

/* ---------- Bingkai dashboard ---------- */
.iswmp-dash {
	margin: 24px 0 8px;
	color: var(--iswmp-ink);
}

.iswmp-dash__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 16px 20px;
	background: var(--iswmp-soft);
	border: 1px solid var(--iswmp-line);
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
}

.iswmp-dash__title {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--iswmp-ink);
	text-transform: none;
	letter-spacing: 0;
}

.iswmp-dash__desc {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--iswmp-muted);
}

.iswmp-dash__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	border-radius: 999px;
	background: var(--iswmp-teal);
	color: #fff !important;
	font-size: 13.5px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none !important;
	transition: background 0.15s ease;
}

.iswmp-dash__btn:hover,
.iswmp-dash__btn:focus-visible {
	background: #127d77;
}

.iswmp-dash__frame {
	position: relative;
	border: 1px solid var(--iswmp-line);
	border-radius: 0 0 10px 10px;
	overflow: hidden;
	background: #fff;
}

.iswmp-dash__frame iframe {
	display: block;
	width: 100%;
	height: 1500px;
	border: 0;
}

.iswmp-dash__note {
	margin: 10px 2px 0;
	font-size: 12.5px;
	color: var(--iswmp-muted);
}

@media (max-width: 767px) {
	.iswmp-dash__bar {
		padding: 14px 16px;
	}
	.iswmp-dash__frame iframe {
		height: 1100px;
	}
}

/* ---------- Tombol akses cepat di beranda ---------- */
.iswmp-quicklinks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.iswmp-quicklink {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 24px;
	border-radius: 14px;
	border: 1px solid var(--iswmp-line);
	background: #fff;
	color: var(--iswmp-ink) !important;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.iswmp-quicklink:hover,
.iswmp-quicklink:focus-visible {
	border-color: var(--iswmp-teal);
	box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
	transform: translateY(-2px);
}

.iswmp-quicklink__art {
	flex: 0 0 auto;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--iswmp-soft);
}

.iswmp-quicklink__art svg {
	width: 64px;
	height: 64px;
}

.iswmp-quicklink__kicker {
	display: block;
	margin-bottom: 4px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--iswmp-teal);
}

.iswmp-quicklink__title {
	display: block;
	margin-bottom: 6px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--iswmp-ink);
}

.iswmp-quicklink__desc {
	display: block;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--iswmp-muted);
}

.iswmp-quicklink__cta {
	display: inline-block;
	margin-top: 10px;
	font-size: 13px;
	font-weight: 600;
	color: var(--iswmp-blue);
}

@media (max-width: 767px) {
	.iswmp-quicklinks {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.iswmp-quicklink {
		padding: 18px;
		gap: 16px;
	}
	.iswmp-quicklink__art {
		width: 72px;
		height: 72px;
	}
	.iswmp-quicklink__art svg {
		width: 48px;
		height: 48px;
	}
}

/* ---------- Skeleton: pengganti gambar placeholder template saat data berita dimuat ---------- */
img.iswmp-skeleton {
	display: block;
	width: 100%;
	aspect-ratio: 1170 / 500;
	background: linear-gradient(90deg, #e9eef2 25%, #f4f7f9 50%, #e9eef2 75%);
	background-size: 200% 100%;
	animation: iswmp-shimmer 1.4s ease-in-out infinite;
}

@keyframes iswmp-shimmer {
	from { background-position: 200% 0; }
	to { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
	img.iswmp-skeleton { animation: none; }
}

/* ---------- Agenda /jadwal ---------- */
.iswmp-agenda { color: var(--iswmp-ink); }
.iswmp-agenda .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.iswmp-agenda__toolbar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 12px 20px; margin-bottom: 20px;
}
.iswmp-agenda__nav { display: flex; align-items: center; gap: 10px; }
.iswmp-agenda__month {
	margin: 0; min-width: 190px; text-align: center;
	font-size: 22px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--iswmp-ink);
}
.iswmp-agenda__navbtn, .iswmp-agenda__today, .iswmp-agenda__clear {
	border: 1px solid var(--iswmp-line); background: #fff; color: var(--iswmp-ink);
	border-radius: 999px; cursor: pointer; transition: border-color .15s, background .15s;
}
.iswmp-agenda__navbtn { width: 40px; height: 40px; font-size: 24px; line-height: 1; }
.iswmp-agenda__today { padding: 8px 16px; font-size: 13.5px; font-weight: 600; }
.iswmp-agenda__navbtn:hover, .iswmp-agenda__today:hover, .iswmp-agenda__clear:hover { border-color: var(--iswmp-teal); }
.iswmp-agenda__navbtn:focus-visible, .iswmp-agenda__today:focus-visible, .iswmp-agenda__clear:focus-visible,
.iswmp-agenda__day:focus-visible { outline: 2px solid var(--iswmp-teal); outline-offset: 2px; }

.iswmp-agenda__search input {
	width: 300px; max-width: 100%; height: 42px; padding: 0 16px;
	border: 1px solid var(--iswmp-line); border-radius: 999px; font-size: 14px; background: #fff;
}
.iswmp-agenda__search input:focus { outline: none; border-color: var(--iswmp-teal); box-shadow: 0 0 0 3px rgba(24,159,151,.15); }

.iswmp-agenda__body { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 24px; align-items: start; }

.iswmp-agenda__cal {
	position: sticky; top: 100px;
	background: #fff; border: 1px solid var(--iswmp-line); border-radius: 14px; padding: 16px;
}
.iswmp-agenda__weekdays, .iswmp-agenda__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.iswmp-agenda__weekdays span { text-align: center; font-size: 12px; font-weight: 700; color: var(--iswmp-muted); padding-bottom: 6px; }
.iswmp-agenda__day {
	position: relative; aspect-ratio: 1; border: 0; border-radius: 10px; background: transparent;
	font-size: 14px; color: var(--iswmp-muted); cursor: default;
}
.iswmp-agenda__day.has-event { background: #e6f5f4; color: var(--iswmp-ink); font-weight: 700; cursor: pointer; }
.iswmp-agenda__day.has-event:hover { background: #cdeeea; }
.iswmp-agenda__day i {
	position: absolute; right: 3px; top: 3px; min-width: 16px; height: 16px; padding: 0 3px;
	border-radius: 8px; background: var(--iswmp-teal); color: #fff; font-size: 10px; font-style: normal; line-height: 16px;
}
.iswmp-agenda__day.is-today { box-shadow: inset 0 0 0 2px var(--iswmp-blue); }
.iswmp-agenda__day.is-selected { background: var(--iswmp-teal); color: #fff; }
.iswmp-agenda__day.is-selected i { background: #fff; color: var(--iswmp-teal); }
.iswmp-agenda__legend { margin: 12px 0 0; font-size: 12px; color: var(--iswmp-muted); }
.iswmp-agenda__legend i, .iswmp-agenda__legend b {
	display: inline-block; width: 12px; height: 12px; border-radius: 4px; vertical-align: -1px; margin-right: 4px;
}
.iswmp-agenda__legend i { background: #e6f5f4; }
.iswmp-agenda__legend b { box-shadow: inset 0 0 0 2px var(--iswmp-blue); }

.iswmp-agenda__list { background: #fff; border: 1px solid var(--iswmp-line); border-radius: 14px; overflow: hidden; }
.iswmp-agenda__listhead {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 14px 18px; border-bottom: 1px solid var(--iswmp-line); background: var(--iswmp-soft);
}
.iswmp-agenda__listhead h4 { margin: 0; font-size: 16px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--iswmp-ink); }
.iswmp-agenda__clear { padding: 6px 14px; font-size: 13px; font-weight: 600; }
#agenda-items { max-height: 640px; overflow-y: auto; }
.iswmp-agenda__empty { margin: 0; padding: 32px 18px; text-align: center; color: var(--iswmp-muted); }

.iswmp-agenda__group { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; padding: 14px 18px; border-bottom: 1px solid var(--iswmp-line); }
.iswmp-agenda__group:last-child { border-bottom: 0; }
.iswmp-agenda__group.is-past { opacity: .62; }
.iswmp-agenda__group.is-today { background: #f0faf9; }
.iswmp-agenda__date { display: flex; align-items: flex-start; gap: 8px; }
.iswmp-agenda__date b { font-size: 28px; line-height: 1; color: var(--iswmp-blue); }
.iswmp-agenda__date span { font-size: 11.5px; line-height: 1.3; color: var(--iswmp-muted); font-weight: 600; }
.iswmp-agenda__group.is-today .iswmp-agenda__date b { color: var(--iswmp-teal); }
.iswmp-agenda__items { list-style: none; margin: 0; padding: 0; }
.iswmp-agenda__item { display: flex; flex-direction: column; gap: 2px; padding: 4px 0 10px; }
.iswmp-agenda__item + .iswmp-agenda__item { border-top: 1px dashed var(--iswmp-line); padding-top: 10px; }
.iswmp-agenda__time { font-size: 12.5px; font-weight: 700; color: var(--iswmp-teal); }
.iswmp-agenda__title { font-size: 14.5px; line-height: 1.45; color: var(--iswmp-ink); }
.iswmp-agenda__place { font-size: 13px; color: var(--iswmp-muted); }
.iswmp-agenda__place::before { content: "\1F4CD"; margin-right: 4px; font-size: 11px; }
.iswmp-agenda__badge {
	display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px;
	background: #fff3e6; color: #a35a14; font-size: 11px; font-weight: 700; vertical-align: 1px;
}

@media (max-width: 991px) {
	.iswmp-agenda__body { grid-template-columns: 1fr; }
	.iswmp-agenda__cal { position: static; }
	#agenda-items { max-height: none; }
}
@media (max-width: 480px) {
	.iswmp-agenda__month { min-width: 0; font-size: 18px; }
	.iswmp-agenda__search, .iswmp-agenda__search input { width: 100%; }
	.iswmp-agenda__group { grid-template-columns: 1fr; gap: 6px; }
}

/* ---------- Galeri foto & video ---------- */
.iswmp-gallery__head {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 12px 24px; margin-bottom: 24px;
}
.iswmp-gallery__intro { margin: 0; font-size: 15px; color: var(--iswmp-muted); }
.iswmp-gallery__search input {
	width: 280px; max-width: 100%; height: 42px; padding: 0 16px;
	border: 1px solid var(--iswmp-line); border-radius: 999px; font-size: 14px; background: #fff;
}
.iswmp-gallery__search input:focus { outline: none; border-color: var(--iswmp-teal); box-shadow: 0 0 0 3px rgba(24,159,151,.15); }
.iswmp-gallery__head .sr-only, .iswmp-gallery .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.iswmp-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; }
.iswmp-gallery__empty { grid-column: 1 / -1; margin: 0; padding: 48px 0; text-align: center; color: var(--iswmp-muted); }

.iswmp-card {
	display: flex; flex-direction: column; padding: 0; text-align: left; cursor: pointer;
	background: #fff; border: 1px solid var(--iswmp-line); border-radius: 14px; overflow: hidden;
	box-shadow: 0 1px 2px rgba(16,24,40,.04);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.iswmp-card:hover, .iswmp-card:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(16,24,40,.10); border-color: var(--iswmp-teal); }
.iswmp-card:focus-visible { outline: 2px solid var(--iswmp-teal); outline-offset: 2px; }
.iswmp-card__media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--iswmp-soft); overflow: hidden; }
.iswmp-card__media.is-video { aspect-ratio: 16 / 9; }
.iswmp-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.iswmp-card:hover .iswmp-card__media img { transform: scale(1.04); }
.iswmp-card__count {
	position: absolute; right: 10px; bottom: 10px; padding: 3px 10px; border-radius: 999px;
	background: rgba(15,23,32,.72); color: #fff; font-size: 12px; font-weight: 600;
}
.iswmp-card__play {
	position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px;
	border-radius: 50%; background: rgba(15,23,32,.68); transition: background .18s ease, transform .18s ease;
}
.iswmp-card__play::after {
	content: ""; position: absolute; left: 26px; top: 20px;
	border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent #fff;
}
.iswmp-card:hover .iswmp-card__play { background: #e0312b; transform: scale(1.06); }
.iswmp-card__body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
.iswmp-card__title { font-size: 15.5px; font-weight: 700; line-height: 1.4; color: var(--iswmp-ink); }
.iswmp-card__desc { font-size: 13.5px; line-height: 1.45; color: var(--iswmp-muted); }
.iswmp-card__date { margin-top: 4px; font-size: 12px; color: #8a96a3; }

/* Penampil (dialog) */
.iswmp-viewer {
	width: min(1100px, 94vw); max-height: 94vh; padding: 0; border: 0; border-radius: 14px;
	background: #0f1720; color: #fff; overflow: hidden;
}
.iswmp-viewer::backdrop { background: rgba(8,12,18,.82); }
.iswmp-viewer[open] { display: flex; flex-direction: column; }
.iswmp-viewer__bar { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 14px 18px; }
.iswmp-viewer__title { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.35; color: #fff; text-transform: none; letter-spacing: 0; }
.iswmp-viewer__meta { margin: 4px 0 0; font-size: 13px; color: #b5c0cb; }
.iswmp-viewer__meta a { color: #8fd8d2; }
.iswmp-viewer__close {
	flex: 0 0 auto; width: 40px; height: 40px; border: 0; border-radius: 50%;
	background: rgba(255,255,255,.12); color: #fff; font-size: 26px; line-height: 1; cursor: pointer;
}
.iswmp-viewer__close:hover { background: rgba(255,255,255,.22); }
.iswmp-viewer__stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 0; flex: 1 1 auto; padding: 0 56px; }
.iswmp-viewer__stage img { max-width: 100%; max-height: 70vh; object-fit: contain; border-radius: 6px; }
.iswmp-viewer__arrow {
	position: absolute; top: 50%; width: 44px; height: 44px; margin-top: -22px; border: 0; border-radius: 50%;
	background: rgba(255,255,255,.14); color: #fff; font-size: 30px; line-height: 1; cursor: pointer;
}
.iswmp-viewer__arrow:hover { background: rgba(255,255,255,.26); }
.iswmp-viewer__arrow.is-prev { left: 8px; }
.iswmp-viewer__arrow.is-next { right: 8px; }
.iswmp-viewer__thumbs { display: flex; gap: 8px; justify-content: center; padding: 12px 16px 16px; overflow-x: auto; }
.iswmp-viewer__thumbs button { flex: 0 0 auto; width: 72px; height: 54px; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; background: none; cursor: pointer; opacity: .6; }
.iswmp-viewer__thumbs button.is-active { border-color: var(--iswmp-teal); opacity: 1; }
.iswmp-viewer__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.iswmp-viewer__video { position: relative; aspect-ratio: 16 / 9; background: #000; }
.iswmp-viewer__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.iswmp-viewer.is-video .iswmp-viewer__bar { padding-bottom: 12px; }

@media (max-width: 600px) {
	.iswmp-gallery { grid-template-columns: 1fr; gap: 16px; }
	.iswmp-gallery__search, .iswmp-gallery__search input { width: 100%; }
	.iswmp-viewer__stage { padding: 0 8px; }
	.iswmp-viewer__arrow { width: 38px; height: 38px; margin-top: -19px; font-size: 26px; background: rgba(0,0,0,.45); }
}
@media (prefers-reduced-motion: reduce) {
	.iswmp-card, .iswmp-card__media img, .iswmp-card__play { transition: none; }
}

/* ---------- Widget agenda mendatang (beranda) ---------- */
#agenda-beranda .gap.no-top { padding-top: 0; padding-bottom: 40px; }
#akses-cepat .gap.no-top { padding: 36px 0 0; }
.iswmp-upcoming { background: #fff; border: 1px solid var(--iswmp-line); border-radius: 14px; overflow: hidden; }
.iswmp-upcoming__head {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px;
	padding: 16px 22px; background: var(--iswmp-soft); border-bottom: 1px solid var(--iswmp-line);
}
.iswmp-upcoming__head h3 { margin: 0; font-size: 18px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--iswmp-ink); }
.iswmp-upcoming__head a { font-size: 14px; font-weight: 600; color: var(--iswmp-blue); }
.iswmp-upcoming__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
}
.iswmp-upcoming__item {
	display: flex; gap: 14px; padding: 16px 22px;
	border-bottom: 1px solid var(--iswmp-line); border-right: 1px solid var(--iswmp-line);
}
.iswmp-upcoming__item:nth-child(3n) { border-right: 0; }
.iswmp-upcoming__date {
	flex: 0 0 auto; width: 54px; padding: 6px 0; border-radius: 10px; text-align: center;
	background: #e6f5f4; color: var(--iswmp-teal); font-size: 12px; font-weight: 700; text-transform: uppercase; line-height: 1.2;
}
.iswmp-upcoming__date b { display: block; font-size: 22px; color: var(--iswmp-blue); }
.iswmp-upcoming__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.iswmp-upcoming__time { font-size: 12.5px; font-weight: 700; color: var(--iswmp-teal); }
.iswmp-upcoming__title {
	font-size: 14px; line-height: 1.45; color: var(--iswmp-ink);
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.iswmp-upcoming__place { font-size: 12.5px; color: var(--iswmp-muted); }
.iswmp-upcoming__empty { grid-column: 1 / -1; padding: 24px 22px; color: var(--iswmp-muted); text-align: center; }
@media (max-width: 991px) {
	.iswmp-upcoming__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iswmp-upcoming__item:nth-child(3n) { border-right: 1px solid var(--iswmp-line); }
	.iswmp-upcoming__item:nth-child(2n) { border-right: 0; }
}
@media (max-width: 600px) {
	.iswmp-upcoming__list { grid-template-columns: 1fr; }
	.iswmp-upcoming__item { border-right: 0 !important; padding: 14px 16px; }
	.iswmp-upcoming__head { padding: 14px 16px; }
}

/* ---------- Layanan pengaduan (GRM) ---------- */
.iswmp-grm { color: var(--iswmp-ink); }
.iswmp-grm__intro { max-width: 860px; margin: 0 0 28px; font-size: 16px; line-height: 1.6; color: var(--iswmp-muted); }
.iswmp-grm__channels { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px; margin-bottom: 20px; }
.iswmp-grm__side { display: grid; gap: 20px; }
.iswmp-grm__card { display: flex; gap: 24px; align-items: center; padding: 24px; background: #fff; border: 1px solid var(--iswmp-line); border-radius: 14px; }
.iswmp-grm__card.is-wa { background: linear-gradient(135deg, #f0faf9, #fff 60%); border-color: #bfe6e2; }
.iswmp-grm__qr { flex: 0 0 auto; padding: 10px; background: #fff; border: 1px solid var(--iswmp-line); border-radius: 12px; line-height: 0; }
.iswmp-grm__qr img, .iswmp-grm__qr canvas { width: 200px; height: 200px; }
.iswmp-grm__body h3 { margin: 2px 0 6px; font-size: 20px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--iswmp-ink); }
.iswmp-grm__body p { margin: 0 0 10px; font-size: 14px; line-height: 1.55; color: var(--iswmp-muted); }
.iswmp-grm__kicker { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--iswmp-teal); }
.iswmp-grm__value { font-size: 18px !important; font-weight: 700; color: var(--iswmp-blue) !important; }
.iswmp-grm__btn {
	display: inline-block; margin-top: 4px; padding: 12px 22px; border-radius: 999px;
	background: #1f9d57; color: #fff !important; font-weight: 700; font-size: 14.5px; text-decoration: none !important;
}
.iswmp-grm__btn:hover, .iswmp-grm__btn:focus-visible { background: #178048; }
.iswmp-grm__link { font-weight: 600; color: var(--iswmp-blue); }
.iswmp-grm__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.iswmp-grm__panel { padding: 22px 24px; background: var(--iswmp-soft); border-radius: 14px; }
.iswmp-grm__panel h3 { margin: 0 0 14px; font-size: 17px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--iswmp-ink); }
.iswmp-grm__checklist { margin: 0; padding: 0; list-style: none; }
.iswmp-grm__checklist li { position: relative; padding: 0 0 10px 26px; font-size: 14px; line-height: 1.5; }
.iswmp-grm__checklist li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--iswmp-teal); font-weight: 700; }
.iswmp-grm__steps { margin: 0; padding: 0; list-style: none; counter-reset: langkah; }
.iswmp-grm__steps li { position: relative; display: flex; flex-direction: column; padding: 0 0 12px 40px; counter-increment: langkah; }
.iswmp-grm__steps li::before {
	content: counter(langkah); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%;
	background: var(--iswmp-blue); color: #fff; font-size: 13px; font-weight: 700; line-height: 26px; text-align: center;
}
.iswmp-grm__steps b { font-size: 14.5px; }
.iswmp-grm__steps span { font-size: 13.5px; line-height: 1.5; color: var(--iswmp-muted); }
.iswmp-grm__privacy { margin: 20px 0 0; font-size: 13px; color: var(--iswmp-muted); }
@media (max-width: 991px) {
	.iswmp-grm__channels, .iswmp-grm__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.iswmp-grm__card { flex-direction: column; align-items: flex-start; padding: 20px; }
	.iswmp-grm__qr img, .iswmp-grm__qr canvas { width: 168px; height: 168px; }
}

/* Teks khusus pembaca layar / mesin pencari */
.iswmp-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Dokumen /report & /pedoman ---------- */
.iswmp-docs { color: var(--iswmp-ink); }
.iswmp-docs__intro { max-width: 820px; margin: 0 0 24px; font-size: 15.5px; line-height: 1.6; color: var(--iswmp-muted); }
.iswmp-docs__toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.iswmp-docs__search { flex: 1 1 280px; }
.iswmp-docs__search input, .iswmp-docs__select select {
	width: 100%; height: 44px; padding: 0 16px; border: 1px solid var(--iswmp-line); border-radius: 10px;
	background: #fff; font-size: 14px; color: var(--iswmp-ink);
}
.iswmp-docs__select { flex: 0 0 170px; }
.iswmp-docs__search input:focus, .iswmp-docs__select select:focus { outline: none; border-color: var(--iswmp-teal); box-shadow: 0 0 0 3px rgba(24,159,151,.15); }
.iswmp-docs__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.iswmp-docs__chip {
	padding: 7px 14px; border: 1px solid var(--iswmp-line); border-radius: 999px; background: #fff;
	font-size: 13px; font-weight: 600; color: var(--iswmp-ink); cursor: pointer; transition: border-color .15s, background .15s;
}
.iswmp-docs__chip b { margin-left: 4px; font-weight: 700; color: var(--iswmp-muted); }
.iswmp-docs__chip:hover { border-color: var(--iswmp-teal); }
.iswmp-docs__chip.is-active { background: var(--iswmp-teal); border-color: var(--iswmp-teal); color: #fff; }
.iswmp-docs__chip.is-active b { color: #e6f5f4; }
.iswmp-docs__chip:focus-visible { outline: 2px solid var(--iswmp-teal); outline-offset: 2px; }
.iswmp-docs__count { margin: 0 0 16px; font-size: 13px; color: var(--iswmp-muted); }
.iswmp-docs__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.iswmp-docs__empty { grid-column: 1 / -1; margin: 0; padding: 40px 0; text-align: center; color: var(--iswmp-muted); }

.iswmp-doc {
	display: flex; gap: 18px; padding: 16px; background: #fff;
	border: 1px solid var(--iswmp-line); border-radius: 14px; transition: border-color .15s, box-shadow .15s;
}
.iswmp-doc:hover { border-color: #bfe6e2; box-shadow: 0 8px 22px rgba(16,24,40,.07); }
.iswmp-doc__media {
	flex: 0 0 112px; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden;
	background: var(--iswmp-soft); border: 1px solid var(--iswmp-line);
}
.iswmp-doc__media img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.iswmp-doc__placeholder { display: grid; place-items: center; height: 100%; font-size: 34px; font-weight: 800; color: #b8c6d2; }
.iswmp-doc__body { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.iswmp-doc__jenis {
	align-self: flex-start; margin-bottom: 6px; padding: 2px 10px; border-radius: 999px;
	background: #e6f5f4; color: #127d77; font-size: 11.5px; font-weight: 700;
}
.iswmp-doc__title { margin: 0 0 6px; font-size: 15.5px; font-weight: 700; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.iswmp-doc__title a { color: var(--iswmp-ink); }
.iswmp-doc__title a:hover { color: var(--iswmp-blue); }
.iswmp-doc__desc {
	margin: 0 0 10px; font-size: 13.5px; line-height: 1.5; color: var(--iswmp-muted);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.iswmp-doc__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.iswmp-doc__date { font-size: 12.5px; color: #8a96a3; }
.iswmp-doc__btn {
	display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 8px;
	background: var(--iswmp-blue); color: #fff !important; font-size: 13px; font-weight: 600; text-decoration: none !important;
}
.iswmp-doc__btn:hover, .iswmp-doc__btn:focus-visible { background: var(--iswmp-blue-dark); }
.iswmp-doc__na { font-size: 12.5px; color: var(--iswmp-muted); }

@media (max-width: 991px) { .iswmp-docs__grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) {
	.iswmp-docs__select { flex: 1 1 calc(50% - 5px); }
	.iswmp-doc { gap: 14px; padding: 14px; }
	.iswmp-doc__media { flex-basis: 84px; }
}
.iswmp-docs__select select { display: block !important; appearance: auto; text-transform: none; cursor: pointer; }

/* ---------- Berita: daftar ---------- */
.iswmp-news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.iswmp-news__more { margin-top: 28px; text-align: center; }
.iswmp-news__more button {
	padding: 12px 26px; border: 1px solid var(--iswmp-line); border-radius: 999px; background: #fff;
	font-size: 14px; font-weight: 600; color: var(--iswmp-blue); cursor: pointer;
}
.iswmp-news__more button:hover { border-color: var(--iswmp-teal); }

.iswmp-newscard {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--iswmp-line); border-radius: 14px;
	overflow: hidden; color: var(--iswmp-ink) !important; text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.iswmp-newscard:hover, .iswmp-newscard:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(16,24,40,.10); border-color: var(--iswmp-teal); }
.iswmp-newscard__media { display: block; aspect-ratio: 16 / 10; background: var(--iswmp-soft); overflow: hidden; }
.iswmp-newscard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.iswmp-newscard__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 18px; }
.iswmp-newscard__date { font-size: 12px; font-weight: 600; color: var(--iswmp-teal); }
.iswmp-newscard__title {
	font-size: 15.5px; font-weight: 700; line-height: 1.4; color: var(--iswmp-ink);
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.iswmp-newscard__intro {
	font-size: 13.5px; line-height: 1.5; color: var(--iswmp-muted);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.iswmp-newscard__label {
	align-self: flex-start; padding: 2px 10px; border-radius: 999px; background: var(--iswmp-teal);
	color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}

.iswmp-newsfeature {
	display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); margin-bottom: 26px;
	background: #fff; border: 1px solid var(--iswmp-line); border-radius: 16px; overflow: hidden;
	color: var(--iswmp-ink) !important; text-decoration: none !important; transition: box-shadow .18s ease, border-color .18s ease;
}
.iswmp-newsfeature:hover { box-shadow: 0 14px 32px rgba(16,24,40,.10); border-color: var(--iswmp-teal); }
.iswmp-newsfeature__media { display: block; min-height: 300px; background: var(--iswmp-soft); }
.iswmp-newsfeature__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.iswmp-newsfeature__body { display: flex; flex-direction: column; gap: 10px; padding: 28px; justify-content: center; }
.iswmp-newsfeature__title { font-size: 24px; font-weight: 700; line-height: 1.3; color: var(--iswmp-ink); }
.iswmp-newsfeature__intro { font-size: 15px; line-height: 1.6; color: var(--iswmp-muted); }
.iswmp-newsfeature__cta { margin-top: 4px; font-weight: 700; color: var(--iswmp-blue); }

/* ---------- Berita: artikel ---------- */
.iswmp-article { max-width: 780px; margin: 0 auto; color: var(--iswmp-ink); }
.iswmp-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 12px; font-size: 13.5px; color: var(--iswmp-muted); }
.iswmp-article__tag { padding: 2px 10px; border-radius: 999px; background: #e6f5f4; color: #127d77; font-weight: 700; font-size: 12px; }
.iswmp-article__title { margin: 0 0 22px; font-size: 32px; font-weight: 700; line-height: 1.25; letter-spacing: -.2px; text-transform: none; color: var(--iswmp-ink); }
.iswmp-article__cover { margin: 0 0 28px; border-radius: 14px; overflow: hidden; background: var(--iswmp-soft); }
.iswmp-article__cover img { width: 100%; height: auto; display: block; }
.iswmp-article__body { font-size: 17px; line-height: 1.75; color: #27323d; overflow-wrap: anywhere; }
.iswmp-article__body p, .iswmp-article__body li { font-size: inherit !important; line-height: inherit !important; letter-spacing: 0; }
.iswmp-article__body p { margin: 0 0 1.1em; }
.iswmp-article__body ul, .iswmp-article__body ol { margin: 0 0 1.1em; padding-left: 1.4em; }
.iswmp-article__body li { margin-bottom: .35em; }
.iswmp-article__body img { max-width: 100% !important; height: auto !important; border-radius: 10px; margin: 8px 0; }
.iswmp-article__body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 15px; }
.iswmp-article__body td, .iswmp-article__body th { padding: 6px 10px; border: 1px solid var(--iswmp-line); }
.iswmp-article__body h2, .iswmp-article__body h3, .iswmp-article__body h4 { margin: 1.4em 0 .6em; line-height: 1.35; text-transform: none; color: var(--iswmp-ink); }
.iswmp-article__body a { color: var(--iswmp-blue); text-decoration: underline; }
.iswmp-article__body iframe { max-width: 100%; }
.iswmp-article__share {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--iswmp-line);
}
.iswmp-article__share > span { font-size: 14px; font-weight: 600; color: var(--iswmp-muted); margin-right: 4px; }
.iswmp-article__share a, .iswmp-article__share button {
	padding: 8px 14px; border: 1px solid var(--iswmp-line); border-radius: 999px; background: #fff;
	font-size: 13px; font-weight: 600; color: var(--iswmp-ink) !important; text-decoration: none !important; cursor: pointer;
}
.iswmp-article__share a:hover, .iswmp-article__share button:hover { border-color: var(--iswmp-teal); }
.iswmp-article__share .is-wa { background: #1f9d57; border-color: #1f9d57; color: #fff !important; }
.iswmp-article__back { margin: 18px 0 0; }
.iswmp-article__back a { font-weight: 600; color: var(--iswmp-blue); }
.iswmp-related { max-width: 1100px; margin: 56px auto 0; }
.iswmp-related h2 { margin: 0 0 18px; font-size: 22px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--iswmp-ink); }

@media (max-width: 991px) {
	.iswmp-news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iswmp-newsfeature { grid-template-columns: 1fr; }
	.iswmp-newsfeature__media { min-height: 0; aspect-ratio: 16 / 9; }
}
@media (max-width: 600px) {
	.iswmp-news__grid { grid-template-columns: 1fr; gap: 16px; }
	.iswmp-newsfeature__body { padding: 18px; }
	.iswmp-newsfeature__title { font-size: 20px; }
	.iswmp-article__title { font-size: 24px; }
	.iswmp-article__body { font-size: 16px; }
}
/* Isi dari editor admin sering membawa font-size/font-family inline (11pt Arial); seragamkan agar nyaman dibaca. */
.iswmp-article__body span, .iswmp-article__body font, .iswmp-article__body p, .iswmp-article__body div, .iswmp-article__body li {
	font-size: inherit !important; font-family: inherit !important; line-height: inherit !important; color: inherit !important; background-color: transparent !important;
}
.iswmp-article__body span { white-space: normal !important; }

/* ---------- Beranda (2026-11) ---------- */
.iswmp-hero { position: relative; background: var(--iswmp-soft); }
.iswmp-hero__track {
	display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	scrollbar-width: none; -ms-overflow-style: none;
}
.iswmp-hero__track::-webkit-scrollbar { display: none; }
.iswmp-hero__track:focus-visible { outline: 3px solid var(--iswmp-teal); outline-offset: -3px; }
.iswmp-hero__slide { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 1883 / 700; background: var(--iswmp-soft); }
.iswmp-hero__slide a, .iswmp-hero__slide img { display: block; width: 100%; height: 100%; }
.iswmp-hero__slide img { object-fit: cover; }
.iswmp-hero__slide.is-placeholder { background: linear-gradient(90deg, #e9eef2 25%, #f4f7f9 50%, #e9eef2 75%); background-size: 200% 100%; animation: iswmp-shimmer 1.4s ease-in-out infinite; }
.iswmp-hero__arrow {
	position: absolute; top: 50%; width: 48px; height: 48px; margin-top: -24px; border: 0; border-radius: 50%;
	background: rgba(255,255,255,.88); color: var(--iswmp-ink); font-size: 30px; line-height: 1; cursor: pointer;
	box-shadow: 0 4px 14px rgba(16,24,40,.18); transition: background .15s, transform .15s;
}
.iswmp-hero__arrow:hover { background: #fff; transform: scale(1.05); }
.iswmp-hero__arrow.is-prev { left: 18px; }
.iswmp-hero__arrow.is-next { right: 18px; }
.iswmp-hero__dots { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; justify-content: center; gap: 8px; }
.iswmp-hero__dots button {
	width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.65);
	box-shadow: 0 1px 4px rgba(0,0,0,.25); cursor: pointer; transition: width .2s, background .2s;
}
.iswmp-hero__dots button[aria-selected="true"] { width: 28px; background: #fff; }

.iswmp-home__kicker { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--iswmp-teal); }
.iswmp-home__title { margin: 0 0 14px; font-size: 28px; font-weight: 700; line-height: 1.3; text-transform: none; letter-spacing: -.2px; color: var(--iswmp-ink); }
.iswmp-home__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 20px; margin-bottom: 22px; }
.iswmp-home__head .iswmp-home__title { margin: 0; }
.iswmp-home__more { font-weight: 700; color: var(--iswmp-blue); }
.iswmp-home__btn {
	display: inline-block; margin-top: 8px; padding: 12px 22px; border-radius: 999px; background: var(--iswmp-blue);
	color: #fff !important; font-weight: 700; font-size: 14px; text-decoration: none !important;
}
.iswmp-home__btn:hover, .iswmp-home__btn:focus-visible { background: var(--iswmp-blue-dark); }

.iswmp-home-about { padding: 64px 0; background: var(--iswmp-soft); }
.iswmp-home-about__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.iswmp-home-about__text { margin: 0 0 12px; font-size: 16px; line-height: 1.75; color: #3a4754; }
.iswmp-home-about__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.iswmp-home-about__links a {
	display: flex; flex-direction: column; gap: 2px; padding: 16px 20px; background: #fff; border: 1px solid var(--iswmp-line);
	border-radius: 12px; color: var(--iswmp-ink) !important; text-decoration: none !important; transition: border-color .15s, transform .15s;
}
.iswmp-home-about__links a:hover, .iswmp-home-about__links a:focus-visible { border-color: var(--iswmp-teal); transform: translateX(4px); }
.iswmp-home-about__links b { font-size: 15px; }
.iswmp-home-about__links span { font-size: 13px; color: var(--iswmp-muted); }

.iswmp-home-news { padding: 64px 0 24px; }
.iswmp-newscard.is-loading .iswmp-newscard__media,
.iswmp-newscard.is-loading .iswmp-newscard__title {
	background: linear-gradient(90deg, #e9eef2 25%, #f4f7f9 50%, #e9eef2 75%); background-size: 200% 100%; animation: iswmp-shimmer 1.4s ease-in-out infinite;
}
.iswmp-newscard.is-loading .iswmp-newscard__title { height: 44px; border-radius: 6px; }
#agenda-beranda { padding: 40px 0 72px; }

@media (max-width: 991px) {
	.iswmp-home-about__grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 600px) {
	.iswmp-hero__arrow { display: none; }
	.iswmp-hero__dots { bottom: 8px; }
	.iswmp-home__title { font-size: 22px; }
	.iswmp-home-about, .iswmp-home-news { padding: 44px 0 16px; }
	.iswmp-home-about { padding-bottom: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	.iswmp-hero__track { scroll-behavior: auto; }
}
/* Carousel berbasis transform (aktif saat JS siap) */
.iswmp-hero { overflow: hidden; }
.iswmp-hero__track.is-js { overflow: visible; scroll-snap-type: none; transition: transform .55s cubic-bezier(.22,.61,.36,1); will-change: transform; }
@media (prefers-reduced-motion: reduce) { .iswmp-hero__track.is-js { transition: none; } }
.iswmp-hero__count { display: none; position: absolute; right: 10px; bottom: 8px; padding: 2px 8px; border-radius: 999px; background: rgba(15,23,32,.6); color: #fff; font-size: 11px; font-weight: 600; }
@media (max-width: 600px) {
	.iswmp-hero__dots { display: none; }
	.iswmp-hero__count { display: block; }
}

/* ---------- Logo header lebih besar (2026-11) ---------- */
header .site-logo { display: flex; align-items: center; min-height: 60px; }
header .site-logo img { width: 280px; max-width: 100%; height: auto; }
@media (min-width: 768px) and (max-width: 1199px) {
	/* Laptop kecil: pertahankan ruang menu agar tetap satu baris. */
	header .container > .row > .col-sm-3 { width: 20%; }
	header .container > .row > .col-sm-9 { width: 80%; }
	header .site-logo img { width: 185px; }
}
/* Logo di header HP (versi putih) */
.responsive-header .res-logo-area img[src*="logo2"] { width: 170px; max-width: 100%; height: auto; }
.responsive-header .responsive-menu > a img[src*="logo2"] { width: 170px; height: auto; }
/* Bilah atas HP: kolom bahasa sudah disembunyikan, beri ruangnya ke logo. */
.res-logo-area > div:first-child { display: none; }
.res-logo-area > div:nth-child(2) { width: 75%; text-align: left; padding-left: 16px; }
.res-logo-area > div:nth-child(3) { width: 25%; }
.res-logo-area .logo img, .res-logo-area img[src*="logo2"] { width: 190px; max-width: 100%; height: auto; }
