/* Independent of the seasonal overlay and all decoration size breakpoints. */
.hr-halloween-consent {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    width: min(30rem, calc(100% - 2rem));
    max-width: calc(100% - 2rem);
    max-height: calc(100% - 2rem);
    max-height: calc(100dvh - 2rem);
    margin: auto;
    padding: 2rem 1.5rem 1.5rem;
    overflow: auto;
    border: 1px solid #64748b;
    border-radius: 1rem;
    background: #f8fafc;
    color: #0f172a;
    box-shadow: 0 1rem 4rem #0006;
    font: 1rem/1.5 system-ui, sans-serif;
    text-align: left;
    z-index: 80001;
}
.hr-halloween-consent:not([open]) { display: none; }
.hr-halloween-consent::backdrop { background: #0f172abf; }
.hr-halloween-consent h2 { margin: 0 1rem 1rem 0; font-size: 1.4rem; line-height: 1.3; font-weight: 700; }
.hr-halloween-consent p { margin: 0 0 1.5rem; }
.hr-halloween-consent-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.hr-halloween-consent button {
    min-height: 44px;
    padding: 0.65rem 1rem;
    border: 1px solid #64748b;
    border-radius: 8px;
    background: #fff;
    color: #0f172a;
    font: inherit;
    white-space: normal;
    cursor: pointer;
}
.hr-halloween-consent-actions button { flex: 1 1 10rem; }
.hr-halloween-consent .hr-halloween-consent-accept { background: #9a3412; color: #fff; border-color: #9a3412; }
.hr-halloween-consent .hr-halloween-consent-close { position: absolute; top: 0.25rem; right: 0.25rem; border: 0; padding: 0.25rem 0.75rem; font-size: 1.5rem; background: transparent; }
.hr-halloween-consent button:focus-visible { outline: 3px solid #0284c7; outline-offset: 3px; }
.hr-halloween-scare-overlay {
    position: fixed;
    inset: 0;
    z-index: 80000;
    display: grid;
    place-items: center;
    width: auto;
    height: auto;
    overflow: hidden;
    contain: layout paint;
    background: #000;
    pointer-events: none;
    user-select: none;
}
.hr-halloween-scare-overlay > .hr-halloween-scare-image {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
    .hr-halloween-scare-overlay { display: none !important; }
}
@media print {
    .hr-halloween-scare-overlay, .hr-halloween-consent { display: none !important; }
}
