/* Shell of a form page inside the site layout (header, footer, Manrope Variable from global.css).
 * 1. The survey UI is a full-height app with its own sticky rail/topbar/controls. The site header is fixed on normal
 *    pages; here it scrolls away with the page so the app keeps the whole viewport.
 * 2. Isolation: the site's Tailwind layers (preflight resets, .btn/.eyebrow/.card/.hero-copy components, utilities)
 *    must not reach the survey markup. This layer comes after Tailwind's layers, so inside the form it reverts every
 *    property the site set back to the browser default; the survey's own (unlayered) CSS then wins as on its own page.
 *    img/svg are excluded from "all: revert" because that would also drop their width/height/fill attributes.
 * 3. The site's reveal-on-scroll rule (.js [data-reveal], unlayered) is replaced by the survey's own timing. */

.site-header { position: relative; }
/* The survey's own unlayered `a{color:inherit}` outranks the site's layered .btn-primary; without this the footer booking button
 * shows 70 % white on teal (contrast 2.1:1). */
body > footer a.btn-primary { color: #191917; }
/* The result's "Als PDF speichern" prints the result only, as on the survey's own page. */
@media print { .site-header, body > footer { display: none !important; } }

@layer pwf-isolate {
  :where(body > :not([data-header], footer, .sr-only, script)),
  :where(body > :not([data-header], footer, .sr-only, script)) :where(:not(svg, svg *, img)),
  :where(body > :not([data-header], footer, .sr-only, script)) :where(*)::before,
  :where(body > :not([data-header], footer, .sr-only, script)) :where(*)::after,
  :where(body > :not([data-header], footer, .sr-only, script)) :where(*)::placeholder {
    all: revert;
  }
  :where(body > :not([data-header], footer, .sr-only, script)) :where(img, svg) {
    display: inline;
    vertical-align: baseline;
    max-width: none;
  }
}

html.js [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: calc(var(--d, 0) * 90ms); }
html.js [data-reveal].in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.js [data-reveal] { opacity: 1 !important; transform: none !important; } }
