

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	color: var(--news-text, #3d3d3d);
	background: var(--news-canvas, #f4f5f7);
}

::selection {
	background: rgba(var(--news-gold-rgb, 255, 204, 0), 0.32);
	color: var(--news-charcoal, #1a1a1a);
}

.entry-content img,
.post-card-thumb img,
.archive-featured-thumb img,
.hero-slide-img,
.home-highlight-img,
.home-cat-featured-thumb img {
	border-radius: var(--news-radius-img, 8px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--news-gold, #c9a227);
	outline-offset: 2px;
}

.site-content {
	background: transparent;
}

.site-footer.site-footer--harmonized {
	margin-top: clamp(20px, 3vw, 36px);
}

.single-post,
.page-content {
	border-radius: var(--news-radius-md, 10px) !important;
	border-color: var(--news-border, #e8eaed) !important;
	box-shadow: var(--news-shadow, 0 2px 16px rgba(26, 26, 26, 0.06)) !important;
	padding: clamp(20px, 3vw, 28px) !important;
}

.entry-title,
.single-post .entry-title {
	color: var(--news-ink, #252525) !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

.entry-meta {
	color: var(--news-muted, #6b7280) !important;
	font-size: 14px !important;
}

.entry-content {
	color: var(--news-text, #3d3d3d) !important;
	line-height: 1.85 !important;
}

.entry-content a {
	color: #1565a8;
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 0.2s ease;
}

.entry-content a:hover {
	color: var(--news-red, #c41e24);
}

.archive-hero,
.category-hero {
	background: linear-gradient(105deg, #111 0%, var(--news-charcoal, #1a1a1a) 50%, #222 100%) !important;
	border-bottom: 3px solid var(--news-gold, #c9a227) !important;
}

.archive-hero-title,
.category-hero-title {
	color: #fff !important;
}

.archive-hero-desc {
	color: rgba(255, 255, 255, 0.82) !important;
}

.archive-hero-count {
	background: var(--news-gold, #c9a227) !important;
	color: var(--news-charcoal, #1a1a1a) !important;
}

.archive-title,
.search-title {
	color: var(--news-gold, #c9a227) !important;
	font-weight: 800 !important;
}

.archive-featured-title a,
.post-card-title a {
	color: var(--news-ink, #252525) !important;
	transition: color 0.2s ease;
}

.archive-featured-title a:hover,
.post-card-title a:hover {
	color: var(--news-red, #c41e24) !important;
}

.archive-read-more {
	color: var(--news-red, #c41e24) !important;
	font-weight: 700 !important;
}

.btn-primary,
button.btn-primary,
.notification-subscribe {
	background: var(--news-gold, #c9a227) !important;
	border-color: var(--news-gold, #c9a227) !important;
	color: var(--news-charcoal, #1a1a1a) !important;
	font-weight: 800 !important;
	border-radius: var(--news-radius-sm, 6px) !important;
	box-shadow: 0 4px 14px rgba(201, 162, 39, 0.28) !important;
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-primary:hover,
button.btn-primary:hover {
	background: var(--news-gold-bright, #dbb840) !important;
	border-color: var(--news-gold-bright, #dbb840) !important;
	transform: translateY(-1px);
}

.page-numbers {
	border-radius: var(--news-radius-sm, 6px) !important;
	border-color: var(--news-border, #e8eaed) !important;
	color: var(--news-text, #3d3d3d) !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--news-gold, #c9a227) !important;
	border-color: var(--news-gold, #c9a227) !important;
	color: var(--news-charcoal, #1a1a1a) !important;
}

.front-page .hero-slide-cat {
	background: var(--news-red, #c41e24) !important;
	color: #fff !important;
	font-weight: 700 !important;
}

.front-page .home-premium-title a,
.front-page .home-cat-featured-title a,
.front-page .home-mosaic-accent-title a {
	transition: color 0.2s ease;
}

.front-page .home-premium-title a:hover,
.front-page .home-cat-featured-title a:hover,
.front-page .home-mosaic-accent-title a:hover {
	color: var(--news-red, #c41e24) !important;
}

.notification-popup-inner {
	border-radius: var(--news-radius-md, 10px) !important;
	border: 1px solid var(--news-border, #e8eaed) !important;
	box-shadow: var(--news-shadow-lg, 0 8px 32px rgba(26, 26, 26, 0.09)) !important;
}

.notification-later {
	color: var(--news-muted, #6b7280) !important;
}

.lachtv-breadcrumb a {
	color: var(--news-text, #3d3d3d);
	font-weight: 500;
}

.lachtv-breadcrumb a:hover {
	color: var(--news-gold, #c9a227);
}

body.dark-mode {
	background: var(--news-canvas, #141414) !important;
	color: var(--news-text, #e5e5e5) !important;
}

body.dark-mode .single-post,
body.dark-mode .page-content,
body.dark-mode .post-card,
body.dark-mode .archive-featured {
	background: var(--news-surface, #222) !important;
	border-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark-mode .entry-title,
body.dark-mode .archive-featured-title a,
body.dark-mode .post-card-title a {
	color: var(--news-ink, #f0f0f0) !important;
}

body.dark-mode .entry-content {
	color: var(--news-text, #e5e5e5) !important;
}

body.dark-mode .entry-content a {
	color: #7eb8e8;
}

body.dark-mode .lachtv-breadcrumb {
	background: var(--news-surface, #222) !important;
	border-color: rgba(201, 162, 39, 0.15) !important;
}

body.dark-mode .lachtv-breadcrumb a {
	color: rgba(255, 255, 255, 0.78);
}

body.dark-mode .notification-popup-inner {
	background: var(--news-surface, #222) !important;
	border-color: rgba(255, 255, 255, 0.1) !important;
	color: var(--news-text, #e5e5e5) !important;
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-track {
	background: var(--news-canvas, #f4f5f7);
}

::-webkit-scrollbar-thumb {
	background: rgba(201, 162, 39, 0.45);
	border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--news-gold, #c9a227);
}

body.dark-mode::-webkit-scrollbar-track {
	background: #141414;
}

body.dark-mode::-webkit-scrollbar-thumb {
	background: rgba(201, 162, 39, 0.35);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.btn-primary:hover,
	.btn-primary,
	a,
	button {
		transition: none !important;
	}
}
