/* AI Videos v6.9 overrides */
:root{ --film-speed: 10s; }                 /* desktop */
@media (max-width: 1024px){ :root{ --film-speed: 8s; } }  /* tablet */
@media (max-width: 640px){  :root{ --film-speed: 6s; } }  /* phone */

/* Keep yellow dots below rails so they never escape */
.hero::before, .hero::after,
.filmstrip-edge::before, .filmstrip-edge::after{ z-index: 5 !important; }
#aivideos-hero, #aivideos-hero canvas, #aivideos-hero > *{ z-index: 2; position: relative; }

/* Ensure inner page content is not hidden by sticky header on mobile */
@media (max-width: 768px){
  body:not(.home) main{ padding-top: calc(var(--header-h, 56px) + 16px); }
}

/* Gallery (features strip and dedicated page) */
.gallery-scroll{ display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:8px 2px; }
.gallery-item{ flex:0 0 auto; width:min(300px,80vw); border-radius:16px; overflow:hidden; background:#111; border:1px solid rgba(255,255,255,.08); scroll-snap-align:start; }
.gallery-item .thumb{ aspect-ratio:16/9; background:#222; display:block; }
.gallery-item .cap{ padding:10px 12px; font-weight:700; font-size:15px; color:#fff; }

/* Dedicated gallery grid */
.gallery-grid{ --min: 280px; display:grid; grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr)); gap:18px; }
.gallery-grid .card{ background:#0f0f0f; border:1px solid rgba(255,255,255,.08); border-radius:16px; overflow:hidden; }
.gallery-grid .card iframe{ display:block; width:100%; aspect-ratio:16/9; border:0; }
.gallery-grid .card .meta{ padding:10px 12px; font-weight:700; color:#fff; font-size:15px; }
