/* ==========================================================
   vertical.guide – gemeinsame Fußzeile für ALLE Seiten
   (wird als letztes Stylesheet geladen und gewinnt damit)
   ========================================================== */

/* alte Platzhalter über der Fußzeile aufheben */
#kontakt.wrapper { padding-bottom: 4em !important; }
main > :last-child { padding-bottom: clamp(2.2rem, 5vw, 4rem) !important; }

#footer {
	position: relative;
	font-family: "Roboto Condensed", "Open Sans", Helvetica, Arial, sans-serif;
	font-size: 17px !important;
	line-height: 1.65;
	text-align: center;
	color: rgba(255,255,255,0.75);
	/* oben 150px durchsichtig für die Bergkette, darunter dunkelblau */
	background: linear-gradient(to bottom, transparent 149px, #023358 149px) !important;
	padding: calc(150px + 2.5em) 1.5em 3em 1.5em !important;
	margin: 0;
}

/* Bergkette sitzt jetzt IN der Fußzeile, oben an ihrem Rand */
#footer:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0 !important;
	bottom: auto !important;
	height: 150px !important;
	background: url("css/images/alpen.svg") bottom center / 100% 100% no-repeat !important;
	pointer-events: none;
	z-index: 0;
}

#footer > * {
	position: relative;
	z-index: 1;
}

#footer a {
	color: rgba(255,255,255,0.75);
	border: 0;
	text-decoration: none;
}

#footer a:hover { color: #00EBEF; }

/* Icons */
#footer ul.icons {
	list-style: none;
	margin: 0 0 2em 0;
	padding: 0;
	font-size: 1.5em;
	line-height: 1;
}

#footer ul.icons li {
	display: inline-block;
	padding: 0 0.75em;
}

#footer ul.icons .label { display: none; }

#footer ul.icons a,
#footer ul.icons a:before { color: #ffffff !important; }

#footer ul.icons a:hover,
#footer ul.icons a:hover:before { color: #00EBEF !important; }

/* Logos */
#footer .footer-partners {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2.5em;
	margin: 0 0 2em 0;
	flex-wrap: wrap;
}

#footer .footer-partners img {
	height: 5.5em;
	width: auto;
	opacity: 0.9;
	transition: opacity 0.2s ease;
}

#footer .footer-partners img[src*="vdbs"] { height: 6.3em; }
#footer .footer-partners a:hover img { opacity: 1; }

/* Rechtliches + Copyright */
#footer .footer-legal,
#footer .copyright {
	list-style: none;
	padding: 0;
	margin: 0 0 1.25em 0;
	font-size: 0.8em;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

#footer .footer-legal li,
#footer .copyright li {
	display: inline-block;
	margin: 0.25em 0.9em;
	padding: 0;
	border: 0;
	line-height: 1.5;
}

#footer .copyright {
	margin: 0;
	color: rgba(255,255,255,0.5);
}

#footer .linklike {
	background: none;
	border: 0;
	padding: 0;
	height: auto;
	line-height: inherit;
	box-shadow: none;
	cursor: pointer;
	color: rgba(255,255,255,0.75);
	font: inherit;
	letter-spacing: inherit;
	text-transform: uppercase;
	text-decoration: none;
}

#footer .linklike:hover { color: #00EBEF; }

@media screen and (max-width: 736px) {
	#footer {
		background: linear-gradient(to bottom, transparent 79px, #023358 79px) !important;
		padding-top: calc(80px + 2em) !important;
	}
	#footer:before { height: 80px !important; }
	#footer .footer-partners img { height: 4.5em; }
	#footer .footer-partners img[src*="vdbs"] { height: 5.2em; }
}

/* WhatsApp-Knopf – auf allen Seiten gleich, unten rechts */
a.wa-fab.icon,
.wa-fab {
	position: fixed !important;
	right: 1.25em;
	bottom: 1.25em;
	left: auto;
	top: auto;
	width: 3.4em;
	height: 3.4em;
	border-radius: 100%;
	background: #25D366;
	color: #fff !important;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0.5em 1.5em rgba(0,0,0,0.3);
	z-index: 9000;
	font-size: 17px;
	border: 0;
}

/* Cookie-Banner (für die Startseite, auf Unterseiten steht es schon in style.css) */
.consent{position:fixed;inset:auto 0 0 0;z-index:20000;display:flex;justify-content:center;padding:1rem;pointer-events:none;font-size:15px}
.consent__box{pointer-events:auto;width:min(100%,720px);max-height:90vh;overflow:auto;background:#fff;color:#444;border-radius:4px;box-shadow:0 8px 40px rgba(0,0,0,.35);padding:1.4rem 1.5rem;line-height:1.5;text-align:left}
.consent h2{font-size:1.4rem;margin:0 0 .4rem;color:#023358;letter-spacing:.1em}
.consent p{margin:0 0 .8rem;color:#444}
.consent__opts{display:grid;gap:.6rem;margin:1rem 0}
.consent__opt{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .8rem;border:1px solid #ddd;border-radius:3px;color:#444}
.consent__opt input{margin-top:.3rem;width:18px;height:18px;accent-color:#0175C4;opacity:1;appearance:auto;-webkit-appearance:auto;position:static;float:none;margin-right:0}
.consent__opt small{display:block;color:#777}
.consent__btns{display:flex;flex-wrap:wrap;gap:.6rem}
.consent .btn{display:inline-block;background:#0175C4;color:#fff;border:0;cursor:pointer;padding:0 1.5em;height:2.8em;line-height:2.8em;border-radius:3px;font:inherit;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px}
.consent .btn:hover{background:#023358}
.consent .btn--ghost{background:#fff;color:#023358;box-shadow:inset 0 0 0 2px #023358}
.consent .btn--ghost:hover{background:#023358;color:#fff}
.consent__links{font-size:13px;margin-top:.8rem;color:#777}
.consent__links a{color:#0175C4}

/* ---------- Startseite: Fußzeilen-Oberkante nahtlos an den Kontaktbereich ---------- */
:root { --vg-tint: rgba(2, 51, 88, 0.42); }

body.landing #kontakt.wrapper.style4 {
	background-color: var(--vg-tint) !important;
}

body.landing #footer {
	background: linear-gradient(to bottom, var(--vg-tint) 149px, #023358 149px) !important;
}

@media screen and (max-width: 736px) {
	body.landing #footer {
		background: linear-gradient(to bottom, var(--vg-tint) 79px, #023358 79px) !important;
	}
}

/* Icons nochmals 20 % größer */
#footer ul.icons {
	font-size: 1.8em;
}

/* Nach-oben-Knopf: Pfeil mittig im Kreis */
.fab--top:not([hidden]) {
	display: grid !important;
	place-items: center;
	padding: 0;
}

.fab--top[hidden] { display: none !important; }

.fab--top .ico {
	display: block;
	width: 24px;
	height: 24px;
}

/* Cookie-Hinweis: Kurzfassung nur auf Smartphones */
.consent__short,.consent__more{display:none}
@media (max-width:600px){
	.consent{padding:.5rem;font-size:13px}
	.consent__box{padding:.75rem .85rem .6rem;border-radius:6px;max-height:80vh}
	.consent h2{font-size:.95rem;margin:0 0 .15rem;letter-spacing:.08em}
	.consent:not(.is-open) .consent__long,
	.consent:not(.is-open) .consent__opts,
	.consent:not(.is-open) .consent__links,
	.consent:not(.is-open) [data-act="sel"]{display:none}
	.consent:not(.is-open) .consent__short{display:block;margin:0 0 .55rem;font-size:13px;line-height:1.35}
	.consent__btns{gap:.4rem;align-items:center}
	.consent .btn{height:2.5em;line-height:2.5em;padding:0 .9em;font-size:11px;letter-spacing:.06em;flex:1 1 auto}
	.consent:not(.is-open) .consent__more{display:block;width:100%;background:none;border:0;padding:.35rem 0 0;color:#0175C4;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;text-align:center}
	.consent.is-open .consent__opt{padding:.45rem .6rem}
}

/* Cookie-Hinweis: Startseiten-Vorlage (Spectral) überschreibt Formular-Styles – zurücksetzen */
.consent .consent__opt{display:flex!important;margin:0;padding-left:.8rem;font-size:inherit;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.4;color:#444;cursor:pointer}
.consent .consent__opt:before,.consent .consent__opt:after{display:none!important;content:none!important}
.consent .consent__opt input[type=checkbox]{display:inline-block!important;opacity:1!important;position:static!important;margin:.15rem 0 0!important;flex:0 0 18px;z-index:1}
.consent strong{color:#023358;font-weight:700}
.consent .consent__opt small{font-size:.85em;letter-spacing:normal;font-weight:400;text-transform:none}
.consent .consent__more{letter-spacing:normal!important;text-transform:none!important;box-shadow:none!important;height:auto!important;line-height:1.3!important}

/* Sprachumschalter: zwei Mini-Fähnchen oben rechts */
#nav > ul > li.lang-switch{display:inline-flex!important;align-items:center;gap:.5em;margin:0 1.1em 0 0;padding:0!important;vertical-align:middle;line-height:1}
#nav .lang-switch__a{display:inline-flex!important;align-items:center;line-height:0!important;height:auto!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;opacity:.5;transition:opacity .2s ease,transform .2s ease}
#nav .lang-switch__a img{display:block;width:22px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 1px 4px rgba(0,0,0,.35)}
#nav .lang-switch__a.is-active{opacity:1}
#nav .lang-switch__a:hover,#nav .lang-switch__a:focus-visible{opacity:1;transform:translateY(-1px)}
@media (max-width:480px){#nav > ul > li.lang-switch{gap:.4em;margin-right:.8em}#nav .lang-switch__a img{width:20px;height:13px}}

/* Hinweis auf englischen Rechtstexten */
.en-legal-note{max-width:60em;margin:1.5em auto 0;padding:0 1.25em}
.en-legal-note p{margin:0;padding:.8em 1em;border-left:4px solid #0175C4;background:#eef5fb;color:#023358;font-size:.9em;line-height:1.5}
.en-legal-note a{color:#0175C4}

/* Empfehlungen im Footer (klein, unaufdringlich) */
.footer-recs{margin:1.2em 0 .4em;font-size:.75em;letter-spacing:.06em;opacity:.7;text-align:center}
.footer-recs a{color:inherit;border-bottom:1px dotted currentColor;text-decoration:none}
.footer-recs a:hover{opacity:1;border-bottom-style:solid}
.footer-recs a.rec-logo{border:0;display:inline-block;vertical-align:middle;margin-left:.15em}
.footer-recs a.rec-logo img{display:block;height:16px;width:auto;opacity:.9}
.footer-recs a.rec-logo:hover img{opacity:1}
.footer-recs a.rec-logo--exped img{height:22px}
/* Empfehlungen: ohne Trennpunkt, mehr Luft */
.footer-recs{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.6em 1.6em;margin:1.8em 0 2.2em}
.footer-recs a.rec-logo{margin-left:0}
.footer-recs a.rec-logo--acs img{height:22px}

/* Footer kompakter: Bergkette → Icons und Icons → Logos je 10px weniger */
#footer { padding-top: calc(150px + 2.5em - 20px) !important; }
#footer ul.icons { margin-bottom: calc(2em - 10px); }
@media screen and (max-width: 736px) {
	#footer { padding-top: calc(80px + 2em - 20px) !important; }
}

/* =========================================================
   Footer – neues Layout (Marke | Verbände | Empfehlungen,
   darunter schmale Leiste mit Rechtlichem und Copyright)
   ========================================================= */
#footer { padding-left: 1.5em !important; padding-right: 1.5em !important; padding-bottom: 0 !important; text-align: left; }
#footer .ft-inner { max-width: 1120px; margin: 0 auto; }
#footer .ft-top {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr;
	gap: 2.5em 3.5em;
	align-items: start;
	padding: .5em 0 2.6em;
}
#footer .ft-logo { display: inline-block; border: 0; line-height: 0; }
#footer .ft-logo img { height: 48px; width: auto; display: block; }
#footer .ft-tag {
	margin: 1em 0 .15em; color: #fff; font-weight: 700;
	text-transform: uppercase; letter-spacing: .22em; font-size: .95em; line-height: 1.3;
}
#footer .ft-sub { margin: 0 0 1.3em; font-size: .82em; letter-spacing: .04em; color: rgba(255,255,255,.65); line-height: 1.4; }
#footer .ft-h {
	margin: .35em 0 1.1em; color: #fff; font-weight: 700; font-size: .78em;
	text-transform: uppercase; letter-spacing: .22em; line-height: 1.2;
	padding-bottom: .8em; border-bottom: 1px solid rgba(255,255,255,.18);
}

/* Social-Icons als runde Knöpfe */
#footer .ft-brand ul.icons { display: flex; flex-wrap: wrap; gap: .55em; margin: 0 !important; padding: 0; font-size: 1em !important; }
#footer .ft-brand ul.icons li { padding: 0 !important; display: block; }
#footer .ft-brand ul.icons a {
	display: grid !important; place-items: center; width: 42px; height: 42px; border-radius: 50%;
	box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.45); transition: background-color .2s ease, box-shadow .2s ease;
}
#footer .ft-brand ul.icons a:before { font-size: 18px; line-height: 1; color: #fff !important; }
#footer .ft-brand ul.icons a:hover { background: #0175C4; box-shadow: inset 0 0 0 1.5px #0175C4; }
#footer .ft-brand ul.icons a:hover:before { color: #fff !important; }

/* Verbände */
#footer .ft-col .footer-partners { justify-content: flex-start; gap: 1.6em; margin: 0 !important; }
#footer .ft-col .footer-partners img { height: 74px !important; }
#footer .ft-col .footer-partners img[src*="vdbs"] { height: 82px !important; }

/* Empfehlungen */
#footer .ft-col .footer-recs { justify-content: flex-start; gap: 1.1em 1.8em; margin: 0 !important; font-size: 1em; opacity: .85; text-align: left; }
#footer .ft-col .footer-recs a.rec-logo img { height: 24px; }
#footer .ft-col .footer-recs a.rec-logo[href*="urbanpics"] img { height: 18px; }
#footer .ft-col .footer-recs:hover { opacity: 1; }

/* Leiste unten */
#footer .ft-bottom {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .8em 2em;
	border-top: 1px solid rgba(255,255,255,.14); padding: 1.3em 0 1.6em;
	font-size: .72em; letter-spacing: .12em; text-transform: uppercase;
}
#footer .ft-bottom .footer-legal, #footer .ft-bottom .copyright { margin: 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: .4em 1.8em; justify-content: flex-start; }
#footer .ft-bottom .footer-legal li, #footer .ft-bottom .copyright li { padding: 0 !important; margin: 0 !important; border: 0 !important; display: block; }
#footer .ft-bottom .footer-legal a, #footer .ft-bottom .linklike { color: rgba(255,255,255,.75); font-size: 1em; letter-spacing: inherit; text-transform: inherit; }
#footer .ft-bottom .copyright { color: rgba(255,255,255,.5); }

/* Tablet: Marke oben über die ganze Breite, darunter zwei Spalten */
@media (max-width: 900px) {
	#footer .ft-top { grid-template-columns: 1fr 1fr; }
	#footer .ft-brand { grid-column: 1 / -1; }
}
/* Handy: alles mittig untereinander */
@media (max-width: 600px) {
	#footer { text-align: center; }
	#footer .ft-top { grid-template-columns: 1fr; gap: 2.2em; padding-bottom: 2em; }
	#footer .ft-brand ul.icons, #footer .ft-col .footer-partners, #footer .ft-col .footer-recs { justify-content: center; }
	#footer .ft-col .footer-recs { text-align: center; }
	#footer .ft-h { display: inline-block; padding: 0 0 .7em; margin-bottom: 1em; min-width: 60%; }
	#footer .ft-bottom { flex-direction: column; justify-content: center; text-align: center; }
	#footer .ft-bottom .footer-legal, #footer .ft-bottom .copyright { justify-content: center; }
	#footer .ft-col .footer-partners img { height: 64px !important; }
	#footer .ft-col .footer-partners img[src*="vdbs"] { height: 72px !important; }
}
#footer { padding-top: calc(150px + 1.2em) !important; }
#footer .ft-top { padding-top: 0; }
@media screen and (max-width: 736px) { #footer { padding-top: calc(80px + 1.2em) !important; } }
@media (max-width: 600px) { #footer .ft-bottom { padding-bottom: 5.5em; } }
/* Verbandslogos etwas größer */
#footer .ft-col .footer-partners img { height: 90px !important; }
#footer .ft-col .footer-partners img[src*="vdbs"] { height: 100px !important; }
@media (max-width: 600px) {
	#footer .ft-col .footer-partners img { height: 78px !important; }
	#footer .ft-col .footer-partners img[src*="vdbs"] { height: 86px !important; }
}

/* Startseite am Handy: Bergkette über das Foto des Kontaktbereichs legen
   (am Handy ist das Foto nicht „fixiert“, darum war die Kette unsichtbar) */
@media screen and (max-width: 736px) {
	body.landing #footer {
		margin-top: -80px !important;
		background: linear-gradient(to bottom, transparent 79px, #023358 79px) !important;
		z-index: 2;
	}
}
