/**
 * MusixBlog — Post cards (safe overrides, no masonry width hacks)
 */

:root {
	--mx-card-pad-x: 1.35rem;
	--mx-card-pad-y: 1.25rem;
}

/* Cancel single-page layout bleed on static front page — do NOT zero padding */
.home.page .mx-home-wrap div[class*='cols'] .flex-box:not(.archive-info):not(.widget-in-loop) .entry-header,
.home.page .mx-home-wrap div[class*='cols'] .flex-box:not(.archive-info):not(.widget-in-loop) .entry-content {
	max-width: none !important;
	margin: 0 !important;
	text-align: left !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
}

/* Never use cover overlay / white-on-dark loop styles on default cards */
.flex-grid:not(.the-post) .flex-box:not(.cover) .entry-header {
	position: static !important;
	background: none !important;
	color: inherit !important;
}

.flex-grid:not(.the-post) .flex-box:not(.cover) .entry-title,
.flex-grid:not(.the-post) .flex-box:not(.cover) .entry-title a {
	color: var(--entry-title-link-color, #3d3d3d) !important;
}

.flex-grid:not(.the-post) .flex-box:not(.cover) .entry-meta.after-title,
.flex-grid:not(.the-post) .flex-box:not(.cover) .entry-meta.after-title a,
.flex-grid:not(.the-post) .flex-box:not(.cover) .entry-meta.after-title time {
	color: var(--entry-meta-link-color, #6e6e6e) !important;
}

.flex-grid:not(.the-post) .flex-box .post-thumbnail img {
	filter: none !important;
}

/* Card shell */
.flex-grid:not(.the-post) .flex-box:not(.archive-info):not(.widget-in-loop) {
	display: flex;
	flex-direction: column;
	padding-bottom: var(--mx-card-pad-y) !important;
	box-sizing: border-box;
	overflow: hidden;
	background: var(--post-background);
	border: 1px solid var(--mx-line, rgba(60, 60, 60, 0.1));
	border-radius: var(--card-border-radius, 16px);
	box-shadow: 0 2px 12px rgba(40, 40, 40, 0.04);
	transition:
		box-shadow 0.35s ease,
		border-color 0.35s ease,
		transform 0.35s ease;
}

.flex-grid:not(.the-post) .flex-box:not(.archive-info):not(.widget-in-loop):hover {
	border-color: var(--mx-line-strong, rgba(60, 60, 60, 0.16));
	box-shadow: 0 12px 32px rgba(40, 40, 40, 0.08);
	transform: translateY(-2px);
}

/* Thumbnail — fixed ratio, no overflow */
.flex-grid:not(.the-post) .flex-box:not(.archive-info) .post-thumbnail {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: 0;
	background: var(--mx-surface-2, #f3f2ef);
}

.flex-grid:not(.the-post) .flex-box:not(.archive-info) .post-thumbnail a {
	display: block;
	line-height: 0;
}

.flex-grid:not(.the-post) .flex-box:not(.archive-info) .post-thumbnail img {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0;
}

.flex-grid:not(.the-post) .flex-box:not(.archive-info):hover .post-thumbnail img {
	transform: scale(1.03);
	transition: transform 0.45s ease;
}

/* Body — beat .home.page base.css centering rules */
.mx-home-wrap .flex-grid:not(.the-post) .flex-box:not(.archive-info):not(.widget-in-loop) .entry-header,
.flex-grid:not(.the-post) .flex-box:not(.archive-info):not(.widget-in-loop) .entry-header {
	padding: var(--mx-card-pad-y) var(--mx-card-pad-x) 0.85rem !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
}

/* Remove Ruki overlap on categories */
.flex-grid:not(.the-post) .flex-box.has-post-thumbnail .entry-meta.before-title {
	margin: 0 0 0.6rem !important;
	padding: 0 !important;
	position: static;
}

.flex-grid:not(.the-post) .flex-box .entry-meta.before-title ul.post-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Category pills — light text on dark chip (Ruki sets color:#fff on .before-title a) */
.flex-grid:not(.the-post) .flex-box .entry-meta.before-title a {
	color: #fff !important;
}

.flex-grid:not(.the-post) .flex-box .entry-meta.before-title ul.post-categories a {
	display: inline-block;
	padding: 0.32rem 0.65rem;
	font-family: var(--body-font);
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff !important;
	background: var(--mx-accent-warm, #7a6349);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 100px;
	text-decoration: none;
}

.flex-grid:not(.the-post) .flex-box .entry-meta.before-title ul.post-categories a:hover {
	background: #5c4a38;
	border-color: #5c4a38;
	color: #fff !important;
}

/* Title */
.flex-grid:not(.the-post) .flex-box:not(.archive-info) .entry-title {
	margin: 0 0 0.65rem;
	padding: 0;
	font-size: clamp(1.05rem, 2vw, 1.28rem) !important;
	font-weight: 500 !important;
	line-height: 1.38 !important;
	word-break: normal !important;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.flex-grid:not(.the-post) .flex-box:not(.archive-info) .entry-title a {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	padding: 0;
}

.flex-grid:not(.the-post) .flex-box:not(.archive-info) .entry-title a:hover {
	color: var(--mx-accent-warm, #8b7355);
}

/* Meta footer */
.flex-grid:not(.the-post) .flex-box .entry-meta.after-title {
	margin: 0 !important;
	padding: 0.75rem 0 0 !important;
	border-top: 1px solid var(--mx-line);
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	text-transform: none;
}

.flex-grid:not(.the-post) .flex-box .entry-meta.after-title ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
}

.flex-grid:not(.the-post) .flex-box .entry-meta.after-title ul li::after {
	content: none !important;
}

.flex-grid:not(.the-post) .flex-box .entry-meta.after-title .entry-date::before {
	content: '·';
	margin-right: 0.45rem;
	color: var(--mx-ink-faint);
}

.flex-grid:not(.the-post) .flex-box .entry-meta.after-title .entry-author-avatar {
	float: none;
	padding: 0;
}

.flex-grid:not(.the-post) .flex-box .entry-meta .avatar {
	width: 28px;
	height: 28px;
}

.flex-grid:not(.the-post) .flex-box .entry-meta li.entry-read-time {
	position: static !important;
	background: transparent;
	height: auto;
	padding: 0;
}

.flex-grid:not(.the-post) .flex-box .entry-content.excerpt {
	display: block !important;
	padding: 0.35rem var(--mx-card-pad-x) 0.65rem !important;
	margin: 0 !important;
	max-width: none !important;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--excerpt-color, #737373);
}

/* Continue reading / comments row */
.mx-home-wrap .flex-grid:not(.the-post) .flex-box:not(.archive-info) .entry-read-more,
.flex-grid:not(.the-post) .flex-box:not(.archive-info) .entry-read-more {
	margin: 0.5rem var(--mx-card-pad-x) 0 !important;
	padding: 0.85rem 0 0 !important;
	width: auto;
	box-sizing: border-box;
}

.flex-grid:not(.the-post) .flex-box .entry-content.excerpt p {
	margin: 0;
}

.flex-grid:not(.the-post) .flex-box .mx-loop-fallback-thumb {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* Home wrap */
.mx-home-wrap {
	max-width: var(--mx-content-max, 1180px);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

@media (max-width: 480px) {
	.flex-grid[class*='cols']:not(.post-navigation) .flex-box:not(.archive-info) .entry-title {
		font-size: clamp(1.05rem, 4.5vw, 1.2rem) !important;
	}
}
