/* DW Film Carousel 2 — deluxe 3D auto-rotating carousel. Everything scoped under .dwfc */
.dwfc{--g:#F5B800;--b:#2E86DE;--ink:#04070D;--navy:#0B1426;--mute:#9AA6BC;
  position:relative;overflow:hidden;isolation:isolate;background:var(--ink);color:#fff;border-radius:20px;margin:32px 0;padding:44px 0 30px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.45;box-sizing:border-box;text-align:center}
.dwfc *,.dwfc *::before,.dwfc *::after{box-sizing:border-box}
.dwfc img{display:block;max-width:none}
.dwfc button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}

/* Backdrop: the centre film's poster, blurred */
.dwfc-glow{position:absolute;inset:-60px;z-index:-1;background-size:cover;background-position:center;filter:blur(50px) brightness(.32) saturate(1.35);transition:background-image .9s ease,opacity .9s ease}
.dwfc-glow::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(4,7,13,.15) 0%,rgba(4,7,13,.85) 70%,var(--ink) 100%)}

.dwfc-head{padding:0 24px 26px}
.dwfc-title{margin:0;font-size:clamp(24px,3.2vw,40px);font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.dwfc-title::after{content:"";display:block;width:56px;height:4px;margin:12px auto 0;border-radius:2px;background:var(--g)}
.dwfc-tagline{margin:10px 0 0;color:var(--mute);font-size:14px;letter-spacing:.06em}

/* 3D flow */
.dwfc-flow{position:relative;perspective:1600px;padding:6px 0 10px}
.dwfc-sizer{width:58%;aspect-ratio:16/9;margin:0 auto;pointer-events:none}
.dwfc-track{position:absolute;inset:6px 0 10px;transform-style:preserve-3d}
.dwfc-slide{position:absolute;left:50%;top:0;width:58%;aspect-ratio:16/9;margin-left:-29%;border-radius:16px;overflow:hidden;background:var(--navy);
  transition:transform .85s cubic-bezier(.22,.8,.2,1),opacity .85s ease,filter .85s ease,box-shadow .85s ease;will-change:transform;
  box-shadow:0 20px 50px rgba(0,0,0,.6);border:0;padding:0;color:#fff}
.dwfc-slide img{width:100%;height:100%;object-fit:cover}
.dwfc-slide.is-center{box-shadow:0 30px 80px rgba(0,0,0,.75),0 0 0 2px rgba(245,184,0,.85),0 0 60px rgba(245,184,0,.18)}
.dwfc-slide.is-side{filter:brightness(.55) saturate(.8)}
.dwfc-slide.is-side:hover{filter:brightness(.8)}
.dwfc-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:900;font-size:clamp(20px,3vw,40px);letter-spacing:.06em;color:var(--g);background:radial-gradient(circle at 50% 40%,#1b2a4d,#05080F)}
.dwfc-prev-media{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none;background:#000}
.dwfc-prev-media.is-on{opacity:1}
.dwfc-prev-media iframe,.dwfc-prev-media video{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%) scale(1.18);border:0;object-fit:cover}
.dwfc-live{position:absolute;left:14px;top:14px;z-index:3;display:none;align-items:center;gap:7px;padding:5px 10px;border-radius:6px;background:rgba(4,7,13,.75);font-size:11px;font-weight:800;letter-spacing:.14em}
.dwfc-live::before{content:"";width:8px;height:8px;border-radius:50%;background:#E5383B;animation:dwfcPulse 1.4s infinite}
.dwfc-slide.is-center.is-previewing .dwfc-live{display:inline-flex}
.dwfc-playbtn{position:absolute;left:50%;top:50%;z-index:3;width:78px;height:78px;margin:-39px 0 0 -39px;border-radius:50%;background:rgba(245,184,0,.95);
  box-shadow:0 0 0 10px rgba(245,184,0,.2),0 10px 30px rgba(0,0,0,.55);opacity:0;transform:scale(.7);transition:opacity .4s ease,transform .4s ease;pointer-events:none}
.dwfc-playbtn::after{content:"";position:absolute;left:31px;top:24px;border-style:solid;border-width:15px 0 15px 24px;border-color:transparent transparent transparent var(--ink)}
.dwfc-slide.is-center.has-video .dwfc-playbtn{opacity:1;transform:scale(1)}
.dwfc-slide.is-center.is-previewing .dwfc-playbtn{opacity:.85;transform:scale(.8)}
.dwfc-slide.is-center.has-video:hover .dwfc-playbtn{opacity:1;transform:scale(1.06)}
.dwfc-slide:focus-visible{outline:3px solid var(--b);outline-offset:4px}

.dwfc-arrow{position:absolute;top:50%;z-index:20;width:50px;height:50px;margin-top:-25px;border-radius:50%;border:0;background:rgba(4,7,13,.7);color:#fff;font-size:32px;line-height:1;
  box-shadow:0 0 0 1px rgba(255,255,255,.18);backdrop-filter:blur(6px);transition:background .2s ease,color .2s ease}
.dwfc-arrow:hover,.dwfc-arrow:focus-visible{background:var(--g);color:var(--ink)}
.dwfc-prev{left:max(10px,calc(21% - 70px))}.dwfc-next{right:max(10px,calc(21% - 70px))}

/* Info under the centre film */
.dwfc-info{max-width:760px;margin:18px auto 0;padding:0 24px;transition:opacity .4s ease,transform .4s ease}
.dwfc.is-switching .dwfc-info{opacity:0;transform:translateY(6px)}
.dwfc-meta{display:flex;justify-content:center;gap:10px;align-items:center;min-height:24px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.dwfc-badge{background:var(--g);color:var(--ink);padding:5px 10px;border-radius:6px}
.dwfc-badge:empty,.dwfc-runtime:empty{display:none}
.dwfc-runtime{color:var(--mute)}
.dwfc-info-title{margin:10px 0 0;font-size:clamp(24px,3vw,38px);line-height:1.1;font-weight:900;color:#fff}
.dwfc-info-sub{margin:6px 0 0;font-size:clamp(15px,1.5vw,19px);font-weight:600;color:var(--g)}
.dwfc-info-sub:empty{display:none}
.dwfc-info-desc{margin:10px auto 0;max-width:620px;color:#C9D2E1;font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dwfc-info-desc:empty{display:none}
.dwfc-parts,.dwfc-modal-parts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.dwfc-parts{margin-top:14px}
.dwfc-parts:empty{display:none}
.dwfc-part{border:1px solid rgba(255,255,255,.25);background:rgba(4,7,13,.4);color:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700}
.dwfc-part:hover,.dwfc-part:focus-visible,.dwfc-part.is-on{border-color:var(--g);color:var(--g)}

.dwfc-dots{display:flex;justify-content:center;gap:9px;margin-top:20px}
.dwfc-dot{width:9px;height:9px;padding:0;border:0;border-radius:5px;background:#3a4560;transition:all .3s ease}
.dwfc-dot.is-on{width:30px;background:var(--g)}
.dwfc-progress{width:min(220px,50%);height:2px;margin:14px auto 0;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
.dwfc-progress span{display:block;width:100%;height:100%;background:var(--g);transform-origin:left;transform:scaleX(0)}
.dwfc-progress.is-off{visibility:hidden}

/* Full player */
.dwfc-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:4vh 3vw;background:rgba(0,0,0,.93);animation:dwfcFade .25s ease}
.dwfc-modal[hidden]{display:none}
.dwfc-modal-box{position:relative;width:min(1280px,100%)}
.dwfc-player{position:relative;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.dwfc-player iframe,.dwfc-player video{position:absolute;inset:0;width:100%;height:100%;border:0}
.dwfc-close{position:absolute;right:0;top:-52px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:28px;line-height:1}
.dwfc-close:hover,.dwfc-close:focus-visible{background:var(--g);color:var(--ink)}
.dwfc-modal-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:14px;text-align:left}
.dwfc-modal-title{color:#fff;font-weight:800}
body.dwfc-lock{overflow:hidden}
@keyframes dwfcFade{from{opacity:0}to{opacity:1}}
@keyframes dwfcPulse{0%,100%{opacity:1}50%{opacity:.3}}

/* Phones */
@media (max-width:760px){
  .dwfc{padding:30px 0 24px;border-radius:14px;margin:20px 0}
  .dwfc-head{padding-bottom:18px}
  .dwfc-tagline{font-size:12px;padding:0 10px}
  .dwfc-flow{perspective:900px}
  .dwfc-sizer{width:80%}
  .dwfc-slide{width:80%;margin-left:-40%;border-radius:12px}
  .dwfc-arrow{display:none}
  .dwfc-playbtn{width:60px;height:60px;margin:-30px 0 0 -30px}
  .dwfc-playbtn::after{left:24px;top:18px;border-width:12px 0 12px 19px}
  .dwfc-info{margin-top:12px}
  .dwfc-info-desc{display:none}
  .dwfc-info-title{font-size:22px}
  .dwfc-info-sub{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (prefers-reduced-motion:reduce){
  .dwfc *{transition:none!important;animation:none!important}
}
