/*
Theme Name: WPRevier
Theme URI: https://github.com/woifale/wprevier
Description: Modern, nature-oriented theme for hunting grounds (Reviere). Child theme of Twenty Twenty-Five with a forest palette, Literata headings and patterns for Revier pages.
Template: twentytwentyfive
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 8.2
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wprevier-theme
Update URI: false
Domain Path: /languages
*/

/* Most styling lives in theme.json; only what theme.json cannot express is here. */

/* Covers: text aligned with the page content instead of the screen edge. */
.wp-block-cover.is-style-wprevier-hero {
	padding-left: max(var(--wp--style--root--padding-left, 1rem), 5vw);
	padding-right: max(var(--wp--style--root--padding-right, 1rem), 5vw);
	padding-bottom: var(--wp--preset--spacing--60);
}

/* Covers: soft gradient so white text stays readable on bright photos. */
.wp-block-cover.is-style-wprevier-hero .wp-block-cover__background {
	background: linear-gradient(180deg, rgb(30 43 35 / 15%) 0%, rgb(30 43 35 / 65%) 100%) !important;
	opacity: 1 !important;
}

/* Fact numbers on the start page. */
.wprevier-fact {
	border-top: 3px solid var(--wp--preset--color--accent-3);
	padding-top: var(--wp--preset--spacing--30);
}

.wprevier-fact .wprevier-fact__number {
	font-family: var(--wp--preset--font-family--literata);
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1;
	margin-bottom: 0.25em;
}

/* Images in cards get rounded corners and fill their column. */
.wprevier-card .wp-block-image img {
	border-radius: 6px;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100%;
}

/* Tables (dates) read better with generous rows. */
.wp-block-table.is-style-wprevier-dates td,
.wp-block-table.is-style-wprevier-dates th {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--accent-2);
	padding: 0.9em 0.6em;
	text-align: left;
}

/* The logo keeps its size next to a long navigation. */
.wp-block-site-logo {
	flex-shrink: 0;
}

/* Navigation bar below the name: one quiet line of links, the current page underlined. */
.wprevier-nav-bar {
	background: var(--wp--preset--color--accent-5);
	border-top: 1px solid var(--wp--preset--color--accent-2);
	border-bottom: 1px solid var(--wp--preset--color--accent-2);
}

.wprevier-nav-wide .wp-block-navigation-item__content {
	display: block;
	padding: 0.7rem 0.7rem;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	box-shadow: inset 0 -3px 0 transparent;
	transition: color 0.15s, box-shadow 0.15s;
}

.wprevier-nav-wide .wp-block-navigation-item__content:hover,
.wprevier-nav-wide .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--accent-1);
	box-shadow: inset 0 -3px 0 var(--wp--preset--color--accent-2);
	text-decoration: none;
}

.wprevier-nav-wide .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--accent-1);
	font-weight: 600;
	box-shadow: inset 0 -3px 0 var(--wp--preset--color--accent-3);
}

/* Medium screens: a little tighter, so more links fit on one line. */
@media (max-width: 1200px) {
	.wprevier-nav-wide .wp-block-navigation-item__content {
		padding: 0.6rem 0.55rem;
		font-size: 0.9rem;
	}
}

/* Wide screens show the bar, narrow ones the menu button in the first row. */
@media (min-width: 782px) {
	.wprevier-nav-compact {
		display: none !important;
	}
}

@media (max-width: 781px) {
	.wprevier-nav-bar {
		display: none;
	}
}

/* Language switcher in the header: language codes as plain links, hidden without other languages. */
.wprevier-language-switcher ul {
	display: flex;
	gap: 0.6em;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wprevier-language-switcher a {
	font-weight: 600;
	text-decoration: none;
}

.wprevier-language-switcher:not(:has(li)) {
	display: none;
}

/* Sign in / sign out at the end of the first header row, styled like the language codes. */
.wprevier-loginout {
	white-space: nowrap;
}

.wprevier-loginout a {
	font-weight: 600;
	text-decoration: none;
}

.wprevier-loginout a:hover,
.wprevier-loginout a:focus-visible {
	text-decoration: underline;
}

@media (max-width: 781px) {
	.wprevier-loginout,
	.wprevier-language-switcher {
		font-size: 0.9rem;
	}
}

/* Row of partner logos: even spacing, muted until hovered. */
.wprevier-logos {
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
}

.wprevier-logos .wp-block-image {
	margin: 0;
	opacity: 0.8;
	transition: opacity 0.2s;
}

.wprevier-logos .wp-block-image:hover {
	opacity: 1;
}
