.pv-cookie-banner[hidden] { display: none; }
.pv-cookie-banner, .pv-cookie-dialog { font-family: var(--wp--preset--font-family--inter, "Inter", sans-serif); color: #0e1b2c; font-size: .92rem; line-height: 1.55; box-sizing: border-box; }
.pv-cookie-banner { position: fixed; z-index: 1100; inset: auto 24px 24px; max-width: 1200px; margin-inline: auto; display: flex; gap: 24px; align-items: center; padding: 24px; border: 1px solid #cddbd7; border-radius: 14px; background: #fff; box-shadow: 0 12px 50px #0e1b2c33; max-height: 70dvh; overflow: auto; }
.pv-cookie-banner h2, .pv-cookie-dialog h2 { font-family: var(--wp--preset--font-family--red-hat-display, "Red Hat Display", sans-serif); font-size: 1.3rem; margin: 0 0 8px; }
.pv-cookie-banner p { margin: 0 0 8px; }
.pv-cookie-banner a, .pv-cookie-dialog a { color: #0e706c; text-underline-offset: 3px; }
.pv-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pv-cookie-banner > .pv-cookie-actions { flex: 0 0 390px; }
.pv-cookie-actions button, .pv-private-embed button { font: inherit; font-weight: 600; color: #0e706c; background: #eff7f5; border: 1px solid #91b4ad; border-radius: 8px; min-height: 44px; padding: 10px 14px; cursor: pointer; }
.pv-cookie-actions button:hover, .pv-private-embed button:hover { background: #dfefea; }
.pv-cookie-actions button:focus-visible, .pv-private-embed button:focus-visible, .pv-cookie-dialog input:focus-visible { outline: 3px solid #139691; outline-offset: 3px; }
.pv-cookie-dialog { width: min(620px, calc(100% - 32px)); max-height: 85dvh; padding: 28px; border: 1px solid #cddbd7; border-radius: 16px; background: #fff; }
.pv-cookie-dialog::backdrop { background: #0e1b2c99; }
.pv-cookie-dialog > p { margin: 12px 0; }
.pv-cookie-category { display: flex; gap: 12px; padding: 16px 0; border-top: 1px solid #dde7e3; }
div.pv-cookie-category { display: block; }
.pv-cookie-category p { margin: 4px 0 0; }
.pv-cookie-category span > span { display: block; margin-top: 4px; }
.pv-cookie-category input { width: 20px; height: 20px; flex-shrink: 0; margin-top: 3px; accent-color: #0e706c; }
.pv-cookie-small { font-size: .83rem; color: #52656b; }
.pv-private-embed { position: relative; border-radius: 12px; overflow: hidden; background: #eef4f2; }
.pv-private-embed--video { aspect-ratio: 16 / 9; max-width: 640px; margin-top: var(--wp--preset--spacing--40); }
.pv-private-embed--map { min-height: 340px; }
.pv-private-embed__notice { padding: 24px; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; height: 100%; }
.pv-private-embed__notice[hidden] { display: none; }
.pv-video-on-demand { width: 100%; max-width: none; margin-top: 0; }
.pv-private-embed__notice h3 { margin: 0; }
.pv-private-embed__notice p { font-size: .9rem; }
.pv-private-embed iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.pv-cookie-noscript { padding: 16px 24px; margin: 0; font-size: .85rem; }
.pv-footer button.pv-cookie-reopen { background: transparent; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; min-height: 44px; }
.pv-footer button.pv-cookie-reopen:hover { color: #fff; text-decoration: underline; }
.pv-footer button.pv-cookie-reopen:focus-visible { outline: 2px solid #7fe3dd; outline-offset: 4px; }
@media (max-width: 850px) {
    .pv-cookie-banner { flex-direction: column; align-items: stretch; inset-inline: 16px; bottom: 16px; padding: 20px; gap: 16px; }
    .pv-cookie-banner > .pv-cookie-actions { flex: auto; }
    .pv-cookie-actions button { flex-grow: 1; }
}
@media (max-width: 600px) {
    .pv-cookie-dialog { padding: 20px; }
    .pv-private-embed--video { aspect-ratio: auto; min-height: 280px; }
}
