:root{--sfp-gold:#d8b64f;--sfp-gold-2:#f3d774;--sfp-bg:#050505;--sfp-bg-soft:#0b0b0a;--sfp-card:#0e0e0d;--sfp-line:rgba(216,182,79,.24);--sfp-white:#f7f4ed;--sfp-muted:#aaa69d}
.sfp-hero,.sfp-sidebar,.sfp-content-shell,.sfp-hero *,.sfp-sidebar *,.sfp-content-shell *{box-sizing:border-box}
.sfp-hero{position:relative;min-height:clamp(560px,78vh,860px);display:flex;align-items:flex-end;overflow:hidden;background:#050505;color:#fff;isolation:isolate}
.sfp-hero-media{position:absolute;inset:-2%;z-index:-4;background:var(--sfp-banner) center 24%/cover no-repeat;transform:scale(1.015);filter:saturate(.88) contrast(1.04)}
.sfp-hero.no-banner .sfp-hero-media{background:radial-gradient(circle at 70% 30%,rgba(216,182,79,.14),transparent 28%),linear-gradient(120deg,#11100d,#050505 46%,#090806)}
.sfp-hero-overlay{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.82) 25%,rgba(0,0,0,.38) 53%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.58) 100%),linear-gradient(0deg,#050505 0%,rgba(5,5,5,.80) 9%,rgba(5,5,5,.12) 44%,rgba(5,5,5,.06) 78%,rgba(5,5,5,.30) 100%)}
.sfp-hero::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(216,182,79,.45),transparent)}
.sfp-hero-grain{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.16;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.16) 0 1px,transparent 1.2px),radial-gradient(circle at 80% 60%,rgba(255,255,255,.12) 0 1px,transparent 1.2px);background-size:7px 7px,9px 9px;mix-blend-mode:soft-light}
.sfp-hero-inner{position:relative;width:min(1240px,calc(100% - 64px));margin:0 auto;padding:0 0 clamp(66px,8vw,105px);z-index:2}
.sfp-hero-copy{width:min(660px,100%)}
.sfp-hero-kicker{display:flex;align-items:center;gap:14px;margin-bottom:26px;color:var(--sfp-gold-2);font-size:10px;font-weight:900;letter-spacing:.24em}.sfp-hero-kicker i{display:block;width:44px;height:1px;background:var(--sfp-gold)}
.sfp-movie-logo{display:block;max-width:min(560px,92%);max-height:190px;width:auto;height:auto;object-fit:contain;object-position:left center;margin:0 0 26px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.44))}
.sfp-movie-title{font-size:clamp(48px,7.2vw,104px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;color:var(--sfp-white);margin:0 0 28px;font-weight:900;text-wrap:balance}
.sfp-meta{display:flex;flex-wrap:wrap;gap:0;margin:0 0 25px}.sfp-meta span{display:flex;align-items:center;font-size:13px;font-weight:800;color:#fff}.sfp-meta span:not(:last-child)::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--sfp-gold);margin:0 14px}
.sfp-hero-description{font-size:clamp(15px,1.35vw,19px);line-height:1.72;color:#dedbd2;margin:0;max-width:620px;text-wrap:pretty}
.sfp-hero-foot{display:flex;align-items:center;gap:14px;margin-top:30px;color:#7f7a70;font-size:9px;font-weight:900;letter-spacing:.2em}.sfp-hero-foot b{display:block;flex:1;max-width:120px;height:1px;background:linear-gradient(90deg,var(--sfp-gold),transparent)}
.sfp-content-shell{width:min(1240px,calc(100% - 64px));margin:0 auto;padding:76px 0 110px;display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:78px;background:#050505;color:#e8e6df}
.sfp-article-content{font-size:17px;line-height:1.92;color:#c9c6bd}.sfp-article-content>p:first-child{font-size:20px;line-height:1.75;color:#e4e1d8}.sfp-article-content h2,.sfp-article-content h3,.sfp-article-content h4{color:#fff;letter-spacing:-.02em}.sfp-article-content h2{font-size:clamp(32px,4vw,54px);line-height:1.04;margin-top:1.2em}.sfp-article-content a{color:var(--sfp-gold-2)}
.sfp-sidebar{display:flex;flex-direction:column;gap:24px;align-self:start;position:relative}
.sfp-poster-card,.sfp-trailer-card,.sfp-community-card{margin:0;border:1px solid rgba(255,255,255,.075);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),#090909;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.sfp-poster-card{padding:14px}.sfp-poster-label{display:block;padding:2px 4px 11px;color:var(--sfp-gold);font-size:8px;font-weight:900;letter-spacing:.22em}.sfp-poster-frame{overflow:hidden;border-radius:14px;background:#050505;box-shadow:0 16px 40px rgba(0,0,0,.32)}.sfp-poster-frame img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:#060606}
.sfp-trailer-card,.sfp-community-card{padding:24px}.sfp-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sfp-card-head i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(216,182,79,.35);color:var(--sfp-gold);font-size:10px;font-style:normal}.sfp-eyebrow{display:block;font-size:9px;line-height:1;font-weight:900;letter-spacing:.24em;color:var(--sfp-gold)}
.sfp-trailer-card h3,.sfp-community-card h3{margin:0 0 18px;color:#fff;font-size:clamp(23px,2vw,30px);line-height:1.04;letter-spacing:-.03em}.sfp-video-wrap{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 14px 34px rgba(0,0,0,.28)}.sfp-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sfp-community-card{position:relative;background:radial-gradient(circle at 90% 0%,rgba(216,182,79,.15),transparent 36%),linear-gradient(180deg,#10100e,#080808)}.sfp-community-card::after{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--sfp-gold),transparent);opacity:.6}.sfp-community-card p{margin:0 0 21px;color:#aaa69d;font-size:13px;line-height:1.68}
.sfp-whatsapp-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 17px;border:1px solid rgba(216,182,79,.5);border-radius:999px;background:linear-gradient(90deg,#cfaa46,#efd36f);color:#080808!important;font-size:10px;font-weight:900;letter-spacing:.12em;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}.sfp-whatsapp-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(216,182,79,.14);color:#080808!important}.sfp-whatsapp-btn b{font-size:17px;font-weight:800}
.sfp-sidebar>.sfp-meta{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#0c0c0b}
@media(max-width:980px){.sfp-content-shell{grid-template-columns:minmax(0,1fr) 320px;gap:44px}.sfp-hero-inner,.sfp-content-shell{width:min(100% - 44px,1180px)}}
@media(max-width:820px){.sfp-content-shell{grid-template-columns:1fr;gap:44px}.sfp-sidebar{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start}.sfp-poster-card{grid-row:1 / span 2}.sfp-trailer-card,.sfp-community-card{grid-column:2}.sfp-hero{min-height:680px}.sfp-hero-overlay{background:linear-gradient(0deg,#050505 1%,rgba(5,5,5,.91) 23%,rgba(5,5,5,.38) 56%,rgba(5,5,5,.16) 82%,rgba(5,5,5,.32) 100%),linear-gradient(90deg,rgba(0,0,0,.48),transparent 70%)}}
@media(max-width:680px){.sfp-hero{min-height:650px;align-items:flex-end}.sfp-hero-media{background-position:center top}.sfp-hero-inner{width:calc(100% - 32px);padding-bottom:46px}.sfp-hero-kicker{font-size:8px;margin-bottom:20px}.sfp-hero-kicker i{width:30px}.sfp-movie-logo{max-width:88%;max-height:118px;margin-bottom:22px}.sfp-movie-title{font-size:46px;line-height:.93;margin-bottom:22px}.sfp-meta{margin-bottom:18px}.sfp-meta span{font-size:11px}.sfp-meta span:not(:last-child)::after{margin:0 9px;width:4px;height:4px}.sfp-hero-description{font-size:14px;line-height:1.67}.sfp-hero-foot{margin-top:24px}.sfp-content-shell{width:calc(100% - 32px);padding:44px 0 66px}.sfp-sidebar{display:flex}.sfp-poster-card{width:min(320px,100%);margin-inline:auto}.sfp-community-card,.sfp-trailer-card{grid-column:auto}.sfp-article-content{font-size:16px}.sfp-article-content>p:first-child{font-size:18px}}

/* v1.1.1 — Corrección del trailer en móviles.
   En <=820px el sidebar usa align-items:start para el grid de tablet.
   Al cambiar a flex en <=680px ese valor seguía activo y las tarjetas
   se encogían a su ancho mínimo. En móvil restauramos stretch y damos
   al reproductor toda la anchura disponible. */
@media(max-width:680px){
  .sfp-sidebar{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    min-width:0;
  }
  .sfp-sidebar>.sfp-trailer-card,
  .sfp-sidebar>.sfp-community-card{
    width:100%;
    max-width:none;
    min-width:0;
    flex:0 0 auto;
    align-self:stretch;
  }
  .sfp-trailer-card{
    position:relative;
    z-index:5;
    padding:20px;
  }
  .sfp-trailer-card .sfp-card-head{
    margin-bottom:14px;
  }
  .sfp-trailer-card h3{
    margin-bottom:17px;
    font-size:clamp(22px,7vw,28px);
  }
  .sfp-video-wrap{
    position:relative;
    z-index:6;
    width:100%;
    max-width:none;
    aspect-ratio:16/9;
    overflow:hidden;
    isolation:isolate;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  .sfp-video-wrap iframe{
    position:absolute;
    inset:0;
    z-index:7;
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    border:0;
    pointer-events:auto!important;
    touch-action:manipulation;
  }
}

@media(max-width:380px){
  .sfp-content-shell{width:calc(100% - 24px);}
  .sfp-trailer-card{padding:16px;}
}
