/**
 * Shared card composable + responsive grids (home, related, search).
 * See docs/NEWSKIT_MAPPING.md
 */

/* —— 3-column editorial grid —— */
#snaplap .snaplap-card-grid,
#snaplap .snaplap-home-news__grid:not(.snaplap-home-news__grid--lead),
#snaplap .snaplap-home-blog__grid,
#snaplap .snaplap-related__grid,
#snaplap .snaplap-search__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--nk-space-060);
	box-sizing: border-box;
	width: 100%;
}

@media screen and (max-width: 992px) {
	#snaplap .snaplap-card-grid,
	#snaplap .snaplap-home-news__grid:not(.snaplap-home-news__grid--lead),
	#snaplap .snaplap-home-blog__grid,
	#snaplap .snaplap-related__grid,
	#snaplap .snaplap-search__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* —— Card shell —— */
#snaplap .snaplap-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	box-sizing: border-box;
}

#snaplap .snaplap-card__media {
	margin: 0;
	line-height: 0;
}

#snaplap .snaplap-card__media img {
	width: 100%;
	height: auto;
	display: block;
}

#snaplap .snaplap-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--nk-space-020);
	flex: 1;
	min-width: 0;
}

#snaplap .snaplap-card__title {
	margin: 0;
	font-size: var(--nk-typo-editorial-subheadline-010-size);
	line-height: var(--nk-typo-editorial-subheadline-010-line);
	font-weight: var(--nk-typo-editorial-subheadline-010-weight);
}

#snaplap .snaplap-card__title a {
	color: var(--snap-color-text);
	text-decoration: none;
}

#snaplap .snaplap-card__title a:hover,
#snaplap .snaplap-card__title a:focus-visible {
	color: var(--snap-color-accent);
}

#snaplap .snaplap-card__meta {
	font-size: var(--nk-typo-utility-meta-010-size);
	line-height: var(--nk-typo-utility-meta-010-line);
	color: var(--snap-color-text-muted);
	margin-top: auto;
}

#snaplap .snaplap-card__excerpt {
	font-size: var(--nk-typo-editorial-paragraph-020-size);
	line-height: var(--nk-typo-editorial-paragraph-020-line);
	color: var(--snap-color-text-muted);
}

/* —— Latest News: lead spans full row, rest 3-column —— */
#snaplap .snaplap-home-news__grid--lead {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--nk-space-060);
	box-sizing: border-box;
	width: 100%;
}

#snaplap .snaplap-home-news__grid--lead > .snaplap-card--news-lead {
	grid-column: 1 / -1;
}

@media screen and (max-width: 992px) {
	#snaplap .snaplap-home-news__grid--lead {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* —— Variant: Latest News (compact, no card chrome) —— */
#snaplap .snaplap-card--news .snaplap-card__media img {
	border-radius: var(--snap-radius-sm);
	aspect-ratio: var(--snap-ratio-editorial-photo, 3 / 2);
	object-fit: cover;
}

#snaplap .snaplap-card--news .snaplap-card__body {
	padding: 0;
}

#snaplap .snaplap-card--news .snaplap-card__title {
	font-size: var(--nk-typo-editorial-subheadline-010-size);
	line-height: var(--nk-typo-editorial-subheadline-010-line);
	font-weight: var(--nk-typo-editorial-subheadline-010-weight);
}

#snaplap .snaplap-card--news .snaplap-card__meta,
#snaplap .snaplap-card--news-lead .snaplap-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.65rem;
	margin-top: 0.35rem;
}

#snaplap .snaplap-card--news .snaplap-card__time {
	display: inline;
	margin-top: 0;
}

#snaplap .snaplap-card__chip {
	display: inline-block;
	font-size: var(--nk-typo-editorial-label-010-size);
	font-weight: var(--nk-typo-editorial-label-010-weight);
	letter-spacing: var(--nk-typo-editorial-label-010-tracking);
	line-height: var(--nk-typo-editorial-label-010-line);
	text-transform: uppercase;
	color: var(--snap-color-accent-hover);
	text-decoration: none;
}

#snaplap .snaplap-card__chip:hover,
#snaplap .snaplap-card__chip:focus-visible {
	color: var(--snap-color-accent);
	text-decoration: underline;
}

/* Override legacy theme .meta { color: red } — WCAG 4.5:1 on white */
#snaplap p.meta a,
#snaplap .snaplap-card__meta p.meta a,
#snaplap .catpost_big .meta a,
#snaplap .catpost .meta a {
	color: var(--snap-color-accent-hover);
}

#snaplap p.meta a:hover,
#snaplap p.meta a:focus-visible {
	color: var(--snap-color-accent);
}

/* —— Variant: Latest News lead —— */
#snaplap .snaplap-card--news-lead .snaplap-card__media {
	margin: 0;
}

#snaplap .snaplap-card--news-lead .snaplap-card__media img {
	width: 100%;
	border-radius: var(--snap-radius-sm);
	aspect-ratio: var(--snap-ratio-editorial-photo, 3 / 2);
	object-fit: cover;
}

#snaplap .snaplap-card--news-lead .snaplap-card__body {
	padding: var(--nk-space-020) 0 0;
	gap: var(--nk-space-020);
}

#snaplap .snaplap-card--news-lead .snaplap-card__title {
	font-size: var(--snap-typo-headline-fluid-size);
	line-height: var(--nk-typo-editorial-headline-020-line);
	font-weight: var(--nk-typo-editorial-headline-020-weight);
	letter-spacing: var(--nk-typo-editorial-headline-020-tracking);
}

#snaplap .snaplap-card--news-lead .snaplap-card__time {
	display: inline;
	font-size: var(--nk-typo-utility-meta-010-size);
}

/* —— Variant: blog / related (surface card) —— */
#snaplap .snaplap-card--blog,
#snaplap .snaplap-card--related {
	background: var(--snap-color-bg);
	border-radius: var(--nk-radius-default);
	overflow: hidden;
	box-shadow: var(--nk-shadow-low);
}

#snaplap .snaplap-card--blog .snaplap-card__media img,
#snaplap .snaplap-card--related .snaplap-card__media img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

#snaplap .snaplap-card--blog .snaplap-card__body,
#snaplap .snaplap-card--related .snaplap-card__body {
	padding: var(--nk-space-040);
}

#snaplap .snaplap-card--related .snaplap-card__title {
	font-size: var(--snap-font-size-base);
	line-height: var(--snap-line-normal);
	font-weight: 600;
}

/* —— Variant: search —— */
#snaplap .snaplap-card--search {
	background: var(--snap-color-bg);
	border: 1px solid var(--snap-color-border);
	border-radius: var(--nk-radius-default);
	overflow: hidden;
}

#snaplap .snaplap-card--search .snaplap-card__media img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

#snaplap .snaplap-card--search .snaplap-card__body {
	padding: var(--nk-space-040);
}

/* —— Related posts section —— */
#snaplap .snaplap-related {
	margin-top: var(--nk-space-100);
	clear: both;
}

#snaplap .snaplap-related__title {
	margin: 0 0 var(--nk-space-040);
	font-size: var(--nk-typo-editorial-subheadline-010-size);
	line-height: var(--nk-typo-editorial-subheadline-010-line);
	font-weight: var(--nk-typo-editorial-subheadline-010-weight);
	color: var(--snap-color-text);
}

/* —— Search results —— */
#snaplap .snaplap_search_heading_box .entry-title {
	font-size: var(--nk-typo-editorial-headline-020-size);
	line-height: var(--nk-typo-editorial-headline-020-line);
	font-weight: var(--nk-typo-editorial-headline-020-weight);
	letter-spacing: var(--nk-typo-editorial-headline-020-tracking);
	margin: 0 0 var(--nk-space-040);
}

#snaplap .snaplap_search_results {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

#snaplap .snaplap_search_navigation_box {
	margin-top: var(--nk-space-060);
	clear: both;
}
