/* ---------- Tagesfilm: Scroll spult den Tag ---------- */
.dayfilm { position: relative; height: 240vh; background: #111; color: #F6F1E9; }
.dayfilm__sticky { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.dayfilm__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; background: #222; }
.dayfilm__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,.35) 0%, rgba(10,10,10,0) 30%, rgba(10,10,10,0) 55%, rgba(10,10,10,.6) 100%); pointer-events: none; }
.dayfilm__caps { position: absolute; left: var(--gutter); right: var(--gutter); bottom: calc(var(--s-8) + env(safe-area-inset-bottom)); margin: 0; padding: 0; list-style: none; }
.dayfilm__cap { position: absolute; left: 0; bottom: 0; max-width: 18em; opacity: 0; transform: translateY(14px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.dayfilm__cap.is-on { opacity: 1; transform: none; }
.dayfilm__time { display: block; font-family: var(--font-num); font-size: clamp(2.6rem, 1.6rem + 4vw, 5.5rem); line-height: 1; font-variant-numeric: lining-nums tabular-nums; }
.dayfilm__text { display: block; margin-top: 8px; font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--fs-d3); line-height: 1.15; }
.dayfilm__arc { position: absolute; right: var(--gutter); bottom: calc(var(--s-8) + env(safe-area-inset-bottom)); width: 120px; }
.dayfilm__arc path { fill: none; stroke: rgba(246,241,233,.5); stroke-width: 1; stroke-dasharray: 2 4; }
.dayfilm__arc circle { fill: #F2C38A; }
.dayfilm .tag { left: auto; right: 12px; top: 72px; bottom: auto; }
@media (max-width: 959px) { .dayfilm { height: 200vh; } .dayfilm__arc { width: 72px; } }
@media (prefers-reduced-motion: reduce) {
  .dayfilm { height: auto; }
  .dayfilm__sticky { position: relative; height: 80svh; }
  .dayfilm__cap { position: relative; opacity: 1; transform: none; margin-top: 16px; }
}

/* Rundgang in der Galerie */
.room--tour .room__img video { width: 100%; height: 100%; object-fit: cover; }
.room__play { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 5px 9px; border-radius: var(--r-chip); background: rgba(246,241,233,.9); color: #24211D; font-family: var(--font-label); font-size: 12px; font-weight: 500; }
