html, body {
    transition: none !important;
}

/* Tambahan CSS untuk dark mode */
body.dark-mode {
  background-color: #1c1c1c !important;
  color: #e0e0e0 !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}

body.dark-mode a {
  color: #90caf9;
  transition: color 0.3s ease;
}

body.dark-mode .blog-detail .another-posts .another-post_block .post-title a{color: #fff !important;}

body.dark-mode header .header-wrapper,
body.dark-mode header .header-wrapper .sub-menu {
  background-color: #1e1e1e;
  box-shadow: 0px 4px 18px 0 rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s ease;
}

body.dark-mode .post-title,
body.dark-mode .title,
body.dark-mode .title-small,
body.dark-mode .bundle-title,
body.dark-mode footer .footer-link--title,
body.dark-mode footer .footer-links ul li .footer-link,
body.dark-mode .posts .post-describe,
body.dark-mode .shop-sidebar .shop-sidebar--title {
  color: #e0e0e0;
  transition: color 0.3s ease;
}

body.dark-mode h1, 
body.dark-mode h2, 
body.dark-mode h3, 
body.dark-mode h4, 
body.dark-mode h5, 
body.dark-mode h6{
	font-family: "Cerebri-bold";
    color: #fff;
    line-height: 1.3;
    display: block;
    margin-bottom: 20px;
}

body.dark-mode p,
body.dark-mode ul,
body.dark-mode ol {
  color: #E0E0E0;
  transition: color 0.3s ease;
}

body.dark-mode .posts .post-title.regular:hover {
    color: #f17070 !important;
    text-decoration: none;
}

body.dark-mode .input-form,
body.dark-mode .textarea-form,
body.dark-mode #search-full .search-box input {
  background-color: #1e1e1e;
  color: #e0e0e0;
  border-color: #333;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

body.dark-mode .input-form::placeholder,
body.dark-mode .textarea-form::placeholder,
body.dark-mode #search-full .search-box input::placeholder {
  color: #888;
  transition: color 0.3s ease;
}

body.dark-mode .normal-btn {
  /* background-color: #90caf9; */
  /* border-color: #90caf9; */
  color: #fff;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

body.dark-mode .normal-btn:hover {
  background-color: transparent;
  color: #fff;
  border-color: #f17070;
}

body.dark-mode .icon-btn {
  background-color: #2a2a2a;
  color: #fff;
  border-color: #2a2a2a;
  transition: background-color 0.3s ease, color 0.3s ease;
}

body.dark-mode .icon-btn:hover {
  background-color: #90caf9;
  color: #1c1c1c;
  border-color: #90caf9;
}

body.dark-mode .post-credit .post-views {
	color: #E0E0E0;
}

body.dark-mode .bookmark-icon {
	color: #E0E0E0;
}

body.dark-mode .posts .post-describe {
	color: #E0E0E0;
}

body.dark-mode .posts .upload-day, body.dark-mode .posts .author-name{
	color: #E0E0E0;
}

body.dark-mode footer,
body.dark-mode footer.v2 {
  background-color: #1c1c1c;
  transition: background-color 0.3s ease;
}

body.dark-mode .product-block .product-detail .product-price,
body.dark-mode .product-block .product-detail .product-name a {
  color: #ddd;
}

body.dark-mode .product-block .product-select button {
  background-color: #1e1e1e;
  color: #fff;
  border: 1px solid #444;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

body.dark-mode .product-block .product-select button:hover {
  background-color: #90caf9;
  color: #1c1c1c;
}

body.dark-mode #scrollUp {
  background-color: #90caf9;
  color: #1c1c1c;
  border-color: #90caf9;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

body.dark-mode #scrollUp:hover {
  background-color: transparent;
  color: #90caf9;
  border-color: #90caf9;
}

body.dark-mode header .header-wrapper nav.navigation {
  background-color: #1e1e1e;
}

body.dark-mode header .header-wrapper nav.navigation .pisen-nav-link {
  color: #fff !important;
  transition: color 0.3s ease;
}

body.dark-mode header .header-wrapper nav.navigation .pisen-nav-link:hover {
  color: #90caf9 !important;
}

body.dark-mode nav.navigation ul li .pisen-nav-link {
  color: #ffffff !important;
  transition: color 0.3s ease;
}

body.dark-mode nav.navigation ul li .pisen-nav-link:hover {
  color: #90caf9 !important;
}

body.dark-mode header .header-wrapper .mobile-menu #showMenu{color:#fff !important;}

body.dark-mode .posts .post-title.regular,
body.dark-mode .posts a.post-title,  
body.dark-mode .blog-detail-title{color:#fff !important;}

body.dark-mode header .header-wrapper .header-menu ul .nav-item .pisen-nav-link{color:#fff !important;}

body.dark-mode .single-post > p:first-of-type::first-letter{
	font-size: 60px;
    float: left;
    font-family: "Cerebri-bold";
    color: #E0E0E0;
    line-height: 1;
    display: block;
    margin-right: 10px;
}

body.dark-mode .reading-time {
	color: #90caf9  !important;
}

body.dark-mode .blog-detail .post-comment h2{
	font-family: "Cerebri-bold";
    color: #fff;
    line-height: 1.3;
    display: block;
    margin-bottom: 20px;
}

body.dark-mode .pagination {
  display: flex;
  justify-content: center;
  list-style: none;
  padding-left: 0;
  margin-top: 1.5rem;
  gap: 6px;
}

body.dark-mode .pagination li a,
body.dark-mode .pagination li span {
  display: inline-block;
  padding: 8px 14px;
  color: #e0e0e0;
  background-color: #1e1e1e;
  border: 1px solid #333;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}

body.dark-mode .pagination li a:hover {
  background-color: #444;
  border-color: #f17070;
  color: #fff;
}

body.dark-mode .page-link:focus{
	box-shadow: none;
	color: #f17070;
}

body.dark-mode .pagination li a:focus,
body.dark-mode .pagination li span:focus {
  outline: none;
  color: #fff; /* Warna biru terang saat fokus */
  border-color: #f17070;
  background-color: #2a2a2a;
}

body.dark-mode .pagination .active span {
  background-color: #f17070;
  border-color: #f17070;
  color: #fff;
  font-weight: bold;
}

body.dark-mode .pagination .disabled span,
body.dark-mode .pagination .disabled a {
  color: #777;
  background-color: #2a2a2a;
  border-color: #444;
  cursor: not-allowed;
}

body.dark-mode .comment-box {
  border-bottom: 1px solid #444;
}

body.dark-mode .comment-avatar {
  background-color: #444;
  color: #fff;
}

body.dark-mode .comment-content strong {
  color: #fff;
}

body.dark-mode .comment-content p {
  color: #ccc;
}

body.dark-mode .comment-content small {
  color: #888;
}

body.dark-mode .comment.reply {
  border-left: 2px solid #333;
}


/* Transition global */
body, p, ul, ol, a, button, h1, h2, h3, h4, h5, h6 {
  transition: background-color 0.3s ease, color 0.3s ease;
}
/* END CSS dark mode */


/* CSS untuk tombol dark mode */
.dark-toggle {
  position: fixed;
  top: 30px;
  right: 40px;
  background: none;
  border: none;
  outline: none;
  font-size: 24px;
  color: #222;
  cursor: pointer;
  z-index: 1000;
}

.dark-toggle:focus,
.dark-toggle:active {
  outline: none;
  box-shadow: none;
  border: none;
}

body.dark-mode .dark-toggle {
  color: #f1f1f1;
}

/* Responsive tweaks */
@media only screen and (min-width: 320px) and (max-width: 480px){
	.dark-toggle {
		position: fixed;
		top: 25px; 
        right: 50px;
        font-size: 20px;
    }
	
	.posts .upload-day, .posts .author-name{font-size: 12px;}
}

@media (max-width: 768px) {
  .dark-toggle {
    position: fixed;
    top: 25px;
    right: 50px;
	font-size: 20px;
  }
}

@media only screen and (min-width: 600px) and (max-width: 850px) {
    .dark-toggle {
        position: fixed;
		top: 25px;
		right: 55px;
        font-size: 20px;
    }
	
	.posts .upload-day, .posts .author-name{font-size: 12px;}
}

@media only screen and (min-width: 851px) and (max-width: 1200px) {
    .dark-toggle {
        position: fixed;
		top: 25px;
		right: 55px;
        font-size: 20px;
    }
}

@media only screen and (min-width: 320px) and (max-width: 480px){
	header.mobile .header-wrapper .navigation{width: 50vw !important;}
}

@media (min-width: 768px) and (max-width: 991px){
	header.mobile .header-wrapper .navigation{width: 50vw !important;}
}

@media (min-width: 992px) and (max-width: 1199px) {
	header.mobile .header-wrapper .navigation{width: 30vw !important;}
}
/* END tombol dark mode */

/* CSS Single Post Comment */
.comment-box {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}

.comment-avatar {
  width: 40px;
  height: 40px;
  background-color: #007bff;
  color: #fff;
  border-radius: 50%;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin-right: 15px;
  text-transform: uppercase;
  flex-shrink: 0;
}

.comment-content {
  flex-grow: 1;
}

.comment-content strong {
  font-size: 14px;
  color: #333;
  display: block;
}

.comment-content p {
  margin: 5px 0 0;
  font-size: 14px;
  color: #555;
}

.comment-content small {
  font-size: 12px;
  color: #aaa;
}

.comment.reply {
  margin-left: 50px;
  border-left: 2px solid #f0f0f0;
  padding-left: 10px;
}

.reply-btn {
  float: right;
  font-size: 14px;
  color: #3498db;
  text-decoration: none;
  margin-top: 5px;
}

.reply-btn:hover {
  text-decoration: underline;
}

#load-more-comments {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto 0 auto;
}
/* END Single Post Comment */

/* FONTS */
html, button, input, select, textarea, .toggle h4 { font-family: 'Lora', Georgia, serif; }
h1.site-title, h1.site-title a { font-family:"UnifrakturMaguntia", Georgia, serif; }

h1 {
  font-size: 36px;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 26px;
}

h4 {
  font-size: 22px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 16px;
}

@media (max-width: 768px) {
  h1 {
    font-size: 28px;
  }

  h2 {
    font-size: 24px;
  }

  h3 {
    font-size: 20px;
  }

  h4 {
    font-size: 18px;
  }

  h5 {
    font-size: 16px;
  }

  h6 {
    font-size: 14px;
  }
}

h1, h2, h3, h4, h5, h6{
	font-family: "Cerebri-bold";
    color: #1d2c44;
    line-height: 1.6 !important;
    display: block;
    margin-bottom: 20px;
}

/* p, ul, ol{ */
	/* font-family: "Cerebri-regular"; */
    /* font-size: 18px; */
    /* color: #646d7c; */
    /* line-height: 30px; */
    /* display: block; */
    /* margin-bottom: 20px; */
/* } */

p, ul, ol{
	font-family: "Cerebri-regular";
	font-size: clamp(16px, 2vw, 18px);
	color: #3a3a3a;
	line-height: 1.6;
	margin-top: 1.25em !important;
	margin-bottom: 1.25em !important;
}

.main-navigation ul li, dt { font-family:"Coustard", Georgia, serif; } 

figure {
  display:inline-table;
  width:1%;/* make captions wrap at width of image*/
  text-align:left;
  margin:0;
}

figcaption, figcaption a{text-align:center; color:#f17070;}

blockquote{
	font-family: "Cerebri-italic";
    font-size: 18px;
    color: #1d2c44;
    line-height: 30px;
    display: block;
    display: inline-block;
    margin-bottom: 15px;
}
/* END FONTS */

/* CSS for drop cap */
.single-post > p:first-of-type::first-letter{
	font-size: 60px;
    float: left;
    font-family: "Cerebri-bold";
    color: #1d2c44;
    line-height: 1;
    display: block;
    margin-right: 10px;
}
/* END CSS fordrop cap */

/* CSS for meta data artikel */
.avatar-initial {
	width: 35px;
	height: 35px;
	border-radius: 999px;
	background-color: #90caf9;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: bold;
	font-family: 'Arial', sans-serif;
	margin-right: 20px;
	overflow: hidden;
}

.posts .author .author-name, .posts .post-credit .upload-day{margin-bottom:0 !important;}

.post-views {
	font-size: 14px;
	color: #888;
	display: flex;
	align-items: center;
	gap: 5px;
}

.single-post .post-views {
	justify-content: center;
}

.post-credit {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.post-credit > .d-flex {
	flex: 1;
	position: relative;
	width: 100%;
}

.post-credit .post-views {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 14px;
	color: #3a3a3a;
	display: flex;
	align-items: center;
	gap: 5px;
}

.bookmark-icon {
	cursor: pointer;
	color: #3a3a3a;
	font-size: 16px;
	transition: color 0.3s ease;
}

.posts .post-describe {
	color: #3a3a3a;
}

.bookmark-icon:hover {
	color: #f17070;
}

.bookmark-icon.active i {
	color: #f17070;
}
/* END CSS for meta data artikel */

/* CSS for quotes */
.blog-detail.blog-detail .post-block .blog-quote {
    background: #f17070;
    border-radius: 10px;
    padding: 50px 30px;
}

.blog-detail.blog-detail .post-block .blog-quote q{
	color: #fff;
}

.blog-detail .post-block .blog-quote .quote-author {
    font-family: "Cerebri-regular";
    font-size: 18px;
    color: #fff;
    line-height: 1;
    display: block;
    text-align: right;
	margin-bottom:0 !important;
}
/* END CSS for quotes */

/* CSS for table */
thead, thead p{
  font-size: 18px;
  background-color: #f17070;
  color: #fff;
}

table, th, td {
  border: none;
}

table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  font-size: 16px;
  table-layout: auto; /* ⚠️ Ini penting untuk proporsional */
}

table tr {
  border-bottom: none;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}

table > tbody > tr:nth-child(odd) {
  background-color: #fff;
}

table > tbody > tr:nth-child(even) {
  background-color: rgba(242, 242, 242, 0.5);
}

table > tbody > tr > td {
  border-radius: 0;
}

table.centered thead tr th,
table.centered tbody tr td {
  text-align: center;
}

tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

td, th {
  padding: 12px 12px;          /* ✅ proporsional */
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  border-radius: 2px;
  white-space: nowrap;         /* ✅ biar rapi, dan bisa scroll */
}

/* Responsive font & padding */
@media only screen and (max-width: 992px) {
  table {
    font-size: 15px;
  }
  td, th {
    padding: 10px 10px;
  }
}

@media only screen and (max-width: 768px) {
  table {
    font-size: 14px;
  }
  td, th {
    padding: 8px 8px;
  }
}

/* Header di dark mode */
body.dark-mode thead, 
body.dark-mode thead p {
	font-size: 18px;
	background-color: #f17070; /* Masih pakai aksen merah */
	color: #fff;
}

/* Tabel umum */
body.dark-mode table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	font-size: 16px;
	table-layout: auto;
	background-color: #1e1e1e;
	color: #e0e0e0;
}

/* Baris tabel */
body.dark-mode table tr {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	transition: background-color 0.25s ease;
}

/* Striping */
body.dark-mode table > tbody > tr:nth-child(odd) {
	background-color: #2a2a2a;
}

body.dark-mode table > tbody > tr:nth-child(even) {
	background-color: #252525;
}

/* Sel data */
body.dark-mode td,
body.dark-mode th {
	padding: 12px 12px;
	text-align: left;
	vertical-align: middle;
	border-radius: 2px;
	white-space: nowrap;
	border: none;
}

/* Sel tengah */
body.dark-mode table.centered thead tr th,
body.dark-mode table.centered tbody tr td {
  text-align: center;
}

/* Responsive typography & spacing */
@media only screen and (max-width: 992px) {
  body.dark-mode table {
    font-size: 15px;
  }
  body.dark-mode td, body.dark-mode th {
    padding: 10px 10px;
  }
}

@media only screen and (max-width: 768px) {
  body.dark-mode table {
    font-size: 14px;
  }
  body.dark-mode td, body.dark-mode th {
    padding: 8px 8px;
  }
}
/* END CSS for table */

/* CSS for search */
/* Pastikan kontainer nav memiliki display flex agar kita bisa kontrol urutannya */
.search-container {
	position: fixed;
	top: 28px;
	right: 85px;
	z-index: 9999;
	display: flex;
	align-items: center;
	background-color: #f0f0f0; /* light mode background */
	padding: 5px 10px;
	border-radius: 20px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Style input - light mode */
.search-container input[type="text"] {
	background: transparent;
	border: none;
	outline: none;
	color: #333;
	padding: 5px;
	width: 160px;
}

/* Style button - light mode */
.search-container button {
	background: none;
	border: none;
	color: #333;
	cursor: pointer;
}

.search-container button:hover {
	color: #ff5e5e;
}

/* DARK MODE overrides */
body.dark-mode .search-container {
	background-color: #2a2a2a;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

body.dark-mode .search-container input[type="text"] {
	color: white;
}

body.dark-mode .search-container button {
	color: white;
}

body.dark-mode .search-container button:hover {
	color: #ff5e5e;
}

@media (max-width: 768px) {
	/* Buat .navigation jadi kolom agar bisa pakai order */
	.navigation {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	/* Search tampil di atas ul */
	.search-container {
		position: relative;
		top: auto;
		right: auto;
		order: -1; /* kunci agar search muncul di atas <ul> */
		margin-top: 10px;
		margin-bottom: 25px;
		width: 100%;
		justify-content: center;
		background-color: #f0f0f0;
	}

	.search-container input[type="text"] {
		width: 100%;
		max-width: 300px;
		color: #333;
	}

	/* Pastikan ul tetap urutan normal */
	.navigation ul {
		order: 0;
	}

	/* Tombol dark mode dan lainnya bisa diatur order juga jika perlu */
	.navigation .dark-toggle {
		order: 1;
	}

	body.dark-mode .search-container {
		background-color: #2a2a2a;
	}

	body.dark-mode .search-container input[type="text"] {
		color: white;
	}
}

/* END CSS for search */

/* CSS for pagination */
.pagination {
	display: flex;
	justify-content: center;
	list-style: none;
	padding-left: 0;
	margin-top: 1.5rem;
	gap: 6px;
}

.pagination li a,
.pagination li span {
	display: inline-block;
	padding: 8px 14px;
	color: #f17070;
	background-color: #ffffff;
	border: 1px solid #ccc;
	border-radius: 4px;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.pagination li a:hover {
	background-color: #fff;
	border-color: #f17070;
	color: #f17070;
}

.page-link:focus {
	box-shadow: none;
	color: #f17070;
}

.pagination li a:focus,
.pagination li span:focus {
	outline: none;
	color: #f17070;
	border-color: #f17070;
	background-color: #fff3f3;
}

.pagination .active span {
	background-color: #f17070 !important;
	border-color: #f17070 !important;
	color: #ffffff;
	font-weight: bold;
}

.pagination .disabled span,
.pagination .disabled a {
	color: #aaa;
	background-color: #f8f8f8;
	border-color: #ddd;
	cursor: not-allowed;
}
/* END CSS for pagination */

/* untuk feature image di halaman home supaya fit antara image dan containernya */
.post-img {
    width: 100%;
    aspect-ratio: 3 / 2; /* Rasio gambar WebP kamu */
    background-color: #f5f5f5;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0; /* pastikan tidak ada padding */
    margin: 0;
}

.post-img img {
    width: 100%;
    height: auto; /* ini kunci agar tetap rasio */
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
    display: block;
}

/* Tablet (<= 768px) */
@media (max-width: 768px) {
    .post-img {
        height: 300px;
    }
}

/* Mobile (<= 480px) */
@media (max-width: 480px) {
	.post-img {
		height: 220px;
	}
}
/* End untuk feature image di halaman home supaya fit antara image dan containernya */

@media only screen and (max-width: 768px){
	figure {
		display:inline-table;
		width:100%;/* make captions wrap at width of image*/
		text-align:left;
		margin:0;
	}
	
	figure img{
		width:100% !important;
		height:100% !important;
	}
}


/* Hindari geser horizontal di mobile */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Hindari elemen "nakal" keluar dari layar */
table, pre, code, iframe {
  max-width: 100%;
  overflow-x: auto;
}

header.mobile .header-wrapper .navigation{width: 75vw;}


a, body.dark-mode a{color: #f17070;}

.posts .upload-day, .posts .author-name{color: #3a3a3a;}

/*.mobile-menu{margin-right:20px;}*/

.single-post ul li, .single-post ol li{margin-left:50px; margin-bottom:15px;}

.posts .post-img img{height:revert-layer;}

.blog-detail .post-block .blog-credit .blog-credit_wrapper span{
	font-family: "Cerebri-regular";
    font-size: 14px;
    color: #b0bec5;
    line-height: 1;
    display: block;
    display: inline-block;
}

.blog-detail .post-block img{margin-bottom:5px;}
.blog-cover{margin-bottom:40px !important;}

#progressBar {
	position: fixed;
	top: 0;
	left: 0;
	width: 0%;
	height: 4px;
	background-color: #f17070;
	z-index: 9999;
	transition: width 0.25s ease-out;
}

.reading-time {
	color: #90caf9  !important;
	font-size: 14px;
	margin-left: 15px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.last-updated {
    color: #b0bec5 !important;
    font-style: italic;
}

.shareon {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: 30px 0;
}

header .header-wrapper .header-menu ul .nav-item .pisen-nav-link{
	padding: 15px 23px;
}

footer{padding:30px 0 !important;}

hr {
	border: none;
	height: 1px;
	background: transparent;
	position: relative;
	margin: 3rem auto;
}

hr::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #999;
	box-shadow:
		-16px 0 0 #999,
		16px 0 0 #999;
}

.note-toolbar .tooltip {
	margin-top: -5px !important;
}

