/* ==========================================================================
   DEVAO Theme-Override — heller Look (weiß / Arial / #140a32)
   Wird NACH styles.css geladen und überschreibt nur Farben, Schriften
   und Hintergründe. Technik (Bundles, Struktur, JS-Hooks) bleibt unberührt.

   Farben:
     Akzent / Tinte : #140a32   Hover dunkler : #241553
     Fläche hell    : #f7f6fa   Linien        : #d9d7e2
     Gedämpft       : #6b6880   Fehler/Rot    : #b3261e
   ========================================================================== */

/* ---------- Grundgerüst & Typografie ---------- */

body {
    background-color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    color: #140a32;
}

h1, h2, h3, h4, h5, h6,
p, li, a, small, strong, blockquote, label,
input, button, select, textarea {
    font-family: Arial, Helvetica, sans-serif;
}

body h1, body h2, body h3, body h4 {
    color: #140a32;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}

body h1 span, body h2 span, body h3 span, body h4 span {
    color: #140a32;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 6px;
}

body h3 {
    color: #140a32;
}

body p {
    color: #140a32;
}

body p strong {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}

a { color: #140a32; }
a:hover { color: #241553; }

::selection { background: #140a32; color: #fff; }

/* Scrollbalken */
body::-webkit-scrollbar-thumb { background: #140a32; }
body::-webkit-scrollbar-track { background: #f7f6fa; }
body {
    scrollbar-face-color: #140a32;
    scrollbar-track-color: #f7f6fa;
}

/* Bootstrap-Utility-Farben umlenken */
.bg-primary { background-color: #140a32 !important; }
a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover, button.bg-primary:focus { background-color: #241553 !important; }
.text-primary { color: #140a32 !important; }
a.text-primary:hover, a.text-primary:focus { color: #241553 !important; }
.border-primary { border-color: #140a32 !important; }
.bg-danger { background-color: #b3261e !important; }
.text-danger { color: #b3261e !important; }
.border-danger { border-color: #b3261e !important; }

/* ---------- Buttons ---------- */

.button {
    background-color: #140a32;
    color: #fff;
    border: 2px solid #140a32;
}
.button:hover {
    background-color: #241553;
    color: #fff;
    border-color: #241553;
    text-decoration: none;
}

.button.button-invert {
    background-color: transparent;
    color: #140a32;
    border: 2px solid #140a32;
}
.button.button-invert:hover {
    background-color: #140a32;
    color: #fff;
    border-color: #140a32;
}

.button.button-primary-invert {
    background-color: transparent;
    color: #140a32;
    border: 2px solid #140a32;
}
.button.button-primary-invert:hover {
    background-color: #140a32;
    color: #fff;
    border-color: #140a32;
}

/* ---------- Header ---------- */

.header {
    background-color: #fff;
    border-bottom: 1px solid #d9d7e2;
}
.header .row { justify-content: center; }
.header .logo-col {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    text-align: center;
}

/* ---------- Footer ---------- */

.footer {
    background-color: #fff;
    border-top: 2px solid #140a32;
}
.footer h3 { color: #140a32; }
.footer p { color: #140a32; }
.footer p a { color: #140a32; }
.footer p a:hover { color: #241553; text-decoration: underline; }
.footer ul li a { color: #140a32; }
.footer ul li a:hover { color: #241553; text-decoration: underline; }

/* ---------- Inhaltsblöcke ---------- */

.content-block:nth-child(even) { background-color: #fff; }
.content-block:nth-child(odd)  { background-color: #f7f6fa; }

/* Dunkle Deko-Hintergrundgrafiken entfernen */
.content-block.why-we-do,
.content-block.how-we-do,
.content-block.clients {
    background-image: none;
}

/* --- Hero / Video-Fenster --- */

.content-block.why-we-do .video-bg .video-embed-container {
    -webkit-box-shadow: 0 0 24px rgba(20, 10, 50, 0.15);
    -moz-box-shadow: 0 0 24px rgba(20, 10, 50, 0.15);
    box-shadow: 0 0 24px rgba(20, 10, 50, 0.15);
    border: 1px solid #d9d7e2;
}
.content-block.why-we-do .video-bg .video-top-bar {
    background-color: #f7f6fa;
    border-bottom: 1px solid #d9d7e2;
}
.content-block.why-we-do .video-bg .video-bottom-bar {
    background-color: #140a32;
}
.content-block.why-we-do .video-bg .video-bottom-bar span { color: #fff; }
.content-block.why-we-do .video-bg .video-bottom-bar span i:hover { color: #d9d7e2; }

/* --- Leistungsliste --- */

.content-block.what-we-do .what-we-do-list {
    border-left: 2px solid #d9d7e2;
}
.content-block.what-we-do .what-we-do-list ul li { color: #140a32; }
.content-block.what-we-do .what-we-do-list ul li::before { color: #140a32; }

/* --- How-we-do-Karten --- */

.content-block.how-we-do .how-we-do-list .item {
    background-color: #fff;
    border: 2px solid #140a32;
}
.content-block.how-we-do .how-we-do-list .item h3,
.content-block.how-we-do .how-we-do-list .item p {
    color: #140a32;
    font-family: Arial, Helvetica, sans-serif;
}
.content-block.how-we-do .how-we-do-list .item:hover { background-color: #140a32; }
.content-block.how-we-do .how-we-do-list .item:hover h3,
.content-block.how-we-do .how-we-do-list .item:hover p { color: #fff; }
.content-block.how-we-do .how-we-do-list .item::after { color: #140a32; }
.content-block.how-we-do .how-we-do-list .item:hover::after { color: #fff; }

/* --- Zitate (derzeit auskommentiert, für später mitgestylt) --- */

.content-block.quotes .swiper-container .swiper-slide .quote-container blockquote {
    background-color: #140a32;
}
.content-block.quotes .swiper-container .swiper-slide .quote-container blockquote p,
.content-block.quotes .swiper-container .swiper-slide .quote-container blockquote small {
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
}
.content-block.quotes .swiper-container .swiper-pagination .swiper-pagination-bullet {
    background-color: #140a32;
}
:root { --swiper-theme-color: #140a32; }

/* --- Kundenreferenzen --- */

.content-block.clients .clients-text { background-color: #140a32; }
.content-block.clients .clients-text h2,
.content-block.clients .clients-text p { color: #fff; }

/* Logo-Kacheln bleiben dunkel (Kundenlogos sind für dunklen Grund angelegt) */
.content-block.clients .clients-logo { background-color: #140a32; }
.content-block.clients .clients-logo .case { background-color: #f7f6fa; }
.content-block.clients .clients-logo .case span { color: #140a32; }
.content-block.clients .clients-logo .case span strong {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}

/* --- Kontakt --- */

.content-block.contact .contact-container { background-color: #140a32; }
.content-block.contact .contact-container h2,
.content-block.contact .contact-container p { color: #fff; }
.content-block.contact .contact-container p strong {
    font-family: Arial, Helvetica, sans-serif;
    color: #fff;
}
.content-block.contact .contact-container .button.button-primary-invert {
    color: #fff;
    border-color: #fff;
    background-color: transparent;
}
.content-block.contact .contact-container .button.button-primary-invert:hover {
    background-color: #fff;
    color: #140a32;
    border-color: #fff;
}
.content-block.contact .contact-container form label { color: #fff; }
.content-block.contact .contact-container form input[type="text"],
.content-block.contact .contact-container form input[type="email"] {
    border: 2px solid #fff;
    background-color: #fff;
    color: #140a32;
}
.content-block.contact .contact-container form .help-text { color: #d9d7e2; }

/* ---------- Overlays (Kontakt, Impressum, AGB, Datenschutz, Login) ---------- */

.overlay::before {
    background-color: #fff;
    background-image: none;
    opacity: 0.92;
}
.overlay .overlay-container {
    color: #140a32;
    background-color: #fff;
    border: 1px solid #d9d7e2;
    -webkit-box-shadow: 0 0 30px rgba(20, 10, 50, 0.25);
    -moz-box-shadow: 0 0 30px rgba(20, 10, 50, 0.25);
    box-shadow: 0 0 30px rgba(20, 10, 50, 0.25);
}
.overlay .overlay-container .overlay-top-bar {
    background-color: #f7f6fa;
    border-bottom: 1px solid #d9d7e2;
}
.overlay .overlay-container .overlay-content::-webkit-scrollbar-thumb { background: #140a32; }
.overlay .overlay-container .overlay-content::-webkit-scrollbar-track { background: #f7f6fa; }
.overlay .overlay-container .overlay-content {
    scrollbar-face-color: #140a32;
    scrollbar-track-color: #f7f6fa;
}
.overlay .overlay-container .overlay-content h2 { color: #140a32; }
.overlay .overlay-container .overlay-content h3 {
    color: #140a32;
    border-bottom: 2px solid #140a32;
}
.overlay .overlay-container .overlay-content p {
    color: #140a32;
    font-family: Arial, Helvetica, sans-serif;
}
.overlay .overlay-container .overlay-content p strong {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    color: #140a32;
}
.overlay .overlay-container .overlay-content p a { color: #140a32; }
.overlay .overlay-container .overlay-content p a:hover { color: #241553; }
.overlay .overlay-container .overlay-content ol,
.overlay .overlay-container .overlay-content ol li { color: #140a32; }
.overlay .overlay-container .overlay-content form label { color: #140a32; }
.overlay .overlay-container .overlay-content form input[type="text"],
.overlay .overlay-container .overlay-content form input[type="email"],
.overlay .overlay-container .overlay-content form input[type="password"] {
    border: 2px solid #140a32;
    background-color: #f7f6fa;
    color: #140a32;
}
.overlay .overlay-container .overlay-content form .help-text { color: #6b6880; }
