/*
Theme Name: Kaweruh Jawa
Author: KJ
Author URI: 
Theme URI: 
Tags: full-site-editing, block-patterns
Text Domain: kaweruh-jawa
Requires at least: 6.4
Requires PHP: 7.4
Tested up to: 6.4
Version: 100.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/* =================================
   TABLE STYLING
   ================================= */
.kw-post-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5em 0;
	font-size: 1rem;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.20);
}
.kw-post-content th {
	background: linear-gradient(to top, var(--wp--preset--color--contrast), var(--wp--preset--color--primary));
	color: #111;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 12px 15px;
	text-align: left;
}
.kw-post-content td {
	padding: 12px 15px;
	text-align: left;
	border-bottom: 1px solid #333;
	color: #E0E0E0;
}
.kw-post-content tr:last-child td {
	border-bottom: none;
}
.kw-post-content tbody tr {
	background-color: #2a2a2a;
}
.kw-post-content tbody tr:nth-child(even) {
	background-color: #222;
}
.kw-post-content tbody tr:hover {
	background-color: #383838;
}
@media (max-width: 768px) {
	.kw-post-content table {
		display: block;
		overflow-x: auto;
	}
}

/* =================================
   TYPOGRAPHY - HEADINGS
   ================================= */
.kw-post-content h2,
.kw-post-content h3,
.kw-post-content h4,
.kw-post-content h5,
.kw-post-content h6 {
	color: var(--wp--preset--color--contrast);
}
.kw-post-content h1,
.kw-post-content h2,
.kw-post-content h3,
.kw-post-content h4,
.kw-post-content h5,
.kw-post-content h6 {
	margin: 0 0 0.5em;
	font-weight: 700;
	line-height: 1.2;
}
.kw-post-content h1 {
	font-size: 2.5rem;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
	background: linear-gradient(180deg, #fff7bf 0%, #ffe066 28%, #f7cf42 58%, #f1c40f 78%, #cfa50c 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 2px 0 rgba(0,0,0,.40));
}
.kw-post-content h2 { font-size: 2rem; }
.kw-post-content h3 { font-size: 1.75rem; }
.kw-post-content h4 { font-size: 1.5rem; }
.kw-post-content h5 { font-size: 1.25rem; }
.kw-post-content h6 { font-size: 1rem; }

/* =================================
   TYPOGRAPHY - BODY & LISTS
   ================================= */
.kw-post-content p,
.kw-post-content li {
	font-size: 18px;
	line-height: 1.7;
}
.kw-post-content p {
	margin: 0 0 1em;
	max-width: 65ch;
}
.kw-post-content ul,
.kw-post-content ol {
    margin: 0 0 1.5em;
    padding-left: 20px;
}
.kw-post-content ol {
    list-style: none;
    counter-reset: item;
}
.kw-post-content ol > li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 0.75em;
    counter-increment: item;
}
.kw-post-content ol > li::before {
    content: counter(item) ".";
    position: absolute;
    left: 0;
    font-size: 20px;
    font-weight: bold;
    background: linear-gradient(to right, #ffd700, #ff8c00);
    -webkit-background-clip: text;
    color: transparent;
}
.kw-post-content ul {
    list-style: none;
}
.kw-post-content ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 0.75em;
}
.kw-post-content ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    font-size: 24px;
    line-height: 1;
    background: linear-gradient(to right, #ffd700, #ff8c00);
    -webkit-background-clip: text;
    color: transparent;
}
.kw-post-content li ul {
    margin-top: 5px;
    padding-left: 0;
}
.kw-post-content ol ol {
    counter-reset: nested-item;
}
.kw-post-content ol ul {
    counter-reset: none;
}
.kw-post-content ol > li > ul > li {
    counter-increment: none;
}
.kw-post-content ol > li > ul > li::before {
    content: "•";
}

/* =================================
   MISC CONTENT STYLES
   ================================= */
.kw-post-content>pre,
.kw-post-content>code {
	font-family: var(--font-mono);
	font-size: 0.9em;
}
.kw-post-content>pre {
	overflow-x: auto;
	padding: 1em;
	background: #f5f5f5;
	border-radius: 4px;
}
.kw-post-content>strong {
	font-weight: 700;
}
.kw-post-content>em {
	font-style: italic;
}
.kw-post-content>small {
	font-size: 0.8em;
}
.kw-post-content blockquote {
	position: relative;
	margin: 1.5em 0;
	padding: 1rem 1.1rem 1rem 1.8rem;
	border-radius: 12px;
	color: #DDE3EE;
	font-style: italic;
	font-size: 1.1em;
	border: 1px solid rgba(245, 194, 59, 0.35);
	background: linear-gradient(180deg, rgba(245, 194, 59, 0.10), rgba(245, 194, 59, 0.03));
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.20);
}
.kw-post-content blockquote::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	border-radius: 12px 0 0 12px;
	background: linear-gradient(180deg, #ffe066, #f1c40f 60%, #d4ac0d);
	box-shadow: 0 0 0 1px rgba(245, 194, 59, 0.45);
}
.kw-post-content blockquote p:last-child {
	margin-bottom: 0;
}
hr {
    margin-bottom: 1.5em;
}

/* =================================
   GLOBAL & LAYOUT
   ================================= */
html {
	scroll-behavior: smooth;
	position: relative;
	max-width: 1400px;
	margin: 0 auto;
	border: 2.5px solid #000;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	background-color: #fff;
	z-index: 0;
}
html::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: url('assets/patterns/circle-wave.svg?v=1');
	background-position: top right;
	background-size: 2820px;
	background-repeat: no-repeat;
	pointer-events: none;
	z-index: -1;
	background-color: var(--wp--preset--color--base);
}
body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	background-image: url('assets/patterns/batik-desktop.png');
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-position: top center;
	background-color: transparent;
}
@media screen and (max-width: 768px) {
	body {
		background-image: url('assets/patterns/batik-mobile.png');
	}
}
.kw-post-content {
	margin: 0.5em;
	max-width: 65ch;
}
.content-with-sidebar {
	margin-top: 12px;
}
@media (max-width: 781px) {
	.content-with-sidebar {
		flex-direction: column;
	}
}

/* =================================
   UTILITY CLASSES
   ================================= */
.container { margin: 0 auto; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mb-8 { margin-bottom: 16px; }
.mt-8 { margin-top: 32px; }
.ml-4 { margin-left: 16px; }
.p-2 { padding: 8px; }
.p-3 { padding: 10px; }
.p-4 { padding: 16px; }
.p-6 { padding: 24px; }
.px-3 { padding-left: 8px; padding-right: 8px; }
.px-4 { padding-left: 12px; padding-right: 12px; }
.px-6 { padding-left: 18px; padding-right: 18px; }
.py-3 { padding-top: 7px; padding-bottom: 7px; }
.py-4 { padding-top: 10px; padding-bottom: 10px; }
.flex { display: flex; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.items-center { align-items: center; }
.w-full { width: 100%; }
.flex-1 { flex: 1; }
.max-w-4xl { max-width: 896px; }
.overflow-hidden { overflow: hidden; }
.bg-gold { background-color: #D4AF37; }
.bg-dark { background-color: #111; }
.text-gold { color: #D4AF37; }
.text-black { color: #000 !important; }
.border-gold { border: 1.8px solid #D4AF37; }
.border-l-0 { border-left: 0; }
.rounded-lg { border-radius: 8px; }
.rounded-l-lg { border-top-left-radius: 8px; border-bottom-left-radius: 8px; }
.rounded-r-lg { border-top-right-radius: 8px; border-bottom-right-radius: 8px; }
.font-extrabold { font-weight: 800; }
.font-bold { font-weight: 700; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); }
.title { text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); }

/* =================================
   COMPONENTS
   ================================= */

/* --- SVG & Footer --- */
#svg-container {
	width: 100%;
	position: relative;
}
#main-svg,
#main-svg-mobile {
	width: 100%;
	height: auto;
	display: block;
}
#main-svg-mobile {
	display: none;
}
@media screen and (max-width: 768px) {
	#main-svg {
		display: none;
	}
	#main-svg-mobile {
		display: block;
	}
}
.kaweruh-footer {
	background-image: url('assets/patterns/circle-wave.svg?v=1');
	background-position: center center;
	background-attachment: inherit;
	background-size: 2820px;
	background-repeat: no-repeat;
	background-color: var(--wp--preset--color--base);
	padding: 20px;
	text-align: center;
	border-top: 5px solid var(--wp--preset--color--primary);
}
@media screen and (max-width: 768px) {
	.kaweruh-footer {
		background-position: left center;
	}
}
.footer-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	max-width: 90%;
	margin: 0 auto;
}
.footer-main {
	color: var(--wp--preset--color--contrast);
	font-weight: bold;
	font-size: 20px;
}
.footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	justify-content: center;
}
.footer-links a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-size: 14px;
	transition: color 0.3s ease;
}
.footer-links a:hover {
	text-decoration: underline;
	color: var(--wp--preset--color--primary);
}
@media (min-width: 600px) {
	.footer-content {
		flex-direction: row;
		justify-content: space-between;
		width: 80%;
	}
	.footer-links {
		justify-content: flex-end;
	}
}

/* --- Post Grid & Cards --- */
.kaweruh-post-grid-container {
	padding: 25px 0;
}
.kaweruh-post-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
}
@media (min-width: 600px) {
	.kaweruh-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
.kaweruh-post-item {
	position: relative;
	overflow: hidden;
	background-color: transparent;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 2px solid rgba(212, 175, 55, 0.3);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
	transition: all 0.3s ease;
}
.kaweruh-post-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
	border-color: rgba(212, 175, 55, 0.8);
}
.kaweruh-post-item:hover .post-featured-image img {
	transform: scale(1.05);
}
.post-featured-image {
	height: 200px;
	overflow: hidden;
}
.post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.post-content {
	padding: 20px;
}
.post-title {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
}
.post-title a {
	color: #d4af37;
	text-decoration: none;
	transition: color 0.3s ease;
}
.post-title a:hover {
	color: #f1c232;
}
.post-excerpt {
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 15px;
	color: #ccc;
}
.post-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	font-size: 12px;
	color: #999;
	border-top: 1px solid rgba(212, 175, 55, 0.2);
	padding-top: 15px;
}
.post-category-badge,
.post-category {
    margin-bottom: 10px;
    display: block;
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 10;
}
.post-category-badge a {
    display: inline-block;
    background-color: var(--wp--preset--color--primary);
    color: #111;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 4px;
    text-decoration: none;
    margin-right: 5px;
    margin-bottom: 5px;
}
.post-category-badge a:hover {
    opacity: 0.9;
}

/* --- Sidebar --- */
.kaweruh-sidebar {
	max-width: 95% !important;
	margin: 0 auto !important;
}
.sidebar-search {
	margin-bottom: 30px;
}
.sidebar-search-form input[type="search"] {
	background-color: #111;
	border: 1.5px solid #000;
	border-radius: 4px;
	padding: 10px;
	color: #e0e0e0;
	width: 100%;
	font-size: 16px !important;
}
.sidebar-search-form button {
	background-image: url('/wp-content/themes/kaweruh-jawa/assets/patterns/texture-active-tab.svg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: #000;
	border: none;
	padding: 8px 15px;
	border-radius: 4px;
	font-weight: bold;
	cursor: pointer;
	transition: background-color 0.3s ease;
}
.popular-posts {
	margin-top: 30px;
}
.popular-posts-list {
	margin-top: 0px !important;
}
.popular-post-item {
	display: flex;
	align-items: baseline;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}
.popular-post-bullet {
	color: #d4af37;
	font-size: 24px;
	margin-right: 10px;
	line-height: 1;
}
.popular-post-title {
	margin: 0;
	font-size: 12px !important;
	font-weight: normal;
}
.popular-post-title a {
	color: #e0e0e0;
	text-decoration: none;
	transition: color 0.3s ease;
}
.popular-post-title a:hover {
	color: #d4af37;
}

/* --- Pagination --- */
.kaweruh-pagination {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
	margin: 2rem auto !important;
	padding: 0 !important;
}
.kaweruh-pagination .page-numbers {
	font-weight: bold !important;
	background-color: #111 !important;
	padding: 8px 12px !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	border: 1.5px solid #000 !important;
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
}
.kaweruh-pagination .page-numbers:hover,
.kaweruh-pagination .page-numbers.current {
	background-image: url('/wp-content/themes/kaweruh-jawa/assets/patterns/texture-active-tab.svg') !important;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: #111 !important;
	border-color: var(--wp--preset--color--primary) !important;
}
.kaweruh-pagination .page-numbers.current {
	font-weight: bold !important;
	cursor: default !important;
}

/* =================================
   RESPONSIVE & FIXES
   ================================= */
.kw-main-container {
	width: 100% !important;
}
.kw-media-wrapper img,
.kw-featured-image img,
.kw-post-content img {
	max-width: 100% !important;
	height: auto !important;
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.kw-post-header {
	color: var(--wp--preset--color--primary);
	margin-bottom: 1rem !important;
}
.kw-post-title {
	font-weight: bold !important;
	line-height: 1.2 !important;
	margin-bottom: 0.5rem !important;
}
@media (max-width: 781px) {
	.main-content,
	.kaweruh-sidebar {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	.kaweruh-sidebar {
		margin-top: 30px !important;
	}
	.kw-meta-container {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.kw-post-date {
		margin-top: 0.5rem !important;
	}
}
@media (max-width: 599px) {
	.kw-post-header {
		padding: 15px !important;
	}
	.kw-featured-image {
		margin-bottom: 1rem !important;
	}
}
.kw-post-content>* {
	max-width: 100% !important;
}
.kw-post-content .wp-block-video video,
.kw-post-content .wp-block-audio audio {
	width: 100% !important;
	height: auto !important;
}
.kw-post-content figure {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.kw-tags-container{
	padding: 12px;
}
.share-section-post {
    display: flex;
    align-items: center;
    margin: 20px 0;
    padding: 15px;
}
.share-title-post {
    margin: 0 15px 0 0;
    font-size: 16px;
    font-weight: bolder;
    color: var(--wp--preset--color--primary);
}

/* =================================
   NAVIGATION
   ================================= */
:root{ --gold:#D4AF37; --desktop-nav-right-gap:120px; }
#main-svg g[id^="menu-"] rect,
#main-svg g#extra-menu rect,
#main-svg g#logo-home rect,
#main-svg-mobile g[id^="menu-"] rect,
#main-svg-mobile g#extra-menu rect,
#main-svg-mobile g#logo-home rect{
  fill:transparent !important; stroke:none !important; fill-opacity:0 !important;
}
@media (min-width:1025px){
  #extraMenu{
    position:absolute; display:block !important; z-index:5;
    top:18px; right:var(--desktop-nav-right-gap);
    background:transparent !important; padding:0 !important;
    border:0; box-shadow:none;
  }
  #extraMenu .menu-root{
    display:flex; gap:28px; align-items:center; margin:0; padding:0; list-style:none;
  }
  #extraMenu .menu-root>li{ position:relative; border:0; }
  #extraMenu .menu-root>li>a,
  #extraMenu .submenu-toggle{
    color:#fff !important; font-weight:700; font-size:18px;
    text-decoration:none; background:transparent; border:0; cursor:pointer;
    padding:6px 0;
  }
  #extraMenu .menu-root>li>a:hover,
  #extraMenu .submenu-toggle:hover{ color:var(--gold) !important; }
  #menu-tools  > .submenu-toggle,
  #menu-kawruh > .submenu-toggle{ font-size:0 !important; }
  #menu-tools  > .submenu-toggle::before{  content:"Tools";  font-size:18px; line-height:1; }
  #menu-kawruh > .submenu-toggle::before{  content:"Kawruh"; font-size:18px; line-height:1; }
  #extraMenu .has-sub > .submenu-toggle::after{
    content:" ▾"; font-size:18px; line-height:1; color:#fff; margin-left:4px; display:inline-block;
  }
  #extraMenu .has-sub:hover > .submenu-toggle::after,
  #extraMenu .has-sub.open  > .submenu-toggle::after{ content:" ▴"; }
  #extraMenu .submenu{
    position:absolute; top:140%; left:0; min-width:280px; display:none;
    padding:10px 12px; border-radius:10px; background:rgba(0,0,0,.88);
    box-shadow:0 8px 24px rgba(0,0,0,.35);
  }
  #extraMenu .has-sub:hover > .submenu{ display:block; }
  #extraMenu .submenu li+li{ border-top:1px solid rgba(255,255,255,.12); }
  #extraMenu .submenu a{
    display:block; padding:8px 6px; color:#fff !important;
    font-weight:600; font-size:16px; text-decoration:none;
  }
  #extraMenu .submenu a:hover{ color:var(--gold) !important; }
}
@media (max-width:1024px){
  #extraMenu{
    position:fixed; right:12px; top:12px; z-index:10002;
    background:rgba(0,0,0,.92); padding:12px 14px; border-radius:10px; min-width:220px;
    display:none;
  }
  #extraMenu.active{ display:block; }
  #extraMenu .menu-root{ margin:0; padding:0; list-style:none; }
  #extraMenu .menu-root>li{ padding:6px 0; border-bottom:1px solid rgba(255,255,255,.12); }
  #extraMenu .menu-root>li:last-child{ border-bottom:none; }
  #extraMenu a, #extraMenu .submenu-toggle{
    color:#fff; font-weight:700; font-size:16px; text-decoration:none;
    background:transparent; border:0; cursor:pointer;
  }
  #extraMenu .submenu{ display:none; padding-left:10px; }
  #extraMenu .has-sub.open > .submenu{ display:block; }
  #extraMenu .has-sub > .submenu-toggle::after{
    content:""; display:inline-block; margin-left:6px;
    border-left:6px solid transparent; border-right:6px solid transparent;
    border-top:8px solid var(--gold);
  }
  #extraMenu .has-sub.open > .submenu-toggle::after{
    transform:rotate(180deg); border-top-color:var(--gold);
  }
}
.only-mobile{ display:none; }
@media (max-width:1024px){ .only-mobile{ display:inline-block; } }

/* =================================
   ULTIMATE HEADING & COLOR OVERRIDE (MOBILE-ONLY)
   ================================= */
@media (max-width: 781px) {

	/* 1. Paksa H1 untuk menampilkan efek gold foil di mobile */
	.kw-post-content h1 {
		background: linear-gradient(180deg, #fff7bf 0%, #ffe066 28%, #f7cf42 58%, #f1c40f 78%, #cfa50c 100%) !important;
		-webkit-background-clip: text !important;
		background-clip: text !important;
		-webkit-text-fill-color: transparent !important;
		color: transparent !important; /* Memastikan warna dasar transparan */
	}

	/* 2. Atur ulang ukuran SEMUA heading agar proporsional di mobile */
	.kw-post-title,
	.kw-post-content h1 {
		font-size: 1.4rem !important; /* Ukuran H1 */
		line-height: 1.3 !important;
	}

	.kw-post-content h2 {
		font-size: 1.2rem !important; /* Ukuran H2 */
	}

	.kw-post-content h3 {
		font-size: 1.1rem !important; /* Ukuran H3 */
	}
	
	.kw-post-content h4 {
		font-size: 1.0rem !important; /* Ukuran H4 */
	}

	.kw-post-content h5,
	.kw-post-content h6 {
		font-size: 0.9rem !important; /* Ukuran H5 & H6 */
	}
	
	/* 3. Pastikan warna paragraf tetap putih */
	.kw-post-content p,
	.kw-post-content li {
		color: #ffffff !important;
	}

}
/* ===============================
   KJ BOOST PACK (Phase 1)
   - TOC, Related, Nav, Page Links
   - Ads reserved space + Sticky
   =============================== */

/* TOC (Table of Contents) */
.kj-toc{
  border:1px solid #333;border-radius:12px;
  padding:1rem;background:#14161a;margin:1rem 0;
  box-shadow:0 10px 24px rgba(0,0,0,.20)
}
.kj-toc__title{
  font-weight:800;margin-bottom:.5rem;
  color:var(--wp--preset--color--contrast)
}
.kj-toc__list{margin:0;padding-left:1.1rem}
.kj-toc__item{margin:.25rem 0}
.kj-toc__item--h3{margin-left:1rem;opacity:.9}
.kj-toc a{text-decoration:none;color:#DDE3EE}
.kj-toc a:hover{color:var(--wp--preset--color--primary)}
/* offset saat anchor di-klik (hindari ketutup header) */
:target{scroll-margin-top:96px}
@media (max-width: 781px){ :target{scroll-margin-top:72px} }

/* Related Posts */
.kj-related{margin:2.5rem 0}
.kj-related__title{
  margin-bottom:1rem;
  color:var(--wp--preset--color--contrast);
  font-weight:800
}
.kj-related__grid{
  display:grid;gap:16px;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  list-style:none;padding:0;margin:0
}
.kj-related__item{
  border:1px solid rgba(212,175,55,.25);
  border-radius:10px;overflow:hidden;
  background:#16181d
}
.kj-related__link{display:block;text-decoration:none}
.kj-related__link img{display:block;width:100%;height:140px;object-fit:cover}
.kj-related__text{display:block;padding:.6rem .75rem;color:#e0e0e0}
.kj-related__link:hover .kj-related__text{color:var(--wp--preset--color--primary)}

/* Next / Prev navigation */
.kj-post-nav{
  margin:2rem 0;border-top:1px solid #333;padding-top:1rem
}
.kj-post-nav .nav-links a{
  text-decoration:none;color:var(--wp--preset--color--contrast);
  font-weight:700
}
.kj-post-nav .nav-previous{float:left}
.kj-post-nav .nav-next{float:right}
.kj-post-nav::after{content:"";display:block;clear:both}

/* Page links untuk <!--nextpage--> */
.page-links{
  margin:2rem 0;display:flex;gap:8px;flex-wrap:wrap
}
.page-links a,.page-links > span{
  border:1px solid #333;padding:.45rem .7rem;border-radius:8px;
  text-decoration:none;color:#ddd
}
.page-links > span{background:#333;color:#fff;font-weight:700}
.page-links a:hover{color:var(--wp--preset--color--primary);border-color:var(--wp--preset--color--primary)}

/* Ads reserved space (anti-CLS) */
.kj-ad{min-height:280px;display:block;margin:16px 0}
.kj-ad--above_fold{min-height:250px;margin-top:12px}
.kj-ad--after_content{min-height:250px}
.kj-ad--sidebar{min-height:600px}
@media (max-width:782px){
  .kj-ad--sidebar{min-height:250px}
}

/* Sidebar sticky (tempelkan kelas ini ke wrapper slot iklan/sidebar) */
.kj-sidebar-sticky{position:sticky;top:88px}
@media (max-width: 1024px){ .kj-sidebar-sticky{position:static} }

/* QoL: gambar dalam related/ads selalu aman */
.kj-ad img{max-width:100%;height:auto;display:block;margin:0 auto}
.kj-related__item img{background:#0e1013}

/* Sentuhan kecil: konsistensi heading & paragraf di dalam komponen baru */
.kj-related__text,.kj-toc,.kj-post-nav,.page-links{
  font-size:16px;line-height:1.6
}
/* === FIX: Related di dalam .kw-post-content jangan ikut bullet global === */
.kw-post-content .kj-related__grid{ list-style:none; padding-left:0; }
.kw-post-content .kj-related__grid > li{ padding-left:0; position:relative; }
.kw-post-content .kj-related__grid > li::before{ content:none !important; } /* matikan "•" dari aturan global */
.kw-post-content .kj-related__link{ display:block; text-decoration:none; }
.kw-post-content .kj-related__link img{ width:100%; height:160px; object-fit:cover; display:block; }

/* Kartu related sedikit lebih kompak */
.kj-related__item{ border:1px solid rgba(212,175,55,.25); border-radius:10px; overflow:hidden; background:#16181d; }
.kj-related__text{ display:block; padding:.65rem .8rem; color:#e0e0e0; }
.kj-related__link:hover .kj-related__text{ color:var(--wp--preset--color--primary); }
/* === Anti-bleed Ads: lebar dikunci di kolom, no overflow === */
:root{ --kj-content-max: 760px; } /* ubah kalau kolom kamu lebih lebar/sempit */

.kw-post-content .kj-ad,
.kj-ad--in_article,
.kj-ad--after_content,
.kj-ad--above_fold{
  max-width: min(100%, var(--kj-content-max));
  margin-left:auto; margin-right:auto;
  overflow:hidden; /* cegah elemen nyelonong */
}

/* Apapun di dalam ads (iframe/ins/div) jangan melebihi container  */
.kj-ad *, .kj-ad iframe, .kj-ad ins, .kj-ad div{
  max-width:100% !important;
  box-sizing:border-box;
}

/* Jika jaringan iklan pakai .adsbygoogle, pastikan block & center */
.kj-ad .adsbygoogle{ display:block !important; margin:0 auto !important; }

/* (Optional) kalau ada elemen floating dari jaringan iklan, klip saja */
.kj-ad{ overflow-clip-margin:content-box; }
/* Beberapa widget iklan berbentuk "chip" suka fixed → kembalikan normal */
.kj-ad [style*="position:fixed"], 
.kj-ad [class*="floating"], 
.kj-ad [data-float="true"]{
  position:static !important; inset:auto !important; transform:none !important;
}
/* === Share bar jadi tombol "gold" === */
.share-section-post{
  border:1.8px solid #D4AF37; border-radius:12px; 
  background: rgba(212,175,55,.06);
  gap:10px; flex-wrap:wrap;
}
.share-title-post{ margin-right:8px; color:var(--wp--preset--color--primary); }

.share-section-post a{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:8px;
  background:#D4AF37; color:#111 !important;
  text-decoration:none; font-weight:800; line-height:1;
  border:1px solid #A88416;
}
.share-section-post a:hover{
  filter:brightness(1.05);
  box-shadow:0 4px 16px rgba(212,175,55,.25);
}

/* (Opsional) ikon kecil pakai emoji—biar tanpa font/icon library */
.share-section-post a[href*="facebook.com"]::before{ content:"📘"; }
.share-section-post a[href*="twitter.com"],
.share-section-post a[href*="x.com"]::before{ content:"🐦"; }
.share-section-post a[href*="whatsapp.com"]::before{ content:"🟢"; }

/* Garis tipis antar blok sidebar biar rapi */
.kaweruh-sidebar hr{ border:0; border-top:1px solid rgba(212,175,55,.25); margin:16px 0; }
/* === Theming Google CSE (dark+gold) === */
.kj-cse .gsc-control-cse,
.kj-cse .gsc-control-wrapper-cse{ background:transparent; border:0; }

.kj-cse .gsc-input-box{
  background:#0e1013; border:1.8px solid #D4AF37; border-radius:10px;
}
.kj-cse input.gsc-input{ background:transparent !important; color:#fff !important; }

.kj-cse .gsc-search-button-v2{
  background:#D4AF37 !important; border:1px solid #A88416 !important; border-radius:10px !important;
}
.kj-cse .gsc-search-button-v2:hover{ filter:brightness(1.05); }

.kj-cse .gsc-tabHeader.gsc-tabhActive{ border-color:#D4AF37 !important; }
.kj-cse .gsc-tabHeader.gsc-tabhInactive{ border-color:#333 !important; }

.kj-cse .gsc-webResult.gsc-result, 
.kj-cse .gsc-results .gsc-result{
  background:#111; border:1px solid rgba(212,175,55,.20); border-radius:10px; padding:10px;
}
.kj-cse .gs-title a{ color:#D4AF37 !important; text-decoration:none; }
.kj-cse .gs-title a:hover{ color:#f1c232 !important; }
.kj-cse .gsc-url-top{ color:#9ac27d !important; }
.kj-cse .gsc-table-result, .kj-cse .gsc-thumbnail-inside, .kj-cse .gsc-url-top{ background:transparent !important; }
.kj-cse .gsc-cursor-page{ 
  background:#111; border:1px solid #333; border-radius:8px; color:#ddd; padding:4px 8px; 
}
.kj-cse .gsc-cursor-page.gsc-cursor-current-page{ 
  background:#333; color:#fff; border-color:#D4AF37; 
}
/* HOTFIX: kategori di thumbnail harus horizontal (bukan pita vertikal) */
.blog .wp-block-post .wp-block-post-terms,
.archive .wp-block-post .wp-block-post-terms,
.home .wp-block-post .wp-block-post-terms,
.wp-block-query .wp-block-post .wp-block-post-terms{
  position: static !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
  rotate: 0 !important;
  height: auto !important;
  width: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}

/* Reset juga di link-nya supaya huruf tidak tegak */
.blog .wp-block-post .wp-block-post-terms a,
.archive .wp-block-post .wp-block-post-terms a,
.home .wp-block-post .wp-block-post-terms a,
.wp-block-query .wp-block-post .wp-block-post-terms a{
  writing-mode: horizontal-tb !important;
  transform: none !important;
  display: inline-block !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
  background: rgba(255,213,90,.10) !important;  /* emas samar */
  border: 1px solid rgba(255,213,90,.35) !important;
  color: #FFD45A !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

/* Matikan pseudo-element pita vertikal (kalau ada) */
.wp-block-post .wp-block-post-terms::before,
.wp-block-post .wp-block-post-terms::after{
  content: none !important;
  display: none !important;
}
/* ====== Footer Prasasti Kaweruh Jawa (rapi, 1 rasa desktop–mobile) ====== */
.kw-footer{
  --kw-bg:#0f141b; --kw-fg:#EDEFF6; --kw-gold:#D4AF37; --kw-gold2:#F2C94C; --kw-muted:#C5C9D3;
  background:var(--kw-bg); color:var(--kw-fg);
  border-top:2px solid rgba(242,201,76,.35);
  margin-top:clamp(24px,5vw,48px);
  font-synthesis-weight:none;
}
.kw-footer__container{ width:min(1200px,calc(100vw - 32px)); margin-inline:auto; padding:22px 0 14px; }

.kw-footer__grid{
  display:grid; grid-template-columns:1fr; gap:22px;
  justify-items:center; text-align:center;
}

/* ================= DESKTOP (≥960px) ================= */
@media (min-width:960px){
  .kw-footer__grid{ grid-template-columns:1.1fr .9fr .9fr; gap:28px; justify-items:center; }
  /* kolom kanan center */
  .kw-footer__grid > *:last-child{ text-align:center; justify-self:center; align-self:start; }
}

/* ========= Brand ========= */
.kw-footer__logo img{
  width:160px; height:auto; display:block; margin-inline:auto;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));
}
.kw-footer__domain{
  margin:12px 0 6px; font-weight:900; letter-spacing:.6px; color:var(--kw-gold2);
  font-size:clamp(1.35rem,1.1vw + 1rem,1.85rem); line-height:1.15;
}
.kw-footer__motto{ margin:.25rem 0 .6rem; font-weight:800; color:var(--kw-gold); font-size:1.05rem; }
.kw-footer__desc{ color:#EAF1FF; line-height:1.6; max-width:860px; margin-inline:auto; font-size:1.05rem; }
.kw-footer__copy{ margin-top:.6rem; color:var(--kw-muted); font-size:.95rem; }

/* ========= Titles ========= */
.kw-footer__title{ margin:0 0 .25rem; color:var(--kw-gold2); font-weight:900; font-size:1.05rem; }
.kw-footer__subtitle{ margin:.35rem 0 .2rem; color:#FFD780; font-weight:800; font-size:.95rem; letter-spacing:.2px; }

/* ========= Lists & Links ========= */
.kw-footer__list{ list-style:none; margin:0; padding:0; }
.kw-footer__list li{ margin:.25rem 0; }
.kw-footer a{ color:var(--kw-fg); text-decoration:none; }
.kw-footer a:hover{ color:var(--kw-gold2); text-decoration:underline; }
/* hilangkan bullet/pseudo bawaan theme di area footer */
.kw-footer ul,.kw-footer ol{ list-style:none; padding-left:0; margin-left:0; }
.kw-footer li::marker,.kw-footer li::before{ content:none; }

/* ========= Social (seragam & center) ========= */
.kw-social{
  list-style:none; padding:0; margin:.6rem 0 0;
  display:flex; flex-wrap:wrap; gap:14px 16px; justify-content:center;
}
.kw-social li{ flex:0 1 clamp(240px,22vw,300px); margin:0; position:relative; }
/* matikan SEMUA pseudo-icon yang bikin “ikon raksasa” */
.kw-social li::before,.kw-social li::after,
.kw-social a::before,.kw-social a::after{ content:none; background:none; }

.kw-social a{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  width:100%; height:48px; padding:0 18px; border-radius:9999px;
  border:1px solid rgba(214,165,26,.55);
  background:linear-gradient(180deg,#fff3a3 0%, #ffd95a 46%, #ffc93a 100%);
  color:#111; font-weight:800; font-size:1rem; text-decoration:none;
  box-shadow:0 8px 16px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .15s ease, filter .15s ease;
}
.kw-social a:hover{ filter:brightness(1.03); transform:translateY(-1px); }
/* normalisasi ikon apa pun bentuknya */
.kw-social svg,.kw-social img,.kw-social i{ width:20px; height:20px; flex:0 0 20px; }
.kw-social i{ font-size:20px; line-height:1; }

/* ========= Google Play badge ========= */
/* fallback: link Play tanpa class tetap jadi badge */
.kw-play,.kw-footer a[href*="play.google.com"]{
  display:flex; align-items:center; justify-content:center; gap:.6rem;
  height:48px; padding:0 18px; border-radius:12px; margin:8px auto 0;
  background:#111; color:#fff; border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 16px rgba(0,0,0,.24);
  font-weight:700; text-decoration:none;
}
.kw-play:hover,.kw-footer a[href*="play.google.com"]:hover{ color:#fff; filter:brightness(1.06); }
.kw-play__icon{
  width:0; height:0; border-left:12px solid #34A853; border-top:8px solid transparent; border-bottom:8px solid transparent;
  display:inline-block; position:relative;
}
.kw-play__icon::before{
  content:""; position:absolute; left:-7px; top:-8px;
  border-left:12px solid #FBBC05; border-top:8px solid transparent; border-bottom:8px solid transparent;
}
.kw-play__icon::after{
  content:""; position:absolute; left:-7px; top:-8px;
  border-left:12px solid #4285F4; border-top:8px solid transparent; border-bottom:8px solid transparent;
  transform:translateX(7px);
}
.kw-play__text{ letter-spacing:.2px; font-weight:700; }
.kw-play__text b{ font-weight:900; }

/* ========= Donate ========= */
/* tombol + fallback (tautan Saweria/Trakteer/BMC) – teks PUTIH */
.kw-donate,
.kw-footer a[href*="saweria.co"],
.kw-footer a[href*="trakteer"],
.kw-footer a[href*="buymeacoffee"]{
  display:flex; align-items:center; justify-content:center;
  height:48px; padding:0 18px; border-radius:9999px; margin:8px auto 0;
  background:linear-gradient(180deg,#fff3a3 0%, #ffd95a 46%, #ffc93a 100%);
  border:1px solid rgba(214,165,26,.65);
  color:#fff; font-weight:900; text-decoration:none;
  box-shadow:0 8px 16px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.6);
}
.kw-donate:hover,
.kw-footer a[href*="saweria.co"]:hover,
.kw-footer a[href*="trakteer"]:hover,
.kw-footer a[href*="buymeacoffee"]:hover{
  color:#fff; filter:brightness(1.05); transform:translateY(-1px);
}

/* ========= Legal row ========= */
.kw-footer__legal{ border-top:1px solid rgba(255,255,255,.08); margin-top:18px; padding:12px 0 18px; }
.kw-footer__legal ul{
  list-style:none; padding:0; margin:0;
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
}
.kw-footer__legal li{ display:flex; align-items:center; }
.kw-footer__legal li+li::before{ content:"•"; margin:0 10px; opacity:.6; color:var(--kw-gold2); }
.kw-footer__legal a{ color:var(--kw-muted); }
.kw-footer__legal a:hover{ color:var(--kw-gold2); }

/* ================= MOBILE (≤640px) ================= */
@media (max-width:640px){
  .kw-footer__grid{ grid-template-columns:1fr; justify-items:center; text-align:center; }
  .kw-footer__logo img{ width:120px; margin-inline:auto; }

  /* sosmed: 1 kolom rapi & bebas “ikon raksasa” */
  .kw-social{ display:grid; grid-template-columns:1fr; gap:12px; justify-items:center; margin-top:.75rem; }
  .kw-social li{ width:100%; }
  .kw-social a{ width:100%; height:44px; padding:0 14px; }
  .kw-social svg,.kw-social img,.kw-social i{ width:18px; height:18px; flex:0 0 18px; }
  .kw-social i{ font-size:18px; }
  .kw-social li::before,.kw-social li::after,.kw-social a::before,.kw-social a::after{ content:none; }

  /* Play & Donasi tetap tombol di mobile (termasuk fallback) */
  .kw-play,.kw-footer a[href*="play.google.com"]{ height:44px; padding:0 14px; }
  .kw-donate,
  .kw-footer a[href*="saweria.co"],
  .kw-footer a[href*="trakteer"],
  .kw-footer a[href*="buymeacoffee"]{ height:44px; padding:0 14px; }
}
/* ====== MOBILE FIX: full-bleed + anti overflow ====== */
@media (max-width: 640px){

  /* Lebarkan blok hitam sampai tepi layar (full-bleed) */
  .kw-footer__container{
    width: 100vw;                             /* lebar penuh viewport */
    margin-left: calc(50% - 50vw);            /* keluarkan dari wrapper */
    margin-right: calc(50% - 50vw);
    padding-left: 16px;                        /* tetap ada gutter aman */
    padding-right: 16px;
  }

  /* Pastikan semua tombol sosmed tidak melebihi lebar kontainer */
  .kw-social{ width: 100%; }
  .kw-social li{ width: 100%; }
  .kw-social a{
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;                    /* padding tidak nambah lebar */
  }

  /* Matikan icon pseudo dari theme yang suka bikin ikon raksasa */
  .kw-footer .kw-social li::before,
  .kw-footer .kw-social li::after,
  .kw-footer .kw-social a::before,
  .kw-footer .kw-social a::after{ content: none; }

  /* Kalau ada teks panjang di bawah logo, paksa patah baris rapi */
  .kw-footer{ overflow-wrap: anywhere; word-break: break-word; }
}