/* PrimeFlix Mobile App — APP FASE A18 Cinematic Preview + Episode Gate */
.pfm-a7-hero{overflow:hidden;touch-action:pan-y!important}
/* R17 restart: real-size 16:9 trailer, centered and full viewport width. No crop/zoom. */



.pfm-a18-preview{position:absolute;inset:0;z-index:-2;overflow:hidden;background:transparent;opacity:0;transition:opacity .42s ease;pointer-events:none!important;touch-action:pan-y!important;user-select:none;-webkit-user-select:none;contain:paint}
.pfm-a18-preview.is-ready{opacity:1}
.pfm-a18-preview.is-ending{opacity:0;transition:opacity .7s ease}
.pfm-a18-preview__mount{position:absolute;left:50%;top:55%;width:100vw;height:auto;aspect-ratio:16/9;transform:translate(-50%,-50%);overflow:hidden;background:transparent;pointer-events:none!important;touch-action:pan-y!important;z-index:1;opacity:.97;contain:paint}
.pfm-a18-preview iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border:0!important;transform:none!important;pointer-events:none!important;touch-action:pan-y!important;background:#000;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.04) 8%,rgba(0,0,0,.16) 14%,rgba(0,0,0,.40) 22%,rgba(0,0,0,.74) 31%,#000 42%,#000 62%,rgba(0,0,0,.82) 70%,rgba(0,0,0,.46) 80%,rgba(0,0,0,.14) 89%,rgba(0,0,0,.03) 94%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.04) 8%,rgba(0,0,0,.16) 14%,rgba(0,0,0,.40) 22%,rgba(0,0,0,.74) 31%,#000 42%,#000 62%,rgba(0,0,0,.82) 70%,rgba(0,0,0,.46) 80%,rgba(0,0,0,.14) 89%,rgba(0,0,0,.03) 94%,transparent 100%)}
.pfm-a18-preview-poster{transition:filter .48s ease,opacity .48s ease;transform:none!important}
.pfm-a7-hero.pfm-a18-preview-ready .pfm-a18-preview-poster{opacity:1;transform:none!important;filter:saturate(.98) brightness(.88)}
.pfm-a7-hero.pfm-a18-preview-capable .pfm-a7-hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(5,5,8,.16) 0%,rgba(5,5,8,.03) 22%,rgba(5,5,8,.05) 44%,rgba(5,5,8,.28) 74%,rgba(5,5,8,.38) 92%,rgba(5,5,8,.42) 100%),linear-gradient(90deg,rgba(5,5,8,.14),transparent 76%)}
.pfm-a18-preview:before,.pfm-a18-preview:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none}
/* Same poster-dominant idea as R27, but the poster retreats sooner to expose more center video. */
.pfm-a18-preview:before{background-image:var(--pfm-a18-poster);background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:1;
  /* R35: top starts even more solid; top fade ends cleaner.
     Bottom fade is longer and more solid so the poster wins more clearly there. */
  -webkit-mask-image:linear-gradient(to bottom,
    #000 0%,
    #000 30%,
    rgba(0,0,0,.998) 33%,
    rgba(0,0,0,.97) 36%,
    rgba(0,0,0,.90) 39%,
    rgba(0,0,0,.54) 42%,
    rgba(0,0,0,.14) 45%,
    rgba(0,0,0,.015) 47%,
    transparent 49%,
    transparent 62%,
    rgba(0,0,0,.02) 65%,
    rgba(0,0,0,.10) 69%,
    rgba(0,0,0,.28) 73%,
    rgba(0,0,0,.58) 79%,
    rgba(0,0,0,.88) 86%,
    rgba(0,0,0,.98) 92%,
    #000 96%,
    #000 100%);
  mask-image:linear-gradient(to bottom,
    #000 0%,
    #000 30%,
    rgba(0,0,0,.998) 33%,
    rgba(0,0,0,.97) 36%,
    rgba(0,0,0,.90) 39%,
    rgba(0,0,0,.54) 42%,
    rgba(0,0,0,.14) 45%,
    rgba(0,0,0,.015) 47%,
    transparent 49%,
    transparent 62%,
    rgba(0,0,0,.02) 65%,
    rgba(0,0,0,.10) 69%,
    rgba(0,0,0,.28) 73%,
    rgba(0,0,0,.58) 79%,
    rgba(0,0,0,.88) 86%,
    rgba(0,0,0,.98) 92%,
    #000 96%,
    #000 100%)}
.pfm-a18-preview:after{background:linear-gradient(180deg,rgba(5,5,8,.22) 0%,rgba(5,5,8,.10) 12%,rgba(5,5,8,.012) 22%,transparent 30%,transparent 68%,rgba(5,5,8,.05) 73%,rgba(5,5,8,.16) 80%,rgba(5,5,8,.30) 89%,rgba(5,5,8,.40) 100%),radial-gradient(122% 84% at 50% 50%,transparent 65%,rgba(5,5,8,.04) 78%,rgba(5,5,8,.12) 88%,rgba(5,5,8,.22) 100%),linear-gradient(90deg,rgba(5,5,8,.11),transparent 16%,transparent 84%,rgba(5,5,8,.11));mix-blend-mode:normal}
.pfm-a18-preview-sound{display:none!important}

/* A21: Netflix-like episode browser lives in the detail page, while the main
   Reproducir button always starts the current/first episode directly. */
.pfm-a18-episodes{margin-top:24px;padding:0 0 10px;scroll-margin-top:calc(var(--pfm-topbar-h,64px) + 12px);outline:0}
.pfm-a18-netflix-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 16px 12px}.pfm-a18-netflix-head small{display:block;color:#8a8a94;font-size:9px;font-weight:900;letter-spacing:.14em}.pfm-a18-netflix-head h2{margin:3px 0 0;font-size:20px;line-height:1.08}.pfm-a18-episode-current{flex:0 0 auto;color:#fff;font-size:10px;font-weight:850;background:#25252b;padding:6px 9px;border-radius:7px;white-space:nowrap}
.pfm-a18-season-picker{position:relative;display:inline-flex;align-items:center;gap:8px;margin:0 16px 8px;background:#242429;border:1px solid rgba(255,255,255,.1);border-radius:7px;min-width:154px;height:38px;padding:0 34px 0 12px;color:#fff}.pfm-a18-season-picker>span{display:none}.pfm-a18-season-picker select{appearance:none;-webkit-appearance:none;border:0;outline:0;background:transparent;color:#fff;font:800 12px/1 Roboto,sans-serif;width:100%;padding:0}.pfm-a18-season-picker select option{background:#18181d;color:#fff}.pfm-a18-season-picker i{position:absolute;right:11px;font-style:normal;font-size:14px;color:#aaa;pointer-events:none}
.pfm-a18-episode-list{display:grid;padding:0 8px}.pfm-a18-episode{width:100%;border:0;border-top:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent;color:#fff;padding:12px 8px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;align-items:start;text-align:left;min-height:96px;touch-action:pan-y}.pfm-a18-episode:first-child{border-top:0}.pfm-a18-episode.is-current{background:rgba(255,255,255,.035)}
.pfm-a18-episode__media{height:74px;aspect-ratio:16/9;border-radius:5px;background:#202027;overflow:hidden;position:relative}.pfm-a18-episode__media img{width:100%;height:100%;object-fit:cover}.pfm-a18-episode__media>span{display:grid;place-items:center;height:100%;font-size:20px;color:#666672}.pfm-a18-episode__media i{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(0,0,0,.48);display:grid;place-items:center;font-style:normal;font-size:11px;backdrop-filter:blur(6px)}
.pfm-a18-episode__copy{min-width:0;padding-top:2px}.pfm-a18-episode__copy b{display:block;font-size:13px;line-height:1.28}.pfm-a18-episode__copy small{display:block;color:#8f8f98;font-size:9px;margin-top:4px}.pfm-a18-episode__copy p{color:#aaaab3;font-size:10px;line-height:1.42;margin:7px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pfm-a18-episode__go{display:none}
.pfm-a18-episode-loading,.pfm-a18-episode-empty{min-height:104px;margin:6px 8px;border:1px dashed rgba(255,255,255,.08);border-radius:10px;color:#888894;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px}.pfm-a18-episode-loading i{width:16px;height:16px;border-radius:50%;border:2px solid #4e4e58;border-top-color:var(--pfm-accent);animation:pfmA18Spin .7s linear infinite}@keyframes pfmA18Spin{to{transform:rotate(360deg)}}
.pfm-a18-episode-error button{border:0;border-radius:7px;background:#fff;color:#111;padding:8px 11px;font-size:10px;font-weight:850;margin-left:8px}
.pfm-a7-episodes-btn{border:0;border-radius:999px;background:#29292f;color:#fff;min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;font:800 11px/1 Roboto,sans-serif}.pfm-a7-episodes-btn span{font-size:14px}.pfm-a7-episodes-btn b{font:inherit}
@media(max-width:370px){.pfm-a18-episode{grid-template-columns:112px minmax(0,1fr);gap:10px}.pfm-a18-episode__media{height:63px}.pfm-a18-preview-sound{right:13px}}
@media(min-width:600px){.pfm-a18-episode{grid-template-columns:170px minmax(0,1fr);padding:14px 16px}.pfm-a18-episode__media{height:96px}.pfm-a18-preview-sound__label{display:inline}}

/* R17 native detail actions. Layout is based on the controls that actually exist. */
.pfm-a7-watch-actions{display:grid;align-items:stretch;gap:8px;margin-top:16px}
.pfm-a7-watch-actions--count-1{grid-template-columns:1fr}
.pfm-a7-watch-actions--count-2{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.pfm-a7-watch-actions--count-3{grid-template-columns:1fr 1fr}
.pfm-a7-watch-actions--count-3 .pfm-a7-play{grid-column:1/-1}
.pfm-a7-watch-actions .pfm-a7-app-action{position:relative;isolation:isolate;min-width:0;min-height:50px;border:0!important;border-radius:15px;padding:7px 12px;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;color:#f7f7fa;background:rgba(27,27,35,.82);-webkit-backdrop-filter:blur(17px) saturate(1.12);backdrop-filter:blur(17px) saturate(1.12);box-shadow:0 8px 20px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);-webkit-tap-highlight-color:transparent;touch-action:manipulation;overflow:hidden;transition:transform .12s ease,background .16s ease,box-shadow .16s ease}
.pfm-a7-watch-actions .pfm-a7-app-action:before{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.09);pointer-events:none}
.pfm-a7-watch-actions .pfm-a7-app-action:active{transform:scale(.965);background:rgba(43,43,52,.94);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.pfm-a7-watch-actions .pfm-a7-app-action--primary{color:#09090d;background:#f5f5f8;box-shadow:0 10px 25px rgba(0,0,0,.27),inset 0 1px 0 #fff}
.pfm-a7-watch-actions .pfm-a7-app-action--primary:before{border-color:rgba(255,255,255,.70)}
.pfm-a7-watch-actions .pfm-a7-app-action--primary:active{background:#dedee5}
.pfm-a7-app-action__icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:rgba(255,255,255,.09)}
.pfm-a7-app-action--primary .pfm-a7-app-action__icon{background:rgba(0,0,0,.075)}
.pfm-a7-app-action__icon svg{width:17px!important;height:17px!important;fill:none;stroke:currentColor;stroke-width:1.95}.pfm-a7-app-action--primary .pfm-a7-app-action__icon svg{fill:currentColor;stroke:currentColor}
.pfm-a7-app-action__label{min-width:0;font-size:11px;font-weight:900;line-height:1.05;letter-spacing:-.005em;white-space:nowrap;overflow:visible;text-overflow:clip}
.pfm-a7-watch-actions--count-1 .pfm-a7-app-action{width:100%}
.pfm-a17-upcoming-actions{grid-template-columns:1fr}.pfm-a17-upcoming-actions .pfm-a7-trailer{width:100%}
@media(max-width:350px){.pfm-a7-watch-actions--count-2{grid-template-columns:1fr 1fr}.pfm-a7-watch-actions .pfm-a7-app-action{padding-inline:9px;gap:7px}.pfm-a7-app-action__icon{width:28px;height:28px}.pfm-a7-app-action__label{font-size:10.5px}}
@media(min-width:600px){.pfm-a18-preview__mount{width:min(100%,520px)}.pfm-a18-preview-sound__label{display:none!important}}
@media(prefers-reduced-motion:reduce){.pfm-a18-preview,.pfm-a18-preview-poster,.pfm-a18-preview-sound,.pfm-a7-watch-actions .pfm-a7-app-action{transition:none}.pfm-a18-episode-loading i{animation:none}}
