/* RandomizerBox-Gestaltung für tarteaucitron (Banner + Einstellungsfenster).
   Übernommen von maakmedia.com (Garmin-Marketing/website), Farben aus globals.css:
   Karte #121421, Text #F5F7FF, Grau #b5b9cf, Akzent #6366F1.
   Hohe Spezifität + !important, weil tarteaucitron sein CSS erst zur Laufzeit lädt. */

html body #tarteaucitronRoot,
html body #tarteaucitronRoot * {
  font-family: var(--font-body), system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

/* ---------- Gemeinsame Pills ---------- */
html body #tarteaucitronRoot #tarteaucitronPersonalize2,
html body #tarteaucitronRoot #tarteaucitronAllDenied2,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition: background-color 200ms ease, color 200ms ease !important;
}
/* Häkchen-/Kreuz-Symbole in Buttons ausblenden */
html body #tarteaucitronRoot button > span[aria-hidden],
html body #tarteaucitronRoot .tarteaucitronCheck,
html body #tarteaucitronRoot .tarteaucitronCross,
html body #tarteaucitronRoot #tarteaucitronPersonalize2 span,
html body #tarteaucitronRoot #tarteaucitronAllDenied2 span {
  display: none !important;
}

/* ---------- Banner ---------- */
/* Leiste über die volle Breite, Inhalt auf Seitenbreite (72rem). Text oben, darunter in einer Reihe:
   Zustimmen (gefüllt, erste Wahl), Ablehnen (Umriss), Anpassen und Datenschutz als Textlinks.
   display:grid nur solange das Banner sichtbar ist – sonst würde es das Ausblenden (display:none)
   überschreiben und das unsichtbare Banner Klicks unten auf der Seite abfangen. */
html body #tarteaucitronRoot #tarteaucitronAlertBig:not([style*="display: none"]) {
  display: grid !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig {
  grid-template-columns: auto auto auto auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0 12px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 22px max(20px, calc((100% - 72rem) / 2 + 20px)) !important;
  background: #121421 !important;
  color: #F5F7FF !important;
  border: 0 !important;
  border-top: 1px solid #2a2d45 !important;
  border-radius: 0 !important;
  box-shadow: 0 -12px 32px rgb(0 0 0 / 0.45) !important;
  text-align: left !important;
}
html body #tarteaucitronRoot #tarteaucitronDisclaimerAlert {
  grid-column: 1 / -1;
  grid-row: 1;
  display: block !important;
  max-width: 60rem;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #b5b9cf !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}
html body #tarteaucitronRoot #tarteaucitronPersonalize2,
html body #tarteaucitronRoot #tarteaucitronAllDenied2 {
  grid-row: 2;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 26px !important;
}
/* Zustimmen: gefüllt im Akzent, die erste Wahl */
html body #tarteaucitronRoot #tarteaucitronPersonalize2 {
  grid-column: 1;
  background: #6366F1 !important;
  color: #FFFFFF !important;
  border: 1.5px solid #6366F1 !important;
}
html body #tarteaucitronRoot #tarteaucitronPersonalize2:hover {
  background: #7b7ef4 !important;
  border-color: #7b7ef4 !important;
}
/* Ablehnen: gleich groß, als Umriss */
html body #tarteaucitronRoot #tarteaucitronAllDenied2 {
  grid-column: 2;
  background: transparent !important;
  color: #F5F7FF !important;
  border: 1.5px solid #8a8fb0 !important;
}
html body #tarteaucitronRoot #tarteaucitronAllDenied2:hover {
  background: #24273d !important;
  border-color: #F5F7FF !important;
}
/* Anpassen · Datenschutz: Textlinks rechts neben den Buttons */
html body #tarteaucitronRoot #tarteaucitronCloseAlert,
html body #tarteaucitronRoot #tarteaucitronPrivacyUrl {
  grid-row: 2;
  justify-self: start;
  margin: 0 0 0 10px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #F5F7FF !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px;
}
html body #tarteaucitronRoot #tarteaucitronCloseAlert { grid-column: 3; }
html body #tarteaucitronRoot #tarteaucitronPrivacyUrl { grid-column: 4; }

/* Handy: Buttons nebeneinander je halbe Breite, Links darunter */
@media (max-width: 600px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 10px !important;
    padding: 18px 16px !important;
  }
  html body #tarteaucitronRoot #tarteaucitronPersonalize2,
  html body #tarteaucitronRoot #tarteaucitronAllDenied2 {
    width: 100% !important;
    padding: 0 12px !important;
  }
  html body #tarteaucitronRoot #tarteaucitronCloseAlert,
  html body #tarteaucitronRoot #tarteaucitronPrivacyUrl {
    grid-row: 3;
    margin: 14px 0 0 !important;
  }
  html body #tarteaucitronRoot #tarteaucitronCloseAlert { grid-column: 1; justify-self: end; margin-right: 12px !important; }
  html body #tarteaucitronRoot #tarteaucitronPrivacyUrl { grid-column: 2; justify-self: start; margin-left: 12px !important; }
}

/* ---------- Einstellungsfenster ---------- */
html body #tarteaucitronRoot #tarteaucitron {
  border-radius: 20px !important;
  overflow: hidden;
}
html body #tarteaucitronRoot #tarteaucitronClosePanel {
  background: #0A0B1A !important;
  color: #F5F7FF !important;
  border-radius: 12px 12px 0 0 !important;
  font-weight: 700 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
  background: #121421 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover {
  background: #1a1d30 !important;
  border-color: #1a1d30 !important;
  color: #F5F7FF !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1,
html body #tarteaucitronRoot #tarteaucitron #dialogTitle {
  color: #F5F7FF !important;
  font-family: var(--font-display), system-ui, sans-serif !important;
  font-weight: 700 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
  background: transparent !important;
  color: #b5b9cf !important;
  border: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronName,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronH2,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine span {
  color: #F5F7FF !important;
}
/* Datenschutz im Fenster: Textlink */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: #F5F7FF !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

/* Erlauben / Ablehnen: neutral, gewählte Option im Akzent */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny {
  background: #24273d !important;
  color: #F5F7FF !important;
  margin: 4px 0 4px 8px !important;
  opacity: 1 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:hover,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:hover {
  background: #2f3350 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed.tarteaucitronIsSelected,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied.tarteaucitronIsSelected {
  background: #6366F1 !important;
  color: #FFFFFF !important;
}

/* Speichern: Hauptaktion im Akzent */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton {
  background: #6366F1 !important;
  color: #FFFFFF !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton:hover {
  background: #7b7ef4 !important;
}

/* Dienst-Zeilen und Kategorien: dunkler Grund statt Weiß */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder button:not(.tarteaucitronAllow):not(.tarteaucitronDeny),
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine,
html body #tarteaucitronRoot #tarteaucitron .catToggleBtn,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave {
  background: #121421 !important;
  border-color: #2a2d45 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder button,
html body #tarteaucitronRoot #tarteaucitron .catToggleBtn,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH3,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronPlus {
  color: #F5F7FF !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine a,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronListCookies {
  color: #b5b9cf !important;
}

/* Fokus sichtbar */
html body #tarteaucitronRoot button:focus-visible,
html body #tarteaucitronRoot a:focus-visible {
  outline: 2px solid #FFC857 !important;
  outline-offset: 3px !important;
}
