/**
 * Klaro Cookie Consent - Custom Styling
 * Matches Schöning Türtechnik design
 */

/* Primary colors - match Tailwind config */
:root {
    --klaro-green: #1e7756;       /* primary-600 */
    --klaro-green-hover: #185d44; /* primary-700 */
    --klaro-dark: #1a1a1a;
    --klaro-light: #f9fafb;
    --klaro-gray: #6b7280;
}

/* Notice bar styling */
.klaro .cookie-notice {
    background: white !important;
    border-top: 1px solid #e5e7eb !important;
    box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1) !important;
    padding: 1.5rem !important;
}

.klaro .cookie-notice-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.klaro .cn-title {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    color: var(--klaro-dark) !important;
    margin-bottom: 0.5rem !important;
}

.klaro .cn-body {
    color: var(--klaro-gray) !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
}

.klaro .cn-body a {
    color: var(--klaro-green) !important;
    text-decoration: none !important;
}

.klaro .cn-body a:hover {
    text-decoration: underline !important;
}

/* Buttons */
.klaro .cn-buttons {
    display: flex !important;
    gap: 0.75rem !important;
    margin-top: 1rem !important;
}

.klaro .cm-btn {
    padding: 0.625rem 1.25rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    border-radius: 0.5rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.klaro .cm-btn-accept,
.klaro .cm-btn-accept-all {
    background: var(--klaro-green) !important;
    color: white !important;
}

.klaro .cm-btn-accept:hover,
.klaro .cm-btn-accept-all:hover {
    background: var(--klaro-green-hover) !important;
}

.klaro .cm-btn-decline {
    background: white !important;
    color: var(--klaro-dark) !important;
    border: 1px solid #d1d5db !important;
}

.klaro .cm-btn-decline:hover {
    background: var(--klaro-light) !important;
}

/* Modal styling */
.klaro .cookie-modal {
    z-index: 9999 !important;
}

.klaro .cookie-modal .cm {
    background: white !important;
    border-radius: 1rem !important;
    max-width: 640px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

.klaro .cookie-modal .cm-header {
    padding: 1.5rem !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.klaro .cookie-modal .cm-title {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: var(--klaro-dark) !important;
}

.klaro .cookie-modal .cm-body {
    padding: 1.5rem !important;
    max-height: 60vh !important;
    overflow-y: auto !important;
}

.klaro .cookie-modal .cm-footer {
    padding: 1rem 1.5rem !important;
    border-top: 1px solid #e5e7eb !important;
    background: var(--klaro-light) !important;
    border-radius: 0 0 1rem 1rem !important;
}

/* Service list */
.klaro .cm-services {
    margin: 0 !important;
}

.klaro .cm-service {
    padding: 1rem !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    margin-bottom: 0.75rem !important;
}

.klaro .cm-service:last-child {
    margin-bottom: 0 !important;
}

.klaro .cm-service .cm-title {
    font-weight: 600 !important;
    color: var(--klaro-dark) !important;
}

.klaro .cm-service .cm-description {
    font-size: 0.875rem !important;
    color: var(--klaro-gray) !important;
    margin-top: 0.25rem !important;
}

/* Toggle switch */
.klaro .cm-switch {
    position: relative !important;
}

.klaro .cm-switch input:checked + .slider {
    background: var(--klaro-green) !important;
}

/* Purpose groups */
.klaro .cm-purpose {
    margin-bottom: 1.5rem !important;
}

.klaro .cm-purpose-title {
    font-weight: 600 !important;
    color: var(--klaro-dark) !important;
    margin-bottom: 0.5rem !important;
}

/* Close button */
.klaro .cm-close-btn {
    color: var(--klaro-gray) !important;
}

.klaro .cm-close-btn:hover {
    color: var(--klaro-dark) !important;
}

/* Learn more link in notice */
.klaro .cn-learn-more {
    color: var(--klaro-green) !important;
}

/* Required badge */
.klaro .cm-required {
    color: var(--klaro-gray) !important;
    font-size: 0.75rem !important;
}

/* Hide powered by */
.klaro .cm-powered-by {
    display: none !important;
}

/* Mobile responsive */
@media (max-width: 640px) {
    .klaro .cookie-notice {
        padding: 1rem !important;
    }

    .klaro .cn-buttons {
        flex-direction: column !important;
    }

    .klaro .cm-btn {
        width: 100% !important;
        text-align: center !important;
    }

    .klaro .cookie-modal .cm {
        margin: 1rem !important;
        max-height: 90vh !important;
    }
}
