/* ====================================================================
   1. CỐ ĐỊNH 2 CỘT (TỰ ĐỘNG CÂN BẰNG THÔNG MINH)
   ==================================================================== */
.nsproduct__top { 
    display: grid !important; 
    grid-template-columns: minmax(0, 460px) minmax(0, 1fr) !important; 
    gap: 60px !important; 
    align-items: start !important; 
}

/* Đẩy cột chữ bên phải xuống khi xem Mockup */
.nsproduct__info, .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important; 
    margin-top: 35px !important; 
    transition: margin-top 0.3s ease !important;
}

/* Tự động triệt tiêu khoảng đẩy chữ khi xem ảnh Gallery */
.nsproduct__top:has(.is-gallery-mode) .nsproduct__info,
.nsproduct__top:has(.is-gallery-mode) .summary.entry-summary {
    margin-top: 0 !important;
}

.nsproduct__info h1.product_title { margin: 0 !important; padding: 0 !important; line-height: 1.3 !important; }
.nsproduct__info .price { margin: 0 !important; }
.nsproduct__media { width: 100% !important; max-width: 460px !important; margin: 0 auto !important; position: relative !important; overflow: visible !important; }
.nsproduct__media:hover, .nsproduct__mockup:hover { transform: none !important; margin-top: 0 !important; }

/* ====================================================================
   2. KHUNG MOCKUP CHÍNH
   ==================================================================== */
.nsproduct__mockup { 
    position: relative !important; 
    width: 100% !important; 
    height: auto !important; 
    aspect-ratio: 9/16 !important; 
    display: block !important; 
    overflow: visible !important; 
    background: transparent !important; 
    transition: aspect-ratio 0.3s ease, margin-top 0.3s ease !important; 
}

/* ====================================================================
   3. GIẢI PHÁP TRIỆT ĐỂ: TƯỚC QUYỀN LỒNG KÍNH (LOẠI TRỪ DOTS)
   ==================================================================== */
.nsproduct__mockup div:not(.nsproduct__dots):not(.s4u-mockup-dots):not(.dot):not(.s4u-dot):not(.nsproduct__thumbnails):not(.nsproduct__hint):not(.nsproduct__nav),
.nsproduct__mockup figure,
.nsproduct__mockup a {
    position: static !important; 
    overflow: visible !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
}

/* ====================================================================
   4. FIX DOTS: ÉP DOTS NGANG HÀNG VỚI TÂM ĐỒNG HỒ
   ==================================================================== */
.nsproduct__mockup .nsproduct__dots,
.nsproduct__mockup .nsproduct__mockup-dots,
.nsproduct__mockup .s4u-mockup-dots {
    position: absolute !important;
    left: -45px !important;
    top: 46% !important;
    transform: translateY(-50%) !important;
    z-index: 99 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}
.nsproduct__mockup .nsproduct__dots .dot,
.nsproduct__mockup .nsproduct__mockup-dots .ns-dot,
.nsproduct__mockup .s4u-dot {
    position: relative !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.3) !important;
    cursor: pointer !important;
    transition: 0.3s !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
}
.nsproduct__mockup .nsproduct__dots .dot.active,
.nsproduct__mockup .nsproduct__dots .dot.is-active,
.nsproduct__mockup .nsproduct__mockup-dots .ns-dot.active,
.nsproduct__mockup .nsproduct__mockup-dots .ns-dot.is-active,
.nsproduct__mockup .s4u-dot.active {
    background: #00E5FF !important;
    box-shadow: 0 0 8px #00E5FF !important;
    border-color: #00E5FF !important;
}

/* ====================================================================
   4b. HINT TOOLTIP (Hướng dẫn đổi vỏ)
   ==================================================================== */
.nsproduct__mockup .nsproduct__hint {
    position: absolute !important;
    left: -45px !important;
    bottom: calc(50% + 100px) !important;
    transform: none !important;
    z-index: 200 !important;
    pointer-events: none !important;

    background: rgba(0, 229, 255, 0.15) !important;
    border: 1px solid #00E5FF !important;
    border-radius: 20px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    padding: 8px 16px !important;
    white-space: nowrap !important;

    opacity: 1;
    transition: opacity 0.5s ease, transform 0.5s ease !important;
}
.nsproduct__mockup .nsproduct__hint.is-hiding {
    opacity: 0 !important;
    transform: translateY(-8px) !important;
}
@keyframes nsHintIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.nsproduct__mockup .nsproduct__hint:not(.is-hiding) {
    animation: nsHintIn 0.4s ease-out;
}

/* Mobile: hint nằm trong mockup, không bị tràn trái */
@media (max-width: 768px) {
    .nsproduct__mockup .nsproduct__hint {
        left: 50% !important;
        bottom: 12% !important;
        transform: translateX(-50%) !important;
        white-space: normal !important;
        text-align: center !important;
        max-width: 80% !important;
    }
    .nsproduct__mockup .nsproduct__hint.is-hiding {
        transform: translateX(-50%) translateY(-8px) !important;
    }
    .nsproduct__mockup .nsproduct__hint:not(.is-hiding) {
        animation: nsHintInMobile 0.4s ease-out;
    }
    @keyframes nsHintInMobile {
        from { opacity: 0; transform: translateX(-50%) translateY(6px); }
        to   { opacity: 1; transform: translateX(-50%) translateY(0); }
    }
}

.nsproduct__mockup.is-gallery-mode .nsproduct__hint {
    display: none !important;
}

/* ====================================================================
   5. ĐIỀU KHIỂN VỎ VÀ LÕI (TỌA ĐỘ VÀNG CỦA SẾP)
   ==================================================================== */
.nsproduct__mockup .nsproduct__bezel-frame,
.nsproduct__mockup img[src*="template"] {
    position: absolute !important; 
    top: -5% !important; 
    left: 3% !important; 
    width: 102% !important; 
    height: 102% !important;
    max-width: none !important;
    object-fit: contain !important; 
    z-index: 2 !important;
    pointer-events: none !important;
    margin: 0 !important;
    display: block !important;
}

.nsproduct__mockup .nsproduct__face-img,
.nsproduct__mockup img.wp-post-image,
.nsproduct__mockup img:not([src*="template"]):not([src*="uploads/20"]) {
    position: absolute !important;
    top: 45% !important; 
    left: 51% !important; 
    width: 74% !important; 
    height: auto !important;
    aspect-ratio: 1/1 !important;
    border-radius: 50% !important;
    z-index: 1 !important;
    max-width: none !important; 
    max-height: none !important;
    display: block !important;
    transform: translate(-50%, -50%) !important; 
    transform-origin: center center !important; 
    object-fit: cover !important; 
    object-position: center center !important; 
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box !important;
}

/* ====================================================================
   6. CHẾ ĐỘ XEM ẢNH THỰC TẾ (CÁC ẢNH KHÁC)
   ==================================================================== */
.nsproduct__mockup.is-gallery-mode {
    aspect-ratio: auto !important;
    margin-top: 0 !important;
    height: auto !important;
    overflow: visible !important;
}

.nsproduct__mockup.is-gallery-mode .nsproduct__bezel-frame,
.nsproduct__mockup.is-gallery-mode img[src*="template"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}
.nsproduct__mockup.is-gallery-mode .nsproduct__face-img,
.nsproduct__mockup.is-gallery-mode img.wp-post-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    border-radius: 16px !important;
    transform: none !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    object-fit: contain !important;
    z-index: 5 !important;
    max-height: 500px !important;
}

/* Ẩn dots khi ở gallery mode */
.nsproduct__mockup.is-gallery-mode .nsproduct__mockup-dots,
.nsproduct__mockup.is-gallery-mode .ns-dot,
.nsproduct__mockup.is-gallery-mode .ns-nav-btn {
    display: none !important;
}

/* ====================================================================
   7. HÀNG THUMBNAILS
   ==================================================================== */
.nsproduct__thumbnails {
    position: relative !important;
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    margin-top: 25px !important;
    padding: 5px 0 10px 0 !important;
    align-items: center !important;
    clear: both !important;
    z-index: 10 !important;
}
.nsproduct__thumbnails img { width: 75px !important; min-width: 75px !important; height: 75px !important; object-fit: cover !important; border-radius: 8px !important; border: 1px solid rgba(255,255,255,0.15) !important; cursor: pointer !important; margin: 0 !important; transition: border-color 0.2s ease !important; }
.nsproduct__thumbnails img:hover, .nsproduct__thumbnails img.is-active, .nsproduct__thumbnails img.active { border-color: #00E5FF !important; }

/* Giữ khoảng cách an toàn giữa ảnh gallery và thumbnails */
.nsproduct__mockup.is-gallery-mode ~ .nsproduct__thumbnails,
.nsproduct__mockup.is-gallery-mode + .nsproduct__thumbnails {
    margin-top: 15px !important;
}


/* ====================================================================
   ĐẨY 2 NÚT ĐIỀU HƯỚNG XA NHAU RA
   ==================================================================== */
/* ====================================================================
   FIX CỨNG: ÉP 2 NÚT NEXT/PREV CĂN GIỮA TÂM VỎ ĐỒNG HỒ
   ==================================================================== */
.nsproduct__mockup .nsproduct__nav {
    position: absolute !important;
    top: 45% !important; /* Khớp đúng tọa độ 45% của mặt đồng hồ Sếp đã chốt */
    transform: translateY(-50%) !important;
    z-index: 100 !important;
    cursor: pointer !important;
    
    /* Ép Flex để nội dung bên trong nút luôn căn giữa */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Nút Prev (Trái) */
.nsproduct__mockup .nsproduct__nav--prev {
    left: -10px !important; /* Sếp điều chỉnh con số này để nút trái ra xa/gần */
}

/* Nút Next (Phải) */
.nsproduct__mockup .nsproduct__nav--next {
    right: -50px !important; /* Sếp điều chỉnh con số này để nút phải ra xa/gần */
}

/* Đảm bảo icon bên trong không bị lệch */
.nsproduct__mockup .nsproduct__nav svg {
    display: block !important;
    width: 35px !important; 
    height: 35px !important;
}




/* ====================================================================
   8. ĐỒNG BỘ KHU VỰC DƯỚI (MÔ TẢ, ĐÁNH GIÁ, SẢN PHẨM TƯƠNG TỰ)
   (Phiên bản bọc kín 100%, tuyệt đối không rò rỉ CSS lên phần Top)
   ==================================================================== */

/* 1. Khống chế độ rộng chuẩn 1200px cho cả khối Mô tả và Sản phẩm tương tự */
.nsport-product-page .nsproduct__bottom,
.nsport-product-page .related.products {
    max-width: 1200px !important;
    margin: 60px auto 40px auto !important; /* Đẩy cách phần trên 60px, tự động căn giữa */
    padding: 0 15px !important; 
    width: 100% !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* --- XỬ LÝ KHỐI MÔ TẢ (DESCRIPTION) --- */
.nsport-product-page .nsproduct__desc-title {
    color: #ffffff !important;
    font-size: 1.8rem !important;
    margin-bottom: 25px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-bottom: 15px !important;
}
.nsport-product-page .nsproduct__desc-content {
    color: #cccccc !important;
    line-height: 1.8 !important;
    font-size: 1.05rem !important;
}
.nsport-product-page .nsproduct__desc-content img {
    border-radius: 12px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 15px 0 !important;
}

/* --- XỬ LÝ SẢN PHẨM TƯƠNG TỰ (RELATED PRODUCTS) --- */
.nsport-product-page .related.products h2 {
    color: #ffffff !important;
    font-size: 2rem !important;
    margin-bottom: 30px !important;
    text-align: left !important;
    border-bottom: none !important;
}

/* Bẻ gãy float mặc định, bật Grid 4 cột */
.nsport-product-page .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important; /* Khoảng cách an toàn giữa 4 cột */
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Xóa 2 thẻ giả phá layout Grid của WooCommerce (CHỈ XÓA TRONG VÙNG RELATED) */
.nsport-product-page .related.products ul.products::before,
.nsport-product-page .related.products ul.products::after {
    display: none !important;
}

/* Ép từng Card sản phẩm gọn gàng, vuông vức, không bị phình to */
.nsport-product-page .related.products ul.products li.product {
    width: 100% !important;
    max-width: 100% !important; 
    margin: 0 !important;
    float: none !important; 
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 16px !important;
    padding: 15px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform 0.3s ease, border-color 0.3s ease !important;
    box-sizing: border-box !important;
}

/* Hover nháy sáng nhẹ */
.nsport-product-page .related.products ul.products li.product:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(0, 229, 255, 0.4) !important;
}

/* Ép ảnh sản phẩm tương tự thành hình vuông bo góc */
.nsport-product-page .related.products ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    margin-bottom: 15px !important;
    box-shadow: none !important;
}

/* Xử lý Tiêu đề & Giá của SP tương tự */
.nsport-product-page .related.products ul.products li.product .woocommerce-loop-product__title {
    color: #ffffff !important;
    font-size: 1.1rem !important;
    margin: 0 0 10px 0 !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}
.nsport-product-page .related.products ul.products li.product .price {
    color: #00E5FF !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
    margin-bottom: 0 !important;
    margin-top: auto !important; /* Luôn đẩy giá xuống đáy thẻ */
}
.nsport-product-page .related.products ul.products li.product .button {
    display: none !important; /* Ẩn nút Add to cart ngoài thẻ */
}

/* Responsive cho điện thoại & Tablet */
@media (max-width: 992px) {
    .nsport-product-page .related.products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 768px) {
    .nsport-product-page .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
}



/* ====================================================================
  /* ====================================================================
   11. TỐI ƯU HÓA MOBILE (RESPONSIVE) TRANG SINGLE PRODUCT (FIX LỆCH PHẢI)
   ==================================================================== */

/* 🚫 KHÓA TRỤC X CHỐNG KÉO NGANG (Đã test chuẩn) */
html, body {
    overflow-x: hidden !important; 
}
.nsport-product-page {
    overflow-x: hidden !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 📱 TABLET & MOBILE (Dưới 992px) */
@media (max-width: 992px) {
    
    /* 1. Ép toàn bộ khung bọc ngoài xếp dọc, ra giữa */
    body.single-product .nsport-product-page .nsproduct__top {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important; 
        justify-content: center !important;
        width: 100% !important;
        padding: 0 15px !important;
        gap: 25px !important;
    }
    
    body.single-product .nsport-product-page .nsproduct__media {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin: 0 auto !important;
    }
    
    /* 2. CHỮA BỆNH CỘT THÔNG TIN LỆCH PHẢI (XÓA FLOAT, ÉP 100% RA GIỮA) */
    body.single-product .nsport-product-page .nsproduct__info,
    body.single-product .nsport-product-page .summary.entry-summary {
        width: 100% !important; 
        max-width: 100% !important; 
        float: none !important; /* 🔥 Chìa khóa phá vỡ lệnh bám lề phải cũ */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important; 
        justify-content: center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        text-align: center !important; 
        gap: 15px !important;
        box-sizing: border-box !important;
    }

    /* 3. FIX TIÊU ĐỀ LỘN XỘN (Ép căng ngang và cho chữ vào tâm) */
    body.single-product .nsport-product-page h1.nsproduct-title {
        width: 100% !important;
        text-align: center !important;
        text-align-last: center !important;
        font-size: 1.8rem !important;
        line-height: 1.4 !important;
        margin: 0 auto !important;
        white-space: normal !important;
        word-break: break-word !important; 
    }

    /* 4. ĐƯA GIÁ TIỀN RA GIỮA */
    body.single-product .nsport-product-page .nsproduct__price {
        width: auto !important;
        display: inline-block !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    /* 5. CĂN GIỮA MÔ TẢ NGẮN */
    body.single-product .nsport-product-page .nsproduct__short-desc {
        width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
    }

    /* 6. NÚT CTA (KÉO RỘNG VÀ ĐẶT GIỮA) */
    body.single-product .nsport-product-page .nsproduct__cta {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        margin: 0 auto !important;
    }
    body.single-product .nsport-product-page .nsproduct__cta-btn {
        width: 100% !important;
        max-width: 350px !important; /* Độ rộng vừa đủ sang trọng cho mobile */
        display: flex !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 15px !important;
    }

    /* 7. CĂN GIỮA CATALOGUE / BADGES */
    body.single-product .nsport-product-page .nsproduct__badges {
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        margin: 0 auto !important;
        gap: 8px !important;
    }
}

/* 📱 MOBILE ĐIỆN THOẠI (Dưới 768px) */
@media (max-width: 768px) {
    body.single-product .nsport-product-page .nsproduct__mockup {
        width: 320px !important; 
        max-width: 100% !important;
        margin: 0 auto !important;
    }
    body.single-product .nsport-product-page .nsproduct__mockup-dots,
    body.single-product .nsport-product-page .nsproduct__dots {
        left: -40px !important;
        transform: translateY(-50%) scale(0.85) !important;
    }
    body.single-product .nsport-product-page .nsproduct__nav {
        width: 35px !important; height: 35px !important;
    }
    body.single-product .nsport-product-page .nsproduct__nav--prev { left: 25px !important; }
    body.single-product .nsport-product-page .nsproduct__nav--next { right: 5px !important; }
}

/* 📱 MOBILE SIÊU NHỎ (Dưới 480px) */
@media (max-width: 480px) {
    body.single-product .nsport-product-page .nsproduct__mockup { width: 280px !important; }
    body.single-product .nsport-product-page .nsproduct__mockup-dots,
    body.single-product .nsport-product-page .nsproduct__dots { left: -40px !important; transform: translateY(-50%) scale(0.75) !important; }
    body.single-product .nsport-product-page h1.nsproduct-title { font-size: 1.6rem !important; }
}

/* ==========================================================
/* ====================================================================
   MOBILE FIX: ĐẨY TOÀN BỘ KHUNG XUỐNG DƯỚI, CHỐNG BỊ CẮT GÓC TRÊN
   ==================================================================== */
@media (max-width: 768px) {
    /* 1. Ép form chữ nhật đứng và thêm margin đẩy toàn khối xuống */
    body.single-product .nsport-product-page .nsproduct__mockup {
        width: 320px !important; 
        max-width: 100% !important;
        margin: 20px auto 0 !important; /* Đẩy khối cách trần 20px */
        aspect-ratio: 9/16 !important; 
        display: block !important;
    }

    /* 2. Đẩy khung vỏ (Bezel) tụt xuống dưới */
    .nsproduct__mockup .nsproduct__bezel-frame,
    .nsproduct__mockup img[src*="template"] {
        position: absolute !important; 
        top: 3% !important; /* Đẩy dương 3% (Lúc trước là -5%) để tụt xuống dưới */
        left: 3% !important; 
        width: 102% !important; 
        height: 102% !important;
        max-width: none !important;
        object-fit: contain !important; 
    }

    /* 3. Kéo mặt đồng hồ xuống khớp đúng tâm mới của vỏ (45% + 8% = 53%) */
    .nsproduct__mockup .nsproduct__face-img,
    .nsproduct__mockup img:not([src*="template"]):not([src*="uploads/20"]) {
        position: absolute !important;
        top: 53% !important;  /* Khớp tuyệt đối với tâm mới của Bezel */
        left: 51% !important; 
        transform: translate(-50%, -50%) !important; 
        
        width: 74.2% !important; 
        height: auto !important; 
        aspect-ratio: 1 / 1 !important; 
        
        object-fit: cover !important;
        border-radius: 50% !important;
        
        -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
        mask-image: radial-gradient(white, black) !important;
        
        z-index: 1 !important;
        margin: 0 !important;
    }

    /* 4. Kéo 2 nút Next/Prev xuống ngang tâm mặt đồng hồ mới */
    body.single-product .nsport-product-page .nsproduct__nav {
        top: 53% !important;
    }

    /* 5. Kéo dải dấu chấm tròn (Dots) xuống ngang tâm mới */
    body.single-product .nsport-product-page .nsproduct__mockup-dots,
    body.single-product .nsport-product-page .nsproduct__dots {
        top: 53% !important;
        left: -40px !important;
        transform: translateY(-50%) scale(0.85) !important;
    }

    /* Căn chỉnh 2 nút mũi tên gọn lại trên Mobile */
    body.single-product .nsport-product-page .nsproduct__nav {
        width: 35px !important; height: 35px !important;
    }
    body.single-product .nsport-product-page .nsproduct__nav--prev { left: 25px !important; }
    body.single-product .nsport-product-page .nsproduct__nav--next { right: 5px !important; }
}

/* ====================================================================
   FIX ẢNH ĐEN KHI QUAY LẠI MOCKUP & CHẶN LONG-PRESS SAVE IMAGE
   ==================================================================== */

/* Force re-render face-img khi thoát gallery mode (fix ảnh đen) */
.nsproduct__mockup:not(.is-gallery-mode) .nsproduct__face-img {
    opacity: 1;
    visibility: visible;
    display: block;
}

/* Chặn Save Image khi long-press/3D touch trên ảnh mockup */
.nsproduct__mockup .nsproduct__face-img {
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}
.nsproduct__mockup .nsproduct__bezel-frame {
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
    pointer-events: none !important;
}

/* touch-action: auto để touch events luôn được gửi tới JS handlers */
.nsproduct__mockup {
    touch-action: auto !important;
}

/* Nhưng dots vẫn có thể click được */
.nsproduct__mockup .ns-dot {
    pointer-events: auto !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

/* Mobile: fix dots container cũng cho phép click */
.nsproduct__mockup-dots {
    pointer-events: auto !important;
}

