/* Abgasdiagnose STO — dunkle Palette */
:root {
  --ins-primary: #22C55E;
  --ins-primary-dark: #16A34A;
  --ins-accent: #F97316;
  --ins-accent-dark: #EA580C;
  --ins-bg: #020617;
  --ins-surface: #111827;
  --ins-text: #E5E7EB;
  --ins-text-muted: #9CA3AF;
  --ins-border: rgba(229, 231, 235, 0.12);
}

body {
  color: var(--ins-text);
  background-color: var(--ins-bg);
}

.header-special {
  background: rgba(17, 24, 39, 0.94) !important;
  border-bottom: 1px solid var(--ins-border);
}

.header-special .brand-text-special,
.footer-standard .footer-brand-name {
  color: var(--ins-text) !important;
}

.header-special .brand-icon-special,
.footer-standard .brand-icon-wrapper {
  color: var(--ins-accent) !important;
}

.nav-link-special,
.mobile-nav-link-special {
  color: var(--ins-text-muted) !important;
}

.nav-link-special:hover,
.mobile-nav-link-special:hover {
  color: var(--ins-primary) !important;
}

.nav-link-special.active,
.mobile-nav-link-special.active {
  color: var(--ins-primary) !important;
}

.mobile-menu-panel-special {
  background: var(--ins-surface) !important;
}

.hero-professional-blue-01 {
  background: linear-gradient(145deg, #020617 0%, #111827 52%, #0f172a 100%) !important;
  color: var(--ins-text) !important;
}

.hero-professional-blue-01 .hero-title,
.hero-professional-blue-01 .hero-subtitle,
.hero-professional-blue-01 .hero-description {
  color: var(--ins-text) !important;
}

.hero-professional-blue-01 .hero-subtitle {
  color: var(--ins-accent) !important;
}

.hero-professional-blue-01 .btn-primary,
.btn-leadgen-submit,
.contact-form .btn-primary {
  background-color: var(--ins-primary) !important;
  border-color: var(--ins-primary) !important;
  color: #020617 !important;
}

.hero-professional-blue-01 .btn-primary:hover,
.btn-leadgen-submit:hover,
.contact-form .btn-primary:hover {
  background-color: var(--ins-primary-dark) !important;
  border-color: var(--ins-primary-dark) !important;
}

.hero-professional-blue-01 .btn-outline-light {
  color: var(--ins-accent) !important;
  border-color: var(--ins-accent) !important;
  background: transparent !important;
}

.hero-professional-blue-01 .btn-outline-light:hover {
  background: var(--ins-accent) !important;
  color: #020617 !important;
}

.usp-section,
.about-section-custom,
.services-section-variant,
.blog-section-standard,
.contact-section-style,
.leadgen-section-secondary {
  background-color: var(--ins-bg) !important;
}

.usp-item,
.feature-card,
.service-card,
.blog-card,
.leadgen-form-card,
.contact-form-card,
.contact-info-card {
  background: var(--ins-surface) !important;
  border: 1px solid var(--ins-border) !important;
  color: var(--ins-text) !important;
}

.usp-item-accent,
.service-hover-accent,
.feature-decoration {
  background: linear-gradient(135deg, var(--ins-primary), var(--ins-accent)) !important;
}

.text-muted,
.lead.text-muted,
.text-secondary {
  color: var(--ins-text-muted) !important;
}

.section-badge,
.decorative-accent {
  color: var(--ins-accent) !important;
}

.feature-card .icon-wrapper,
.service-icon-wrapper {
  color: var(--ins-primary) !important;
}

.form-control,
.form-select {
  background-color: #0f172a !important;
  border-color: var(--ins-border) !important;
  color: var(--ins-text) !important;
}

.form-floating > label {
  color: var(--ins-text-muted) !important;
}

.site-disclaimer-section {
  background: #0f172a;
  border-top: 1px solid var(--ins-border);
  border-bottom: 1px solid var(--ins-border);
}

.site-disclaimer-card {
  background: var(--ins-surface);
  border: 1px solid var(--ins-border);
  border-radius: 1rem;
  padding: 2rem;
}

.site-disclaimer-card h2 {
  color: var(--ins-accent);
  font-size: 1.35rem;
}

.footer-col-4 .footer-links-list li {
  margin-bottom: 0.35rem;
}

.site-disclaimer-section .footer-disclaimer p {
  color: var(--ins-text-muted);
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 0.85rem;
}

.footer-standard {
  background: var(--ins-surface) !important;
  color: var(--ins-text) !important;
}

.footer-standard a {
  color: var(--ins-accent) !important;
}

.footer-standard a:hover {
  color: var(--ins-primary) !important;
}

.footer-section-title,
.footer-brand-name {
  color: var(--ins-text) !important;
}

.footer-divider {
  border-color: var(--ins-border) !important;
}

.footer-copyright {
  color: var(--ins-text-muted) !important;
}

.team-strip-ins .team-photo-ins {
  border-color: var(--ins-primary) !important;
}

.faq-accordion-ins .accordion-item {
  background: var(--ins-surface) !important;
  border-color: var(--ins-border) !important;
}

.faq-accordion-ins .accordion-button {
  background: var(--ins-surface) !important;
  color: var(--ins-text) !important;
}

.faq-accordion-ins .accordion-button:not(.collapsed) {
  background-color: rgba(34, 197, 94, 0.12) !important;
  color: var(--ins-primary) !important;
}

.faq-accordion-ins .accordion-body {
  color: var(--ins-text-muted) !important;
}

.map-embed-ins iframe {
  border: 0;
  width: 100%;
  min-height: 360px;
  border-radius: 0.75rem;
}

.article-container .blog-article {
  color: var(--ins-text);
}

.article-container .blog-article h2,
.article-container .blog-article h3 {
  color: var(--ins-text);
}

.article-container .read-more-link,
.article-container .back-to-blog {
  color: var(--ins-accent);
}

.legal-content h1,
.legal-content h2,
.legal-content h3 {
  color: var(--ins-text);
}

.legal-content p,
.legal-content li {
  color: var(--ins-text-muted);
}
