/*
Theme Name: Otalume
Description: MANGA18FX inspired clean, responsive webtoon & manga theme.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.0.0
Text Domain: otalume
*/

:root {
	--m18-green: #19692c;
	--m18-green-hover: #14532d;
	--m18-green-light: #e8f5e9;
	--m18-red: #eb2f06;
	--m18-bg: #f8f9fa;
	--m18-surface: #ffffff;
	--m18-text: #222222;
	--m18-text-secondary: #555555;
	--m18-text-muted: #888888;
	--m18-border: #e5e7eb;
	--m18-border-light: #f0f0f0;
	--m18-star: #ffb400;
	--m18-footer-bg: #1c1d1f;
	--m18-radius: 6px;
}

/* === Global Reset === */
html {
	font-size: 100%;
	box-sizing: border-box;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

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

body {
	background-color: var(--m18-bg) !important;
	color: var(--m18-text) !important;
	margin: 0;
	padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	line-height: 1.6;
}

.wp-site-blocks > * + * {
	margin-block-start: 0;
}

.wp-site-blocks main {
	padding-block: 0;
	background-color: var(--m18-bg);
}

/* === Container === */
.wp-site-blocks .alignwide,
.wp-site-blocks .alignfull > .alignwide,
.wp-block-group.alignwide,
.otalume-hero-columns {
	max-width: 1170px !important;
	width: calc(100% - 32px) !important;
	margin-inline: auto !important;
}

/* === MANGA18FX Header === */
.otalume-header {
	background: var(--m18-green) !important;
	border-bottom: 2px solid rgba(0, 0, 0, 0.1) !important;
	height: 64px !important;
	min-height: 64px !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
	position: sticky;
	top: 0;
	z-index: 100;
}

.otalume-header .alignwide,
.otalume-header__row {
	height: 64px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
}

/* Site Logo without any 18 badge */
.otalume-logo,
.otalume-logo a {
	font-family: 'Arial Black', -apple-system, 'Segoe UI', Roboto, sans-serif !important;
	color: #ffffff !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 24px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
}

.otalume-header__cluster {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
}

/* Navigation Links */
.otalume-nav ul.wp-block-navigation__container {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.otalume-nav .wp-block-navigation-item a {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	text-decoration: none !important;
	transition: opacity 0.15s ease;
}

.otalume-nav .wp-block-navigation-item a:hover {
	opacity: 0.85 !important;
}

/* Search Box */
.otalume-search {
	width: 180px !important;
	height: 38px !important;
	flex: 0 0 180px !important;
	max-width: 180px !important;
	margin: 0 !important;
}

.otalume-search .wp-block-search__inside-wrapper {
	width: 180px !important;
	height: 38px !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.15) !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 !important;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.otalume-search .wp-block-search__inside-wrapper:focus-within {
	background: #ffffff !important;
	border-color: #ffffff !important;
}

.otalume-search .wp-block-search__input {
	background: transparent !important;
	border: none !important;
	color: #ffffff !important;
	font-size: 13px !important;
	padding: 0 14px !important;
	height: 100% !important;
	width: calc(100% - 36px) !important;
	outline: none !important;
}

.otalume-search .wp-block-search__inside-wrapper:focus-within .wp-block-search__input {
	color: var(--m18-text) !important;
}

.otalume-search .wp-block-search__input::placeholder {
	color: rgba(255, 255, 255, 0.8) !important;
}

.otalume-search .wp-block-search__inside-wrapper:focus-within .wp-block-search__input::placeholder {
	color: var(--m18-text-muted) !important;
}

.otalume-search .wp-block-search__button {
	background: transparent !important;
	border: none !important;
	color: #ffffff !important;
	width: 36px !important;
	height: 100% !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
}

.otalume-search .wp-block-search__inside-wrapper:focus-within .wp-block-search__button {
	color: var(--m18-green) !important;
}

.otalume-search .wp-block-search__button svg {
	width: 15px !important;
	height: 15px !important;
	fill: currentColor !important;
}

/* Hide mobile menu search on desktop */
.wp-block-navigation .otalume-menu-search {
	display: none !important;
}

/* === Breadcrumb === */
.otalume-breadcrumb {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px !important;
	margin-top: 18px !important;
	margin-bottom: 18px !important;
	padding: 0 !important;
	font-size: 13px !important;
	color: var(--m18-text-muted) !important;
}

.otalume-breadcrumb a {
	color: var(--m18-text-secondary) !important;
	text-decoration: none !important;
	transition: color 0.15s ease;
}

.otalume-breadcrumb a:hover {
	color: var(--m18-green) !important;
}

.otalume-breadcrumb__sep {
	color: #ccc !important;
	margin: 0 2px;
}

.otalume-breadcrumb__current {
	color: var(--m18-green) !important;
	font-weight: 600 !important;
}

/* === Manga Card (MANGA18FX Layout) === */
.otalume-section--hero {
	background: transparent !important;
	padding: 0 !important;
}

.otalume-hero-columns {
	width: 100% !important;
	padding: 24px !important;
	border-radius: var(--m18-radius) !important;
	display: grid !important;
	grid-template-columns: 200px 1fr !important;
	gap: 28px !important;
	background: var(--m18-surface) !important;
	border: 1px solid var(--m18-border) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
	box-sizing: border-box !important;
	margin: 0 0 28px 0 !important;
}

.otalume-hero-columns > .wp-block-column {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	flex: none !important;
}

/* Cover Image */
.otalume-hero-cover {
	width: 200px !important;
	flex: 0 0 200px !important;
}

.otalume-hero-cover img,
.otalume-hero-cover .wp-block-post-featured-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 210 / 300 !important;
	object-fit: cover !important;
	border-radius: 4px !important;
	display: block !important;
	border: 1px solid var(--m18-border) !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.06) !important;
}

.otalume-hero-info {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	width: 100% !important;
}

.otalume-webtoon-info {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

/* Manga Title */
.otalume-title {
	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	color: var(--m18-green) !important;
	letter-spacing: -0.01em;
}

/* Rating Stars */
.otalume-webtoon-info__rating {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-bottom: 14px !important;
	padding-bottom: 10px !important;
	border-bottom: 1px dashed var(--m18-border-light) !important;
}

.otalume-stars {
	color: var(--m18-star) !important;
	font-size: 16px !important;
	letter-spacing: 2px !important;
	line-height: 1 !important;
}

.otalume-webtoon-info__rating-value {
	color: var(--m18-text) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

/* Metadata Grid */
.otalume-webtoon-info__list {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	column-gap: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.otalume-webtoon-info__row {
	min-height: 36px !important;
	display: flex !important;
	align-items: baseline !important;
	border-bottom: 1px solid var(--m18-border-light) !important;
	padding: 7px 0 !important;
	box-sizing: border-box !important;
}

.otalume-webtoon-info__row dt {
	width: 95px !important;
	min-width: 95px !important;
	font-size: 13px !important;
	color: var(--m18-text-secondary) !important;
	font-weight: 700 !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
}

.otalume-webtoon-info__row dd {
	font-size: 13px !important;
	color: var(--m18-text) !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	line-height: 1.4 !important;
}

.otalume-webtoon-info__row dd a {
	color: var(--m18-green) !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.otalume-webtoon-info__row dd a:hover {
	text-decoration: underline !important;
}

/* Alternative directly below stars, spanning full width */
.otalume-webtoon-info__row--alt {
	grid-column: 1 / -1 !important;
	padding-bottom: 8px !important;
}

/* Genres pills */
.otalume-webtoon-info__genres {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}

.otalume-genre-tag {
	display: inline-block !important;
	background: #f1f5f9 !important;
	border: 1px solid var(--m18-border) !important;
	border-radius: 3px !important;
	padding: 2px 7px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var(--m18-text-secondary) !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
}

.otalume-genre-tag:hover {
	background: var(--m18-green) !important;
	color: #ffffff !important;
	border-color: var(--m18-green) !important;
	text-decoration: none !important;
}

/* Action Buttons (Read First / Read Last) */
.otalume-webtoon-info__actions {
	display: flex !important;
	gap: 12px !important;
	margin-top: 18px !important;
	margin-bottom: 0 !important;
	flex-wrap: wrap !important;
}

.otalume-webtoon-info__actions .otalume-btn,
.otalume-btn {
	min-width: 110px !important;
	height: 38px !important;
	padding: 0 20px !important;
	border-radius: 4px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--m18-green) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	transition: background 0.15s ease;
}

.otalume-webtoon-info__actions .otalume-btn:hover,
.otalume-btn:hover {
	background: var(--m18-green-hover) !important;
	color: #ffffff !important;
}

/* === Content Sections === */
.otalume-section {
	padding: 0 !important;
	background: transparent !important;
	margin-bottom: 28px !important;
}

.otalume-section--alt {
	background: transparent !important;
}

/* Section Title */
.otalume-section__heading {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-bottom: 14px !important;
	padding-bottom: 8px !important;
	border-bottom: 2px solid var(--m18-green) !important;
}

.otalume-section__icon {
	background: var(--m18-green) !important;
	color: #ffffff !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	border-radius: 3px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 12px !important;
	margin: 0 !important;
}

.otalume-section__title {
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
	color: var(--m18-text) !important;
	margin: 0 !important;
}

/* Summary / About Text */
.wp-block-post-content {
	background: var(--m18-surface) !important;
	border: 1px solid var(--m18-border) !important;
	border-radius: var(--m18-radius) !important;
	padding: 20px 24px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.wp-block-post-content p {
	font-size: 14px !important;
	line-height: 1.8 !important;
	color: var(--m18-text-secondary) !important;
	margin-top: 0 !important;
	margin-bottom: 14px !important;
}

.wp-block-post-content p:last-child {
	margin-bottom: 0 !important;
}

/* === Chapter List === */
.otalume-chapter-list {
	margin-top: 0 !important;
	border-radius: var(--m18-radius) !important;
	padding: 0 !important;
	border: 1px solid var(--m18-border) !important;
	background: var(--m18-surface) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
	overflow: hidden !important;
}

.otalume-chapter-list .wp-block-post-template {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

.otalume-chapter-list .wp-block-post-template > li {
	margin: 0 !important;
	padding: 0 !important;
}

.otalume-chapter-row {
	min-height: 48px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	border-bottom: 1px solid var(--m18-border-light) !important;
	padding: 10px 18px !important;
	transition: background 0.15s ease;
}

.otalume-chapter-row:hover {
	background: #f8fafc !important;
}

.otalume-chapter-list .wp-block-post-template > li:last-child .otalume-chapter-row {
	border-bottom: none !important;
}

.otalume-chapter-row .wp-block-post-title {
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

.otalume-chapter-row .wp-block-post-title a {
	color: var(--m18-text) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	transition: color 0.15s ease;
}

.otalume-chapter-row .wp-block-post-title a:hover {
	color: var(--m18-green) !important;
}

.otalume-chapter-row .wp-block-post-date {
	color: var(--m18-text-muted) !important;
	font-size: 12px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
}

.otalume-chapter-list li:first-child .wp-block-post-date::after {
	content: "NEW" !important;
	margin-inline-start: 8px !important;
	background: var(--m18-red) !important;
	color: #ffffff !important;
	padding: 2px 6px !important;
	border-radius: 3px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.03em;
}

/* === Homepage & Archive Cards Grid === */
.otalume-updates-grid,
.otalume-popular-grid,
.otalume-archive-grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important;
	gap: 18px !important;
	margin-block-start: 16px !important;
	list-style: none !important;
	padding: 0 !important;
}

.otalume-card {
	background: var(--m18-surface) !important;
	border: 1px solid var(--m18-border) !important;
	border-radius: var(--m18-radius) !important;
	overflow: hidden !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.otalume-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
}

.otalume-card__cover,
.otalume-card__cover img {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 210 / 300 !important;
	height: auto !important;
	object-fit: cover !important;
}

.otalume-card__body {
	padding: 10px 12px !important;
}

.otalume-card__title {
	margin: 0 0 6px !important;
}

.otalume-card__title a {
	color: var(--m18-text) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.otalume-card__title a:hover {
	color: var(--m18-green) !important;
}

.otalume-card__rating {
	color: var(--m18-star) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	margin-block: 4px 6px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 3px !important;
}

.otalume-card__star {
	color: var(--m18-star) !important;
	font-size: 13px !important;
	line-height: 1 !important;
}

.otalume-card__rating-max {
	color: var(--m18-text-muted) !important;
	font-weight: 500 !important;
	font-size: 11px !important;
}

.otalume-popular-card__cover {
	position: relative !important;
}

.otalume-popular-card__rank {
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	width: 26px !important;
	height: 26px !important;
	background: rgba(0, 0, 0, 0.75) !important;
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	border-radius: 4px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 2 !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.35) !important;
	line-height: 1 !important;
}

.otalume-popular-card__rank--1 {
	background: #eab308 !important; /* Gold */
	color: #ffffff !important;
}

.otalume-popular-card__rank--2 {
	background: #94a3b8 !important; /* Silver */
	color: #ffffff !important;
}

.otalume-popular-card__rank--3 {
	background: #b45309 !important; /* Bronze */
	color: #ffffff !important;
}

.otalume-card__no-thumb {
	width: 100% !important;
	aspect-ratio: 210 / 300 !important;
	background: #e9ecef !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 12px !important;
	text-align: center !important;
	color: var(--m18-text-secondary) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

.otalume-card__chapters {
	list-style: none !important;
	margin: 0 !important;
	padding: 6px 0 0 0 !important;
	border-top: 1px solid var(--m18-border-light) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.otalume-card__chapters li {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	font-size: 12px !important;
}

.otalume-card__chapters a {
	color: var(--m18-text-secondary) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

.otalume-card__chapters a:hover {
	color: var(--m18-green) !important;
}

.otalume-card__chapters time {
	color: var(--m18-text-muted) !important;
	font-size: 11px !important;
}

.otalume-card__no-chapters {
	padding-top: 6px !important;
	border-top: 1px solid var(--m18-border-light) !important;
	font-size: 11px !important;
	color: var(--m18-text-muted) !important;
	font-style: italic !important;
}

.otalume-badge-new {
	background: var(--m18-red) !important;
	color: #ffffff !important;
	font-size: 9px !important;
	font-weight: 800 !important;
	padding: 2px 5px !important;
	border-radius: 3px !important;
}

/* Related items */
.otalume-related-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin-block-start: 16px !important;
}

.otalume-related-item {
	display: flex !important;
	gap: 14px !important;
	background: var(--m18-surface) !important;
	border: 1px solid var(--m18-border) !important;
	border-radius: var(--m18-radius) !important;
	padding: 12px !important;
}

.otalume-related-item__cover,
.otalume-related-item__cover img {
	display: block !important;
	width: 75px !important;
	height: 100px !important;
	object-fit: cover !important;
	border-radius: 4px !important;
	flex-shrink: 0 !important;
}

.otalume-related-item__title a {
	color: var(--m18-text) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

.otalume-related-item__title a:hover {
	color: var(--m18-green) !important;
}

.otalume-related-item__chapters {
	list-style: none !important;
	margin: 6px 0 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.otalume-related-item__chapters li {
	display: flex !important;
	justify-content: space-between !important;
	font-size: 12px !important;
}

.otalume-related-item__chapters a {
	color: var(--m18-text-muted) !important;
	text-decoration: none !important;
}

/* === Pagination === */
.otalume-pagination {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 6px !important;
	margin-block-start: 28px !important;
	flex-wrap: wrap !important;
}

.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span,
.otalume-pagination a,
.otalume-pagination span,
.otalume-pagination .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 36px !important;
	height: 36px !important;
	padding: 0 10px !important;
	border: 1px solid var(--m18-border) !important;
	border-radius: 4px !important;
	background: var(--m18-surface) !important;
	color: var(--m18-text) !important;
	text-decoration: none !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	transition: all 0.15s ease !important;
}

.otalume-pagination a:hover,
.otalume-pagination a.page-numbers:hover {
	background: var(--m18-green-light) !important;
	border-color: var(--m18-green) !important;
	color: var(--m18-green) !important;
}

.wp-block-query-pagination-numbers .current,
.otalume-pagination a.active,
.otalume-pagination .page-numbers.current,
.otalume-pagination span.current {
	background: var(--m18-green) !important;
	color: #ffffff !important;
	border-color: var(--m18-green) !important;
}

/* === Chapter Reader === */
.otalume-section--reader-head {
	background: var(--m18-surface) !important;
	border-bottom: 1px solid var(--m18-border) !important;
	padding: 16px 0 !important;
}

.otalume-chapter-title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--m18-green) !important;
	margin-block-end: 8px !important;
}

.otalume-chapter-title__series {
	color: var(--m18-text) !important;
	text-decoration: none !important;
}

/* Chapter Nav Bar (Single Row) */
.otalume-chapter-nav {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	margin: 14px 0 !important;
	width: 100% !important;
}

.otalume-chapter-nav .otalume-chapter-nav__btn,
.otalume-chapter-nav .otalume-btn {
	background: var(--m18-green) !important;
	color: #ffffff !important;
	border: 1px solid var(--m18-green) !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	height: 38px !important;
	padding: 0 18px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	width: auto !important;
	flex: 0 0 auto !important;
	transition: background 0.15s ease, transform 0.1s ease;
}

.otalume-chapter-nav .otalume-chapter-nav__btn:hover,
.otalume-chapter-nav .otalume-btn:hover {
	background: var(--m18-green-hover) !important;
	border-color: var(--m18-green-hover) !important;
	color: #ffffff !important;
}

.otalume-chapter-nav .otalume-btn--disabled {
	opacity: 0.45 !important;
	pointer-events: none !important;
	cursor: not-allowed !important;
}

.otalume-chapter-select {
	flex: 0 1 200px !important;
	min-width: 120px !important;
	display: inline-flex !important;
	margin: 0 !important;
}

.otalume-chapter-select select {
	background: var(--m18-surface) !important;
	color: var(--m18-text) !important;
	border: 1px solid var(--m18-border) !important;
	border-radius: 4px !important;
	padding: 0 14px !important;
	height: 38px !important;
	width: 100% !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	cursor: pointer !important;
	outline: none !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.otalume-reader {
	max-width: 860px !important;
	width: calc(100% - 32px) !important;
	margin-inline: auto !important;
	padding-block: 20px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

.otalume-reader img {
	display: block !important;
	width: 100% !important;
	border-radius: 0 !important;
}

/* === MANGA18FX Footer === */
.otalume-footer {
	margin-top: 60px !important;
	min-height: 120px !important;
	background: var(--m18-footer-bg) !important;
	border-top: 3px solid var(--m18-green) !important;
	padding: 30px 0 !important;
	display: flex !important;
	align-items: center !important;
	color: #9ca3af !important;
}

.otalume-footer .alignwide {
	min-height: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
}

.otalume-footer .otalume-logo,
.otalume-footer .otalume-logo a {
	font-size: 20px !important;
	color: #ffffff !important;
}

.otalume-footer__note {
	font-size: 12px !important;
	color: #9ca3af !important;
	margin: 0 !important;
}

/* =========================================================
   Responsive Breakpoints - Thorough Mobile Optimization
   ========================================================= */

/* Tablet (max-width: 900px) */
@media (max-width: 900px) {
	.otalume-hero-columns {
		grid-template-columns: 160px 1fr !important;
		gap: 20px !important;
		padding: 18px !important;
	}

	.otalume-hero-cover {
		width: 160px !important;
	}

	.otalume-webtoon-info__list {
		column-gap: 18px !important;
	}
}

/* Mobile Devices (max-width: 650px) */
@media (max-width: 650px) {
	/* Full screen width optimization */
	.wp-site-blocks .alignwide,
	.wp-site-blocks .alignfull > .alignwide,
	.wp-block-group.alignwide,
	.otalume-hero-columns {
		width: calc(100% - 24px) !important;
	}

	/* Header */
	.otalume-header {
		height: 56px !important;
		min-height: 56px !important;
	}

	.otalume-header .alignwide,
	.otalume-header__row {
		height: 56px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: calc(100% - 24px) !important;
		max-width: 100% !important;
		margin-inline: auto !important;
		padding: 0 !important;
	}

	.otalume-logo,
	.otalume-logo a {
		font-size: 20px !important;
		flex: 0 0 auto !important;
	}

	.otalume-header__cluster {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		margin-left: auto !important;
		margin-right: 0 !important;
		gap: 0 !important;
		flex: 0 0 auto !important;
	}

	/* On mobile: Hide desktop search bar in header completely so ONLY hamburger icon is shown */
	.otalume-header .otalume-search {
		display: none !important;
	}

	/* Mobile Navigation Hamburger button: pushed to the extreme far right */
	.wp-block-navigation {
		margin-left: auto !important;
		margin-right: 0 !important;
	}

	.wp-block-navigation__responsive-container-open {
		color: #ffffff !important;
		background: transparent !important;
		border: none !important;
		padding: 8px 0 8px 8px !important;
		margin: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		cursor: pointer !important;
	}

	.wp-block-navigation__responsive-container-open svg {
		fill: #ffffff !important;
		width: 28px !important;
		height: 28px !important;
		display: block !important;
	}

	/* Mobile Navigation Overlay / Drawer */
	.wp-block-navigation__responsive-container.is-menu-open {
		background: #14532d !important;
		background: linear-gradient(180deg, #19692c 0%, #0f3d1e 100%) !important;
		color: #ffffff !important;
		padding: 24px 20px !important;
		z-index: 99999 !important;
	}

	.wp-block-navigation__responsive-container-close {
		color: #ffffff !important;
		fill: #ffffff !important;
		top: 18px !important;
		right: 18px !important;
	}

	.wp-block-navigation__responsive-container-close svg {
		fill: #ffffff !important;
		width: 24px !important;
		height: 24px !important;
	}

	/* Search form inside the opened mobile menu */
	.otalume-mobile-search-form,
	.wp-block-navigation__responsive-container.is-menu-open .otalume-mobile-search-form,
	.wp-block-navigation__responsive-container.is-menu-open .otalume-menu-search,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-search {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 10px 0 20px 0 !important;
	}

	.otalume-mobile-search-wrap,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-search__inside-wrapper {
		width: 100% !important;
		height: 44px !important;
		border-radius: 6px !important;
		background: #ffffff !important;
		border: 1px solid rgba(255, 255, 255, 0.4) !important;
		display: flex !important;
		align-items: center !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	.otalume-mobile-search-input,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-search__input {
		color: var(--m18-text) !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		padding: 0 14px !important;
		height: 100% !important;
		width: calc(100% - 46px) !important;
		flex: 1 1 auto !important;
		background: transparent !important;
		border: none !important;
		outline: none !important;
	}

	.otalume-mobile-search-input::placeholder,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-search__input::placeholder {
		color: #888888 !important;
	}

	.otalume-mobile-search-btn,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-search__button {
		width: 46px !important;
		height: 100% !important;
		flex: 0 0 46px !important;
		color: var(--m18-green) !important;
		background: transparent !important;
		border: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		cursor: pointer !important;
		padding: 0 !important;
	}

	.otalume-mobile-search-btn svg,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-search__button svg {
		stroke: var(--m18-green) !important;
		fill: none !important;
		width: 20px !important;
		height: 20px !important;
	}

	/* Navigation Links inside opened mobile menu */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
		color: #ffffff !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		padding: 14px 4px !important;
		display: block !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
		text-decoration: none !important;
		transition: color 0.15s ease, padding-left 0.15s ease !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover {
		color: #bbf7d0 !important;
		padding-left: 8px !important;
	}

	/* Breadcrumb */
	.otalume-breadcrumb {
		margin-top: 14px !important;
		margin-bottom: 14px !important;
		font-size: 12px !important;
	}

	/* Manga Details Card */
	.otalume-hero-columns {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		padding: 16px !important;
		margin-bottom: 20px !important;
	}

	.otalume-hero-cover {
		margin-inline: auto !important;
		width: 150px !important;
		flex: none !important;
	}

	.otalume-hero-cover img,
	.otalume-hero-cover .wp-block-post-featured-image img {
		width: 150px !important;
		height: auto !important;
		aspect-ratio: 210 / 300 !important;
	}

	.otalume-title {
		font-size: 21px !important;
		text-align: center !important;
		margin-bottom: 10px !important;
	}

	.otalume-webtoon-info__rating {
		justify-content: center !important;
		margin-bottom: 12px !important;
		padding-bottom: 8px !important;
	}

	.otalume-webtoon-info__list {
		grid-template-columns: 1fr !important;
		gap: 0 !important;
	}

	.otalume-webtoon-info__row {
		min-height: 32px !important;
		padding: 6px 0 !important;
	}

	.otalume-webtoon-info__row dt {
		width: 85px !important;
		min-width: 85px !important;
		font-size: 12px !important;
	}

	.otalume-webtoon-info__row dd {
		font-size: 12px !important;
		word-break: break-word !important;
	}

	.otalume-webtoon-info__row--alt {
		text-align: left !important;
	}

	/* Read First / Read Last Buttons: Mobile full-width 2-column touch targets */
	.otalume-webtoon-info__actions {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
		width: 100% !important;
		margin-top: 14px !important;
	}

	.otalume-webtoon-info__actions .otalume-btn {
		width: 100% !important;
		min-width: 0 !important;
		height: 42px !important;
		font-size: 13px !important;
		padding: 0 10px !important;
	}

	/* Chapter Navigation Strictly Single Row on Mobile */
	.otalume-chapter-nav {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		width: 100% !important;
		margin: 10px 0 !important;
	}

	.otalume-chapter-nav .otalume-chapter-nav__btn,
	.otalume-chapter-nav .otalume-btn {
		width: auto !important;
		flex: 0 0 auto !important;
		min-width: 70px !important;
		height: 36px !important;
		padding: 0 10px !important;
		font-size: 12px !important;
		white-space: nowrap !important;
	}

	.otalume-chapter-nav .otalume-chapter-select {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		max-width: 180px !important;
		width: auto !important;
		margin: 0 !important;
	}

	.otalume-chapter-nav .otalume-chapter-select select {
		height: 36px !important;
		font-size: 12px !important;
		padding: 0 6px !important;
		width: 100% !important;
	}

	/* Summary / Content text */
	.wp-block-post-content {
		padding: 16px !important;
	}

	.wp-block-post-content p {
		font-size: 13px !important;
		line-height: 1.7 !important;
	}

	/* Chapter List */
	.otalume-chapter-row {
		min-height: 44px !important;
		padding: 10px 14px !important;
		gap: 8px !important;
	}

	.otalume-chapter-row .wp-block-post-title {
		font-size: 13px !important;
	}

	.otalume-chapter-row .wp-block-post-title a {
		font-size: 13px !important;
	}

	.otalume-chapter-row .wp-block-post-date {
		font-size: 11px !important;
		flex-shrink: 0 !important;
	}

	/* 2-Column Responsive Card Grid on Phones */
	.otalume-updates-grid,
	.otalume-popular-grid,
	.otalume-archive-grid .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	.otalume-card__body {
		padding: 8px 10px !important;
	}

	.otalume-card__title a {
		font-size: 13px !important;
	}

	.otalume-card__chapters li {
		font-size: 11px !important;
	}

	.otalume-related-grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	/* Reader on Mobile: Full-width seamless scroll */
	.otalume-reader {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
	}

	.otalume-reader img {
		border-radius: 0 !important;
	}

	/* Footer on Mobile */
	.otalume-footer {
		margin-top: 40px !important;
		padding: 24px 0 !important;
	}

	.otalume-footer .alignwide {
		flex-direction: column !important;
		text-align: center !important;
		gap: 12px !important;
	}

	/* Scroll to Top on Mobile */
	.otalume-scroll-top {
		bottom: 20px !important;
		right: 20px !important;
		width: 40px !important;
		height: 40px !important;
	}

	.otalume-scroll-top svg {
		width: 18px !important;
		height: 18px !important;
	}
}

/* === Scroll To Top Button === */
.otalume-scroll-top {
	position: fixed !important;
	bottom: 30px !important;
	right: 30px !important;
	width: 46px !important;
	height: 46px !important;
	background: var(--m18-green) !important;
	background: linear-gradient(135deg, #1e7e34 0%, #14532d 100%) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: 50% !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	z-index: 999999 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(20px) scale(0.85) !important;
	transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s, box-shadow 0.2s, background 0.2s !important;
	padding: 0 !important;
	margin: 0 !important;
	outline: none !important;
}

.otalume-scroll-top.is-visible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) scale(1) !important;
}

.otalume-scroll-top:hover {
	background: var(--m18-green-hover) !important;
	transform: translateY(-4px) scale(1.08) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
}

.otalume-scroll-top:active {
	transform: translateY(-1px) scale(0.96) !important;
}

.otalume-scroll-top svg {
	width: 22px !important;
	height: 22px !important;
	display: block !important;
	stroke: #ffffff !important;
}
