/* Webbaukasten – Fußbereich-Generator */
.wbk-ftg { --ft-bg: var(--wp--preset--color--contrast); --ft-fg: var(--wp--preset--color--base); --ft-accent: var(--wp--preset--color--accent); --ft-line: color-mix(in srgb, var(--ft-fg) 16%, transparent); background: var(--ft-bg); color: var(--ft-fg); font-size: .95rem; line-height: 1.6; margin-top: 0 !important; }
.wbk-ftg--bg-farbig { --ft-bg: var(--wp--preset--color--primary); --ft-fg: var(--wp--preset--color--on-primary); --ft-accent: var(--wp--preset--color--on-primary); }
.wbk-ftg--bg-grau { --ft-bg: var(--wp--preset--color--base-2); --ft-fg: var(--wp--preset--color--contrast); --ft-accent: var(--wp--preset--color--primary); }
.wbk-ftg--bg-hell { --ft-bg: var(--wp--preset--color--base); --ft-fg: var(--wp--preset--color--contrast); --ft-accent: var(--wp--preset--color--primary); border-top: 1px solid color-mix(in srgb, var(--ft-fg) 12%, transparent); }
.wbk-ftg-in { max-width: var(--wp--style--global--wide-size, 1200px); margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2rem); box-sizing: border-box; }
.wbk-ftg-main { padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(1.5rem, 4vw, 2.5rem); }
.wbk-ftg a { color: inherit; text-decoration: none; }
.wbk-ftg a:hover, .wbk-ftg a:focus-visible { text-decoration: underline; text-underline-offset: 3px; color: inherit; }
.wbk-ftg a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 3px; }
.wbk-ftg p { margin: 0 0 .8em; }
.wbk-ftg-h { font-size: .8rem !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; margin: 0 0 1em !important; opacity: .75; color: inherit; font-family: inherit; }
.wbk-ftg-grid { display: grid; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.wbk-ftg-g3 { grid-template-columns: 1.4fr 1fr 1fr; }
.wbk-ftg-g4 { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
.wbk-ftg-g6 { grid-template-columns: 1.6fr 1fr 1fr; }
.wbk-ftg-list { list-style: none; margin: 0; padding: 0; }
.wbk-ftg-list li { margin: 0 0 .55em; }
.wbk-ftg-logo img { max-height: 56px; width: auto; display: block; margin-bottom: 1rem; }
.wbk-ftg--bg-dunkel .wbk-ftg-logo img, .wbk-ftg--bg-farbig .wbk-ftg-logo img { background: color-mix(in srgb, #fff 92%, transparent); padding: 6px 10px; border-radius: 8px; }
.wbk-ftg-name { display: inline-block; font-weight: 700; font-size: 1.25rem; margin-bottom: .6rem; font-family: var(--wp--preset--font-family--heading, inherit); }
.wbk-ftg-slogan { opacity: .8; max-width: 34ch; }
.wbk-ftg-hours { opacity: .85; }
.wbk-ftg-social { margin-top: 1rem; }
.wbk-ftg-social .wbk-social { justify-content: flex-start; }
.wbk-ftg-bar { border-top: 1px solid var(--ft-line); }
.wbk-ftg-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1.5rem; padding: 1.1rem 0; font-size: .88rem; }
.wbk-ftg-legal { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; }
.wbk-ftg-legal span { opacity: .5; }
.wbk-ftg-top { font-weight: 600; }
.wbk-ftg-row { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.6rem; margin: 1rem 0; font-weight: 500; }
.wbk-ftg-center { text-align: center; display: flex; flex-direction: column; align-items: center; }
.wbk-ftg-center .wbk-ftg-logo img { margin: 0 auto 1rem; }
.wbk-ftg-center .wbk-ftg-slogan { margin-inline: auto; }
.wbk-ftg-center .wbk-ftg-social .wbk-social, .wbk-ftg-inline { justify-content: center; }
.wbk-ftg-inline p { display: inline; margin: 0 .6em; }
.wbk-ftg-inline p br { display: none; }
.wbk-ftg-inline a { margin: 0 .45em; }
.wbk-ftg--l3 .wbk-ftg-bottom { justify-content: center; text-align: center; flex-direction: column; }
.wbk-ftg--l4 .wbk-ftg-main { padding: 1.4rem 0 .4rem; }
.wbk-ftg-compact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.wbk-ftg-compact .wbk-ftg-row { margin: 0; justify-content: flex-start; }
.wbk-ftg-compact .wbk-ftg-social { margin: 0; }
.wbk-ftg-big { display: block; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; line-height: 1.25; margin: 0 0 .4rem; font-family: var(--wp--preset--font-family--heading, inherit); word-break: break-word; }
.wbk-ftg-mail { font-size: clamp(1.05rem, 2vw, 1.3rem); }
.wbk-ftg-cta { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--on-primary); padding: clamp(1.8rem, 4vw, 2.6rem) 0; }
.wbk-ftg--bg-farbig .wbk-ftg-cta { background: color-mix(in srgb, var(--wp--preset--color--primary) 82%, #000); }
.wbk-ftg-cta .wbk-ftg-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.wbk-ftg-cta p { margin: 0; }
.wbk-ftg-cta-t { font-size: clamp(1.3rem, 3vw, 1.75rem); font-weight: 700; font-family: var(--wp--preset--font-family--heading, inherit); margin-bottom: .2em !important; }
.wbk-ftg .wbk-ftg-btn { display: inline-block; background: var(--wp--preset--color--on-primary); color: var(--wp--preset--color--primary); padding: .85em 1.6em; border-radius: var(--wbk-btn-radius, var(--wbk-radius, 8px)); font-weight: 700; text-decoration: none; white-space: nowrap; }
.wbk-ftg .wbk-ftg-btn:hover { text-decoration: none; filter: brightness(.95); color: var(--wp--preset--color--primary); }
/* Zweifarbig: helle Spalten, dunkle Leiste */
.wbk-ftg--split { background: var(--wp--preset--color--base-2); color: var(--wp--preset--color--contrast); }
.wbk-ftg--split .wbk-ftg-bar { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-top: 0; }
/* Übernommener Fußbereich */
.wbk-ftg-old .wbk-of-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); align-items: start; }
.wbk-ftg-old ul { list-style: none; margin: 0 0 1em; padding: 0; }
.wbk-ftg-old li { margin: .3em 0; }
.wbk-ftg-old img { max-width: 100%; height: auto; }
.wbk-ftg-old h1, .wbk-ftg-old h2, .wbk-ftg-old h3, .wbk-ftg-old h4 { font-size: 1.05rem; margin: 0 0 .6em; color: inherit; }
@media (max-width: 900px) {
	.wbk-ftg-g4 { grid-template-columns: 1fr 1fr; }
	.wbk-ftg-g3, .wbk-ftg-g6 { grid-template-columns: 1fr 1fr; }
	.wbk-ftg-g3 > .is-brand, .wbk-ftg-g4 > .is-brand, .wbk-ftg-g6 > .is-big { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.wbk-ftg-g3, .wbk-ftg-g4, .wbk-ftg-g6 { grid-template-columns: 1fr; }
	.wbk-ftg-bottom { flex-direction: column; align-items: flex-start; }
	.wbk-ftg-cta .wbk-ftg-in { flex-direction: column; align-items: flex-start; }
	.wbk-ftg--l3 .wbk-ftg-bottom { align-items: center; }
}
/* Platz für die feste Leiste der Handy-Navigation (Variante 9) */
body:has(.wbk-tabbar) .wbk-ftg-bar { padding-bottom: 64px; }
/* Dunkle Designs: „Dunkel“ = noch dunkler als die Seite, Schrift hell */
body.wbk-design-dark .wbk-ftg--bg-dunkel { --ft-bg: color-mix(in srgb, var(--wp--preset--color--base) 70%, #000); --ft-fg: var(--wp--preset--color--contrast); }
body.wbk-design-dark .wbk-ftg--split { background: var(--wp--preset--color--base-2); color: var(--wp--preset--color--contrast); }
body.wbk-design-dark .wbk-ftg--split .wbk-ftg-bar { background: color-mix(in srgb, var(--wp--preset--color--base) 70%, #000); color: var(--wp--preset--color--contrast); }
footer.wp-block-template-part:has(> .wbk-ftg) { margin-top: 0; padding: 0; }
/* ---------- Aufbauten 9–12 (ab 1.10) ---------- */
.wbk-ftg-huge { font-family: var(--wp--preset--font-family--heading, inherit); font-weight: 800; text-transform: uppercase; letter-spacing: -.04em; line-height: .9; font-size: min(11rem, calc(min(100vw - 2rem, 1200px) * 1.5 / var(--n, 12))); margin: 0 0 clamp(1.5rem, 4vw, 3rem) !important; white-space: nowrap; overflow: hidden; text-overflow: clip; opacity: .95; background: linear-gradient(180deg, var(--ft-fg) 40%, color-mix(in srgb, var(--ft-fg) 25%, transparent)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wbk-ftg-run { display: block; overflow: hidden; white-space: nowrap; border-top: 1px solid var(--ft-line); border-bottom: 1px solid var(--ft-line); padding: clamp(.8rem, 2vw, 1.4rem) 0; margin: 0 0 clamp(2rem, 4vw, 3rem); text-decoration: none !important; }
.wbk-ftg-run > span:first-child { display: inline-block; animation: wbk-ftrun 30s linear infinite; }
.wbk-ftg-run b { font-family: var(--wp--preset--font-family--heading, inherit); font-size: clamp(1.8rem, 5vw, 3.6rem); font-weight: 800; letter-spacing: -.02em; margin-right: 2.5rem; color: var(--ft-accent); }
.wbk-ftg-run:hover > span:first-child { animation-play-state: paused; }
@keyframes wbk-ftrun { to { transform: translateX(-50%); } }
.wbk-ftg-adv { list-style: none; margin: 0 0 clamp(2rem, 4vw, 3rem); padding: 0 0 clamp(1.5rem, 3vw, 2rem); display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; border-bottom: 1px solid var(--ft-line); }
.wbk-ftg-adv li { display: flex; align-items: center; gap: .8rem; font-weight: 600; }
.wbk-ftg-adv svg { flex: 0 0 auto; padding: 10px; width: 46px; height: 46px; border-radius: 50%; background: color-mix(in srgb, var(--ft-accent) 18%, transparent); color: var(--ft-accent); box-sizing: border-box; }
.wbk-ftg-g12 { grid-template-columns: 1.4fr 1fr 1fr; }
.wbk-ftg-card { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--on-primary); border-radius: max(18px, var(--wbk-radius, 12px)); padding: clamp(1.4rem, 3vw, 2.2rem); display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; box-shadow: 0 20px 50px rgba(0, 0, 0, .18); }
.wbk-ftg-card .wbk-ftg-logo img { background: color-mix(in srgb, #fff 92%, transparent); padding: 6px 10px; border-radius: 8px; }
.wbk-ftg--bg-farbig .wbk-ftg-card { background: color-mix(in srgb, var(--wp--preset--color--primary) 80%, #000); }
.wbk-ftg .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 900px) { .wbk-ftg-adv { grid-template-columns: 1fr 1fr; } .wbk-ftg-g12 { grid-template-columns: 1fr 1fr; } .wbk-ftg-g12 > .wbk-ftg-card { grid-column: 1 / -1; } }
@media (max-width: 560px) { .wbk-ftg-adv, .wbk-ftg-g12 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .wbk-ftg-run > span:first-child { animation: none; } }
