/* Partow TV — only visible after pressing WATCH NOW in a configured hero slide. */
.ptvw6-playing { position: relative; }
.ptvw6-slide-player {
    position: absolute !important;
    z-index: 999 !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #000 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.ptvw6-slide-frame {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    background: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}
.ptvw6-slide-close {
    position: absolute !important;
    z-index: 2 !important;
    top: 12px !important;
    right: 12px !important;
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font: normal 30px/1 Arial,sans-serif !important;
    border: 1px solid rgba(255,255,255,.5) !important;
    border-radius: 50% !important;
    color: white !important;
    background: rgba(0,0,0,.72) !important;
    cursor: pointer !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.ptvw6-slide-close:hover,.ptvw6-slide-close:focus {
    background: #e6001b !important;
    color: #fff !important;
}

/* Same provider-independent click-to-play UI; original-source fallback appears only after click. */
.ptvw7-original-link {
  position:absolute!important; z-index:15!important; left:8px!important; bottom:8px!important;
  width:auto!important; height:auto!important; max-width:calc(100% - 16px)!important;
  color:#fff!important; background:rgba(0,0,0,.75)!important; text-decoration:none!important;
  padding:5px 9px!important; border-radius:5px!important;
  font:normal 12px/1.4 Arial,sans-serif!important; direction:rtl!important;
}
.ptvw7-original-link:hover,.ptvw7-original-link:focus { background:#d4001b!important; color:#fff!important; }
.ptvw7-instagram iframe { background:#111!important; }

/* 0.9.6 — featured post wallpaper. Do not affect other video cards/carousels. */
.ptvw96-hero-slide { position: relative !important; isolation: isolate; }
.ptvw96-hero-slide .ptvw96-wallpaper-mask {
    position: absolute !important; inset: 0 !important;
    background: rgba(0,0,0,.28) !important;
    z-index: 1 !important; pointer-events: none !important;
}
.ptvw96-hero-slide .ptvw96-hero-copy { position: relative !important; z-index: 3 !important; }
.ptvw96-hero-slide > .ptvw96-featured-player {
    z-index: 35 !important; inset: 0 !important;
    background: rgba(0,0,0,.02) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: clamp(12px, 3vw, 42px) !important;
}
.ptvw96-player-shell {
    position: relative; width: min(720px, 78%); max-width: 100%;
    aspect-ratio: 16 / 9; max-height: 100%;
    background: #101010; overflow: visible;
    border: 1px solid rgba(255,255,255,.35); border-radius: 9px;
    box-shadow: 0 0 0 1px rgba(255,255,255,.11),
                0 0 22px rgba(255,255,255,.16),
                0 20px 50px rgba(0,0,0,.42);
}
.ptvw96-player-shell > .ptvw6-slide-frame {
    width: 100% !important; height: 100% !important; display: block !important;
    border: 0 !important; border-radius: 8px !important;
}
.ptvw96-player-shell > .ptvw6-slide-close {
    top: -14px !important; right: -14px !important;
    box-shadow: 0 2px 14px rgba(0,0,0,.3) !important;
}
.ptvw96-featured-player.ptvw7-instagram > .ptvw96-player-shell {
    width: min(370px, 55%); aspect-ratio: 9 / 16;
}
@media (max-width: 767px) {
    .ptvw96-hero-slide > .ptvw96-featured-player { padding: 12px !important; }
    .ptvw96-player-shell { width: 96%; border-radius: 6px; }
    .ptvw96-featured-player.ptvw7-instagram > .ptvw96-player-shell { width: min(250px, 80%); }
    .ptvw96-player-shell > .ptvw6-slide-close { right: 0!important; top: 0!important; }
}

/* v0.9.7 — preserve the original slide dimensions and keep the playable area
   inside the visible hero, clear of the theme's sticky navigation. */
.ptvw96-hero-slide .ptvw97-original-slide-image {
    opacity: 0 !important; /* image still determines the theme's natural layout */
}
.ptvw96-hero-slide > .ptvw96-featured-player {
    box-sizing: border-box !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 12px 24px !important;
}
.ptvw96-hero-slide .ptvw96-player-shell {
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
    max-width: calc(100% - 8px) !important;
    max-height: calc(100% - 8px) !important;
}
@media (max-width: 767px) {
    .ptvw96-hero-slide > .ptvw96-featured-player { padding: 8px 14px !important; }
}


/* v0.9.8 — a deliberately SMALL video frame on a full-bleed featured wallpaper.
   The outline must exist before click, not only once an iframe loads. */
.ptvw96-hero-slide > .ptvw98-stage {
    position: absolute !important;
    left: 0 !important; right: 0 !important; top: 0 !important;
    z-index: 60 !important;
    width: 100% !important;
    height: min(470px, 100%) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: clamp(24px, 3.5vw, 46px) 16px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    pointer-events: none !important;
}
.ptvw96-hero-slide .ptvw98-stage > .ptvw98-preview,
.ptvw96-hero-slide .ptvw98-stage > .ptvw98-playing {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    width: min(540px, calc(100% - 24px)) !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    max-width: min(540px, calc(100% - 24px)) !important;
    max-height: min(335px, 49dvh) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background-color: #0b0b0b !important;
    border: 1px solid rgba(255,255,255,.48) !important;
    border-radius: 7px !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.07),
                0 0 18px rgba(255,255,255,.20),
                0 18px 38px rgba(0,0,0,.55) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
}
.ptvw96-hero-slide .ptvw98-stage > .ptvw98-preview {
    appearance: none !important;
    cursor: pointer !important;
    background-size: cover !important;
    background-position: center !important;
    color: #fff !important;
    font: inherit !important;
    text-align: center !important;
}
.ptvw96-hero-slide .ptvw98-stage > .ptvw98-preview[hidden] { display: none !important; }
.ptvw96-hero-slide .ptvw98-stage .ptvw98-play-mark {
    position: absolute !important; top: 50% !important; left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 60px !important; height: 60px !important;
    display: flex !important; justify-content: center !important; align-items: center !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255,255,255,.75) !important;
    background: rgba(220,0,26,.94) !important;
    color: #fff !important; font: 25px/1 Arial,sans-serif !important;
    padding-left: 3px !important;
    box-shadow: 0 5px 22px rgba(0,0,0,.48) !important;
}
.ptvw96-hero-slide .ptvw98-stage .ptvw98-preview-title {
    position: absolute !important; bottom: 0 !important; right: 0 !important; left: 0 !important;
    padding: 14px 15px 10px !important;
    overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important;
    text-align: right !important; direction: rtl !important;
    font-size: 14px !important; font-weight: 600 !important;
    color: #fff !important;
}
.ptvw96-hero-slide .ptvw98-stage > .ptvw98-playing {
    overflow: visible !important;
    background: #000 !important;
}
.ptvw96-hero-slide .ptvw98-stage > .ptvw98-playing .ptvw98-player-shell {
    width: 100% !important; height: 100% !important;
    max-width: 100% !important; max-height: 100% !important;
    border: 0 !important; border-radius: 6px !important;
    box-shadow: none !important; margin: 0 !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
}
.ptvw96-hero-slide .ptvw98-stage > .ptvw98-playing iframe.ptvw6-slide-frame {
    width: 100% !important; height: 100% !important;
    max-width: 100% !important; max-height: 100% !important;
    display: block !important;
}
.ptvw96-hero-slide .ptvw98-stage > .ptvw98-playing .ptvw6-slide-close {
    z-index: 6 !important; top: -13px !important; right: -13px !important;
    background: #222 !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw98-portrait > .ptvw98-preview,
.ptvw96-hero-slide .ptvw98-stage.ptvw98-portrait > .ptvw98-playing {
    width: min(225px, calc(100% - 24px)) !important;
    max-width: min(225px, calc(100% - 24px)) !important;
    height: min(388px, 51dvh) !important;
    aspect-ratio: 9 / 16 !important;
    max-height: 51dvh !important;
}
/* Theme text/button is superseded by the single accessible play control on the card. */
.ptvw96-hero-slide .ptvw96-hero-copy {
    opacity: 0 !important; pointer-events: none !important;
}
@media (max-width: 767px) {
    .ptvw96-hero-slide > .ptvw98-stage { padding-top: 20px !important; }
    .ptvw96-hero-slide .ptvw98-stage > .ptvw98-preview,
    .ptvw96-hero-slide .ptvw98-stage > .ptvw98-playing {
        width: min(420px, calc(100% - 12px)) !important;
        max-width: min(420px, calc(100% - 12px)) !important;
        max-height: 42dvh !important;
    }
    .ptvw96-hero-slide .ptvw98-stage .ptvw98-play-mark {
        width: 48px !important; height: 48px !important; font-size: 21px !important;
    }
}

/* v0.9.9 — poster title/category are visibly BELOW the frame in all states.
   The original red theme play button is hidden, not covered by an opaque patch. */
.ptvw96-hero-slide .ptvw99-old-play-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.ptvw96-hero-slide > .ptvw98-stage {
    /* Reserve enough space for the poster plus the editorial label. */
    height: min(510px, 100%) !important;
    gap: 0 !important;
}
.ptvw96-hero-slide .ptvw98-stage > .ptvw99-caption {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    width: min(540px, calc(100% - 24px)) !important;
    max-width: min(540px, calc(100% - 24px)) !important;
    margin: 12px auto 0 !important;
    padding: 0 4px !important;
    background: transparent !important;
    color: white !important;
    text-align: right !important;
    direction: rtl !important;
    pointer-events: none !important;
    z-index: 2 !important;
    text-shadow: 0 1px 5px rgba(0,0,0,.72) !important;
}
.ptvw96-hero-slide .ptvw99-category {
    display: block !important;
    margin: 0 0 4px !important;
    color: #ff4a57 !important;
    font: 600 13px/1.5 Arial,Tahoma,sans-serif !important;
    text-align: right !important;
}
.ptvw96-hero-slide h2.ptvw99-title {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    max-height: 3.2em !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: white !important;
    font: 600 19px/1.6 Arial,Tahoma,sans-serif !important;
    text-align: right !important;
    direction: rtl !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw98-portrait > .ptvw99-caption {
    width: min(300px, calc(100% - 24px)) !important;
}
@media (max-width: 767px) {
    .ptvw96-hero-slide .ptvw98-stage > .ptvw99-caption {
        margin-top: 10px !important;
        width: min(420px, calc(100% - 12px)) !important;
        max-width: min(420px, calc(100% - 12px)) !important;
    }
    .ptvw96-hero-slide h2.ptvw99-title { font-size: 16px !important; }
    .ptvw96-hero-slide .ptvw99-category { font-size: 12px !important; }
}

/* Keep editorial caption visible even if a theme reuses the same heading class. */
.ptvw96-hero-slide .ptvw98-stage .ptvw99-caption {
    opacity: 1 !important; visibility: visible !important;
}


/* v0.9.10 — platform-aware native social embedding.
 * Instagram /embed/ displays an entire post card, NOT an HTML5 16:9 video.
 * The preview stays cinematic, while the clicked native widget gets a
 * legible and viewport-safe card. Do not crop or cover third-party controls. */
.ptvw96-hero-slide.ptvw100-social-wallpaper > .ptvw96-wallpaper-mask {
    background: rgba(0,0,0,.38) !important;
    -webkit-backdrop-filter: blur(9px) !important;
    backdrop-filter: blur(9px) !important;
}
.ptvw96-hero-slide > .ptvw98-stage.ptvw100-instagram,
.ptvw96-hero-slide > .ptvw98-stage.ptvw100-facebook-reel {
    padding-top: 16px !important;
    height: auto !important;
    min-height: min(535px, 100%) !important;
}
/* Before click, the chosen thumbnail looks like every other featured video. */
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram > .ptvw98-preview,
.ptvw96-hero-slide .ptvw98-stage.ptvw100-facebook-reel > .ptvw98-preview {
    width: min(540px, calc(100% - 24px)) !important;
    max-width: min(540px, calc(100% - 24px)) !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    max-height: min(315px, 42dvh) !important;
}
/* On play: give Instagram's FULL native post its own readable aspect ratio.
   Native account name, actions, and Instagram playback remain available. */
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram > .ptvw98-playing {
    display: block !important;
    width: min(360px, calc(100% - 24px)) !important;
    max-width: min(360px, calc(100% - 24px)) !important;
    height: min(450px, 48dvh) !important;
    max-height: min(450px, 48dvh) !important;
    aspect-ratio: auto !important;
    min-height: 270px !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw100-facebook-reel > .ptvw98-playing {
    width: min(310px, calc(100% - 24px)) !important;
    max-width: min(310px, calc(100% - 24px)) !important;
    height: min(460px, 48dvh) !important;
    max-height: min(460px, 48dvh) !important;
    aspect-ratio: 9 / 16 !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram > .ptvw99-caption,
.ptvw96-hero-slide .ptvw98-stage.ptvw100-facebook-reel > .ptvw99-caption {
    width: min(540px, calc(100% - 24px)) !important;
    max-width: min(540px, calc(100% - 24px)) !important;
    margin-top: 9px !important;
    padding: 5px 12px 7px !important;
    background: rgba(0,0,0,.48) !important;
    border-radius: 6px !important;
    text-shadow: 0 1px 5px rgba(0,0,0,.82) !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram > .ptvw98-playing .ptvw98-player-shell,
.ptvw96-hero-slide .ptvw98-stage.ptvw100-facebook-reel > .ptvw98-playing .ptvw98-player-shell {
    overflow: hidden !important;
    width: 100% !important;
    height: 100% !important;
}
/* Native Instagram controls are inside a cross-origin iframe; users may scroll
   within the frame to reach actions if Instagram chooses a taller embed. */
@media (max-width: 767px) {
    .ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram > .ptvw98-playing {
        width: min(340px, calc(100% - 24px)) !important;
        max-width: min(340px, calc(100% - 24px)) !important;
        height: min(430px, 46dvh) !important;
        max-height: min(430px, 46dvh) !important;
    }
    .ptvw96-hero-slide .ptvw98-stage.ptvw100-facebook-reel > .ptvw98-playing {
        height: min(430px, 46dvh) !important;
        max-height: min(430px, 46dvh) !important;
    }
}

/* v0.9.11 — optional Instagram media-focused viewport for editor's-pick ONLY.
 * A third-party iframe is opaque: these rules crop its OUTER rectangle,
 * never claim to remove/change native Instagram controls. Full mode is accessible.
 * This is a visual best-effort for landscape feed videos; video UI may vary. */
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram.ptvw101-focused > .ptvw98-playing {
    width: min(540px, calc(100% - 24px)) !important;
    max-width: min(540px, calc(100% - 24px)) !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    max-height: min(315px, 42dvh) !important;
    min-height: 0 !important;
    overflow: visible !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram.ptvw101-focused > .ptvw98-playing .ptvw98-player-shell {
    overflow: visible !important;
}
.ptvw96-hero-slide .ptvw101-instagram-viewport {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    background: #101010 !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram.ptvw101-focused .ptvw101-instagram-viewport iframe.ptvw6-slide-frame {
    position: absolute !important;
    width: 100% !important;
    height: calc(100% + 180px) !important;
    left: 0 !important;
    top: -59px !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
}
/* Fall back to Instagram's complete official player without unloading the video. */
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram.ptvw101-native-view > .ptvw98-playing {
    width: min(360px, calc(100% - 24px)) !important;
    max-width: min(360px, calc(100% - 24px)) !important;
    height: min(450px, 48dvh) !important;
    max-height: min(450px, 48dvh) !important;
    min-height: 270px !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram.ptvw101-native-view > .ptvw98-playing .ptvw98-player-shell {
    overflow: visible !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram.ptvw101-native-view .ptvw101-instagram-viewport iframe.ptvw6-slide-frame {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    width: 100% !important;
    max-height: 100% !important;
}
.ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram .ptvw99-caption {
    pointer-events: auto !important;
}
.ptvw96-hero-slide .ptvw101-instagram-actions {
    display: flex !important;
    flex-flow: row wrap !important;
    gap: 10px !important;
    justify-content: flex-start !important;
    align-items: center !important;
    margin-top: 8px !important;
}
.ptvw96-hero-slide .ptvw101-instagram-actions .ptvw101-mode-toggle,
.ptvw96-hero-slide .ptvw101-instagram-actions .ptvw101-instagram-source {
    box-sizing: border-box !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    padding: 5px 8px !important;
    margin: 0 !important;
    font: normal 12px/1.5 Arial,Tahoma,sans-serif !important;
    color: #fff !important;
    background: rgba(0,0,0,.65) !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    border-radius: 5px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    opacity: 1 !important;
}
.ptvw96-hero-slide .ptvw101-instagram-actions .ptvw101-mode-toggle[hidden] {
    display: none !important;
}
.ptvw96-hero-slide .ptvw101-instagram-actions .ptvw101-mode-toggle:hover,
.ptvw96-hero-slide .ptvw101-instagram-actions .ptvw101-instagram-source:hover,
.ptvw96-hero-slide .ptvw101-instagram-actions .ptvw101-mode-toggle:focus-visible,
.ptvw96-hero-slide .ptvw101-instagram-actions .ptvw101-instagram-source:focus-visible {
    background: #ad001a !important;
}
@media (max-width:767px) {
    .ptvw96-hero-slide .ptvw98-stage.ptvw100-instagram.ptvw101-focused > .ptvw98-playing {
        width: min(420px, calc(100% - 24px)) !important;
        max-width: min(420px, calc(100% - 24px)) !important;
        height: auto !important;
        max-height: min(42dvh, 280px) !important;
        min-height: 0 !important;
    }
}


/* v0.9.13 — static selected wallpaper, never a second playing video. */
.ptvw96-hero-slide > .ptvw913-wallpaper {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10000 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    opacity: 1 !important;
    /* Absorbs background clicks so the native theme video cannot start. */
    pointer-events: auto !important;
}
.ptvw96-hero-slide > .ptvw98-stage {
    z-index: 10001 !important;
}
/* An original video embed inside the theme's hero is disabled independently
   of the featured iframe, which is ONLY created inside .ptvw98-stage. */
.ptvw96-hero-slide .ptvw913-disabled-legacy-media {
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
}
/* Category name is editorial information, not tiny metadata. */
.ptvw96-hero-slide .ptvw98-stage .ptvw99-category {
    font: 700 19px/1.55 Arial,Tahoma,sans-serif !important;
    color: #ff6472 !important;
    margin-bottom: 6px !important;
    text-shadow: 0 1px 6px rgba(0,0,0,.8) !important;
}
@media (max-width: 767px) {
    .ptvw96-hero-slide .ptvw98-stage .ptvw99-category {
        font-size: 17px !important;
    }
}

/* v0.9.14: gallery-driven wallpaper is independent from the selected video. */
.ptvw96-hero-slide > .ptvw913-wallpaper { cursor: default !important; }
.ptvw96-hero-slide .ptvw913-disabled-legacy-media { display: none !important; }

/* The theme's native title may sit directly in the slide, rather than in
   a conventional text wrapper. Only the new editorial caption is visible. */
.ptvw96-hero-slide .ptvw914-legacy-heading-hidden { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* v0.9.16 — visible 42% black overlay applied ONLY to the wallpaper.
   The featured player's poster, video and caption are separate siblings above it.
   Do not dim the card, controls or editorial text. */
.ptvw96-hero-slide > .ptvw913-wallpaper::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    background-color: rgba(0,0,0,.42) !important;
    pointer-events: none !important;
}
