/* TG Vault v126 – Kontakt FINAL readable
   Die Kontaktseite bleibt optisch hell/premium, aber Text wird dunkel und deutlich.
   Wird zusätzlich als Late-Inline-Style eingebunden, damit es wirklich gewinnt.
*/

html body {
  color: #2b1713 !important;
}

/* Kontaktbereich und alle Kontakt-Container */
body main,
body main section,
body [id*="kontakt" i],
body [class*="kontakt" i],
body [class*="contact" i],
body .section {
  color: #2b1713 !important;
  text-shadow: none !important;
}

/* Deko-/Shadow-/Watermark-Overlays extrem runter */
body main::before,
body main::after,
body main section::before,
body main section::after,
body [id*="kontakt" i]::before,
body [id*="kontakt" i]::after,
body [class*="kontakt" i]::before,
body [class*="kontakt" i]::after,
body [class*="contact" i]::before,
body [class*="contact" i]::after {
  opacity: .025 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Content immer über allen Deko-Ebenen */
body main > *,
body main section > *,
body [id*="kontakt" i] > *,
body [class*="kontakt" i] > *,
body [class*="contact" i] > * {
  position: relative !important;
  z-index: 3 !important;
}

/* Headlines hart lesbar */
body h1,
body h2,
body h3,
body h4,
body [class*="kontakt" i] h1,
body [class*="kontakt" i] h2,
body [class*="kontakt" i] h3,
body [class*="contact" i] h1,
body [class*="contact" i] h2,
body [class*="contact" i] h3 {
  color: #4d1826 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-weight: 900 !important;
}

/* normale Texte */
body p,
body li,
body small,
body span,
body label,
body [class*="kontakt" i] p,
body [class*="contact" i] p,
body [class*="kontakt" i] span,
body [class*="contact" i] span,
body [class*="kontakt" i] small,
body [class*="contact" i] small {
  color: #4a352d !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* wichtige Akzente */
body strong,
body b,
body a,
body [class*="kontakt" i] strong,
body [class*="contact" i] strong,
body [class*="kontakt" i] a,
body [class*="contact" i] a {
  color: #6b1d34 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-weight: 900 !important;
}

/* Label-Pill oben */
body .label,
body .eyebrow,
body .kicker,
body [class*="label" i],
body [class*="eyebrow" i],
body [class*="kicker" i] {
  color: #8a2e45 !important;
  background: rgba(255,255,255,.42) !important;
  border: 1px solid rgba(138,46,69,.18) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* Kontaktkarten rechts und Formular links stärker als echte Karten */
body .tg-brevo-wrap,
body .kontakt-form,
body .contact-form,
body .perk-row,
body .contact-row,
body .kontakt-row,
body .info-card,
body .contact-info-card,
body .kontakt-info-card,
body [class*="info" i][class*="card" i],
body form,
body #sib-container,
body .sib-form {
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,248,235,.58)) !important;
  border: 1px solid rgba(128,75,46,.20) !important;
  box-shadow: 0 18px 42px rgba(62,28,16,.12), inset 0 1px 0 rgba(255,255,255,.65) !important;
  color: #2b1713 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* Brevo interne Blöcke, die gerade extrem blass sind */
body #sib-container *,
body .sib-form *,
body .tg-brevo-wrap *,
body .kontakt-form *,
body .contact-form * {
  opacity: 1 !important;
  text-shadow: none !important;
}

body #sib-container p,
body .sib-form p,
body .sib-form-block p,
body .sib-text-form-block p,
body .entry__label,
body .entry__specification,
body .entry__choice span,
body .entry__choice p,
body .sib-form__declaration p,
body .sib-form__declaration a {
  color: #594138 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body .sib-form-block:first-child p,
body .sib-text-form-block:first-child p,
body .tg-brevo-wrap strong,
body .kontakt-form strong,
body .contact-form strong {
  color: #5c1b31 !important;
  font-weight: 900 !important;
}

/* Inputs klar sichtbar */
body input,
body textarea,
body select,
body .input,
body #sib-container input,
body .sib-form input {
  background: rgba(255,255,255,.74) !important;
  color: #2b1713 !important;
  border: 1px solid rgba(128,75,46,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 8px 20px rgba(62,28,16,.08) !important;
  opacity: 1 !important;
}

body input::placeholder,
body textarea::placeholder {
  color: #9b8071 !important;
  opacity: 1 !important;
}

/* Checkbox / Datenschutz */
body input[type="checkbox"],
body .checkbox,
body .checkbox_tick_positive {
  background: #fff !important;
  border: 1px solid rgba(107,29,52,.40) !important;
  accent-color: #7b1d36 !important;
  opacity: 1 !important;
}

body .sib-form__declaration,
body .declaration-block,
body [class*="declaration" i] {
  background: rgba(255,255,255,.42) !important;
  border: 1px solid rgba(128,75,46,.16) !important;
  color: #594138 !important;
}

/* Buttons */
body button,
body .btn,
body .sib-form-block__button,
body .sib-form-block__button-with-loader {
  background: linear-gradient(135deg, #7b1d36, #b53a5c) !important;
  color: #fff8ec !important;
  border: 1px solid rgba(216,177,95,.24) !important;
  opacity: 1 !important;
  box-shadow: 0 12px 28px rgba(91,30,45,.22) !important;
}

/* rechte Info-Zeilen */
body .perk-title,
body .contact-title,
body .kontakt-title,
body .info-title,
body [class*="title" i] {
  color: #5c1b31 !important;
  opacity: 1 !important;
  font-weight: 900 !important;
}

body .perk-desc,
body .contact-desc,
body .kontakt-desc,
body .info-desc,
body [class*="desc" i] {
  color: #675047 !important;
  opacity: 1 !important;
}

body .perk-icon,
body .contact-icon,
body .kontakt-icon,
body .info-icon,
body [class*="icon" i] {
  opacity: 1 !important;
  filter: none !important;
}

/* sehr große blasse Hintergrundschrift */
body [aria-hidden="true"],
body .watermark,
body [class*="watermark" i] {
  opacity: .035 !important;
}

/* Notfall: Inline helle/weiße Bereiche nicht wieder alles auswaschen */
body [style*="opacity"] {
  opacity: 1 !important;
}

@media (max-width: 760px) {
  body h1, body h2 {
    line-height: 1.08 !important;
  }

  body .tg-brevo-wrap,
  body .kontakt-form,
  body .contact-form,
  body .perk-row,
  body .contact-row,
  body .kontakt-row {
    border-radius: 20px !important;
  }
}
