/* Native Oxygen elements laid out to match the approved 2172 x 724 footer references. */
body footer.wlfv-footer.wlfv-ui{
 --wl-footer-art-width:clamp(960px,100vw,2400px);--wl-footer-row-top:clamp(259px,calc(22.4vw + 24px),562px);
 --wl-footer-font:clamp(13px,1vw,21px);--wl-footer-gap:clamp(10px,1.5vw,32px);
 position:relative;isolation:isolate;background:transparent;color:#fff;overflow:hidden;
 padding:var(--wl-footer-row-top) 0 12px
}
body footer.wlfv-footer.wlfv-ui::before{content:"";position:absolute;inset:calc(var(--wl-footer-art-width)/3 - 1px) 0 0;height:auto;opacity:1;background:#061c3f;z-index:-3;pointer-events:none}
body footer.wlfv-footer.wlfv-ui::after{content:none}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-scene{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-scene img{position:absolute;top:0;left:50%;transform:translateX(-50%);display:block;width:var(--wl-footer-art-width);max-width:none;height:auto;border:0;border-radius:0}
body footer.wlfv-footer.wlfv-ui>.oxy-shortcode:has(>.wlfv-footer-scene){display:contents}
body footer.wlfv-footer.wlfv-ui .wlfv-container{width:calc(100% - 7.8vw);max-width:2240px;margin-inline:auto}

/* Contact footer: approved day/night design, without repeated site navigation. */
body footer.wlfv-footer.wlfv-ui .wlfv-footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1.24fr) minmax(0,.95fr);grid-template-rows:auto auto auto;align-items:start;gap:0 clamp(20px,3vw,70px);padding:0 0 clamp(24px,2vw,46px)}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-brand{grid-column:1;grid-row:1/4;padding:0;min-width:0}
body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="contact"]{grid-column:2;grid-row:1/4;min-width:0}
body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="address"]{grid-column:3;grid-row:1/4;min-width:0}
body footer.wlfv-footer.wlfv-ui :is(.wlfv-footer-title,.wlfv-newsletter-wrap>.wlfv-footer-note){position:static;width:auto;height:auto;margin:0 0 8px;padding:0;overflow:visible;clip:auto;clip-path:none;white-space:normal;display:block;color:#e5f1ff;font-size:clamp(11px,.8vw,17px);font-weight:500;line-height:1.5;letter-spacing:1.7px;text-transform:uppercase}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-links a{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:36px;width:fit-content;max-width:100%;padding:0;border:0;font-size:clamp(14px,1.1vw,24px);font-weight:400;line-height:1.5;color:#fff;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-links a::before,body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="address"]>.wlfv-footer-note::before{content:"";display:block;width:clamp(19px,1.25vw,28px);height:clamp(19px,1.25vw,28px);flex:0 0 auto;background:currentColor;mask:var(--wl-icon) center/contain no-repeat}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-links a[href^="mailto:"]{--wl-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m2 6 10 7 10-7'/%3E%3C/svg%3E")}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-links a[href^="tel:"]{--wl-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 17v3a2 2 0 0 1-2 2A19 19 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 1.7l.5 3a2 2 0 0 1-.6 1.8L7.5 10a15 15 0 0 0 6.5 6.5l1.5-1.4a2 2 0 0 1 1.8-.6l3 .5A2 2 0 0 1 22 17Z'/%3E%3C/svg%3E")}
body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="address"]>.wlfv-footer-note{position:relative;display:block;padding-left:calc(clamp(19px,1.25vw,28px) + 10px);margin:0;color:#fff;font-size:clamp(14px,1.1vw,24px);font-style:normal;font-weight:400;line-height:1.85}
body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="address"]>.wlfv-footer-note::before{position:absolute;left:0;top:4px;--wl-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
body footer.wlfv-footer.wlfv-ui :is(.wlfv-newsletter-wrap,.wlfv-newsletter-slot,.wlfv-newsletter-slot>.oxy-shortcode,.wlfv-footer-newsletter){display:contents}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-wrap>.wlfv-footer-note{grid-column:4;grid-row:1}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-wrap>.wlfv-footer-links{grid-column:4;grid-row:2;display:flex;flex-direction:row;gap:clamp(14px,1.6vw,34px)}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-wrap>.wlfv-footer-links a{font-size:0;min-width:32px;min-height:36px;gap:0;justify-content:center}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-wrap>.wlfv-footer-links a::before{width:clamp(22px,1.45vw,32px);height:clamp(22px,1.45vw,32px)}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-links a[href*="instagram.com"]{--wl-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3Ccircle cx='18' cy='6' r='1' fill='black' stroke='none'/%3E%3C/svg%3E")}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-links a[href*="youtube.com"]{--wl-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 20'%3E%3Cpath fill='black' fill-rule='evenodd' d='M5 1h16q4 0 4 4v10q0 4-4 4H5q-4 0-4-4V5q0-4 4-4Zm6 4v10l8-5Z'/%3E%3C/svg%3E")}
body footer.wlfv-footer.wlfv-ui :is(a,.wlfv-newsletter-trigger):hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
body footer.wlfv-footer.wlfv-ui :is(a,.wlfv-newsletter-trigger):focus-visible{outline:3px solid #ffbc77;outline-offset:5px;border-radius:3px}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-trigger{grid-column:4;grid-row:3;justify-self:start;display:flex;align-items:center;justify-content:flex-start;gap:12px;cursor:pointer;min-height:36px;padding:0;margin-top:4px;border:0;font-size:clamp(14px,1.1vw,24px);font-family:inherit;background:transparent;font-weight:400;line-height:1.5;list-style:none;color:#fff;white-space:normal}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-trigger span{color:#ff8d43;font-size:1.3em;line-height:1}
@media(max-width:1000px){
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:0 32px}
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-brand{grid-column:1;grid-row:1;padding-bottom:28px}
 body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="contact"]{grid-column:2;grid-row:1;padding-bottom:28px}
 body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="address"]{grid-column:1;grid-row:2/5}
 body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-wrap>.wlfv-footer-note{grid-column:2;grid-row:2}
 body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-wrap>.wlfv-footer-links{grid-column:2;grid-row:3}
 body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-trigger{grid-column:2;grid-row:4}
}
@media(max-width:767px){
 body footer.wlfv-footer.wlfv-ui{--wl-footer-row-top:251px}
 body footer.wlfv-footer.wlfv-ui .wlfv-container{width:calc(100% - 40px)}
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-scene img{left:calc(50% - 115px)}
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-links a,body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="address"]>.wlfv-footer-note{font-size:15px}
}
@media(max-width:600px){
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(6,auto);gap:0}
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-brand{grid-column:1;grid-row:1;padding-bottom:26px}
 body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="contact"]{grid-column:1;grid-row:2;padding-bottom:24px}
 body footer.wlfv-footer.wlfv-ui [data-wlfv-footer-section="address"]{grid-column:1;grid-row:3;padding-bottom:24px}
 body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-wrap>.wlfv-footer-note{grid-column:1;grid-row:4}
 body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-wrap>.wlfv-footer-links{grid-column:1;grid-row:5}
 body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-trigger{grid-column:1;grid-row:6;font-size:15px}
}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-brand .wlfv-brand{gap:clamp(10px,1vw,22px);align-items:center;width:fit-content;position:relative;padding:0 0 10px}
body footer.wlfv-footer.wlfv-ui .wlfv-brand-logo{width:clamp(76px,5.8vw,128px);height:clamp(76px,5.8vw,128px);flex:0 0 auto;border-radius:50%;background:transparent;border:0;object-fit:contain}
body footer.wlfv-footer.wlfv-ui .wlfv-brand-name{font-size:clamp(29px,2.1vw,46px);line-height:1.1;color:#fff;font-weight:750;letter-spacing:0}
body footer.wlfv-footer.wlfv-ui .wlfv-brand-subtitle{font-size:clamp(10px,.86vw,19px);font-weight:400;line-height:1.32;letter-spacing:0;color:#fff;max-width:none;text-transform:uppercase;white-space:nowrap}
body footer.wlfv-footer.wlfv-ui .wlfv-brand-copy{position:relative;gap:2px}
body footer.wlfv-footer.wlfv-ui .wlfv-brand-copy::after{content:"";position:absolute;bottom:-12px;left:0;width:clamp(46px,3.6vw,78px);height:2px;background:#ff700c}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;border-top:1px solid #506c8b;padding:clamp(10px,.9vw,20px) 0 0;margin-top:0}
body footer.wlfv-footer.wlfv-ui .wlfv-copyright{font-size:clamp(11px,.8vw,18px);line-height:1.5;color:#e0eaf7;margin:0}
body footer.wlfv-footer.wlfv-ui .wlfv-legal{display:flex;flex-wrap:wrap;gap:clamp(16px,1.3vw,28px)}
body footer.wlfv-footer.wlfv-ui .wlfv-legal a{font-size:clamp(11px,.8vw,18px);min-height:28px;display:inline-flex;align-items:center;color:#fff}
body footer.wlfv-footer.wlfv-ui .wlfv-legal a[href$="/unsere-partner/"]{display:none}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-credit{width:100%;text-align:center;margin:3px auto 0;display:flex;justify-content:center}
body footer.wlfv-footer.wlfv-ui .wlfv-webdesign-credit{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:26px;color:#e0eaf7;font-size:11px;line-height:1.5}
body footer.wlfv-footer.wlfv-ui .wlfv-webdesign-credit img{width:23px;height:23px;object-fit:contain}
/* Credits are collected with the legal information, away from the decorative scene. */
body .wlfv-image-credits{margin-top:32px;padding:28px;border:1px solid #d6e4f2;border-radius:10px;background:#fff;scroll-margin-top:120px}
body .wlfv-image-credits h2{margin:0 0 20px;color:#071b3c}
body .wlfv-image-credits h3{font-size:18px;line-height:1.4;margin:20px 0 8px;color:#071b3c}
body .wlfv-image-credits p{max-width:78ch;color:#354e70;line-height:1.65}
body .wlfv-image-credits a{color:#0059b8;text-decoration:underline;text-underline-offset:3px}

/* Copyright, design signature and legal links share one desktop baseline. */
body footer.wlfv-footer.wlfv-ui .wlfv-footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:16px}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-bottom>.oxy-shortcode{display:contents}
body footer.wlfv-footer.wlfv-ui .wlfv-copyright{grid-column:1;grid-row:1;justify-self:start}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-credit{grid-column:2;grid-row:1;width:auto;margin:0;justify-self:center}
body footer.wlfv-footer.wlfv-ui .wlfv-legal{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:767px){
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-bottom{grid-template-columns:minmax(0,1fr);row-gap:8px}
 body footer.wlfv-footer.wlfv-ui .wlfv-copyright{grid-column:1;grid-row:1}
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-credit{grid-column:1;grid-row:2;justify-self:start}
 body footer.wlfv-footer.wlfv-ui .wlfv-legal{grid-column:1;grid-row:3;justify-self:start}
}
/* The modal occupies the browser top layer, independent of the footer clipping and scene. */
html.wlfv-newsletter-modal-open{overflow:hidden;scrollbar-gutter:stable}
body footer.wlfv-footer.wlfv-ui dialog.wlfv-newsletter-dialog{position:fixed;inset:0;margin:auto;width:min(660px,calc(100% - 32px));max-width:660px;max-height:calc(100dvh - 32px);padding:44px 36px 32px;border:1px solid #c9dbee;border-radius:16px;background:#fff;color:#071b3c;box-shadow:0 24px 100px #061b3f55;overflow:auto;overscroll-behavior:contain;text-align:left}
body footer.wlfv-footer.wlfv-ui dialog.wlfv-newsletter-dialog:not([open]){display:none}
.wlfv-newsletter-dialog::backdrop{background:#061b3f99;backdrop-filter:blur(4px)}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog .wlfv-newsletter-block{display:block;width:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:#071b3c}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog :is(p,label,h2){color:#071b3c}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog h2{font-size:clamp(27px,5vw,36px);line-height:1.15;margin:8px 0 18px;max-width:15ch;scroll-margin-top:20px}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog .wlfv-core-kicker{color:#0059b8;letter-spacing:1.8px;text-transform:uppercase;font-size:12px;font-weight:700;margin:0 0 8px}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog .wlfv-newsletter-stage{color:#354e70;margin:12px 0 22px}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog a{color:#0059b8;text-decoration:underline}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog form{margin-top:24px}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog .wlfv-newsletter-consent{font-size:14px;line-height:1.6;gap:12px}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog .wlfv-button{width:100%;min-height:48px;background:#cf4000;color:#fff;border:0;font-family:inherit;font-weight:600;font-size:15px;line-height:1.4;padding:13px 18px;border-radius:7px;cursor:pointer}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-close{position:absolute;right:12px;top:10px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#edf5fd;color:#071b3c;font:32px/1 system-ui;cursor:pointer}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-dialog :focus-visible{outline:3px solid #0059b8;outline-offset:4px}
body footer.wlfv-footer.wlfv-ui .wlfv-newsletter-close:hover{background:#dbeafb}
@media(max-width:600px){body footer.wlfv-footer.wlfv-ui dialog.wlfv-newsletter-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:56px 20px 24px}}

/* Trim only the transparent sky: keep 12 source pixels above each tower tip.
   Day/night remains controlled by the Vienna solar schedule, not the UI theme. */
body footer.wlfv-footer.wlfv-ui {
 --wl-footer-trim:calc(var(--wl-footer-art-width) * .06722);
 --wl-footer-base:#061c3f;
 padding-top:calc(var(--wl-footer-row-top) - var(--wl-footer-trim));
}
body footer.wlfv-footer.wlfv-ui:has(.wlfv-footer-scene[data-mode="night"]) {
 --wl-footer-trim:calc(var(--wl-footer-art-width) * .08149);
}
body footer.wlfv-footer.wlfv-ui::before {
 inset:calc(var(--wl-footer-art-width) / 3 - var(--wl-footer-trim) - 1px) 0 0;
 background:var(--wl-footer-base);
}
body footer.wlfv-footer.wlfv-ui .wlfv-footer-scene img {
 top:calc(0px - var(--wl-footer-trim));
}
/* Replace the legacy dark footer gradient/border with the actual page colour.
   Filter only the daytime scenery; logos, contact text and night art stay intact. */
html[data-wlfv-theme="dark"] body footer.wlfv-footer.wlfv-ui {
 background:var(--wl-footer-sky,var(--wl-theme-surface))!important;
 border-top:0;
 box-shadow:none;
}
html[data-wlfv-theme="dark"] body footer.wlfv-footer.wlfv-ui:has(.wlfv-footer-scene[data-mode="day"]) {
 --wl-footer-base:#051632;
}
html[data-wlfv-theme="dark"] body footer.wlfv-footer.wlfv-ui .wlfv-footer-scene[data-mode="day"] img {
 filter:brightness(.80) saturate(.78);
}
/* The transparent skyline sky continues the main content surface, without an overlay. */
html[data-wlfv-theme="dark"] body footer.wlfv-footer.wlfv-ui .wlfv-footer-scene::before,
html[data-wlfv-theme="dark"] body footer.wlfv-footer.wlfv-ui .wlfv-footer-scene::after{content:none;background:none}

/* Keep the last content margin inside the coloured main area. */
html[data-wlfv-theme="dark"] body #oxy-main{display:flow-root}

/* Compact city signature shares the left copyright baseline. */
body footer.wlfv-footer.wlfv-ui .wlfv-copyright{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:wrap}
body footer.wlfv-footer.wlfv-ui img.wlfv-footer-city-logo{display:block;width:112px;height:auto;max-width:100%;flex:0 0 112px;object-fit:contain;filter:none!important;background:transparent;border:0;border-radius:0}
body footer.wlfv-footer.wlfv-ui .wlfv-copyright>span{flex:0 1 auto}
@media(max-width:600px){body footer.wlfv-footer.wlfv-ui .wlfv-copyright{gap:10px}body footer.wlfv-footer.wlfv-ui img.wlfv-footer-city-logo{width:96px;flex-basis:96px}}

@media(min-width:768px) and (max-width:1000px){
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-bottom{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}
 body footer.wlfv-footer.wlfv-ui .wlfv-copyright{grid-column:1/-1;grid-row:1}
 body footer.wlfv-footer.wlfv-ui .wlfv-footer-credit{grid-column:1;grid-row:2;justify-self:start}
 body footer.wlfv-footer.wlfv-ui .wlfv-legal{grid-column:2;grid-row:2}
}
