/* =========================================================================
   Niederhof — Tarteaucitron Custom Branding
   Minimal & safe: only colors, fonts, button shape, spacing.
   NO layout overrides — vendor CSS handles modal positioning & scrolling.
   ========================================================================= */

:root {
  --nh-cookie-main: #0F3E28;      /* dark green */
  --nh-cookie-main-hover: #0A2E1D;
  --nh-cookie-bg: #E7F2E7;        /* banner bg */
  --nh-cookie-bg-panel: #F4FAF4;  /* configure-panel bg */
  --nh-cookie-text: #1A1A1A;
  --nh-cookie-text-light: #4A5A4A;
  --nh-cookie-allow: #1E7E34;
  --nh-cookie-allow-hover: #166325;
  --nh-cookie-deny: #DC3545;
  --nh-cookie-deny-hover: #B82A38;
  --nh-cookie-neutral: #6C757D;
  --nh-cookie-neutral-hover: #5A6268;
  --nh-cookie-border: #C4DCC4;
  --nh-cookie-radius: 8px;
  --nh-cookie-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* =========================================================================
   Typografie & Grundfarben (vendor-positioning UNVERÄNDERT lassen)
   ========================================================================= */

#tarteaucitronRoot,
#tarteaucitronRoot * {
  font-family: var(--nh-cookie-font) !important;
}

/* ---- ALERT BANNER (kleines Banner unten) ---------------------------------- */
#tarteaucitronRoot #tarteaucitronAlertBig {
  background: var(--nh-cookie-bg) !important;
  color: var(--nh-cookie-text) !important;
  border-radius: var(--nh-cookie-radius) !important;
  border: 1px solid var(--nh-cookie-border) !important;
}

#tarteaucitronRoot #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronDisclaimerAlert * {
  color: var(--nh-cookie-text) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* ---- CONFIGURE PANEL (großes Modal) -------------------------------------- */
#tarteaucitronRoot #tarteaucitron {
  background: var(--nh-cookie-bg-panel) !important;
  border-radius: var(--nh-cookie-radius) !important;
  border: 1px solid var(--nh-cookie-border) !important;
}

/* Panel Header */
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronInfo,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronH1,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronMainLineOffset {
  background: var(--nh-cookie-bg-panel) !important;
  color: var(--nh-cookie-text) !important;
}

#tarteaucitronRoot #tac_title,
#tarteaucitronRoot .tarteaucitronH1 {
  color: var(--nh-cookie-main) !important;
  font-weight: 700 !important;
}

#tarteaucitronRoot #tarteaucitronInfo {
  color: var(--nh-cookie-text-light) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  background: transparent !important;
}

/* ---- BUTTONS ------------------------------------------------------------- */
#tarteaucitronRoot button,
#tarteaucitronRoot .tarteaucitronCTAButton,
#tarteaucitronRoot #tarteaucitronAlertBig button {
  border-radius: var(--nh-cookie-radius) !important;
  font-family: var(--nh-cookie-font) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 10px 18px !important;
  border: 0 !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}

/* Allow / Accept */
#tarteaucitronRoot #tarteaucitronPersonalize,
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot button.tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot button#tarteaucitronCloseAlert {
  background-color: var(--nh-cookie-allow) !important;
  color: #fff !important;
}
#tarteaucitronRoot #tarteaucitronPersonalize:hover,
#tarteaucitronRoot .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover {
  background-color: var(--nh-cookie-allow-hover) !important;
}

/* Deny */
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot button.tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronAllDenied {
  background-color: var(--nh-cookie-deny) !important;
  color: #fff !important;
}
#tarteaucitronRoot .tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover {
  background-color: var(--nh-cookie-deny-hover) !important;
}

/* Configure / Personalize (neutral) */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog,
#tarteaucitronRoot .tarteaucitronLink {
  background-color: transparent !important;
  color: var(--nh-cookie-main) !important;
  text-decoration: underline !important;
}

/* Save button im Footer */
#tarteaucitronRoot #tarteaucitronSave button,
#tarteaucitronRoot button#tarteaucitronClosePanel {
  background-color: var(--nh-cookie-main) !important;
  color: #fff !important;
}
#tarteaucitronRoot #tarteaucitronSave button:hover {
  background-color: var(--nh-cookie-main-hover) !important;
}

/* Close-Icon (X) */
#tarteaucitronRoot .tarteaucitronCross,
#tarteaucitronRoot #tarteaucitronCloseCross,
#tarteaucitronRoot .tarteaucitronH1 button {
  background: transparent !important;
  color: var(--nh-cookie-text) !important;
  font-size: 20px !important;
}

/* ---- SERVICE-LINES (Karten) ---------------------------------------------- */
#tarteaucitronRoot .tarteaucitronLine {
  background: #fff !important;
  border: 1px solid var(--nh-cookie-border) !important;
  border-radius: 6px !important;
  margin: 8px 0 !important;
  padding: 12px !important;
}

#tarteaucitronRoot .tarteaucitronName,
#tarteaucitronRoot .tarteaucitronName .tarteaucitronH3,
#tarteaucitronRoot .tarteaucitronName b {
  color: var(--nh-cookie-text) !important;
  font-weight: 600 !important;
}

#tarteaucitronRoot .tarteaucitronListCookies,
#tarteaucitronRoot .tarteaucitronAsk {
  color: var(--nh-cookie-text-light) !important;
  font-size: 13px !important;
}

/* Service-Toggle Buttons (Allow/Deny pro Service) */
#tarteaucitronRoot .tarteaucitronAsk button {
  font-size: 13px !important;
  padding: 6px 14px !important;
}

/* ---- MIDDLE BAR / KATEGORIE-ÜBERSCHRIFTEN -------------------------------- */
#tarteaucitronRoot .tarteaucitronTitle button,
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronTitle button,
#tarteaucitronRoot .tarteaucitronMainLine,
#tarteaucitronRoot .tarteaucitronTitle {
  background: var(--nh-cookie-bg) !important;
  color: var(--nh-cookie-text) !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronName {
  color: var(--nh-cookie-text) !important;
}

/* ---- LINKS --------------------------------------------------------------- */
#tarteaucitronRoot a {
  color: var(--nh-cookie-main) !important;
}
#tarteaucitronRoot a:hover {
  color: var(--nh-cookie-main-hover) !important;
}

/* ---- MOBILE -------------------------------------------------------------- */
@media (max-width: 640px) {
  #tarteaucitronRoot button,
  #tarteaucitronRoot .tarteaucitronCTAButton {
    font-size: 13px !important;
    padding: 9px 14px !important;
  }
  #tarteaucitronRoot #tac_title,
  #tarteaucitronRoot .tarteaucitronH1 {
    font-size: 18px !important;
  }
}
