/**
 * Site-wide breathing room — 3lachtv-like clarity.
 * Same structure, lighter density: width, gaps, title scale, shadows.
 */

:root {
	--container-width: 1560px;
	--ltv-section-gap: clamp(18px, 2.8vw, 30px);
	--ltv-container-pad: clamp(8px, 1.2vw, 14px);
	--ltv-body-pad: clamp(8px, 1vw, 12px);
	--ltv-header-pad: 10px 14px;
	--ltv-shell-radius: var(--news-radius-md, 12px);

	--type-display: clamp(1.5rem, 4.5vw, 2rem);
	--type-title: clamp(1.25rem, 3vw, 1.625rem);
	--type-section: clamp(1rem, 2.2vw, 1.1875rem);
	--type-subsection: clamp(0.9375rem, 2.2vw, 1.0625rem);
	--type-body: clamp(0.9375rem, 2.2vw, 1rem);
	--type-small: clamp(0.8125rem, 2vw, 0.875rem);
	--type-meta: clamp(0.6875rem, 1.8vw, 0.75rem);

	--news-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 14px rgba(15, 23, 42, 0.05);
	--news-shadow-hover: 0 6px 20px rgba(15, 23, 42, 0.08);
	--news-canvas: #f0f2f5;
}

/* ── Page shell ── */
.site-main.front-page {
	gap: var(--ltv-section-gap) !important;
	padding-block: clamp(16px, 2.5vw, 24px) clamp(24px, 4vw, 40px) !important;
}

.site-main.front-page > * {
	max-width: var(--container-width) !important;
}

body:not(.home) .site-main.container,
body:not(.home) .site-main--archive.container,
#primary.site-main.single-layout--lachtv.container {
	max-width: var(--container-width) !important;
	padding-inline: var(--ltv-container-pad) !important;
}

.site-header.site-header--magazine .header-top-inner,
.site-header.site-header--magazine .header-nav-inner,
.site-header.site-header--magazine .breaking-inner {
	max-width: var(--container-width) !important;
	padding-inline: var(--ltv-container-pad) !important;
}

/* ── Section headers (all blocks) ── */
.front-page .home-premium-header,
.front-page .home-mosaic-accent-header,
.front-page .home-sports-header,
.front-page .most-viewed-header,
.front-page .section-header,
.front-page .home-video-header {
	padding: var(--ltv-header-pad) !important;
	min-height: 0 !important;
}

.front-page .home-premium-title,
.front-page .home-premium-title a,
.front-page .home-sports-title,
.front-page .home-sports-title a,
.front-page .home-video-title,
.front-page .home-video-title a,
.front-page .most-viewed-heading,
.front-page .most-viewed-heading a,
.front-page .section-header .section-title,
.front-page .section-header h2,
.front-page .section-header .section-title a,
.front-page .section-header h2 a,
.front-page .home-mosaic-accent-title,
.front-page .home-mosaic-accent-title a {
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0;
}

.front-page .home-premium-more-btn,
.front-page .home-sports-more-btn,
.front-page .home-video-more-btn,
.front-page .section-more,
.front-page .most-viewed-more-btn {
	padding: 6px 14px !important;
	font-size: var(--type-meta) !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
}

.front-page .home-premium-icon,
.front-page .home-video-icon,
.front-page .home-sports-icon,
.front-page .most-viewed-trend-icon {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
}

.front-page .home-premium-icon svg,
.front-page .home-video-icon svg,
.front-page .home-sports-icon svg,
.front-page .most-viewed-trend-icon svg {
	width: 18px !important;
	height: 18px !important;
}

/* ── Section bodies — more air ── */
.front-page .home-premium-body,
.front-page .home-mosaic-body,
.front-page .home-national-grid,
.front-page .home-video-body--strip,
.front-page .home-sports-body,
.front-page .most-viewed-layout,
.front-page .home-category-section__body,
.front-page .home-see-also-body,
.front-page .home-tri-columns-inner {
	padding: var(--ltv-body-pad) !important;
}

/* ── Premium blocks — lighter shell ── */
.front-page .home-premium-block,
.front-page .home-mosaic-block,
.front-page .home-national-block,
.front-page .home-sports-block,
.front-page .home-video-block,
.front-page .most-viewed-section,
.front-page .home-category-sections .home-category-section,
.front-page .see-also-zone,
.front-page .programs-video-section .programs-block,
.front-page .believe-section {
	border-radius: var(--ltv-shell-radius) !important;
	box-shadow: var(--news-shadow) !important;
}

.front-page .home-premium-block:hover,
.front-page .home-mosaic-block:hover,
.front-page .home-national-block:hover,
.front-page .most-viewed-section:hover {
	box-shadow: var(--news-shadow-hover) !important;
	transform: none !important;
}

/* ── Card & tile titles — smaller, 2–3 lines max ── */
.front-page .home-mosaic-tile-title,
.front-page .home-mosaic-tile-title a,
.front-page .home-national-title,
.front-page .home-national-title a,
.front-page .home-video-card-title,
.front-page .home-video-card-title a,
.front-page .home-cat-featured-title,
.front-page .home-cat-featured-title a,
.front-page .home-cat-list-title,
.front-page .home-cat-list-title a,
.front-page .most-viewed-card-title,
.front-page .most-viewed-card-title a,
.front-page .home-tri-featured-title,
.front-page .home-tri-featured-title a,
.front-page .home-tri-list-title,
.front-page .home-tri-list-title a,
.front-page .home-highlight-title,
.front-page .home-highlight-title a,
.front-page .home-feed-link,
.front-page .home-see-also-card-title,
.front-page .home-widget__opinion-link {
	font-size: var(--type-small) !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
}

.front-page .home-mosaic-tile-title,
.front-page .home-mosaic-tile-title a,
.front-page .home-national-title,
.front-page .home-national-title a,
.front-page .home-video-card-title,
.front-page .home-video-card-title a,
.front-page .home-cat-list-title,
.front-page .home-cat-list-title a,
.front-page .most-viewed-card-title,
.front-page .most-viewed-card-title a,
.front-page .home-tri-list-title,
.front-page .home-tri-list-title a,
.front-page .home-see-also-card-title,
.front-page .home-widget__opinion-link {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.front-page .home-mosaic-tile--featured .home-mosaic-tile-title,
.front-page .home-mosaic-tile--featured .home-mosaic-tile-title a,
.front-page .home-cat-featured-title,
.front-page .home-cat-featured-title a,
.front-page .home-tri-featured-title,
.front-page .home-tri-featured-title a,
.front-page .most-viewed-card--featured .most-viewed-card-title,
.front-page .home-see-also-card--mosaic .home-see-also-card-title {
	-webkit-line-clamp: 3 !important;
	line-clamp: 3 !important;
	font-size: clamp(0.875rem, 1.8vw, 0.9375rem) !important;
	font-weight: 700 !important;
}

/* ── Grids — consistent gaps ── */
.front-page .home-national-grid,
.front-page .home-video-grid--strip,
.front-page .home-see-also-posts--six,
.front-page .home-category-section__grid,
.front-page .most-viewed-grid,
.front-page .home-tri-columns-grid {
	gap: clamp(10px, 1.2vw, 14px) !important;
}

/* ── Hero zone ── */
.front-page .home-hero-zone .home-hero-zone-grid {
	gap: clamp(12px, 1.5vw, 16px) !important;
}

.front-page .home-hero-zone .hero-slide-title,
.front-page .home-hero-zone .hero-slide-title a {
	font-size: clamp(0.9375rem, 2vw, 1.0625rem) !important;
	line-height: 1.45 !important;
}

/* ── Inner pages ── */
body.single-lachtv .single-post h1.entry-title {
	font-size: var(--type-title) !important;
	line-height: 1.4 !important;
}

body.single-lachtv .single-post .entry-content {
	font-size: var(--type-body) !important;
	line-height: var(--leading-body) !important;
}

.archive-lachtv-title,
.category-archive .archive-lachtv-title {
	font-size: var(--type-section) !important;
}

/* Sports block titles — layout in home-sports-block.css */
.site-footer.site-footer--harmonized .footer-top-band__inner {
	max-width: var(--container-width);
}

/* ── Mobile ── */
@media (max-width: 768px) {
	:root {
		--ltv-section-gap: 14px;
		--ltv-container-pad: max(12px, env(safe-area-inset-left, 0px));
	}

	.site-main.front-page {
		gap: 14px !important;
		padding-block: 8px 18px !important;
	}

	.front-page .home-premium-body,
	.front-page .home-mosaic-body,
	.front-page .home-sports-body {
		padding: 10px !important;
	}
}

@media (max-width: 480px) {
	:root {
		--ltv-section-gap: 12px;
	}

	.front-page .home-premium-title,
	.front-page .home-premium-title a,
	.front-page .home-sports-title,
	.front-page .home-sports-title a {
		font-size: 1rem !important;
	}
}

/* ── Dark mode density ── */
body.dark-mode {
	--news-canvas: #0a0a0a;
	--news-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

body.dark-mode .site-main.front-page {
	background: transparent;
}
