/*
Theme Name:   Horizonlume
Theme URI:    https://horizonlume.com
Description:  Child theme of Twenty Twenty-Five for Horizonlume — a quiet, photo-led blog about forests and walking. Presentation only; affiliate and Pinterest behaviour lives in the horizonlume-core plugin so a redesign can never break it.
Author:       Horizonlume
Template:     twentytwentyfive
Version:      1.0.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  horizonlume
Tags:         blog, photography, block-patterns, full-site-editing
*/

/*
 * Almost all styling lives in theme.json — it is the supported way to style a
 * block theme, and it gives the site owner working colour and typography
 * controls in the editor. Only put CSS here when theme.json genuinely cannot
 * express it.
 *
 * Documented in docs/03-theme.md.
 */

/* Photographs carry this site. Give them room to breathe and stop the browser
   from reflowing the page as they load. */
.wp-block-image img {
	border-radius: 2px;
}

.wp-block-post-featured-image img {
	border-radius: 2px;
}

/* Tall Pinterest-format images should never blow past the viewport on mobile. */
.horizonlume-pin-image img {
	max-height: 85vh;
	width: auto;
	margin-inline: auto;
}

/* Quiet, readable captions rather than the default near-invisible grey. */
.wp-block-image figcaption,
.wp-block-post-featured-image figcaption {
	font-size: 0.8rem;
	font-style: italic;
	opacity: 0.75;
	text-align: center;
}

/* Trail facts block: a compact key/value strip under a walk's intro. */
.horizonlume-facts {
	border-block: 1px solid var(--wp--preset--color--surface);
	padding-block: 0.9rem;
}

.horizonlume-facts p {
	margin: 0;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
}

.horizonlume-facts strong {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	opacity: 0.6;
	font-weight: 500;
}

/* Category list on the homepage: a row of quiet pills rather than the default
   bulleted list, which reads as a sitemap instead of an invitation. */
.horizonlume-category-list ul,
ul.horizonlume-category-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}

.horizonlume-category-list li {
	margin: 0;
}

.horizonlume-category-list a {
	display: inline-block;
	padding: 0.4rem 0.95rem;
	border: 1px solid var(--wp--preset--color--surface);
	border-radius: 999px;
	font-size: 0.85rem;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.horizonlume-category-list a:hover,
.horizonlume-category-list a:focus-visible {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--accent);
}

/* The post count reads as noise next to the name; keep it, but quietly. */
.horizonlume-category-list .wp-block-categories__post-count {
	opacity: 0.5;
	font-size: 0.75em;
}

/* Search field on the hero, over a photograph. */
.wp-block-cover .wp-block-search__input {
	border: 1px solid rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.92);
}

/* Respect the reader's motion preference — parallax-ish transitions on a
   nature blog are decoration, not information. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
