/* ═══════════════════════════════════════════════════════════════════════════
   /waivers/, THE PUBLIC WAIVER PAGE (2026-09-23, Chena: "make waivers like
   kiosk, but without the tour info"; 2026-09-28: the two "are supposed to be
   identical. The only difference between kiosk and waivers is waivers, you
   don't have the explore tour option"). Loaded after the kiosk sheet
   (includes/kiosk-sheet.php) and the kiosk landing sheet, and holds ONLY what
   differs on a guest's own phone or computer: the Rock Lake photo behind the
   landing, the phone band's edge-to-edge paper, a short window's modal. The
   landing's parts, the dock and the flow are the kiosk's own, printed from
   kiosk-sheet.php and painted by the landing sheet, so nothing about them is
   restated here. Scoped under body.chact-wv so nothing here can reach the kiosk.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── The room. The kiosk's art is portrait (it is drawn for the iPad at 120%
   of the frame's height); on a landscape window it would stand in a column.
   Here the same art also fills the whole window behind it, blurred and
   softly veiled, and the sharp column fades into it at its sides, so the lake
   reaches every edge. On a phone the column is wider than the window and the
   fade never shows. The art is whichever the screen already names:
   --k-waiver-art on the waiver screens, --k-home-art on the landing. */
.wv-backdrop {
  /* z 1: above the kiosk's fixed sky wash (body::after, z 0), under .k-app (z 1, later in the page) */
  position: fixed; inset: -3rem; z-index: 1; pointer-events: none;
  /* the copy is stretched to the window's width at the column's own height
     (120% of the frame from the top), so its sky, ridge and lake bands run
     level with the painting's; the blur hides the stretch */
  background: var(--k-waiver-art, var(--k-home-art)) 0 3rem / 100% 120vh no-repeat;
  filter: blur(2.5rem) saturate(1.1);
}
.wv-backdrop::after { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,.08); }
body.chact-wv .k-app { position: relative; z-index: 1; }
body.chact-wv:is([data-screen="landing"], [data-screen^="renderer-"], [data-screen="success"]) .k-app::before {
  -webkit-mask-image: linear-gradient(90deg, transparent calc(50% - 46.5vh), #000 calc(50% - 38vh), #000 calc(50% + 38vh), transparent calc(50% + 46.5vh));
          mask-image: linear-gradient(90deg, transparent calc(50% - 46.5vh), #000 calc(50% - 38vh), #000 calc(50% + 38vh), transparent calc(50% + 46.5vh));
}
html[data-ada-contrast="high"] .wv-backdrop { display: none; }

/* ── THE HOME'S OWN BACKGROUND (2026-09-24, Chena: "the waivers desktop page
   homescreen looks weird. it looks like the kiosk's, but blurred. can you make
   more of a landing page background for the waivers link"; on 2026-09-23 the
   lake became the kiosk's alone). A real photograph of the resort, the
   steaming Rock Lake in winter (the resort's own photo, its media library's
   2048 wide copy, carried in the plugin so the page never depends on an
   attachment), covering the window at every width, cropped on the water. The
   blurred copy and the side fades above are the waiver steps' now, not this
   screen's. Over the photo, a soft dark fade: deeper at the top behind the
   white logo and line, clear through the middle where the steam is, deeper
   at the foot behind the two pills. High contrast keeps the landing sheet's
   rule (both layers display:none at (0,4,2)).
   DUEL: the landing sheet's art is body[data-screen="landing"][data-tod]
   .k-app::before (0,3,1), its day and evening veils on ::after (0,3,1) and
   (0,4,1); the mask above is (0,3,1). These are (0,4,1) and load later. */
body.chact-wv[data-screen="landing"] .wv-backdrop { display: none; }
body.chact-wv[data-screen="landing"][data-tod] .k-app::before {
  background: url('../images/waivers-rock-lake-2048.webp') center 62% / cover no-repeat;
  -webkit-mask-image: none; mask-image: none;
}
body.chact-wv[data-screen="landing"][data-tod] .k-app::after {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(8,24,42,.62) 0%, rgba(8,24,42,.46) 24%, rgba(8,24,42,.16) 46%, rgba(8,24,42,.12) 60%, rgba(8,24,42,.42) 82%, rgba(8,24,42,.62) 100%);
}

/* ── The landing. The kiosk landing's column exactly (2026-09-28): the one Sign Waiver
   pill fills it as it does on a waiver-only kiosk; only the reservation return pill,
   which the kiosk never draws, is placed here. */
body.chact-wv[data-screen="landing"] .wv-return { align-self: center; }
/* The kiosk's bar, empty (2026-09-28): 5.0625rem, the height the module logo's window gives the
   kiosk's bar, so both landings hang the same parts off the same rails; landing only, where
   the kiosk draws its bar. DUEL: the landing sheet's .k-logo-wrap is (0,3,1) with a 4.75rem
   floor; this is (0,4,1) and later. */
body.chact-wv[data-screen="landing"][data-tod] .k-logo-wrap.wv-bar { min-height: 5.0625rem; }
body.chact-wv:not([data-screen="landing"]) .wv-bar { display: none; }
@media (max-width: 650px) {
  /* the kiosk's phone band shrinks its bar to the brand mark's 3.3125rem; the empty band follows */
  body.chact-wv[data-screen="landing"][data-tod] .k-logo-wrap.wv-bar { min-height: 3.3125rem; }
}

/* ── THE PHONE FORMAT (Chena: "two good waiver formats... separate designs so
   neither has to compromise"). On a phone the kiosk's inset panel wastes a
   quarter of the glass on margins and its three line header, so the paper IS
   the screen: edge to edge, no corners, the title alone above the beads, the
   bottom row full width, the review one column, the version stamp under the
   buttons. The paged flow, the beads and every field are the kiosk's.
   A tablet keeps the kiosk's panel exactly: that is the iPad it was made for.
   DUEL: the panel rules are body[data-screen^="renderer-"] .k-screen.k-active
   (0,3,1) and the 540px band's variables (0,1,1); everything here adds
   .chact-wv, so (0,4,1) and (0,2,1), and loads later. */
@media (max-width: 767px) {
  body.chact-wv[data-screen^="renderer-"] { --k-waiver-edge: 0px; --k-waiver-inset: 1.25rem; }
  body.chact-wv[data-screen^="renderer-"] .k-screen.k-active { border: 0; border-radius: 0; box-shadow: none; min-height: 100%; }
  body.chact-wv[data-screen^="renderer-"] .k-stage { width: 100%; }
  body.chact-wv[data-screen^="renderer-"] .k-app { min-height: 100dvh; display: flex; }
  body.chact-wv[data-screen^="renderer-"] .k-cap { padding: calc(1rem + env(safe-area-inset-top, 0px)) var(--k-waiver-inset) 0; }
  body.chact-wv[data-screen^="renderer-"] .k-cap .k-cap-path,
  body.chact-wv[data-screen^="renderer-"] .k-cap .k-cap-line { display: none; }
  body.chact-wv[data-screen^="renderer-"] .k-cap .k-cap-title { font-size: 1.25rem; margin: 0; }
  body.chact-wv[data-screen^="renderer-"] .k-sheet { padding-top: .75rem; }
  body.chact-wv[data-screen^="renderer-"] .k-sheet-nav { left: 0; width: 100%; border-width: 1px 0 0; border-radius: 0; padding-left: var(--k-waiver-inset); padding-right: var(--k-waiver-inset); }
  body.chact-wv[data-screen^="renderer-"] .fhwr-skin-kiosk .fhwr-review { grid-template-columns: 1fr; }
  body.chact-wv[data-screen^="renderer-"] .fhwr-skin-kiosk .fhwr-version-footer { font-size: .6875rem; bottom: calc(var(--k-waiver-bottom) + .3rem); }
}

/* ── THE DOCK (2026-09-28, Chena: the pills "are going to be on the main home screen"
   on both surfaces): the kiosk's three pills exactly, drawn and placed by the landing
   sheet (kiosk-landing.css, its 650px band included). The 2026-09-23 one-pill centring
   that lived here is gone with the language sheet it opened. */

/* ── The sheet on a short window (a phone held sideways, a small laptop; the kiosk
   never meets one): the kiosk modal centres by auto margins and scrolls instead of
   clipping its top. DUEL: .k-modal-bg (0,1,0) align-items and .k-modal (0,1,0)
   margin; these are (0,2,0) and (0,3,0). */
body.chact-wv .k-modal-bg { overflow-y: auto; align-items: flex-start; }
body.chact-wv .k-modal-bg .k-modal { margin: auto 0; }
