/* F&B Pferde: Kopf- und Fusszeile. Kopfzeile bleibt oben stehen, goldene Linie trennt sie von der Seite.
   Beim Scrollen wird die Linie etwas kraeftiger. Selektoren fuer Blocksy (#header, nicht das Handy-Menue #offcanvas,
   das ebenfalls .ct-header heisst) und uebliche Themes. */

header#header:not(.ct-panel),
header#masthead,
header.site-header {
	position: sticky !important;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}
/* Auf schmalen Handys scrollt die WordPress-Adminleiste mit, dann klebt der Kopf ganz oben */
@media (max-width: 600px) {
	header#header:not(.ct-panel), header#masthead, header.site-header { top: 0; }
}

/* Blocksy: Linie an der untersten sichtbaren Zeile, nicht am Header. Ist im Theme der Sticky Header mit Verkleinern an,
   bleibt der Header-Kasten hoch, waehrend die Zeile schrumpft, und die Linie schwebte sonst ueber dem Inhalt. */
header#header:not(.ct-panel) [data-device] [data-row]:last-child { position: relative; }
header#header:not(.ct-panel) [data-device] [data-row]:last-child::after,
header#masthead::after,
header.site-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--fbp-akzent, #DBB158) 14%, var(--fbp-namen, #FCD178) 50%, var(--fbp-akzent, #DBB158) 86%, transparent 100%);
	opacity: .75;
	transition: height .35s ease, opacity .35s ease, box-shadow .35s ease;
	pointer-events: none;
	z-index: 2;
}
html.fbp-gescrollt header#header:not(.ct-panel) [data-device] [data-row]:last-child::after,
html.fbp-gescrollt header#masthead::after,
html.fbp-gescrollt header.site-header::after {
	height: 3px;
	opacity: 1;
	box-shadow: 0 2px 12px rgba(219, 177, 88, .35);
}

/* Menue in der Kopfzeile: groesser, Gold auf Gruen (Blocksy). Hover und aktueller Punkt heller. */
@media (min-width: 1000px) {
	header#header:not(.ct-panel) [data-device="desktop"] nav > ul > li > .ct-menu-link {
		font-size: 16px !important;
		letter-spacing: .07em;
		padding-inline: 18px !important;
	}
	header#header:not(.ct-panel) [data-device="desktop"] .ct-header-search {
		--theme-icon-size: 19px;
		margin-left: 6px;
	}
	header#header:not(.ct-panel) [data-device="desktop"] .ct-toggle-dropdown-desktop {
		--toggle-button-size: 18px;
		--theme-icon-size: 10px;
	}
}
header#header:not(.ct-panel) .ct-menu-link,
header#header:not(.ct-panel) .ct-header-search,
header#header:not(.ct-panel) .ct-header-trigger,
header#header:not(.ct-panel) .ct-toggle-dropdown-desktop {
	color: var(--fbp-akzent, #DBB158) !important;
	--theme-icon-color: var(--fbp-akzent, #DBB158);
	transition: color .2s ease;
}
header#header:not(.ct-panel) .ct-menu-link:hover,
header#header:not(.ct-panel) .current-menu-item > .ct-menu-link,
header#header:not(.ct-panel) .current-menu-ancestor > .ct-menu-link,
header#header:not(.ct-panel) .ct-header-search:hover {
	color: var(--fbp-namen, #FCD178) !important;
	--theme-icon-color: var(--fbp-namen, #FCD178);
}
header#header:not(.ct-panel) .ct-menu-link svg,
header#header:not(.ct-panel) .ct-header-search svg,
header#header:not(.ct-panel) .ct-header-trigger svg { fill: currentColor !important; }

/* Fusszeile: goldene Linie oben wie unter der Kopfzeile, Symbole und Links in Gold statt Schwarz */
footer#footer.ct-footer,
footer.site-footer {
	position: relative;
	margin-top: 48px;
}
footer#footer.ct-footer::before,
footer.site-footer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--fbp-akzent, #DBB158) 14%, var(--fbp-namen, #FCD178) 50%, var(--fbp-akzent, #DBB158) 86%, transparent 100%);
	opacity: .75;
	z-index: 2;
}
footer#footer.ct-footer [data-row] { background: transparent; }
/* alles mittig, mit Luft zwischen Symbolen, Menue und Copyright */
footer#footer.ct-footer [data-row] > div { padding-block: 0 !important; }
footer#footer.ct-footer [data-row="top"] > div { padding-top: 44px !important; padding-bottom: 18px !important; }
footer#footer.ct-footer [data-row="middle"] > div { padding-bottom: 22px !important; }
footer#footer.ct-footer [data-row="bottom"] > div { padding-bottom: 34px !important; }
footer#footer.ct-footer [data-row] > div { grid-template-columns: 1fr !important; }
footer#footer.ct-footer [data-column] { justify-content: center !important; text-align: center; }
footer#footer.ct-footer [data-column] > * { margin-inline: auto; }
footer#footer.ct-footer .footer-menu-inline ul { justify-content: center !important; flex-wrap: wrap; gap: 10px 34px; }
footer#footer.ct-footer .footer-menu-inline .ct-menu-link { padding: 4px 0 !important; }
footer#footer.ct-footer .ct-social-box {
	--theme-icon-color: var(--fbp-akzent, #DBB158);
	--theme-icon-hover-color: var(--fbp-namen, #FCD178);
	--theme-icon-size: 22px;
	gap: 26px;
}
footer#footer.ct-footer .ct-social-box a { color: var(--fbp-akzent, #DBB158) !important; transition: color .2s ease, transform .2s ease; }
footer#footer.ct-footer .ct-social-box a:hover { color: var(--fbp-namen, #FCD178) !important; transform: translateY(-2px); }
footer#footer.ct-footer .ct-social-box svg { fill: currentColor !important; }
footer#footer.ct-footer .ct-menu-link,
footer.site-footer a {
	color: var(--fbp-akzent, #DBB158) !important;
	font-size: 14px !important;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	transition: color .2s ease;
}
footer#footer.ct-footer .ct-menu-link:hover,
footer.site-footer a:hover { color: var(--fbp-namen, #FCD178) !important; }
footer#footer.ct-footer .ct-footer-copyright { color: rgba(241, 238, 227, .5) !important; font-size: 13px; }
footer#footer.ct-footer .ct-footer-copyright a { color: rgba(241, 238, 227, .65) !important; font-size: inherit !important; letter-spacing: 0; text-transform: none; font-weight: 400; }

/* Suchfenster (Blocksy #search-modal) in Gruen und Gold statt Grau und Blau */
#search-modal {
	background: radial-gradient(ellipse at 50% 30%, rgba(52, 66, 38, .97), rgba(20, 26, 14, .98) 70%) !important;
}
#search-modal .ct-search-form {
	--theme-form-field-border-initial-color: color-mix(in srgb, var(--fbp-akzent, #DBB158) 55%, transparent);
	--theme-form-field-border-focus-color: var(--fbp-akzent, #DBB158);
	--theme-form-text-initial-color: #F1EEE3;
	--theme-form-text-focus-color: #FFF8E6;
	--theme-button-background-initial-color: var(--fbp-akzent, #DBB158);
	--theme-button-background-hover-color: var(--fbp-namen, #FCD178);
	--theme-button-text-initial-color: #1d1810;
	--theme-button-text-hover-color: #1d1810;
	max-width: 760px;
}
#search-modal .ct-search-form-inner {
	border: 1px solid color-mix(in srgb, var(--fbp-akzent, #DBB158) 70%, transparent) !important;
	border-radius: 2px !important;
	background: rgba(0, 0, 0, .25) !important;
	box-shadow: inset 0 0 0 4px rgba(0, 0, 0, .3), inset 0 0 0 5px color-mix(in srgb, var(--fbp-akzent, #DBB158) 35%, transparent), 0 20px 50px -20px rgba(0, 0, 0, .8);
}
#search-modal .ct-search-form-inner:focus-within { border-color: var(--fbp-akzent, #DBB158) !important; }
#search-modal input[type="search"] {
	color: #F1EEE3 !important;
	font-size: 20px !important;
	letter-spacing: .02em;
	caret-color: var(--fbp-akzent, #DBB158);
}
#search-modal input[type="search"]::placeholder { color: rgba(241, 238, 227, .55); }
#search-modal .ct-search-form .wp-element-button {
	background: linear-gradient(180deg, #f3df9f, var(--fbp-akzent, #DBB158) 60%, #b8954a) !important;
	color: #1d1810 !important;
	border-radius: 2px !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25);
}
#search-modal .ct-search-form .wp-element-button svg { fill: #1d1810 !important; }
#search-modal .ct-toggle-close { --theme-icon-color: var(--fbp-akzent, #DBB158); color: var(--fbp-akzent, #DBB158); }
#search-modal .ct-toggle-close:hover { --theme-icon-color: var(--fbp-namen, #FCD178); }
.fbp-such-hinweis {
	max-width: 760px;
	margin: 14px auto 0;
	text-align: center;
	font-size: 13px;
	letter-spacing: .08em;
	color: rgba(241, 238, 227, .55);
}
/* Live-Ergebnisse */
#search-modal .ct-search-results {
	margin-top: 22px !important; /* Abstand zum Suchfeld (Wunsch 20.10.2026) */
	background: rgba(20, 26, 14, .97) !important;
	border: 1px solid color-mix(in srgb, var(--fbp-akzent, #DBB158) 45%, transparent) !important;
	border-radius: 2px !important;
	box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .9) !important;
}
#search-modal .ct-search-results a {
	color: #F1EEE3 !important;
	border-color: rgba(219, 177, 88, .15) !important;
}
#search-modal .ct-search-results a:hover,
#search-modal .ct-search-results a:focus { color: var(--fbp-namen, #FCD178) !important; background: rgba(219, 177, 88, .08) !important; }
#search-modal .ct-search-results img { border: 1px solid color-mix(in srgb, var(--fbp-akzent, #DBB158) 60%, transparent); }
#search-modal .ct-search-more { color: var(--fbp-akzent, #DBB158) !important; }

@media (prefers-reduced-motion: reduce) {
	header#header::after, header#masthead::after, header.site-header::after { transition: none; }
}

/* Blocksy-Menue mit Hover-Effekt "gefuellt" (data-menu type-3): kein gruener Kasten hinter dem aktiven Punkt,
   der aktive Punkt wird nur heller wie im Entwurf */
header#header:not(.ct-panel) [data-menu] .ct-menu-link,
header#header:not(.ct-panel) [data-menu] > ul > li {
	background-color: transparent !important;
}
header#header:not(.ct-panel) [data-menu*="type-3"] .ct-menu-link::before,
header#header:not(.ct-panel) [data-menu*="type-2"] .ct-menu-link::before {
	display: none !important;
}
