/*
Theme Name: Butterfly
Theme URI: https://lebenshilfe-butterfly.de
Author: Lebenshilfe Butterfly
Description: Block-Theme (Gutenberg / Site Editor) für Lebenshilfe Butterfly. Mobil zuerst, ohne externe Schriften.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: butterfly
*/

/* Farben, Schriften und Abstände stehen zentral in theme.json.
   Hier nur, was theme.json nicht abdeckt. */

:root { --bf-header-h: 4.5rem; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { hyphens: auto; overflow-wrap: break-word; }
img, video, iframe { max-width: 100%; height: auto; }

/* ---------- Kopfbereich ---------- */
.site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: var(--wp--preset--color--mint);
	border-bottom: 3px solid var(--wp--preset--color--falter);
	transition: box-shadow .2s ease;
}
.site-header.is-scrolled { box-shadow: 0 2px 14px rgba(28, 42, 82, .18); }
.site-header__inner { padding-block: .5rem; gap: .5rem 1.5rem; max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.site-brand { gap: .75rem; }
.site-brand .wp-block-site-title { margin: 0; line-height: 1.1; }
.site-brand .wp-block-site-title a { text-decoration: none; color: var(--wp--preset--color--tiefblau); }
.site-brand .wp-block-site-logo img { display: block; height: auto; }

/* Navigation */
.site-header .wp-block-navigation { font-size: .98rem; }
.site-header .wp-block-navigation a { text-decoration: none; font-weight: 600; }
.site-header .wp-block-navigation-item__content:hover,
.site-header .wp-block-navigation-item__content:focus-visible,
.site-header .current-menu-item > a,
.site-header [aria-current="page"] { text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 2px; }
.site-header .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--weiss);
	border: 1px solid var(--wp--preset--color--salbei);
	border-radius: .5rem;
	box-shadow: 0 8px 24px rgba(28, 42, 82, .15);
	min-width: 16rem;
	padding: .35rem;
}
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem .75rem; }

/* Mobile Overlay */
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding-block: .35rem; }

/* ---------- Inhalt ---------- */
.site-main { padding-block: clamp(1.5rem, 4vw, 3.5rem); min-height: 55vh; }
.site-main > .wp-block-post-title { margin-bottom: 1.5rem; }
.wp-block-post-content > * + * { margin-block-start: 1.1rem; }
.wp-block-post-content h2 { margin-block-start: 2.25rem; }
.wp-block-post-content h3 { margin-block-start: 1.75rem; }
.wp-block-post-content .wp-block-image img { border-radius: .5rem; }
.wp-block-post-content .wp-block-separator { margin-block: 2rem; }
.wp-block-table { overflow-x: auto; }
a { text-underline-offset: .2em; }
:where(a, button, summary):focus-visible { outline: 3px solid var(--wp--preset--color--falter); outline-offset: 2px; }

/* Beitragslisten (Wochenberichte, Kategorien) */
.bf-list .wp-block-post { padding-block: 1.5rem; border-bottom: 1px solid var(--wp--preset--color--salbei); }
.bf-list .wp-block-post:last-child { border-bottom: 0; }
.bf-list .wp-block-post-title { margin: 0 0 .25rem; }
.bf-list .wp-block-post-title a { text-decoration: none; }
.bf-list .wp-block-post-date { font-size: .9rem; opacity: .75; margin-bottom: .75rem; }
.bf-card { background: var(--wp--preset--color--salbei); border-radius: .75rem; padding: 1.25rem 1.5rem; }

/* ---------- Fußbereich ---------- */
.site-footer { background: var(--wp--preset--color--tiefblau); color: var(--wp--preset--color--mint); padding-block: 2rem; font-size: .95rem; }
.site-footer a { color: var(--wp--preset--color--mint); }
.site-footer .wp-block-navigation a { text-decoration: none; }
.site-footer .wp-block-navigation a:hover { text-decoration: underline; }
.site-footer p { margin: 0; }

/* ---------- Kleine Bildschirme ---------- */
@media (max-width: 600px) {
	.site-brand .wp-block-site-title { font-size: 1.35rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}

@media print {
	.site-header, .site-footer { display: none; }
}
