/* InnoCMS footer – standalone stylesheet to avoid legacy main.css overrides */
.site-footer.cms-footer{display:block!important;position:relative;isolation:isolate;padding:0!important;margin:0;background:#111c24;color:#e7edf0;text-align:left;border:0;overflow:hidden}
.cms-footer::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--button-bg,#7da890);opacity:.9}
.cms-footer *{box-sizing:border-box}
.cms-footer-inner{width:min(100% - 48px,1180px);margin:auto}
.cms-footer-top{display:grid;grid-template-columns:minmax(230px,1.55fr) repeat(3,minmax(145px,1fr));gap:clamp(28px,4vw,70px);padding:clamp(58px,6vw,86px) 0 62px}
.cms-footer-brand-column{min-width:0}
.cms-footer-brand{display:inline-flex;align-items:center;gap:13px;color:#fff!important;text-decoration:none!important;max-width:100%}
.cms-footer-brand img{display:block;max-width:190px;max-height:66px;width:auto;height:auto;object-fit:contain}
.cms-footer-brand strong{font-weight:800;letter-spacing:-.035em;font-size:23px;line-height:1.2;overflow-wrap:anywhere}
.cms-footer-monogram{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--button-bg,#3d8d69);color:var(--button-text,#fff);font-size:20px;font-weight:800}
.cms-footer-description{max-width:310px;color:#aab9c2;margin:19px 0 0;line-height:1.8;font-size:14px}
.cms-footer-socials{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:26px}
.cms-footer-social{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;border:1px solid rgba(255,255,255,.15);color:#f5f8fa!important;background:rgba(255,255,255,.035);transition:background .2s,transform .2s,border-color .2s}
.cms-footer-social:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
.cms-footer-social svg{width:19px;height:19px;max-width:19px;max-height:19px;fill:currentColor;stroke:currentColor}
.cms-footer-column{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.cms-footer-column h2{font-size:13px!important;font-weight:800!important;letter-spacing:.09em;text-transform:uppercase;color:#fff!important;line-height:1.5!important;margin:4px 0 23px!important;padding:0!important}
.cms-footer-column ul{list-style:none;display:grid;gap:13px;margin:0!important;padding:0!important;width:100%}
.cms-footer-column li{padding:0!important;margin:0!important;list-style:none!important}
.cms-footer-column li::before{display:none!important}
.cms-footer-column li a{display:inline-flex;align-items:baseline;gap:7px;color:#aab9c2!important;font-size:13px;line-height:1.6;text-decoration:none!important;transition:color .2s;overflow-wrap:anywhere}
.cms-footer-column li a:hover,.cms-footer-contact-link:hover{color:#fff!important}
.cms-footer-column li a span{font-size:11px;opacity:0;transform:translate(-3px,2px);transition:opacity .2s,transform .2s}
.cms-footer-column li a:hover span{opacity:1;transform:translate(0,0)}
.cms-footer-contact-link{font-size:14px;line-height:1.6;color:#dbe5e9!important;font-weight:600;text-decoration:none!important;overflow-wrap:anywhere;margin-bottom:13px;transition:color .2s}
.cms-footer-address{font-size:13px;line-height:1.8;color:#aab9c2;margin:6px 0 0;overflow-wrap:anywhere}
.cms-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.13);padding:22px 0 25px;color:#90a2ad;font-size:12px;line-height:1.6}
.cms-footer-backtop{display:inline-flex;align-items:center;gap:10px;color:#e7edf0!important;text-decoration:none!important;font-size:12px;font-weight:700;white-space:nowrap}
.cms-footer-backtop span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.2)}
@media(max-width:1000px){.cms-footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}.cms-footer-brand-column{grid-column:1/-1}}
@media(max-width:650px){.cms-footer-inner{width:calc(100% - 38px)}.cms-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px;padding:48px 0 42px}.cms-footer-brand-column{grid-column:1/-1}.cms-footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}.cms-footer-column h2{margin-bottom:17px!important}}
@media(max-width:400px){.cms-footer-top{grid-template-columns:1fr}.cms-footer-brand-column{grid-column:auto}.cms-footer-description{max-width:none}}
@media(prefers-reduced-motion:reduce){.cms-footer *{transition:none!important}}
/* Refined social icons and Kontakt settings list */
.cms-footer .cms-footer-socials{gap:11px;margin-top:25px}
.cms-footer .cms-footer-social{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);color:#fff!important;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.cms-footer .cms-footer-social svg{display:block;width:20px;height:20px;fill:none!important;stroke:currentColor!important;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.cms-footer .cms-footer-social svg .fill{fill:currentColor!important;stroke:none!important}
.cms-footer .cms-footer-social svg .fill-light{fill:#111c24!important;stroke:none!important}
.cms-footer .cms-footer-social:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.4);box-shadow:0 10px 18px rgba(0,0,0,.2)}
.cms-footer .cms-footer-contact-items{display:grid;gap:15px;width:100%}
.cms-footer .cms-footer-contact-item{display:grid;gap:3px;min-width:0}
.cms-footer .cms-footer-contact-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#8fa3ae}
.cms-footer .cms-footer-contact-link,.cms-footer .cms-footer-contact-value{margin:0;color:#dae4e9!important;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:normal}
.cms-footer .cms-footer-contact-value{display:block}
.cms-footer .cms-footer-contact-link:hover{color:#fff!important}
@media(prefers-reduced-motion:reduce){.cms-footer .cms-footer-social{transition:none}}
/* One consistent hover color for every social platform */
.cms-footer .cms-footer-social:hover,.cms-footer .cms-footer-social:focus-visible{background:var(--button-bg,#ffffff)!important;color:var(--button-text,#151b20)!important;border-color:var(--button-bg,#ffffff)!important}
.cms-footer .cms-footer-social:hover svg .fill-light,.cms-footer .cms-footer-social:focus-visible svg .fill-light{fill:var(--button-bg,#ffffff)!important}
