/* Uniform YouTube-style 16:9 cards — same size as New Released Movies */

:root {
    --cems-card-radius: 10px;
    --cems-card-gap: 10px;
}

/* Hide Top 10 ranking numbers */
.top-ten-numbers {
    display: none !important;
}

/* Equal gap between cards — gap on the right only so the first card is never clipped */
.card-style-slider .slick-general .slick-slide,
.slick-general-continue-watch .slick-slide,
.slick-general-top-10 .slick-slide,
.slick-general-video-section .slick-slide,
.slick-general-pay-per-view .slick-slide,
.slick-general-season-pay-per-view .slick-slide,
.slick-general-episode-pay-per-view .slick-slide,
.slick-general-language .slick-slide,
.slick-general-topchannel .slick-slide,
.slick-general-gener-section .slick-slide,
.slick-general-favorite-genres .slick-slide,
.slick-general-castcrew .slick-slide,
.slick-general-favorite-personality .slick-slide,
.movie-geners-block .slick-general .slick-slide,
.language-block .slick-general .slick-slide,
.channel-block .slick-general .slick-slide {
    padding-left: 0 !important;
    padding-right: calc(var(--cems-card-gap) * 2) !important;
    box-sizing: border-box;
}

.card-style-slider {
    margin-left: 0;
    margin-right: 0;
    /* Clip side peeks so next/prev never shows half of previous card */
    overflow: hidden;
}

/*
 * Keep slick edges clean: zero negative list margins (avoids first-card cut)
 * and overflow:hidden so forward/back nav does not leak half slides.
 */
.homepage-row-sliders,
.section-wraper,
.streamit-block,
.movie-geners-block,
.language-block,
.channel-block,
.top-ten-block,
.continue-watching-block,
.favourite-person-block {
    overflow: visible !important;
}

.card-style-slider .slick-list,
.card-style-slider .slick-list.draggable,
.slick-general .slick-list {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
}

.overflow-hidden:has(.card-style-slider) {
    overflow: visible !important;
}

/*
 * ONE shared thumbnail size for every content card.
 * Width comes from slick slide; height always follows 16:9.
 */
.iq-card .block-images .image-box,
.entainment-slick-card .block-images .image-box,
.iq-top-ten-block .block-image .overly-images,
.continue-watch-card .image-link,
.season-card .season-image,
.comingsoon-card .image-box {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    background-color: #2a2a2a !important;
    border-radius: var(--cems-card-radius) !important;
    position: relative;
}

.iq-card .block-images .image-box img,
.iq-card .block-images .image-box > img,
.entainment-slick-card .block-images .image-box img,
.iq-top-ten-block .block-image .overly-images .top-ten-img,
.continue-watch-card .continue-watch-image,
.continue-watch-card .image-link img,
.season-card .season-image img,
.comingsoon-card img,
.card-comingsoon img,
.movie-hover-modal .block-images .image-box img,
.hover-modal-body .iq-card .block-images .image-box img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: unset !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: var(--cems-card-radius) !important;
    display: block !important;
    z-index: 1 !important;
}

/* Carousel cards: hide empty trailer layer until preview is active */
.entainment-slick-card .block-images .image-box .trailer-preview,
.iq-card.card-hover .block-images .image-box .trailer-preview {
    display: none !important;
    pointer-events: none !important;
    background: transparent !important;
}

.entainment-slick-card .block-images .image-box.is-previewing .trailer-preview,
.iq-card.card-hover .block-images .image-box.is-previewing .trailer-preview {
    display: block !important;
    pointer-events: auto !important;
    background: #000 !important;
    z-index: 4 !important;
}

/* Remove dark overlay / shadow from all content card thumbnails */
.iq-card .block-images .image-box img,
.iq-card .block-images .image-box > img,
.entainment-slick-card .block-images .image-box img,
.entainment-slick-card .block-images .image-box .cems-card-poster,
.iq-top-ten-block .block-image .overly-images img,
.iq-top-ten-block .block-image .overly-images .top-ten-img,
.continue-watch-card .continue-watch-image,
.continue-watch-card .image-link img,
.season-card .season-image img,
.comingsoon-card img,
.card-comingsoon img,
.card-style-slider .cems-card-poster {
    mix-blend-mode: normal !important;
    filter: none !important;
}

/* Progressive card image reveal */
.cems-card-poster.cems-poster-loading {
    opacity: 0;
}

.cems-card-poster.cems-poster-loaded,
.cems-card-poster:not(.cems-poster-loading) {
    opacity: 1;
    transition: opacity 0.18s ease-out;
}

.iq-card .block-images .image-box::before,
.entainment-slick-card .block-images .image-box::before {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: none !important;
}

.iq-card .block-images::after {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Top 10 wrapper cleanup (no extra number space) */
.iq-top-ten-block .block-image.block-images {
    overflow: hidden !important;
    border-radius: var(--cems-card-radius);
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.iq-top-ten-block,
.iq-top-ten-block .block-image,
.iq-top-ten-block .img-box,
.iq-top-ten-block .image-box {
    width: 100%;
}

/* Continue watching — same ratio, no max-width shrink */
.continue-watch-card {
    max-width: none !important;
    width: 100% !important;
}

.continue-watch-card .image-link {
    border-radius: var(--cems-card-radius) var(--cems-card-radius) 0 0 !important;
}

.continue-watch-card .continue-watch-image {
    border-radius: var(--cems-card-radius) var(--cems-card-radius) 0 0 !important;
}

/* Season / episode thumbs already covered above */
.season-card .season-image {
    width: 100%;
}

/* Kill old fixed heights from theme CSS */
.iq-top-ten-block .block-image .overly-images .top-ten-img {
    height: 100% !important;
}

@media (max-width: 991.98px) {
    .iq-top-ten-block .block-image .overly-images .top-ten-img {
        height: 100% !important;
    }
}

@media (max-width: 767.98px) {
    .iq-top-ten-block .block-image .overly-images .top-ten-img {
        height: 100% !important;
    }
}

@media (max-width: 575.98px) {
    .iq-top-ten-block .block-image .overly-images .top-ten-img {
        height: 100% !important;
    }
}

/* Popular Language / Top Channels / Genres — same size as New Released Movies */

.language-card,
.channel-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: var(--cems-card-radius) !important;
    position: relative !important;
    display: block !important;
}

.genres-card {
    width: 100% !important;
    max-width: 180px !important;
    margin-inline: auto !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: var(--cems-card-radius) !important;
    position: relative !important;
    display: block !important;
}

#genres_list .genres-card,
.editions-shimmer-grid .genres-card,
.movie-geners-block .genres-card,
.movie-geners-block .genres-card.is-playlist {
    aspect-ratio: auto !important;
    overflow: visible !important;
    height: auto !important;
    max-width: none !important;
}

.movie-geners-block {
    overflow: visible;
}

.movie-geners-block .card-style-slider,
.movie-geners-block .slick-list,
.movie-geners-block .slick-track,
.movie-geners-block .slick-slide,
.movie-geners-block .slick-slide > div {
    overflow: visible !important;
}

.movie-geners-block .slick-list {
    padding-bottom: 12px;
}

.genres-card .genres-img,
.language-card img,
.channel-card .channel-img,
.channel-card img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: var(--cems-card-radius) !important;
    display: block !important;
}

.language-card {
    background-color: transparent !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.channel-card {
    background: transparent !important;
    min-height: 0 !important;
}

.genres-card .geners-title {
    bottom: 12px !important;
    padding: 0 10px;
}

#genres_list .genres-image-wrap,
.editions-shimmer-grid .genres-img {
    aspect-ratio: 1 / 1 !important;
}

@media (max-width: 991.98px) {
    .channel-card .channel-img,
    .channel-card img {
        height: 100% !important;
        width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    .channel-card .channel-img,
    .channel-card img {
        height: 100% !important;
        width: 100% !important;
    }
}

/* Title + view count under every video card */
.cems-card-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-top: 8px;
    min-width: 0;
    position: relative;
    z-index: 2;
}

.cems-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
    color: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
}

.cems-card-title:hover {
    color: inherit;
    text-decoration: none;
}

.cems-card-stats,
.cems-card-views {
    display: block;
    width: 100%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cems-card-cats,
.detail-category-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
    position: relative;
    z-index: 2;
}

.detail-category-chips {
    margin-top: 4px;
    margin-bottom: 8px;
}

.cems-cat-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 1px 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.5;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.88);
    white-space: nowrap;
}

.cems-cat-upcoming {
    background: rgba(255, 193, 7, 0.18);
    color: #ffc107;
}

.cems-cat-featured {
    background: rgba(13, 202, 240, 0.18);
    color: #6edff6;
}

.cems-cat-popular {
    background: rgba(25, 135, 84, 0.22);
    color: #75b798;
}

.hover-modal-body .cems-card-meta {
    margin-top: 4px;
    margin-bottom: 8px;
}

.continue-watch-card-content .cems-card-meta {
    margin-top: 0;
    margin-bottom: 4px;
}

.continue-watch-card-content .cems-card-title {
    font-size: 16px;
}

#entertainment-list.row > .slick-item,
#tvshow-list.row > .slick-item,
#video-list.row > .slick-item,
#content-list-container.row > .slick-item,
#season-list.row > .slick-item,
#episode-list.row > .slick-item {
    max-width: 100%;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    #entertainment-list.row > .slick-item,
    #tvshow-list.row > .slick-item,
    #video-list.row > .slick-item,
    #content-list-container.row > .slick-item,
    #season-list.row > .slick-item,
    #episode-list.row > .slick-item {
        flex: 0 0 25%;
        max-width: 25%;
        width: 25%;
    }
}

@media (max-width: 575.98px) {
    .cems-card-title {
        font-size: 12px;
    }

    .cems-card-stats,
    .cems-card-views {
        font-size: 11px;
    }
}

/* Edition / playlist cards — stacked look + video count badge */
.genres-card.is-playlist .genres-image-wrap,
.genres-card .genres-image-wrap {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: #2a2a2a;
}

.genres-img {
    color: transparent;
    font-size: 0;
    background-color: #2a2a2a;
}

.genres-img.cems-poster-loading {
    opacity: 0;
}

.genres-img.cems-poster-loaded,
.genres-img:not(.cems-poster-loading) {
    opacity: 1;
    transition: opacity 0.18s ease-out;
}

.genres-card.is-playlist .genres-stack {
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 7px;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0 2px, transparent 2px 4px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0 2px, transparent 2px);
    border-radius: 4px 4px 0 0;
}

.genres-video-count {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 100;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.78);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.01em;
    backdrop-filter: blur(4px);
    pointer-events: none;
    white-space: nowrap;
}

.genres-video-count i {
    font-size: 14px;
}

.movie-geners-block .slick-track {
    display: flex;
    align-items: flex-start;
}

.movie-geners-block .slick-slide {
    height: auto;
}

.movie-geners-block .genres-card.is-playlist {
    aspect-ratio: auto !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column;
    text-align: start !important;
    transform: none;
}

.movie-geners-block .genres-card.is-playlist:hover {
    transform: none;
}

.movie-geners-block .genres-card.is-playlist::before {
    display: none;
}

.movie-geners-block .genres-card.is-playlist .genres-image-wrap {
    position: relative !important;
    inset: auto;
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
    border-radius: 0.75rem;
}

.movie-geners-block .genres-card.is-playlist .genres-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.movie-geners-block .genres-card.is-playlist .genres-card-info,
.movie-geners-block .genres-card.is-playlist .geners-title {
    position: static !important;
    inset: auto;
    bottom: auto;
    z-index: 2;
}

.genres-card-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    padding: 0.75rem 0.1rem 0;
    text-align: start;
}

.genres-card.is-playlist .geners-title {
    display: block;
    width: 100%;
    color: var(--bs-heading-color, #fff);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.genres-date-range {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 4px 10px 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.82);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.2;
    white-space: nowrap;
}

.genres-date-range i {
    font-size: 13px;
    flex: 0 0 auto;
    color: var(--bs-primary, #e50914);
    opacity: 0.95;
}

.genres-date-range span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.genres-page-date {
    font-size: 13px;
    padding: 6px 12px 6px 10px;
    margin-top: 0;
}

.genres-page-date i {
    font-size: 15px;
}

@media (max-width: 575.98px) {
    .genres-card.is-playlist .geners-title {
        font-size: 0.82rem;
    }

    .genres-date-range {
        font-size: 10.5px;
        padding: 3px 8px 3px 6px;
        gap: 5px;
    }
}

@media (max-width: 575.98px) {
    .genres-video-count {
        font-size: 10px;
        padding: 2px 6px;
        gap: 3px;
        right: 6px;
        bottom: 6px;
    }

    .genres-video-count i {
        font-size: 12px;
    }
}

/* Hide premium crown badge on content thumbnails */
.image-box .product-premium,
.iq-card .block-images .product-premium,
.iq-top-ten-block .product-premium,
.season-image .product-premium,
.continue-watch-card-image .product-premium,
.hover-modal-body .product-premium,
.comingsoon-image .product-premium {
    display: none !important;
}

/* YouTube-style duration — always visible, never hover-only */
.yt-duration-badge {
    position: absolute;
    right: 6px;
    bottom: 6px;
    z-index: 8;
    display: inline-block;
    padding: 1px 5px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.82);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    pointer-events: none;
    opacity: 1 !important;
    visibility: visible !important;
}

.continue-watch-card-image .yt-duration-badge {
    bottom: 14px;
}

.season-image {
    position: relative;
}

.comingsoon-image {
    position: relative;
}

.season-image .yt-duration-badge {
    bottom: 8px;
    right: 8px;
}

@media (max-width: 575.98px) {
    .yt-duration-badge {
        font-size: 11px;
        padding: 1px 4px;
        right: 5px;
        bottom: 5px;
    }
}

/* Detail page — views + posted time (matches homepage card stats) */
.detail-views-stat {
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    margin-top: -2px;
    letter-spacing: 0.01em;
}

@media (max-width: 575.98px) {
    .detail-views-stat {
        font-size: 13px;
    }
}

.catalog-filter-chips {
    margin: 0;
}

.catalog-filter-chip {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: inherit;
    border-radius: 999px;
    padding: 0.4rem 1rem;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

.catalog-filter-chip.active,
.catalog-filter-chip:hover {
    background: #fff;
    color: #111;
    border-color: #fff;
}

/* Professional 4-column footer — brand first, then lists */
.footer.cems-footer {
    text-align: start;
}

.footer.cems-footer .footer-top {
    padding: 64px 0 48px;
}

.footer.cems-footer .container {
    max-width: 1280px;
    padding-left: 24px;
    padding-right: 24px;
}

.footer.cems-footer .footer-logo {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 1rem;
}

.footer.cems-footer .footer-logo .logo,
.footer.cems-footer .footer-logo img {
    width: auto;
    max-width: 150px;
    height: auto;
    margin: 0;
}

.cems-footer-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(0, 1fr));
    gap: 2.25rem 2rem;
    align-items: start;
}

.cems-footer-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.cems-footer-brand .cems-footer-about {
    margin: 0 0 1.15rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.7;
}

.cems-footer-contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 1.15rem;
}

.cems-footer-contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13.5px;
    text-decoration: none;
    word-break: break-word;
}

.cems-footer-contact i {
    color: var(--bs-primary, #e50914);
    font-size: 17px;
    flex: 0 0 auto;
}

.cems-footer-contact:hover {
    color: #fff;
}

.footer.cems-footer .social-media li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 1.1rem;
}

.footer.cems-footer .social-media li a:hover {
    background: rgba(229, 9, 20, 0.16);
    border-color: var(--bs-primary, #e50914);
    color: var(--bs-primary, #e50914);
    transform: translateY(-3px);
}

.cems-footer-col-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.1rem;
    width: 100%;
}

.cems-footer-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 10px;
    background: rgba(229, 9, 20, 0.14);
    color: var(--bs-primary, #e50914);
    font-size: 18px;
}

.footer.cems-footer .footer-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #fff;
    line-height: 1.3;
}

.footer.cems-footer .footer-menu {
    width: 100%;
    margin: 0;
}

.footer.cems-footer .footer-menu > li {
    margin-bottom: 0.75rem;
}

.footer.cems-footer .footer-menu > li a {
    padding-left: 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 100%;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
    line-height: 1.4;
    text-transform: none;
    text-decoration: none;
}

.footer.cems-footer .footer-menu > li a::before {
    display: none;
}

.cems-footer-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin-top: 1px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.07);
    color: var(--bs-primary, #e50914);
    font-size: 12px;
    transition: background 0.2s ease, color 0.2s ease;
}

.cems-footer-item-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-width: 0;
    flex: 1;
}

.footer.cems-footer .footer-menu > li a:hover {
    color: #fff;
}

.footer.cems-footer .footer-menu > li a:hover .cems-footer-item-icon {
    background: rgba(229, 9, 20, 0.18);
    color: var(--bs-primary, #e50914);
}

.cems-footer-empty {
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.88rem;
}

.cems-footer-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 0.55rem;
    padding: 0;
    border: 0;
    background: none;
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
}

.cems-footer-more i {
    font-size: 13px;
    transition: transform 0.2s ease;
}

.cems-footer-more:hover {
    color: var(--bs-primary, #e50914);
    background: none;
    border: 0;
}

.cems-footer-more:hover i {
    transform: translateX(3px);
}

.cems-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
    margin: 2.75rem 0 0;
    padding: 14px 18px;
    list-style: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.cems-footer-links a {
    color: rgba(255, 255, 255, 0.62);
    font-size: 13px;
    text-decoration: none;
}

.cems-footer-links a:hover {
    color: #fff;
}

.footer.cems-footer .footer-bottom {
    padding: 16px 0;
}

.cems-footer-copy {
    color: rgba(255, 255, 255, 0.5);
    font-size: 13px;
}

@media (max-width: 1199.98px) {
    .cems-footer-grid {
        grid-template-columns: minmax(220px, 1.2fr) repeat(3, minmax(0, 1fr));
        gap: 1.75rem 1.25rem;
    }
}

@media (max-width: 991.98px) {
    .cems-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem 1.5rem;
    }

    .cems-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .footer.cems-footer .footer-top {
        padding: 44px 0 32px;
    }

    .cems-footer-grid {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .cems-footer-brand {
        grid-column: auto;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .cems-footer-about {
        font-size: 14px;
    }

    .cems-footer-links {
        border-radius: 16px;
        gap: 10px 14px;
    }
}

/* Homepage / app banner */
/* Homepage / app banner — light full-image overlay so white text stays readable */
.main-banner .slick-item::after {
    display: block !important;
    content: "";
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    z-index: 0;
    pointer-events: none;
    background-image: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.32) 0%,
        rgba(0, 0, 0, 0.38) 45%,
        rgba(0, 0, 0, 0.52) 100%
    ) !important;
    background-repeat: no-repeat;
    background-size: cover;
}

.main-banner .slick-item .movie-content {
    position: relative;
    z-index: 1;
}

.main-banner .movie-info .banner-title,
.main-banner .movie-info h4 {
    color: #fff !important;
    font-weight: 700;
    line-height: 1.25;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

.main-banner .movie-info .banner-desc,
.main-banner .movie-info .banner-desc p,
.main-banner .movie-info .banner-desc span,
.main-banner .movie-info .banner-desc strong,
.main-banner .movie-info .banner-desc em,
.main-banner .movie-info .banner-desc a,
.main-banner .movie-info .banner-desc * {
    color: rgba(255, 255, 255, 0.92) !important;
    background: transparent !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}

/* Keep hero title/actions near the bottom on laptop + mobile */
.main-banner .slick-item .movie-content {
    justify-content: flex-end !important;
    padding-top: 7rem !important;
    padding-bottom: 5.5rem !important;
}

.main-banner .slick-item .movie-content > .container-fluid > .row {
    align-items: flex-end !important;
}

.main-banner .movie-info {
    padding-bottom: 0.25rem;
}

@media (max-width: 1199.98px) {
    .main-banner .slick-item .movie-content {
        padding-top: 4.5rem !important;
        padding-bottom: 3.75rem !important;
    }
}

@media (max-width: 767.98px) {
    .main-banner .slick-item .movie-content {
        padding-top: 3.5rem !important;
        padding-bottom: 2.75rem !important;
    }

    .main-banner .movie-info .mt-5 {
        margin-top: 1.25rem !important;
    }
}

/* Site header: slightly distinct bar so it separates from page content */
header:not(.header-absolute) {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: #141414 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

header:not(.header-absolute) .navbar.iq-navbar {
    background: transparent !important;
}

header.header-absolute,
header .header-absolute {
    background: rgba(0, 0, 0, 0.8) !important;
}

@media (min-width: 1200px) {
    .iq-nav-menu > li > a {
        font-size: 1.2rem;
    }
}

/* List pages (All Videos / All Series): space under nav + clear page title */
.list-page {
    padding-top: 1.75rem;
}

.list-page .list-page-heading,
.list-page .movie-lists > .container-fluid > h4.list-page-heading {
    margin: 0 0 1.5rem;
    padding-top: 0.35rem;
    padding-left: 0;
    padding-right: 0;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.02em;
    color: #fff;
    text-align: left;
    width: 100%;
    max-width: 100%;
}

@media (min-width: 1200px) {
    .list-page {
        padding-top: 2.35rem;
    }

    .list-page .list-page-heading,
    .list-page .movie-lists > .container-fluid > h4.list-page-heading {
        font-size: 1.9rem;
        margin-bottom: 1.75rem;
        padding-top: 0.5rem;
    }
}

@media (max-width: 1199.98px) {
    .list-page {
        padding-top: 1.35rem;
    }

    .list-page .list-page-heading,
    .list-page .movie-lists > .container-fluid > h4.list-page-heading {
        font-size: 1.4rem;
        margin-bottom: 1.25rem;
    }
}

@media (max-width: 767.98px) {
    .list-page {
        padding-top: 1.15rem;
    }

    .list-page .list-page-heading,
    .list-page .movie-lists > .container-fluid > h4.list-page-heading {
        font-size: 1.25rem;
        margin-bottom: 1.1rem;
        padding-top: 0.2rem;
    }
}

/* Section title + View All — clearer section breaks, titles that stand out */
.homepage-row-sliders {
    padding-top: 0.9rem;
}

/* Homepage lazy rows: keep first card flush left (no previous-slide sliver) */
.homepage-row-sliders .streamit-block .card-style-slider,
.homepage-row-sliders .movie-geners-block .card-style-slider {
    overflow: hidden !important;
    contain: paint;
}

.homepage-row-sliders .card-style-slider .slick-general:not(.slick-initialized) {
    overflow: hidden !important;
}

.homepage-row-sliders .card-style-slider .slick-list,
.homepage-row-sliders .card-style-slider .slick-list.draggable,
.homepage-row-sliders .slick-general .slick-list {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
}

.homepage-row-sliders .card-style-slider .slick-general .slick-track {
    margin-left: 0 !important;
}

.homepage-row-sliders > .section-wraper:first-child {
    margin-top: 0.15rem;
}

.streamit-block,
.movie-geners-block,
.language-block,
.channel-block,
.top-ten-block,
.continue-watching-block,
.favourite-person-block {
    margin-top: 0.65rem;
    margin-bottom: 0.35rem;
}

.section-heading {
    width: 100%;
    margin-top: 0.35rem !important;
    margin-bottom: 0.55rem !important;
    padding-top: 0.15rem;
}

.section-heading .main-title {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    padding-left: 0.55rem;
    padding-right: 0.35rem;
    margin: 0;
    line-height: 1.3;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    position: relative;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.section-heading .main-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    bottom: 0.2em;
    width: 3px;
    border-radius: 2px;
    background: #e50914;
}

.section-heading .view-all-button {
    flex-shrink: 0;
    white-space: nowrap;
    margin-top: 0.25rem;
    line-height: 1.3;
    color: #b3b3b3;
}

.section-heading .view-all-button span {
    font-size: 1rem;
    font-weight: 600;
}

.section-heading .view-all-button i {
    font-size: 1.15rem;
}

.section-heading .view-all-button:hover {
    color: #e50914;
}

@media (min-width: 1200px) {
    .section-heading .main-title {
        font-size: 1.5rem;
    }

    .section-heading .view-all-button span {
        font-size: 1.0625rem;
    }
}

@media (max-width: 575.98px) {
    .streamit-block,
    .movie-geners-block,
    .language-block,
    .channel-block,
    .top-ten-block,
    .continue-watching-block,
    .favourite-person-block {
        margin-top: 2.55rem;
        margin-bottom: 0.25rem;
    }

    .section-heading {
        margin-top: 0.25rem !important;
        margin-bottom: 0.45rem !important;
    }

    .section-heading .main-title {
        font-size: 1.05rem;
        font-weight: 700;
        letter-spacing: 0.015em;
    }

    .section-heading .view-all-button span {
        font-size: 0.8125rem;
        font-weight: 500;
    }

    .section-heading .view-all-button i {
        font-size: 1rem;
    }
}

/* ── Mobile header: search + language always inline (no broken expand panel) ── */
@media (max-width: 1199.98px) {
    header .navbar .right-panel {
        display: flex;
        align-items: center;
        flex-shrink: 0;
        margin-inline-start: auto;
    }

    header .navbar .right-panel > .navbar-toggler {
        display: none !important;
    }

    header .navbar .right-panel > #navbarSupportedContent.navbar-collapse,
    header .navbar .right-panel > .navbar-collapse {
        display: flex !important;
        position: static !important;
        top: auto !important;
        inset-inline-start: auto !important;
        width: auto !important;
        flex-grow: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    header .navbar .right-panel .header-tools-row {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.5rem !important;
        width: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    header .navbar .right-panel .header-tools-row > .navbar-nav {
        flex-direction: row !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 0.35rem !important;
        width: auto !important;
    }

    header .navbar .right-panel .header-tools-row .nav-item {
        padding: 0 !important;
        margin: 0 !important;
    }

    header .navbar .right-panel .dropdown-language-wrapper .btn {
        min-height: 36px;
        padding-inline: 0.5rem !important;
        font-size: 0.8rem;
    }

    /* Push search + subscribe + language flush to the right edge */
    header .landing-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        width: 100%;
        gap: 0.35rem;
    }

    header .sd-header-start {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
    }

    header .landing-header > .horizontal-nav.mobile-offcanvas:not(.show) {
        grid-column: 1;
        grid-row: 1;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
    }

    header .sd-mobile-hub-header-wrap {
        grid-column: 1 / -1;
        grid-row: 1;
        justify-self: center;
        pointer-events: none;
    }

    header .sd-mobile-hub-header-wrap .sd-mobile-hub-tabs {
        pointer-events: auto;
    }

    header .landing-header .right-panel {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        margin: 0 !important;
        z-index: 2;
    }

    header .navbar .right-panel .header-tools-row {
        width: auto !important;
        justify-content: flex-end !important;
    }

    header .header-mobile-actions {
        float: none !important;
        gap: 0.35rem !important;
    }

    header .header-mobile-actions > .nav-item {
        padding: 0 !important;
    }

    header .navbar .navbar-inner {
        padding-right: 0.35rem !important;
    }
}

/* ── Phone header: right-aligned search + subscribe + language ── */
@media (max-width: 767.98px) {
    header .navbar .navbar-inner {
        padding-left: 0.5rem;
        padding-right: 0.35rem;
    }

    header .landing-header {
        gap: 0.35rem;
        align-items: center;
        min-height: 52px;
    }

    header .sd-header-start {
        flex: 0 1 auto;
        min-width: 0;
    }

    header .sd-header-start .gap-3 {
        gap: 0.4rem !important;
    }

    header .toggle-rounded-btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px;
        line-height: 34px;
        font-size: 17px;
        flex-shrink: 0;
    }

    header .navbar-brand img.logo {
        height: 1.55rem !important;
        max-height: 1.55rem !important;
        width: auto;
        max-width: 100%;
    }

    header .landing-header .right-panel {
        justify-self: end;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        margin: 0 !important;
        display: flex;
        justify-content: flex-end;
    }

    header .navbar .right-panel .header-tools-row {
        width: auto !important;
        justify-content: flex-end !important;
        gap: 0 !important;
    }

    header .navbar .right-panel #navbarSupportedContent.navbar-collapse,
    header .navbar .right-panel .navbar-collapse {
        width: auto !important;
        justify-content: flex-end !important;
    }

    header .header-mobile-actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 0.3rem !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    header .navbar .right-panel .navbar-nav.header-mobile-actions {
        gap: 0.3rem !important;
    }

    header .navbar .right-panel .navbar-nav.header-mobile-actions .nav-item {
        padding: 0 !important;
    }

    header .header-mobile-actions > .nav-item {
        padding: 0 !important;
        margin: 0 !important;
        flex-shrink: 0;
        display: flex;
        align-items: center;
    }

    header .header-search-item .search-box-container {
        display: flex;
        align-items: center;
    }

    header .search-input-wrapper {
        width: 32px;
        height: 32px;
    }

    header .search-icon-btn {
        width: 32px;
        height: 32px;
        right: 0;
    }

    header .btn-yt-subscribe--header,
    header .btn-yt-subscribed.btn-yt-subscribe--header {
        font-size: 0.6875rem !important;
        padding: 0.35rem 0.55rem !important;
        min-height: 32px;
        font-weight: 700 !important;
        gap: 0.2rem !important;
    }

    header .btn-yt-subscribe--header .ph {
        font-size: 0.85rem;
        margin: 0 !important;
    }

    header .btn-yt-subscribe--header .btn-yt-subscribe__label {
        display: inline !important;
        font-size: inherit;
        line-height: 1.1;
        letter-spacing: 0.01em;
    }

    header .dropdown-language-wrapper .header-lang-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 32px;
        min-width: auto;
        padding: 0.3rem 0.45rem !important;
        gap: 0.2rem !important;
    }

    header .dropdown-language-wrapper .header-lang-btn::after {
        display: none !important;
    }

    header .dropdown-language-wrapper .header-lang-flag {
        width: 20px !important;
        height: 14px !important;
        margin: 0 !important;
    }

    header .dropdown-language-wrapper .header-lang-caret {
        font-size: 0.7rem;
        line-height: 1;
        opacity: 0.9;
        flex-shrink: 0;
    }
}

@media (max-width: 575.98px) {
    header .btn-yt-subscribe--header,
    header .btn-yt-subscribed.btn-yt-subscribe--header {
        font-size: 0.65rem !important;
        padding: 0.32rem 0.5rem !important;
        min-height: 30px;
    }
}

@media (max-width: 360px) {
    header .btn-yt-subscribe--header .ph {
        font-size: 0.8rem;
    }

    header .btn-yt-subscribe--header,
    header .btn-yt-subscribed.btn-yt-subscribe--header {
        font-size: 0.625rem !important;
        padding: 0.3rem 0.45rem !important;
    }
}

/* Language dropdown must stay above the sticky header (was clipped / not opening) */
header,
header .navbar,
header .landing-header,
header .right-panel,
header .navbar-collapse,
header .header-tools-row,
header .header-tools-row > .navbar-nav {
    overflow: visible !important;
}

header .dropdown-language-wrapper.nav-item,
header .navbar .right-panel .navbar-nav .dropdown-language-wrapper.nav-item {
    position: relative !important;
    overflow: visible !important;
    z-index: 30;
}

header .dropdown-language-wrapper .dropdown-menu-language {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    inset-inline-end: 0 !important;
    inset-inline-start: auto !important;
    left: auto !important;
    right: 0 !important;
    z-index: 2000 !important;
    min-width: 12rem;
    margin: 0 !important;
    transform: none !important;
}

header .dropdown-language-wrapper .dropdown-menu-language.show,
header .dropdown-language-wrapper.show > .dropdown-menu-language {
    display: block !important;
}

@media (max-width: 575.98px) {
    header .navbar .right-panel .dropdown-language-wrapper .dropdown-menu-language {
        right: 0 !important;
        left: auto !important;
        width: max-content;
        min-width: 10rem;
        max-width: calc(100vw - 1.5rem);
    }
}

/* ── Video player: control icons + time (readable, balanced size) ── */
.video-player-wrapper .video-js {
    font-size: 11px;
}

.video-player-wrapper .video-js .vjs-control-bar .vjs-button > .vjs-icon-placeholder:before {
    font-size: 2.15em !important;
    line-height: 1.55 !important;
}

.video-player-wrapper .video-js .vjs-control-bar .vjs-button .vjs-svg-icon {
    width: 1.55em !important;
    height: 1.55em !important;
}

.video-player-wrapper .video-js .vjs-play-control,
.video-player-wrapper .video-js .vjs-fullscreen-control,
.video-player-wrapper .video-js .vjs-picture-in-picture-control,
.video-player-wrapper .video-js .vjs-volume-panel .vjs-mute-control {
    width: 3.1em !important;
    height: 3.1em !important;
}

.video-player-wrapper .video-js .vjs-current-time,
.video-player-wrapper .video-js .vjs-time-divider,
.video-player-wrapper .video-js .vjs-duration {
    font-size: 1.28em !important;
    font-weight: 650 !important;
}

@media (max-width: 767.98px) {
    .video-player-wrapper .video-js .vjs-play-control,
    .video-player-wrapper .video-js .vjs-fullscreen-control,
    .video-player-wrapper .video-js .vjs-picture-in-picture-control,
    .video-player-wrapper .video-js .vjs-volume-panel .vjs-mute-control {
        width: 3em !important;
        height: 3em !important;
    }

    .video-player-wrapper .video-js .vjs-current-time,
    .video-player-wrapper .video-js .vjs-time-divider,
    .video-player-wrapper .video-js .vjs-duration {
        font-size: 1.2em !important;
    }
}

@media (max-width: 480px) {
    .video-player-wrapper .video-js .vjs-play-control,
    .video-player-wrapper .video-js .vjs-fullscreen-control,
    .video-player-wrapper .video-js .vjs-picture-in-picture-control,
    .video-player-wrapper .video-js .vjs-volume-panel .vjs-mute-control {
        width: 2.9em !important;
        height: 2.9em !important;
    }

    .video-player-wrapper .video-js .vjs-current-time,
    .video-player-wrapper .video-js .vjs-time-divider,
    .video-player-wrapper .video-js .vjs-duration {
        font-size: 1.15em !important;
    }
}

/* ── Mobile fullscreen: keep player controls at TOP so system tip doesn't cover them ── */
@media (max-width: 991.98px) {
    .video-player-wrapper .video-js.vjs-fullscreen .vjs-control-bar {
        top: 0 !important;
        bottom: auto !important;
        padding-top: max(0.55rem, env(safe-area-inset-top, 0px)) !important;
        padding-bottom: 0.55rem !important;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.55) 70%, rgba(0, 0, 0, 0) 100%) !important;
        z-index: 30 !important;
    }

    .video-player-wrapper .video-js.vjs-fullscreen .vjs-progress-control {
        order: 0;
    }

    /* Keep big-play centered; don't let bottom system UI steal taps from controls */
    .video-player-wrapper .video-js.vjs-fullscreen {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }
}

/* Carousel next arrow: keep slightly inset from the right edge */
.card-style-slider .slick-arrow.slick-arrow-next,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-next,
.movie-geners-block .card-style-slider .slick-arrow.slick-arrow-next {
    right: 18px !important;
    left: auto !important;
}

/* Slider arrows: semi-transparent circle behind icon (visible on thumbnails) */
.card-style-slider .slick-arrow.slick-arrow-prev,
.card-style-slider .slick-arrow.slick-arrow-next,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-prev,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-next,
.movie-geners-block .card-style-slider .slick-arrow.slick-arrow-prev,
.movie-geners-block .card-style-slider .slick-arrow.slick-arrow-next {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.card-style-slider .slick-arrow .slick-nav,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow .slick-nav,
.movie-geners-block .card-style-slider .slick-arrow .slick-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    background: rgba(0, 0, 0, 0.55) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45) !important;
    color: #fff !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
}

.card-style-slider .slick-arrow .slick-nav i,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow .slick-nav i,
.movie-geners-block .card-style-slider .slick-arrow .slick-nav i,
.card-style-slider .slick-arrow > i,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow > i,
.movie-geners-block .card-style-slider .slick-arrow > i {
    font-size: 1.42rem !important;
    line-height: 1 !important;
    -webkit-text-stroke: 0.35px currentColor;
    paint-order: stroke fill;
}

.card-style-slider .slick-arrow.slick-arrow-prev .slick-nav,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-prev .slick-nav,
.movie-geners-block .card-style-slider .slick-arrow.slick-arrow-prev .slick-nav {
    left: auto !important;
    right: auto !important;
}

.card-style-slider .slick-arrow.slick-arrow-next .slick-nav,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-next .slick-nav,
.movie-geners-block .card-style-slider .slick-arrow.slick-arrow-next .slick-nav {
    left: auto !important;
    right: auto !important;
}

.card-style-slider .slick-arrow:hover .slick-nav,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow:hover .slick-nav,
.movie-geners-block .card-style-slider .slick-arrow:hover .slick-nav {
    background: rgba(0, 0, 0, 0.68) !important;
}

.card-style-slider .slick-arrow > i,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow > i,
.movie-geners-block .card-style-slider .slick-arrow > i {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(0, 0, 0, 0.55) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45) !important;
    color: #fff !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
}

/* Hide prev/next when there is nothing to scroll in that direction */
.card-style-slider .slick-arrow.slick-disabled,
.streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-disabled,
.movie-geners-block .card-style-slider .slick-arrow.slick-disabled {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Mobile: one card per slide + arrows centered on thumbnail */
@media (max-width: 767.98px) {
    .card-style-slider .slick-general.slick-slider {
        position: relative !important;
    }

    .card-style-slider .slick-list.draggable {
        margin-bottom: 0.75rem !important;
    }

    .card-style-slider .slick-arrow:not(.slick-disabled),
    .card-style-slider .slick-arrow.slick-arrow-prev:not(.slick-disabled),
    .card-style-slider .slick-arrow.slick-arrow-next:not(.slick-disabled),
    .streamit-block.force-arrows-visible .card-style-slider .slick-arrow:not(.slick-disabled),
    .streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-prev:not(.slick-disabled),
    .streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-next:not(.slick-disabled),
    .movie-geners-block .card-style-slider .slick-arrow:not(.slick-disabled) {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        align-items: center;
        justify-content: center;
        width: 40px !important;
        height: 40px !important;
        top: var(--cems-arrow-y, 28%) !important;
        transform: translateY(-50%) !important;
        background: transparent !important;
        border-radius: 0 !important;
        z-index: 40 !important;
        box-shadow: none !important;
    }

    .card-style-slider .slick-arrow.slick-arrow-prev,
    .streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-prev {
        left: 6px !important;
        right: auto !important;
    }

    .card-style-slider .slick-arrow.slick-arrow-next,
    .streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-arrow-next {
        right: 18px !important;
        left: auto !important;
    }

    .card-style-slider .slick-arrow .slick-nav,
    .streamit-block.force-arrows-visible .card-style-slider .slick-arrow .slick-nav {
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        color: #fff !important;
        font-size: 1.3rem !important;
        pointer-events: none !important;
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
        background: rgba(0, 0, 0, 0.52) !important;
        border-radius: 50% !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45) !important;
    }

    .card-style-slider .slick-arrow.slick-disabled,
    .streamit-block.force-arrows-visible .card-style-slider .slick-arrow.slick-disabled,
    .movie-geners-block .card-style-slider .slick-arrow.slick-disabled {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* CMS pages: About Us, Privacy Policy, Terms — normalize Word/Mso inline styles */
.cms-page-content {
    color: rgba(255, 255, 255, 0.88);
    font-size: 1rem;
    line-height: 1.75;
    text-align: justify;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.cms-page-content p,
.cms-page-content .MsoNormal,
.cms-page-content div[class*="Mso"] {
    color: inherit !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
    font-family: inherit !important;
    margin: 0 0 1rem !important;
    text-align: justify !important;
}

.cms-page-content span,
.cms-page-content font {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-family: inherit !important;
}

.cms-page-content h1,
.cms-page-content h2,
.cms-page-content h3,
.cms-page-content h4,
.cms-page-content h5,
.cms-page-content h6 {
    color: #fff !important;
    line-height: 1.4 !important;
    margin: 1.5rem 0 0.75rem !important;
    font-weight: 600 !important;
    text-align: left !important;
}

.cms-page-content h1 { font-size: 1.75rem !important; }
.cms-page-content h2 { font-size: 1.5rem !important; }
.cms-page-content h3 { font-size: 1.25rem !important; }
.cms-page-content h4 { font-size: 1.125rem !important; }
.cms-page-content h5,
.cms-page-content h6 { font-size: 1rem !important; }

.cms-page-content a {
    color: var(--bs-primary) !important;
    text-decoration: underline;
}

.cms-page-content ul,
.cms-page-content ol {
    margin: 0 0 1rem !important;
    padding-left: 1.5rem !important;
}

.cms-page-content li {
    margin-bottom: 0.5rem !important;
    line-height: 1.75 !important;
    font-size: 1rem !important;
    color: inherit !important;
}

.cms-page-content strong,
.cms-page-content b {
    color: #fff !important;
    font-weight: 600 !important;
}

.cms-page-content table {
    width: 100%;
    margin-bottom: 1rem;
    border-collapse: collapse;
}

.cms-page-content th,
.cms-page-content td {
    padding: 0.5rem 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    color: inherit !important;
}

/* YouTube-style channel subscribe */
.btn-yt-subscribe {
    background-color: #cc0000 !important;
    border: none !important;
    color: #fff !important;
    font-weight: 600;
    border-radius: 999px !important;
}

.btn-yt-subscribe:hover,
.btn-yt-subscribe:focus {
    background-color: #b30000 !important;
    color: #fff !important;
}

.btn-yt-subscribed {
    background-color: #3f3f3f !important;
    border: 1px solid #606060 !important;
    color: #f1f1f1 !important;
    font-weight: 600;
    border-radius: 999px !important;
}

.btn-yt-subscribed:hover,
.btn-yt-subscribed:focus {
    background-color: #525252 !important;
    color: #fff !important;
}

#channelSubscribeModal {
    z-index: 1065 !important;
}

#channelSubscribeModal .modal-dialog {
    max-width: 480px;
}

#channelSubscribeModal .modal-content {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 1rem);
    overflow: hidden;
}

#channelSubscribeModal #channelSubscribeForm {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

#channelSubscribeModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

#channelSubscribeModal .modal-footer {
    flex-shrink: 0;
    padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 576px) {
    #channelSubscribeModal .channel-subscribe-modal-dialog {
        display: flex;
        align-items: center;
        min-height: calc(100% - 1rem);
    }
}

@media (max-width: 575.98px) {
    #channelSubscribeModal .channel-subscribe-modal-dialog {
        margin: 0.5rem auto;
        max-width: calc(100% - 1rem);
        max-height: calc(100dvh - 1rem);
    }

    #channelSubscribeModal .modal-footer {
        flex-wrap: wrap;
        justify-content: stretch !important;
        padding-bottom: calc(0.85rem + env(safe-area-inset-bottom, 0px));
    }

    #channelSubscribeModal .modal-footer .btn-channel-cancel,
    #channelSubscribeModal .modal-footer .btn-yt-subscribe {
        flex: 1 1 calc(50% - 0.25rem);
        min-width: 0;
        min-height: 40px;
    }

    #channelSubscribeModal .modal-footer .btn-yt-subscribe {
        min-width: 0;
        padding: 0.55rem 0.75rem;
        font-size: 0.875rem;
    }
}

#channelSubscribeModal .modal-footer .btn-channel-cancel {
    padding: 0.3rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    border-color: #606060;
    color: #b0b0b0;
    border-radius: 6px;
}

#channelSubscribeModal .modal-footer .btn-yt-subscribe {
    padding: 0.7rem 2rem;
    font-size: 1rem;
    font-weight: 700;
    min-height: 44px;
    min-width: 148px;
}

#channelSubscribeModal .modal-content {
    color: #f1f1f1;
}

#channelSubscribeModal .form-control {
    background-color: #1a1a1a;
    border-color: #444;
    color: #fff;
}

.modal-backdrop.show {
    z-index: 1060 !important;
}

/* Watchlist active state — clear red (not just theme primary) */
.watch-list-btn.is-in-watchlist,
.watch-list-btn.is-in-watchlist.btn-primary {
    background-color: #e50914 !important;
    border-color: #e50914 !important;
    color: #fff !important;
}

.watch-list-btn.is-in-watchlist i {
    color: #fff !important;
}

.movie-hover-modal .watch-list-btn.is-in-watchlist {
    background-color: #e50914 !important;
    border-color: #e50914 !important;
}

