.hero_obj_align img{
    object-position: var(--obj-align);
}
            .hero__bg {
            position: relative;
            height: 60vh; /* Default height for mobile */
            max-height: 720px;
            overflow: hidden;
        }
        .hero__explain {
            position: absolute;
            z-index: 30;
            text-align: center;
            width: 80%; /* Mobile width */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            display: flex;
            flex-direction: column;
            align-items: center;
            pointer-events: none
        }
        .hero__explain h1, 
.hero__explain p, 
.hero__explain .view_mockup_btn {
    pointer-events: auto; /* แต่ยังคงให้คลิกที่ตัวอักษรและปุ่มในนั้นได้ตามปกติ */
}
        .hero__explain p{
                    color:white;
                }
                .hero__explain svg {
                    width: 20px;
                    height: 20px;
                    
                }
                .hero__explain svg path{
                    
                    fill:white !important;
                }
            
                .hero__slides{
                    position: absolute;

                    /* add */
                    top: 0;
        left: 0;
        width: 100%;
        height: 100%;

                }
                .hero__item{
position: absolute;
                    align-items: center; 
                    justify-content: center; 
                    width: 100%; 
                    height: 100%; 
                    overflow: hidden; 
                    
                    
                    /* display: none;  */
                    top: 0;
            left: 0;
            opacity: 0;
            transition: opacity 0.8s ease-in-out;
                }
                .hero__item--right-top{
                    object-position: right top;
                }
                .hero__item.active{

                    /* display: flex; 
                    align-items: center; 
                    justify-content: center; 
                    width: 100%; 
                    height: 100%; 
                    overflow: hidden; 
                    filter: brightness(0.7); */
                    opacity: 1;
                }
                /* .hero__item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        } */
/* --- New Style for Image Wrapper --- */
.hero__image-wrapper {
    position: relative; /* This is the key: makes it the positioning context */
    width: 100%;
    height: 100%;
    overflow: hidden; /* Contains the image */
}

.hero__image-wrapper>img {
    /* Apply existing image styles to the image inside the wrapper */
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.7);
}

/* Ensure object-position class targets the wrapper for consistency */
.hero__item--right-top {
    object-position: right top;
}

        /* --- Style สำหรับ Dot (Hotspot) และ Product Card --- */
.product__dot {
    position: absolute;
    z-index: 30; /* ให้อยู่เหนือสไลด์ */
    /* width: 20px;
    height: 20px; */
    background-color: white;
    border-radius: 50%;
    /* border: 3px solid #000; */
    cursor: pointer;
    transition: background-color 0.2s;
    transform: translate(-50%, -50%); /* จัด Dot ให้อยู่ตรงกลางของตำแหน่งที่กำหนด */
}

.product__dot:hover {
    background-color: #f1f1f1;
}

.product__dot_card {
    position: absolute;
    /* top: 100%; */
     /* แสดงการ์ดด้านล่าง Dot */
    top:unset;
    bottom:-50px;
    /* left: 53%; */
    left: 100px;
    /* transform: translateX(-50%); */
    width: 200px;
    /* background-color: white; */
    color: #333;
    padding: 10px;
    /* border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden; */
    transition: opacity 0.3s, visibility 0.3s;
    /* pointer-events: none;  */
    /* ป้องกันการ์ดบัง Dot */
    height:fit-content;
}

.product__dot:hover .product__dot_card {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.product__dot_card p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5em;
    color:white;
    
}
/* --- End Style สำหรับ Dot --- */
                .view_mockup_btn{
                    background:#414F46;
                    /* background:white; */
                    color:white;
                    border-radius: 1em;
                    padding: 0 0.5em;
                    width: fit-content;
                }


                
                

                .hero__slides_control{
                    position: absolute;
                    display:flex;
                    bottom:2em;
                    width: fit-content;
                    left:50%;
                    transform:translateX(-50%);
                    gap:0.5em;
                    z-index: 30;

                }
                .hero__slides_control_btn{
                    width: 10px;
                    height: 10px;
                    border-radius:50%;
                    background:grey;
                    transition: all 0.3s ease;
                }
                .hero__slides_control_btn.active{
                    width: 30px;
                    
                    border-radius:1em;
                    background:white;
                }
@media only screen and (min-width: 700px){
                .hero__bg{
                    position:relative;
                    height: 500px;
                }
                .hero__explain{
                    /* position: absolute;
                    left:20%;
                    top:50%;
                    transform:translateY(-50%); */
                    /* display:flex; */
                    flex-direction:column;

                    /* width: 30%;
                    color:white; */

                    
                            align-items: flex-start;
                            text-align: left;

                }
                .view_mockup_btn{
                    background:white;
                    color:black;
                    border-radius: 1em;
                    padding: 0 0.5em;
                    width: fit-content;
                }
                .hero__explain svg path{
                    
                    fill:black !important;
                }
            }
            /* Ensure the active slide is placed on top of all other slides */
.hero__item.active {
    opacity: 1;
    z-index: 20; /* Ensure active slide is above inactive slides (which default to a lower z-index) */
}

/* New/Adjusted style to disable interaction on inactive slides' dots */
.hero__item:not(.active) .product__dot {
    pointer-events: none; /* KEY FIX: Makes dots on inactive slides unclickable */
    /* You may also want to set a lower z-index for inactive slide elements if interference persists */
    z-index: 1;
}

/* Ensure the dot on the active slide remains clickable and above other elements */
.hero__item.active .product__dot {
    pointer-events: auto; /* Re-enable pointer events for the active slide's dots */
    z-index: 30; /* Keep it high to ensure it's above the image */
}

.product_cover>img{
    max-height:100px;
}
.product_cover{
    text-align:center;
    display: none;
}
.dot_amt {
  /* display: block; */
  display: none;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgb(243, 241, 242);
  opacity: 0;
  animation: 1.8s ease-out 0s infinite normal none running dot_active;
  z-index: 30;
}
@keyframes dot_active {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }

  85% {
    transform: scale(2.3);
    opacity: 0;
  }
}
.product_body{
    padding: .5em;
}
.product_body--code{
    /* font-size:1.2em; */
    font-weight: bold;
}
.product_body--name{
    /* font-size:1em; */
}
svg.dot_line {
    position: absolute;
    /* height: 50px !important; */
    top: 0;
    transform: translateX(10px);
}
@media only screen and (max-width: 699px){
    .dot_line{
        display: none;
    }
   .product__dot {
    --left-mb-spot:15%;
    --top-mb-spot:96%;
    left:var(--left-mb-spot) !important;
    top:var(--top-mb-spot) !important;

    width: 5px;
    height:5px;
    background:white !important;
   }
   .dot_amt{
    width: 5px;
    height:5px;
    display:none;
   }
.product_cover{
    display:none;
}
    .product__dot_card {
        position: absolute;
        bottom: 70%;
        left: -19px;
        /* transform: translateX(-50%); */
        width: 200px;
        background-color: unset;
        color: white;
        padding: 10px;
        border-radius: 8px;
        box-shadow: unset;
        opacity: 1;
        visibility: visible;
        transition: opacity 0.3s, visibility 0.3s;
        pointer-events: auto;
        height: fit-content;
        top: unset;
    }
.product_body p{
    color:white;
}
    .product__dot::after {
        content: '';
        position: absolute;
        bottom: 10px;
        left: -6px;
        transform: rotate(90deg);
        height: 1px;
        width: 16px;
        background-color: white;
        z-index: -1;
        /* box-shadow: 30px 0 0 0 white; */
        /* border-radius: 50%; */
    }
    .hero__slides_control{
        left:unset;
        right: 0;
    }
}