/* ==================== Base Styles ==================== */
.nfs-ctn-wrap {
    position: relative;
    overflow: hidden;
    padding-top: 25.5%;
}
.newsfeed_story .nfs-item {
    width: calc(100% / 6);
}
.newsfeed_story .nfs-item:not(:last-child) {
    margin-right: 2.4rem;
}
.newsfeed_story .swiper-slide {
    transition: unset;
}
.newsfeed_story .swiper-slide:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.newsfeed_story .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
}
.newsfeed_story .nfs-info {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(0,0,0,0.5);
    padding: 5px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 5px;
}
.nfs-info .icon, .nfs-info .text {
    font-size: 12px;
}
.nfs-ctn-swiper, .nfs-ctn-skeleton {
    position: absolute;
    inset: 0;
    padding: 2.4rem;
}
.nfs-ctn-swiper .swiper,
.nfs-ctn-skeleton .wrap {
    width: calc(100% + 2.4rem);
    height: 100%;
    margin-left: -1.4rem;
    overflow: hidden;
}
.nfs-ctn-swiper .swiper-slide,
.nfs-ctn-skeleton .item {
    padding: 0 1.2rem;
}
.nfs-ctn-swiper .nfs-item-video .inner,
.nfs-ctn-skeleton .inner {
    width: 100%;
    height: 100%;
    aspect-ratio: 2 / 3.07;
    border-radius: 1.6rem;
}
.nfs-ctn-skeleton {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: .3s;
}
.is-loading {
    opacity: 1;
    visibility: visible;
}
.nfs-ctn-skeleton .list {
    display: flex;
    height: 100%;
}
.nfs-ctn-skeleton .item {
    width: calc(100% / 3);
}
.nfs-ctn-skeleton .inner {
    background: #ababab;
    position: relative;
    overflow: hidden;
}
.nfs-ctn-skeleton .inner::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0, rgba(255,255,255,.2) 20%, rgba(255,255,255,.5) 60%, rgba(255,255,255,0));
    animation: ani-skeleton 5s infinite;
}
@keyframes ani-skeleton {
    100% { transform: translateX(100%); }
}
video {
    max-width: 100%;
}
.nfeed-play-icon {
    --size: 3rem;
    --duration: 3s;
    --scale: 3;
    --opacity: 0.4;
    margin-bottom: 0;
    position: relative;
}
.nfeed-play-icon::after,
.nfeed-play-icon::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    background: #7c0fd1;
    border-radius: 100%;
}
.nfeed-play-icon:after {
    animation: pulse-ani var(--duration) linear infinite;
}
.nfeed-play-icon:before {
    animation: pulse-ani var(--duration) calc(var(--duration)/3) linear infinite;
}
.nfeed-play-icon img {
    position: relative;
    z-index: 2;
    filter: brightness(0) saturate(100%) invert(9%) sepia(84%) saturate(7160%) hue-rotate(278deg) brightness(98%) contrast(96%);
}
@keyframes pulse-ani {
    0%   { transform: translate(-50%, -50%) scale(1); opacity: var(--opacity); }
    100% { transform: translate(-50%, -50%) scale(var(--scale)); opacity: 0; }
}
.reel-popup-js {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: #1a1a1a;
    z-index: 999999;
    display: none;
    justify-content: center;
    align-items: center;
}
.reel-popup-js.open {
    display: flex;
    padding-top: 30px;
}
.reel-popup-js .popups-content {
    width: 90%;
    height: 90%;
    border-radius: 20px;
    margin-top: 30px;
}
.reel-popup-js .swiper {
    overflow: visible;
}
.popups-slide video {
    width: 100%;
    height: auto;
    border-radius: 15px;
}
.popups-slide .swiper-slide {
    opacity: .4;
}
.popups-slide .swiper-slide.swiper-slide-active {
    opacity: 1;
}
.popups-slide-progress-container {
    position: absolute;
    bottom: 0; left: 0;
    width: 100%;
    height: 5px;
    background: rgba(255,255,255,0.2);
}
.popups-slide-progress {
    width: 0;
    height: 100%;
    background: #ff0000;
    transition: width 0.1s linear;
}
.popups-slide-control {
    position: absolute;
    bottom: -78px;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 99;
}
.popups-slide-control button {
    background: rgba(0,0,0,0.5);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s;
}
.popups-slide-control button:hover {
    background: rgba(0,0,0,0.8);
}
.popups-close {
    position: absolute;
    right: 0;
    top: -65px;
    padding: 13px;
    border: 1px solid #fff;
    border-radius: 50%;
    font-size: 20px;
    color: #fff;
}
.reel-list-js {
    padding: 20px;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    margin-top: 20px;
}
.reel-list-js h2 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #333;
    text-align: left;
}
.video-container {
    position: relative;
    width: 100%;
}
.progress-bar-container {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    width: calc(100% - 20px);
    height: 5px;
    background: rgba(71, 59, 59, 0.3);
    cursor: pointer;
    display: none;
    border-radius: 99px;
}
.progress-bar {
    width: 0%;
    height: 100%;
    background: #888;
    transition: width 0.1s;
    border-radius: 99px;
}
.swiper-slide-active .progress-bar-container {
    display: block;
}

/* ==================== MEDIA QUERIES ==================== */
@media (max-width: 1200px) {
    .nfs-ctn-swiper .swiper,
    .nfs-ctn-skeleton .wrap {
        margin-left: -1.8rem;
    }
}

@media (max-width: 1199px) {
    .nfs-ctn-wrap {
        padding-top: 38.5%;
    }
    .nfs-ctn-skeleton .item {
        width: calc(100% / 4.2);
        flex-shrink: 0;
    }
}

@media (max-width: 767px) {
    .nfs-ctn-wrap {
        padding-top: 50.5%;
    }
    .nfs-ctn-skeleton .item {
        width: calc(100% / 3.2);
    }
}

@media (max-width: 499px) {
    .nfs-ctn-wrap {
        padding-top: 70.5%;
    }
    .nfs-ctn-swiper, .nfs-ctn-skeleton {
        padding: .8rem;
    }
    .nfs-ctn-swiper .swiper,
    .nfs-ctn-skeleton .wrap {
        width: calc(100% + 1.6rem);
        margin-left: -1.2rem;
    }
    .nfs-ctn-swiper .swiper-slide,
    .nfs-ctn-skeleton .item {
        padding: 0 .8rem;
    }
    .nfs-ctn-swiper .nfs-item-video .inner,
    .nfs-ctn-skeleton .inner {
        border-radius: 1.2rem;
    }
    .nfs-ctn-skeleton .item {
        width: calc(100% / 2.2);
    }
}
