.wils-ads-consent {
    position: fixed; z-index: 10000; inset: auto 1rem 1rem;
    max-width: 44rem; max-height: 65vh; overflow: auto; margin: 0 auto;
    padding: 1.25rem; border: 1px solid #65748a; border-radius: 12px;
    background: #111820; color: #f3f5f7; box-shadow: 0 8px 32px #0005;
    font: 400 15px/1.5 system-ui, sans-serif; text-align: left;
}
.wils-ads-consent[hidden] { display: none !important; }
.wils-ads-consent h2 { color: inherit; font: 700 18px/1.4 system-ui, sans-serif; margin: 0 0 .5rem; padding: 0; border: 0; }
.wils-ads-consent p { margin: 0 0 .75rem; }
.wils-ads-consent a { color: #9de9dc; text-decoration: underline; }
.wils-ads-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.wils-ads-actions button {
    flex: 1 1 12rem; min-height: 44px; padding: .65rem 1rem;
    border: 1px solid #9de9dc; border-radius: 6px; background: #1b3035;
    color: #f3f5f7; font: 600 15px/1.4 system-ui, sans-serif; cursor: pointer;
}
.wils-ads-actions button:hover { background: #29474e; }
.wils-ads-preferences {
    display: inline-block; margin: .5rem; padding: .5rem; min-height: 44px;
    background: transparent; border: 1px solid currentColor; border-radius: 6px;
    color: inherit; font: inherit; text-decoration: underline; cursor: pointer;
}
.wils-ads-consent button:focus-visible, .wils-ads-preferences:focus-visible {
    outline: 3px solid #2dd4bf; outline-offset: 3px;
}
.wils-ads-status { display: block; font-size: .85rem; }
@media (max-width: 480px) {
    .wils-ads-consent { inset: auto .5rem .5rem; padding: 1rem; }
}
