.cookie-banner[hidden],
.cookie-modal[hidden] { display: none !important; }

.cookie-banner {
    position: fixed;
    left: 0;
    width: 100%;
    z-index: 999999;
    background: #fff;
    color: #111;
    border-bottom: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    font-size: 14px;
}

.cookie-top { top: 0; }
.cookie-bottom { bottom: 0; border-top: 1px solid rgba(0,0,0,.08); border-bottom: 0; }

.cookie-inner {
    min-height: 58px;
    padding: 10px 42px 10px 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 34px;
}

.cookie-copy {
    line-height: 1.25;
    max-width: 560px;
}

.cookie-copy strong { font-weight: 700; }
.cookie-link { color: #111; text-decoration: underline; font-weight: 600; }

.cookie-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.btn-primary {
    background: var(--cookie-primary, #08a7d8) !important;
    border-color: var(--cookie-primary, #08a7d8) !important;
    color: #fff !important;
    min-width: 112px;
    border-radius: 999px !important;
    font-weight: 700 !important;
    padding: 8px 22px !important;
}

.btn-primary:hover,
.btn-primary:focus {
    filter: brightness(.92);
    color: #fff !important;
}

.btn-outline {
    min-width: 112px;
    border-radius: 999px !important;
    font-weight: 700 !important;
    padding: 8px 22px !important;
    color: #666 !important;
    border-color: #777 !important;
    background: #fff !important;
}

.cookie-close,
.cookie-modal-close {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #8c8c8c;
    background: #fff;
    color: #444;
    line-height: 34px;
    font-size: 28px;
    font-weight: 300;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.cookie-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.48);
}

.cookie-modal-box {
    position: relative;
    width: min(620px, 100%);
    max-height: 90vh;
    overflow: auto;
    background: #fff;
}

.cookie-modal-header,
.cookie-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(0,0,0,.12);
}

.cookie-modal-footer {
    justify-content: flex-end;
    border-top: 1px solid rgba(0,0,0,.12);
    border-bottom: 0;
    flex-wrap: wrap;
}

.cookie-modal-body { padding: 18px; }
.cookie-option { display: flex; align-items: center; justify-content: space-between; gap: 18px; }

@media (max-width: 991px) {
    .cookie-inner { justify-content: flex-start; gap: 16px; }
    .cookie-copy { max-width: none; }
}

@media (max-width: 767px) {
    .cookie-inner {
        padding: 14px;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .cookie-actions {
        justify-content: center;
        flex-wrap: wrap;
    }
    .cookie-close { position: absolute; top: 8px; right: 8px; }
    .cookie-copy { padding-right: 44px; }
    .btn-primary,
    .btn-outline { min-width: 104px; }
}
