/* A quiet film strip. Enhancement is opt-in; the complete HTML grid is the fallback. */
[data-video-carousel][data-video-carousel-state=ready] {
  --carousel-media-height:clamp(340px,38vw,520px);
  display:flex;
  align-items:flex-start;
  gap:clamp(18px,2.2vw,32px);
  width:100%;
  max-width:none;
  min-width:0;
  margin-inline:0;
  padding:8px 6px 20px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:6px;
  scroll-behavior:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
}
[data-video-carousel][data-video-carousel-loop=true] {
  position:relative;
  overflow-anchor:none;
  cursor:grab;
}
[data-video-carousel][data-video-carousel-loop=true] > [data-carousel-format] { z-index:1; }
[data-video-carousel][data-video-carousel-loop=true] .video-loop-space {
  flex:none;height:1px;min-height:0;pointer-events:none;
}
[data-video-carousel][data-video-carousel-loop=true] .video-loop-poster {
  position:absolute;left:0;top:8px;border-radius:12px;overflow:hidden;
  pointer-events:none;scroll-snap-align:start;user-select:none;
}
[data-video-carousel][data-video-carousel-loop=true] .video-loop-poster img {
  display:block;width:100%;height:100%;object-fit:cover;
}
[data-video-carousel][data-video-carousel-state=ready].is-dragging {
  cursor:grabbing;scroll-snap-type:none;user-select:none;
}
[data-video-carousel][data-video-carousel-state=ready]:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:6px;
  border-radius:12px;
}
[data-video-carousel][data-video-carousel-state=ready] > [data-carousel-format] {
  flex:0 0 min(92%,calc(var(--carousel-media-height) * var(--carousel-slide-ratio,1.77778)));
  width:auto;
  max-width:none;
  min-width:0;
  margin:0;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
[data-video-carousel][data-video-carousel-state=ready] > [data-carousel-format=portrait] {
  flex-basis:min(82%,calc(var(--carousel-media-height) * var(--carousel-slide-ratio,.5625)));
}
[data-video-carousel][data-video-carousel-state=ready] .video-block {
  width:100%;
  max-width:none;
  margin:0;
}
[data-video-carousel][data-video-carousel-state=ready] .video-screen {
  width:100%;
  aspect-ratio:var(--carousel-video-ratio,16/9);
  border-radius:12px;
}
[data-video-carousel][data-video-carousel-state=ready] .video-screen > img {
  object-fit:cover;
  transform:none;
  transition:none;
}
[data-video-carousel][data-video-carousel-state=ready] .video-screen:fullscreen,
[data-video-carousel][data-video-carousel-state=ready] .video-screen:-webkit-full-screen {
  width:100%;height:100%;aspect-ratio:auto;border-radius:0;
}
.video-carousel-controls {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-top:18px;
  width:100%;
  min-width:0;
  max-width:100%;
}
.video-carousel-arrow {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  flex:0 0 48px;
  color:var(--ink);
  background:transparent;
  border:1px solid var(--line);
  border-radius:50%;
  transition:background-color 160ms ease-out,border-color 160ms ease-out,transform 150ms cubic-bezier(.23,1,.32,1);
}
.video-carousel-arrow svg {
  width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.video-carousel-arrow:active:not(:disabled) { transform:scale(.96); }
.video-carousel-arrow:disabled { opacity:.35;cursor:default; }
.video-carousel-count { min-width:80px;text-align:center;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted); }
@media(hover:hover) and (pointer:fine) {
  .video-carousel-arrow:hover:not(:disabled) { background:var(--surface);border-color:var(--ink); }
}
@media(max-width:620px) {
  [data-video-carousel][data-video-carousel-state=ready] { --carousel-media-height:360px;gap:16px;padding-bottom:16px; }
  [data-video-carousel][data-video-carousel-state=ready] > [data-carousel-format=landscape] { flex-basis:92%; }
  [data-video-carousel][data-video-carousel-state=ready] > [data-carousel-format=portrait] [data-video-seek] { margin-inline:0; }
  .video-carousel-controls { margin-top:14px; }
}
@media(prefers-reduced-motion:reduce) { .video-carousel-arrow { transition:none; } }
@media print {
  [data-video-carousel][data-video-carousel-state=ready] { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;height:auto!important; }
  [data-video-carousel][data-video-carousel-state=ready] > [data-carousel-format] { width:100%!important;position:static!important;transform:none!important;break-inside:avoid; }
  [data-video-carousel] .video-loop-space,[data-video-carousel] .video-loop-poster { display:none!important; }
  .video-carousel-controls { display:none; }
}
