/* Wiesn illustration and rides supplied in Wiesn-Footer-Festzelt-OS.zip. */
footer.wiesn-footer { width:100%; max-width:none; padding:0; margin:0; background:var(--canvas); color:#ddd5c9; font-family:var(--font); overflow:hidden; }
.wiesn-footer .night-landscape { width:100%; aspect-ratio:3/1; position:relative; overflow:hidden; background:var(--canvas); }
.wiesn-footer .night-landscape>img { display:block; width:100%; height:100%; object-fit:fill; }
.wiesn-footer .night-landscape::before,.wiesn-footer .night-landscape::after { content:""; position:absolute; left:0; right:0; pointer-events:none; z-index:1; }
.wiesn-footer .night-landscape::before { top:0; height:24%; background:linear-gradient(var(--canvas),transparent); }
.wiesn-footer .night-landscape::after { bottom:0; height:18%; background:linear-gradient(transparent,#09131d); }
.wiesn-footer .wiesn-wheel { position:absolute; left:17.5%; top:19%; width:13%; height:auto; overflow:visible; fill:none; stroke:#e9b75f; stroke-width:1.7; z-index:2; }
.wiesn-footer .wheel-legs { stroke:#af9a70; stroke-width:4; }
.wiesn-footer .wheel-turn { transform-origin:100px 90px; animation:wiesn-wheel 90s linear infinite; }
.wiesn-footer .wheel-turn>circle { stroke:#ffda83; stroke-width:2.3; }
.wiesn-footer .wheel-cabin { transform-origin:0 0; animation:wiesn-wheel 90s linear infinite reverse; fill:#db9d4d; stroke:#425259; stroke-width:1.3; }
.wiesn-footer .wheel-hub { fill:#ffe09b; stroke:#e7ac4e; }
.wiesn-footer .wiesn-tower { position:absolute; left:84.8%; top:25%; width:2.5%; height:auto; z-index:2; overflow:visible; }
.wiesn-footer .tower-frame { fill:none; stroke:#b89556; stroke-width:5; }
.wiesn-footer .tower-lights { stroke:#ffe199; stroke-width:2; stroke-dasharray:2 5; }
.wiesn-footer .tower-top,.wiesn-footer .tower-car { fill:#dfa353; stroke:#48575b; }
.wiesn-footer .tower-car { stroke-width:1.5; animation:wiesn-tower 18s linear infinite; }
@keyframes wiesn-wheel { to { transform:rotate(360deg); } }
@keyframes wiesn-tower { 0%,14% { transform:translateY(184px); } 60%,72% { transform:translateY(0); } 82%,100% { transform:translateY(184px); } }
.wiesn-footer[data-offscreen] .night-landscape * { animation-play-state:paused; }
.wiesn-footer .wiesn-directory { background:#09131d; padding:var(--space-5) 0 var(--space-6); }
.wiesn-footer .wiesn-top { display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); padding-bottom:var(--space-5); border-bottom:1px solid #34414d; }
.wiesn-footer .wiesn-brand { display:flex; align-items:center; gap:var(--space-5); }
.wiesn-footer .wiesn-brand>a { display:inline-flex; padding:var(--space-2); border-radius:var(--radius-sm); background:#fffdf7; }
.wiesn-footer .wiesn-brand img { width:53px; height:60px; display:block; }
.wiesn-footer .wiesn-brand p { margin:0; color:#ddd5c9; font-size:1rem; line-height:1.5; }
.wiesn-footer .wiesn-made { display:flex; align-items:center; justify-content:flex-end; gap:var(--space-2); margin-left:auto; color:#bcbfc3; font-size:.875rem; }
.wiesn-footer .wiesn-made svg { flex:none; color:var(--gold); }
.wiesn-footer .wiesn-title { font-family:var(--font-display); font-size:clamp(1.75rem,3vw,2.5rem); font-weight:600; line-height:1.15; letter-spacing:-.03em; color:#fff0d9; margin:var(--space-6) 0; }
.wiesn-footer .wiesn-links { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:var(--space-7); padding-bottom:var(--space-6); }
.wiesn-footer .wiesn-links h3 { color:#fff0d9; font:600 1rem/1.5 var(--font); margin:0 0 var(--space-3); padding-bottom:var(--space-2); border-bottom:1px solid #34414d; }
.wiesn-footer .wiesn-links a { display:flex; align-items:center; gap:var(--space-2); width:fit-content; min-height:32px; font-size:.9375rem; color:#bcbfc3; text-decoration:none; overflow-wrap:anywhere; }
.wiesn-footer .wiesn-links p { font-size:.9375rem; line-height:1.6; margin:0 0 var(--space-3); color:#bcbfc3; }
.wiesn-footer .product-icon { width:24px; height:24px; }
.wiesn-footer .footer-bottom { border-top:1px solid #34414d; margin:0; padding-top:var(--space-4); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-4); font:400 .8125rem/1.5 var(--font); color:#bcbfc3; }
.wiesn-footer .footer-bottom>div { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4); }
.wiesn-footer .footer-bottom a,.wiesn-footer .analytics-settings { color:#bcbfc3; font:inherit; display:inline-flex; align-items:center; min-height:32px; gap:var(--space-1); text-decoration:none; }
.wiesn-footer a:focus-visible,.wiesn-footer button:focus-visible { outline:2px solid var(--gold); outline-offset:var(--space-1); }
.wiesn-footer a:active,.wiesn-footer button:active { transform:scale(.97); }
@media(hover:hover) and (pointer:fine) { .wiesn-footer .wiesn-links a:hover,.wiesn-footer .footer-bottom a:hover,.wiesn-footer button:hover { color:var(--gold); } }
@media(max-width:760px) { .wiesn-footer .wiesn-top { flex-wrap:wrap; gap:var(--space-4); } .wiesn-footer .wiesn-top>span { order:2; width:100%; } .wiesn-footer .wiesn-links { grid-template-columns:1fr 1fr; gap:var(--space-6) var(--space-5); } .wiesn-footer .wiesn-links>div:last-child { grid-column:1/-1; } .wiesn-footer .wiesn-brand { gap:var(--space-3); } }
@media(max-width:400px) { .wiesn-footer .wiesn-links { grid-template-columns:1fr; } .wiesn-footer .wiesn-brand p { font-size:.875rem; } }
@media(prefers-reduced-motion:reduce) { .wiesn-footer .wheel-turn,.wiesn-footer .wheel-cabin,.wiesn-footer .tower-car { animation:none; } .wiesn-footer a:active,.wiesn-footer button:active { transform:none; } }
