@charset "utf-8";

.product-slider-container,
.product-slider-container *,
.lightbox-overlay,
.lightbox-overlay * {
    box-sizing: border-box !important;
}

.product-slider-container { 
    display: block !important;      
    width: 100% !important;         
    height: auto !important;        
    max-width: 1100px !important;   
    background: #ffffff; 
    padding: 15px; 
    border-radius: 8px; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); 
    overflow: hidden !important;
    position: relative !important;
}

.product-slider-container .main-slider { 
    position: relative !important; 
    width: 100% !important; 
    height: auto !important;        
    aspect-ratio: 16 / 9; 
    overflow: hidden !important; 
    border-radius: 6px; 
    background: #ffffff;    
}

.product-slider-container .main-slider .swiper-slide { 
    display: flex !important; 
    justify-content: center !important; 
    align-items: center !important; 
    width: 100% !important; 
    height: 100% !important;
    overflow: hidden !important;
}

.product-slider-container .main-slider .swiper-slide img { 
    display: block !important;
    width: 100% !important;         
    height: 100% !important;        
    object-fit: contain !important; 
    cursor: pointer;
    margin: 0 auto !important;       
}

/* KHUNG VIDEO SLIDE NGOÀI */
.product-slider-container .video-wrapper { 
    position: relative !important; 
    width: 100% !important; 
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 6px;
}

.product-slider-container .video-wrapper iframe { 
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important; 
    height: 100% !important; 
    border: 0 !important; 
}

.product-slider-container .video-wrapper.custom-yt-lazy {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    background-color: #ffffff !important;/*background-color: #000000;*/
}

.product-slider-container .video-wrapper .yt-lazy-thumb {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border: 0 !important;
}

.product-slider-container .video-wrapper .yt-lazy-play-btn {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 60px !important;
    height: 42px !important;
    background-color: #ff0000 !important;
    border: none !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    z-index: 1 !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
    box-shadow: 0 3px 8px rgba(0,0,0,0.3) !important;
}

.product-slider-container .video-wrapper .yt-lazy-play-btn::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 55% !important;
    transform: translate(-50%, -50%) !important;
    border-style: solid !important;
    border-width: 8px 0 8px 14px !important;
    border-color: transparent transparent transparent #ffffff !important;
}

.product-slider-container .video-overlay { 
    position: absolute !important; 
    top: 0 !important; 
    left: 0 !important; 
    width: 100% !important; 
    height: 100% !important; 
    z-index: 2 !important; 
    cursor: pointer; 
}

/* NÚT BẤM & THUMBNAIL NGOÀI */
.product-slider-container .nav-btn { 
    position: absolute !important; 
    top: 50% !important; 
    transform: translateY(-50%) !important; 
    width: 40px; 
    height: 40px; 
    background: rgba(255,255,255,0.85); 
    border: none; 
    border-radius: 50%; 
    cursor: pointer; 
    z-index: 10 !important; 
    font-size: 16px; 
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.2); 
}

.product-slider-container .prev-btn { left: 10px !important; }
.product-slider-container .next-btn { right: 10px !important; }

.product-slider-container .thumbnail-container { 
    display: flex !important; 
    gap: 10px; 
    margin-top: 15px; 
    justify-content: center !important; 
    flex-wrap: wrap !important; 
}

.product-slider-container .thumb-item { 
    width: 70px; 
    height: 70px; 
    border: 2px solid transparent; 
    border-radius: 4px; 
    overflow: hidden !important; 
    cursor: pointer; 
    position: relative !important; 
    opacity: 0.6; 
    transition: 0.3s; 
    flex-shrink: 0 !important;
}

.product-slider-container .thumb-item.active, 
.product-slider-container .thumb-item:hover { 
    border-color: #0056b3; 
    opacity: 1; 
}

.product-slider-container .thumb-item img { 
    width: 100% !important; 
    height: 100% !important; 
    object-fit: cover !important; 
}

.product-slider-container .video-badge { 
    position: absolute !important; 
    top: 50% !important; 
    left: 50% !important; 
    transform: translate(-50%, -50%) !important; 
    color: #fff; 
    background: rgba(0,0,0,0.6); 
    padding: 5px 8px; 
    border-radius: 4px; 
    font-size: 12px; 
}

/* LIGHTBOX OVERLAY */
.lightbox-overlay { 
    position: fixed !important; 
    top: 0 !important; 
    left: 0 !important; 
    width: 100vw !important; 
    height: 100vh !important; 
    max-width: 100vw !important;
    max-height: 100vh !important;
    background: rgba(0, 0, 0, 0.9) !important; 
    backdrop-filter: blur(5px);       
    -webkit-backdrop-filter: blur(5px); 
    z-index: 999999 !important; 
    display: flex !important; 
    flex-direction: column !important; 
    justify-content: center !important; 
    align-items: center !important; 
    visibility: hidden; 
    opacity: 0; 
    overflow: hidden !important;
    transition: opacity 0.3s, visibility 0.3s; 
}

.lightbox-overlay.open { 
    visibility: visible !important; 
    opacity: 1 !important; 
}

.lightbox-overlay .close-lightbox-btn { 
    position: absolute !important; 
    top: 20px !important; 
    right: 20px !important; 
    background: rgba(255, 255, 255, 0.2); 
    border: none; 
    color: #fff; 
    font-size: 28px; 
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer; 
    z-index: 1000000 !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.2s, background 0.2s;
}

.lightbox-overlay .close-lightbox-btn:hover {
    background: rgba(255, 255, 255, 0.4);
    transform: scale(1.1);
}

.lightbox-overlay .lightbox-slider { 
    width: 100% !important;          
    max-width: 1100px !important;   
    height: 70vh !important;        
    position: relative !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;    
}

.lightbox-overlay .lightbox-slider .swiper-slide {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
}

.lightbox-overlay .lightbox-slider .swiper-slide[data-type="image"] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; 
    max-height: 70vh !important;
}

.lightbox-overlay .lightbox-slider .swiper-slide[data-type="video"] {
    width: 100% !important;
    height: 100% !important;
}

.lightbox-overlay .lightbox-slider .swiper-slide[data-type="video"] .video-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 1000px !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    max-height: 70vh !important;
    margin: 0 auto !important;
    overflow: hidden !important;
}

.lightbox-overlay .lightbox-slider .swiper-slide[data-type="video"] .video-wrapper iframe,
.lightbox-overlay .lightbox-slider iframe.lightbox-youtube-video {
/*    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block !important;*/
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    /* Mẹo đảm bảo tràn viền 100% cho iframe YouTube trên mọi trình duyệt */
    min-width: 100% !important;
    min-height: 100% !important;
    transform: translate(-50%, -50%) !important;
    object-fit: cover !important;
    border: 0 !important;
}

.lightbox-overlay .lightbox-nav-btn { 
    position: absolute !important; 
    top: 50% !important; 
    transform: translateY(-50%) !important; 
    background: rgba(255, 255, 255, 0.2); 
    border: none; 
    color: #ffffff; 
    font-size: 22px; 
    width: 45px; 
    height: 45px; 
    border-radius: 50%; 
    cursor: pointer; 
    z-index: 100100 !important; 
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    transition: background 0.3s; 
}

.lightbox-overlay .lightbox-nav-btn:hover { 
    background: rgba(255, 255, 255, 0.4); 
}

.lightbox-overlay .lightbox-prev { left: 20px !important; }
.lightbox-overlay .lightbox-next { right: 20px !important; }

.lightbox-overlay .lightbox-thumbnail-container { 
    display: flex !important; 
    gap: 10px; 
    margin-top: 20px; 
    z-index: 100001 !important; 
}

.lightbox-overlay .lightbox-thumb-item { 
    width: 60px; 
    height: 60px; 
    border: 2px solid transparent; 
    border-radius: 4px;
    overflow: hidden !important;
    opacity: 0.5; 
    cursor: pointer; 
    transition: 0.3s;
    flex-shrink: 0 !important;
}

.lightbox-overlay .lightbox-thumb-item.active,
.lightbox-overlay .lightbox-thumb-item:hover { 
    border-color: #ffffff; 
    opacity: 1; 
}

.lightbox-overlay .lightbox-thumb-item img { 
    width: 100% !important; 
    height: 100% !important; 
    object-fit: cover !important; 
}

/* MOBILE RESPONSIVE (MOBILE <= 768px) */
@media (max-width: 768px) {
    .product-slider-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 auto !important;
        border-radius: 4px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .product-slider-container .main-slider {
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 16 / 9 !important;
        border-radius: 0 !important;
    }

    .product-slider-container .video-wrapper,
    .product-slider-container .video-wrapper iframe {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .product-slider-container .nav-btn {
        width: 34px !important;
        height: 34px !important;
        font-size: 14px !important;
        background: rgba(255, 255, 255, 0.85) !important;
        z-index: 20 !important;
    }

    .product-slider-container .prev-btn { left: 8px !important; }
    .product-slider-container .next-btn { right: 8px !important; }

    .product-slider-container .thumbnail-container {
        margin-top: 10px !important;
        gap: 6px !important;
        padding: 0 5px !important;
    }

    .product-slider-container .thumb-item {
        width: 50px !important;
        height: 50px !important;
    }

    .lightbox-overlay .lightbox-slider {
        width: 100% !important;     
        height: 65vh !important;    
    }

    .lightbox-overlay .lightbox-slider .swiper-slide[data-type="image"] img {
        max-height: 65vh !important;
    }

    .lightbox-overlay .lightbox-slider .swiper-slide[data-type="video"] .video-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 16 / 9 !important;
        max-height: none !important;
    }
    
    .lightbox-overlay .close-lightbox-btn {
        top: 10px !important;
        right: 10px !important;
        width: 38px !important;
        height: 38px !important;
        font-size: 22px !important;
        background: rgba(0, 0, 0, 0.6) !important;
    }

    .lightbox-overlay .lightbox-nav-btn {
        width: 36px !important;
        height: 36px !important;
        font-size: 16px !important;
        background: rgba(0, 0, 0, 0.5) !important; 
    }
    
    .lightbox-overlay .lightbox-prev { left: 6px !important; }
    .lightbox-overlay .lightbox-next { right: 6px !important; }

    .lightbox-overlay .lightbox-thumbnail-container {
        margin-top: 12px !important;
        gap: 6px !important;
        max-width: 100vw !important;
        overflow-x: auto !important;
        padding: 0 10px !important;
    }

    .lightbox-overlay .lightbox-thumb-item {
        width: 48px !important;
        height: 48px !important;
    }
}

/* TỰ ĐỘNG ẨN NÚT */
#lightbox .lightbox-prev,
#lightbox .lightbox-next {
    transition: opacity 0.4s ease, visibility 0.4s ease !important;
    opacity: 1;
    visibility: visible;
}

#lightbox.user-inactive .lightbox-prev,
#lightbox.user-inactive .lightbox-next {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* SWIPER YOUTUBE STYLES */
.swiper-slide[data-type="video"] {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  overflow: hidden !important;
  background-color: #000;
  padding: 0 !important;
  margin: 0 !important;
}

.swiper-slide[data-type="video"] .video-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.swiper-slide[data-type="video"] iframe.youtube-video,
#yt-main-player {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  outline: none !important;
}

.swiper-slide[data-type="video"] .video-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2;
  pointer-events: none;
}

.swiper-container,
.swiper {
  width: 100% !important;
  height: 100% !important;
}