/* =====================================================================
   WIENINGER · Footer  —  wgn-footer.css
   Mehrspaltig: Marke/Social · Kontakt+Öffnungszeiten · 2 Link-Spalten,
   untere Leiste mit Copyright + Rechts-Links. Tokens aus wgn-ui.css.
   ===================================================================== */

.wgn-footer {
	/* Tiefes Oliv (Ableitung von #46462d, wie die Pyramiden-Basis) statt
	   Wein-Braun - das Braun bleibt den CTA-/Club-Baendern vorbehalten,
	   sonst verschwimmen Band und Footer zu einer Flaeche. */
	background: #30301f; color: #b6b3a2;
	padding: clamp(3.5rem, 7vw, 5.5rem) var(--wgn-pad-x) 0;
	font-family: var(--wgn-sans); font-size: .92rem; line-height: 1.7;
	-webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
.wgn-footer * { box-sizing: border-box; }
.wgn-footer--bordeaux { background: var(--wgn-bordeaux); color: #d8c6c0; }
.wgn-footer--cream { background: var(--wgn-cream); color: var(--wgn-ink-soft); }
.wgn-footer a { color: inherit; text-decoration: none; transition: color .2s; }

/* ---------- Oberer Bereich ---------- */
.wgn-footer__top {
	max-width: var(--wgn-shell); margin-inline: auto;
	display: grid; grid-template-columns: 1.5fr 1.2fr 1fr 1fr; gap: clamp(2rem, 4vw, 3.5rem);
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.wgn-footer__logo img { height: clamp(2.5rem, 4vw, 3.25rem); width: auto; }
.wgn-footer__tagline { margin: 1.2rem 0 1.5rem; max-width: 30ch; }
.wgn-footer__socials { display: flex; gap: .6rem; }
.wgn-footer__socials a {
	width: 2.4rem; height: 2.4rem; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid rgba(255,255,255,.18); color: inherit;
	transition: background .25s var(--wgn-ease), border-color .25s var(--wgn-ease), color .25s var(--wgn-ease);
}
.wgn-footer--cream .wgn-footer__socials a { border-color: var(--wgn-line); }
.wgn-footer__socials a:hover { background: var(--wgn-red); border-color: var(--wgn-red); color: #fff; }

.wgn-footer__h {
	margin: 0 0 1.1rem; color: #fff;
	font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.wgn-footer--cream .wgn-footer__h { color: var(--wgn-ink); }

.wgn-footer__contact p { margin: 0 0 .5rem; }
.wgn-footer__contact a:hover { color: #fff; }
.wgn-footer--cream .wgn-footer__contact a:hover { color: var(--wgn-red); }

.wgn-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.wgn-footer__links a:hover { color: #fff; }
.wgn-footer--cream .wgn-footer__links a:hover { color: var(--wgn-red); }

/* ---------- Untere Leiste ---------- */
.wgn-footer__bottom {
	max-width: var(--wgn-shell); margin-inline: auto;
	border-top: 1px solid rgba(255,255,255,.12);
	padding: clamp(1.25rem, 2.5vw, 1.75rem) 0;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 2rem;
	font-size: .8rem;
}
.wgn-footer--cream .wgn-footer__bottom { border-top-color: var(--wgn-line); }
.wgn-footer__legal { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.wgn-footer__legal a:hover { color: #fff; }
.wgn-footer--cream .wgn-footer__legal a:hover { color: var(--wgn-red); }

/* ---------- Responsive ---------- */
@media (max-width: 900px) { .wgn-footer__top { grid-template-columns: 1fr 1fr; gap: 2rem; } }
@media (max-width: 560px) {
	.wgn-footer__top { grid-template-columns: 1fr; }
	.wgn-footer__bottom { flex-direction: column; align-items: flex-start; }
}
