/* Homepage editorial: overrides scoped to the homepage, after the main bundle. */
.home-magazine .content-col > .grid-3,
.home-magazine .content-col > .load-more-results {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.home-magazine .card-post .card-body { padding: 16px 16px 0; }
.home-magazine .card-post .entry-title { font-size: 1.05rem; line-height: 1.35; }
.home-magazine .card-post .entry-excerpt { font-size: .86rem; }
.home-magazine .card-post:hover { transform: translateY(-2px); }

.hero-magazine--mosaic { padding: 24px 0 12px; }
.hero-magazine--mosaic > .container { width: min(var(--max), calc(100% - 48px)); }
.hero-magazine--mosaic .hero-grid--mosaic,
.hero-magazine--mosaic .hero-grid--mosaic:has(.card-overlay:hover) {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	grid-template-rows: auto;
	height: auto;
	gap: 18px;
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
	transition: none;
}
.hero-magazine--mosaic .hero-grid--mosaic.hero-count-1 { grid-template-columns: minmax(0, 1fr); }
.hero-magazine--mosaic .hero-main { height: auto; min-height: 480px; }
.hero-magazine--mosaic .hero-main .card-overlay { border-radius: 16px; }
.hero-magazine--mosaic .hero-main .entry-title { font-size: clamp(2rem, 3vw, 2.9rem); max-width: 22ch; }
.hero-magazine--mosaic .hero-main .overlay-body { padding: 28px; }
.hero-magazine--mosaic .hero-stack,
.hero-magazine--mosaic .hero-stack:has(.card-overlay:hover) {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: none;
	grid-auto-rows: auto;
	gap: 18px;
	height: auto;
	padding: 0;
	overflow: visible;
	transition: none;
}
.hero-magazine--mosaic .hero-stack .card-overlay {
	display: grid;
	grid-template-rows: 140px auto;
	height: auto;
	min-height: 0;
	width: auto;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: var(--surface);
	color: var(--text);
}
.hero-magazine--mosaic .hero-stack .card-overlay::after,
.hero-magazine--mosaic .hero-stack .entry-thumb::after { content: none; }
.hero-magazine--mosaic .hero-stack .entry-thumb { position: relative; height: 140px; min-height: 0; aspect-ratio: auto; }
.hero-magazine--mosaic .hero-stack .overlay-body {
	position: static;
	padding: 14px 18px 16px;
	background: var(--surface);
	color: var(--text);
}
.hero-magazine--mosaic .hero-stack .entry-title { margin: 8px 0 0; font-size: 1.12rem; line-height: 1.3; text-shadow: none; }
.hero-magazine--mosaic .hero-stack .entry-title a { color: var(--text); }
.hero-magazine--mosaic .hero-stack .entry-title a:hover { color: var(--turbo-accent); }
.hero-magazine--mosaic .card-overlay:hover .overlay-body > * { transform: none; }
.hero-magazine--mosaic .hero-grid--mosaic:has(.card-overlay:hover) .card-overlay:not(:hover) .entry-thumb { filter: none; }

/* Match the standard WordPress search widget to the custom sidebar cards. */
.home-magazine .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
.home-magazine .wp-block-search__input { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 10px; background: var(--surface); color: var(--text); }
.home-magazine .wp-block-search__button { margin: 0; border: 0; border-radius: 8px; padding: 10px 14px; background: var(--turbo-accent); color: #fff; }
.home-magazine .widget_block h2 { font-size: 1.1rem; }

@media (max-width: 960px) {
	.home-magazine .content-col > .grid-3,
	.home-magazine .content-col > .load-more-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
	.hero-magazine--mosaic .hero-grid--mosaic,
	.hero-magazine--mosaic .hero-grid--mosaic:has(.card-overlay:hover) { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
	.hero-magazine--mosaic .hero-main { height: 380px; min-height: 380px; }
	.hero-magazine--mosaic .hero-stack,
	.hero-magazine--mosaic .hero-stack:has(.card-overlay:hover) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.hero-magazine--mosaic > .container { width: calc(100% - 24px); }
	.hero-magazine--mosaic .hero-main .overlay-body { padding: 22px; }
	.hero-magazine--mosaic .hero-stack,
	.hero-magazine--mosaic .hero-stack:has(.card-overlay:hover) { grid-template-columns: minmax(0, 1fr); }
	.hero-magazine--mosaic .hero-stack .card-overlay { flex: none; }
	.home-magazine .content-col > .grid-3,
	.home-magazine .content-col > .load-more-results { grid-template-columns: minmax(0, 1fr); }
}
