.cookie-consent-overlay {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(2px);
    z-index: 99999;
    padding: 0.5rem;
    animation: slideUp 0.3s ease-out;
    pointer-events: none;
}

.cookie-consent-banner {
    max-width: 800px;
    margin: 0 auto;
    animation: slideUp 0.3s ease-out;
    pointer-events: all;
    box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.15);
    border-radius: 6px 6px 0 0;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(100%);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Professional banner styling - uses Radzen theme colors */
.cookie-consent-overlay .rz-card {
    background: var(--rz-base-50) !important;
    border: 1px solid var(--rz-border-color) !important;
    border-radius: 6px 6px 0 0 !important;
    padding: 0.75rem !important;
}

/* Stack gaps - reduced */
.cookie-consent-banner .rz-stack {
    gap: 0.5rem !important;
}

/* Button styling - uses theme colors */
.cookie-consent-banner .rz-button {
    border-radius: 4px !important;
    font-weight: 500 !important;
    padding: 0.25rem 0.5rem !important;
    font-size: 0.75rem !important;
    min-height: auto !important;
    height: auto !important;
}

.cookie-consent-banner .rz-button-primary {
    background-color: var(--rz-primary) !important;
    border-color: var(--rz-primary) !important;
}

.cookie-consent-banner .rz-button-primary:hover {
    background-color: var(--rz-primary-dark) !important;
    border-color: var(--rz-primary-dark) !important;
}

.cookie-consent-banner .rz-button-secondary {
    background-color: var(--rz-secondary) !important;
    border-color: var(--rz-secondary) !important;
    color: var(--rz-secondary-contrast) !important;
}

.cookie-consent-banner .rz-button-light {
    background-color: transparent !important;
    border-color: var(--rz-border-color) !important;
    color: var(--rz-text-color) !important;
}

.cookie-consent-banner .rz-button-light:hover {
    background-color: var(--rz-base-100) !important;
}

/* Text styling - uses theme colors */
.cookie-consent-banner .rz-text {
    color: var(--rz-text-color) !important;
    line-height: 1.3 !important;
    font-size: 0.8rem !important;
}

.cookie-consent-banner h6 {
    color: var(--rz-text-color) !important;
    font-weight: 600 !important;
    margin-bottom: 0.1rem !important;
    font-size: 0.9rem !important;
}

.cookie-consent-banner .rz-text-caption {
    color: var(--rz-text-secondary-color) !important;
    font-size: 0.7rem !important;
}

/* Link styling */
.cookie-consent-banner .rz-link {
    color: var(--rz-primary) !important;
    text-decoration: none !important;
    font-size: 0.75rem !important;
}

.cookie-consent-banner .rz-link:hover {
    color: var(--rz-primary-dark) !important;
    text-decoration: underline !important;
}

/* Icon styling - uses theme colors */
.cookie-consent-banner .rz-icon {
    color: var(--rz-warning) !important;
    font-size: 1.2rem !important;
}

/* Close button - smaller */
.cookie-consent-banner .rz-button[aria-label="Close cookie banner"] {
    padding: 0.2rem !important;
    min-width: auto !important;
    width: 1.5rem !important;
    height: 1.5rem !important;
}

.cookie-consent-banner .rz-button[aria-label="Close cookie banner"] .rz-icon {
    font-size: 0.9rem !important;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .cookie-consent-overlay {
        padding: 0.25rem;
    }

    .cookie-consent-banner {
        max-width: 100%;
    }

    .cookie-consent-overlay .rz-card {
        padding: 0.5rem !important;
    }

    .cookie-consent-banner .rz-button {
        font-size: 0.7rem !important;
        padding: 0.2rem 0.4rem !important;
    }

    .cookie-consent-banner .rz-text {
        font-size: 0.75rem !important;
    }
}

/* Detailed settings card styling - uses theme colors */
.cookie-consent-banner .rz-card-outlined {
    border-color: var(--rz-border-color) !important;
    background-color: var(--rz-base-100) !important;
    padding: 0.5rem !important;
}

/* Switch styling - uses theme colors */
.cookie-consent-banner .rz-switch {
    accent-color: var(--rz-primary) !important;
    transform: scale(0.8) !important;
}