/*
Theme Name: Minh Kim
Theme URI: https://thuvienminhkim.gdptangiang.vn
Author: LAMDA
Description: Block theme dành cho Thư viện Minh Kim.
Version: 0.9.21
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: minh-kim
*/

.category-tabs a {
	background: #fff;
	border: 1px solid #dfe8e2;
	padding: 9px 14px;
	border-radius: 9px;
	font-weight: 650;
	display: inline-block;
}

.category-tabs a.active,
.category-tabs a:hover {
	background: #08743c;
	border-color: #08743c;
	color: #fff;
}

.pagination a {
	width: auto;
	min-width: 34px;
	padding: 0 8px;
}

.reader-continue {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid var(--line);
}

.reader-status {
	padding: 16px;
	text-align: center;
}

.reader-page {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

[data-reader-canvas] {
	background: #fff;
	box-shadow: 0 8px 24px rgba(8, 92, 48, 0.08);
}

/* Single document layout matches reference-html/book-detail.html (1480px container). */
.single-mk_document .wp-block-group.container.section,
.single-mk_document .container.section {
	max-width: min(var(--container), calc(100% - 42px));
	width: min(var(--container), calc(100% - 42px));
	margin-inline: auto;
}

.single-mk_document .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none;
}

/* Category strip: resilient layout + text stack (fixes wpautop-broken markup). */
.category-strip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.cat-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	text-align: left;
}

.cat-item-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.cat-item-copy strong {
	display: block;
}

.cat-item-copy span {
	font-size: 11px;
	color: var(--muted);
}

/* Default cover when a document has no featured image. */
:root {
	--mk-cover-placeholder-bg: #e0ffe7;
}

/* Portrait document covers (3:4). */
.book-card > a:has(.book-cover),
.book-card > a:has(img.book-cover) {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: none;
}

.book-cover,
.book-card .wp-block-post-featured-image,
.book-card .wp-block-post-featured-image.book-cover,
.detail-cover,
.single-mk_document .wp-block-post-featured-image.detail-cover,
img.book-cover {
	box-shadow: none;
}

.book-card .wp-block-post-featured-image,
.book-card .wp-block-post-featured-image.book-cover {
	aspect-ratio: 3 / 4;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
}

.book-card .wp-block-post-featured-image a:not(:has(.is-placeholder)),
.book-card .wp-block-post-featured-image img:not(.is-placeholder),
.book-card > a .book-cover:not(.is-placeholder),
img.book-cover:not(.is-placeholder) {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Placeholder: nền #e0ffe7, icon 50% width, không cover / không shadow. */
.book-card > a:has(.book-cover.is-placeholder),
.book-cover-link:has(.is-placeholder),
.book-card .wp-block-post-featured-image:has(.is-placeholder),
.single-mk_document .wp-block-post-featured-image.detail-cover:has(.is-placeholder) {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mk-cover-placeholder-bg);
}

.book-card .wp-block-post-featured-image:has(.is-placeholder) a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.book-card .wp-block-post-featured-image img.is-placeholder,
.book-card > a img.book-cover.is-placeholder,
.book-cover-link img.is-placeholder,
img.book-cover.is-placeholder,
img.detail-cover.is-placeholder {
	width: 50%;
	max-width: 50%;
	height: auto;
	max-height: 90%;
	aspect-ratio: auto;
	margin: 0;
	object-fit: contain;
	object-position: center;
	background: transparent;
	box-shadow: none;
	flex: 0 0 auto;
}

.detail-cover,
.single-mk_document .wp-block-post-featured-image.detail-cover {
	aspect-ratio: 3 / 4;
}

.detail-cover.is-placeholder {
	max-width: 270px;
	margin-inline: auto;
}

.book-cover-link {
	display: block;
	aspect-ratio: 3 / 4;
	box-shadow: none;
}

.book-cover-link:has(.is-placeholder) {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mk-cover-placeholder-bg);
}

.book-cover-link .book-cover.is-placeholder {
	display: block;
	width: 50%;
	max-width: 50%;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
}

/* Equal-height cards in grids. */
.book-grid,
.catalog-grid,
.saved-grid {
	align-items: stretch;
	gap: 9px;
}

/* Home: 5 latest documents per row. */
.home-grid .book-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1260px) {
	.home-grid .book-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.home-grid .book-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.home-category-docs.split {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-category-docs .home-category-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1260px) {
	.home-category-docs .home-category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.home-category-docs .home-category-grid {
		grid-template-columns: 1fr;
	}
}

.home-category-docs .book-card {
	height: 100%;
}

.home-sidebar .welcome-actions,
.side-stack .welcome-actions {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}

.home-grid .side-stack,
.side-stack {
	display: block;
	gap: 0;
	align-self: start;
	position: sticky;
	top: 16px;
}

@media (max-width: 980px) {
	.home-grid .side-stack,
	.side-stack {
		position: static;
	}
}

.side-stack > * + *,
.side-stack .home-sidebar-card + .home-sidebar-card {
	margin-top: 8px;
}

.side-stack .home-sidebar-card {
	height: auto;
	min-height: 0;
	align-self: start;
}

.side-stack .home-sidebar-card.pad {
	padding: 14px 16px;
}

.side-stack .home-sidebar-card .row-title {
	margin-bottom: 10px;
}

.side-stack .notice-list {
	display: grid;
	gap: 0;
}

.side-stack a.notice {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) auto;
	gap: 8px;
	align-items: start;
	height: auto;
	margin: 6px 0;
	color: inherit;
	text-decoration: none;
}

.side-stack .mini-list {
	gap: 8px;
}

.side-stack .mini-list a.mini-book {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	height: auto;
	color: inherit;
	text-decoration: none;
}

.side-stack .mini-list a.mini-book:hover strong {
	color: var(--g800);
}

.side-stack .mini-list a.mini-book .mini-cover {
	display: block;
	width: 42px;
	flex: 0 0 42px;
	aspect-ratio: 3 / 4;
	border-radius: 5px;
	overflow: hidden;
	background: var(--mk-cover-placeholder-bg, #e0ffe7);
}

.side-stack .mini-list a.mini-book .mini-book-main {
	display: flex;
	flex: 1;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
}

.side-stack .mini-list a.mini-book .mini-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.side-stack .mini-list a.mini-book .mini-cover img.is-placeholder {
	object-fit: contain;
}

.side-stack .mini-list a.mini-book .mini-book-copy {
	flex: 1;
	min-width: 0;
}

.side-stack .mini-list a.mini-book .mini-book-copy strong {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 12px;
	line-height: 1.35;
}

.side-stack .mini-list a.mini-book .mini-book-copy small {
	display: block;
	margin-top: 2px;
	font-size: 10px;
	color: var(--muted);
}

.side-stack .mini-list a.mini-book .mini-book-time {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: 10px;
	color: var(--muted);
}

.side-stack .saved-row {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.side-stack .saved-row a {
	display: block;
}

.side-stack .saved-row img {
	width: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	border-radius: 6px;
}

.side-stack a.notice span {
	min-width: 0;
	line-height: 1.4;
}

.side-stack a.notice .notice-icon {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.side-stack a.notice .notice-icon img {
	width: 20px;
	height: 20px;
	object-fit: contain;
	border-radius: 50%;
}

.side-stack a.notice:hover span {
	color: var(--g800);
}

.book-grid > li {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.book-grid > li > .wp-block-template-part,
.book-grid .book-card,
.catalog-grid > .book-card,
.saved-grid > .book-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

/* Thu hẹp khoảng cách trong thẻ sách. */
.book-card {
	padding: 8px;
	gap: 5px;
}

.book-card.is-layout-flow,
.book-card.wp-block-group-is-layout-flow {
	--wp--style--block-gap: 5px;
}

.book-card h3,
.book-card .wp-block-post-title {
	margin: 5px 0 0;
	line-height: 1.3;
}

.book-card .author {
	margin: 0;
	line-height: 1.35;
}

.book-card .wp-block-post-excerpt,
.book-card .wp-block-post-excerpt__excerpt {
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
}

.book-card .wp-block-post-excerpt p {
	margin: 0;
}

.book-card .book-actions,
.book-card .wp-block-read-more {
	margin-top: 6px;
}

.book-card .wp-block-read-more {
	font-size: 12px;
	line-height: 1.3;
}

.catalog-grid.list-view .book-card > a:has(.book-cover),
.catalog-grid.list-view .book-card > a:has(img.book-cover) {
	width: 140px;
	flex-shrink: 0;
}

/* Home hero search form */
.search-box input[type="hidden"] {
	display: none;
}

.hero .search-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 58px;
	align-items: stretch;
	width: min(100%, 720px);
	margin-inline: auto;
}

.hero .search-box input[type="search"] {
	width: 100%;
	min-width: 0;
	border: 0;
	outline: 0;
	background: #fff;
	padding: 14px 16px;
}

.hero .search-box button {
	width: 58px;
	min-height: 52px;
	padding: 0;
	border: 0;
	border-radius: 0 12px 12px 0;
	background: var(--g800);
	color: #fff;
	font-size: 21px;
}

.side-stack .related-item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.side-stack .related-cover-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: 5px;
	background: var(--mk-cover-placeholder-bg);
	box-shadow: none;
	flex-shrink: 0;
}

.side-stack .related-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: auto;
	box-shadow: none;
}

.side-stack .related-cover.is-placeholder {
	width: 50%;
	height: auto;
	max-height: 90%;
	object-fit: contain;
}

.side-stack .related-copy {
	min-width: 0;
}

.side-stack .related-copy strong {
	display: block;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 650;
}

.side-stack .related-copy strong a {
	display: block;
}

.side-stack .related-copy .author {
	margin-top: 3px;
	font-size: 11px;
	line-height: 1.35;
}

/* Member page: activity icon beside text */
.member-layout .member-side .activity-row {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 10px;
}

.member-layout .member-side .activity-icon {
	flex: 0 0 40px;
}

.member-layout .member-side .activity-copy {
	flex: 1;
	min-width: 0;
}
