/**
 * Novel Content — JustNews Theme CSS
 *
 * Minimal adjustments to integrate novel plugin with JustNews theme.
 * Does NOT duplicate JustNews core styles — only novel-specific overrides.
 *
 * @package NovelContent
 * @version 2.1.2
 */

/* ==========================================================================
   1. Single Novel Page
   ========================================================================== */

/* Breadcrumb spacing */
.ns-breadcrumb {
	margin-bottom: 20px;
	font-size: 14px;
	color: #999;
}
.ns-breadcrumb a {
	color: #666;
	text-decoration: none;
}
.ns-breadcrumb a:hover {
	color: var(--theme-color, #206be7);
}

/* Cover image wrapper */
.ns-novel-cover-wrap {
	margin-bottom: 24px;
	text-align: center;
}
.ns-novel-cover-wrap .ns-cover-img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* Novel info panel */
.ns-novel-info-panel {
	margin-bottom: 24px;
}
.ns-novel-info-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 12px 24px;
}
.ns-novel-info-list li {
	padding: 6px 0;
	border-bottom: 1px dashed #eee;
}
.ns-info-label {
	display: block;
	font-size: 12px;
	color: #999;
	margin-bottom: 2px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.ns-info-value {
	display: block;
	font-size: 15px;
	color: #333;
}
.ns-info-value a {
	color: var(--theme-color, #206be7);
	text-decoration: none;
}
.ns-info-value a:hover {
	text-decoration: underline;
}
.ns-rating-stars {
	color: #f5a623;
	font-size: 18px;
	letter-spacing: 2px;
}

/* Entry meta SVG icons */
.entry-meta .ns-icon {
	vertical-align: -2px;
	margin-right: 4px;
	color: #999;
}

/* Novel content spacing */
.ns-novel-content {
	margin-top: 24px;
	line-height: 1.8;
	font-size: 16px;
}

/* Entry share wrapper */
.entry-share {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #eee;
}

/* Post navigation */
.ns-novel-single .post-navigation {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #eee;
	gap: 20px;
}
.ns-novel-single .post-nav-item {
	flex: 1;
	max-width: 48%;
}
.ns-novel-single .post-nav-item.next {
	text-align: right;
	margin-left: auto;
}
.ns-novel-single .post-nav-label {
	display: block;
	font-size: 12px;
	color: #999;
	margin-bottom: 4px;
}
.ns-novel-single .post-nav-title {
	font-size: 14px;
	color: #333;
}
.ns-novel-single .post-nav-item a {
	text-decoration: none;
}
.ns-novel-single .post-nav-item a:hover .post-nav-title {
	color: var(--theme-color, #206be7);
}

/* Related novels panel */
.ns-novel-related {
	margin-top: 30px;
}
.ns-related-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ns-related-list li {
	padding: 8px 0;
	border-bottom: 1px dashed #f0f0f0;
}
.ns-related-list li:last-child {
	border-bottom: none;
}
.ns-related-list li a {
	color: #333;
	text-decoration: none;
	font-size: 14px;
}
.ns-related-list li a:hover {
	color: var(--theme-color, #206be7);
}

/* Comments section */
.ns-novel-comments {
	margin-top: 30px;
}


/* ==========================================================================
   2. Shortcode: Novel List Grid
   ========================================================================== */

.ns-novel-grid {
	display: grid;
	gap: 20px;
	margin-bottom: 30px;
}
.ns-novel-cols-2 {
	grid-template-columns: repeat(2, 1fr);
}
.ns-novel-cols-3 {
	grid-template-columns: repeat(3, 1fr);
}
.ns-novel-cols-4 {
	grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 768px) {
	.ns-novel-cols-2,
	.ns-novel-cols-3,
	.ns-novel-cols-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.ns-novel-cols-2,
	.ns-novel-cols-3,
	.ns-novel-cols-4 {
		grid-template-columns: 1fr;
	}
}

/* Novel item in grid — matches JustNews post-item style */
.ns-novel-item .post-item-wrap {
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.25s ease;
	background: #fff;
}
.ns-novel-item .post-item-wrap:hover {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}
.ns-novel-item .post-thumb {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	background: #f5f5f5;
}
.ns-novel-item .post-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ns-novel-item .post-item-info {
	padding: 15px;
}
.ns-novel-item .entry-title {
	font-size: 16px;
	margin: 0 0 8px;
	line-height: 1.4;
}
.ns-novel-item .entry-title a {
	color: #333;
	text-decoration: none;
}
.ns-novel-item .entry-title a:hover {
	color: var(--theme-color, #206be7);
}
.ns-novel-item .entry-meta {
	font-size: 12px;
	color: #999;
	margin-bottom: 8px;
}
.ns-novel-item .entry-meta-item {
	display: inline-block;
	margin-right: 10px;
}
.ns-novel-item .entry-meta-item.ns-novel-rating {
	color: #f5a623;
	font-weight: 600;
}
.ns-novel-item .entry-excerpt {
	font-size: 13px;
	color: #666;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Empty state */
.ns-novel-empty {
	text-align: center;
	padding: 40px 20px;
	color: #999;
	font-size: 15px;
}


/* ==========================================================================
   3. Shortcode: Novel Slider
   ========================================================================== */

.ns-novel-slider {
	position: relative;
	margin-bottom: 30px;
	overflow: hidden;
	border-radius: 4px;
}
.ns-novel-slider .slider-inner {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	gap: 0;
}
.ns-novel-slider .slider-item {
	flex: 0 0 100%;
	scroll-snap-align: start;
	position: relative;
}
.ns-novel-slider .slider-cover {
	position: relative;
	aspect-ratio: 16 / 9;
	max-height: 450px;
	overflow: hidden;
	background: #1a1a1a;
}
.ns-novel-slider .slider-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.85;
}
.ns-novel-slider .slider-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 30px 40px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
	color: #fff;
}
.ns-novel-slider .slider-title {
	font-size: 24px;
	margin: 0 0 10px;
	line-height: 1.3;
}
.ns-novel-slider .slider-title a {
	color: #fff;
	text-decoration: none;
}
.ns-novel-slider .slider-title a:hover {
	text-decoration: underline;
}
.ns-novel-slider .slider-meta {
	font-size: 14px;
	opacity: 0.9;
}
.ns-novel-slider .slider-meta span {
	margin-right: 15px;
}
.ns-novel-slider .slider-rating {
	color: #f5a623;
	font-weight: 600;
}


/* ==========================================================================
   4. Sidebar Widget: Novel
   ========================================================================== */

.widget_ns_novel .ns-novel-widget-content {
	padding: 0;
}

/* Genre navigation in widget */
.widget_ns_novel .ns-novel-genre-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}
.widget_ns_novel .ns-novel-genre-nav li {
	padding: 8px 0;
	border-bottom: 1px dashed #f0f0f0;
}
.widget_ns_novel .ns-novel-genre-nav li:last-child {
	border-bottom: none;
}
.widget_ns_novel .ns-novel-genre-nav li a {
	color: #333;
	text-decoration: none;
	font-size: 14px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.widget_ns_novel .ns-novel-genre-nav li a:hover {
	color: var(--theme-color, #206be7);
}

/* Hot novel list in widget */
.widget_ns_novel .ns-novel-hot-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.widget_ns_novel .ns-novel-hot-item {
	padding: 10px 0;
	border-bottom: 1px solid #f5f5f5;
}
.widget_ns_novel .ns-novel-hot-item:last-child {
	border-bottom: none;
}
.widget_ns_novel .ns-novel-hot-link {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.widget_ns_novel .ns-novel-hot-title {
	color: #333;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}
.widget_ns_novel .ns-novel-hot-link:hover .ns-novel-hot-title {
	color: var(--theme-color, #206be7);
}
.widget_ns_novel .ns-novel-hot-author {
	font-size: 12px;
	color: #999;
}


/* ==========================================================================
   5. Settings Page (Admin)
   ========================================================================== */

.ns-settings-panel .postbox {
	background: #fff;
	border: 1px solid #ccd0d4;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
}


/* ==========================================================================
   6. Responsive
   ========================================================================== */

@media (max-width: 768px) {
	.ns-novel-info-list {
		grid-template-columns: 1fr;
	}
	.ns-novel-single .post-navigation {
		flex-direction: column;
		gap: 12px;
	}
	.ns-novel-single .post-nav-item {
		max-width: 100%;
	}
	.ns-novel-single .post-nav-item.next {
		text-align: left;
	}
	.ns-novel-slider .slider-content {
		padding: 20px;
	}
	.ns-novel-slider .slider-title {
		font-size: 18px;
	}
}


/* ==========================================================================
   7. Chapters System
   ========================================================================== */

/* Synopsis panel */
.ns-novel-synopsis .ns-novel-description {
	line-height: 1.8;
	font-size: 15px;
	color: #444;
}

/* Latest chapter card */
.ns-latest-chapter {
	border-left: 3px solid var(--theme-color, #206be7);
}
.ns-latest-chapter .panel-title {
	color: var(--theme-color, #206be7);
}
.ns-latest-chapter-header {
	margin-bottom: 12px;
}
.ns-latest-chapter-title {
	font-size: 18px;
	margin: 0 0 8px;
	line-height: 1.4;
}
.ns-latest-chapter-title a {
	color: #333;
	text-decoration: none;
}
.ns-latest-chapter-title a:hover {
	color: var(--theme-color, #206be7);
}
.ns-latest-chapter-meta {
	font-size: 13px;
	color: #999;
	margin-bottom: 8px;
}
.ns-latest-chapter-meta span {
	margin-right: 16px;
}
.ns-latest-chapter-excerpt {
	font-size: 14px;
	color: #666;
	line-height: 1.8;
	margin-bottom: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ns-latest-chapter-actions {
	margin-top: 8px;
}

/* Chapter list table */
.ns-novel-chapters .ns-chapter-count {
	font-size: 14px;
	font-weight: 400;
	color: #999;
	margin-left: 6px;
}
.ns-chapter-list {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.ns-chapter-list thead th {
	text-align: left;
	padding: 10px 8px;
	border-bottom: 2px solid #eee;
	font-weight: 600;
	color: #333;
	font-size: 13px;
	white-space: nowrap;
}
.ns-chapter-list tbody td {
	padding: 10px 8px;
	border-bottom: 1px solid #f5f5f5;
	vertical-align: middle;
}
.ns-chapter-list tbody tr:hover {
	background: #fafafa;
}
.ns-chapter-list .ns-col-num {
	width: 60px;
	color: #999;
	text-align: center;
}
.ns-chapter-list .ns-col-title a {
	color: #333;
	text-decoration: none;
	font-weight: 500;
}
.ns-chapter-list .ns-col-title a:hover {
	color: var(--theme-color, #206be7);
}
.ns-chapter-list .ns-col-words {
	width: 80px;
	color: #999;
	text-align: center;
	font-size: 13px;
	white-space: nowrap;
}
.ns-chapter-list .ns-col-date {
	width: 110px;
	color: #999;
	font-size: 13px;
	white-space: nowrap;
}
.ns-chapter-list .ns-col-action {
	width: 80px;
	text-align: center;
}

/* Chapter action buttons */
.ns-btn {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #333;
	text-decoration: none;
	font-size: 13px;
	line-height: 1.5;
	cursor: pointer;
	transition: all 0.2s ease;
}
.ns-btn:hover {
	border-color: var(--theme-color, #206be7);
	color: var(--theme-color, #206be7);
}
.ns-btn-primary {
	background: var(--theme-color, #206be7);
	border-color: var(--theme-color, #206be7);
	color: #fff;
}
.ns-btn-primary:hover {
	background: #fff;
	color: var(--theme-color, #206be7);
}
.ns-btn-sm {
	padding: 3px 10px;
	font-size: 12px;
}

/* Chapter empty state */
.ns-chapter-empty {
	text-align: center;
	padding: 24px 20px;
	color: #999;
	font-size: 14px;
}

/* ==========================================================================
   8. Single Chapter Reading Page
   ========================================================================== */

/* Chapter content area */
.ns-chapter-content {
	margin-top: 24px;
	line-height: 2;
	font-size: 16px;
	color: #333;
}
.ns-chapter-content p {
	margin-bottom: 1.2em;
	text-indent: 2em;
}

/* Chapter navigation */
.chapter-navigation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid #eee;
	gap: 16px;
}
.chapter-nav-item {
	flex: 1;
	min-width: 0;
}
.chapter-nav-item.chapter-prev {
	text-align: left;
}
.chapter-nav-item.chapter-next {
	text-align: right;
}
.chapter-nav-item.chapter-toc {
	flex: 0 0 auto;
	text-align: center;
}
.chapter-nav-item a {
	text-decoration: none;
	display: block;
}
.chapter-nav-label {
	display: block;
	font-size: 12px;
	color: #999;
	margin-bottom: 4px;
}
.chapter-nav-label.disabled {
	color: #ccc;
}
.chapter-nav-title {
	display: block;
	font-size: 14px;
	color: #333;
	line-height: 1.4;
}
.chapter-nav-item a:hover .chapter-nav-title {
	color: var(--theme-color, #206be7);
}

/* Chapter comments */
.ns-chapter-comments {
	margin-top: 30px;
}


/* ==========================================================================
   9. Responsive — Chapters
   ========================================================================== */

@media (max-width: 768px) {
	/* Chapter table → card layout on mobile */
	.ns-chapter-list,
	.ns-chapter-list thead,
	.ns-chapter-list tbody,
	.ns-chapter-list th,
	.ns-chapter-list td,
	.ns-chapter-list tr {
		display: block;
	}
	.ns-chapter-list thead {
		display: none;
	}
	.ns-chapter-list tr {
		padding: 12px 8px;
		border-bottom: 1px solid #f0f0f0;
	}
	.ns-chapter-list .ns-col-num,
	.ns-chapter-list .ns-col-words,
	.ns-chapter-list .ns-col-date,
	.ns-chapter-list .ns-col-action {
		display: inline-block;
		width: auto;
		text-align: left;
		margin-right: 12px;
		font-size: 12px;
	}
	.ns-chapter-list .ns-col-title {
		margin-bottom: 4px;
	}
	.ns-chapter-list .ns-col-title a {
		font-size: 15px;
	}

	/* Chapter navigation on mobile */
	.chapter-navigation {
		flex-direction: column;
		gap: 12px;
	}
	.chapter-nav-item.chapter-prev,
	.chapter-nav-item.chapter-next {
		text-align: left;
	}
	.chapter-nav-item.chapter-toc {
		text-align: center;
		order: -1;
	}
}


/* ==========================================================================
   10. wpnovo-Style Visual Enhancement (2.2.0)
   ========================================================================== */

/* ========== Color & Base Variables ========== */
/* Main: #BD0607 | Page BG: #F6F8FA | Card: #fff | Text: #444 | Title: #555 | Link: #333 */
/* Shadow: 0 0 20px #efefef | Cover Shadow: 0 0 40px #ddd */

/* ========== Breadcrumb ========== */
.ns-breadcrumb.breadcrumb,
.ns-chapter-page .breadcrumb {
	font-size: 13px;
	color: #999;
	margin-bottom: 15px;
}
.ns-breadcrumb.breadcrumb a,
.ns-chapter-page .breadcrumb a {
	color: #999;
	text-decoration: none;
}
.ns-breadcrumb.breadcrumb a:hover,
.ns-chapter-page .breadcrumb a:hover {
	color: #BD0607;
}
.ns-breadcrumb.breadcrumb span,
.ns-chapter-page .breadcrumb span {
	color: #666;
}

/* ========== Novel Info Card (#description) ========== */
#description.ns-novel-info {
	display: flex;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 20px #efefef;
	padding: 20px;
	margin-bottom: 20px;
	gap: 20px;
}
#description.ns-novel-info .cover {
	flex-shrink: 0;
	width: 144px;
	border-radius: 10px;
	box-shadow: 0 0 40px #ddd;
	overflow: hidden;
}
#description.ns-novel-info .cover img {
	width: 100%;
	display: block;
}
#description.ns-novel-info .cover .no-cover {
	width: 144px;
	height: 192px;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
	font-size: 14px;
}
#description.ns-novel-info .meta {
	flex: 1;
}
#description.ns-novel-info .meta h1 {
	font-size: 27px;
	font-weight: 700;
	color: #555;
	margin: 0 0 10px 0;
}
#description.ns-novel-info .meta p {
	font-size: 14px;
	color: #777;
	margin-bottom: 8px;
	line-height: 1.6;
}
#description.ns-novel-info .meta p span {
	margin-right: 18px;
}

/* ========== Read Buttons ========== */
#readbtn {
	margin-top: 12px;
}
#readbtn .btn {
	display: inline-block;
	padding: 0 20px;
	height: 36px;
	line-height: 36px;
	border-radius: 30px;
	font-size: 15px;
	margin-right: 10px;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s;
	border: 1px solid transparent;
	box-sizing: border-box;
}
#readbtn .btn-a {
	background: #BD0607;
	color: #fff;
	border-color: #BD0607;
}
#readbtn .btn-a:hover {
	background: #9e0506;
	color: #fff;
}
#readbtn .btn-b {
	background: transparent;
	color: #333;
	border-color: #ddd;
}
#readbtn .btn-b:hover {
	border-color: #BD0607;
	color: #BD0607;
}

/* ========== Tab Card (#category-list) ========== */
#category-list.ns-novel-tabs {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 20px #efefef;
	padding: 10px;
	margin-bottom: 20px;
}
#category-list .tab {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	border-bottom: 1px solid #f0f0f0;
}
#category-list .tab li {
	padding: 15px 20px;
	font-size: 15px;
	color: #999;
	cursor: pointer;
	position: relative;
	transition: color 0.2s;
}
#category-list .tab li.current {
	color: #333;
	font-weight: 600;
}
#category-list .tab li.current::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 50%;
	transform: translateX(-50%);
	width: 24px;
	height: 2px;
	background: #BD0607;
	border-radius: 1px;
}
#category-list .tab li:hover {
	color: #333;
}
#category-list .tab-content {
	padding: 15px 10px;
}
#category-list .tab-content .description {
	font-size: 15px;
	color: #555;
	line-height: 1.8;
	margin-bottom: 20px;
}
#category-list .tab-content .description p {
	text-indent: 2em;
	margin-bottom: 0;
}
#category-list .tab-content .title {
	font-size: 16px;
	font-weight: 600;
	color: #333;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #f0f0f0;
}

/* ========== Latest Update ========== */
#category-list .tab-content a {
	font-size: 15px;
	color: #BD0607;
	text-decoration: none;
}
#category-list .tab-content a:hover {
	text-decoration: underline;
}
#category-list .tab-content a + p {
	font-size: 14px;
	color: #999;
	margin-top: 6px;
	line-height: 1.6;
}

/* ========== Chapter Dual-Column List ========== */
#category-list .list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
#category-list .list li.col-xs-6 {
	width: 50%;
	padding: 0 10px 0 0;
	box-sizing: border-box;
}
#category-list .list li a {
	display: block;
	padding: 8px 0;
	font-size: 15px;
	color: #333;
	text-decoration: none;
	border-bottom: 1px dashed #eee;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#category-list .list li a:hover {
	color: #BD0607;
}

/* ========== Chapter Reading Page ========== */

/* Page background */
.ns-chapter-page#single,
body.single-ns_chapter #single.ns-chapter-page {
	background: #F6F8FA;
	padding-top: 20px;
	padding-bottom: 30px;
}

/* Reading card */
.single-content {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 20px #efefef;
	overflow: hidden;
	margin-bottom: 30px;
}
.single-content h1.align-center {
	font-size: 26px;
	font-weight: 700;
	color: #444;
	text-align: center;
	margin: 30px 0 0 0;
	padding: 0 30px;
}
.single-content .meta.align-center {
	font-size: 14px;
	color: #555;
	text-align: center;
	margin-bottom: 15px;
	padding: 0 30px;
}

/* Toolbar */
.single-content .control {
	text-align: center;
	margin-bottom: 15px;
}
.single-content .control span {
	display: inline-block;
	font-size: 15px;
	color: #000;
	background: #fefefe;
	border: 1px solid #e0e0e0;
	border-radius: 2px;
	padding: 0 7px;
	margin: 0 3px;
	cursor: pointer;
	line-height: 1.6;
}

/* Chapter navigation */
.pagenavi {
	padding: 15px 40px;
	border-top: 1px solid #f0f0f0;
	display: flex;
	flex-wrap: wrap;
}
.pagenavi:last-child {
	padding: 30px 40px;
	border-bottom: none;
}
.pagenavi .col-xs-5 {
	width: 41.666%;
}
.pagenavi .col-xs-2 {
	width: 16.666%;
}
.pagenavi .align-left {
	text-align: left;
}
.pagenavi .align-center {
	text-align: center;
}
.pagenavi .align-right {
	text-align: right;
}
.pagenavi a {
	font-size: 16px;
	color: #333;
	text-decoration: none;
}
.pagenavi a:hover {
	color: #BD0607;
}
.pagenavi .disabled {
	font-size: 16px;
	color: #ccc;
}

/* Chapter content */
.single-content .content {
	padding: 0 40px 30px;
}
.single-content .content p {
	font-size: 18px;
	color: #444;
	line-height: 36px;
	text-indent: 36px;
	margin-bottom: 18px;
	font-weight: 400;
}

/* ========== wpnovo Responsive ========== */
@media (max-width: 768px) {
	#description.ns-novel-info {
		flex-direction: column;
		align-items: center;
	}
	#description.ns-novel-info .cover {
		margin-bottom: 15px;
	}
	.single-content .content {
		padding: 0 15px 30px;
	}
	.single-content .content p {
		font-size: 16px;
		line-height: 32px;
		text-indent: 32px;
	}
	.single-content h1.align-center {
		font-size: 22px;
		padding: 0 15px;
	}
	.pagenavi {
		padding: 10px 15px;
	}
	.pagenavi:last-child {
		padding: 20px 15px;
	}
	#category-list .list li.col-xs-6 {
		width: 100%;
	}
}

/* ==========================================================================
   11. Reading Tools Enhancement (2.3.0)
   ========================================================================== */

/* ---------- 11.1 Reading Progress Bar ---------- */
.ns-reading-progress {
	position: sticky;
	top: 0;
	z-index: 100;
	width: 100%;
	height: 3px;
	background: #eee;
}
.ns-progress-bar {
	height: 100%;
	width: 0%;
	background: #BD0607;
	transition: width 0.1s linear;
}

/* ---------- 11.2 Reading Toolbar ---------- */
.ns-toolbar {
	position: sticky;
	top: 3px;
	z-index: 99;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 16px;
	background: rgba(255, 255, 255, 0.95);
	border-bottom: 1px solid #eee;
	backdrop-filter: blur(8px);
	pointer-events: auto;
}
.ns-toolbar-left {
	display: flex;
	align-items: center;
	gap: 10px;
}
.ns-toolbar-right {
	display: flex;
	align-items: center;
	gap: 6px;
}
.ns-tool-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #555;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.15s ease;
	line-height: 1.4;
	white-space: nowrap;
	position: relative;
	z-index: 1;
}
.ns-tool-btn:hover {
	background: #f0f0f0;
	border-color: #ccc;
}
.ns-tool-btn:active {
	background: #e8e8e8;
}
.ns-font-btn.ns-font-active {
	color: #BD0607;
	font-weight: 700;
	border-color: #BD0607;
}
.ns-chapter-select {
	width: 160px;
	padding: 4px 8px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 13px;
	color: #555;
	background: #fff;
	cursor: pointer;
}
.ns-chapter-select:focus {
	outline: none;
	border-color: #BD0607;
}

/* ---------- 11.3 Dark Mode ---------- */
body.ns-dark-mode {
	background: #1a1a2e;
	color: #e0e0e0;
}
body.dark {
	background: #1a1a2e;
	color: #e0e0e0;
}
body.ns-dark-mode .ns-chapter-page#single,
body.ns-dark-mode .ns-chapter-page#single,
body.ns-dark-mode body.single-ns_chapter #single.ns-chapter-page {
	background: #1a1a2e;
}
body.dark body.single-ns_chapter #single.ns-chapter-page {
	background: #1a1a2e;
}
body.ns-dark-mode .single-content {
	background: #16213e;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
	color: #e0e0e0;
}
body.dark .single-content {
	background: #16213e;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
	color: #e0e0e0;
}
body.ns-dark-mode .single-content h1.align-center {
	color: #e0e0e0;
}
body.dark .single-content h1.align-center {
	color: #e0e0e0;
}
body.ns-dark-mode .single-content .meta.align-center {
	color: #aaa;
}
body.dark .single-content .meta.align-center {
	color: #aaa;
}
body.ns-dark-mode .single-content .content {
	color: #e0e0e0;
}
body.dark .single-content .content {
	color: #e0e0e0;
}
body.ns-dark-mode .single-content .content p {
	color: #d0d0d0;
}
body.dark .single-content .content p {
	color: #d0d0d0;
}
body.ns-dark-mode .ns-toolbar {
	background: rgba(22, 33, 62, 0.95);
	border-bottom-color: #2a2a4a;
}
body.dark .ns-toolbar {
	background: rgba(22, 33, 62, 0.95);
	border-bottom-color: #2a2a4a;
}
body.ns-dark-mode .ns-tool-btn {
	background: #0f3460;
	border-color: #2a2a4a;
	color: #ccc;
}
body.dark .ns-tool-btn {
	background: #0f3460;
	border-color: #2a2a4a;
	color: #ccc;
}
body.ns-dark-mode .ns-tool-btn:hover {
	background: #1a4a8a;
	border-color: #3a3a5a;
}
body.dark .ns-tool-btn:hover {
	background: #1a4a8a;
	border-color: #3a3a5a;
}
body.ns-dark-mode .ns-chapter-select {
	background: #0f3460;
	border-color: #2a2a4a;
	color: #ccc;
}
body.dark .ns-chapter-select {
	background: #0f3460;
	border-color: #2a2a4a;
	color: #ccc;
}
body.ns-dark-mode .ns-reading-progress {
	background: #333;
}
body.dark .ns-reading-progress {
	background: #333;
}
body.ns-dark-mode .pagenavi {
	border-top-color: #2a2a4a;
}
body.dark .pagenavi {
	border-top-color: #2a2a4a;
}
body.ns-dark-mode .pagenavi a {
	color: #ccc;
}
body.dark .pagenavi a {
	color: #ccc;
}
body.ns-dark-mode .pagenavi a:hover {
	color: #ff6b6b;
}
body.dark .pagenavi a:hover {
	color: #ff6b6b;
}
body.ns-dark-mode .pagenavi .disabled {
	color: #555;
}
body.dark .pagenavi .disabled {
	color: #555;
}
body.ns-dark-mode .breadcrumb {
	color: #888;
}
body.dark .breadcrumb {
	color: #888;
}
body.ns-dark-mode .breadcrumb a {
	color: #aaa;
}
body.dark .breadcrumb a {
	color: #aaa;
}
body.ns-dark-mode .breadcrumb a:hover {
	color: #ff6b6b;
}
body.dark .breadcrumb a:hover {
	color: #ff6b6b;
}
body.ns-dark-mode .breadcrumb span {
	color: #ccc;
}
body.dark .breadcrumb span {
	color: #ccc;
}
body.ns-dark-mode a {
	color: #ff6b6b;
}
body.dark a {
	color: #ff6b6b;
}
body.ns-dark-mode .ns-chapter-comments,
body.ns-dark-mode .ns-chapter-comments,
body.ns-dark-mode .ns-chapter-comments .comment,
body.ns-dark-mode .ns-chapter-comments .comment,
body.ns-dark-mode .ns-chapter-comments .comment-body {
	color: #ccc;
	background: transparent;
}
body.dark .ns-chapter-comments .comment-body {
	color: #ccc;
	background: transparent;
}
body.ns-dark-mode .ns-chapter-comments .comment-reply-link {
	color: #ff6b6b;
}
body.dark .ns-chapter-comments .comment-reply-link {
	color: #ff6b6b;
}
body.ns-dark-mode .ns-chapter-comments .form-submit .submit {
	background: #0f3460;
	border-color: #2a2a4a;
	color: #ccc;
}
body.dark .ns-chapter-comments .form-submit .submit {
	background: #0f3460;
	border-color: #2a2a4a;
	color: #ccc;
}
body.ns-dark-mode .ns-chapter-comments textarea,
body.ns-dark-mode .ns-chapter-comments textarea,
body.ns-dark-mode .ns-chapter-comments input[type="text"],
body.ns-dark-mode .ns-chapter-comments input[type="text"],
body.ns-dark-mode .ns-chapter-comments input[type="email"],
body.ns-dark-mode .ns-chapter-comments input[type="email"],
body.ns-dark-mode .ns-chapter-comments input[type="url"] {
	background: #0a1628;
	border-color: #2a2a4a;
	color: #ccc;
}
body.dark .ns-chapter-comments input[type="url"] {
	background: #0a1628;
	border-color: #2a2a4a;
	color: #ccc;
}
body.ns-dark-mode #description.ns-novel-info {
	background: #16213e;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
body.dark #description.ns-novel-info {
	background: #16213e;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
body.ns-dark-mode #description.ns-novel-info .meta h1 {
	color: #e0e0e0;
}
body.dark #description.ns-novel-info .meta h1 {
	color: #e0e0e0;
}
body.ns-dark-mode #description.ns-novel-info .meta p {
	color: #aaa;
}
body.dark #description.ns-novel-info .meta p {
	color: #aaa;
}
body.ns-dark-mode #category-list.ns-novel-tabs {
	background: #16213e;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
body.dark #category-list.ns-novel-tabs {
	background: #16213e;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
body.ns-dark-mode #category-list .tab {
	border-bottom-color: #2a2a4a;
}
body.dark #category-list .tab {
	border-bottom-color: #2a2a4a;
}
body.ns-dark-mode #category-list .tab li {
	color: #888;
}
body.dark #category-list .tab li {
	color: #888;
}
body.ns-dark-mode #category-list .tab li.current {
	color: #e0e0e0;
}
body.dark #category-list .tab li.current {
	color: #e0e0e0;
}
body.ns-dark-mode #category-list .tab-content .description {
	color: #ccc;
}
body.dark #category-list .tab-content .description {
	color: #ccc;
}
body.ns-dark-mode #category-list .tab-content .title {
	color: #e0e0e0;
	border-bottom-color: #2a2a4a;
}
body.dark #category-list .tab-content .title {
	color: #e0e0e0;
	border-bottom-color: #2a2a4a;
}
body.ns-dark-mode #category-list .list li a {
	color: #ccc;
	border-bottom-color: #2a2a4a;
}
body.dark #category-list .list li a {
	color: #ccc;
	border-bottom-color: #2a2a4a;
}
body.ns-dark-mode #category-list .list li a:hover {
	color: #ff6b6b;
}
body.dark #category-list .list li a:hover {
	color: #ff6b6b;
}

/* ---------- 11.4 Toolbar Mobile Optimization ---------- */
@media (max-width: 768px) {
	.ns-toolbar {
		padding: 6px 10px;
	}
	.ns-toolbar-left {
		gap: 6px;
	}
	.ns-toolbar-right {
		gap: 3px;
	}
	.ns-tool-btn {
		padding: 2px 6px;
		font-size: 12px;
	}
	.ns-chapter-select {
		width: 120px;
		font-size: 12px;
	}
	.ns-toc-btn {
		padding: 2px 6px;
	}
}

/* ---------- 11.5 Chapter Pagination ---------- */
.ns-chapter-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid #f0f0f0;
	flex-wrap: wrap;
}
.ns-pagination-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #f5f5f5;
	color: #555;
	font-size: 13px;
	cursor: pointer;
	transition: all 0.15s ease;
	text-decoration: none;
	box-sizing: border-box;
}
.ns-pagination-btn:hover {
	background: #e8e8e8;
	border-color: #ccc;
}
.ns-pagination-btn.ns-active {
	background: #BD0607;
	color: #fff;
	border-color: #BD0607;
	font-weight: 600;
}
.ns-pagination-btn.ns-disabled {
	color: #ccc;
	cursor: not-allowed;
	background: #fafafa;
}
.ns-pagination-info {
	font-size: 13px;
	color: #999;
	margin: 0 4px;
}

/* ---------- 11.6 Settings Page Checkbox ---------- */
.ns-settings-checkbox label {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	gap: 6px;
}
