/* AI FILMS — self-hosted showcase built on the 3D Studio components (studio3d.css) */
.flm{border-top-color:rgba(210,255,0,.12)}
.flm-backdrop{position:absolute;inset:-40px;background:center/cover no-repeat;filter:blur(36px) brightness(.45) saturate(1.2);opacity:0;transition:opacity .5s ease}
.flm-stage.is-portrait .flm-backdrop{opacity:1}
.flm-stage.is-portrait .s3d-screen{object-fit:contain}
.flm-reels{grid-template-columns:repeat(3,minmax(0,1fr))}
.flm-reel img{aspect-ratio:16/9;object-fit:cover}
.flm-reel.is-portrait img{object-fit:contain;background:#050704}
.flm-badge{display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid rgba(210,255,0,.5);border-radius:6px;font-size:.66rem;letter-spacing:.08em;color:var(--color-accent);vertical-align:middle}
#flmModalVideo{display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px}
.flm-modal.is-portrait .s3d-modal-box{width:min(620px,100%)}
.flm-modal.is-portrait #flmModalVideo{aspect-ratio:9/16;max-height:76vh;width:auto;margin:0 auto}
@media(max-width:700px){.flm-reels{display:flex}}
.flm .s3d-rec{display:none}              /* certains films ont déjà leur signature en haut à gauche */
.flm-filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto var(--space-lg)}
.flm-filter{padding:9px 18px;border-radius:100px;border:1px solid rgba(235,238,224,.2);color:var(--color-text-secondary);font-size:.85rem;letter-spacing:.04em;transition:border-color .25s,background .25s,color .25s}
.flm-filter:hover{border-color:rgba(210,255,0,.6);color:var(--color-text)}
.flm-filter.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg);font-weight:600}
.flm-filter:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.flm-reel[hidden]{display:none}

.flm-stage{cursor:pointer}
