/* === Logo constraints === */
.logo-wrap { max-width: 180px; flex-shrink: 0; }
.logo-wrap .custom-logo-link { display: block; max-width: 100%; }
.logo-wrap img.custom-logo,
header .custom-logo-link img,
.logo-wrap .custom-logo-link img {
    max-height: 56px !important;
    width: auto !important;
    height: auto !important;
    max-width: 180px !important;
    object-fit: contain !important;
}
footer .custom-logo-link img {
    max-height: 48px !important;
    width: auto !important;
    height: auto !important;
    max-width: 160px !important;
    object-fit: contain !important;
}
@media (min-width: 768px) {
    .logo-wrap { max-width: 240px; }
    .logo-wrap img.custom-logo,
    header .custom-logo-link img,
    .logo-wrap .custom-logo-link img {
        max-height: 64px !important;
        max-width: 240px !important;
    }
    footer .custom-logo-link img {
        max-height: 56px !important;
        max-width: 200px !important;
    }
}

.nav-links {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
}
.nav-links a, .nav-links span {
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
}
.nav-links .current {
    background-color: #16a34a;
    color: #fff;
}
.nav-links a:hover {
    background-color: #dcfce7;
}

.widget ul {
    list-style: none;
    padding: 0;
}
.widget ul li {
    padding: 0.25rem 0;
}
.widget ul li a {
    color: #9ca3af;
    transition: color 0.2s;
}
.widget ul li a:hover {
    color: #4ade80;
}

.prose h2 { margin-top: 2rem; margin-bottom: 1rem; font-size: 1.5rem; font-weight: 700; color: #14532d; }
.prose h3 { margin-top: 1.5rem; margin-bottom: 0.75rem; font-size: 1.25rem; font-weight: 600; color: #14532d; }
.prose p { margin-bottom: 1rem; }
.prose ul, .prose ol { margin-left: 1.5rem; margin-bottom: 1rem; }
.prose img { border-radius: 0.75rem; margin: 1.5rem 0; }
.prose a { color: #16a34a; text-decoration: underline; }

/* === Forminator Green Theme === */
.fenster-forminator-wrap .forminator-custom-form {
    font-family: inherit;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-label {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 0.375rem !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-input,
.fenster-forminator-wrap .forminator-custom-form .forminator-textarea,
.fenster-forminator-wrap .forminator-custom-form .forminator-select2 .selection .select2-selection,
.fenster-forminator-wrap .forminator-custom-form select {
    background-color: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.9375rem !important;
    color: #374151 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-input:focus,
.fenster-forminator-wrap .forminator-custom-form .forminator-textarea:focus {
    border-color: #16a34a !important;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15) !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-button-submit {
    width: 100% !important;
    background-color: #16a34a !important;
    color: #fff !important;
    padding: 1rem 1.5rem !important;
    border-radius: 0.5rem !important;
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1) !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-button-submit:hover {
    background-color: #15803d !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-upload--field,
.fenster-forminator-wrap .forminator-custom-form .forminator-multi-upload {
    border: 2px dashed #d1d5db !important;
    border-radius: 0.5rem !important;
    background: #f9fafb !important;
    padding: 1.5rem !important;
    text-align: center;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-upload--field:hover,
.fenster-forminator-wrap .forminator-custom-form .forminator-multi-upload:hover {
    border-color: #16a34a !important;
    background: #f0fdf4 !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-field {
    margin-bottom: 1.25rem !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-row {
    margin-bottom: 0 !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-error-message {
    color: #dc2626 !important;
    font-size: 0.8125rem !important;
}

.fenster-forminator-wrap .forminator-response-message.forminator-success {
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    color: #166534 !important;
    border-radius: 0.75rem !important;
    padding: 1rem 1.5rem !important;
    font-weight: 600 !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-checkbox .forminator-checkbox-label,
.fenster-forminator-wrap .forminator-custom-form .forminator-gdpr .forminator-gdpr-description {
    font-size: 0.8125rem !important;
    color: #6b7280 !important;
}

.fenster-forminator-wrap .forminator-custom-form .forminator-checkbox input[type="checkbox"]:checked + .forminator-checkbox-box {
    background: #16a34a !important;
    border-color: #16a34a !important;
}

/* =============================================
   DARK MODE
   ============================================= */

html, body,
header, footer, section, div, nav,
input, select, textarea, button, a {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* --- Body & base --- */
.dark body,
.dark .bg-white { background-color: #111827 !important; }
.dark .bg-gray-50 { background-color: #1a2236 !important; }
.dark .bg-gray-100 { background-color: #1f2937 !important; }

/* --- Header --- */
.dark header { background-color: #0f172a !important; border-color: #1e293b !important; }
.dark header a.text-green-900,
.dark header span.text-green-900 { color: #f0fdf4 !important; }
.dark header .text-gray-700 { color: #d1d5db !important; }
.dark header .text-gray-700:hover { color: #4ade80 !important; }
.dark .dm-toggle { border-color: #374151 !important; }
.dark .dm-toggle:hover { background-color: #1f2937 !important; }
.dark .dm-toggle .dm-moon { color: #d1d5db !important; }
.dark .shadow-green-200 { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.3) !important; }

/* --- Mobile menu --- */
.dark #mobile-menu { background-color: #0f172a !important; }
.dark #mobile-menu a { color: #d1d5db !important; }
.dark #mobile-menu-toggle { color: #d1d5db !important; }

/* --- Text colors --- */
.dark .text-gray-900 { color: #f3f4f6 !important; }
.dark .text-gray-800 { color: #e5e7eb !important; }
.dark .text-gray-700 { color: #d1d5db !important; }
.dark .text-gray-600 { color: #9ca3af !important; }
.dark .text-gray-500 { color: #9ca3af !important; }
.dark .text-green-900 { color: #bbf7d0 !important; }
.dark .text-green-800 { color: #86efac !important; }

/* --- Cards & containers --- */
.dark .bg-white.rounded-2xl,
.dark .bg-white.rounded-xl,
.dark .bg-white.rounded-lg,
.dark .bg-white.rounded-3xl { background-color: #1e293b !important; }
.dark .border-gray-100,
.dark .border-gray-200 { border-color: #334155 !important; }
.dark .shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.3) !important; }

/* --- Products section --- */
.dark .bg-green-50 { background-color: #14532d !important; }
.dark .text-green-600 { color: #4ade80 !important; }
.dark .group:hover .bg-green-600.group-hover\:bg-green-600,
.dark .group:hover .group-hover\:text-white { background-color: #16a34a !important; color: #fff !important; }
.dark .bg-blue-50 { background-color: #14532d !important; }

/* --- Hero section (bg-gray-900 stays dark) --- */
.dark .bg-gray-900 { background-color: #030712 !important; }

/* --- CTA section --- */
.dark .bg-green-900 { background-color: #052e16 !important; }

/* --- Form inside CTA (white card) --- */
.dark .fenster-forminator-wrap { background-color: #1e293b !important; }
.dark .fenster-forminator-wrap .forminator-label { color: #d1d5db !important; }
.dark .fenster-forminator-wrap .forminator-custom-form .forminator-input,
.dark .fenster-forminator-wrap .forminator-custom-form .forminator-textarea,
.dark .fenster-forminator-wrap .forminator-custom-form select {
    background-color: #111827 !important;
    border-color: #374151 !important;
    color: #e5e7eb !important;
}
.dark .fenster-forminator-wrap .forminator-custom-form .forminator-input:focus,
.dark .fenster-forminator-wrap .forminator-custom-form .forminator-textarea:focus {
    border-color: #4ade80 !important;
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.15) !important;
}
.dark .fenster-forminator-wrap h3 { color: #bbf7d0 !important; }

/* --- Fallback form --- */
.dark form input[type="text"],
.dark form input[type="tel"],
.dark form input[type="email"],
.dark form textarea,
.dark form select {
    background-color: #111827 !important;
    border-color: #374151 !important;
    color: #e5e7eb !important;
}
.dark form label { color: #d1d5db !important; }

/* --- Footer (already dark, refine) --- */
.dark footer { background-color: #030712 !important; border-color: #111827 !important; }
.dark footer .border-gray-800 { border-color: #111827 !important; }

/* --- Pagination --- */
.dark .nav-links a:hover { background-color: #1e293b !important; }

/* --- Prose (content) --- */
.dark .prose h2, .dark .prose h3 { color: #bbf7d0 !important; }
.dark .prose p, .dark .prose li { color: #d1d5db !important; }
.dark .prose a { color: #4ade80 !important; }

/* --- Shortcode modules --- */
.dark .backdrop-blur-xl { background-color: rgba(15, 23, 42, 0.85) !important; }
.dark [class*="bg-white/80"] { background-color: rgba(15, 23, 42, 0.85) !important; }

/* --- 404, search, archive pages --- */
.dark .bg-gray-50 h1,
.dark .bg-gray-50 h2 { color: #f0fdf4 !important; }

/* --- Scrollbar --- */
.dark ::-webkit-scrollbar { width: 8px; }
.dark ::-webkit-scrollbar-track { background: #111827; }
.dark ::-webkit-scrollbar-thumb { background: #374151; border-radius: 4px; }
.dark ::-webkit-scrollbar-thumb:hover { background: #4b5563; }
