/* Jelajah · gaya jurnal santai (Versi B). Warna & font dari theme.json. */

:root {
	--jk-kertas: var(--wp--preset--color--kertas);
	--jk-kartu: var(--wp--preset--color--kartu);
	--jk-tinta: var(--wp--preset--color--tinta);
	--jk-lembut: var(--wp--preset--color--tinta-lembut);
	--jk-terakota: var(--wp--preset--color--terakota);
	--jk-kraft: var(--wp--preset--color--kraft);
	--jk-sage: var(--wp--preset--color--sage);
	--jk-sage-tua: var(--wp--preset--color--sage-tua);
	--jk-marun: var(--wp--preset--color--marun);
	--jk-selotip: rgba(232, 214, 170, 0.85);
	--jk-bayang: rgba(58, 42, 30, 0.13);
	--jk-tangan: var(--wp--preset--font-family--tangan);
	--jk-judul: var(--wp--preset--font-family--judul);
}

body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--jk-terakota); outline-offset: 3px; }

.jk-tangan { font-family: var(--jk-tangan); color: var(--jk-terakota); line-height: 1.3; }
p.jk-tangan { margin: 0; font-size: 1.2rem; }
h1 em, h2 em { color: var(--jk-terakota); }

.jk-garis-bawah {
	text-decoration: none;
	border-bottom: 2px solid var(--jk-tinta);
	padding-bottom: 1px;
	white-space: nowrap;
}
.jk-garis-bawah:hover { border-color: var(--jk-terakota); }

.jk-tombol {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 0.7rem 1.4rem;
	border-radius: 16px 12px 18px 14px;
	text-decoration: none; font-size: 1rem;
}
.jk-tombol--terakota { background: var(--jk-terakota); color: var(--jk-kartu); box-shadow: 4px 4px 0 var(--jk-tinta); }
.jk-tombol--terakota:hover { color: var(--jk-kartu); transform: translate(1px, 1px); box-shadow: 3px 3px 0 var(--jk-tinta); }
.wp-element-button { box-shadow: 4px 4px 0 var(--jk-kraft); }
.is-style-outline .wp-element-button { box-shadow: none; border: 1.5px solid var(--jk-tinta); color: var(--jk-tinta); background: transparent; }

.jk-selotip {
	position: absolute; top: -13px; left: 50%; z-index: 2;
	width: 84px; height: 26px; margin-left: -42px;
	background: var(--jk-selotip); transform: rotate(-3deg);
	pointer-events: none;
}

.jk-gelombang { display: block; width: 100%; height: 16px; fill: none; stroke: var(--jk-tinta); stroke-width: 1.5; }

/* ---------- Cap ---------- */
.jk-cap { transform: rotate(var(--jk-miring, -6deg)); opacity: 0.92; flex-shrink: 0; max-width: 100%; height: auto; }
.jk-cap--segera { opacity: 0.55; }

/* ---------- Header ---------- */
.jk-kepala { padding-top: 0.9rem; padding-bottom: 0.9rem; }
.jk-kepala__baris { gap: 1rem; }
.jk-logo { display: flex; align-items: center; gap: 0.6rem; text-decoration: none; color: var(--jk-tinta); flex-shrink: 0; }
.jk-logo .jk-logomark { width: 42px; height: 42px; }
.jk-logo__teks { display: flex; flex-direction: column; }
.jk-logo__nama { font-family: var(--jk-judul); font-weight: 600; font-size: 1.4rem; letter-spacing: -0.02em; line-height: 1; }
.jk-logo__tagline { display: none; font-family: var(--jk-tangan); color: var(--jk-terakota); font-size: 0.95rem; transform: rotate(-2deg); transform-origin: left; }
.jk-nav { font-size: 1.05rem; }
.jk-nav a { text-decoration: none; }
.jk-kepala__baris > .jk-nav { margin-left: auto; }
.jk-paspor-pill__gue { display: none; }
.jk-kepala .wp-block-search__button { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--jk-tinta); background: transparent; color: var(--jk-tinta); box-shadow: none; padding: 0; }
.jk-paspor-pill {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem;
	background: var(--jk-terakota); color: var(--jk-kartu); border-radius: 999px;
	font-family: var(--jk-tangan); font-size: 1.05rem; text-decoration: none; white-space: nowrap;
}
.jk-paspor-pill:hover { color: var(--jk-kartu); background: var(--jk-marun); }
.wp-block-navigation__responsive-container-open { width: 44px; height: 44px; border: 1.5px solid var(--jk-tinta); border-radius: 50%; justify-content: center; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--jk-kertas); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-family: var(--jk-judul); font-size: 1.8rem; }

@media (min-width: 900px) {
	.jk-logo .jk-logomark { width: 54px; height: 54px; }
	.jk-logo__nama { font-size: 1.75rem; }
	.jk-logo__tagline { display: block; }
	.jk-paspor-pill__gue { display: inline; }
}

/* ---------- Footer ---------- */
.jk-kaki { margin-top: 4rem; padding-bottom: 2.5rem; }
.jk-kaki__salam { font-family: var(--jk-tangan); font-size: 1.5rem; }
.jk-kaki__salam span { color: var(--jk-terakota); }
.jk-kaki__nav a { text-decoration: none; }

/* ---------- Beranda ---------- */
.jk-beranda > * + * { margin-top: clamp(3rem, 7vw, 5.5rem); }
.jk-pembuka { display: grid; gap: 2.5rem; align-items: center; padding-top: 1rem; }
.jk-sapa { transform: rotate(-3deg); transform-origin: left; display: inline-block; font-size: 1.4rem !important; }
.jk-pembuka h1 { margin: 0.6rem 0 1rem; }
.jk-pembuka__lead { font-size: 1.2rem; color: var(--jk-lembut); max-width: 32rem; }
@media (min-width: 900px) {
	.jk-pembuka { grid-template-columns: 1fr 1fr; }
}

/* Posisi diukur supaya polaroid kedua selesai di ±78% tinggi; pojok kiri bawah disisakan untuk cap "segera" dan catatannya. */
.jk-kolase { position: relative; height: 420px; max-width: 560px; margin: 0 auto; width: 100%; }
.jk-kolase .jk-kolase__foto { position: absolute; width: 56%; }
.jk-kolase__foto--1 { left: 4%; top: 4%; --jk-miring: -6deg; }
.jk-kolase .jk-kolase__foto--2 { right: 2%; top: 30%; width: 52%; --jk-miring: 5deg; }
.jk-kolase__cap { position: absolute; width: clamp(84px, 22vw, 124px); height: auto; z-index: 3; }
.jk-kolase__cap--1 { right: 4%; top: 0; }
.jk-kolase__cap--2 { left: 36%; top: 66%; }
.jk-kolase__cap--segera { left: 0; bottom: 0; width: clamp(72px, 18vw, 104px); }
.jk-kolase__rute { position: absolute; left: clamp(84px, 22vw, 120px); bottom: 3%; font-size: 1.2rem; color: var(--jk-lembut); transform: rotate(-3deg); white-space: nowrap; }
@media (min-width: 900px) { .jk-kolase { height: 600px; } }

/* ---------- Polaroid & kartu ---------- */
.jk-polaroid {
	position: relative; display: flex; flex-direction: column;
	background: var(--jk-kartu); padding: 12px 12px 0;
	transform: rotate(var(--jk-miring, 0deg));
	box-shadow: 4px 6px 0 var(--jk-bayang);
	text-decoration: none; color: var(--jk-tinta);
}
.jk-polaroid .jk-foto { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.jk-polaroid__judul, .jk-polaroid figcaption { padding: 0.6rem 0.2rem 0.9rem; font-family: var(--jk-judul); font-size: 1.15rem; line-height: 1.2; }
.jk-polaroid__judul.jk-tangan { font-family: var(--jk-tangan); color: var(--jk-tinta); font-size: 1.05rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.jk-polaroid figcaption { font-family: var(--jk-tangan); }
.jk-foto--kosong { display: block; width: 100%; aspect-ratio: 4 / 3; background: var(--jk-kraft); }

.jk-bagian__kepala { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.5rem 1.5rem; margin-bottom: 2rem; }
.jk-bagian__kepala h2 { margin: 0; }
.jk-bagian__kepala .jk-tangan { transform: rotate(-2deg); transform-origin: left; display: inline-block; }

.jk-kartu-grid { display: grid; gap: 2.2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); align-items: start; list-style: none; padding: 0; }
.jk-kartu {
	position: relative; display: flex; flex-direction: column; gap: 0.6rem;
	padding: 14px 14px 20px; background: var(--jk-kartu); border-radius: 3px;
	transform: rotate(var(--jk-miring, 0deg)); box-shadow: 6px 6px 0 var(--jk-kraft);
	text-decoration: none; color: var(--jk-tinta); transition: transform 0.15s ease;
}
.jk-kartu:hover { transform: rotate(0deg) translateY(-2px); color: var(--jk-tinta); }
.jk-kartu .jk-foto { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.jk-kartu .jk-tangan { font-size: 1.1rem; }
.jk-kartu__judul { font-family: var(--jk-judul); font-size: 1.55rem; line-height: 1.12; letter-spacing: -0.01em; }
.jk-kartu__ringkas { font-size: 0.98rem; line-height: 1.6; color: var(--jk-lembut); }
@media (min-width: 900px) {
	.jk-bagian .jk-kartu-grid > :nth-child(3n+2) { margin-top: 3rem; }
	.jk-bagian .jk-kartu-grid > :nth-child(3n) { margin-top: 1rem; }
}

/* ---------- Rute Juara (tiket) ---------- */
.jk-bagian--tiket {
	background: var(--jk-sage);
	border-radius: 40px 90px 50px 100px / 60px 40px 80px 50px;
	padding: clamp(2rem, 5vw, 4rem) clamp(1.2rem, 4vw, 3.5rem);
}
.jk-bagian--tiket .jk-tangan { color: var(--jk-sage-tua); }
.jk-chip { display: flex; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 1.6rem; overflow-x: auto; }
.jk-chip a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem;
	border: 1.5px solid var(--jk-tinta); border-radius: 999px; text-decoration: none; white-space: nowrap; font-size: 0.98rem;
}
.jk-chip a:hover { background: var(--jk-tinta); color: var(--jk-kartu); }
/* Jalan berkelok: halte per tahun, tiket digantung di bawahnya. Lebar jalan diatur dari PHP (250px per halte). */
.jk-rute { overflow-x: auto; margin: 0 calc(-1 * clamp(1.2rem, 4vw, 3.5rem)); padding: 0 clamp(1.2rem, 4vw, 3.5rem) 1rem; scrollbar-color: var(--jk-sage-tua) transparent; }
.jk-rute:focus-visible { outline-offset: -3px; }
.jk-rute__jalan { position: relative; min-height: 360px; }
.jk-rute__garis { position: absolute; left: 0; top: 0; pointer-events: none; }
.jk-rute__garis path { fill: none; stroke: var(--jk-tinta); stroke-width: 2.5; stroke-dasharray: 2 10; stroke-linecap: round; }
.jk-rute__mulai { position: absolute; left: 0; top: 136px; font-size: 1.1rem; color: var(--jk-sage-tua); transform: rotate(-6deg); }
.jk-rute ol { display: flex; list-style: none; margin: 0; padding: 0 0 0 70px; }
.jk-rute li { flex: 0 0 250px; }
.jk-halte { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: var(--jk-tinta); }
.jk-halte__pin {
	position: relative; z-index: 1;
	width: 64px; height: 64px; margin-top: calc(var(--jk-y) - 32px);
	border-radius: 50%; background: var(--jk-terakota); color: var(--jk-kartu);
	border: 4px solid var(--jk-sage); box-shadow: 0 0 0 2px var(--jk-tinta);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--jk-judul); font-size: 1.15rem; letter-spacing: -0.02em;
}
.jk-halte__pin::after { content: ""; position: absolute; top: 100%; left: 50%; height: calc(186px - var(--jk-y) - 32px); border-left: 2px dashed var(--jk-tinta); }
.jk-tiket {
	position: relative; display: flex; flex-direction: column; gap: 0.35rem;
	width: 216px; box-sizing: border-box; margin-top: calc(186px - var(--jk-y) - 32px);
	padding: 1rem 1.1rem 1.2rem; background: var(--jk-kartu); border-radius: 10px;
	transform: rotate(var(--jk-miring, 0deg)); transition: transform 0.15s ease;
}
.jk-halte:hover .jk-tiket { transform: rotate(0deg) translateY(-3px); }
.jk-halte:hover .jk-halte__pin { background: var(--jk-marun); }
.jk-tiket__judul { font-family: var(--jk-judul); font-size: 1.2rem; line-height: 1.15; }
.jk-tiket .jk-tangan { color: var(--jk-lembut); font-size: 1rem; }
.jk-halte--nanti .jk-halte__pin { background: transparent; color: var(--jk-sage-tua); border: 2px dashed var(--jk-sage-tua); box-shadow: none; }
.jk-halte--nanti .jk-halte__pin::after { display: none; }
.jk-halte--nanti .jk-tangan { margin-top: 0.8rem; color: var(--jk-sage-tua); font-size: 1.1rem; }
.jk-rute__geser { margin: 0.4rem 0 0; color: var(--jk-sage-tua); font-size: 1rem; }

/* ---------- Kompas & Bekal (kartu indeks) ---------- */
.jk-rak { display: grid; gap: 3rem; }
.jk-rak > * { min-width: 0; }
@media (min-width: 900px) { .jk-rak { grid-template-columns: 1fr 1fr; } }
.jk-indeks {
	position: relative; padding: 1.8rem 1.6rem 1.6rem 3.6rem;
	background-color: var(--jk-kartu);
	background-image: repeating-linear-gradient(to bottom, transparent 0 37px, #DCCFB6 37px 38px);
	transform: rotate(var(--jk-miring, 0deg)); box-shadow: 5px 6px 0 rgba(58, 42, 30, 0.1);
}
.jk-indeks::before { content: ""; position: absolute; left: 2.6rem; top: 0; bottom: 0; border-left: 1.5px solid #E0A08A; }
.jk-indeks__pin { position: absolute; left: 50%; top: -10px; width: 20px; height: 20px; border-radius: 50%; background: var(--jk-terakota); border: 2px solid var(--jk-tinta); }
.jk-rak > :nth-child(2) .jk-indeks__pin { background: var(--jk-sage-tua); }
.jk-indeks header { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 1rem; padding-right: 96px; }
.jk-coretan { position: absolute; top: -18px; right: 14px; width: clamp(84px, 20vw, 112px); height: auto; transform: rotate(8deg); }
.jk-rak > :nth-child(2) .jk-coretan { transform: rotate(-6deg); }
.jk-coretan path, .jk-coretan circle, .jk-coretan ellipse { fill: none; stroke: var(--jk-tinta); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.jk-coretan .jk-coretan__tipis { stroke-width: 1.4; }
.jk-coretan .jk-coretan__aksen { fill: var(--jk-terakota); fill-opacity: 0.55; }
.jk-coretan .jk-coretan__cat { fill: var(--jk-kraft); fill-opacity: 0.45; stroke: none; }
.jk-coretan .jk-coretan__cat--sage { fill: var(--jk-sage-tua); fill-opacity: 0.2; }
.jk-indeks h2 { margin: 0; font-size: 2.2rem; line-height: 38px; }
.jk-indeks p.jk-tangan { color: var(--jk-lembut); line-height: 38px; font-size: 1.15rem; }
.jk-indeks ul { list-style: none; margin: 0 0 0.5rem; padding: 0; }
.jk-indeks li a { display: block; line-height: 38px; text-decoration: none; font-size: 1.08rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Catatan Cicip ---------- */
.jk-cicip-baris { display: flex; gap: 2rem; overflow-x: auto; padding: 1rem 0.4rem 1.4rem; scroll-snap-type: x mandatory; }
.jk-polaroid--cicip { flex: 0 0 min(78vw, 300px); scroll-snap-align: start; }
.jk-polaroid--cicip .jk-foto, .jk-polaroid--cicip .jk-foto--kosong { aspect-ratio: 1; }
.jk-polaroid--cicip .jk-tangan { padding: 0 0.2rem 1rem; font-size: 1.1rem; }
@media (min-width: 1000px) { .jk-cicip-baris { justify-content: center; overflow: visible; } }

/* ---------- Paspor ---------- */
.jk-paspor-teaser { display: flex; flex-wrap: wrap; align-items: center; gap: 2.5rem; }
.jk-paspor-teaser__teks { flex: 1 1 320px; }
.jk-paspor-teaser__teks h2 { margin: 0.3rem 0 0.8rem; }
.jk-buku { display: flex; transform: rotate(-3deg); box-shadow: 8px 10px 0 rgba(58, 42, 30, 0.14); text-decoration: none; margin: 0 auto; }
.jk-buku__sampul { width: clamp(140px, 30vw, 220px); aspect-ratio: 3 / 4; background: var(--jk-marun); color: #E8D6AA; border-radius: 10px 0 0 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.6rem; }
.jk-buku__judul { font-family: var(--jk-judul); font-size: 1.5rem; letter-spacing: 0.12em; text-transform: uppercase; }
.jk-buku__sub { font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; }
.jk-buku__halaman { width: clamp(140px, 30vw, 220px); aspect-ratio: 3 / 4; background: var(--jk-kartu); border-radius: 0 10px 10px 0; border-left: 2px solid #D9C9AA; display: grid; grid-template-columns: 1fr 1fr; place-items: center; padding: 0.6rem; box-sizing: border-box; }
.jk-buku__halaman .jk-cap { width: 80%; }
.jk-logomark--emas polygon, .jk-logomark--emas ellipse, .jk-logomark--emas g path:first-of-type { fill: #E8D6AA !important; }
.jk-logomark--emas > path { stroke: #E8D6AA !important; }

.jk-paspor__status { font-size: 1.3rem; margin: 0.5rem 0 2rem; }
.jk-paspor__grid { list-style: none; padding: 0; display: grid; gap: 2rem 1rem; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.jk-paspor__cap { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; text-decoration: none; filter: grayscale(1); opacity: 0.35; transition: opacity 0.2s ease; }
.jk-paspor__cap .jk-tangan { color: var(--jk-lembut); font-size: 0.95rem; }
.jk-paspor__cap--dapat { filter: none; opacity: 1; }
.jk-paspor__catatan { font-size: 0.95rem; color: var(--jk-lembut); margin-top: 2.5rem; }

/* ---------- Artikel ---------- */
.jk-artikel__pembuka { display: grid; gap: 2.5rem; align-items: center; padding-top: 1rem; }
@media (min-width: 900px) { .jk-artikel__pembuka { grid-template-columns: 1.1fr 0.9fr; } }
.jk-kicker { font-family: var(--jk-tangan); color: var(--jk-terakota); font-size: 1.35rem; margin: 0; transform: rotate(-2deg); transform-origin: left; display: inline-block; }
.jk-artikel__judul .wp-block-post-title { margin: 0.4rem 0 1.2rem; }
.jk-byline { display: flex; align-items: center; gap: 0.7rem; color: var(--jk-lembut); font-size: 0.95rem; }
.jk-byline__inisial { width: 44px; height: 44px; border-radius: 50%; background: var(--jk-tinta); color: var(--jk-kartu); display: inline-flex; align-items: center; justify-content: center; font-family: var(--jk-tangan); font-size: 1.1rem; flex-shrink: 0; }

.jk-foto-utama { position: relative; max-width: 460px; width: 100%; margin: 0 auto; padding-bottom: 2rem; }
.jk-polaroid--besar { padding: 16px 16px 0; }
.jk-polaroid--besar .jk-foto { aspect-ratio: 5 / 4; }
.jk-polaroid--besar:not(:has(figcaption)) { padding-bottom: 16px; }
.jk-foto-utama__cap { position: absolute; left: -12px; bottom: 0; width: clamp(96px, 26vw, 150px); }
.jk-foto-utama__cap .jk-cap { width: 100%; height: auto; }

/* Kartu resep */
.jk-resep {
	position: relative; max-width: 980px; margin: 3rem auto 0;
	background: var(--jk-kartu); padding: clamp(1.4rem, 4vw, 2.4rem);
	transform: rotate(-0.5deg); box-shadow: 8px 8px 0 var(--jk-kraft); border-radius: 4px;
}
.jk-resep__kepala { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.jk-resep__kepala h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.jk-resep__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 130px), 1fr)); gap: 1rem 1.4rem; margin: 0; }
.jk-resep__isian { border-bottom: 1.5px dotted #C9B48E; padding-bottom: 0.6rem; }
.jk-resep__isian dt { font-family: var(--jk-tangan); color: var(--jk-lembut); font-size: 1.05rem; }
.jk-resep__isian dd { margin: 0; font-family: var(--jk-judul); font-size: clamp(1.25rem, 2.6vw, 1.8rem); line-height: 1.2; }
.jk-resep__asal { margin: 1.4rem 0 0; font-size: 1rem; }
.jk-resep__asal span { font-family: var(--jk-tangan); color: var(--jk-terakota); }
.jk-tuang { margin-top: 1.8rem; }
.jk-tuang ol { position: relative; list-style: none; display: flex; justify-content: space-between; align-items: flex-start; padding: 0; margin: 0.6rem 0 0; }
.jk-tuang ol::before { content: ""; position: absolute; left: 30px; right: 30px; top: 42px; border-top: 2px dotted var(--jk-tinta); }
.jk-tuang li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.4rem; width: 84px; }
.jk-tuang__gram { width: var(--jk-ukuran); height: var(--jk-ukuran); margin-top: calc(42px - var(--jk-ukuran) / 2); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--jk-judul); font-size: 1.1rem; background: var(--jk-tinta); color: var(--jk-kartu); }
.jk-tuang li:nth-child(2) .jk-tuang__gram { background: #6B4A2F; }
.jk-tuang li:nth-child(3) .jk-tuang__gram { background: #C9A877; color: var(--jk-tinta); }
.jk-tuang li:nth-child(4n) .jk-tuang__gram { background: var(--jk-terakota); }
.jk-tuang__waktu { font-family: var(--jk-tangan); font-size: 1.05rem; }

/* Isi artikel */
.jk-isi { margin-top: 3rem; }
.jk-isi > p:first-of-type::first-letter { float: left; font-family: var(--jk-judul); font-size: 4.6em; line-height: 0.8; padding: 0.08em 0.1em 0 0; color: var(--jk-terakota); }
.jk-isi h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin-top: 2.6rem; }
.jk-isi h3 { margin-top: 2rem; }
.jk-isi blockquote, .jk-isi .wp-block-quote { border: 0; margin: 2.4rem 0; padding: 0; text-align: center; font-family: var(--jk-judul); font-style: italic; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.32; }
.jk-isi blockquote cite, .jk-isi .wp-block-quote cite { display: block; margin-top: 0.6rem; font-family: var(--jk-tangan); font-style: normal; color: var(--jk-terakota); font-size: 1.15rem; }
.jk-isi img { background: var(--jk-kartu); padding: 10px; box-shadow: 4px 5px 0 var(--jk-bayang); box-sizing: border-box; }
.jk-isi figcaption { font-family: var(--jk-tangan); text-align: center; color: var(--jk-lembut); }
.jk-isi table { width: 100%; border-collapse: collapse; font-size: 0.98rem; background: var(--jk-kartu); }
.jk-isi .wp-block-table, .jk-isi figure:has(table) { overflow-x: auto; }
.jk-isi th, .jk-isi td { padding: 0.6rem 0.8rem; border-bottom: 1.5px dotted #C9B48E; text-align: left; vertical-align: top; }
.jk-isi th { font-family: var(--jk-tangan); color: var(--jk-lembut); font-weight: 400; font-size: 1.05rem; }
.jk-isi ol, .jk-isi ul { padding-left: 1.3rem; }
.jk-isi li::marker { color: var(--jk-terakota); }

.jk-artikel__penutup > * + * { margin-top: 1.6rem; }
.jk-bean { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; padding: 1.2rem 1.4rem; background: var(--jk-sage); border-radius: 30px 50px 36px 60px / 40px 30px 50px 36px; }
.jk-bean dl { margin: 0; flex: 1 1 240px; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.6rem 1rem; }
.jk-bean dt { font-family: var(--jk-tangan); color: var(--jk-sage-tua); }
.jk-bean dd { margin: 0; }
.jk-catatan {
	padding: 1rem 1.4rem; transform: rotate(0.4deg);
	background-color: var(--jk-kartu);
	background-image: repeating-linear-gradient(to bottom, transparent 0 35px, #DCCFB6 35px 36px);
	font-family: var(--jk-tangan); font-size: 1.15rem; line-height: 36px; color: var(--jk-lembut);
}
.jk-catatan p { margin: 0; }
.jk-catatan__judul { color: var(--jk-terakota); }
.jk-penanda { font-family: var(--jk-tangan); color: var(--jk-lembut); }

.jk-tetangga { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); max-width: 1040px; margin: 4rem auto 0; }
.jk-tetangga__tiket { display: flex; flex-direction: column; gap: 0.3rem; padding: 1.3rem 1.5rem; background: var(--jk-kartu); border-radius: 10px; text-decoration: none; color: var(--jk-tinta); transform: rotate(-1deg); }
.jk-tetangga__tiket--baru { text-align: right; transform: rotate(1deg); }
.jk-tetangga__tiket .jk-tangan { color: var(--jk-lembut); }
.jk-tetangga__judul { font-family: var(--jk-judul); font-size: 1.45rem; line-height: 1.15; }

.jk-komentar { max-width: 700px; margin: 4rem auto 0; }
.jk-komentar__satu { padding: 1rem 0; border-bottom: 1.5px dotted #C9B48E; }
.jk-komentar textarea, .jk-komentar input[type="text"], .jk-komentar input[type="email"], .jk-komentar input[type="url"] { width: 100%; background: var(--jk-kartu); border: 1.5px solid var(--jk-kraft); padding: 0.6rem; font: inherit; }

/* ---------- Arsip ---------- */
.jk-arsip__kepala { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 2.5rem; padding-top: 1rem; }
.jk-arsip__kepala h1 { margin: 0; }
.jk-arsip__kepala .wp-block-term-description p { margin: 0.4rem 0 0; font-family: var(--jk-tangan); color: var(--jk-terakota); font-size: 1.3rem; }
.jk-cap-arsip .jk-cap { width: clamp(110px, 24vw, 170px); height: auto; }
.wp-block-post-template.jk-kartu-grid { gap: 2.2rem; }
.jk-halaman { margin-top: 3rem; font-family: var(--jk-tangan); font-size: 1.15rem; }
.jk-kosong { font-size: 1.3rem; }

/* ---------- 404 ---------- */
.jk-nyasar { padding-top: 3rem; min-height: 50vh; }

@media (prefers-reduced-motion: reduce) {
	.jk-kartu, .jk-paspor__cap { transition: none; }
}
