/* Marlena Radaschitz — Cookie-Hinweis, Barrierefreiheit, Skip-Link (ergaenzt das kompilierte main.css) */

/* Skip-Link: unsichtbar, bis er per Tab fokussiert wird */
.mr-skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:#1c1917;color:#fff;padding:.6rem 1rem;border-radius:999px;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;transition:top .2s}
.mr-skip:focus{top:1rem;outline:2px solid #fff;outline-offset:2px}

/* Cookie-Hinweis: kleine Glaskarte unten links (Hausstandard), kein Overlay, Seite bleibt bedienbar */
.mr-consent{position:fixed;left:1.25rem;bottom:1.25rem;z-index:9000;max-width:340px;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem 1.05rem;border-radius:16px;
  background:rgba(20,16,24,.72);-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 50px rgba(0,0,0,.42),0 2px 6px rgba(0,0,0,.18);color:#fff;transform:translateY(16px);opacity:0;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .35s cubic-bezier(.16,1,.3,1)}
.mr-consent.is-visible{transform:translateY(0);opacity:1}
.mr-consent__title{font-size:.95rem;font-weight:500;letter-spacing:.02em}
.mr-consent__text{font-size:.82rem;line-height:1.5;color:rgba(255,255,255,.78);margin:0}
.mr-consent__link{color:rgba(255,255,255,.92);text-decoration:underline;text-underline-offset:2px}
.mr-consent__link:hover{color:#fff}
.mr-consent__row{display:flex;gap:.5rem}
.mr-consent__btn{flex:1 1 0;border-radius:999px;padding:.55rem .9rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s}
.mr-consent__btn--accept{background:#fff;color:#1c1917;border:1px solid #fff}
.mr-consent__btn--accept:hover{background:#e7e5e4}
.mr-consent__btn--reject{background:transparent;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.22)}
.mr-consent__btn--reject:hover{border-color:rgba(255,255,255,.5)}
@media (max-width:480px){.mr-consent{left:.85rem;right:.85rem;bottom:.85rem;max-width:none}}

/* reCAPTCHA: Badge ausblenden (Google erlaubt das nur mit sichtbarem Hinweis im Formular) */
.grecaptcha-badge{visibility:hidden}

/* Barrierefreiheit-Panel */
.mr-a11y{position:fixed;inset:0;z-index:9500;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:rgba(28,25,23,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
@media (min-width:640px){.mr-a11y{align-items:center}}
.mr-a11y__card{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background:#fff;color:#1c1917;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.35);padding:1.25rem 1.25rem 1rem}
.mr-a11y__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.35rem}
.mr-a11y__title{font-size:1rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin:0}
.mr-a11y__close{width:36px;height:36px;border-radius:999px;border:1px solid #d6d3d1;background:#fff;font-size:1.3rem;line-height:1;cursor:pointer}
.mr-a11y__close:hover{background:#f5f5f4}
.mr-a11y__intro{font-size:.85rem;color:#57534e;margin:0 0 1rem;line-height:1.5}
.mr-a11y__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.mr-a11y__btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .85rem;border-radius:10px;border:1px solid #d6d3d1;background:#fafaf9;font-size:.85rem;text-align:left;cursor:pointer;min-height:48px;transition:background .2s,border-color .2s}
.mr-a11y__btn:hover{background:#f5f5f4}
.mr-a11y__btn.is-on{background:#1c1917;color:#fff;border-color:#1c1917}
.mr-a11y__btn small{font-size:.75rem;opacity:.8}
.mr-a11y__foot{display:flex;justify-content:flex-end;margin-top:1rem}
.mr-a11y__reset{border:none;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:.85rem;color:#57534e;cursor:pointer;padding:.5rem}
.mr-a11y__reset:hover{color:#1c1917}

/* Barrierefreiheit: Wirkungen */
html.a11y-text-1{font-size:112.5%}
html.a11y-text-2{font-size:125%}
html.a11y-text-3{font-size:137.5%}
html.a11y-line-height body{line-height:1.9}
html.a11y-line-height body p,html.a11y-line-height body li{line-height:1.9}
html.a11y-text-left body *{text-align:left!important}
html.a11y-readable-font body,html.a11y-readable-font body *{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.01em!important}
/* Filter am Wurzelelement, nicht am body: ein Filter am body macht position:fixed (Menue, Kontakt-Knopf) kaputt. */
html.a11y-grayscale{filter:grayscale(1)}
html.a11y-contrast{filter:contrast(1.35)}
html.a11y-grayscale.a11y-contrast{filter:grayscale(1) contrast(1.35)}
html.a11y-contrast body .text-stone-400,html.a11y-contrast body .text-stone-600{color:#1c1917!important}
html.a11y-highlight-links body a,html.a11y-highlight-links body button[data-legal]{text-decoration:underline!important;text-underline-offset:3px;outline:1px dotted currentColor;outline-offset:2px}
html.a11y-hide-images body img,html.a11y-hide-images body video{visibility:hidden!important}
html.a11y-pause-animations body *{animation-play-state:paused!important;transition:none!important}
html.a11y-pause-animations body [class*="animate-["]{opacity:1!important;transform:none!important}
html.a11y-pause-animations body video[autoplay]{display:none}
html.a11y-focus-outline body :focus{outline:3px solid #b45309!important;outline-offset:3px!important}

/* Pflichtfeld-Stern wie auf der bisherigen Seite */
.mr-req{color:#e11d48;font-weight:400}

/* Aufzaehlungen im Business-Abschnitt (Punkte wie auf der bisherigen Seite) */
.mr-list{display:flex;flex-direction:column;gap:.75rem;padding-left:2.5rem}
.mr-dot{width:6px;height:6px;border-radius:999px;background:#1c1917;margin-top:.65rem;flex-shrink:0;display:inline-block}
/* Fusszeilen-Links */
.mr-footlinks{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem}
/* Auf kleinen Bildschirmen verdeckt der schwebende Kontakt-Knopf sonst die letzte Fusszeilen-Zeile */
@media (max-width:640px){footer{padding-bottom:5.5rem}}

/* Voice + Visual: schmal untereinander (Voice, Kacheln, Visual, Galerie), ab 1500px zweispaltig wie auf der bisherigen Seite */
.vv{display:flex;flex-direction:column;width:100%}
.vv-voice{order:1}.vv-boxes{order:2;margin-top:3rem}.vv-visual{order:3;margin-top:6rem}.vv-gallery{order:4;margin-top:3rem}
.vv-voice,.vv-visual{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
@media (min-width:1500px){
  .vv{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;row-gap:0}
  .vv-voice{order:1}.vv-visual{order:2;align-items:flex-end;text-align:right;margin-top:0}
  .vv-visual .vv-intro{margin-left:auto}
  .vv-gallery{order:3;grid-column:1 / -1;margin-top:4rem}
  .vv-boxes{order:4;grid-column:1 / -1;margin-top:4rem}
}


/* Burger-Menü: Unterpunkte fahren beim Hovern ein und aus (Nils 01.10.2026, Werte aus der WordPress-Fassung
   vom 21.02.2026: max-height 0 → 500px, opacity 0 → 1, margin-top 0 → 1rem, 0.5s ease-in-out; Strich links
   beim Hovern 2px × 1.5rem). Nur auf Geräten mit Maus: Auf Touch bleiben die Unterpunkte sichtbar. */
.mr-sub { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; }
.mr-sub a { position: relative; }
.mr-sub a::before {
  content: ''; position: absolute; left: -1rem; top: 50%; transform: translateY(-50%);
  width: 2px; height: 1.5rem; background-color: rgba(28, 25, 23, 0.3);
  opacity: 0; transition: opacity 0.3s ease; pointer-events: none;
}
.mr-sub a:hover::before { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  .mr-menu-group { gap: 0; }
  .mr-menu-group .mr-sub { max-height: 0; opacity: 0; overflow: hidden; margin-top: 0; transition: all 0.5s ease-in-out; }
  .mr-menu-group:hover .mr-sub,
  .mr-menu-group:focus-within .mr-sub { max-height: 500px; opacity: 1; margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mr-menu-group .mr-sub { transition: none; }
}
