/* =====================================================================
   MBWC – Eigenes, self-hosted Consent-Tool (ersetzt CCM19)
   Schlank, schnell, WCAG-konform. Keine externen Abhaengigkeiten.
   ===================================================================== */

/* Fester Einstellungen-Button unten links (ueber dem Barrierefrei-Button) */
.mbwc-cs-fab{
  position:fixed;left:20px;bottom:84px;z-index:99989;
  width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;
  background:#996600;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.28);transition:transform .2s, background .2s;
}
.mbwc-cs-fab:hover{background:#7c5200;transform:scale(1.06);}
.mbwc-cs-fab:focus-visible{outline:3px solid #ffcc00;outline-offset:3px;}
.mbwc-cs-fab svg{width:26px;height:26px;display:block;}
@media (prefers-reduced-motion: reduce){ .mbwc-cs-fab{transition:none;} }

/* Zahnrad-/Einstellungen-Link im Footer (von consent.js eingehaengt) */
.mbwc-cs-link{
  background:none;border:0;padding:0;margin:0;cursor:pointer;
  color:inherit;font:inherit;text-decoration:underline;
}
.mbwc-cs-link:focus-visible{outline:3px solid #ffcc00;outline-offset:2px;}

/* Erstbesuch-Hinweis (dezent, nicht blockierend) */
.mbwc-cs-note{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:99990;
  max-width:520px;margin-inline:auto;
  background:#0C1726;color:#f5f3ee;border:1px solid #996600;
  border-radius:12px;padding:16px 18px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  font-size:.95rem;line-height:1.55;text-align:left;
}
.mbwc-cs-note p{margin:0 0 12px;}
.mbwc-cs-note a{color:#e6c477;}
.mbwc-cs-actions{display:flex;flex-wrap:wrap;gap:8px;}
.mbwc-cs-btn{
  font:inherit;font-weight:600;cursor:pointer;border-radius:8px;
  padding:9px 16px;border:1px solid #996600;
}
.mbwc-cs-btn--primary{background:#996600;color:#fff;}
.mbwc-cs-btn--ghost{background:transparent;color:#f5f3ee;}
.mbwc-cs-btn:hover{filter:brightness(1.08);}
.mbwc-cs-btn:focus-visible{outline:3px solid #ffcc00;outline-offset:2px;}

/* Einstellungen-Dialog */
.mbwc-cs-overlay{
  position:fixed;inset:0;z-index:99991;display:none;
  background:rgba(6,12,22,.55);
  align-items:center;justify-content:center;padding:16px;
}
.mbwc-cs-overlay[data-open="1"]{display:flex;}
.mbwc-cs-dialog{
  background:#fff;color:#1d2732;border-radius:14px;
  max-width:560px;width:100%;max-height:90vh;overflow:auto;
  padding:0;text-align:left;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
/* Navy-Kopfband mit zentriertem weissem Logo */
.mbwc-cs-logobar{
  background:#0C1726;padding:18px 20px;text-align:center;
}
.mbwc-cs-logo{
  display:inline-block;height:46px;width:auto;max-width:80%;
}
.mbwc-cs-body{padding:18px 22px 18px;}
.mbwc-cs-dialog h2{margin:0 0 4px;font-size:1.3rem;color:#0C1726;text-align:center;}
.mbwc-cs-dialog p{margin:.4rem 0 1rem;line-height:1.55;}
.mbwc-cs-row{
  display:flex;gap:14px;align-items:flex-start;justify-content:space-between;
  padding:14px 0;border-top:1px solid #e7e2d7;
}
.mbwc-cs-row h3{margin:0 0 3px;font-size:1.02rem;color:#0C1726;}
.mbwc-cs-row p{margin:0;font-size:.9rem;color:#5c6672;}
.mbwc-cs-row--fixed .mbwc-cs-state{color:#3F7D57;font-weight:600;font-size:.9rem;white-space:nowrap;padding-top:2px;}

/* Schalter (role=switch) */
.mbwc-switch{
  flex:0 0 auto;width:52px;height:30px;border-radius:999px;border:0;
  background:#c4ccd4;position:relative;cursor:pointer;transition:background .2s;
}
.mbwc-switch::after{
  content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;
  border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.3);
}
.mbwc-switch[aria-checked="true"]{background:#996600;}
.mbwc-switch[aria-checked="true"]::after{left:25px;}
.mbwc-switch:focus-visible{outline:3px solid #ffcc00;outline-offset:2px;}

/* Drei gleich breite Schaltflaechen nebeneinander (Reject so prominent wie Accept) */
.mbwc-cs-foot{display:flex;flex-wrap:nowrap;gap:8px;margin-top:18px;}
.mbwc-cs-foot .mbwc-cs-btn{
  flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;
  padding:11px 8px;font-size:.95rem;
}
.mbwc-cs-foot .mbwc-cs-btn--ghost{color:#0C1726;}
/* Auf schmalen Displays untereinander (gut tippbar, weiterhin gleichrangig) */
@media (max-width:520px){
  .mbwc-cs-foot{flex-wrap:wrap;}
  .mbwc-cs-foot .mbwc-cs-btn{flex:1 1 100%;}
}
/* "Auswahl speichern" – gleichrangig, aber optisch als Sekundaeraktion (Umriss) */
.mbwc-cs-btn--save{background:#fff;color:#0C1726;border:1px solid #996600;}
.mbwc-cs-btn--save:hover{background:#f7efe0;}

/* "Immer aktiv"-Markierung der Kategorie Notwendig */
.mbwc-cs-state{
  flex:0 0 auto;color:#3F7D57;font-weight:600;font-size:.85rem;white-space:nowrap;
  padding:4px 10px;border:1px solid #cfe3d6;border-radius:999px;background:#f1f7f3;
  align-self:center;
}

/* Rechtslinks + Anbieter-Credit im Dialogfuss */
.mbwc-cs-links{
  margin:16px 0 2px;font-size:.85rem;text-align:center;color:#5c6672;
}
.mbwc-cs-links a{color:#7c5200;text-decoration:underline;}
.mbwc-cs-links a:focus-visible{outline:3px solid #ffcc00;outline-offset:2px;}
.mbwc-cs-sep{margin:0 .55rem;color:#b9c0c8;}
.mbwc-cs-credit{
  margin:0;font-size:.8rem;text-align:center;color:#8a929b;
}
.mbwc-cs-credit a{color:#8a929b;text-decoration:underline;}
.mbwc-cs-credit a:focus-visible{outline:3px solid #ffcc00;outline-offset:2px;}

/* Desktop kompakt: kleinere Schrift/Abstaende, damit der Dialog OHNE Scrollen passt.
   Mobil (<=520px) bleibt es komfortabel lesbar und darf scrollen. */
@media (min-width:521px){
  .mbwc-cs-dialog{max-height:94vh;}
  .mbwc-cs-logobar{padding:11px 20px;}
  .mbwc-cs-logo{height:34px;}
  .mbwc-cs-body{padding:12px 22px 14px;}
  .mbwc-cs-dialog h2{font-size:1.12rem;margin-bottom:2px;}
  .mbwc-cs-dialog p{font-size:.82rem;line-height:1.38;margin:.25rem 0 .6rem;}
  .mbwc-cs-row{padding:8px 0;gap:12px;}
  .mbwc-cs-row h3{font-size:.9rem;margin-bottom:1px;}
  .mbwc-cs-row p{font-size:.78rem;line-height:1.32;}
  .mbwc-switch{width:46px;height:26px;}
  .mbwc-switch::after{width:20px;height:20px;}
  .mbwc-switch[aria-checked="true"]::after{left:23px;}
  .mbwc-cs-state{font-size:.78rem;padding:3px 9px;}
  .mbwc-cs-foot{margin-top:12px;}
  .mbwc-cs-foot .mbwc-cs-btn{padding:9px 8px;font-size:.88rem;}
  .mbwc-cs-links{margin:10px 0 2px;font-size:.8rem;}
  .mbwc-cs-credit{font-size:.74rem;}
}

/* =====================================================================
   Scroll-up-Button im Gold-Signet (einheitlich wie Barrierefrei-/Consent-Button).
   Zentral hier gepflegt, damit ALLE Seiten mit dem Consent-Tool automatisch
   denselben goldenen Scroll-up-Button erhalten. Weisser Pfeil bleibt.
   ===================================================================== */
#scrollToTop.scrollToTop a{
  background:#996600!important;border-radius:50%!important;
  box-shadow:0 6px 18px rgba(0,0,0,.28)!important;
  transition:background .2s ease, transform .2s ease!important;
}
#scrollToTop.scrollToTop a:hover{background:#7c5200!important;transform:translateY(-3px)!important;}

/* Skip-Link „Zum Inhalt springen" (WCAG 2.4.1) – nur bei Tastatur-Fokus sichtbar */
.mbwc-skip{
  position:absolute;left:8px;top:-52px;z-index:100000;
  background:#996600;color:#fff;padding:10px 16px;border-radius:0 0 10px 10px;
  text-decoration:none;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.28);
  transition:top .15s ease;
}
.mbwc-skip:focus{top:0;outline:3px solid #ffcc00;outline-offset:2px;}

/* =====================================================================
   Handkodierter Footer (ersetzt den Mobirise-Footer)
   Self-contained, linksbuendig, responsive, navy + Gold-Akzente.
   ===================================================================== */
.mbwc-ft{
  position:relative;background:#0C1726 url("../images/footer-hintergrund-poster.jpg") center/cover no-repeat;
  color:#e9ecf1;
}
.mbwc-ft::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,23,38,.84),rgba(12,23,38,.93));
}
.mbwc-ft__inner{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:56px 20px 26px;}
.mbwc-ft__cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;align-items:start;text-align:left;}
.mbwc-ft__logo{height:60px;width:auto;display:block;margin:0 0 14px;}
.mbwc-ft__tag{margin:0 0 16px;font-size:.95rem;line-height:1.6;color:#c7cdd6;max-width:38ch;}
.mbwc-ft__soc{
  display:inline-flex;width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.08);align-items:center;justify-content:center;
  color:#e9ecf1;transition:background .2s,transform .2s;
}
.mbwc-ft__soc:hover{background:#996600;transform:translateY(-2px);}
.mbwc-ft__soc svg{width:19px;height:19px;display:block;}
.mbwc-ft__h{font-size:1.02rem;font-weight:700;color:#fff;margin:0 0 14px;letter-spacing:.02em;}
.mbwc-ft__addr{font-style:normal;line-height:1.85;font-size:.97rem;color:#dfe3ea;}
.mbwc-ft__addr a{color:#e6c477;text-decoration:none;}
.mbwc-ft__addr a:hover{text-decoration:underline;}
.mbwc-ft__nav{list-style:none;margin:0;padding:0;}
.mbwc-ft__nav li{margin:0 0 9px;}
.mbwc-ft__nav a{color:#dfe3ea;text-decoration:none;font-size:.97rem;}
.mbwc-ft__nav a:hover{color:#e6c477;text-decoration:underline;}
.mbwc-ft__nav a.is-notfall{color:#ff9a9a;font-weight:600;}
.mbwc-ft__legal{
  margin:36px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.14);
  font-size:.85rem;color:#aeb6c2;text-align:left;line-height:1.9;
}
.mbwc-ft__legal a,.mbwc-ft__legal .mbwc-cs-link{color:#aeb6c2;text-decoration:underline;}
.mbwc-ft__legal a:hover,.mbwc-ft__legal .mbwc-cs-link:hover{color:#e6c477;}
.mbwc-ft a:focus-visible,.mbwc-ft__soc:focus-visible,.mbwc-ft__legal .mbwc-cs-link:focus-visible{
  outline:3px solid #ffcc00;outline-offset:2px;
}
@media (max-width:860px){
  .mbwc-ft__cols{grid-template-columns:1fr 1fr;gap:28px;}
  .mbwc-ft__brand{grid-column:1 / -1;}
}
@media (max-width:560px){
  .mbwc-ft__cols{grid-template-columns:1fr;gap:24px;}
  .mbwc-ft__inner{padding:40px 18px 24px;}
}

@media (prefers-reduced-motion: reduce){
  .mbwc-switch,.mbwc-switch::after{transition:none;}
}

/* Consent-Platzhalter fuer eingebettete Formulare (Newsletter etc.) */
.mbwc-embed-ph{border:1px solid #e7ddcc;border-radius:14px;background:#fbf7f0;padding:22px 20px;text-align:left;color:#33312b;max-width:640px;margin:0 auto;}
.mbwc-embed-ph__t{font-weight:700;color:#7c5200;margin:0 0 .4rem;font-size:1.05rem;}
.mbwc-embed-ph__x{margin:0 0 1rem;font-size:.92rem;line-height:1.55;color:#5c6672;}
.mbwc-embed-ph__btn{font:inherit;font-weight:700;cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.6rem;background:#996600;color:#fff;}
.mbwc-embed-ph__btn:hover{background:#7c5200;}
.mbwc-embed-ph__btn:focus-visible{outline:3px solid #ffcc00;outline-offset:2px;}
.mbwc-embed-ph__chk{display:flex;gap:.5rem;align-items:center;margin-top:.8rem;font-size:.85rem;color:#5c6672;cursor:pointer;}
