.hl-cookie-layer,
.hl-cookie-layer * {
    box-sizing: border-box;
}

.hl-cookie-layer {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, .48);
    font-family: Inter, Arial, sans-serif;
}

.hl-cookie-panel {
    width: min(960px, 100%);
    border: 1px solid #dbe5f1;
    border-radius: 18px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
    color: #172033;
}

.hl-cookie-panel h2 {
    margin: 0 0 8px;
    color: #111827;
    font-size: 22px;
    line-height: 1.25;
}

.hl-cookie-panel p {
    margin: 0;
    color: #526176;
    font-size: 14px;
    line-height: 1.65;
}

.hl-cookie-panel a {
    color: #2563eb;
    font-weight: 700;
}

.hl-cookie-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 20px;
}

.hl-cookie-button {
    min-height: 46px;
    border: 1px solid #2563eb;
    border-radius: 10px;
    padding: 11px 16px;
    background: #fff;
    color: #1d4ed8;
    font: 800 14px Inter, Arial, sans-serif;
    cursor: pointer;
}

.hl-cookie-button:hover,
.hl-cookie-button:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px #dbeafe;
}

.hl-cookie-button.accept {
    background: #2563eb;
    color: #fff;
}

.hl-cookie-button.manage {
    background: #eff6ff;
}

.hl-cookie-button.reject {
    border-color: #64748b;
    background: #64748b;
    color: #fff;
}

.hl-cookie-preferences {
    margin-top: 18px;
    border-top: 1px solid #e2e8f0;
    padding-top: 18px;
}

.hl-cookie-preferences[hidden] {
    display: none;
}

.hl-cookie-preference-list {
    display: grid;
    gap: 10px;
    margin: 14px 0 4px;
}

.hl-cookie-preference {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: center;
    border: 1px solid #dbe5f1;
    border-radius: 11px;
    padding: 13px 15px;
    background: #f8fafc;
}

.hl-cookie-preference strong,
.hl-cookie-preference small {
    display: block;
}

.hl-cookie-preference strong {
    color: #1e293b;
    font-size: 13px;
}

.hl-cookie-preference small {
    margin-top: 4px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.45;
}

.hl-cookie-preference input {
    width: 19px;
    height: 19px;
    accent-color: #2563eb;
}

.hl-cookie-required {
    border-radius: 999px;
    padding: 5px 9px;
    background: #e2e8f0;
    color: #475569;
    font-size: 10px;
    font-weight: 800;
}

.hl-cookie-save-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
}

.hl-cookie-settings-trigger {
    position: fixed;
    z-index: 99990;
    left: 16px;
    bottom: 16px;
    border: 1px solid #94a3b8;
    border-radius: 999px;
    padding: 8px 12px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(15, 23, 42, .13);
    color: #475569;
    font: 700 11px Inter, Arial, sans-serif;
    cursor: pointer;
}

.hl-cookie-settings-trigger:hover,
.hl-cookie-settings-trigger:focus-visible {
    border-color: #2563eb;
    outline: 0;
    color: #2563eb;
}

html.hedeflot-dark-theme .hl-cookie-panel {
    border-color: #40516b;
    background: #172033;
    color: #e2e8f0;
}

html.hedeflot-dark-theme .hl-cookie-panel h2,
html.hedeflot-dark-theme .hl-cookie-preference strong {
    color: #f8fafc;
}

html.hedeflot-dark-theme .hl-cookie-panel p,
html.hedeflot-dark-theme .hl-cookie-preference small {
    color: #b7c6dc !important;
}

html.hedeflot-dark-theme .hl-cookie-preferences {
    border-color: #334155;
}

html.hedeflot-dark-theme .hl-cookie-preference {
    border-color: #40516b;
    background: #101a2d;
}

html.hedeflot-dark-theme .hl-cookie-settings-trigger {
    border-color: #475569;
    background: #172033;
    color: #cbd5e1;
}

@media (max-width: 680px) {
    .hl-cookie-layer {
        padding: 10px;
    }

    .hl-cookie-panel {
        max-height: calc(100vh - 20px);
        overflow-y: auto;
        border-radius: 15px;
        padding: 19px;
    }

    .hl-cookie-actions {
        grid-template-columns: 1fr;
    }

    .hl-cookie-button {
        width: 100%;
    }

    .hl-cookie-settings-trigger {
        left: 10px;
        bottom: 10px;
    }
}
