/* tabhoarding.com — STO Bildungsplattform, dunkle Palette */
:root {
  --primary-50: #1f2937;
  --primary-100: #374151;
  --primary-200: #4b5563;
  --primary-300: #6b7280;
  --primary-400: #ef4444;
  --primary-500: #ef4444;
  --primary-600: #dc2626;
  --primary-700: #b91c1c;
  --primary-rgb: 239, 68, 68;
  --neutral-50: #111827;
  --neutral-100: #1f2937;
  --neutral-200: #374151;
  --neutral-300: #4b5563;
  --neutral-400: #6b7280;
  --neutral-500: #9ca3af;
  --neutral-600: #d1d5db;
  --neutral-700: #e5e7eb;
  --neutral-800: #f3f4f6;
  --neutral-900: #ffffff;
  --surface-primary: #111827;
  --surface-secondary: #030712;
  --surface-accent: #1f2937;
  --text-primary: #e5e7eb;
  --text-secondary: #9ca3af;
  --text-accent: #ef4444;
  --button-primary-bg: #ef4444;
  --button-primary-text: #ffffff;
  --button-secondary-bg: #1f2937;
  --button-secondary-text: #e5e7eb;
  --border-light: rgba(229, 231, 235, 0.12);
  --border-medium: rgba(229, 231, 235, 0.2);
  --accent-highlight: #f59e0b;
  --accent-rgb: 245, 158, 11;
}

html {
  scroll-behavior: smooth;
}

body,
#main-content {
  background-color: #030712 !important;
  color: #e5e7eb !important;
}

.text-muted,
.top_body_base.text-muted,
.page_section_subtitle,
.blog-desc,
.lead.text-muted,
.premium_caption {
  color: #9ca3af !important;
}

.text-secondary,
.bold_body_large.text-secondary {
  color: #d1d5db !important;
}

.header-clean {
  background: rgba(3, 7, 18, 0.96) !important;
  border-bottom: 1px solid var(--border-light);
  backdrop-filter: blur(12px);
}

.header-clean .navbar-light .nav-link {
  color: #e5e7eb !important;
}

.header-clean .navbar-light .nav-link:hover,
.header-clean .navbar-light .nav-link:focus,
.header-clean .navbar-light .nav-link.active {
  color: #ef4444 !important;
}

.header-clean .brand-text {
  color: #e5e7eb !important;
}

.header-clean .custom-toggler .line {
  background: #e5e7eb !important;
}

.header-clean .dropdown-menu {
  background: #111827 !important;
  border: 1px solid var(--border-light);
}

.header-clean .dropdown-item {
  color: #e5e7eb !important;
}

.header-clean .dropdown-item:hover {
  background: #1f2937 !important;
  color: #f59e0b !important;
}

.hero-section,
.usp-section,
.leadgen-section-secondary,
#about,
.services-section,
.blog-section,
.contact-section,
section.py-5 {
  background: transparent !important;
}

.hero-section {
  background:
    radial-gradient(circle at 15% 20%, rgba(239, 68, 68, 0.12), transparent 40%),
    radial-gradient(circle at 85% 10%, rgba(245, 158, 11, 0.1), transparent 35%),
    #030712 !important;
}

.usp-item,
.service-card,
.leadgen-form-card,
.about-feature-card,
.blog-card,
.form-card,
.info-card,
.accordion-item {
  background: #111827 !important;
  border: 1px solid var(--border-light) !important;
  color: #e5e7eb !important;
}

.service-card-featured {
  border-color: rgba(239, 68, 68, 0.45) !important;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.15);
}

.btn-primary,
.btn-leadgen-submit {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #fff !important;
}

.btn-primary:hover,
.btn-leadgen-submit:hover {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
}

.btn-outline-primary {
  color: #ef4444 !important;
  border-color: #ef4444 !important;
}

.btn-outline-primary:hover {
  background: #ef4444 !important;
  color: #fff !important;
}

.form-control,
.form-select,
.form-input,
.form-textarea {
  background: #0f172a !important;
  border-color: var(--border-medium) !important;
  color: #e5e7eb !important;
}

.form-control:focus,
.form-select:focus,
.form-input:focus {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.2) !important;
}

.form-floating > label {
  color: #9ca3af !important;
}

.core_section_title,
.fresh_hero_title,
.display-4,
.blog-title {
  color: #e5e7eb !important;
}

.service-price {
  color: #f59e0b !important;
}

.service-cta,
.blog-card-link,
a {
  color: #ef4444;
}

.service-cta:hover,
.blog-card-link:hover {
  color: #f59e0b !important;
}

.site-disclaimer-bar {
  background: #0f172a !important;
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
}

.footer-disclaimer-text,
.footer-disclaimer-text p {
  color: #9ca3af !important;
  font-size: 0.875rem;
  line-height: 1.65;
}

.footer-professional-blue-01 {
  background: #030712 !important;
  border-top: 1px solid var(--border-light);
}

.footer-professional-blue-01 .footer-brand p,
.footer-professional-blue-01 .footer-link,
.footer-professional-blue-01 h3,
.footer-professional-blue-01 h4,
.footer-professional-blue-01 span,
.footer-professional-blue-01 p {
  color: #e5e7eb !important;
}

.footer-professional-blue-01 .footer-link:hover {
  color: #f59e0b !important;
}

.footer-divider {
  border-color: var(--border-light) !important;
}

.article-container article,
.blog-article h1,
.blog-article h2,
.blog-article h3 {
  color: #e5e7eb !important;
}

.article-meta {
  color: #9ca3af !important;
}

.accordion-button {
  background: #111827 !important;
  color: #e5e7eb !important;
}

.accordion-button:not(.collapsed) {
  background: #1f2937 !important;
  color: #ef4444 !important;
}

.accordion-body {
  background: #0f172a !important;
  color: #d1d5db !important;
}

.border-top.border-secondary {
  border-color: var(--border-light) !important;
}

.navbar-backdrop {
  background: rgba(3, 7, 18, 0.7) !important;
}

.hero-decor,
.usp-bg-blob,
.about-decoration,
.services-decoration {
  opacity: 0.35;
}

.ratio iframe {
  border-radius: 0.75rem;
  border: 1px solid var(--border-light);
}
