/* www.missing-link.de — Ergaenzungen zu landing.css (eBiml35-Design, unveraenderte
   Kopie aus ebiml3v2). Neugestaltung AIPM 78, 03.10.2026. Nur ml-* Klassen und
   gezielte Anpassungen; Farben/Schrift/Abstaende kommen aus den --lp-* Tokens.
   Hell/Dunkel (04.10.2026): landing.css bleibt unberuehrt; feste Weisstoene von dort werden unten
   auf --ml-* Tokens umgelenkt, der Dunkelmodus setzt nur Tokens um (Abschnitt am Dateiende). */

:root{
  --ml-flaeche: #fff;         /* Karten, Kopf, helle Baender (in landing.css fest #fff) */
  --ml-knopf: #bb1500;        /* Flaeche roter Knoepfe mit weisser Schrift, bleibt in beiden Modi */
  --ml-knopf-hover: #7a1f1f;
  --ml-aktuell-rand: #f3cfc8;
  --ml-p2o-akzent: #b86b00;
  --ml-logo-grund: #fff;      /* Verlagslogos sind fuer weissen Grund gemacht */
  /* Waerme (04.10.2026): Verlauf Bordeaux -> Rot -> Orange als Akzent, warme Hintergruende */
  --ml-verlauf: linear-gradient(90deg, #7a1f1f 0%, #bb1500 45%, #e08a00 100%);
  --ml-verlauf-schrift: var(--ml-verlauf);   /* fuer Zahlen; nachts heller */
  --ml-marke-kopf: #d8321a;   /* "Link" im Namen: tags heller als #bb1500 */
  --ml-marke-fuss: #ff8a73;   /* Fuss ist immer dunkel: tags heller als #ff6a50 */
  --ml-balken: #8e2626;       /* Leiste oben + unterster Fussstreifen: tags helleres Bordeaux, nachts dunkel */
  --ml-kopf-grund: var(--ml-flaeche);   /* Kopf mit Logo: tags weiss, nachts dunkles Bordeaux */
  --ml-fuss-haupt: var(--ml-balken);    /* grosser Fussblock = Farbe der Leisten (tags und nachts) */
  --ml-warm-rot: #fde6df;
  --ml-warm-orange: #ffefd6;
  --lp-grund: #faf6f3;
  --lp-linie: #efe5df;
}

html{ scroll-behavior: smooth; scroll-padding-top: 90px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior: auto; } }
.ml-sr{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ml-sprung{ position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--ml-knopf); color: #fff; padding: 10px 16px; border-radius: 6px; font-weight: 600; text-decoration: none; }
.ml-sprung:focus{ top: 12px; color: #fff; }
:focus-visible{ outline: 3px solid var(--lp-orange); outline-offset: 2px; }

/* Kopf: klebt oben, Navigation mit aktivem Zustand, mobiles Menue */
.ml-kopf{ position: sticky; top: 0; z-index: 50; }
.ml-kopf .lp-wrap{ flex-wrap: nowrap; }
.ml-nav{ gap: 26px; }
.ml-nav a[aria-current="page"]{ color: var(--lp-rot); }
.ml-login{ display: inline-flex; align-items: center; gap: 8px; }
.ml-menue{ display: none; position: relative; }
.ml-menue summary{ list-style: none; cursor: pointer; padding: 8px; border-radius: 6px; color: var(--lp-text-2); display: flex; }
.ml-menue summary::-webkit-details-marker{ display: none; }
.ml-menue[open] summary{ background: var(--lp-grund); }
.ml-menue nav{ position: absolute; right: 0; top: calc(100% + 10px); width: 240px; background: var(--ml-flaeche); border: 1px solid var(--lp-linie); border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,.12); padding: 8px; display: flex; flex-direction: column; }
.ml-menue nav a{ padding: 11px 12px; border-radius: 6px; text-decoration: none; color: var(--lp-text-2); display: flex; align-items: center; gap: 8px; }
.ml-menue nav a:hover{ background: var(--lp-grund); color: var(--lp-rot); }

/* Hero: Foto Bremen, rechts der 35-Jahre-Trickfilm statt Login-Karte */
.ml-hero .lp-wrap{ padding-top: 64px; padding-bottom: 72px; }
.ml-hero-knoepfe{ display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; }
.ml-btn-rand{ background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.ml-btn-rand:hover{ border-color: #fff; color: #fff; background: rgba(255,255,255,.08); }
.ml-film{ grid-column: span 5; margin: 0; position: relative; display: flex; flex-direction: column; gap: 12px; }
.ml-film video{ display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 20px 50px rgba(0,0,0,.45); background: #fff; }
.ml-film figcaption{ font-size: 15px; color: #e6e6e6; text-align: center; }
.ml35-knopf{ position: absolute; left: 14px; bottom: 50px; font: 600 15px "Open Sans", system-ui, sans-serif; padding: 10px 18px; border-radius: 999px; border: 0; background: rgba(27,27,30,.85); color: #fff; cursor: pointer; }
.ml35-knopf:hover{ background: var(--ml-knopf); }

/* Zahlenband (nutzt .lp-trust als Rahmen) */
.ml-zahlen div{ flex-direction: column; align-items: flex-start; gap: 2px; }
.ml-zahlen b{ font-size: 30px; line-height: 1.1; color: var(--lp-rot); letter-spacing: -.01em; }
.ml-zahlen span{ font-size: 14px; color: var(--lp-grau); }

/* Aktuell-Leiste */
.ml-aktuell{ background: var(--lp-rot-hell); border-bottom: 1px solid var(--ml-aktuell-rand); }
.ml-aktuell .lp-wrap{ padding-top: 14px; padding-bottom: 14px; display: flex; align-items: center; gap: 16px; font-size: 15px; color: var(--lp-text-2); }
.ml-aktuell-marke{ flex: none; background: var(--ml-knopf); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }
.ml-aktuell a{ font-weight: 600; text-decoration: none; white-space: nowrap; }
.ml-aktuell a .lp-icon{ vertical-align: -2px; }

/* Leistungen: Links in den Extras */
.lp-extras a{ font-weight: 600; text-decoration: none; }

/* Portale */
.ml-portale{ background: var(--ml-flaeche); border-top: 1px solid var(--lp-linie); padding: 72px 0; }
.ml-portale .lp-wrap{ display: flex; flex-direction: column; gap: 36px; }
.ml-portal-karten{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ml-portal{ border: 1px solid var(--lp-linie); border-radius: 12px; padding: 32px; display: flex; flex-direction: column; gap: 14px; background: var(--lp-grund); position: relative; overflow: hidden; }
.ml-portal::before{ content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--lp-rot); }
.ml-portal-milibib::before{ background: var(--lp-dunkel); }
.ml-portal-name{ font-size: 32px; font-weight: 700; letter-spacing: -.015em; line-height: 1.1; }
.ml-portal-name span{ color: var(--lp-rot); }
.ml-portal-sub{ font-size: 15px; color: var(--lp-grau); margin-top: -8px; }
.ml-portal ul{ list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; color: var(--lp-text-2); flex: 1; }
.ml-portal li{ display: flex; gap: 10px; align-items: flex-start; }
.ml-portal li svg{ margin-top: 2px; }
.ml-portal-knoepfe{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.ml-portal-knoepfe .lp-btn{ display: inline-flex; align-items: center; gap: 8px; }

/* Ueber uns */
.ml-ueber{ padding: 72px 0; }
.ml-ueber .lp-wrap{ display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 48px; align-items: center; }
.ml-ueber-bild{ grid-column: span 4; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.15); }
.ml-ueber-text{ grid-column: span 8; display: flex; flex-direction: column; gap: 14px; }
.ml-ueber-text .lp-eyebrow{ color: var(--lp-rot); }
.ml-ueber-text h2{ font-size: 34px; font-weight: 700; letter-spacing: -.01em; }
.ml-ueber-text h3{ font-size: 19px; font-weight: 700; margin-top: 10px; }
.ml-ueber-text p{ font-size: 17px; line-height: 1.6; color: var(--lp-grau); }
.ml-orte{ list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; margin: 8px 0; }
.ml-orte li{ display: flex; gap: 10px; align-items: flex-start; background: var(--ml-flaeche); border: 1px solid var(--lp-linie); border-radius: 10px; padding: 14px; font-size: 14px; color: var(--lp-grau); }
.ml-orte li svg{ margin-top: 2px; }
.ml-orte b{ display: block; color: var(--lp-text); font-size: 15px; }

/* Verlage als Karussell: Band aus zwei gleichen Listen laeuft endlos nach links, -50% = eine Liste.
   Maus darauf oder Tastaturfokus haelt an; bei reduzierter Bewegung statisch umbrechen. */
.ml-karussell{ width: 100%; overflow: hidden; padding: 6px 0 22px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.ml-karussell-band{ display: flex; width: max-content; animation: ml-karussell 150s linear infinite; }
.ml-karussell:hover .ml-karussell-band, .ml-karussell:focus-within .ml-karussell-band{ animation-play-state: paused; }
.ml-karussell .lp-logos{ display: flex; flex-wrap: nowrap; gap: 14px; padding-right: 14px; width: max-content; }
.ml-karussell .lp-logos li{ flex: none; width: 180px; }
.ml-karussell .lp-logos .ml-logo-marke{ max-height: 40px; margin-right: 10px; }
@keyframes ml-karussell{ to{ transform: translateX(-50%); } }
@media (max-width: 600px){ .ml-karussell .lp-logos li{ width: 150px; } .ml-karussell-band{ animation-duration: 120s; } }
@media (prefers-reduced-motion: reduce){
  .ml-karussell{ -webkit-mask-image: none; mask-image: none; }
  .ml-karussell-band{ animation: none; width: auto; }
  .ml-karussell .lp-logos{ flex-wrap: wrap; justify-content: center; width: auto; padding-right: 0; }
  .ml-karussell .lp-logos[aria-hidden]{ display: none; }
}
.lp-partner{ background: var(--ml-flaeche); border-top: 1px solid var(--lp-linie); }
.ml-verlage-hinweis{ font-size: 15px; color: var(--lp-grau); text-align: center; max-width: 640px; }

/* Kontakt: vier Wege */
.lp-kontakt-wege a .lp-icon{ flex: none; }

/* Leiste ueber dem Kopf wie auf www.keppler.de: links Telefon/Mail/Zeiten, rechts Tag/Nacht und Sprachwahl */
.ml-leiste{ background: var(--lp-fuss); color: #bdbdbd; font-size: 13px; }
.ml-leiste .lp-wrap{ height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ml-leiste-grp{ display: flex; align-items: center; gap: 24px; }
.ml-leiste-grp > a, .ml-leiste-grp > span{ display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.ml-leiste a{ color: #bdbdbd; text-decoration: none; }
.ml-leiste a:hover{ color: #fff; }
.ml-thema{ display: inline-flex; align-items: center; gap: 8px; height: 30px; padding: 0 12px 0 10px; border-radius: 15px; border: 1px solid #44444b; background: transparent; color: #fff; font: 600 12.5px "Open Sans", system-ui, sans-serif; cursor: pointer; transition: background .15s, border-color .15s; }
.ml-thema:hover{ background: rgba(255,255,255,.08); border-color: #6a6a72; }
.ml-thema svg:last-of-type{ display: none; }               /* Tag: Mond + "Nacht" (= zur Nacht wechseln) */
[data-thema="dunkel"] .ml-thema svg:first-of-type{ display: none; }
[data-thema="dunkel"] .ml-thema svg:last-of-type{ display: block; }
.ml-sprachwahl{ position: relative; }
.ml-sprachwahl summary{ list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; }
.ml-sprachwahl summary::-webkit-details-marker{ display: none; }
.ml-sprachwahl ul{ position: absolute; right: 0; top: calc(100% + 10px); z-index: 60; list-style: none; margin: 0; padding: 8px 0; min-width: 170px; background: var(--ml-flaeche); border: 1px solid var(--lp-linie); border-radius: 8px; box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.ml-sprachwahl ul a{ display: flex; align-items: center; gap: 10px; padding: 7px 16px; color: var(--lp-text); font-size: 14px; }
.ml-sprachwahl ul a:hover{ background: var(--lp-grund); color: var(--lp-text); }
.ml-sprachwahl ul a[aria-current]{ color: var(--lp-rot); font-weight: 700; }
.ml-flagge{ flex: none; box-shadow: 0 0 0 1px rgba(0,0,0,.18); }
.ml-kopf .lp-marke{ margin-right: auto; }
@media (max-width: 1080px){ .ml-leiste-weg{ display: none !important; } }
@media (max-width: 760px){
  .ml-leiste-weg, .ml-leiste-mail{ display: none !important; }
  .ml-leiste-grp{ gap: 16px; }
  .ml-thema-text{ display: none; }
  .ml-thema{ padding: 0 9px; }
}
.ml-fuss-klein{ font-size: 12px; color: #8f8f93; margin-top: -4px; }

/* Angebote */
.ml-angebote .lp-wrap{ max-width: 1200px; }
.ml-seite-lead{ font-size: 17px; line-height: 1.55; color: var(--lp-grau); max-width: 720px; margin-bottom: 28px; }
.ml-angebot-verlag{ font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--lp-rot); margin-bottom: -6px; }
.ml-angebot p{ flex: 1; }
.ml-angebot-link{ display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-size: 15px; padding: 8px 14px; }
.ml-angebote-hinweis{ margin-top: 28px; }
.ml-angebote-hinweis a{ font-weight: 600; text-decoration: none; }

/* Mobil */
@media (max-width: 1080px){
  .ml-nav{ display: none; }
  .ml-menue{ display: block; }
}
@media (max-width: 900px){
  .ml-film, .ml-ueber-bild, .ml-ueber-text{ grid-column: auto; }
  .ml-ueber .lp-wrap{ grid-template-columns: 1fr; gap: 32px; }
  .ml-ueber-bild{ max-width: 320px; }
  .ml-portal-karten{ grid-template-columns: 1fr; }
  .ml-orte{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .lp-wrap{ padding-left: 16px; padding-right: 16px; }
  .lp-marke img{ height: 42px; width: auto; }
  .lp-marke-name{ font-size: 21px; }
  .lp-marke-sub{ font-size: 12px; }
  .ml-hero .lp-wrap{ padding-top: 40px; padding-bottom: 48px; }
  .lp-hero h1{ font-size: 31px; }
  .lp-hero-lead{ font-size: 17px; }
  .ml-zahlen{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .ml-aktuell .lp-wrap{ flex-direction: column; align-items: flex-start; gap: 8px; }
  .ml-aktuell a{ white-space: normal; }
  .lp-abschnitt-kopf h2, .ml-ueber-text h2, .lp-p2o-text h2{ font-size: 27px; }
  .ml-portal{ padding: 24px; }
  .ml-portale, .lp-leistungen, .ml-ueber{ padding: 52px 0; }
}

/* Variante "Buehne": ein Verlag gross in der Mitte, Nachbarn angedeutet, dreht schrittweise und endlos.
   Wird per buehne.js aus der vorhandenen Logoliste (.ml-karussell) aufgebaut. */
.ml-buehne{ --schritt: 212px; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.ml-buehne-zeile{ width: 100%; display: flex; align-items: center; gap: 12px; }
.ml-buehne-fenster{ position: relative; flex: 1; height: 180px; overflow: hidden; touch-action: pan-y;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.ml-buehne .ml-buehne-bahn{ display: block; list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.ml-buehne-bahn li{ --s: .8; position: absolute; left: 50%; top: 50%; width: 190px; margin: 0;
  transform: translate(-50%, -50%) translateX(calc(var(--o) * var(--schritt))) scale(var(--s));
  opacity: .4; filter: grayscale(1); transition: transform .6s cubic-bezier(.2,.7,.2,1), opacity .6s, filter .6s, box-shadow .6s; }
.ml-buehne-bahn li[data-o="1"]{ --s: .9; opacity: .75; filter: grayscale(.3); }
.ml-buehne-bahn li[data-o="0"]{ --s: 1.14; opacity: 1; filter: none; z-index: 2; border-color: var(--lp-rahmen); box-shadow: 0 10px 28px rgba(0,0,0,.10); }
.ml-buehne-bahn li[data-o="x"]{ opacity: 0; pointer-events: none; }
.ml-buehne-bahn li:not([data-o="0"]) a{ cursor: pointer; }
.ml-buehne-knopf{ flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--lp-rahmen); background: var(--ml-flaeche); color: var(--lp-text); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .2s, color .2s; }
.ml-buehne-knopf:hover, .ml-buehne-knopf:focus-visible{ border-color: var(--lp-rot); color: var(--lp-rot); }
.ml-buehne-name{ margin: 0; min-height: 1.4em; font-size: 15px; font-weight: 600; color: var(--lp-text); text-align: center; }
.ml-buehne-name span{ color: var(--lp-grau); font-weight: 400; }
.ml-buehne-unsichtbar{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 600px){ .ml-buehne{ --schritt: 150px; } .ml-buehne-bahn li{ width: 150px; } .ml-buehne-knopf{ width: 38px; height: 38px; } }
@media (prefers-reduced-motion: reduce){ .ml-buehne-bahn li{ transition: none; } }

/* ---------- Hell/Dunkel (04.10.2026) ----------
   Feste Weiss- und Rottoene aus landing.css auf Tokens umlenken (im hellen Modus wirkungsgleich). */
.lp-kopf, .lp-trust, .lp-karte, .lp-p2o, .lp-doku, .lp-login, .lp-input, .lp-btn-hell{ background: var(--ml-flaeche); }
.lp-btn-rot{ background: var(--ml-knopf); border-color: var(--ml-knopf); }
.lp-btn-rot:hover{ background: var(--ml-knopf-hover); border-color: var(--ml-knopf-hover); }
.lp-p2o-text .lp-eyebrow{ color: var(--ml-p2o-akzent); }
.lp-logos li{ background: var(--ml-logo-grund); }
.lp-logos span{ color: #303030; }
/* Icon-Farben stehen als stroke-Attribut im SVG (build.py); CSS schlaegt das Attribut */
svg[stroke="#bb1500"]{ stroke: var(--lp-rot); }
svg[stroke="#5e5e5e"]{ stroke: var(--lp-grau); }

/* Dunkle Werte: einmal fuer "System dunkel, keine Wahl hell", einmal fuer die ausdrueckliche Wahl.
   Beide Bloecke muessen gleich bleiben. */
@media (prefers-color-scheme: dark){
  :root:not([data-thema="hell"]){
    color-scheme: dark;
    --lp-rot: #ff7a63; --lp-rot-dunkel: #ffa494; --lp-rot-hell: #3a1d19; --lp-orange: #e08a00;
    --lp-text: #ececee; --lp-text-2: #d6d6da; --lp-grau: #a4a4ab; --lp-grau-hell: #7d7d85;
    --lp-linie: #33333a; --lp-rahmen: #4a4a53; --lp-grund: #121214; --lp-dunkel: #0c0c0e; --lp-fuss: #08080a;
    --ml-flaeche: #1c1c20; --ml-aktuell-rand: #5a2a22; --ml-p2o-akzent: #f0a63a; --ml-logo-grund: #ececef; --ml-warm-rot: #3a1d19; --ml-warm-orange: #36260f; --ml-verlauf-schrift: linear-gradient(90deg, #ff7a63, #ffb347); --ml-marke-kopf: #e2432a; --ml-marke-fuss: #f0644a; --ml-balken: #461010; --ml-kopf-grund: var(--ml-balken); --ml-fuss-haupt: var(--ml-balken);
  }
}
:root[data-thema="dunkel"]{
  color-scheme: dark;
  --lp-rot: #ff7a63; --lp-rot-dunkel: #ffa494; --lp-rot-hell: #3a1d19; --lp-orange: #e08a00;
  --lp-text: #ececee; --lp-text-2: #d6d6da; --lp-grau: #a4a4ab; --lp-grau-hell: #7d7d85;
  --lp-linie: #33333a; --lp-rahmen: #4a4a53; --lp-grund: #121214; --lp-dunkel: #0c0c0e; --lp-fuss: #08080a;
  --ml-flaeche: #1c1c20; --ml-aktuell-rand: #5a2a22; --ml-p2o-akzent: #f0a63a; --ml-logo-grund: #ececef; --ml-warm-rot: #3a1d19; --ml-warm-orange: #36260f; --ml-verlauf-schrift: linear-gradient(90deg, #ff7a63, #ffb347); --ml-marke-kopf: #e2432a; --ml-marke-fuss: #f0644a; --ml-balken: #461010; --ml-kopf-grund: var(--ml-balken); --ml-fuss-haupt: var(--ml-balken);
}
:root[data-thema="hell"]{ color-scheme: light; }


/* ---------- Waerme (04.10.2026): Orange, Rot und Bordeaux als Akzente ----------
   Verlaufsstreifen unter der Leiste und ueber dem Fuss, Zahlen im Verlauf, warme Toene fuer
   Aktuell-Leiste, Icon-Kacheln und Portal-Kanten, Kontaktband weinrot (Hero wieder wie eBiml35). */
.ml-kopf{ border-bottom: 0; }
.ml-kopf::before{ content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--ml-verlauf); }
.ml-kopf{ box-shadow: 0 1px 0 var(--lp-linie); }
.lp-fuss{ border-top: 4px solid; border-image: var(--ml-verlauf) 1; }
.ml-zahlen b{ background: var(--ml-verlauf-schrift); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ml-aktuell{ background: linear-gradient(90deg, var(--ml-warm-rot), var(--ml-warm-orange)); }
.lp-karte-icon{ background: linear-gradient(135deg, var(--ml-warm-rot), var(--ml-warm-orange)); }
.lp-karte:hover{ border-color: #f0c9b8; box-shadow: 0 10px 28px rgba(187,21,0,.10); }
.ml-portal::before{ background: linear-gradient(90deg, #bb1500, #e08a00); }
.ml-portal-milibib::before{ background: linear-gradient(90deg, #7a1f1f, #bb1500); }
.lp-kontakt{ background: linear-gradient(120deg, #4a1212 0%, #7a1f1f 55%, #9c3a14 100%); }
.lp-kontakt-wege a:hover{ color: #ffd29a; }
.lp-p2o{ background: linear-gradient(180deg, var(--ml-flaeche), var(--ml-warm-orange)); }
[data-thema="dunkel"] .lp-karte:hover{ border-color: #5a2a22; }
@media (prefers-color-scheme: dark){ :root:not([data-thema="hell"]) .lp-karte:hover{ border-color: #5a2a22; } }

/* Logo transparent (04.10.2026): Tagfassung schwarze Schrift, Nachtfassung helle Schrift */
.lp-marke .ml-logo-nacht{ display: none; }
[data-thema="dunkel"] .lp-marke .ml-logo-tag{ display: none; }
[data-thema="dunkel"] .lp-marke .ml-logo-nacht{ display: block; }
@media (prefers-color-scheme: dark){
  :root:not([data-thema="hell"]) .lp-marke .ml-logo-tag{ display: none; }
  :root:not([data-thema="hell"]) .lp-marke .ml-logo-nacht{ display: block; }
}

/* "Link" im Namen (04.10.2026): tags heller, nachts dunkler als zuvor */
.lp-marke-name span{ color: var(--ml-marke-kopf); }
.lp-fuss-marke span{ color: var(--ml-marke-fuss); }

/* Leiste oben und unterster Fussstreifen in Missing-Link-Rot (04.10.2026), Schrift weiss */
.ml-leiste{ background: var(--ml-balken); color: rgba(255,255,255,.92); }
.ml-leiste a{ color: rgba(255,255,255,.92); }
.ml-leiste a:hover{ color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ml-thema{ border-color: rgba(255,255,255,.45); }
.ml-thema:hover{ background: rgba(255,255,255,.14); border-color: #fff; }
.lp-fuss-unten{ background: var(--ml-balken); border-top: 1px solid rgba(255,255,255,.18); }
.lp-fuss-unten .lp-wrap{ color: rgba(255,255,255,.92); }

/* Nachts Kopf und Fussblock in dunklem Bordeaux (04.10.2026) */
.lp-kopf{ background: var(--ml-kopf-grund); }
.lp-fuss{ background: var(--ml-fuss-haupt); }


.lp-fuss-spalten a, .lp-fuss{ color: rgba(255,255,255,.88); }
.lp-fuss-spalten a:hover{ color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.lp-fuss .ml-fuss-klein{ color: rgba(255,255,255,.7); }

/* Unterseiten Digitales, eBiml35, miliBib35, Verlage (04.10.2026) */
.ml-unterseite .lp-wrap{ max-width: 1200px; }
.ml-unter-h2{ font-size: 24px; font-weight: 700; letter-spacing: -.01em; margin: 36px 0 18px; }
.ml-rot{ color: var(--ml-marke-kopf); }
.ml-liste{ list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; font-size: 16px; line-height: 1.5; color: var(--lp-text-2); }
.ml-liste li{ display: flex; gap: 10px; align-items: flex-start; }
.ml-liste li svg{ margin-top: 3px; }
.ml-unter-spalten{ display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; }
.ml-unter-kasten{ background: var(--ml-flaeche); border: 1px solid var(--lp-linie); border-radius: 12px; padding: 4px 28px 28px; display: flex; flex-direction: column; gap: 14px; position: relative; overflow: hidden; }
.ml-unter-kasten::before{ content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: linear-gradient(90deg, #bb1500, #e08a00); }
.ml-unter-kasten p{ font-size: 15px; line-height: 1.55; color: var(--lp-grau); }
.ml-unter-hinweis{ margin-top: 36px; background: linear-gradient(90deg, var(--ml-warm-rot), var(--ml-warm-orange)); line-height: 1.6; }
.ml-unter-hinweis a{ font-weight: 600; }
.ml-mehr{ font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.ml-verlagsliste{ list-style: none; padding: 0; margin: 8px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ml-verlagsliste a{ display: flex; align-items: center; gap: 16px; height: 100%; padding: 14px 16px; background: var(--ml-flaeche); border: 1px solid var(--lp-linie); border-radius: 10px; text-decoration: none; color: var(--lp-text); transition: box-shadow .2s, border-color .2s; }
.ml-verlagsliste a:hover{ border-color: var(--lp-rahmen); box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.ml-verlag-logo{ flex: none; width: 96px; height: 56px; border-radius: 6px; background: var(--ml-logo-grund); display: flex; align-items: center; justify-content: center; padding: 6px; }
.ml-verlag-logo img{ max-width: 100%; max-height: 100%; object-fit: contain; }
.ml-verlag-text{ display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.4; }
.ml-verlag-text b{ font-size: 15px; }
.ml-verlag-text span{ color: var(--lp-grau); }
@media (max-width: 900px){
  .ml-unter-spalten{ grid-template-columns: 1fr; gap: 8px; }
  .ml-verlagsliste{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px){ .ml-verlagsliste{ grid-template-columns: 1fr; } }

/* Fotos aus der alten Seite (04.10.2026): Bildreihe unter dem eBook-Tag, Teamfoto im Kopf der Kontaktseite */
.ml-galerie{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 6px; }
.ml-galerie img{ width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; box-shadow: 0 8px 22px rgba(0,0,0,.12); }
.ml-kontakt-kopf{ display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 24px; }
.ml-kontakt-kopf h1{ margin-bottom: 12px; }
.ml-kontakt-kopf .ml-seite-lead{ margin-bottom: 0; }
.ml-kontakt-kopf img{ flex: none; width: 150px; height: 220px; object-fit: cover; object-position: center 30%; border-radius: 12px; box-shadow: 0 12px 30px rgba(0,0,0,.15); }
@media (max-width: 600px){
  .ml-galerie{ grid-template-columns: 1fr 1fr; }
  .ml-galerie img:last-child{ display: none; }
  .ml-kontakt-kopf img{ width: 96px; height: 140px; }
  .ml-kontakt-kopf{ gap: 16px; }
}
