/* Posty Extra for Astra - compatibility fixes */

/* Undo Posty's global paragraph color inside normal Elementor text widgets. */
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-widget-text-editor div,
.elementor-widget-text-editor li,
.elementor-widget-text-editor strong,
.elementor-widget-text-editor b,
.elementor-widget-text-editor em {
    color: revert !important;
}

/* Keep the Posty widgets from breaking Elementor/Astra layout width. */
.post-carousel-wrap,
.post-block-template-one-wrap,
.theme_post_list_tab__wrapper,
.categories-section,
.watch-section {
    box-sizing: border-box;
}

/* === v1.6: Post Block Slider Item : Four - behave closer to original Posty demo === */
.elementor-widget-posts-block-item-slide-four,
.elementor-widget-posts-block-item-slide-four > .elementor-widget-container,
.elementor-widget-posts-block-item-slide-four .watch-section.theme-slide-template-four {
    box-sizing: border-box;
}

/* Full-bleed only for video widget; keeps original internal Posty layout. */
.elementor-widget-posts-block-item-slide-four .watch-section.theme-slide-template-four {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Some Astra/Elementor containers clip full-bleed sections; loosen only around this widget. */
.elementor-widget-posts-block-item-slide-four,
.elementor-widget-posts-block-item-slide-four > .elementor-widget-container {
    overflow: visible !important;
}

/* Hide "What to Watch" heading if not wanted. */
.elementor-widget-posts-block-item-slide-four .carousel-post .post-text,
.elementor-widget-posts-block-item-slide-four .carousel-post .post-text .header {
    display: none !important;
}

/* Brand colors for play buttons. */
.elementor-widget-posts-block-item-slide-four .carousel-post .video-btn a,
.elementor-widget-posts-block-item-slide-four .carousel-thumb-post .thumb-content .thumb-video,
.elementor-widget-posts-block-item-slide-four .thumb-carousel-wrap .swiper-slide.swiper-slide-thumb-active .thumb-content .thumb-video,
.elementor-widget-posts-block-item-slide-four .carousel-thumb-post .thumb-content .thumb-video:hover {
    background-color: #0EA5E9 !important;
    color: #fff !important;
}

/* Draw play triangle even if Line Awesome is not available. */
.elementor-widget-posts-block-item-slide-four .video-play-btn i,
.elementor-widget-posts-block-item-slide-four .thumb-video i {
    display: none !important;
}
.elementor-widget-posts-block-item-slide-four .video-play-btn::before,
.elementor-widget-posts-block-item-slide-four .thumb-video::before {
    content: "" !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    border-top: 12px solid transparent !important;
    border-bottom: 12px solid transparent !important;
    border-left: 18px solid #fff !important;
    margin-left: 5px !important;
}
.elementor-widget-posts-block-item-slide-four .thumb-video::before {
    border-top-width: 7px !important;
    border-bottom-width: 7px !important;
    border-left-width: 11px !important;
    margin-left: 3px !important;
}

/* Arrows like the requested design. */
.elementor-widget-posts-block-item-slide-four .watch-section .swiper-arrow .swiper-nav {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background-color: #2AF5FF !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    cursor: pointer !important;
}
.elementor-widget-posts-block-item-slide-four .watch-section .swiper-arrow .swiper-nav:hover {
    background-color: #0EA5E9 !important;
}
.elementor-widget-posts-block-item-slide-four .watch-section .swiper-arrow .swiper-nav i {
    display: none !important;
}
.elementor-widget-posts-block-item-slide-four .watch-section .swiper-arrow .swiper-next::before {
    content: "←" !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1 !important;
}
.elementor-widget-posts-block-item-slide-four .watch-section .swiper-arrow .swiper-prev::before {
    content: "→" !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1 !important;
}

/* Hide fake duration. */
.elementor-widget-posts-block-item-slide-four .thumb-time {
    display: none !important;
}

/* Popup used by Astra compatibility JS. */
.posty-astra-video-popup {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    background: rgba(0,0,0,.86) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
}
.posty-astra-video-popup__inner {
    position: relative !important;
    width: min(960px, 100%) !important;
    aspect-ratio: 16 / 9 !important;
    background: #000 !important;
}
.posty-astra-video-popup__inner iframe {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border: 0 !important;
}
.posty-astra-video-popup__close {
    position: absolute !important;
    top: -44px !important;
    right: 0 !important;
    width: 36px !important;
    height: 36px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 26px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

@media (max-width: 767px) {
    .elementor-widget-posts-block-item-slide-four .watch-section.theme-slide-template-four {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
    .elementor-widget-posts-block-item-slide-four .carousel-post .post-content {
        left: 24px !important;
    }
    .elementor-widget-posts-block-item-slide-four .carousel-post .video-btn {
        left: 24px !important;
    }
}


/* v1.8: force video popup above the page even if theme CSS is cached/overridden */
html.posty-astra-video-open,
body.posty-astra-video-open {
    overflow: hidden !important;
}
body > .posty-astra-video-popup {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2147483647 !important;
    transform: none !important;
}
body > .posty-astra-video-popup .posty-astra-video-popup__inner {
    position: relative !important;
    width: min(960px, calc(100vw - 48px)) !important;
    aspect-ratio: 16 / 9 !important;
}

/* v1.9 robust fixed video popup */
html.posty-astra-video-open-v19,
body.posty-astra-video-open-v19 {
    overflow: hidden !important;
}
body > .posty-astra-fixed-popup-v19 {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(15, 23, 42, .88) !important;
    padding: 24px !important;
    margin: 0 !important;
    transform: none !important;
}
body > .posty-astra-fixed-popup-v19 .posty-astra-fixed-popup-v19__inner {
    position: relative !important;
    width: min(960px, calc(100vw - 48px)) !important;
    max-width: 960px !important;
    aspect-ratio: 16 / 9 !important;
    background: #000 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}
body > .posty-astra-fixed-popup-v19 iframe {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border: 0 !important;
}
