.site-cookie-banner {
    position: fixed;
    z-index: var(--cookie-z-index, 99999);
    width: 100%;
    pointer-events: none;
    font-family: var(--cookie-font-family, Inter, Arial, sans-serif);
}

.site-cookie-banner-box {
    width: var(--cookie-width, 100%);
    max-width: var(--cookie-max-width, 620px);
    background: var(--cookie-bg, #ffffff);
    color: var(--cookie-text-color, #0f172a);
    border: 1px solid var(--cookie-border-color, #e5e7eb);
    border-radius: var(--cookie-border-radius, 16px);
    box-shadow: var(--cookie-box-shadow, 0 10px 30px rgba(0,0,0,0.18));
    padding: var(--cookie-padding, 24px);
    box-sizing: border-box;
    pointer-events: auto;
}

.site-cookie-banner-title {
    margin: 0 0 10px;
    font-size: var(--cookie-title-size, 24px);
    line-height: 1.2;
    font-weight: 800;
    color: var(--cookie-title-color, #0f172a);
}

.site-cookie-banner-text {
    margin-bottom: 14px;
    font-size: var(--cookie-text-size, 15px);
    line-height: 1.6;
}

.site-cookie-banner-links {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 16px;
}

.site-cookie-banner-links a {
    color: var(--cookie-settings-text, #2563eb);
    text-decoration: none;
    font-weight: 700;
}

.site-cookie-banner-links a:hover {
    text-decoration: underline;
}

.site-cookie-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.site-cookie-btn {
    border: none;
    border-radius: var(--cookie-button-radius, 10px);
    padding: var(--cookie-button-padding, 12px 18px);
    font-size: var(--cookie-button-size, 14px);
    font-weight: 700;
    cursor: pointer;
    transition: transform .18s ease, opacity .18s ease;
}

.site-cookie-btn:hover {
    transform: translateY(-1px);
    opacity: 0.97;
}

.site-cookie-btn-accept {
    background: var(--cookie-accept-bg, #2563eb);
    color: var(--cookie-accept-text, #ffffff);
}

.site-cookie-btn-reject {
    background: var(--cookie-reject-bg, #e5e7eb);
    color: var(--cookie-reject-text, #0f172a);
}

.site-cookie-btn-settings {
    background: var(--cookie-settings-bg, #ffffff);
    color: var(--cookie-settings-text, #2563eb);
    border: 1px solid var(--cookie-border-color, #e5e7eb);
}

.site-cookie-btn-save {
    background: var(--cookie-save-bg, #0f172a);
    color: var(--cookie-save-text, #ffffff);
}

.site-cookie-banner-options {
    margin: 14px 0 18px;
    padding: 14px;
    border: 1px solid var(--cookie-border-color, #e5e7eb);
    border-radius: 14px;
    background: rgba(148, 163, 184, 0.08);
}

.site-cookie-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    font-size: var(--cookie-text-size, 15px);
}

.cookie-position-bottom {
    left: 0;
    right: 0;
    bottom: 18px;
    display: flex;
    justify-content: center;
    padding: 0 14px;
    box-sizing: border-box;
}

.cookie-position-top {
    left: 0;
    right: 0;
    top: 18px;
    display: flex;
    justify-content: center;
    padding: 0 14px;
    box-sizing: border-box;
}

.cookie-position-bottom-left {
    left: 18px;
    bottom: 18px;
}

.cookie-position-bottom-right {
    right: 18px;
    bottom: 18px;
}

.cookie-position-center {
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    background: rgba(2, 6, 23, 0.35);
}

.cookie-layout-bar .site-cookie-banner-box {
    max-width: min(1200px, 96%);
}

.cookie-layout-popup .site-cookie-banner-box {
    max-width: min(var(--cookie-max-width, 620px), 96%);
}

@media (max-width: 768px) {
    .site-cookie-banner-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .site-cookie-btn {
        width: 100%;
    }

    .cookie-position-bottom-left,
    .cookie-position-bottom-right {
        left: 0;
        right: 0;
        bottom: 14px;
        display: flex;
        justify-content: center;
        padding: 0 12px;
        box-sizing: border-box;
    }
}