/*
Theme Name: Focusroom
Theme URI: https://focusroom.org
Description: Focusroom's blog theme. Roomie Display headlines, Nunito text, Roomie colours. Child theme of Twenty Twenty-Five.
Template: twentytwentyfive
Version: 2.2.1
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: focusroom
*/

/* Dark mode follows the reader's system setting (Roomie dark tokens). */
@media (prefers-color-scheme: dark) {
	:root {
		--wp--preset--color--base: #1C1917;
		--wp--preset--color--contrast: #F5EFE7;
		--wp--preset--color--muted: #A79C90;
		--wp--preset--color--rule: #3A322C;
		--wp--preset--color--link: #FFD9A8;
		--wp--preset--color--brand: #FFB85F;
		--wp--preset--color--brand-soft: #3A2F24;
	}
}

body {
	-webkit-font-smoothing: antialiased;
}

a {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

:where(a, button, input):focus-visible {
	outline: 2px solid var(--wp--preset--color--brand);
	outline-offset: 2px;
}

::selection {
	background: var(--wp--preset--color--brand-soft);
}

h1, h2, h3 {
	text-wrap: balance;
}

/* ---------- Header ---------- */
.fr-header {
	border-bottom: 1px solid var(--wp--preset--color--rule);
}

.fr-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--link);
}

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	font-size: 1.25rem;
}

/* ---------- Shared bits ---------- */
.fr-meta {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	gap: 0 0.9rem !important;
}

.fr-section-title {
	font-size: 1.25rem !important;
	padding-top: 0.75rem;
	border-top: 2px solid var(--wp--preset--color--contrast);
	margin-bottom: 0 !important;
}

/* ---------- Home: lead story ---------- */
.fr-lead {
	padding-bottom: var(--wp--preset--spacing--60);
}

.fr-lead .wp-block-post-title {
	font-size: clamp(2.25rem, 5.2vw, 3.5rem);
	line-height: 1.06;
	font-weight: 600;
	max-width: 18ch;
	margin: 0.4rem 0 0;
}

.fr-lead .wp-block-post-excerpt {
	font-size: var(--wp--preset--font-size--large);
	max-width: 38rem;
	margin: 1.1rem 0 0 !important;
}

.fr-lead .wp-block-post-excerpt__excerpt {
	margin: 0;
}

/* ---------- Lists: date column + headline ---------- */
.fr-rows .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fr-rows-top {
	border-top: 2px solid var(--wp--preset--color--contrast);
}

.fr-rows .wp-block-post-template > li {
	border-bottom: 1px solid var(--wp--preset--color--rule);
	margin: 0 !important;
}

.fr-row {
	display: grid !important;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	column-gap: 2rem;
	padding: 1.6rem 0;
}

.fr-row > * {
	margin: 0 !important;
}

.fr-row > .wp-block-post-date {
	padding-top: 0.45rem;
}

.fr-nowrap {
	white-space: nowrap;
}

.fr-row-body {
	gap: 0.35rem !important;
}

.fr-row-body > * {
	margin: 0 !important;
}

.fr-row .wp-block-post-title {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.2;
}

.fr-row .wp-block-post-title a:hover {
	color: var(--wp--preset--color--link);
}

.fr-row .wp-block-post-excerpt__excerpt {
	margin: 0;
	font-size: 1.0625rem;
}

.fr-row .wp-block-post-terms {
	font-size: var(--wp--preset--font-size--small);
}

@media (max-width: 640px) {
	.fr-row {
		grid-template-columns: 1fr;
		row-gap: 0.25rem;
		padding: 1.25rem 0;
	}
	.fr-row > .wp-block-post-date {
		padding-top: 0;
		order: 2;
	}
}

/* ---------- Article ---------- */
.fr-article-head .wp-block-post-title {
	font-weight: 600;
	margin-top: 0.35rem;
}

.fr-dek .wp-block-post-excerpt__excerpt {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
	margin: 0;
}

.fr-byline {
	border-top: 1px solid var(--wp--preset--color--rule);
	border-bottom: 1px solid var(--wp--preset--color--rule);
	padding: 0.85rem 0;
}

.fr-byline .wp-block-post-author-name {
	color: var(--wp--preset--color--contrast);
}

.fr-prose h2 {
	margin-top: 2.6rem;
	margin-bottom: 0.6rem;
}

.fr-prose h3 {
	margin-top: 2rem;
}

.fr-prose ul,
.fr-prose ol {
	padding-left: 1.3em;
}

.fr-prose li {
	margin-bottom: 0.45em;
}

.fr-prose li::marker {
	color: var(--wp--preset--color--muted);
}

.fr-prose strong {
	font-weight: 700;
}

.fr-prose blockquote {
	margin: 2.2rem 0;
}

.fr-prose blockquote p {
	margin: 0;
}

.fr-filed {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	gap: 0.4rem !important;
}

.fr-filed .wp-block-post-terms {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

/* ---------- Footer ---------- */
.fr-footer {
	border-top: 1px solid var(--wp--preset--color--rule);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.fr-footer a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	font-weight: 600;
}

.fr-footer a:hover {
	color: var(--wp--preset--color--contrast);
}

.fr-footer-links {
	gap: 0.4rem 1.4rem !important;
}

/* ---------- Search & pagination ---------- */
.wp-block-query-pagination a {
	text-decoration: none;
}

.wp-block-search__input {
	border: 1px solid var(--wp--preset--color--rule) !important;
	border-radius: 6px !important;
	padding: 0.7rem 0.9rem !important;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
}

/* ---------- Cookie choice ---------- */
.fr-consent {
	position: fixed;
	left: 1rem;
	bottom: 1rem;
	z-index: 1000;
	max-width: 22rem;
	padding: 1rem 1.1rem;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 8px;
	box-shadow: 0 6px 24px rgba(43, 37, 33, 0.12);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.fr-consent[hidden] {
	display: none;
}

.fr-consent p {
	margin: 0 0 0.85rem;
}

.fr-consent-actions {
	display: flex;
	gap: 0.5rem;
}

.fr-btn {
	flex: 1;
	padding: 0.55rem 0.9rem;
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 6px;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.fr-btn-plain {
	background: transparent;
	color: var(--wp--preset--color--contrast);
}

.fr-btn:hover {
	opacity: 0.85;
}

@media (max-width: 480px) {
	.fr-consent {
		left: 0.75rem;
		right: 0.75rem;
		max-width: none;
	}
}

/* ---------- Home intro line (the page's H1) ---------- */
.fr-home-intro {
	font-family: var(--wp--preset--font-family--text) !important;
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	color: var(--wp--preset--color--muted);
	margin-top: 0 !important;
	margin-bottom: var(--wp--preset--spacing--50) !important;
	padding-bottom: var(--wp--preset--spacing--40);
	border-bottom: 1px solid var(--wp--preset--color--rule);
}
