.bhw-consent__banner {
    position: fixed;
    z-index: 1000;
    right: var(--wp--preset--spacing--40, 1rem);
    bottom: var(--wp--preset--spacing--40, 1rem);
    left: var(--wp--preset--spacing--40, 1rem);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--wp--preset--spacing--40, 1rem);
    align-items: center;
    max-width: 72rem;
    margin-inline: auto;
    padding: var(--wp--preset--spacing--50, 1.5rem);
    color: var(--bhw-color-text-primary, #f6f1e8);
    background: var(--bhw-color-panel, #211b17);
    border: 1px solid var(--bhw-color-border, #7c654c);
    border-radius: var(--bhw-radius-card, 0.75rem);
    box-shadow: var(--bhw-shadow-card, 0 1rem 3rem rgb(0 0 0 / 35%));
}

.bhw-consent__banner[hidden] {
    display: none;
}

.bhw-consent__eyebrow {
    margin-block: 0 0.25rem;
    color: var(--bhw-color-accent, #d5ad63);
    font-weight: 700;
}

.bhw-consent__banner h2,
.bhw-consent__dialog h2 {
    margin-block: 0 0.5rem;
}

.bhw-consent__banner p,
.bhw-consent__dialog p {
    max-width: 65ch;
    margin-block: 0;
}

.bhw-consent__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--30, 0.75rem);
}

.bhw-consent__dialog {
    width: min(42rem, calc(100% - 2rem));
    padding: var(--wp--preset--spacing--50, 1.5rem);
    color: var(--bhw-color-text-primary, #f6f1e8);
    background: var(--bhw-color-panel, #211b17);
    border: 1px solid var(--bhw-color-border, #7c654c);
    border-radius: var(--bhw-radius-card, 0.75rem);
}

.bhw-consent__dialog::backdrop {
    background: rgb(0 0 0 / 70%);
}

.bhw-consent__dialog form {
    display: grid;
    gap: var(--wp--preset--spacing--40, 1rem);
}

.bhw-consent__choice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--wp--preset--spacing--30, 0.75rem);
    align-items: start;
    min-height: 44px;
}

.bhw-consent__necessary {
    display: grid;
    gap: 0.25rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--bhw-color-border, #7c654c);
    border-radius: var(--bhw-radius-small, 0.5rem);
    background: rgb(255 255 255 / 3%);
}

.bhw-consent__necessary small {
    color: var(--bhw-color-text-secondary, #d4c9ba);
}

.bhw-consent__choice input {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.125rem;
}

.bhw-consent__choice span {
    display: grid;
    gap: 0.25rem;
}

.bhw-consent__choice small {
    color: var(--bhw-color-text-secondary, #d4c9ba);
}

.bhw-consent__choice small + small {
    margin-top: 0.35rem;
}

.bhw-consent__noscript {
    padding: 0.75rem;
    border: 1px solid var(--bhw-color-border, #7c654c);
}

@media (max-width: 48rem) {
    .bhw-consent__banner {
        grid-template-columns: minmax(0, 1fr);
        max-height: calc(100vh - 2rem);
        overflow-y: auto;
    }

    .bhw-consent__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bhw-consent *,
    .bhw-consent *::before,
    .bhw-consent *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }
}
