/**
 * Cookie Consent Banner Styles
 * Ensures GDPR-compliant banner appears fixed at bottom of viewport
 */

.cookie-consent-banner {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: var(--bs-body-bg) !important;
    border-top: 2px solid var(--bs-primary) !important;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1) !important;
    z-index: 9999 !important;
    padding: 1rem !important;
    width: 100% !important;
    max-height: 200px !important;
    overflow: hidden !important;
    animation: slideUp 0.3s ease-out !important;
    transform: translateZ(0) !important; /* Create new stacking context */
    margin: 0 !important; /* Reset any inherited margins */
    border-radius: 0 !important; /* Reset any inherited border radius */
}

.cookie-consent-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    gap: 1rem !important;
}

.cookie-consent-text {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    flex: 1 !important;
}

.cookie-consent-icon {
    color: var(--bs-primary) !important;
    font-size: 1.5rem !important;
    margin-top: 0.25rem !important;
    flex-shrink: 0 !important;
}

.cookie-consent-message {
    flex: 1 !important;
}

.cookie-consent-title {
    margin: 0 0 0.25rem 0 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--bs-body-color) !important;
}

.cookie-consent-description {
    margin: 0 !important;
    font-size: 0.875rem !important;
    color: var(--bs-secondary-color) !important;
    line-height: 1.4 !important;
}

.cookie-consent-link {
    color: var(--bs-primary) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.cookie-consent-link:hover {
    color: var(--bs-primary) !important;
    text-decoration: underline !important;
}

.cookie-consent-actions {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

/* Animations */
@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideDown {
    from {
        transform: translateY(0);
        opacity: 1;
    }
    to {
        transform: translateY(100%);
        opacity: 0;
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .cookie-consent-banner {
        max-height: 250px !important;
    }
    
    .cookie-consent-content {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.75rem !important;
    }
    
    .cookie-consent-actions {
        justify-content: center !important;
    }
    
    .cookie-consent-actions .btn {
        flex: 1 !important;
        max-width: 150px !important;
    }
}

/* Dark theme support */
.dark-theme .cookie-consent-banner {
    border-top-color: var(--bs-primary) !important;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.3) !important;
}

/* Ensure banner is always visible and above everything */
body .cookie-consent-banner {
    position: fixed !important;
    bottom: 0 !important;
    z-index: 10000 !important;
}

/* Debug helper - remove after testing */
.cookie-consent-banner.debug {
    border: 3px solid red !important;
    background: yellow !important;
} 