/*
 * Gemeinsame Regeln für alle Jahreszeiten. Gilt nur, wenn body.has-season gesetzt ist.
 * Die Farben kommen aus den Variablen, die jede Jahreszeit in ihrer Datei definiert:
 *
 *  --s-bg           Seitenhintergrund            --s-head         Header, Navigation, Footer
 *  --s-bg-2         Eingabefelder, Kalender      --s-head-sticky  Header beim Scrollen (halbtransparent)
 *  --s-card         Karten, Beiträge             --s-head-text    Navigation
 *  --s-text         Fließtext                    --s-head-muted   Untertitel, Footer-Text
 *  --s-muted        Nebentext (Meta, Pfad)       --s-nav-hover    Navigation: Hover, aktiv
 *  --s-heading      Überschriften                --s-title        Seitentitel
 *  --s-link         Links                        --s-title-shadow Textschatten Seitentitel
 *  --s-link-hover   Links: Hover                 --s-foot-link / --s-foot-link-hover
 *  --s-accent       Buttons, Linien              --s-text-glow    Textschatten Überschriften
 *  --s-accent-hover Buttons: Hover               --s-photo-glow   Leuchten um Fotos beim Hover
 *  --s-btn-text / --s-btn-hover-text             --s-focus        Eingabefeld im Fokus
 *  --s-line         feine Linien                 --s-header-art / --s-footer-art  Bilder
 */

/* ---------- Family Lightbox (Plugin): Farben der Jahreszeit übernehmen ---------- */
body.has-season {
	--fl-accent: var(--s-accent);
	--fl-accent-hover: var(--s-accent-hover);
	--fl-accent-text: var(--s-btn-text);
	--fl-accent-hover-text: var(--s-btn-hover-text);
	--fl-bar: var(--s-head);
	--fl-bar-text: var(--s-head-text);
	--fl-bar-muted: var(--s-head-muted);
	--fl-line: var(--s-line);
	--fl-focus: var(--s-nav-hover);
}

/* ---------- Grundfarben ---------- */
body.has-season,
body.has-season #page,
body.has-season #content {
	background-color: var(--s-bg);
}
body.has-season,
body.has-season button,
body.has-season input,
body.has-season select,
body.has-season textarea {
	color: var(--s-text);
}
body.has-season h1,
body.has-season h2,
body.has-season h3,
body.has-season h4,
body.has-season h5,
body.has-season h6,
body.has-season .page-title,
body.has-season .widget-title,
body.has-season .entry-title,
body.has-season .entry-title a {
	color: var(--s-heading);
	font-family: var(--s-font-head, Georgia, 'Times New Roman', serif);
	text-shadow: var(--s-text-glow, none);
}
body.has-season a {
	color: var(--s-link);
}
body.has-season a:hover,
body.has-season a:focus,
body.has-season .entry-title a:hover {
	color: var(--s-link-hover);
}
body.has-season ::selection {
	background: var(--s-accent);
	color: var(--s-btn-text);
}
body.has-season .breadcrumb,
body.has-season .breadcrumb a,
body.has-season .entry-meta,
body.has-season .entry-meta a,
body.has-season blockquote {
	color: var(--s-muted);
}
body.has-season blockquote:before {
	color: var(--s-heading);
}
body.has-season hr {
	background-color: var(--s-line);
}

/* ---------- Header & Navigation ---------- */
body.has-season .top-header {
	background-color: var(--s-head);
	background-image: var(--s-header-art, none);
	background-attachment: scroll; /* Parent nutzt "fixed", dann würde nur ein Ausschnitt sichtbar */
	background-position: center bottom;
	background-size: cover;
	border-bottom: 2px solid var(--s-accent);
	min-height: 170px;
}
body.has-season #sticky_header {
	background-color: var(--s-head);
	border-bottom: 1px solid var(--s-line);
}
body.has-season .is-sticky #sticky_header {
	background-color: var(--s-head-sticky, var(--s-head));
}
body.has-season #site-title a {
	color: var(--s-title);
	font-family: var(--s-font-head, Georgia, 'Times New Roman', serif);
	letter-spacing: 2px;
	text-shadow: var(--s-title-shadow, none);
}
body.has-season #site-title a::before,
body.has-season #site-title a::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1.1em;
	vertical-align: -0.15em;
	background: var(--s-title-icon, none) no-repeat center / contain;
}
body.has-season #site-title a::before {
	margin-right: 0.35em;
}
body.has-season #site-title a::after {
	margin-left: 0.35em;
}
body.has-season #site-description {
	color: var(--s-head-muted);
}
body.has-season .main-navigation a {
	color: var(--s-head-text);
}
body.has-season .main-navigation a:hover,
body.has-season .main-navigation a:focus,
body.has-season .main-navigation ul li.current-menu-item a,
body.has-season .main-navigation ul li.current_page_item a,
body.has-season .main-navigation ul li:hover > a,
body.has-season .main-navigation ul li:hover > a:after {
	color: var(--s-nav-hover);
}
body.has-season .main-navigation ul li ul,
body.has-season .main-navigation ul li ul li a {
	background-color: var(--s-head);
	color: var(--s-head-text);
}
body.has-season .main-navigation ul li ul li a:hover {
	color: var(--s-nav-hover);
}
body.has-season .line-one,
body.has-season .line-two,
body.has-season .line-three {
	background-color: var(--s-nav-hover);
}
body.has-season .header-search,
body.has-season .header-search-x {
	color: var(--s-head-text);
}
body.has-season .header-search:hover,
body.has-season .header-search-x:hover {
	color: var(--s-nav-hover);
}
body.has-season #masthead {
	position: relative;
}

/* ---------- Beiträge / Familienbilder ---------- */
body.has-season .post-content,
body.has-season .post-container,
body.has-season #secondary .widget-title,
body.has-season .img-border {
	background-color: var(--s-card);
}
body.has-season .post-content {
	border: 1px solid var(--s-line);
}
/* Fotos bleiben unverändert, bekommen nur beim Darüberfahren einen Leuchtrahmen. */
body.has-season .post-featured-image img,
body.has-season .entry-content img,
body.has-season .gallery img {
	border-radius: 4px;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}
body.has-season .post-featured-image a:hover img,
body.has-season .gallery a:hover img {
	box-shadow: 0 0 0 2px var(--s-heading), var(--s-photo-glow, 0 0 18px rgba(0, 0, 0, 0.25));
}
body.has-season .error-404 .page-header {
	background-color: var(--s-card);
}

/* ---------- Formulare & Buttons ---------- */
body.has-season input[type="text"],
body.has-season input[type="email"],
body.has-season input[type="url"],
body.has-season input[type="tel"],
body.has-season input[type="number"],
body.has-season input[type="date"],
body.has-season input[type="search"],
body.has-season input[type="password"],
body.has-season textarea,
body.has-season .wpcf7-select {
	background-color: var(--s-bg-2);
	border-color: var(--s-line);
	color: var(--s-text);
}
body.has-season input[type="text"]:focus,
body.has-season input[type="email"]:focus,
body.has-season input[type="search"]:focus,
body.has-season input[type="password"]:focus,
body.has-season textarea:focus {
	background-color: var(--s-focus, var(--s-bg-2));
	border-color: var(--s-accent);
}
body.has-season input[type="reset"],
body.has-season input[type="button"],
body.has-season input[type="submit"],
body.has-season .search-submit,
body.has-season a.more-link,
body.has-season .go-to-top a {
	background-color: var(--s-accent);
	color: var(--s-btn-text);
}
body.has-season input[type="reset"]:hover,
body.has-season input[type="button"]:hover,
body.has-season input[type="submit"]:hover,
body.has-season .search-submit:hover,
body.has-season a.more-link:hover,
body.has-season .go-to-top a:hover {
	background-color: var(--s-accent-hover);
	color: var(--s-btn-hover-text);
}

/* ---------- Anmeldeseite (Plugin Theme My Login) ----------
   Der Button ist dort ein <button class="tml-button">. Das Plugin färbt ihn hellgrau, und oben steht
   für alle <button> die Textfarbe der Seite: heller Text auf hellem Grund. Hier bekommt er die Farben der Buttons. */
body.has-season .tml .tml-button {
	background-color: var(--s-accent);
	color: var(--s-btn-text);
	border: 0;
	border-radius: 5px;
	text-transform: uppercase;
	transition: background-color 0.3s ease-out;
}
body.has-season .tml .tml-button:hover,
body.has-season .tml .tml-button:focus {
	background-color: var(--s-accent-hover);
	color: var(--s-btn-hover-text);
}

/* ---------- Bildraster (Startseite, Archive), Slider ---------- */
/* Das Parent-Theme färbt den Raster-Hintergrund hellgrau (#f2f2f2) und Karten ohne Bild weiß. */
body.has-season #post_masonry,
body.has-season .post,
body.has-season #primary,
body.has-season #main {
	background-color: var(--s-bg);
}
body.has-season .post-container .entry-header {
	background-color: var(--s-card);
}
body.has-season .post-container .entry-header .entry-meta,
body.has-season .post-container .entry-header .entry-meta a {
	color: var(--s-muted);
}
body.has-season .post-container .entry-title a:hover,
body.has-season .post-container .entry-header .entry-meta a:hover {
	color: var(--s-link-hover);
}
body.has-season .post-container .entry-title:after {
	background-color: var(--s-heading);
}
body.has-season .main-slider .image-slider {
	background-color: var(--s-card);
}
body.has-season #infinite-handle span {
	background-color: var(--s-card) !important;
	color: var(--s-heading) !important;
}
body.has-season .widget_tag_cloud a:hover {
	background-color: var(--s-bg-2);
}

/* ---------- Seitenleiste, Widgets, Seitenzahlen ---------- */
body.has-season .widget_calendar #wp-calendar th,
body.has-season .widget_calendar #wp-calendar tfoot td,
body.has-season .wp-pagenavi span.current,
body.has-season ul.default-wp-page li a:hover {
	background-color: var(--s-bg-2);
	color: var(--s-heading);
}
body.has-season .widget_meta ul li:before,
body.has-season .widget_recent_comments ul li:before,
body.has-season .widget_categories ul li:before,
body.has-season .widget_recent_entries ul li:before,
body.has-season .widget_archive ul li:before {
	color: var(--s-heading);
}

/* ---------- Footer ---------- */
body.has-season #colophon,
body.has-season #colophon .widget-wrap,
body.has-season .site-info {
	background-color: var(--s-head);
	color: var(--s-head-muted);
}
body.has-season #colophon .widget-wrap {
	border-bottom-color: var(--s-line);
}
body.has-season #colophon .widget ul li a,
body.has-season #footer-navigation a,
body.has-season .site-info a {
	color: var(--s-foot-link);
}
body.has-season #colophon .widget ul li a:hover,
body.has-season #footer-navigation a:hover,
body.has-season .site-info a:hover {
	color: var(--s-foot-link-hover);
}
body.has-season #colophon .widget-title,
body.has-season #colophon .widget-title a {
	color: var(--s-foot-link);
}
body.has-season #colophon .widget-title:after {
	background-color: var(--s-heading);
}
body.has-season .site-info {
	border-top: 2px solid var(--s-accent);
}
/* Landschaft über dem Footer: Bild geht nahtlos in die Footer-Farbe über. */
body.has-season #colophon {
	background-color: transparent;
}
body.has-season #colophon::before {
	content: "";
	display: block;
	height: 64px;
	background: var(--s-footer-art, none) repeat-x left bottom / auto 64px;
}

/* ---------- Dekoration: gemeinsame Basis ---------- */
body.has-season .season-fx {
	position: fixed;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 9990;
}
body.has-season .season-fx .fx {
	position: absolute;
	top: 12vh;
	left: -80px;
	width: 40px;
	height: 40px;
	background: no-repeat center / contain;
}
body.has-season .error-404 .page-header::after {
	content: "";
	float: right;
	width: 60px;
	height: 75px;
	background: var(--s-404-art, none) no-repeat center / contain;
}

@media (max-width: 767px) {
	body.has-season .top-header {
		min-height: 130px;
	}
}
