/* Footer dieMittelstandsmeisterei – v1.3 (im Plugin Landing Page v1.4)
   Designsprache 1:1 vom Hero: gleiche Masken/Formen/Animation, Lauftext gleiche Größe und Geschwindigkeit.
   Schrift „Outfit“ und die Klassen .blob/.ribbon/.dot/.drift kommen aus der Seite selbst. */
:root{
  --msm-white:#FFFFFF; --msm-black:#111111; --msm-grey-dark:#555555; --msm-grey-mid:#A0A0A0;
  --msm-line:#D9D9D9; --msm-surface:#F4F4F4; --msm-lime:#CCFF00; --msm-lime-soft:#E4FF80;
  --msm-font:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
.msm-footer,.msm-footer *,.msm-footer *::before,.msm-footer *::after{box-sizing:border-box}
.msm-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--msm-white);color:var(--msm-black);font-family:var(--msm-font);line-height:1.4}
.msm-footer__stage{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none}

/* Lauftext „Kontaktiere uns“ – Maße und Tempo wie der Hero-Lauftext (Tempo per footer.js synchronisiert) */
.msm-footer__marquee{position:relative;z-index:1;display:block;overflow:hidden;white-space:nowrap;padding-block:28px 10px;text-decoration:none;color:inherit;cursor:pointer;outline:none}
.msm-footer__track{display:inline-flex;will-change:transform;animation:msm-marquee 28s linear infinite}
.msm-footer__word{display:inline-block;padding-right:.6em;font-weight:700;font-size:clamp(56px,9vw,150px);line-height:1.08;letter-spacing:-.02em;
  color:transparent;-webkit-text-stroke:1.5px var(--msm-black);
  transition:color .3s ease}
.msm-footer__marquee:hover .msm-footer__word,.msm-footer__marquee:focus-visible .msm-footer__word{color:var(--msm-black)}
.msm-footer__marquee:focus-visible{box-shadow:inset 0 0 0 3px var(--msm-black)}
@keyframes msm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.msm-footer__hint{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left,0px));font-size:14px;line-height:1.5;color:var(--msm-grey-dark)}
.msm-footer__hint a{color:var(--msm-black);font-weight:600}

.msm-footer__inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding-block:28px 32px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;gap:56px}

/* Kontaktzeile */
.msm-footer__contact{display:flex;flex-wrap:wrap;gap:12px 64px;margin:0;padding:0;list-style:none;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.msm-footer__contact li{min-width:0}

/* Links (inkl. Impressum/Datenschutz-Buttons): Lime-Leuchtstift beim Hover */
.msm-footer__contact a,.msm-footer__col a,.msm-footer__link{color:inherit;text-decoration:none;background-image:linear-gradient(var(--msm-lime),var(--msm-lime));background-repeat:no-repeat;background-size:0% 45%;background-position:0 85%;transition:background-size .3s ease}
.msm-footer__contact a:hover,.msm-footer__contact a:focus-visible,
.msm-footer__col a:hover,.msm-footer__col a:focus-visible,
.msm-footer__link:hover,.msm-footer__link:focus-visible{background-size:100% 45%;outline:none}
.msm-footer__link{justify-self:start;font:inherit;letter-spacing:inherit;text-transform:inherit;background-color:transparent;border:0;padding:0;margin:0;cursor:pointer;text-align:left}

/* Rechtliches + Social + Logo */
.msm-footer__bottom{display:grid;grid-template-columns:auto auto 1fr;gap:28px 72px;align-items:end}
.msm-footer__col{display:grid;gap:14px;align-content:start;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.msm-footer__social{display:flex;gap:16px;align-items:center}
.msm-footer__social > span,.msm-footer__social > a{display:inline-grid;place-items:center;width:28px;height:28px;color:var(--msm-black)}
.msm-footer__social > a{background:none;border-radius:6px;transition:background-color .3s ease}
.msm-footer__social > a:hover,.msm-footer__social > a:focus-visible{background-color:var(--msm-lime);outline:none}
.msm-footer__social svg{width:22px;height:22px;display:block;fill:currentColor}

.msm-footer__brand{justify-self:end;display:grid;gap:10px;justify-items:end;text-align:right}
.msm-footer__logo{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.msm-footer__mark{display:block;width:40px;height:auto;flex:none}
.msm-footer__mark svg{display:block;width:100%;height:auto;fill:var(--msm-black)}
.msm-footer__wordmark{font-size:22px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.msm-footer__wordmark span{font-weight:400}
.msm-footer__copy{margin:0;font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--msm-grey-dark);text-transform:none}

@media (max-width:820px){
  .msm-footer__bottom{grid-template-columns:1fr 1fr}
  .msm-footer__brand{grid-column:1/-1;justify-self:start;justify-items:start;text-align:left;padding-top:8px;border-top:1px solid var(--msm-line);width:100%}
  .msm-footer__inner{gap:40px}
  .msm-footer__contact{gap:10px 32px}
}
@media (max-width:460px){
  .msm-footer__bottom{grid-template-columns:1fr}
  .msm-footer__contact{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .msm-footer__track{animation:none}
  .msm-footer__word,.msm-footer__contact a,.msm-footer__col a,.msm-footer__link,.msm-footer__social > a{transition:none}
}
