/* Status: Verification-derived */
#bsbv-consent-root,
#bsbv-consent-root * {
    box-sizing: border-box;
}

#bsbv-consent-root {
    all: initial;
    --ui-consent-z-banner: 2147483647;
    --ui-consent-z-modal: 2147483647;
    --ui-consent-inline-offset: clamp(var(--ui-space-sm), 2vw, var(--ui-space-lg));
    --ui-consent-panel-width: 42rem;
    --ui-consent-panel-gap: var(--ui-space-md);
    --ui-consent-button-min-height: 2.75rem;
    --ui-consent-shield-size: 3.5rem;
    --ui-consent-icon-size: 1.5rem;
    --ui-consent-backdrop-alpha: 0.42;
    --ui-consent-bg: rgb(var(--ui-surface-card));
    --ui-consent-bg-muted: rgb(var(--ui-surface-card-muted));
    --ui-consent-border: rgb(var(--ui-border-subtle));
    --ui-consent-text: rgb(var(--ui-text-body));
    --ui-consent-text-strong: rgb(var(--ui-color-brand));
    --ui-consent-muted: rgb(var(--ui-text-muted));
    --ui-consent-primary: rgb(var(--ui-color-accent));
    --ui-consent-primary-hover: rgb(var(--ui-color-accent-hover));
    --ui-consent-primary-text: rgb(var(--ui-text-on-accent));
    --ui-consent-shadow: 0 1.5rem 4rem -2.25rem rgb(var(--ui-color-brand) / 0.46), 0 0.75rem 2rem -1.25rem rgb(var(--ui-color-brand) / 0.26);
    color: var(--ui-consent-text);
    display: block !important;
    font-family: var(--ui-font-family-sans);
    inset: auto !important;
    line-height: 1.5;
    pointer-events: none !important;
    position: fixed !important;
    z-index: var(--ui-consent-z-banner);
    -webkit-font-smoothing: antialiased;
}

#bsbv-consent-root[data-consent-viewport-root="true"] {
    block-size: 0 !important;
    inline-size: 0 !important;
    margin: 0 !important;
    max-block-size: 0 !important;
    max-inline-size: 0 !important;
    min-block-size: 0 !important;
    min-inline-size: 0 !important;
    overflow: visible !important;
    transform: none !important;
}

#bsbv-consent-root button,
#bsbv-consent-root a,
#bsbv-consent-root input,
#bsbv-consent-root summary {
    color: inherit;
    font: inherit;
}

#bsbv-consent-root a {
    text-decoration: none;
}

.cm-hidden,
.ui-consent-banner[hidden],
.ui-consent-modal[hidden],
.ui-consent-shield[hidden] {
    display: none !important;
}

.ui-consent-shield {
    align-items: center;
    background: rgb(var(--ui-color-brand));
    border: 1px solid rgb(var(--ui-border-subtle));
    border-radius: var(--ui-radius-sm);
    bottom: var(--ui-consent-inline-offset);
    box-shadow: var(--ui-consent-shadow);
    color: rgb(var(--ui-text-on-brand));
    cursor: pointer;
    display: inline-flex;
    height: var(--ui-consent-shield-size);
    justify-content: center;
    padding: 0;
    pointer-events: auto;
    position: fixed;
    right: var(--ui-consent-inline-offset);
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    width: var(--ui-consent-shield-size);
    z-index: var(--ui-consent-z-banner);
}

.ui-consent-shield:hover {
    background: rgb(var(--ui-color-accent));
    border-color: rgb(var(--ui-color-accent));
    color: rgb(var(--ui-text-on-accent));
    transform: translateY(-2px);
}

.ui-consent-shield svg {
    fill: currentColor;
    height: var(--ui-consent-icon-size);
    width: var(--ui-consent-icon-size);
}

body[data-backend="1"] #bsbv-consent-root .ui-consent-shield {
    --ui-consent-shield-size: 2.75rem;
    --ui-consent-icon-size: 1.25rem;
    bottom: calc(var(--ui-space-md) + env(safe-area-inset-bottom));
    right: calc(var(--ui-space-md) + env(safe-area-inset-right));
}

.ui-consent-banner {
    background: var(--ui-consent-bg);
    border: 1px solid var(--ui-consent-border);
    border-bottom: 0.25rem solid var(--ui-consent-primary);
    border-radius: var(--ui-radius-sm);
    bottom: var(--ui-consent-inline-offset) !important;
    box-shadow: var(--ui-consent-shadow);
    color: var(--ui-consent-text);
    display: block;
    max-height: calc(100dvh - (var(--ui-consent-inline-offset) * 2));
    overflow: hidden;
    pointer-events: auto;
    position: fixed !important;
    right: var(--ui-consent-inline-offset) !important;
    width: min(calc(100vw - (var(--ui-consent-inline-offset) * 2)), var(--ui-consent-panel-width));
    z-index: var(--ui-consent-z-banner);
}

.ui-consent-banner-inner {
    display: grid;
    gap: var(--ui-consent-panel-gap);
    max-height: calc(100dvh - (var(--ui-consent-inline-offset) * 2));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--ui-space-lg);
}

.ui-consent-banner-copy h2,
.ui-consent-banner-copy p,
.ui-consent-modal-header h3,
.ui-consent-legal p {
    margin: 0;
}

.ui-consent-banner-copy h2,
.ui-consent-modal-header h3 {
    color: var(--ui-consent-text-strong);
    font-size: var(--ui-font-size-h4);
    font-weight: var(--ui-font-weight-bold);
    line-height: var(--ui-line-height-compact);
}

.ui-consent-banner-copy p,
.ui-consent-option-copy small,
.ui-consent-option-copy em,
.ui-consent-legal p {
    color: var(--ui-consent-muted);
    font-size: var(--ui-font-size-body-sm);
    line-height: var(--ui-line-height-body);
}

.ui-consent-banner-copy p {
    margin-top: var(--ui-space-xs);
    max-width: 70ch;
}

.ui-consent-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-xs);
    margin-top: var(--ui-space-sm);
}

.ui-consent-links a {
    color: var(--ui-consent-text-strong);
    font-size: var(--ui-font-size-body-sm);
    font-weight: var(--ui-font-weight-semibold);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.ui-consent-links a:hover {
    color: rgb(var(--ui-color-accent-active));
}

.ui-consent-links span {
    color: var(--ui-consent-muted);
    font-size: var(--ui-font-size-caption);
}

.ui-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-sm);
}

.ui-consent-btn {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--ui-radius-sm);
    cursor: pointer;
    display: inline-flex;
    font-size: var(--ui-font-size-body-sm);
    font-weight: var(--ui-font-weight-bold);
    justify-content: center;
    line-height: var(--ui-line-height-compact);
    min-height: var(--ui-consent-button-min-height);
    padding: 0 var(--ui-space-lg);
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    white-space: nowrap;
}

.ui-consent-btn:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.ui-consent-btn-primary {
    background: var(--ui-consent-primary);
    border-color: var(--ui-consent-primary);
    color: var(--ui-consent-primary-text);
}

.ui-consent-btn-primary:hover:not(:disabled) {
    background: var(--ui-consent-primary-hover);
    border-color: var(--ui-consent-primary-hover);
    box-shadow: 0 0.625rem 1.5rem -1.125rem rgb(var(--ui-color-brand) / 0.55);
    transform: translateY(-1px);
}

.ui-consent-btn-secondary {
    background: var(--ui-consent-bg-muted);
    border-color: var(--ui-consent-border);
    color: var(--ui-consent-text-strong);
}

.ui-consent-btn-secondary:hover:not(:disabled) {
    background: rgb(var(--ui-color-brand) / 0.055);
    border-color: rgb(var(--ui-color-brand) / 0.22);
}

.ui-consent-modal {
    align-items: center;
    background: rgb(var(--ui-color-brand) / var(--ui-consent-backdrop-alpha));
    display: flex;
    inset: 0;
    justify-content: center;
    overflow: auto;
    padding: var(--ui-space-md);
    padding-bottom: calc(var(--ui-space-md) + env(safe-area-inset-bottom));
    pointer-events: auto;
    position: fixed;
    z-index: var(--ui-consent-z-modal);
}

.ui-consent-modal-panel {
    background: var(--ui-consent-bg);
    border: 1px solid var(--ui-consent-border);
    border-radius: var(--ui-radius-sm);
    box-shadow: var(--ui-consent-shadow);
    display: grid;
    gap: var(--ui-consent-panel-gap);
    max-height: calc(100dvh - (var(--ui-space-md) * 2));
    max-width: 44rem;
    overflow: auto;
    padding: var(--ui-space-lg);
    width: min(100%, 44rem);
}

.ui-consent-modal-header,
.ui-consent-modal-footer {
    align-items: center;
    display: flex;
    gap: var(--ui-consent-panel-gap);
    justify-content: space-between;
}

.ui-consent-modal-footer {
    flex-wrap: wrap;
}

.ui-consent-form {
    display: grid;
    gap: var(--ui-space-sm);
}

.ui-consent-option-label {
    align-items: flex-start;
    background: var(--ui-consent-bg-muted);
    border: 1px solid var(--ui-consent-border);
    border-radius: var(--ui-radius-sm);
    cursor: pointer;
    display: grid;
    gap: var(--ui-space-sm);
    grid-template-columns: auto minmax(0, 1fr);
    padding: var(--ui-space-md);
}

.ui-consent-option-label:hover {
    border-color: rgb(var(--ui-color-accent) / 0.55);
}

.ui-consent-option-label input {
    accent-color: rgb(var(--ui-color-accent));
    margin-top: var(--ui-space-2xs);
}

.ui-consent-option-copy {
    display: grid;
    gap: var(--ui-space-2xs);
    min-width: 0;
}

.ui-consent-option-copy strong {
    color: var(--ui-consent-text-strong);
    font-size: var(--ui-font-size-body);
    font-weight: var(--ui-font-weight-semibold);
    line-height: var(--ui-line-height-compact);
}

.ui-consent-option-copy em {
    background: rgb(var(--ui-color-accent) / 0.16);
    border-radius: var(--ui-radius-pill);
    color: rgb(var(--ui-color-brand));
    display: inline-block;
    font-style: normal;
    font-weight: var(--ui-font-weight-bold);
    justify-self: start;
    padding: 0 var(--ui-space-xs);
}

.ui-consent-legal {
    background: var(--ui-consent-bg-muted);
    border: 1px solid var(--ui-consent-border);
    border-radius: var(--ui-radius-sm);
    margin-top: var(--ui-space-sm);
    padding: var(--ui-space-md);
}

.ui-consent-legal summary {
    color: var(--ui-consent-text-strong);
    cursor: pointer;
    font-size: var(--ui-font-size-body-sm);
    font-weight: var(--ui-font-weight-semibold);
}

.ui-consent-legal p {
    margin-top: var(--ui-space-sm);
}

.ui-consent-btn:focus-visible,
.ui-consent-links a:focus-visible,
.ui-consent-option-label input:focus-visible {
    outline: 2px solid rgb(var(--ui-color-accent));
    outline-offset: 3px;
}

@media (min-width: 48rem) {
    .ui-consent-banner-inner {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ui-consent-banner .ui-consent-actions {
        align-items: center;
        justify-content: flex-end;
    }
}

@media (max-width: 40rem) {
    #bsbv-consent-root {
        --ui-consent-inline-offset: var(--ui-space-sm);
    }

    .ui-consent-banner {
        left: var(--ui-consent-inline-offset) !important;
        right: var(--ui-consent-inline-offset) !important;
        width: auto;
    }

    .ui-consent-banner-inner,
    .ui-consent-modal-panel {
        padding: var(--ui-space-md);
    }

    .ui-consent-actions,
    .ui-consent-modal-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .ui-consent-btn {
        width: 100%;
    }
}

.dark #bsbv-consent-root {
    --ui-consent-bg: rgb(var(--ui-color-brand));
    --ui-consent-bg-muted: rgb(var(--ui-text-on-brand) / 0.06);
    --ui-consent-border: rgb(var(--ui-border-subtle) / 0.24);
    --ui-consent-text: rgb(var(--ui-text-on-brand));
    --ui-consent-text-strong: rgb(var(--ui-text-on-brand));
    --ui-consent-muted: rgb(var(--ui-text-muted));
}
