/*
Theme Name: One Minute Word
Theme URI: https://oneminuteword.com
Author: Teresa Coffer
Description: A calm, warm block theme for One Minute Word — a daily one-minute read. Each post is one word. The homepage, topics and archive update on their own when you publish.
Version: 1.1.0
Requires at least: 6.5
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: one-minute-word
*/

/* ---------- Basics ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
img { height: auto; }

.omw-script {
	font-family: var(--wp--preset--font-family--allura);
	font-weight: 400;
	letter-spacing: 0;
}

.omw-eyebrow,
.omw-eyebrow a {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--gold-text);
}

.omw-label {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0;
}
.omw-rule {
	width: 36px;
	height: 2px;
	background: var(--wp--preset--color--gold-deep);
	border: 0;
	margin: 0 0 18px;
	opacity: 1;
}

/* ---------- Logo ring ---------- */
.omw-logo {
	margin: 0;
	flex-shrink: 0;
}
.omw-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border: 2px solid var(--wp--preset--color--gold-deep);
	border-radius: 50%;
	text-decoration: none;
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 16px;
	font-weight: 500;
	line-height: 0.95;
	text-align: center;
}
.omw-logo.is-light a { color: #fff; border-color: var(--wp--preset--color--gold); }
.wp-block-site-logo img { border-radius: 0; }

/* ---------- Header ---------- */
.omw-header {
	padding: 24px clamp(16px, 3vw, 32px);
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.omw-hero > .wp-block-template-part { position: relative; z-index: 2; }
.omw-header .wp-block-navigation {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 17px;
	gap: 12px 32px;
}
.omw-header .wp-block-navigation a { text-decoration: none; padding-bottom: 4px; border-bottom: 2px solid transparent; }
.omw-header .wp-block-navigation a:hover,
.omw-header .wp-block-navigation .current-menu-item > a { border-bottom-color: var(--wp--preset--color--gold-deep); }
.omw-header-actions { gap: 8px !important; }
.omw-search .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--navy);
	border: 0;
	width: 44px;
	height: 44px;
	padding: 10px;
}
.omw-search.wp-block-search__searchfield-hidden .wp-block-search__input { display: none; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-gold .wp-block-button__link {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
}
.wp-block-button.is-style-gold .wp-block-button__link:hover { background: #E0BE88; }
.wp-block-button.is-style-navy .wp-block-button__link {
	background: var(--wp--preset--color--navy);
	color: #fff;
}
.wp-block-button.is-style-navy .wp-block-button__link:hover { background: var(--wp--preset--color--slate); }

/* ---------- Hero (full-width photo) ---------- */
.omw-hero {
	position: relative;
	min-height: 680px;
	display: flex;
	flex-direction: column;
	background-color: #F6DCBC;
	background-image:
		linear-gradient(90deg, rgba(250, 238, 222, 0.92) 0%, rgba(250, 238, 222, 0.78) 30%, rgba(250, 238, 222, 0.25) 52%, rgba(250, 238, 222, 0) 64%),
		url("assets/images/hero.jpg");
	background-size: cover;
	background-position: center 45%;
	background-repeat: no-repeat;
	overflow: hidden;
}
.omw-hero > * { margin-block-start: 0 !important; }
.omw-hero-content {
	flex: 1;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto !important;
	box-sizing: border-box;
	padding: 24px clamp(16px, 3vw, 32px) 96px;
}
.omw-hero-text {
	max-width: 580px;
	position: relative;
	z-index: 1;
}
.omw-hero-title {
	font-size: clamp(46px, 6vw, 80px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.01em;
	margin: 0;
}
.omw-hero-title .omw-script {
	display: block;
	margin-top: 4px;
	color: var(--wp--preset--color--gold-deep);
	font-size: 1.05em;
	line-height: 1.1;
	letter-spacing: 0;
}
.omw-hero-sub {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 20px;
	line-height: 1.5;
	max-width: 470px;
	margin: 24px 0 36px !important;
	color: var(--wp--preset--color--ink);
}
@media (max-width: 900px) {
	.omw-hero {
		min-height: 720px;
		background-image:
			linear-gradient(180deg, rgba(250, 238, 222, 0.95) 0%, rgba(250, 238, 222, 0.85) 45%, rgba(250, 238, 222, 0.1) 72%, rgba(250, 238, 222, 0) 100%),
			url("assets/images/hero.jpg");
		background-position: 82% center;
	}
	.omw-hero-content { align-items: flex-start; padding-top: 16px; padding-bottom: 280px; }
}

/* ---------- Topics ---------- */
.omw-topics-band {
	background: #fff;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.omw-topics-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 40px clamp(16px, 3vw, 32px);
	gap: 32px 48px !important;
}
.omw-topics-head { flex: 0 0 160px; }
.omw-topics {
	flex: 1 1 600px;
	gap: 24px 16px !important;
}
.omw-topic {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px !important;
}
.omw-topic .wp-block-image { margin: 0; }
.omw-topic .wp-block-image a { display: block; width: 104px; height: 104px; border-radius: 50%; overflow: hidden; }
.omw-topic .wp-block-image img {
	width: 104px;
	height: 104px;
	object-fit: cover;
	border-radius: 50%;
	transition: transform .25s ease;
}
.omw-topic:hover .wp-block-image img { transform: scale(1.05); }
.omw-topic p { margin: 0; font-family: var(--wp--preset--font-family--playfair); font-size: 18px; }
.omw-topic p a { text-decoration: none; }

/* ---------- Main + sidebar ---------- */
.omw-main {
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px clamp(16px, 3vw, 32px);
	gap: 64px !important;
}
.omw-intro {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 20px;
	color: var(--wp--preset--color--ink-soft);
	margin: 8px 0 32px;
}
.omw-main-col { flex: 999 1 600px; min-width: 0; }
.omw-sidebar { flex: 1 1 300px; min-width: 0; padding-top: 88px; display: flex; flex-direction: column; gap: 24px; }
.omw-sidebar > * { margin: 0 !important; }
@media (max-width: 781px) { .omw-sidebar { padding-top: 0; } }

/* Featured card */
.omw-feature .wp-block-post-template { margin: 0; }
.omw-feature-card {
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15,28,43,.06), 0 12px 32px rgba(15,28,43,.06);
	gap: 0 !important;
	margin: 0 !important;
}
.omw-feature-card .wp-block-post-featured-image { margin: 0; height: 100%; }
.omw-feature-card .wp-block-post-featured-image img,
.omw-feature-card .omw-fallback-img img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; display: block; }
.omw-feature-body { padding: 36px; align-self: center; }
.omw-feature-title { font-size: 48px; font-weight: 500; line-height: 1; margin: 12px 0 14px; }
.omw-feature-title a { text-decoration: none; }
.omw-feature-body .wp-block-post-excerpt__excerpt {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 18px;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-soft);
	margin: 0 0 24px;
}
.omw-underline-link,
.omw-feature-body .wp-block-read-more {
	display: inline-block;
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 18px;
	text-decoration: none;
	color: var(--wp--preset--color--navy);
	border-bottom: 2px solid var(--wp--preset--color--gold-deep);
	padding-bottom: 4px;
}

/* Word list rows */
.omw-list-head {
	margin: 64px 0 8px;
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--montserrat);
}
.omw-list .wp-block-post-template { border-top: 1px solid var(--wp--preset--color--line); margin: 0; }
.omw-list .wp-block-post-template > li { margin: 0 !important; }
.omw-row {
	padding: 24px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	gap: 6px 32px !important;
	align-items: baseline !important;
}
.omw-row-meta { flex: 0 0 150px; font-size: 13px; color: var(--wp--preset--color--muted); gap: 4px !important; }
.omw-row-meta > * { margin: 0 !important; }
.omw-row-meta a { color: var(--wp--preset--color--muted); text-decoration: none; }
.omw-row .wp-block-post-title { flex: 0 0 200px; margin: 0; font-size: 30px; font-weight: 400; }
.omw-row .wp-block-post-title a { text-decoration: none; }
.omw-row .wp-block-post-excerpt { flex: 1 1 240px; margin: 0; }
.omw-row .wp-block-post-excerpt__excerpt { margin: 0; color: var(--wp--preset--color--ink-soft); line-height: 1.6; }
.omw-more-link { margin-top: 28px; font-weight: 600; font-size: 14px; }

/* Subscribe box + suggest card */
.omw-subscribe {
	background: var(--wp--preset--color--sand);
	border-radius: 20px;
	padding: 36px 30px;
}
.omw-subscribe .omw-script { font-size: 38px; line-height: 1.1; color: #7A5C30; margin: 0; }
.omw-subscribe p { margin: 10px 0 22px; line-height: 1.6; }
.omw-subscribe .wp-block-buttons,
.omw-subscribe .wp-block-button,
.omw-subscribe .wp-block-button__link { width: 100%; }
.omw-suggest {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px;
	padding: 28px 30px;
}
.omw-suggest h2 { font-size: 22px; font-weight: 500; margin: 0 0 8px; }
.omw-suggest p { margin: 0 0 16px; line-height: 1.6; color: var(--wp--preset--color--ink-soft); }
.omw-suggest a { font-weight: 600; font-size: 14px; }

/* ---------- Single word ---------- */
.omw-single { padding: 72px clamp(16px, 3vw, 32px) 40px; }
.omw-single-title { font-size: clamp(56px, 9vw, 96px); font-weight: 500; line-height: 1; margin: 16px 0 !important; }
.omw-single-meta { font-size: 13px; color: var(--wp--preset--color--muted); gap: 8px !important; }
.omw-single-meta > * { margin: 0 !important; }
.omw-single .wp-block-post-featured-image img { border-radius: 20px; }
.omw-single .wp-block-post-content { font-family: var(--wp--preset--font-family--playfair); font-size: 21px; line-height: 1.7; }
.omw-page .wp-block-post-content { font-family: var(--wp--preset--font-family--montserrat); font-size: 17px; }
.omw-page-title { font-size: clamp(44px, 6vw, 64px); font-weight: 500; margin: 0 0 32px !important; }
.omw-single:not(.omw-page) .wp-block-post-content > p:first-child::first-letter {
	float: left;
	font-size: 3.4em;
	line-height: 0.9;
	padding: 6px 10px 0 0;
	color: var(--wp--preset--color--gold-deep);
}
.omw-post-nav { border-top: 1px solid var(--wp--preset--color--line); padding-top: 28px; margin-top: 56px !important; font-family: var(--wp--preset--font-family--playfair); font-size: 18px; }
.omw-post-nav a { text-decoration: none; }
.omw-end-band {
	background: var(--wp--preset--color--navy);
	color: #fff;
	text-align: center;
	padding: 72px clamp(16px, 3vw, 32px);
}
.omw-end-band .omw-script { color: var(--wp--preset--color--gold); font-size: 44px; margin: 0; }
.omw-end-band h2 { color: #fff; font-weight: 500; font-size: 30px; margin: 8px 0 28px; }

/* ---------- Archive / pages ---------- */
.omw-page-head { padding: 72px clamp(16px, 3vw, 32px) 24px; }
.omw-page-head h1 { font-size: clamp(44px, 6vw, 64px); font-weight: 500; margin: 0; }
.omw-page-head .wp-block-term-description { font-family: var(--wp--preset--font-family--playfair); font-size: 20px; color: var(--wp--preset--color--ink-soft); }
.omw-archive { padding: 24px clamp(16px, 3vw, 32px) 96px; }
.wp-block-query-pagination { margin-top: 40px; font-weight: 600; }

/* ---------- Footer ---------- */
.omw-footer {
	background: var(--wp--preset--color--navy);
	color: #D9DEE5;
}
.omw-footer a { color: #D9DEE5; text-decoration: none; }
.omw-footer a:hover { color: var(--wp--preset--color--gold); }
.omw-footer-inner { max-width: 1280px; margin: 0 auto; padding: 80px clamp(16px, 3vw, 32px) 0; }
.omw-footer-top {
	padding-bottom: 56px;
	border-bottom: 1px solid #263A50;
	gap: 24px !important;
}
.omw-footer-brand { gap: 24px !important; }
.omw-footer-brand .omw-script { font-size: 44px; line-height: 1.1; color: var(--wp--preset--color--gold); margin: 0; }
.omw-footer-cols { padding: 56px 0 !important; gap: 48px 40px !important; margin: 0 !important; }
.omw-footer h2 {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 600;
	color: #fff;
	margin: 0 0 16px;
}
.omw-footer p { font-size: 15px; line-height: 1.7; }
.omw-footer-links p { margin: 0 0 12px; }
.omw-footer .wp-block-categories {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 16px;
	font-size: 15px;
}
.omw-footer .wp-block-social-links .wp-social-link {
	background: transparent !important;
	color: #D9DEE5 !important;
	border: 1px solid #3A4E64;
}
.omw-footer .wp-block-social-links .wp-social-link a { padding: 10px; }
.omw-footer .wp-block-social-links .wp-social-link:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold) !important; }
.omw-footer-bottom {
	padding: 24px 0 32px;
	border-top: 1px solid #263A50;
	font-size: 13px;
	color: #AEB8C4;
	gap: 12px 24px !important;
}
.omw-footer-bottom p { margin: 0; font-size: 13px; }
.omw-footer-bottom .omw-script { font-size: 28px; color: var(--wp--preset--color--gold); }
.omw-footer-bottom-links { gap: 24px !important; }

/* Screen-reader helper */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
