.bpf-filmo{--bpf-or:#d4af5a;--bpf-or2:#e6c86a;--bpf-bg:#0f0f14;--bpf-bg2:#16161d;--bpf-line:#2a2a33;--bpf-txt:#e5e2d8;--bpf-mute:#8a8678;background:var(--bpf-bg);color:var(--bpf-txt);padding:0 0 56px}
.bpf-filmo *{box-sizing:border-box}
.bpf-filmo button{font-family:inherit;text-transform:none;box-shadow:none;margin:0}
.bpf-filmo .bpf-hero{position:relative;width:100%;aspect-ratio:16/9;max-height:78vh;overflow:hidden;background:#000}
.bpf-filmo .bpf-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bpf-filmo .bpf-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,14,.92) 0%,rgba(10,10,14,.6) 40%,rgba(10,10,14,0) 75%),linear-gradient(0deg,#0f0f14 0%,rgba(15,15,20,0) 30%)}
.bpf-filmo .bpf-hero-txt{position:absolute;z-index:2;left:6%;bottom:12%;max-width:540px}
.bpf-filmo .bpf-kicker{display:inline-block;color:var(--bpf-or);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;margin-bottom:10px}
.bpf-filmo .bpf-hero-t{margin:0 0 8px;font-size:clamp(28px,4vw,52px);line-height:1.05;color:#fff;font-weight:700}
.bpf-filmo .bpf-meta{margin:0;color:var(--bpf-mute);font-size:14px;line-height:1.4}
.bpf-filmo .bpf-prix{margin:8px 0 0;color:var(--bpf-or2);font-size:14px}
.bpf-filmo .bpf-syn{margin:14px 0 0;font-size:15px;line-height:1.55;color:var(--bpf-txt);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bpf-filmo .bpf-hero-btns{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.bpf-filmo .bpf-btn{cursor:pointer;border:1px solid var(--bpf-or);background:transparent;color:var(--bpf-or);padding:11px 22px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1.2;transition:background .2s,filter .2s}
.bpf-filmo .bpf-btn:hover{background:rgba(212,175,90,.12)}
.bpf-filmo .bpf-btn-gold,.bpf-filmo .bpf-btn-gold:hover{background:linear-gradient(180deg,#e6c86a,#d4af5a);color:#16161d}
.bpf-filmo .bpf-btn-gold:hover{filter:brightness(1.08)}
.bpf-filmo .bpf-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:34px 16px 28px}
.bpf-filmo .bpf-pill{cursor:pointer;background:var(--bpf-bg2);border:1px solid var(--bpf-line);color:var(--bpf-txt);padding:8px 18px;border-radius:999px;font-size:14px;line-height:1.2;transition:border-color .2s,background .2s}
.bpf-filmo .bpf-pill span{color:var(--bpf-mute);margin-left:8px;font-size:12px}
.bpf-filmo .bpf-pill:hover{border-color:var(--bpf-or)}
.bpf-filmo .bpf-pill.is-on{background:var(--bpf-or);border-color:var(--bpf-or);color:#16161d}
.bpf-filmo .bpf-pill.is-on span{color:#16161d}
.bpf-filmo .bpf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;max-width:1400px;margin:0 auto;padding:0 24px}
.bpf-filmo .bpf-card{cursor:pointer;outline:none}
.bpf-filmo .bpf-card.is-off{display:none}
.bpf-filmo .bpf-card-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bpf-bg2);border-radius:4px}
.bpf-filmo .bpf-card-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82);transition:transform .5s,filter .3s}
.bpf-filmo .bpf-card:hover .bpf-card-img img,.bpf-filmo .bpf-card:focus-visible .bpf-card-img img{transform:scale(1.04);filter:brightness(.55)}
.bpf-filmo .bpf-play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:rgba(212,175,90,.92);color:#16161d;display:flex;align-items:center;justify-content:center;font-size:22px;padding-left:4px;opacity:0;transform:scale(.8);transition:opacity .25s,transform .25s}
.bpf-filmo .bpf-card:hover .bpf-play,.bpf-filmo .bpf-card:focus-visible .bpf-play{opacity:1;transform:scale(1)}
.bpf-filmo .bpf-badge{position:absolute;top:10px;font-size:11px;line-height:1;padding:5px 9px;border-radius:999px;background:rgba(15,15,20,.82);border:1px solid var(--bpf-line);color:var(--bpf-txt)}
.bpf-filmo .bpf-badge-prix{left:10px}
.bpf-filmo .bpf-badge-full{right:10px;color:var(--bpf-or)}
.bpf-filmo .bpf-card-txt{padding:12px 2px 0}
.bpf-filmo .bpf-card-txt h3{margin:0 0 4px;font-size:17px;line-height:1.25;color:#fff;font-weight:600}
.bpf-filmo .bpf-roles{margin:5px 0 0;color:var(--bpf-or);font-size:12px;letter-spacing:.04em}
.bpf-filmo .bpf-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--bpf-mute);padding:10px;text-align:center}
.bpf-filmo.bpf-empty{padding:60px 20px;text-align:center}
@media(max-width:700px){
.bpf-filmo .bpf-hero{aspect-ratio:auto;min-height:520px;max-height:none}
.bpf-filmo .bpf-hero::after{background:linear-gradient(0deg,rgba(10,10,14,.96) 0%,rgba(10,10,14,.55) 55%,rgba(10,10,14,.15) 100%)}
.bpf-filmo .bpf-hero-txt{left:16px;right:16px;bottom:24px}
.bpf-filmo .bpf-grid{padding:0 16px;gap:22px;grid-template-columns:1fr}
.bpf-filmo .bpf-play{opacity:1;transform:scale(1);width:50px;height:50px;margin:-25px 0 0 -25px}
}
/* ---------- Overlay player ---------- */
html.bpf-lock,html.bpf-lock body{overflow:hidden}
.bpf-ov{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(8,8,12,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#e5e2d8}
.bpf-ov.is-open{display:flex;animation:bpfFade .25s ease}
@keyframes bpfFade{from{opacity:0}to{opacity:1}}
.bpf-ov *{box-sizing:border-box}
.bpf-ov-box{position:relative;width:100%;max-width:1100px;max-height:100%;overflow-y:auto;background:#16161d;border:1px solid #2a2a33;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.bpf-ov .bpf-ov-close{position:absolute;top:10px;right:10px;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid #2a2a33;background:rgba(15,15,20,.85);color:#e5e2d8;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;font-family:inherit;box-shadow:none}
.bpf-ov .bpf-ov-close:hover{border-color:#d4af5a;color:#d4af5a}
.bpf-ov-player{position:relative;aspect-ratio:16/9;background:#000}
.bpf-ov-player video,.bpf-ov-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.bpf-ov-body{padding:20px 26px 26px}
.bpf-ov-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.bpf-ov .bpf-ov-tab{cursor:pointer;background:transparent;border:1px solid #d4af5a;color:#d4af5a;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:600;font-family:inherit;line-height:1.2;margin:0;text-transform:none;box-shadow:none}
.bpf-ov .bpf-ov-tab.is-on{background:linear-gradient(180deg,#e6c86a,#d4af5a);color:#16161d}
.bpf-ov .bpf-ov-t{margin:0 0 6px;font-size:26px;line-height:1.15;color:#fff;font-weight:700}
.bpf-ov .bpf-ov-meta{margin:0;color:#8a8678;font-size:14px}
.bpf-ov .bpf-ov-prix{margin:8px 0 0;color:#e6c86a;font-size:14px}
.bpf-ov .bpf-ov-roles{margin:6px 0 0;color:#d4af5a;font-size:12px;letter-spacing:.04em}
.bpf-ov .bpf-ov-syn{margin:14px 0 0;font-size:15px;line-height:1.6;color:#e5e2d8;white-space:pre-line}
@media(max-width:700px){
.bpf-ov{padding:0}
.bpf-ov-box{height:100%;max-height:100vh;border-radius:0;border:0}
.bpf-ov-body{padding:16px}
.bpf-ov .bpf-ov-t{font-size:21px}
}
/* ---------- Masque l'overlay événementiel (ByPass Overlay) pendant un film ---------- */
html.bpf-lock #bpov-layer,html.bpf-lock #bpov-assets-layer,html.bpf-lock #bpov-dismiss{visibility:hidden!important;opacity:0!important}
/* ---------- Bandeau commercial overlay ---------- */
.bpf-ov .bpf-ov-cta{margin-top:22px;padding:18px 20px;background:#101017;border:1px solid #2a2a33;border-left:3px solid #d4af5a;border-radius:4px}
.bpf-ov .bpf-ov-cta-t{margin:0;color:#fff;font-size:17px;font-weight:600;line-height:1.3}
.bpf-ov .bpf-ov-cta-s{margin:4px 0 0;color:#8a8678;font-size:13px;line-height:1.4}
.bpf-ov .bpf-ov-cta-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.bpf-ov a.bpf-ov-cta-a{display:inline-block;text-decoration:none;border:1px solid #d4af5a;color:#d4af5a;background:transparent;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:600;line-height:1.2;transition:background .2s,filter .2s}
.bpf-ov a.bpf-ov-cta-a:hover{background:rgba(212,175,90,.12);color:#d4af5a}
.bpf-ov a.bpf-ov-cta-gold,.bpf-ov a.bpf-ov-cta-gold:hover{background:linear-gradient(180deg,#e6c86a,#d4af5a);color:#16161d}
.bpf-ov a.bpf-ov-cta-gold:hover{filter:brightness(1.08)}
/* ---------- Player vidéo maison ---------- */
.bpf-vp{position:absolute;inset:0;background:#000;overflow:hidden;outline:none;user-select:none;-webkit-user-select:none}
.bpf-vp video{position:absolute;inset:0;width:100%;height:100%;display:block;background:#000;object-fit:contain;cursor:pointer}
.bpf-vp:not(.is-ui):not(.is-paused),.bpf-vp:not(.is-ui):not(.is-paused) video{cursor:none}
.bpf-vp .bpf-vp-btn{background:transparent;border:0;padding:0;margin:0;cursor:pointer;color:#e5e2d8;display:flex;align-items:center;justify-content:center;box-shadow:none;line-height:1;font-family:inherit;text-transform:none;min-width:0;width:auto;height:auto}
.bpf-vp .bpf-vp-btn svg{width:22px;height:22px;fill:currentColor;display:block}
.bpf-vp .bpf-vp-btn:hover{color:#d4af5a;background:transparent}
.bpf-vp .bpf-vp-big{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:rgba(212,175,90,.94);color:#16161d;box-shadow:0 10px 40px rgba(0,0,0,.5);transition:transform .2s,opacity .25s;z-index:3}
.bpf-vp .bpf-vp-big svg{width:36px;height:36px;margin-left:5px}
.bpf-vp .bpf-vp-big:hover{transform:scale(1.07);color:#16161d;background:rgba(230,200,106,.97)}
.bpf-vp:not(.is-paused) .bpf-vp-big{opacity:0;pointer-events:none;transform:scale(.85)}
.bpf-vp-bar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:center;gap:14px;padding:30px 16px 12px;background:linear-gradient(0deg,rgba(8,8,12,.88),rgba(8,8,12,0));transition:opacity .3s}
.bpf-vp:not(.is-ui):not(.is-paused) .bpf-vp-bar{opacity:0;pointer-events:none}
.bpf-vp-prog{position:relative;flex:1;height:18px;cursor:pointer;touch-action:none}
.bpf-vp-prog::before,.bpf-vp-buf,.bpf-vp-fill{content:"";position:absolute;left:0;top:50%;height:4px;margin-top:-2px;border-radius:2px;transition:height .15s,margin .15s}
.bpf-vp-prog::before{right:0;background:rgba(229,226,216,.18)}
.bpf-vp-buf{width:0;background:rgba(229,226,216,.32)}
.bpf-vp-fill{width:0;background:linear-gradient(90deg,#e6c86a,#d4af5a)}
.bpf-vp-thumb{position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#e6c86a;box-shadow:0 0 0 4px rgba(212,175,90,.25);transform:scale(0);transition:transform .15s}
.bpf-vp-prog:hover .bpf-vp-thumb{transform:scale(1)}
.bpf-vp-prog:hover::before,.bpf-vp-prog:hover .bpf-vp-buf,.bpf-vp-prog:hover .bpf-vp-fill{height:6px;margin-top:-3px}
.bpf-vp-time{color:#e5e2d8;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:84px;text-align:right}
.bpf-vp-vol{position:relative;width:70px;height:18px;cursor:pointer;touch-action:none}
.bpf-vp-vol::before,.bpf-vp-volfill{content:"";position:absolute;left:0;top:50%;height:4px;margin-top:-2px;border-radius:2px}
.bpf-vp-vol::before{right:0;background:rgba(229,226,216,.18)}
.bpf-vp-volfill{width:100%;background:#d4af5a}
.bpf-vp-spin{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:3px solid rgba(212,175,90,.25);border-top-color:#d4af5a;animation:bpfSpin .8s linear infinite;display:none;z-index:2}
.bpf-vp.is-wait .bpf-vp-spin{display:block}
@keyframes bpfSpin{to{transform:rotate(360deg)}}
.bpf-vp:fullscreen{width:100%;height:100%}
@media(max-width:700px){
.bpf-vp-vol{display:none}
.bpf-vp-bar{gap:10px;padding:24px 10px 8px}
.bpf-vp .bpf-vp-big{width:68px;height:68px;margin:-34px 0 0 -34px}
.bpf-vp-time{min-width:0;font-size:12px}
}
/* ---------- Fondu au noir ---------- */
.bpf-vp-black{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:1}