:root{
  --bg:#0a0a0f; --surface:#13131a; --surface2:#16161f; --ink:#0f0f16;
  --fg:#f0f0f5; --muted:rgba(240,240,245,.45); --accent:#e8ff47;
  --line:rgba(255,255,255,.08); --sidebar:15.5rem;
  --font-title:'Bebas Neue',sans-serif; --font-body:'DM Sans',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-weight:400}
body{padding-left:var(--sidebar)}
a{color:inherit}

.sf-sidebar{
  position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:300;
  display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--line);
}
.sf-logo{display:flex;align-items:center;gap:.6rem;padding:1.25rem 1.15rem;text-decoration:none;font-family:var(--font-title);font-size:1.5rem;letter-spacing:.04em}
.sf-mark{width:32px;height:32px;border-radius:8px;background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:1.15rem}
.sf-logo span{color:var(--accent)}
.sf-close{display:none;margin-left:auto;background:0;border:0;color:var(--muted);font-size:1.5rem;cursor:pointer}
.sf-sidebar nav{display:flex;flex-direction:column;gap:4px;padding:0 .7rem;flex:1}
.sf-nav{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border-radius:10px;color:var(--muted);text-decoration:none;font-size:.9rem}
.sf-nav:hover{background:var(--surface);color:var(--fg)}
.sf-nav.active{background:var(--accent);color:var(--bg);font-weight:500}
.sf-foot{border-top:1px solid var(--line);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}
.sf-account{display:flex;align-items:center;gap:.7rem;padding:.4rem .5rem}
.sf-av{width:36px;height:36px;border-radius:50%;background:var(--surface2);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:500}
.sf-account strong{display:block;font-size:.85rem}
.sf-account small{color:var(--muted);font-size:.72rem}
.sf-export{display:flex;align-items:center;justify-content:center;padding:.7rem;background:var(--accent);color:var(--bg);border-radius:10px;text-decoration:none;font-size:.85rem;font-weight:500}
.sf-burger{display:none;position:fixed;top:.85rem;left:.85rem;z-index:250;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);cursor:pointer;font-size:1.1rem}
.sf-overlay{display:none;position:fixed;inset:0;z-index:290;background:rgba(0,0,0,.55)}
.v2-badge{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.7;padding:0 .7rem .4rem}

@media(max-width:1024px){
  body{padding-left:0}
  .sf-sidebar{transform:translateX(-100%);transition:transform .2s}
  body.sf-menu-open .sf-sidebar{transform:none}
  body.sf-menu-open .sf-overlay{display:block}
  .sf-burger{display:flex;align-items:center;justify-content:center}
  .sf-close{display:block}
}

.topbar{display:flex;align-items:center;padding:.9rem 1.25rem;border-bottom:1px solid var(--line);background:rgba(10,10,15,.95);position:sticky;top:0;z-index:20}
.topbar-label,.topbar h1{font-family:var(--font-title);font-size:1.85rem;font-weight:400;margin:0}
.topbar p{font-size:.75rem;color:var(--muted)}
.wrap{padding:1.25rem 1.5rem 3rem}
.sf-intro{max-width:38rem;margin:0 0 1.2rem}
.sf-kicker{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem}
.sf-intro h1{font-family:var(--font-title);font-size:clamp(2rem,4vw,2.8rem);font-weight:400;line-height:.95;letter-spacing:.03em;margin:0 0 .5rem}
.sf-intro p{font-size:.95rem;line-height:1.5;color:rgba(240,240,245,.7);margin:0}
.sf-intro strong{color:var(--fg);font-weight:500}

.search{position:relative;max-width:none;margin:0 0 .9rem}
.search input{width:100%;padding:.9rem 1rem .9rem 2.6rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:400 .95rem var(--font-body);outline:0}
.search input:focus{border-color:var(--accent)}
.search svg{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);opacity:.45;pointer-events:none}

.sf-filters{margin:0 0 1.15rem}
.sf-filters-scroll{overflow:hidden}
.sf-filters-scroll .sf-filter-row{
  display:flex;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;
  scrollbar-width:thin;padding:2px 2px .45rem;
  -webkit-overflow-scrolling:touch;
}
.sf-filters-scroll .sf-chip{flex-shrink:0}
.sf-filter-block{display:flex;flex-direction:column;gap:.35rem}
.sf-filter-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sf-filter-row{display:flex;flex-wrap:wrap;gap:.4rem}
.sf-chip{
  border:1px solid var(--line);background:var(--surface);color:var(--muted);
  border-radius:999px;padding:.4rem .75rem;font:500 .78rem var(--font-body);
  cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;
}
.sf-chip:hover{color:var(--fg);border-color:rgba(232,255,71,.35)}
.sf-chip.is-on{
  background:var(--accent);color:var(--bg);border-color:var(--accent);
  box-shadow:0 0 16px rgba(232,255,71,.35);
}
.sf-chip-plat.is-on{box-shadow:0 0 14px rgba(232,255,71,.28)}

.result-card.is-dim{opacity:.28;filter:grayscale(.45);transform:none!important}
.result-card.is-dim .result-card-poster{transform:none!important;border-color:transparent!important;box-shadow:none!important}
.result-card.is-glow{z-index:5}
.result-card.is-glow .result-card-poster{
  border:2px solid var(--accent)!important;
  box-shadow:0 0 0 1px rgba(232,255,71,.3),0 0 28px rgba(232,255,71,.28),0 12px 32px rgba(0,0,0,.45)!important;
}

#results.is-loading{opacity:.45;pointer-events:none}
.results-hint{color:var(--muted);font-weight:400}
.sf-more-wrap{display:flex;justify-content:center;padding:1.4rem 0 2rem}
.sf-more{
  border:0;border-radius:999px;padding:.75rem 1.4rem;cursor:pointer;
  background:var(--accent);color:var(--bg);font:500 .9rem var(--font-body);
}
.sf-more[hidden]{display:none}
.sf-more:disabled{opacity:.6;cursor:wait}

.sf-rail{margin:0 0 1.1rem}
.sf-rail-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 .2rem}
.sf-rail-title{font-family:var(--font-title);font-size:1.5rem;font-weight:400;letter-spacing:.04em;margin:0}
.sf-rail-wrap{position:relative}
.sf-rail-track{
  display:flex;gap:.7rem;overflow-x:auto;overflow-y:hidden;
  padding:28px 48px;margin:0 -8px;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.sf-rail-track::-webkit-scrollbar{display:none;height:0}
.sf-rail-track .result-card{
  flex:0 0 154px;width:154px;scroll-snap-align:start;z-index:1;
}
.sf-rail-track .result-card.is-hover,
.sf-rail-track .result-card:hover{z-index:20}
.sf-rail-track .result-card-poster{transform:none!important}
.sf-rail-track .result-card:hover .result-card-poster,
.sf-rail-track .result-card.is-hover .result-card-poster{
  transform:scale(1.12)!important;
}
.sf-rail-track .result-card-overlay{opacity:0;transition:opacity .18s}
.sf-rail-track .result-card:hover .result-card-overlay,
.sf-rail-track .result-card.is-hover .result-card-overlay{opacity:1}
.sf-rail-btn{
  position:absolute;top:50%;z-index:60;transform:translateY(-50%);
  width:42px;height:42px;border:0;border-radius:50%;
  background:rgba(10,10,15,.9);color:#fff;font-size:1.5rem;line-height:1;
  cursor:pointer;opacity:.7;pointer-events:auto;
  box-shadow:0 4px 16px rgba(0,0,0,.45);
}
.sf-rail-prev{left:4px}
.sf-rail-next{right:4px}
.sf-rail-btn:hover{background:var(--accent);color:var(--bg);opacity:1}
@media(max-width:640px){
  .sf-rail-track{padding:16px 12px;margin:0}
  .sf-rail-track .result-card{flex-basis:128px;width:128px}
  .sf-rail-btn{width:34px;height:34px;font-size:1.2rem}
}

#results{display:block!important;width:100%!important;overflow:visible}
#results>.results-count,#results>p{display:block;font-size:.9rem;color:var(--muted);margin:0 0 .75rem}
#results>.results-count b{color:var(--fg);font-weight:500}
#results .results-list, .fiche-similar .results-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;
  gap:1.1rem .9rem!important;
  width:100%!important;
  overflow:visible!important;
  align-items:stretch;
}
@media(min-width:1000px){
  #results .results-list{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .fiche-similar .results-list{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media(max-width:640px){
  #results .results-list, .fiche-similar .results-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.85rem .6rem!important}
}

.result-card{display:block;min-width:0;cursor:pointer;color:inherit;background:transparent;border:0;position:relative;z-index:1}
.result-card-link{display:block;height:100%;text-decoration:none;color:inherit}
.result-card-poster{
  position:relative;width:100%;aspect-ratio:2/3;border-radius:12px;overflow:hidden;
  background:#1b1b26;transform:scale(1);transform-origin:center center;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  border:2px solid transparent;
}
.result-card:hover .result-card-poster,
.result-card.is-hover .result-card-poster{
  transform:scale(1.22)!important;
  border-color:var(--accent)!important;
  box-shadow:0 22px 50px rgba(0,0,0,.65)!important;
  z-index:40;
}
.result-card:hover,
.result-card.is-hover{z-index:40}
.result-card-poster img{width:100%;height:100%;object-fit:cover;display:block}
.result-card-poster::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,15,.92) 0%,rgba(10,10,15,.2) 45%,transparent 70%);pointer-events:none}
.result-card-badge{position:absolute;top:8px;left:8px;z-index:2;padding:.15rem .5rem;border-radius:999px;background:rgba(10,10,15,.75);color:#f0f0f5;font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid rgba(255,255,255,.1)}
.result-card-overlay{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;font-family:var(--font-title);font-size:1.15rem;line-height:.95;letter-spacing:.03em;color:#fff;font-weight:400}
.result-card-overlay span{display:block;margin-top:.2rem;font-family:var(--font-body);font-size:.7rem;opacity:.7;letter-spacing:0}

.result-card--hero{grid-column:span 2;grid-row:span 2}
.result-card--hero:hover .result-card-poster,
.result-card--hero.is-hover .result-card-poster{transform:scale(1.06)!important}
.result-card--hero .result-card-poster{border:2px solid var(--accent);box-shadow:0 0 0 1px rgba(232,255,71,.25),0 12px 40px rgba(0,0,0,.45)}
.result-card--hero .result-card-overlay{font-size:clamp(1.6rem,4vw,2.6rem);left:14px;right:14px;bottom:14px}
.result-card--hero .result-card-overlay span{font-size:.85rem}

.plat-ico{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#222}
.plat-ico svg{width:32px;height:32px;display:block}
.pv-plat-name{flex:1}
.pv-mode{color:var(--muted);font-size:.72rem}
.pv-chev{color:var(--muted)}
.pv-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500;margin:0 0 .45rem}

.result-preview{position:fixed;width:320px;z-index:4000;background:var(--surface2);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.55);padding:1rem;opacity:0;transform:translateY(6px);transition:opacity .16s,transform .16s}
.result-preview.show{opacity:1;transform:none}
.pv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}
.pv-title{font-size:1rem;font-weight:500;line-height:1.3}
.pv-close{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1.2rem;line-height:1}
.pv-sub{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.75rem;color:var(--muted);margin:.35rem 0 .55rem}
.pv-type{background:rgba(232,255,71,.15);color:var(--accent);padding:.05rem .4rem;border-radius:999px;font-weight:500}
.pv-note{color:var(--accent)}
.pv-synopsis{font-size:.8rem;line-height:1.4;color:rgba(240,240,245,.7);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.7rem}
.pv-plats{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}
.pv-plat-row{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border-radius:10px;background:var(--ink);border:1px solid var(--line);font-size:.78rem}
.pv-unavailable{font-size:.78rem;color:var(--muted)}
.pv-cta{display:block;text-align:center;padding:.7rem;border-radius:10px;background:var(--accent);color:var(--bg)!important;font-weight:500;font-size:.88rem;text-decoration:none}

.result-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:5000;opacity:0;transition:opacity .22s}
.result-sheet-overlay.show{opacity:1}
.result-sheet{position:fixed;left:0;right:0;bottom:0;z-index:5001;background:var(--surface2);border-radius:18px 18px 0 0;padding:.5rem 1.1rem 1.3rem;transform:translateY(110%);transition:transform .26s;max-height:78vh;overflow:auto}
.result-sheet.show{transform:none}
.result-sheet-handle{width:40px;height:4px;border-radius:99px;background:rgba(255,255,255,.2);margin:.35rem auto .5rem}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sf-fiche .topbar{display:none}
.fiche-back:hover{color:var(--accent)}
.fiche{display:grid;grid-template-columns:280px minmax(0,1fr);gap:2.2rem;align-items:start;max-width:1100px}
.fiche-poster{border-radius:18px;overflow:hidden;background:#1b1b26;aspect-ratio:2/3;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.fiche-body h1{font-size:clamp(2.6rem,5vw,4.2rem);margin:.2rem 0 .55rem}
.fiche-quiet{font-size:.8rem;color:var(--muted);margin:0 0 .85rem}
.fiche-facts{list-style:none;margin:.2rem 0 .75rem;padding:0}
.fiche-facts li{padding:.1rem 0;color:rgba(240,240,245,.88);font-size:.92rem}
.fiche-intro{font-size:1rem;line-height:1.55;max-width:38rem;margin:0 0 .9rem}
.fiche-more-resume{margin:-.3rem 0 1rem;max-width:38rem}
.fiche-more-resume summary{cursor:pointer;color:var(--accent);font-size:.85rem}
.fiche-more-resume p{margin:.55rem 0 0;color:rgba(240,240,245,.78);line-height:1.55}
.fiche-where{margin:.4rem 0 0;padding:1rem 1.05rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);max-width:36rem}
.fiche-where h2{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:0;margin:0 0 .15rem}
.fiche-plats{max-width:none}
.fiche-plat-go{background:var(--accent);color:var(--bg);border-radius:999px;padding:.38rem .8rem;font-size:.78rem;font-weight:600}
.fiche-block{
  background:rgba(16,16,22,.72);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:1rem 1.1rem 1.15rem;
}
.fiche-media{
  display:grid;
  grid-template-columns:minmax(220px,380px) minmax(0,1fr);
  gap:1.3rem 1.6rem;
  align-items:center;
  margin-top:1.15rem;
}
.fiche-media:not(:has(.fiche-trailer)){grid-template-columns:1fr}
.fiche-media:not(:has(.fiche-cast)){grid-template-columns:minmax(220px,380px)}
.fiche-media .fiche-trailer{margin:0}
.fiche-media .fiche-cast{margin:0}
.fiche-media .sf-rail-btn{display:none}
.fiche-media .fiche-cast-list{flex-wrap:wrap;overflow:visible;padding:0;gap:.7rem .55rem}
.fiche-media .fiche-cast-person,
.fiche-media a.fiche-cast-person{flex:0 0 78px;width:78px}
.fiche-media .fiche-cast-person img,
.fiche-media .fiche-cast-ph{width:72px;height:72px}
.fiche-similar.fiche-block,.fiche-faq,.fiche-cmt{
  background:rgba(16,16,22,.72);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:1rem 1.1rem 1.15rem;
}
.fiche-similar.fiche-block{margin-top:1.15rem}
@media(max-width:800px){
  .fiche-media,.fiche-media:not(:has(.fiche-cast)){grid-template-columns:1fr}
}
.fiche-cast-person img,.fiche-cast-ph{border-radius:50%}
.fiche-bc{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.78rem;color:var(--muted);margin:0 0 1.1rem}
.fiche-bc a{color:var(--muted);text-decoration:none}
.fiche-bc a:hover{color:var(--accent)}
.fiche-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.15rem 0 .85rem}
.fiche-chip{display:inline-block;padding:.22rem .55rem;border-radius:999px;border:1px solid var(--line);font-size:.72rem;color:rgba(240,240,245,.7)}
.fiche-facts{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin:0 0 1.1rem}
.fiche-facts div{min-width:7rem}
.fiche-facts dt{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fiche-facts dd{font-size:.88rem;margin:.15rem 0 0}
.fiche-intro{font-size:.98rem;line-height:1.5;color:rgba(240,240,245,.88);max-width:42rem;margin:0 0 .9rem}
.fiche-resume{margin:0 0 1.3rem;max-width:42rem}
.fiche-cast{margin:1.6rem 0 1.3rem;max-width:1100px}
.fiche-resume h2,.fiche-cast h2,.fiche-similar h2{font-family:var(--font-title);font-size:1.45rem;font-weight:400;letter-spacing:.06em;margin:0 0 .45rem}
.fiche-resume p,.fiche-cast p{font-size:.95rem;line-height:1.55;color:rgba(240,240,245,.78)}
.fiche-similar{margin:2.4rem 0 1rem;max-width:1100px}
.fiche-similar .results-count{display:none}
.fiche-poster{border-radius:18px;overflow:hidden;background:#1b1b26;aspect-ratio:2/3;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.fiche-poster img{width:100%;height:100%;object-fit:cover;display:block}
.fiche-body h1{font-family:var(--font-title);font-size:clamp(2.6rem,5vw,4.2rem);font-weight:400;line-height:.95;letter-spacing:.02em;margin:.2rem 0 .55rem}
.fiche-orig{color:var(--muted);font-size:.9rem;margin:0 0 .4rem}
.fiche-meta{font-size:.82rem;color:rgba(240,240,245,.55);margin:0 0 1rem}
.fiche-syn{font-size:.98rem;line-height:1.55;color:rgba(240,240,245,.82);max-width:40rem;margin:0 0 1.6rem}
.fiche-offer-title{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:1.15rem 0 .45rem;font-weight:600}
.fiche-plats{list-style:none;display:flex;flex-direction:column;gap:.5rem;max-width:none}
.fiche-plat{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;color:inherit}
a.fiche-plat:hover{border-color:var(--accent);box-shadow:0 0 0 1px rgba(232,255,71,.25)}
.fiche-plat-name{flex:1;font-size:.95rem}
.fiche-plat-mode{font-size:.78rem;color:var(--accent)}
.fiche-plat-chev{color:var(--muted);font-size:1.1rem}
.fiche-empty,.fiche-legal{font-size:.82rem;color:var(--muted);margin:.7rem 0 0;max-width:32rem}
@media(max-width:800px){
  .fiche{grid-template-columns:1fr;gap:1.2rem}
  .fiche-poster{max-width:220px}
}.fiche-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.15rem 0 .85rem}
.fiche-act{
  border:1px solid var(--line);background:var(--surface);color:var(--fg);
  border-radius:999px;padding:.4rem .75rem;font:500 .8rem var(--font-body);cursor:pointer;
}
.fiche-act:hover{border-color:var(--accent)}
.fiche-act.is-on{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.fiche-where-lead{font-size:.92rem;line-height:1.45;color:rgba(240,240,245,.8);margin:0 0 .4rem;max-width:40rem}
.fiche-verif{font-size:.8rem;color:var(--accent);margin:0 0 .75rem}
.fiche-more{margin:.65rem 0 0;font-size:.85rem}
.fiche-more a{color:var(--accent);text-decoration:none}
.fiche-more a:hover{text-decoration:underline}
.fiche-prime{margin:1.2rem 0 0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);max-width:28rem}
.fiche-prime p{margin:0 0 .6rem;font-size:.88rem}
.fiche-prime-btn{display:inline-block;background:var(--accent);color:var(--bg)!important;text-decoration:none;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}
.fiche-trailer{margin:2rem 0 0;max-width:none}
.fiche-trailer h2,.fiche-faq h2{font-family:var(--font-title);font-size:1.45rem;font-weight:400;letter-spacing:.06em;margin:0 0 .55rem}
.fiche-yt{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.fiche-yt iframe,.fiche-yt img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.fiche-yt-play{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#000}
.fiche-yt-btn{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:4.2rem;height:4.2rem;border-radius:50%;
  background:var(--accent);color:#111;font-size:1.4rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 30px rgba(0,0,0,.4)
}
.fiche-yt-play:hover .fiche-yt-btn{transform:translate(-50%,-50%) scale(1.06)}
.result-card-poster img,.fiche-poster img{image-rendering:auto}
.fiche-faq{margin:2.2rem 0 1rem;max-width:42rem}
.fiche-faq dt{font-weight:500;margin:1rem 0 .3rem}
.fiche-faq dd{color:rgba(240,240,245,.75);font-size:.92rem;line-height:1.5}
.fiche-cast-wrap .fiche-cast-list{padding:12px 48px}
.fiche-cast-list{display:flex;gap:.75rem;overflow-x:auto;list-style:none;padding:4px 0 10px;scrollbar-width:none}
.fiche-cast-list::-webkit-scrollbar{display:none}
a.fiche-cast-person{flex:0 0 108px;width:108px;text-align:center;font-size:.72rem;color:rgba(240,240,245,.7);text-decoration:none}
.fiche-cast-person{flex:0 0 108px;width:108px;text-align:center;font-size:.72rem;color:rgba(240,240,245,.7)}
a.fiche-cast-person:hover{color:var(--accent)}
a.fiche-cast-person:hover img{box-shadow:0 0 0 2px var(--accent)}
.fiche-cast-person img,.fiche-cast-ph{
  width:108px;height:108px;border-radius:50%;object-fit:cover;display:block;margin:0 auto .4rem;background:#1b1b26
}
.fiche-cast-ph{display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--accent)}
.fiche-cast-person strong{display:block;color:var(--fg);font-size:.78rem;font-weight:500;line-height:1.2}
.fiche-cast-person span{display:block;margin-top:.15rem;line-height:1.2;max-height:2.4em;overflow:hidden}
.actor-photo{max-width:260px}
.sf-lists{list-style:none;display:flex;flex-direction:column;gap:.9rem;max-width:46rem}
.sf-lists a{display:block;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:inherit;text-decoration:none}
.sf-lists a:hover{border-color:var(--accent)}
.sf-lists h2{font-family:var(--font-title);font-size:1.6rem;font-weight:400;margin:.35rem 0 .4rem;letter-spacing:.03em}
.sf-lists p{color:rgba(240,240,245,.7);font-size:.92rem;line-height:1.45;margin:0 0 .4rem}
.sf-lists small{color:var(--muted)}
.article-body{max-width:44rem}
.article-body h1{font-family:var(--font-title);font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:.95;margin:0 0 .6rem}
.article-content{font-size:1.08rem;line-height:1.7;color:rgba(240,240,245,.88);max-width:40rem}
.article-content p{margin:0 0 1.05rem}
.article-content a{color:var(--accent)}
.article-content h2,.article-content h3{
  font-family:var(--font-body);font-weight:600;color:var(--fg);
  margin:1.8rem 0 .65rem;line-height:1.25;letter-spacing:0
}
.article-content h2{font-size:1.28rem;padding-left:.75rem;border-left:3px solid var(--accent)}
.article-content h3{font-size:1.08rem}
.article-content ul,.article-content ol{margin:0 0 1.1rem;padding-left:1.2rem}
.article-content li{margin:.28rem 0}
.article-content img{
  display:block;max-width:100%;height:auto;border-radius:12px;margin:1.2rem 0;
  border:1px solid var(--line)
}
.article-content blockquote{
  margin:1.2rem 0;padding:.15rem 0 .15rem 1rem;
  border-left:3px solid var(--accent);color:rgba(240,240,245,.7);font-style:italic
}
.article-content iframe,.article-content video{max-width:100%;border-radius:12px;margin:1rem 0}
.article-content figure{margin:1.2rem 0}
.article-content figcaption{font-size:.78rem;color:var(--muted);margin-top:.4rem}
.mag{max-width:70rem}
.mag-head{max-width:36rem;margin:0 0 1.6rem}
.mag-head h1{font-family:var(--font-title);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:400;line-height:.9;letter-spacing:.03em;margin:0 0 .55rem}
.mag-head p{color:rgba(240,240,245,.68);font-size:1.02rem;line-height:1.5;margin:0}
.mag-back{margin:0 0 1rem}
.mag-hero{max-width:42rem;margin:0 0 1.4rem}
.mag-hero h1{font-family:var(--font-title);font-size:clamp(2.2rem,4.6vw,3.5rem);font-weight:400;line-height:.92;letter-spacing:.02em;margin:.2rem 0 .7rem}
.mag-meta{color:var(--muted);font-size:.82rem;letter-spacing:.02em}
.mag-cover{margin:0 0 1.6rem;max-width:48rem}
.mag-cover img{display:block;width:100%;height:auto;max-height:28rem;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.mag-cat{
  display:inline-block;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bg);background:var(--accent);border-radius:999px;padding:.22rem .55rem;font-weight:600
}
.mag-mosaic{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:minmax(7.2rem,auto);gap:.7rem;align-items:stretch
}
.mag-tile{
  position:relative;display:block;overflow:hidden;min-height:8.5rem;
  border:1px solid var(--line);border-radius:16px;background:#12121a;
  color:inherit;text-decoration:none;isolation:isolate
}
.mag-tile img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  transform:scale(1.02);transition:transform .35s ease
}
.mag-tile-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,10,15,.08) 20%,rgba(10,10,15,.88) 100%)
}
.mag-tile.is-plain .mag-tile-shade{background:linear-gradient(180deg,#16161f 0%,#101018 100%)}
.mag-tile-body{
  position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
  gap:.4rem;padding:1rem 1.05rem 1.05rem
}
.mag-tile h2{
  font-family:var(--font-body);font-weight:600;line-height:1.22;margin:0;letter-spacing:-.015em;
  text-shadow:0 1px 12px rgba(0,0,0,.55)
}
.mag-tile p{margin:0;color:rgba(240,240,245,.78);font-size:.88rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mag-tile small{color:rgba(240,240,245,.55);font-size:.72rem}
.mag-tile:hover{border-color:rgba(232,255,71,.5)}
.mag-tile:hover img{transform:scale(1.06)}
.mag-tile--hero{grid-column:span 4;grid-row:span 2;min-height:20rem}
.mag-tile--hero h2{font-size:clamp(1.35rem,2.4vw,2rem)}
.mag-tile--hero p{-webkit-line-clamp:3}
.mag-tile--tall{grid-column:span 2;grid-row:span 2;min-height:20rem}
.mag-tile--tall h2{font-size:1.15rem}
.mag-tile--wide{grid-column:span 4;grid-row:span 1;min-height:10.5rem}
.mag-tile--wide h2{font-size:1.15rem}
.mag-tile--md{grid-column:span 3;grid-row:span 1;min-height:11rem}
.mag-tile--md h2{font-size:1.05rem}
.mag-tile--sm{grid-column:span 2;grid-row:span 1;min-height:10.5rem}
.mag-tile--sm h2{font-size:.98rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mag-feat{
  display:grid;grid-template-columns:1.15fr .95fr;gap:0;
  border:1px solid var(--line);border-radius:18px;background:var(--surface);
  text-decoration:none;color:inherit;margin:0 0 1.4rem;min-height:16rem;align-items:stretch
}
.mag-feat img{width:100%;height:100%;object-fit:cover;min-height:16rem;display:block}
.mag-feat-body{padding:1.4rem 1.5rem;display:flex;flex-direction:column;justify-content:center;gap:.55rem}
.mag-feat h2{font-family:var(--font-body);font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:600;line-height:1.2;margin:0;letter-spacing:-.01em}
.mag-feat p{margin:0;color:rgba(240,240,245,.7);font-size:.95rem;line-height:1.5}
.mag-feat small,.mag-card small{color:var(--muted);font-size:.75rem}
.mag-feat:hover,.mag-card:hover{border-color:rgba(232,255,71,.45)}
.mag-feat.is-plain,.mag-card.is-plain{grid-template-columns:1fr}
.mag-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.mag-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.4rem}
.mag-card{
  display:flex;flex-direction:column;height:100%;overflow:hidden;
  border:1px solid var(--line);border-radius:16px;background:var(--surface);
  text-decoration:none;color:inherit
}
.mag-card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:#111}
.mag-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.mag-card-body{display:flex;flex-direction:column;gap:.4rem;padding:.95rem 1rem 1.05rem;flex:1}
.mag-card h2{font-family:var(--font-body);font-size:1.05rem;font-weight:600;line-height:1.3;margin:0;letter-spacing:-.01em}
.mag-card p{margin:0;color:rgba(240,240,245,.62);font-size:.86rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mag-more{margin:2.8rem 0 0;padding-top:1.6rem;border-top:1px solid var(--line);max-width:none}
.mag-more h2{font-family:var(--font-title);font-size:1.7rem;font-weight:400;letter-spacing:.04em;margin:0 0 1rem}
.mag-read .article-content{margin:0 auto 0 0}
@media(max-width:900px){
  .mag-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(8rem,auto)}
  .mag-tile--hero{grid-column:span 2;grid-row:span 2;min-height:16rem}
  .mag-tile--tall,.mag-tile--wide,.mag-tile--md,.mag-tile--sm{grid-column:span 1;grid-row:span 1;min-height:12rem}
  .mag-tile--wide{grid-column:span 2}
  .mag-feat{grid-template-columns:1fr}
  .mag-feat img{min-height:12rem;max-height:14rem}
  .mag-grid,.mag-grid-3{grid-template-columns:1fr}
}
@media(max-width:560px){
  .mag-mosaic{grid-template-columns:1fr}
  .mag-tile--hero,.mag-tile--tall,.mag-tile--wide,.mag-tile--md,.mag-tile--sm{grid-column:span 1;min-height:12.5rem}
  .mag-tile--hero{min-height:16rem}
}
.sf-auth{max-width:24rem;display:flex;flex-direction:column;gap:.75rem}
.sf-auth label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted)}
.sf-auth input{background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:.65rem .8rem;font:inherit}
.sf-auth button{background:var(--accent);color:var(--bg);border:0;border-radius:999px;padding:.7rem 1rem;font-weight:600;cursor:pointer}
.sf-plat-hub{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;padding:0;margin:0}
.sf-plat-hub a{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:inherit;text-decoration:none}
.sf-plat-hub a:hover{border-color:var(--accent)}
.sf-plat-hub strong{display:block;font-size:1rem}
.sf-plat-hub small{color:var(--muted)}
.sf-plat-intro{color:rgba(240,240,245,.72);max-width:40rem;margin:0 0 1rem;font-size:.95rem;line-height:1.45}
.sf-plat-lead{margin:0 0 .6rem}
.fiche-cmt{margin:2.2rem 0 1rem;max-width:42rem}
.fiche-cmt h2{font-family:var(--font-title);font-size:1.8rem;font-weight:400;letter-spacing:.03em;margin:0 0 .8rem}
.fiche-cmt-form{display:flex;flex-direction:column;gap:.6rem;margin:0 0 1.2rem}
.fiche-cmt-form textarea{background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:12px;padding:.8rem .9rem;font:inherit;resize:vertical;min-height:5rem}
.fiche-cmt-form button{align-self:flex-start;background:var(--accent);color:var(--bg);border:0;border-radius:999px;padding:.55rem 1.1rem;font-weight:600;cursor:pointer}
.fiche-cmt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}
.fiche-cmt-list li{padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.fiche-cmt-meta{color:var(--muted);font-size:.78rem;margin:0 0 .35rem}
.fiche-cmt-list p{margin:0;line-height:1.45;color:rgba(240,240,245,.86)}
.fiche-cmt-ok{color:#b7f071;margin:0 0 .7rem}
.fiche-cmt-err{color:#ff8d8d;margin:0 0 .7rem}
.fiche-cmt-login{color:var(--muted);margin:0 0 1rem}
.fiche-cmt-login a{color:var(--accent)}

.sf-fiche .fiche,
.sf-fiche .fiche-media,
.sf-fiche .fiche-similar,
.sf-fiche .fiche-faq,
.sf-fiche .fiche-cmt{
  max-width:none !important;
  width:100%;
  margin-left:0;
  margin-right:0;
  box-sizing:border-box;
}
.sf-fiche .fiche-similar,
.sf-fiche .fiche-faq,
.sf-fiche .fiche-cmt{margin-top:1.15rem}
.sf-fiche .fiche-where,
.sf-fiche .fiche-prime{max-width:none;width:100%}
.sf-fiche .fiche-media.fiche-block{
  background:transparent;
  border:0;
  padding:0;
  border-radius:0;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
}
.sf-home .sf-rail,
.sf-home .home-tools{
  background:rgba(16,16,22,.72);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  width:100%;
  box-sizing:border-box;
  padding:.9rem 1rem 1rem;
  margin:0 0 1rem;
}
.sf-home .home-tools .search,
.sf-home .home-tools .sf-filters{margin:0}
.sf-home .home-tools .sf-filters{margin-top:.75rem}
.sf-home .sf-hero{margin:0 0 1rem}
.sf-fiche .fiche-media .fiche-trailer,
.sf-fiche .fiche-media .fiche-cast{
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(255,255,255,.03);
  padding:.9rem 1rem;
  min-height:100%;
  box-sizing:border-box;
}
@media(max-width:800px){
  .sf-fiche .fiche-media,
  .sf-fiche .fiche-media.fiche-block{grid-template-columns:1fr}
}
@media(max-width:1024px){
  .sf-home .wrap{padding-top:4.4rem}
  .sf-fiche .wrap{padding-top:4.4rem}
  .sf-fiche .fiche-bc{padding-left:3.2rem}
  .sf-home .home-tools .sf-filters-scroll{overflow:visible}
  .topbar{padding-left:4.4rem}
  body:not(.sf-home):not(.sf-fiche) .wrap{padding-top:4.4rem}
  .result-card--hero{grid-column:auto;grid-row:auto}
}