/* ===== Freiwerk Dark Mode ===== */
/* Minimal, safe overrides that don't break the layout */

[data-theme="dark"] {
    --base-white: #0a0e1a;
    --base-dark: #edf0f7;
    --grey-100: #0f1428;
    --grey-200: #1a2260;
    --grey-300: #253060;
    --grey-500-main: #5c6488;
    --grey-600-main: #8b93b0;
    --grey-700: #a0a8c0;
    --shadow: rgba(0,0,0,0.4);
    --indigo-100: rgba(62,87,218,0.08);
    --indigo-200: rgba(62,87,218,0.15);
}

/* ===== Body & Main Backgrounds ===== */
[data-theme="dark"] body {
    background: #0a0e1a !important;
}

[data-theme="dark"] .fw-section-kern {
    background: #0a0e1a !important;
}

[data-theme="dark"] .fw-section-leistungen {
    background: #0f1428 !important;
}

[data-theme="dark"] .fw-section-about {
    background: #0a0e1a !important;
}

[data-theme="dark"] .fw-section-kontakt {
    background: #0f1428 !important;
}

/* ===== Navbar ===== */
[data-theme="dark"] nav.navbar {
    background: rgba(10,14,26,0.92) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: 0 1px 0 rgba(37,48,96,0.5) !important;
}

[data-theme="dark"] .navbar_logo-dark img {
    filter: brightness(0) invert(1) !important;
}

[data-theme="dark"] .navbar a,
[data-theme="dark"] .navbar_dropdown-toggle .paragraph-medium,
[data-theme="dark"] .navbar .paragraph-medium {
    color: #8b93b0 !important;
}

[data-theme="dark"] .navbar a:hover,
[data-theme="dark"] .navbar_dropdown-toggle:hover .paragraph-medium {
    color: #edf0f7 !important;
}

[data-theme="dark"] .navbar .button-secondary {
    border-color: #253060 !important;
    color: #edf0f7 !important;
    background: transparent !important;
}

[data-theme="dark"] .navbar .button-secondary:hover {
    border-color: #3e57da !important;
    background: rgba(62,87,218,0.1) !important;
}

[data-theme="dark"] .navbar .button {
    background-color: #3e57da !important;
    color: #fff !important;
}

[data-theme="dark"] .navbar .divider {
    background: #253060 !important;
}

/* ===== Hero Section ===== */
[data-theme="dark"] header.position-relative {
    background: #0a0e1a !important;
}

[data-theme="dark"] .background-image-container img {
    opacity: 0.12 !important;
}

[data-theme="dark"] .background-image-container::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(10,14,26,0.93) 0%, rgba(15,21,48,0.88) 50%, rgba(10,18,37,0.93) 100%) !important;
    z-index: 0 !important;
}

/* ===== Text Colors ===== */
[data-theme="dark"] .text-color-base-dark,
[data-theme="dark"] .heading-large,
[data-theme="dark"] .heading-huge {
    color: #edf0f7 !important;
}

[data-theme="dark"] .text-color-grey-600,
[data-theme="dark"] .paragraph-large,
[data-theme="dark"] .paragraph-xlarge,
[data-theme="dark"] .paragraph-medium {
    color: #8b93b0 !important;
}

[data-theme="dark"] .text-color-grey-500 {
    color: #5c6488 !important;
}

[data-theme="dark"] .text-color-white {
    color: #edf0f7 !important;
}

[data-theme="dark"] .text-highlight-gradient {
    background: linear-gradient(135deg, #5570ea 0%, #00fac8 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

[data-theme="dark"] .caption {
    color: #5570ea !important;
    background: rgba(62,87,218,0.12) !important;
}

/* ===== Service Cards ===== */
[data-theme="dark"] .fw-service-card {
    background: #141a30 !important;
    border: 1px solid #1a2260 !important;
}

[data-theme="dark"] .fw-service-card:hover {
    background: #1a2240 !important;
    border-color: #3e57da !important;
    box-shadow: 0 8px 32px rgba(62,87,218,0.15) !important;
}

[data-theme="dark"] .fw-service-card h3 {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-service-card p {
    color: #8b93b0 !important;
}

/* ===== Kernbotschaft ===== */
[data-theme="dark"] .fw-kern-text p {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-kern-text em {
    color: #5570ea !important;
}

/* ===== About Section - Photo stays normal ===== */
[data-theme="dark"] .fw-about-text h2 {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-about-text p {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-works-item {
    color: #8b93b0 !important;
}

/* ===== MSP Section ===== */
[data-theme="dark"] .fw-section-msp {
    background: linear-gradient(135deg, #141a50 0%, #1a2570 50%, #005a4a 100%) !important;
}

[data-theme="dark"] .fw-msp-feature {
    color: rgba(255,255,255,0.85) !important;
}

/* ===== Kontakt Section ===== */
[data-theme="dark"] .fw-kontakt-value {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-kontakt-link {
    color: #5570ea !important;
}

[data-theme="dark"] .fw-kontakt-label {
    color: #5c6488 !important;
}

[data-theme="dark"] .fw-kontakt-hinweise li {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-kontakt-hinweise strong {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-kontakt-hinweise h3 {
    color: #edf0f7 !important;
}

/* ===== Dividers ===== */
[data-theme="dark"] .divider {
    background: #1a2260 !important;
}

/* ===== Footer ===== */
[data-theme="dark"] .footer-section {
    background: #060a14 !important;
    border-top-color: #1a2260 !important;
}

[data-theme="dark"] .footer-section p,
[data-theme="dark"] .footer-section a {
    color: #5c6488 !important;
}

[data-theme="dark"] .footer-section a:hover {
    color: #5570ea !important;
}

/* ===== Hinweis Banner ===== */
[data-theme="dark"] .fw-hinweis {
    background: rgba(62,87,218,0.08) !important;
    border-color: #253060 !important;
}

[data-theme="dark"] .fw-hinweis p {
    color: #8b93b0 !important;
}

/* ===== Cookie Banner ===== */
[data-theme="dark"] .fw-cookie-banner {
    background: #141a30 !important;
    box-shadow: 0 -2px 16px rgba(0,0,0,0.5) !important;
    border-top: 1px solid #253060 !important;
}

[data-theme="dark"] .fw-cookie-banner p {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-cookie-banner a {
    color: #5570ea !important;
}

/* ===== External Link Dialog ===== */
[data-theme="dark"] .fw-ext-dialog {
    background: #141a30 !important;
    border: 1px solid #253060 !important;
}

[data-theme="dark"] .fw-ext-dialog h3 {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-ext-dialog p {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-ext-url {
    color: #5c6488 !important;
}

[data-theme="dark"] .fw-ext-cancel {
    background: #1a2240 !important;
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-ext-continue {
    background: #3e57da !important;
}

/* ===== Legal Pages ===== */
[data-theme="dark"] .fw-legal-content h2,
[data-theme="dark"] .fw-legal-content h3 {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-legal-content p,
[data-theme="dark"] .fw-legal-content li {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-legal-content strong {
    color: #edf0f7 !important;
}

/* ===== How-To / Product Tour ===== */
[data-theme="dark"] .background-color-black,
[data-theme="dark"] [class*="background-color-black"] {
    background: #0f1428 !important;
}

[data-theme="dark"] .product-tour-tab_link-wrap {
    background: #141a30 !important;
    border-color: #253060 !important;
    color: #8b93b0 !important;
}

[data-theme="dark"] .product-tour-tab_link-wrap:hover,
[data-theme="dark"] .product-tour-tab_link-wrap.w--current {
    border-color: #3e57da !important;
    background: #1a2240 !important;
}

[data-theme="dark"] .rich-text-block p,
[data-theme="dark"] .rich-text-xlarge p {
    color: #8b93b0 !important;
}

/* ===== Theme Toggle ===== */
.fw-theme-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    border-radius: 8px !important;
    border: 1px solid #e6eaf4 !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-size: 1.1rem !important;
    padding: 0 !important;
    margin: 0 0 0 0.5rem !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

.fw-theme-toggle:hover {
    border-color: #3e57da !important;
    box-shadow: 0 0 8px rgba(62,87,218,0.2) !important;
}

[data-theme="dark"] .fw-theme-toggle {
    background: #141a30 !important;
    border-color: #253060 !important;
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-theme-toggle:hover {
    border-color: #5570ea !important;
    box-shadow: 0 0 8px rgba(85,112,234,0.3) !important;
}

@media (max-width: 767px) {
    .fw-theme-toggle {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        font-size: 1rem !important;
    }
}
/* ===== Blog Dark Mode ===== */
[data-theme="dark"] .fw-blog-card {
    background: #141a30 !important;
    border-color: #1a2260 !important;
}

[data-theme="dark"] .fw-blog-card:hover {
    background: #1a2240 !important;
    border-color: #3e57da !important;
    box-shadow: 0 8px 32px rgba(62,87,218,0.15) !important;
}

[data-theme="dark"] .fw-blog-card-title {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-blog-card-desc,
[data-theme="dark"] .fw-blog-card-date {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-blog-card-link {
    color: #5570ea !important;
}

[data-theme="dark"] .fw-blog-content h2,
[data-theme="dark"] .fw-blog-content h3 {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-blog-content p,
[data-theme="dark"] .fw-blog-content li {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-blog-content strong {
    color: #edf0f7 !important;
}

/* ===== Blog Link Dark ===== */
[data-theme="dark"] .fw-blog-link {
    color: #5570ea !important;
}

[data-theme="dark"] .fw-blog-link:hover {
    color: #7088f0 !important;
}

/* ===== Blog Author Dark ===== */
[data-theme="dark"] .fw-blog-author {
    color: #edf0f7 !important;
}

[data-theme="dark"] .fw-blog-separator,
[data-theme="dark"] .fw-blog-date,
[data-theme="dark"] .fw-blog-author-title {
    color: #8b93b0 !important;
}

[data-theme="dark"] .fw-blog-card .fw-blog-card-text {
    color: #8b93b0 !important;
}
