/* ==========================================================================
   SOLBROS COLOR & BACKGROUND OVERRIDES
   Loaded AFTER red-theme.css to override bright red + purple backgrounds
   ========================================================================== */

/* --- Accent color: muted dark red (#c0392b) instead of bright #ff1e1a --- */

.bg--theme,
.shape--blue-400:after {
  background-color: #c0392b!important;
}

.btn--theme {
  color: #fff!important;
  border-color: #c0392b!important;
  background-color: #c0392b!important;
}

.hover--theme:hover,
.white-scroll .scroll .hover--theme:hover,
.black-scroll .scroll .hover--theme:hover {
  color: #fff!important;
  border-color: #a93226!important;
  background-color: #a93226!important;
}

.color--theme,
.color--theme h1,
.color--theme h2,
.color--theme h3,
.color--theme h4,
.color--theme h5,
.color--theme h6,
.color--theme p,
.color--theme a,
.color--theme li,
.color--theme i,
.color--theme span,
.color--white .color--theme {
  color: #c0392b!important;
}

.loading--theme .loader {
  border-color: transparent #c0392b;
}

.btn--tra-black:hover {
  color: #fff!important;
  border-color: #c0392b!important;
  background-color: #c0392b!important;
}

/* Shape icon fill */
.shape-ico.color--theme svg {
  fill: rgba(192, 57, 43, 0.12);
}

/* --- Hero background: dark neutral instead of purple --- */

#hero-1 {
  background-image: url(../images/hero-10-dark.jpg)!important;
}

/* --- CTA Banner background: dark neutral --- */

.banner-3-wrapper.bg--03 {
  background-image: url(../images/hero-21-dark.jpg)!important;
}

/* --- Scrolled header: no purple tint --- */

.white-scroll .scroll {
  background-color: #fff!important;
}

/* --- Nav link active/hover color --- */

.wsmenu-list > li > a:hover,
.wsmenu-list > li > a.active {
  color: #c0392b!important;
}

/* --- Process step icon --- */

.cbox-2-ico.bg--theme {
  background-color: #c0392b!important;
}

/* --- Footer link hover --- */

.footer a:hover {
  color: #c0392b!important;
}

/* --- Newsletter button --- */

.footer-form .btn.color--theme {
  color: #c0392b!important;
}

.footer-form .btn.color--theme:hover {
  color: #a93226!important;
}

/* --- Kontakt section: dark background image with overlay --- */

.kontakt-bg {
  background-image: url(../images/hero-15-dark.jpg)!important;
  background-size: cover;
  background-position: center center;
  position: relative;
}

.kontakt-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  background: linear-gradient(to bottom, #fff 0%, transparent 100%);
  z-index: 1;
  pointer-events: none;
}

.kontakt-overlay {
  position: relative;
  z-index: 2;
}

.kontakt-overlay {
  background-color: rgba(0, 0, 0, 0.65);
  padding: 0;
  width: 100%;
}

/* White text helpers for dark background */
.kontakt-bg .color--white-50 {
  color: rgba(255, 255, 255, 0.7)!important;
}

/* Form inputs on dark background */
.kontakt-bg .form-control {
  background-color: rgba(255, 255, 255, 0.1)!important;
  border-color: rgba(255, 255, 255, 0.25)!important;
  color: #fff!important;
}

.kontakt-bg .form-control::placeholder {
  color: rgba(255, 255, 255, 0.55)!important;
}

.kontakt-bg .form-control:focus {
  background-color: rgba(255, 255, 255, 0.15)!important;
  border-color: rgba(255, 255, 255, 0.5)!important;
}

/* --- Honeypot: unsichtbar fuer echte Nutzer --- */

.hp-field {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

/* --- Formular-Meldungen --- */

.form-msg {
  display: inline-block;
  margin-top: 15px;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 0.95rem;
  font-weight: 500;
}

.form-msg--err {
  background-color: rgba(231, 76, 60, 0.2);
  color: #e74c3c;
  border: 1px solid rgba(231, 76, 60, 0.35);
}

/* --- Erfolgs-Modal --- */

.success-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
}

.success-modal {
  background: #1a1a2e;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 40px 48px;
  text-align: center;
  max-width: 420px;
  width: 90%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  animation: modalIn 0.3s ease;
}

.success-modal-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: rgba(39, 174, 96, 0.2);
  border: 2px solid #2ecc71;
  color: #2ecc71;
  font-size: 2rem;
  line-height: 60px;
}

.success-modal h4 {
  color: #fff;
}

@keyframes modalIn {
  from { opacity: 0; transform: scale(0.9) translateY(10px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
