/*
Theme Name: Anhänger Vogeler
Author: geckIT
Author URI: https://geckit.de
Description: Block-Theme für Anhänger Vogeler und die Vogeler Gartengeräte GmbH in Essen. Stahl-Anthrazit, Signal-Orange und Garten-Grün.
Version: 0.1.0
Requires at least: 6.8
Tested up to: 7.1
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: vogeler
*/

/* ============================================================
   Aufbau
   1  Grundlagen (Tokens, Fokus, Knöpfe, Kicker, Abschnitte)
   2  Info-Leiste und Kopfzeile (inkl. Menü)
   3  Hero (zwei Welten)
   4  Startseiten-Bausteine (Welten, Lastband, Karten, Warum, Kontakt)
   5  Unterseiten (Seitenkopf, Unternavigation, Bauarten, Galerie, Tabelle)
   6  Plugins: Bestandslisten, Öffnungszeiten, Standort, Formular, Karte, Hinweise
   7  Fuß
   8  Bewegung reduzieren
   ============================================================ */

/* ---------- 1 Grundlagen ---------- */

:root {
	--vg-weiss-85: color-mix(in oklch, var(--wp--preset--color--weiss) 85%, transparent);
	--vg-weiss-70: color-mix(in oklch, var(--wp--preset--color--weiss) 72%, transparent);
	--vg-weiss-10: color-mix(in oklch, var(--wp--preset--color--weiss) 10%, transparent);
	--vg-weiss-5: color-mix(in oklch, var(--wp--preset--color--weiss) 5%, transparent);
	--vg-schatten: 0 14px 32px color-mix(in oklch, var(--wp--preset--color--primaer-dunkel) 12%, transparent);
	--vg-radius: 3px;
	--vg-infoleiste-h: 2.25rem;
	--vg-kopf-h: 4rem;
	--vg-admin: 0px;
}
body.admin-bar { --vg-admin: 32px; }
@media (max-width: 782px) { body.admin-bar { --vg-admin: 46px; } }

html { scroll-behavior: smooth; }
body { overflow-x: clip; }
::selection { background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--tinte); }
:root { accent-color: var(--wp--preset--color--akzent-knopf); caret-color: var(--wp--preset--color--akzent-knopf); }

/* Seitenrahmen: kein Standardabstand zwischen Kopf, Inhalt und Fuß; Fuß klebt unten (auch auf kurzen Seiten wie 404) */
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0 !important; }
.wp-site-blocks > main { flex: 1 0 auto; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--akzent);
	outline-offset: 2px;
	border-radius: 2px;
}

.vg-inhalt > .wp-block-post-content > * { margin-block: 0; }
.vg-inhalt--schlicht { padding-block: 4rem 5rem; }

.vg-kicker {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 0.8rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--akzent-text);
}
.vg-dunkel .vg-kicker, .vg-hero .vg-kicker, .vg-seitenkopf .vg-kicker { color: var(--wp--preset--color--akzent); }
.vg-hero__welt--garten .vg-kicker { color: var(--vg-weiss-85); }
.vg-kicker + :is(h1, h2, h3) { margin-top: 0.5rem; }

.vg-einleitung { max-width: 40rem; font-size: 1.05rem; }
/* Randnotizen: kurze Zeilen (max. ~75 Zeichen), links am breiten Raster — dafür steckt jede Notiz in einem .vg-notizzeile-Container. */
.vg-randnotiz { max-width: min(72ch, 100%); font-size: 0.85rem; opacity: 0.8; }
.vg-notizzeile > .vg-randnotiz { margin: 0; }
.vg-rechtstext .vg-randnotiz { max-width: var(--wp--style--global--content-size); }
.vg-mehr a {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
	color: var(--wp--preset--color--akzent-text);
	display: inline-block;
	padding-block: 0.6rem; /* Klickfläche ≥ 44 px */
}
.vg-mehr a:hover { color: var(--wp--preset--color--tinte); }

/* Knöpfe: gefüllt (Orange), Umriss (Stahl). Keine Schwebe-Effekte — nur Farbe wechselt. */
.wp-block-button__link { transition: background-color 0.18s, color 0.18s, border-color 0.18s; min-height: 44px; display: inline-flex; align-items: center; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 2px solid var(--wp--preset--color--primaer);
	color: var(--wp--preset--color--primaer);
	padding: calc(0.95rem - 2px) calc(1.6rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--primaer); color: var(--wp--preset--color--weiss); }
.vg-dunkel .wp-block-button.is-style-outline > .wp-block-button__link { border-color: var(--vg-weiss-70); color: var(--wp--preset--color--weiss); }
.vg-dunkel .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--weiss); color: var(--wp--preset--color--primaer); }

/* Abschnitte */
.vg-abschnitt { padding-block: clamp(3.5rem, 7vw, 5rem); }
.vg-abschnitt > * + * { margin-top: 2rem; }
.vg-abschnitt--oben-ohne { padding-top: 0; }
.vg-flaeche { background: var(--wp--preset--color--grund-2); }
.vg-dunkel { background: var(--wp--preset--color--primaer); color: var(--vg-weiss-85); }
.vg-dunkel :is(h1, h2, h3, h4) { color: var(--wp--preset--color--weiss); }
.vg-dunkel a:not(.wp-block-button__link) { color: var(--wp--preset--color--akzent); }
.vg-dunkel .vg-randnotiz { color: var(--vg-weiss-70); opacity: 1; }
.vg-kopfzeile > * { margin-block: 0; }
.vg-kopfzeile > * + * { margin-top: 0.75rem; }
.vg-kopfzeile--mit-knopf { gap: 1rem 2rem; }
.vg-kopfzeile__text { max-width: 40rem; }
.vg-kopfzeile__text > * { margin-block: 0; }
.vg-kopfzeile__text > * + * { margin-top: 0.75rem; }

.vg-sterne { color: var(--wp--preset--color--akzent); letter-spacing: 0.05em; }
.vg-punkt { color: var(--wp--preset--color--akzent); }

/* ---------- 2 Info-Leiste und Kopfzeile ---------- */

header.vg-kopfbereich {
	position: sticky;
	top: calc(var(--vg-admin) - var(--vg-infoleiste-h));
	z-index: 50;
}
.vg-infoleiste {
	background: var(--wp--preset--color--primaer-dunkel);
	color: var(--vg-weiss-85);
	font-size: 0.85rem;
	height: var(--vg-infoleiste-h);
	overflow: hidden;
}
.vg-infoleiste__innen { height: 100%; align-items: center; gap: 0.5rem 1.5rem; flex-wrap: nowrap !important; }
.vg-infoleiste__links { gap: 0.5rem 1.5rem; align-items: center; }
.vg-infoleiste p, .vg-infoleiste address { margin: 0; }
.vg-infoleiste a, .vg-infoleiste .geckit-location a { color: var(--vg-weiss-85); font-weight: 400; text-decoration: none; }
.vg-infoleiste a:hover, .vg-infoleiste .geckit-location a:hover { color: var(--wp--preset--color--weiss); }
.vg-infoleiste .geckit-location__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.vg-infoleiste__tel .geckit-location__phone { display: inline-flex; align-items: center; gap: 0.4rem; }
.vg-infoleiste__tel .geckit-location__phone::before, .vg-infoleiste__zeiten::before {
	content: "";
	width: 1rem;
	height: 1rem;
	background: currentColor;
	-webkit-mask: var(--vg-icon) center / contain no-repeat;
	mask: var(--vg-icon) center / contain no-repeat;
}
/* icon: phone (Phosphor) */
.vg-infoleiste__tel .geckit-location__phone::before { --vg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M222.37,158.46l-47.11-21.11-.13-.06a16,16,0,0,0-15.17,1.4,8.12,8.12,0,0,0-.75.56L134.87,160c-15.42-7.49-31.34-23.29-38.83-38.51l20.78-24.71c.2-.25.39-.5.57-.77a16,16,0,0,0,1.32-15.06l0-.12L97.54,33.64a16,16,0,0,0-16.62-9.52A56.26,56.26,0,0,0,32,80c0,79.4,64.6,144,144,144a56.26,56.26,0,0,0,55.88-48.92A16,16,0,0,0,222.37,158.46ZM176,208A128.14,128.14,0,0,1,48,80,40.2,40.2,0,0,1,82.87,40a.61.61,0,0,0,0,.12l21,47L83.2,111.86a6.13,6.13,0,0,0-.57.77,16,16,0,0,0-1,15.7c9.06,18.53,27.73,37.06,46.46,46.11a16,16,0,0,0,15.75-1.14,8.44,8.44,0,0,0,.74-.56L168.89,152l47,21.05h0s.08,0,.11,0A40.21,40.21,0,0,1,176,208Z'/%3E%3C/svg%3E"); }
/* icon: clock (Phosphor) */
.vg-infoleiste__zeiten { display: inline-flex; align-items: center; gap: 0.4rem; }
.vg-infoleiste__zeiten::before { --vg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm64-88a8,8,0,0,1-8,8H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48A8,8,0,0,1,192,128Z'/%3E%3C/svg%3E"); }
@media (max-width: 719px) {
	.vg-infoleiste__zeiten, .vg-infoleiste__bewertung { display: none !important; }
}

.vg-kopf {
	position: relative;
	isolation: isolate;
	border-bottom: 1px solid var(--wp--preset--color--linie);
}
/* Unschärfe auf einem Pseudo-Element: backdrop-filter direkt auf .vg-kopf würde das fixierte Handy-Menü in die Kopfzeile sperren. */
.vg-kopf::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: color-mix(in oklch, var(--wp--preset--color--grund) 95%, transparent);
	backdrop-filter: blur(8px);
}
.vg-kopf__innen { min-height: var(--vg-kopf-h); align-items: center; gap: 1.5rem; }
.vg-wortmarke { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.35rem; line-height: 1; letter-spacing: -0.01em; }
.vg-wortmarke a { color: var(--wp--preset--color--tinte); text-decoration: none; display: inline-block; padding-block: 0.6rem; }
.vg-wortmarke span { color: var(--wp--preset--color--akzent-text); }
.vg-wortmarke--hell a { color: var(--wp--preset--color--weiss); }
.vg-wortmarke--hell span { color: var(--wp--preset--color--akzent); }

.vg-menue { margin-left: auto; font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; }
.vg-menue .wp-block-navigation__container { gap: 1.75rem; }
.vg-menue .wp-block-navigation-item__content { color: var(--wp--preset--color--tinte); text-decoration: none; padding-block: 0.7rem; border-bottom: 2px solid transparent; transition: color 0.18s, border-color 0.18s; }
.vg-menue .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--akzent-text); }
.vg-menue .current-menu-item > .wp-block-navigation-item__content,
.vg-menue .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--wp--preset--color--akzent-text); border-bottom-color: var(--wp--preset--color--akzent); }
.vg-menue .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--weiss) !important;
	border: 1px solid var(--wp--preset--color--linie) !important;
	border-radius: 4px;
	box-shadow: var(--vg-schatten);
	padding: 0.4rem !important;
	min-width: 15rem !important;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--wp--preset--font-family--text);
	font-size: 0.92rem;
}
.vg-menue .wp-block-navigation__submenu-container .wp-block-navigation-item__content { border: 0; padding: 0.55rem 0.7rem !important; border-radius: 3px; color: var(--wp--preset--color--text); }
.vg-menue .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--grund-2); color: var(--wp--preset--color--akzent-text); }
.vg-menue .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; justify-content: center; color: var(--wp--preset--color--tinte); }
.vg-menue .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--primaer) !important;
	color: var(--wp--preset--color--weiss) !important;
	padding: 1.5rem;
}
.vg-menue .is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container, .wp-block-navigation-item) { align-items: flex-start !important; text-align: left; }
.vg-menue .is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--weiss) !important; font-size: 1.1rem; }
.vg-menue .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; box-shadow: none; padding: 0 0 0 1rem !important; }
.vg-menue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--vg-weiss-85) !important; font-size: 1rem; }
.vg-menue .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; color: var(--wp--preset--color--weiss); }
.vg-kopf__anruf .wp-block-button__link { padding: 0.7rem 1.2rem; }
@media (max-width: 781px) {
	.vg-kopf__innen { gap: 0.75rem; }
	.vg-kopf__anruf { margin-left: auto !important; order: 2; }
	.vg-menue { order: 3; margin-left: 0; }
	.vg-kopf__anruf .wp-block-button__link { padding: 0.6rem 0.9rem; font-size: 0.85rem; }
}

/* ---------- 3 Hero: zwei Welten ---------- */

.vg-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: min(64vh, 40rem); margin-block: 0 !important; }
.vg-hero__welt {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: clamp(3rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 2.5rem);
	color: var(--vg-weiss-85);
	margin: 0 !important;
}
.vg-hero__welt::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--vg-hero-bild) center / cover no-repeat; opacity: 0.18; }
.vg-hero__welt::after { content: ""; position: absolute; inset: 0; z-index: -1; }
/* Anhänger-Welt: echtes Hof-Foto mit Vogeler-Plane, nur zur Mitte hin abgedunkelt — der Text bleibt lesbar, der Hof bleibt sichtbar. */
.vg-hero__welt--anhaenger { background: var(--wp--preset--color--primaer); --vg-hero-bild: url(assets/bilder/hof.jpg); }
.vg-hero__welt--anhaenger::before { opacity: 0.75; }
.vg-hero__welt--anhaenger::after { background: radial-gradient(ellipse 72% 70% at 50% 52%, color-mix(in oklch, var(--wp--preset--color--primaer) 93%, transparent) 0%, color-mix(in oklch, var(--wp--preset--color--primaer) 82%, transparent) 58%, color-mix(in oklch, var(--wp--preset--color--primaer) 50%, transparent) 100%); }
.vg-hero__welt--garten { background: var(--wp--preset--color--garten-dunkel); --vg-hero-bild: url(assets/bilder/hero-garten.jpg); border-left: 1px solid var(--vg-weiss-10); }
.vg-hero__welt--garten::after { background: linear-gradient(225deg, var(--wp--preset--color--garten-dunkel) 0%, color-mix(in oklch, var(--wp--preset--color--garten-dunkel) 88%, transparent) 55%, color-mix(in oklch, var(--wp--preset--color--garten-dunkel) 72%, transparent) 100%); }
.vg-hero__text { max-width: 28rem; display: flex; flex-direction: column; align-items: center; }
.vg-hero__text > * { margin-block: 0; }
.vg-hero__text > * + * { margin-top: 1rem; }
.vg-hero__text > .wp-block-buttons { margin-top: 1.5rem; justify-content: center; }
.vg-hero__titel { color: var(--wp--preset--color--weiss); font-size: clamp(2rem, 3.6vw, 2.5rem); font-weight: 700; line-height: 1.12; min-height: 2.3em; display: flex; align-items: center; }
.vg-hero__zeile { font-size: 0.9rem; color: var(--vg-weiss-85); margin-top: 1.5rem !important; }
@media (max-width: 781px) {
	.vg-hero { grid-template-columns: minmax(0, 1fr); }
	.vg-hero__welt--garten { border-left: 0; border-top: 1px solid var(--vg-weiss-10); }
	.vg-hero__titel { min-height: 0; }
}

/* ---------- 4 Startseiten-Bausteine ---------- */

.vg-welt { position: relative; background: var(--wp--preset--color--weiss); border: 1px solid var(--wp--preset--color--linie); border-radius: var(--vg-radius); overflow: hidden; display: flex; flex-direction: column; }
.vg-welt__bild { margin: 0 !important; aspect-ratio: 16 / 9; background: var(--wp--preset--color--grund-2); }
.vg-welt__bild img { width: 100%; height: 100%; object-fit: cover; }
.vg-welt__text { padding: 1.4rem 1.5rem 1rem; border-top: 4px solid var(--wp--preset--color--primaer); flex: 1; }
.vg-welt--garten .vg-welt__text { border-top-color: var(--wp--preset--color--garten); }
.vg-welt__text > * { margin-block: 0; }
.vg-welt__text > * + * { margin-top: 0.5rem; }

/* Lastband: Signatur der Seite — die Gewichtsklassen wie auf einer Ladekante */
.vg-lastband {
	gap: 0 !important;
	border: 1px solid var(--vg-weiss-10);
	border-radius: var(--vg-radius);
	overflow-x: auto;
	scrollbar-width: thin;
	background-image: repeating-linear-gradient(45deg, color-mix(in oklch, var(--wp--preset--color--akzent) 12%, transparent) 0 14px, transparent 14px 28px);
}
.vg-last { margin: 0 !important; padding: 1.2rem 1.5rem; flex: 1 0 auto; color: var(--vg-weiss-70); font-size: 0.85rem; line-height: 1.3; }
.vg-last + .vg-last { border-left: 1px solid var(--vg-weiss-10); }
.vg-last strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.6rem; color: var(--wp--preset--color--weiss); margin-bottom: 0.2rem; white-space: nowrap; }
.vg-last--akzent strong { color: var(--wp--preset--color--akzent); }
@media (max-width: 599px) {
	.vg-lastband { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr)); }
	.vg-last { padding: 0.9rem 1rem; border-top: 1px solid var(--vg-weiss-10); }
	.vg-last + .vg-last { border-left: 0; }
	.vg-last strong { font-size: 1.35rem; }
}

.vg-karten { gap: 1rem; }
.vg-karte { padding: 1.3rem 1.4rem; border-radius: var(--vg-radius); }
.vg-karte > * { margin-block: 0; }
.vg-karte > * + * { margin-top: 0.4rem; }
.vg-karte h3 { font-size: 1.15rem; }
.vg-karten--dunkel .vg-karte { background: var(--vg-weiss-5); border: 1px solid var(--vg-weiss-10); font-size: 0.92rem; color: var(--vg-weiss-70); }
.vg-karte--hell { background: var(--wp--preset--color--weiss); border: 1px solid var(--wp--preset--color--linie); }
.vg-zweispaltig { align-items: start; }
.vg-karte--gross { padding: 1.6rem 1.75rem; }
.vg-karte--gross h2, .vg-karte--gross h3 { font-size: 1.3rem; }
.vg-karte--garten { border-top: 3px solid var(--wp--preset--color--garten); }
.vg-zwischentitel { margin-top: 3rem !important; font-size: 1.35rem; }
.vg-zwischentitel + .vg-tabelle { margin-top: 1rem !important; }
.vg-kontakt h2, .vg-formular h2 { font-size: 1.3rem; }

.vg-warum { align-items: center; }
.vg-warum__gruende > * { margin-block: 0; }
.vg-warum__gruende > * + * { margin-top: 1rem; }
.vg-grund { padding-left: 1rem; border-left: 3px solid var(--wp--preset--color--akzent); }
.vg-grund > * { margin-block: 0; }
.vg-grund h3 { font-size: 1.1rem; }
.vg-bewertung { background: var(--wp--preset--color--primaer); color: var(--vg-weiss-85); padding: 2rem; border-radius: var(--vg-radius); }
.vg-bewertung > * { margin-block: 0; }
.vg-bewertung > * + * { margin-top: 1rem; }
.vg-bewertung__zahl { font-size: 1.05rem; color: var(--wp--preset--color--weiss); }
.vg-bewertung__zahl strong { font-family: var(--wp--preset--font-family--display); font-size: 3rem; line-height: 1; display: block; margin: 0.4rem 0 0.2rem; }

.vg-kontakt { align-items: start; }
.vg-kontakt__betriebe { display: grid; gap: 1rem; }
.vg-betrieb, .vg-zeiten, .vg-formular { background: var(--wp--preset--color--weiss); border: 1px solid var(--wp--preset--color--linie); border-radius: var(--vg-radius); padding: 1.4rem 1.5rem; margin: 0 !important; }
.vg-betrieb { border-top: 4px solid var(--wp--preset--color--primaer); }
.vg-betrieb--garten { border-top-color: var(--wp--preset--color--garten); }
:is(.vg-betrieb, .vg-zeiten, .vg-formular) > * { margin-block: 0; }
:is(.vg-betrieb, .vg-zeiten, .vg-formular) > * + * { margin-top: 0.75rem; }
:is(.vg-betrieb, .vg-zeiten, .vg-formular) h3 { font-size: 1.15rem; }
.vg-formular { padding: 1.6rem; }

/* ---------- 5 Unterseiten ---------- */

.vg-seitenkopf { background: var(--wp--preset--color--primaer); color: var(--vg-weiss-85); padding-block: clamp(2.75rem, 6vw, 4rem) !important; }
.vg-seitenkopf h1 { color: var(--wp--preset--color--weiss); font-size: clamp(2.25rem, 5vw, 3rem); }
.vg-seitenkopf__innen > * { margin-block: 0; }
.vg-seitenkopf__innen > * + * { margin-top: 0.75rem; }
.vg-seitenkopf__innen .vg-kicker { margin-top: 1rem; }
.vg-seitenkopf h1 { max-width: 48rem; }
.vg-seitenkopf .vg-einleitung { color: var(--vg-weiss-85); }
/* Seiten der Vogeler Gartengeräte GmbH tragen das Grün der Garten-Welt; Orange auf Grün ist zu kontrastarm, dort wird hell gesetzt. */
.vg-seitenkopf--garten, .vg-dunkel--garten { background: var(--wp--preset--color--garten-dunkel); }
:is(.vg-seitenkopf--garten, .vg-dunkel--garten) .vg-kicker { color: var(--vg-weiss-85); }
.vg-dunkel--garten a:not(.wp-block-button__link) { color: var(--wp--preset--color--weiss); }
.vg-seitenkopf--garten .vg-pfad a:hover { color: var(--wp--preset--color--weiss); }
.vg-pfad { font-size: 0.85rem; color: var(--vg-weiss-70); }
.vg-pfad a { color: var(--vg-weiss-85); text-decoration: none; }
.vg-pfad a:hover { color: var(--wp--preset--color--akzent); }
.vg-seitenkopf__unterzeile { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; font-weight: 500; color: var(--wp--preset--color--akzent) !important; }

.vg-unternav {
	position: sticky;
	top: calc(var(--vg-admin) + var(--vg-kopf-h));
	z-index: 40;
	margin-block: 0 !important;
	background: color-mix(in oklch, var(--wp--preset--color--grund) 95%, transparent);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--linie);
}
.vg-unternav ul { display: flex; gap: 0 1.5rem; overflow-x: auto; margin: 0 auto; padding: 0; list-style: none; scrollbar-width: none; }
.vg-unternav a { display: block; white-space: nowrap; padding: 0.8rem 0; font-family: var(--wp--preset--font-family--display); font-size: 0.85rem; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: var(--wp--preset--color--text); text-decoration: none; border-bottom: 2px solid transparent; }
.vg-unternav a:hover { color: var(--wp--preset--color--akzent-text); border-bottom-color: var(--wp--preset--color--akzent); }
:where(.vg-inhalt) [id] { scroll-margin-top: calc(var(--vg-admin) + var(--vg-kopf-h) + 3.5rem); }

.vg-marken { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; margin: 0; list-style: none; }
.vg-marken li { padding: 0.35rem 0.8rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 99px; background: var(--wp--preset--color--weiss); font-size: 0.85rem; font-weight: 600; color: var(--wp--preset--color--tinte); }

.vg-bauarten { gap: 1rem; }
.vg-bauart { background: var(--wp--preset--color--weiss); border: 1px solid var(--wp--preset--color--linie); border-radius: var(--vg-radius); padding: 0.9rem; margin: 0 !important; display: flex; flex-direction: column; gap: 0.6rem; }
.vg-bauart figure { margin: 0 !important; aspect-ratio: 4 / 3; background: var(--wp--preset--color--weiss); }
.vg-bauart figure img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 599px) { .vg-bauarten { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.vg-bauart p { margin: 0; font-weight: 600; font-size: 0.92rem; line-height: 1.35; color: var(--wp--preset--color--tinte); hyphens: auto; overflow-wrap: break-word; }

.vg-tabelle { margin-bottom: 0 !important; }
.vg-tabelle table { width: 100%; border-collapse: collapse; background: var(--wp--preset--color--weiss); font-size: 0.95rem; }
.vg-tabelle :is(th, td) { text-align: left; padding: 0.75rem 1rem; border: 0; border-bottom: 1px solid var(--wp--preset--color--linie); }
.vg-tabelle thead th { background: var(--wp--preset--color--primaer); color: var(--wp--preset--color--weiss); font-family: var(--wp--preset--font-family--display); font-weight: 500; letter-spacing: 0.04em; }
.vg-tabelle td:first-child { font-weight: 600; color: var(--wp--preset--color--tinte); white-space: nowrap; }

.vg-galerie { gap: 0.75rem; }
.vg-galerie figure { margin: 0 !important; aspect-ratio: 1; background: var(--wp--preset--color--weiss); border: 1px solid var(--wp--preset--color--linie); border-radius: var(--vg-radius); padding: 0.5rem; box-sizing: border-box; }
.vg-galerie figure img { display: block; width: 100%; height: 100%; object-fit: contain; }

.vg-hinweisband { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; padding: 1rem 1.25rem; border-radius: var(--vg-radius); background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--tinte); font-weight: 600; }
.vg-hinweisband a { color: var(--wp--preset--color--tinte) !important; font-size: 1.15rem; }

.vg-fragen { text-align: center; border-top: 1px solid var(--wp--preset--color--linie); }
.vg-fragen > * { margin-inline: auto; }
.vg-fragen .wp-block-buttons { justify-content: center; }

.vg-rechtstext h2 { font-size: 1.5rem; margin-top: 2.5rem; }
.vg-rechtstext h3 { font-size: 1.15rem; margin-top: 1.75rem; }

/* ---------- 6 Plugins ---------- */

/* Bestandslisten (Plugin vogeler-bestand) */
.vg-bestand { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }
.vg-bestand__eintrag { position: relative; display: flex; flex-direction: column; background: var(--wp--preset--color--weiss); border: 1px solid var(--wp--preset--color--linie); border-radius: var(--vg-radius); overflow: hidden; color: var(--wp--preset--color--text); }
.vg-bestand__foto { margin: 0; aspect-ratio: 4 / 3; background: var(--wp--preset--color--weiss); display: grid; place-items: center; border-bottom: 1px solid var(--wp--preset--color--linie); }
.vg-bestand__foto img { width: 100%; height: 100%; object-fit: contain; padding: 0.5rem; box-sizing: border-box; }
.vg-bestand__foto--leer { background: repeating-linear-gradient(45deg, var(--wp--preset--color--grund) 0 10px, var(--wp--preset--color--grund-2) 10px 20px); }
.vg-bestand__text { padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; flex: 1; }
.vg-bestand__text > * { margin: 0; }
.vg-bestand__hersteller { font-family: var(--wp--preset--font-family--display); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--akzent-text); }
.vg-bestand .vg-bestand__titel { font-family: var(--wp--preset--font-family--text); font-size: 1.02rem; font-weight: 700; letter-spacing: 0; line-height: 1.3; color: var(--wp--preset--color--tinte); margin-top: 0.2rem !important; }
.vg-bestand__daten { display: grid; gap: 0.15rem; margin-top: 0.6rem !important; font-size: 0.88rem; }
.vg-bestand__daten div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.4rem; }
.vg-bestand__daten dt { color: color-mix(in oklch, var(--wp--preset--color--text) 80%, transparent); }
.vg-bestand__daten dt::after { content: ":"; }
.vg-bestand__daten dd { margin: 0; font-weight: 600; color: var(--wp--preset--color--tinte); }
.vg-bestand__ausstattung { margin-top: 0.5rem !important; font-size: 0.85rem; line-height: 1.5; }
.vg-bestand__preis { margin-top: auto !important; padding-top: 0.8rem; }
.vg-bestand__betrag { font-family: var(--wp--preset--font-family--display); font-size: 1.45rem; font-weight: 700; color: var(--wp--preset--color--tinte); }
.vg-bestand__betrag--anfrage { font-size: 1.05rem; }
.vg-bestand__einheit { font-size: 0.9rem; }
.vg-bestand__zusatz { font-size: 0.82rem; margin-top: 0.2rem !important; }
.vg-bestand__badge { position: absolute; top: 0.75rem; left: 0.75rem; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--tinte); font-size: 0.75rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 99px; }
.vg-bestand-block--drei .vg-bestand { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
/* Lastklassen-Filter (Plugin vogeler-bestand, view.js) */
.vg-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.vg-filter__knopf { min-height: 44px; padding: 0.5rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 99px; background: var(--wp--preset--color--weiss); font: 600 0.9rem/1 var(--wp--preset--font-family--text); color: var(--wp--preset--color--tinte); cursor: pointer; transition: background-color 0.15s, border-color 0.15s, color 0.15s; }
.vg-filter__knopf span { margin-left: 0.3rem; font-weight: 500; color: color-mix(in oklch, currentColor 70%, transparent); font-variant-numeric: tabular-nums; }
.vg-filter__knopf:hover { border-color: var(--wp--preset--color--akzent-knopf); }
.vg-filter__knopf[aria-pressed="true"] { background: var(--wp--preset--color--primaer); border-color: var(--wp--preset--color--primaer); color: var(--wp--preset--color--weiss); }
.vg-filter__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.vg-filter[hidden], .vg-bestand__eintrag[hidden] { display: none !important; }
.vg-bestand-leer { padding: 1.25rem 1.5rem; border: 1px dashed var(--wp--preset--color--linie); border-radius: var(--vg-radius); background: var(--wp--preset--color--grund-2); margin: 0; }
.vg-dunkel .vg-bestand-block--drei .vg-bestand { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.vg-bestand-leer { background: var(--vg-weiss-5); border-color: var(--vg-weiss-10); }

/* Öffnungszeiten und Standort (Plugin geckit-local-business) */
.geckit-hours { border-collapse: collapse; margin: 0; }
.geckit-hours th, .geckit-hours td { padding: 0.25rem 1.25rem 0.25rem 0; text-align: left; font-weight: 400; border: 0; }
.geckit-hours th { font-weight: 600; color: var(--wp--preset--color--tinte); white-space: nowrap; }
.geckit-hours .is-closed td { color: color-mix(in oklch, var(--wp--preset--color--text) 75%, transparent); }
.geckit-hours__note { font-size: 0.88rem; margin: 0.5rem 0 0; }
.geckit-location { font-style: normal; display: grid; gap: 0.2rem; }
.geckit-location__row { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.geckit-location__label { color: color-mix(in oklch, var(--wp--preset--color--text) 80%, transparent); }
.geckit-location__label::after { content: ":"; }
.geckit-location a { display: inline-block; padding-block: 0.3rem; color: var(--wp--preset--color--tinte); font-weight: 600; text-decoration-color: var(--wp--preset--color--akzent); text-underline-offset: 3px; }
.geckit-location__value a + a { margin-left: 0.25rem; }
.geckit-location a:hover { color: var(--wp--preset--color--akzent-text); }

/* Kontaktformular (Plugin geckit-contact-form) */
.geckit-cf__field label { color: var(--wp--preset--color--tinte); font-size: 0.9rem; }
.geckit-cf__field :is(input, textarea) { border-color: var(--wp--preset--color--linie) !important; border-radius: 2px !important; padding: 0.7rem 0.8rem !important; min-height: 44px; }
.geckit-cf__field :is(input, textarea):focus { outline: 3px solid var(--wp--preset--color--akzent); outline-offset: 0; border-color: var(--wp--preset--color--akzent-text) !important; }
.geckit-cf__submit { width: 100%; justify-content: center; justify-self: stretch !important; }
.geckit-cf__privacy { color: color-mix(in oklch, var(--wp--preset--color--text) 85%, transparent); }
.geckit-cf__success { border-left-color: var(--wp--preset--color--garten) !important; }

/* 2-Klick-Karte (Plugin geckit-local-business) */
.geckit-map { background: var(--wp--preset--color--grund-2) !important; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--vg-radius); color: var(--wp--preset--color--text) !important; }
.geckit-map__button { background: var(--wp--preset--color--akzent-knopf) !important; color: var(--wp--preset--color--weiss) !important; font-family: var(--wp--preset--font-family--display) !important; text-transform: uppercase; letter-spacing: 0.05em; min-height: 44px; border-radius: 2px !important; }
.geckit-map__button:hover { background: oklch(51% 0.123 54.6) !important; }
.geckit-map__link { color: var(--wp--preset--color--akzent-text) !important; width: fit-content; margin-inline: auto; padding-block: 0.6rem; }

/* Hinweis-Banner (Plugin geckit-local-business) */
.geckit-notice { background: var(--wp--preset--color--akzent) !important; color: var(--wp--preset--color--tinte) !important; border: 0 !important; }
.geckit-notice__inner { max-width: var(--wp--style--global--wide-size) !important; font-size: 0.92rem !important; }
.geckit-notice__link { color: var(--wp--preset--color--tinte) !important; }

/* ---------- 7 Fuß ---------- */

.vg-fuss { background: var(--wp--preset--color--primaer-dunkel); color: var(--vg-weiss-70); font-size: 0.9rem; padding-block: 3rem 0; }
.vg-fuss__spalten { gap: 2rem; padding-bottom: 2.5rem; }
.vg-fuss__spalten > * > * { margin-block: 0; }
.vg-fuss__spalten > * > * + * { margin-top: 0.75rem; }
.vg-fuss__titel { font-family: var(--wp--preset--font-family--display); font-size: 0.85rem !important; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--weiss); }
.vg-fuss__links { list-style: none; padding: 0; margin: 0; }
.vg-fuss__links a, .vg-fuss__recht a { color: var(--vg-weiss-70); text-decoration: none; display: inline-block; padding-block: 0.35rem; }
.vg-fuss__links a:hover, .vg-fuss__recht a:hover { color: var(--wp--preset--color--akzent); }
.vg-fuss .geckit-location__label { color: var(--vg-weiss-70); }
.vg-fuss .geckit-location a { color: var(--wp--preset--color--weiss); text-decoration-color: var(--wp--preset--color--akzent); }
.vg-fuss__unten { border-top: 1px solid var(--vg-weiss-10); padding-block: 1rem; font-size: 0.8rem; gap: 0.5rem 1.5rem; }
.vg-fuss__unten p { margin: 0; }
.vg-fuss__recht a + a { margin-left: 1rem; }

/* ---------- 8 Bewegung reduzieren ---------- */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
