/**
 * Invitea core interaction runtime 0.69.11.8.
 *
 * Visual templates remain responsible for their own composition. These rules
 * only enforce interaction safety, scroll locking, state visibility, and a
 * fail-open no-JavaScript fallback for the canonical Integrated Opening.
 */

html.invitea-opening-scroll-locked,
html.invitea-opening-scroll-locked body {
    overflow: hidden !important;
    overscroll-behavior: none;
}

html.invitea-opening-runtime-ready [data-invitea-opening-blocked="true"] {
    pointer-events: none !important;
    user-select: none !important;
}

html.invitea-opening-runtime-ready [data-invitea-opening-state="closed"] [data-invitea-opening-content],
html.invitea-opening-runtime-ready [data-invitea-opening-state="opening"] [data-invitea-opening-content] {
    pointer-events: none !important;
}

html.invitea-opening-runtime-ready [data-invitea-opening-state="opened"] [data-invitea-opening-cover] {
    visibility: hidden !important;
    pointer-events: none !important;
}

html.invitea-opening-runtime-ready [data-invitea-opening-state="opened"] [data-invitea-opening-content] {
    visibility: visible !important;
    opacity: 1;
    pointer-events: auto !important;
}

/*
 * Direct Opening is usable on first paint. These rules intentionally override
 * stale template CSS that still assumes the legacy closed/opening state machine.
 */
html.invitea-opening-runtime-ready [data-invitea-opening-mode="direct"] [data-invitea-opening-content] {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

html.invitea-opening-runtime-ready [data-invitea-opening-mode="direct"] [data-invitea-opening-cover] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

html.invitea-opening-runtime-ready [data-invitea-opening-mode="direct"] [data-invitea-opening-blocked="true"] {
    pointer-events: auto !important;
    user-select: auto !important;
}

[data-invitea-action="open-invitation"][aria-disabled="true"] {
    pointer-events: none !important;
}

/*
 * Fail open when JavaScript is unavailable. The open control has no purpose in
 * that context, while all invitation content must remain readable and usable.
 */
html:not(.invitea-js) [data-invitea-action="open-invitation"] {
    display: none !important;
}

html:not(.invitea-js) [data-invitea-opening-root],
html:not(.invitea-js) [data-invitea-opening-cover],
html:not(.invitea-js) [data-invitea-opening-content],
html:not(.invitea-js) [data-invitea-opening-guarded="true"] {
    position: relative !important;
    inset: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    overflow: visible !important;
}

html:not(.invitea-js) [data-invitea-opening-content] {
    display: block !important;
}

@media (prefers-reduced-motion: reduce) {
    [data-invitea-opening-root],
    [data-invitea-opening-root] *,
    [data-invitea-opening-root] *::before,
    [data-invitea-opening-root] *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}
