/*
Theme Name: BrightFact Daily
Theme URI: https://brightfactdaily.com/
Author: BrightFact Daily
Author URI: https://brightfactdaily.com/
Description: A lightweight, accessible, mobile-first news and magazine theme built with native WordPress features and vanilla JavaScript.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: brightfact-daily
Tags: blog, news, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready, wide-blocks
*/

:root {
	--bdf-accent: #e34b36;
	--bdf-text: #20242a;
	--bdf-muted: #68717d;
	--bdf-bg: #ffffff;
	--bdf-surface: #f5f7f9;
	--bdf-border: #e3e7eb;
	--bdf-link: var(--bdf-accent);
	--bdf-radius: 8px;
	--bdf-content-width: 1180px;
	--bdf-reading-width: 760px;
	--bdf-space: clamp(1rem, 2.4vw, 1.5rem);
	color-scheme: light;
}
@media (prefers-color-scheme: dark) {
	:root {
		--bdf-text: #edf0f3;
		--bdf-muted: #a8b0ba;
		--bdf-bg: #15181c;
		--bdf-surface: #20252b;
		--bdf-border: #343b44;
		color-scheme: dark;
	}
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--bdf-bg);
	color: var(--bdf-text);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }
a { color: var(--bdf-link); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .14em; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
	outline: 3px solid var(--bdf-accent);
	outline-offset: 3px;
}
.skip-link {
	position: absolute; left: 1rem; top: -5rem; z-index: 1000;
	padding: .7rem 1rem; background: var(--bdf-bg); color: var(--bdf-text);
	border: 2px solid var(--bdf-accent); border-radius: var(--bdf-radius);
}
.skip-link:focus { top: 1rem; }
.wrap { width: min(calc(100% - 2rem), var(--bdf-content-width)); margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--bdf-border); background: var(--bdf-bg); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; flex-wrap: wrap; }
.site-branding { min-width: 0; }
.custom-logo-link { display: inline-block; }
.custom-logo { max-width: 220px; max-height: 72px; width: auto; }
.site-title { margin: 0; font-size: clamp(1.35rem, 3vw, 1.9rem); font-weight: 850; letter-spacing: -.045em; line-height: 1.15; }
.site-title a { color: var(--bdf-text); text-decoration: none; }
.site-description { margin: .25rem 0 0; color: var(--bdf-muted); font-size: .85rem; }
.header-tools { display: flex; align-items: center; gap: .75rem; }
.search-form { display: flex; gap: .4rem; }
.search-field, .comment-form input:not([type="checkbox"]), .comment-form textarea {
	min-width: 0; width: 100%; padding: .65rem .8rem; color: var(--bdf-text);
	background: var(--bdf-bg); border: 1px solid var(--bdf-border); border-radius: 6px;
}
.search-submit, .menu-toggle, .button, .wp-block-button__link, input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
	padding: .65rem .9rem; border: 0; border-radius: 6px; background: var(--bdf-accent);
	color: #fff; font-weight: 700; cursor: pointer; text-decoration: none;
}
.menu-toggle { display: inline-flex; }
.primary-navigation { width: 100%; }
.primary-navigation ul, .footer-navigation ul {
	display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.1rem;
	list-style: none; margin: 0; padding: .2rem 0;
}
.primary-navigation a, .footer-navigation a { color: var(--bdf-text); font-weight: 650; text-decoration: none; }
.primary-navigation a:hover, .footer-navigation a:hover { color: var(--bdf-accent); }
.primary-navigation .sub-menu { display: block; padding: .5rem 0 .5rem 1rem; }
.primary-navigation:not(.is-open) .menu { display: none; }
.primary-navigation.is-open .menu { display: flex; flex-direction: column; align-items: flex-start; padding-block: .8rem; }
main { min-height: 50vh; }
.site-main { padding-block: clamp(1.5rem, 4vw, 3rem); }
.page-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
.content-area { min-width: 0; }
.sidebar { min-width: 0; }
.archive-header { margin-bottom: 1.6rem; padding-bottom: 1rem; border-bottom: 1px solid var(--bdf-border); }
.archive-title { margin: 0; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.15; letter-spacing: -.04em; }
.archive-description { color: var(--bdf-muted); }
.post-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.post-card { min-width: 0; }
.post-thumbnail { display: block; overflow: hidden; border-radius: var(--bdf-radius); background: var(--bdf-surface); margin-bottom: .85rem; }
.post-thumbnail img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .25s ease; }
.post-thumbnail:hover img { transform: scale(1.025); }
.post-card-title { margin: .25rem 0 .45rem; font-size: clamp(1.25rem, 2.4vw, 1.65rem); line-height: 1.25; letter-spacing: -.025em; }
.post-card-title a, .entry-title a { color: var(--bdf-text); text-decoration: none; }
.post-card-title a:hover, .entry-title a:hover { color: var(--bdf-accent); }
.entry-meta { display: flex; flex-wrap: wrap; gap: .25rem .7rem; color: var(--bdf-muted); font-size: .84rem; }
.entry-meta a { color: inherit; }
.entry-excerpt { margin-top: .6rem; color: var(--bdf-muted); }
.entry-excerpt p { margin: 0; }
.category-label { display: inline-block; color: var(--bdf-accent); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.entry-header { max-width: var(--bdf-reading-width); margin: 0 auto 1.5rem; }
.entry-title { margin: .4rem 0 .75rem; font-size: clamp(2rem, 6vw, 3.5rem); line-height: 1.08; letter-spacing: -.05em; }
.single-featured-image { margin: 1.5rem auto 2rem; max-width: var(--bdf-content-width); }
.single-featured-image img { width: 100%; max-height: 640px; object-fit: cover; border-radius: var(--bdf-radius); }
.entry-content { max-width: var(--bdf-reading-width); margin-inline: auto; font-size: 1.06rem; overflow-wrap: anywhere; }
.entry-content > * { margin-block: 0 1.25em; }
.entry-content h2, .entry-content h3, .entry-content h4 { line-height: 1.25; letter-spacing: -.025em; margin-top: 1.7em; }
.entry-content h2 { font-size: clamp(1.55rem, 3vw, 2rem); }
.entry-content h3 { font-size: 1.4rem; }
.entry-content blockquote { margin-inline: 0; padding: .2rem 1.2rem; border-left: 4px solid var(--bdf-accent); color: var(--bdf-muted); }
.entry-content pre, .entry-content code { max-width: 100%; overflow-x: auto; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: .55rem; border: 1px solid var(--bdf-border); text-align: left; }
.entry-content figure { margin-inline: 0; }
.entry-content .alignwide { max-width: min(100%, 1000px); }
.entry-content .alignfull { width: 100%; max-width: 100%; }
.breadcrumbs { margin-bottom: 1rem; color: var(--bdf-muted); font-size: .85rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: 0; padding: 0; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .35rem; color: var(--bdf-muted); }
.pagination, .post-navigation { margin-top: 2.2rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .45rem; }
.page-numbers, .post-navigation a { display: inline-block; padding: .45rem .75rem; border: 1px solid var(--bdf-border); border-radius: 5px; text-decoration: none; color: var(--bdf-text); }
.page-numbers.current { background: var(--bdf-accent); color: #fff; border-color: var(--bdf-accent); }
.post-navigation .nav-links { justify-content: space-between; }
.related-posts { margin: 3rem auto 0; max-width: var(--bdf-content-width); padding-top: 1.5rem; border-top: 1px solid var(--bdf-border); }
.related-posts h2, .comments-area h2 { font-size: 1.4rem; }
.widget { padding: 1.1rem; margin-bottom: 1.2rem; border: 1px solid var(--bdf-border); border-radius: var(--bdf-radius); }
.widget-title { margin: 0 0 .7rem; font-size: 1.05rem; }
.widget ul { padding-left: 1.1rem; margin-bottom: 0; }
.site-footer { border-top: 1px solid var(--bdf-border); background: var(--bdf-surface); padding-block: 2rem; }
.footer-widgets { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--bdf-border); color: var(--bdf-muted); font-size: .85rem; }
.footer-bottom p { margin: 0; }
.comments-area { max-width: var(--bdf-reading-width); margin: 3rem auto 0; }
.comment-list { padding-left: 1.2rem; }
.comment-body { margin-block: 1rem; padding: 1rem; border: 1px solid var(--bdf-border); border-radius: var(--bdf-radius); }
.comment-meta { color: var(--bdf-muted); font-size: .85rem; }
.comment-form p { margin-block: .8rem; }
.comment-form label { display: block; font-weight: 650; margin-bottom: .25rem; }
.comment-form textarea { min-height: 140px; }
.no-results { padding: 1.5rem; background: var(--bdf-surface); border-radius: var(--bdf-radius); }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; position: absolute !important; white-space: nowrap; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; left: 1rem; top: 1rem; padding: 1rem; background: var(--bdf-bg); z-index: 100000; }
.alignleft { float: left; margin: .3rem 1.25rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.25rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { color: var(--bdf-muted); font-size: .85rem; }
.sticky { border-top: 3px solid var(--bdf-accent); padding-top: .8rem; }
.bypostauthor { display: block; }
@media (min-width: 620px) {
	.post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; }
	.footer-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.primary-navigation.is-open .menu { flex-direction: row; align-items: center; }
}
@media (min-width: 900px) {
	.menu-toggle { display: none; }
	.primary-navigation { width: auto; }
	.primary-navigation:not(.is-open) .menu, .primary-navigation.is-open .menu { display: flex; flex-direction: row; align-items: center; padding: .2rem 0; }
	.primary-navigation .sub-menu { display: none; position: absolute; z-index: 20; min-width: 190px; background: var(--bdf-bg); border: 1px solid var(--bdf-border); border-radius: 6px; padding: .65rem; box-shadow: 0 8px 28px rgb(0 0 0 / .08); }
	.primary-navigation li { position: relative; }
	.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { display: block; }
	.page-layout.has-sidebar { grid-template-columns: minmax(0, 1fr) 300px; }
	.footer-widgets { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
