/* Cookie consent banner & preferences modal. */
.cookie-banner-container {
        position: fixed;
        bottom: 20px;
        left: 0;
        right: 0;
        z-index: 9999;
        pointer-events: none;
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.35s ease, transform 0.35s ease;
    }
    .cookie-banner-container.cookie-banner-visible {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    .cookie-banner-card {
        background: #ffffff;
        border: 1px solid rgba(203, 213, 225, 0.9);
        border-radius: 16px;
        box-shadow: 0 16px 36px -4px rgba(15, 23, 42, 0.18), 0 4px 12px -2px rgba(15, 23, 42, 0.08);
        max-width: 1080px;
        margin: 0 auto;
    }
    .cookie-banner-text {
        line-height: 1.55;
        color: #475569 !important;
    }
    .cookie-privacy-link {
        color: #059669;
        font-weight: 500;
    }
    .cookie-privacy-link:hover {
        color: #047857;
    }
    .cookie-action-btn {
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        transition: all 0.2s ease;
    }
    .cookie-action-btn:focus-visible {
        outline: 2px solid #059669;
        outline-offset: 2px;
    }
    .cookie-accept-all {
        background-color: #059669 !important;
        border-color: #059669 !important;
    }
    .cookie-accept-all:hover {
        background-color: #047857 !important;
        border-color: #047857 !important;
    }
    .cookie-pref-item {
        background-color: #ffffff;
        transition: background-color 0.2s ease, border-color 0.2s ease;
    }
    .cookie-pref-item:hover {
        background-color: #f8fafc;
        border-color: #cbd5e1;
    }
    .form-check-input:checked {
        background-color: #059669;
        border-color: #059669;
    }
    @media (max-width: 767.98px) {
        .cookie-banner-container {
            bottom: 12px;
        }
        .cookie-banner-card {
            border-radius: 14px;
            padding: 1rem !important;
        }
        .cookie-banner-actions {
            width: 100%;
        }
        .cookie-banner-actions .cookie-action-btn {
            flex: 1 1 calc(50% - 0.5rem);
            min-height: 42px;
        }
        .cookie-banner-actions .cookie-accept-all {
            flex: 1 1 100%;
        }
    }
