:root {
    --primary: #ff6338;
    --dark-bg: #ffffff;
    --card-bg: #f3f4f5;
    --text: #2f4357;
    --text-muted: #66788a;
    --border: #d9dee3;
    --navy: #30465b;
    --surface: #ffffff;
}

body {
    background: var(--surface);
    color: var(--text);
}

header {
    background: var(--navy) !important;
    border-bottom-color: rgba(255, 255, 255, 0.28) !important;
}

header nav a {
    color: #ffffff;
}

header nav a:hover,
header .logo,
header .breadcrumb a {
    color: var(--primary);
}

.logo,
.hero h1 em,
.stat-item h3,
.step-num {
    background-image: none !important;
    color: var(--primary) !important;
    -webkit-text-fill-color: currentColor !important;
}

.hero h1,
.section-title,
.content h1,
.location-info h3 {
    background-image: none !important;
    color: var(--text) !important;
    -webkit-text-fill-color: currentColor !important;
}

.cta-button,
.btn,
.faq-icon {
    background: var(--primary) !important;
    color: #ffffff !important;
}

.btn-outline,
.hero-buttons .cta-button:last-child {
    background: transparent !important;
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.btn-outline:hover,
.hero-buttons .cta-button:last-child:hover {
    background: var(--primary) !important;
    color: #ffffff !important;
}

.service-card,
.step,
.feature-card,
.bruch-card,
.info-box,
.toc,
.contact-card,
.card,
.combo-box,
.sichtcheck,
.location-hours {
    background: linear-gradient(90deg, #aeb4bc 0%, #f3eeee 100%) !important;
    border-color: var(--border) !important;
    color: var(--text);
}

.service-card p,
.step p,
.feature-card p,
.bruch-card p,
.info-box p,
.toc a,
.contact-card p,
.card p,
.combo-box p,
.sichtcheck p,
.location-hours p {
    color: #000000 !important;
}

.location-hours {
    background: linear-gradient(90deg, #aeb4bc 0%, #f3eeee 100%) !important;
    border: 1px solid #ffd7ca !important;
    border-left: 4px solid var(--primary) !important;
    color: var(--text) !important;
}

.location-hours h4,
.location-hours strong {
    color: var(--text) !important;
}

.location-hours p {
    color: #000000 !important;
}

.stats,
.reviews {
    background: var(--navy) !important;
    color: #ffffff;
}

.stats .stat-item p,
.reviews .section-title,
.reviews .review-text,
.reviews .review-author {
    color: #ffffff !important;
    -webkit-text-fill-color: currentColor !important;
}

.review-card {
    background: #3a5269 !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
    color: #ffffff;
}

.faq-item {
    background: var(--navy) !important;
    border-color: #94a1ad !important;
}

.faq-question,
.faq-question span:first-child {
    color: #ffffff !important;
}

.faq-question:hover {
    background: #3a5269 !important;
}

.faq-answer {
    background: var(--card-bg) !important;
}

.faq-answer p,
.faq-answer strong {
    color: var(--text) !important;
}

.hinweis,
.cta-band {
    background: linear-gradient(90deg, #aeb4bc 0%, #f3eeee 100%) !important;
    border-color: rgba(255, 99, 56, 0.35) !important;
}

footer {
    background: var(--navy) !important;
    border-top-color: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
}

footer p {
    color: #ffffff !important;
}

footer a {
    color: var(--primary) !important;
}
