/**
 * IDM Halaman Redaksi — gaya tampilan depan.
 * Semua warna dikendalikan lewat CSS variable yang ditulis dari dasbor,
 * jadi berkas ini tidak perlu disunting untuk mengganti warna.
 */

.idm-redaksi {
	--idmr-bg: #ffffff;
	--idmr-card: #ffffff;
	--idmr-line: #e7e2da;
	--idmr-title: #141414;
	--idmr-label: #8a8078;
	--idmr-name: #1c1c1c;
	--idmr-meta: #7a7a7a;
	--idmr-accent: #d61919;
	--idmr-radius: 14px;
	--idmr-max: 1080px;
	--idmr-font-head: inherit;
	--idmr-font-body: inherit;

	box-sizing: border-box;
	max-width: var(--idmr-max);
	margin: 0 auto;
	padding: clamp(20px, 4vw, 44px) clamp(16px, 3vw, 28px);
	background: var(--idmr-bg);
	color: var(--idmr-name);
	line-height: 1.55;
}

.idm-redaksi *,
.idm-redaksi *::before,
.idm-redaksi *::after {
	box-sizing: inherit;
}

/* ------------------------------------------------------------------ Kepala */

.idm-redaksi__header {
	margin-bottom: clamp(22px, 3vw, 38px);
	position: relative;
	padding-top: 18px;
}

.idm-redaksi__header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 4px;
	border-radius: 4px;
	background: var(--idmr-accent);
}

.idm-redaksi__title {
	margin: 0;
	font-weight: 600;
	font-size: clamp(1.65rem, 1.1rem + 1.9vw, 2.6rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--idmr-title);
}

.idm-redaksi__subtitle {
	margin: 8px 0 0;
	max-width: 58ch;
	color: var(--idmr-meta);
	font-size: 1rem;
}

/* ------------------------------------------------------------------ Umum */

.idm-redaksi__members {
	list-style: none;
	margin: 0;
	padding: 0;
}

.idm-redaksi__member {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.idm-redaksi__person {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.idm-redaksi__nama {
	color: var(--idmr-name);
	font-weight: 600;
	font-size: 1.02rem;
	letter-spacing: -0.005em;
	word-break: break-word;
}

.idm-redaksi__nama a {
	color: inherit;
	text-decoration: none;
	background-image: linear-gradient(var(--idmr-accent), var(--idmr-accent));
	background-size: 0 1px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size .25s ease, color .2s ease;
}

.idm-redaksi__nama a:hover,
.idm-redaksi__nama a:focus {
	color: var(--idmr-accent);
	background-size: 100% 1px;
}

.idm-redaksi__ket {
	color: var(--idmr-meta);
	font-size: .82rem;
	line-height: 1.4;
	margin-top: 2px;
}

.idm-redaksi__jabatan {
	margin: 0 0 10px;
	font-size: .7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--idmr-label);
}

.idm-redaksi__avatar {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--idmr-line);
	box-shadow: 0 0 0 1px var(--idmr-line), 0 0 0 4px var(--idmr-card);
}

.idm-redaksi__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ------------------------------------------------------------- Gaya: kartu */

.idm-redaksi--kartu .idm-redaksi__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: clamp(12px, 1.6vw, 20px);
}

.idm-redaksi--kartu .idm-redaksi__group {
	position: relative;
	background: var(--idmr-card);
	border: 1px solid var(--idmr-line);
	border-radius: var(--idmr-radius);
	padding: 22px 20px 20px;
	overflow: hidden;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.idm-redaksi--kartu.idm-redaksi--garis .idm-redaksi__group::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: var(--idmr-accent);
	opacity: .85;
}

.idm-redaksi--kartu .idm-redaksi__group:hover {
	transform: translateY(-3px);
	border-color: var(--idmr-accent);
	box-shadow: 0 12px 28px -16px rgba(0, 0, 0, .35);
}

.idm-redaksi--kartu .idm-redaksi__jabatan {
	padding-bottom: 10px;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--idmr-line);
}

.idm-redaksi--kartu .idm-redaksi__group {
	min-height: 128px;
}

.idm-redaksi--kartu .idm-redaksi__member + .idm-redaksi__member {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed var(--idmr-line);
}

/* ------------------------------------------------------------ Gaya: daftar */

.idm-redaksi--daftar .idm-redaksi__grid {
	border-top: 2px solid var(--idmr-title);
}

.idm-redaksi--daftar .idm-redaksi__group {
	display: grid;
	grid-template-columns: minmax(160px, 34%) 1fr;
	gap: 8px 24px;
	align-items: start;
	padding: 16px 4px;
	border-bottom: 1px solid var(--idmr-line);
}

.idm-redaksi--daftar .idm-redaksi__jabatan {
	margin: 4px 0 0;
	font-size: .74rem;
}

.idm-redaksi--daftar .idm-redaksi__member + .idm-redaksi__member {
	margin-top: 6px;
}

.idm-redaksi--daftar .idm-redaksi__nama {
	font-size: 1.05rem;
}

/* ------------------------------------------------------------ Gaya: elegan */

.idm-redaksi--elegan {
	text-align: center;
}

.idm-redaksi--elegan .idm-redaksi__header {
	padding-top: 22px;
}

.idm-redaksi--elegan .idm-redaksi__header::before {
	left: 50%;
	transform: translateX(-50%);
}

.idm-redaksi--elegan .idm-redaksi__subtitle {
	margin-left: auto;
	margin-right: auto;
}

.idm-redaksi--elegan .idm-redaksi__grid {
	max-width: 640px;
	margin: 0 auto;
}

.idm-redaksi--elegan .idm-redaksi__group {
	padding: 22px 0;
}

.idm-redaksi--elegan .idm-redaksi__group + .idm-redaksi__group {
	border-top: 1px solid var(--idmr-line);
}

.idm-redaksi--elegan .idm-redaksi__member {
	justify-content: center;
	flex-direction: column;
	gap: 6px;
}

.idm-redaksi--elegan .idm-redaksi__person {
	align-items: center;
	text-align: center;
}

.idm-redaksi--elegan .idm-redaksi__nama {
	font-size: 1.22rem;
	font-weight: 600;
}

.idm-redaksi--elegan .idm-redaksi__member + .idm-redaksi__member {
	margin-top: 14px;
}

/* --------------------------------------------------------------- Catatan */

.idm-redaksi__catatan {
	margin-top: clamp(20px, 3vw, 32px);
	padding: 16px 18px;
	border-left: 3px solid var(--idmr-accent);
	background: rgba(0, 0, 0, .03);
	background: color-mix(in srgb, var(--idmr-accent) 5%, transparent);
	border-radius: 0 8px 8px 0;
	color: var(--idmr-meta);
	font-size: .92rem;
}

.idm-redaksi__catatan p {
	margin: 0 0 8px;
}

.idm-redaksi__catatan p:last-child {
	margin-bottom: 0;
}

/* -------------------------------------------------------------- Penerbit */

.idm-redaksi__penerbit {
	margin-top: clamp(24px, 3.5vw, 40px);
	padding: 24px 22px;
	background: var(--idmr-card);
	border: 1px solid var(--idmr-line);
	border-radius: var(--idmr-radius);
}

.idm-redaksi--elegan .idm-redaksi__penerbit {
	text-align: center;
}

.idm-redaksi__penerbit-nama {
	margin: 0;
	font-size: 1.16rem;
	font-weight: 600;
	color: var(--idmr-title);
}

.idm-redaksi__penerbit-alamat {
	margin: 6px 0 0;
	color: var(--idmr-meta);
	font-size: .92rem;
}

.idm-redaksi__kontak {
	list-style: none;
	margin: 14px 0 0;
	padding: 14px 0 0;
	border-top: 1px dashed var(--idmr-line);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	font-size: .92rem;
}

.idm-redaksi--elegan .idm-redaksi__kontak {
	justify-content: center;
}

.idm-redaksi__kontak li {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.idm-redaksi__kontak span {
	font-size: .66rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--idmr-label);
}

.idm-redaksi__kontak a {
	color: var(--idmr-name);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color .2s ease, border-color .2s ease;
	word-break: break-word;
}

.idm-redaksi__kontak a:hover,
.idm-redaksi__kontak a:focus {
	color: var(--idmr-accent);
	border-color: var(--idmr-accent);
}

/* ------------------------------------------------------------ Tipografi */
/**
 * Mode "Ikuti tema" (kelas .idm-redaksi--font-tema) sengaja TIDAK menulis
 * satu pun deklarasi font-family, agar aturan tema aktif yang berlaku —
 * termasuk font khusus judul h2/h3 milik tema. Deklarasi di bawah ini hanya
 * hidup ketika pengguna memilih tipografi bawaan plugin atau Google Fonts.
 */

.idm-redaksi:not(.idm-redaksi--font-tema) {
	font-family: var(--idmr-font-body);
}

.idm-redaksi:not(.idm-redaksi--font-tema) .idm-redaksi__jabatan {
	font-family: var(--idmr-font-body);
}

.idm-redaksi:not(.idm-redaksi--font-tema) .idm-redaksi__title,
.idm-redaksi:not(.idm-redaksi--font-tema) .idm-redaksi__penerbit-nama,
.idm-redaksi--elegan:not(.idm-redaksi--font-tema) .idm-redaksi__nama {
	font-family: var(--idmr-font-head);
}

/* Ukuran huruf pada mode ikut tema memakai satuan em supaya ikut membesar
   atau mengecil mengikuti skala huruf tema, bukan mengunci nilai rem. */

.idm-redaksi--font-tema .idm-redaksi__title {
	font-size: 1.9em;
}

.idm-redaksi--font-tema .idm-redaksi__subtitle {
	font-size: 1em;
}

.idm-redaksi--font-tema .idm-redaksi__nama {
	font-size: 1em;
	letter-spacing: normal;
}

.idm-redaksi--font-tema .idm-redaksi__ket {
	font-size: .84em;
}

.idm-redaksi--font-tema .idm-redaksi__jabatan {
	font-size: .72em;
}

.idm-redaksi--font-tema.idm-redaksi--daftar .idm-redaksi__jabatan {
	font-size: .76em;
}

.idm-redaksi--font-tema.idm-redaksi--daftar .idm-redaksi__nama {
	font-size: 1.02em;
}

.idm-redaksi--font-tema.idm-redaksi--elegan .idm-redaksi__nama {
	font-size: 1.2em;
}

.idm-redaksi--font-tema .idm-redaksi__penerbit-nama {
	font-size: 1.14em;
}

.idm-redaksi--font-tema .idm-redaksi__penerbit-alamat,
.idm-redaksi--font-tema .idm-redaksi__kontak {
	font-size: .92em;
}

.idm-redaksi--font-tema .idm-redaksi__kontak span {
	font-size: .72em;
}

.idm-redaksi--font-tema .idm-redaksi__catatan {
	font-size: .95em;
}

/* ------------------------------------------------------------- Animasi */

.idm-redaksi__group {
	animation: idmr-masuk .5s ease both;
}

.idm-redaksi__group:nth-child(1)  { animation-delay: .02s; }
.idm-redaksi__group:nth-child(2)  { animation-delay: .06s; }
.idm-redaksi__group:nth-child(3)  { animation-delay: .10s; }
.idm-redaksi__group:nth-child(4)  { animation-delay: .14s; }
.idm-redaksi__group:nth-child(5)  { animation-delay: .18s; }
.idm-redaksi__group:nth-child(6)  { animation-delay: .22s; }
.idm-redaksi__group:nth-child(7)  { animation-delay: .26s; }
.idm-redaksi__group:nth-child(n+8) { animation-delay: .30s; }

@keyframes idmr-masuk {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.idm-redaksi__group,
	.idm-redaksi--kartu .idm-redaksi__group:hover {
		animation: none;
		transform: none;
		transition: none;
	}
}

/* ------------------------------------------------------------ Responsif */

@media (max-width: 640px) {
	.idm-redaksi--daftar .idm-redaksi__group {
		grid-template-columns: 1fr;
		gap: 4px;
		padding: 14px 2px;
	}

	.idm-redaksi--daftar .idm-redaksi__jabatan {
		margin-bottom: 2px;
	}

	.idm-redaksi__kontak {
		gap: 10px 18px;
	}
}

@media (max-width: 380px) {
	.idm-redaksi__avatar {
		width: 40px;
		height: 40px;
	}
}

/* ----------------------------------------------------------------- Cetak */

@media print {
	.idm-redaksi {
		max-width: none;
		padding: 0;
		background: #fff;
	}

	.idm-redaksi__group {
		animation: none;
		break-inside: avoid;
		page-break-inside: avoid;
		box-shadow: none;
	}
}
