/* WordPress controls and keyboard navigation. */
.admin-bar .nav {
    top: 32px;
}
.skip-link {
    position: fixed;
    top: -100px;
    left: 20px;
    padding: 12px 20px;
    background: white;
    color: #060418;
    z-index: 100000;
}
.skip-link:focus {
    top: 10px;
}
:focus-visible {
    outline: 2px solid #8a7dff;
    outline-offset: 5px;
}
body:not(.hd-enhanced) [data-reveal] {
    opacity: 1;
    transform: none;
}
.edition-description {
    font-size: 1.05rem;
}
.wpcf7-form p {
    margin-bottom: 20px;
}
.wpcf7-form-control-wrap {
    display: block;
}
.wpcf7-not-valid-tip {
    color: #ffaaaa;
}
.wpcf7 form .wpcf7-response-output {
    margin: 24px 0;
    padding: 16px;
}
.entry-content {
    margin-top: 40px;
}
@media (max-width: 782px) {
    .admin-bar .nav {
        top: 46px;
    }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Optional ACF section backgrounds keep decorative layers behind the content. */
[data-hd-background="custom"] {
    isolation: isolate;
    background: transparent !important;
}
[data-hd-background="custom"]:not(.nav) {
    position: relative;
}
[data-hd-background="custom"]::before,
[data-hd-background="custom"]::after {
    display: none;
}
.hd-section-background {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    border-radius: inherit;
    pointer-events: none;
    background-color: var(--hd-bg-color, #060418);
}
.hd-section-background > img,
.hd-section-background > video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: var(--hd-bg-position, center center);
}
.hd-section-background > video[hidden] {
    display: none;
}
.hd-section-background::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--hd-bg-overlay, #060418);
    opacity: var(--hd-bg-opacity, 0);
}

body > .hd-section-background {
    position: fixed;
}
