*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root {
    --primary-font: 'Montserrat', sans-serif;
    --secondary-font: 'Inter', sans-serif;
}
body{
    font-family: var(--secondary-font);
    color: #1a1a1a;
    background-color: white;
    h1,h2,h3{
        font-family: var(--primary-font);
        font-weight: 700;
    }
    p{
        font-weight: 300;
    }
}
header{
    background-color:white;
    display: flex;
    align-items: center;
    padding: 0.5rem;
    justify-content: space-between;
}
.logo{
    display: flex;
    align-items: center;
}
div.logo img{
    width: 2rem;
    height: auto;
    border-radius: 25%;
    margin: 0 0.3rem;
}
nav{
    background-color: white;
    font-size: 0.6rem;
    font-weight: bold;
}
.nav-links{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    li{
        list-style: none;
        a{
            text-decoration: none;
            color: black;
        }
    }
}
.hero {
    padding: 0; 
    overflow: none;
}

.hero-slider {
    display: flex;
    overflow-x: auto; 
    scroll-snap-type: x mandatory; 
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; 
}
.hero-slider::-webkit-scrollbar {
    display: none;
}

.hero-slide {
    position: relative;
    flex: 0 0 100%; 
    width: 100%;
    min-height: 90vh;
    scroll-snap-align: start; 
    scroll-margin-top:100px;
    display: flex;
    flex-direction: column; 
    justify-content: end;
    padding: 0 10%;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

/* ใส่รูปแยกตาม ID */
#slide-1 { background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('assets/hero1.webp'); }
#slide-2 { background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('assets/hero2.webp'); }
#slide-3 { background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('assets/hero3.webp'); }

.hero-content {
    max-width: 600px;
    color: white;
    padding: 5vh;
    h1{
        font-size: 1.5rem;
    }
    p{
        font-size: 0.8rem;
        max-width: 380px;
    }
}
.btn{
    background-color: black;
    color: white;
    border-color: white;
    text-align: center;
    min-width: 80px;
    font-size: 0.5rem;
    padding: 3px;
    margin-top: 0.8rem;
}
.slider-arrows a{
    text-decoration: none;
    position: absolute;
    font-size: 1rem;
    top: 50%;
    margin: 1rem;
    color: white;
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    padding: 0.3rem;
}
.next-arrow{
    right: 0;
}
.prev-arrow{
    left: 0;
}
.slider-arrows a:hover {
    background-color: rgba(255, 255, 255, 0.8);
    color: black;
}
.feature{
    background-color:#0A0A0A;
    color: white;
    display: flex;
    justify-content: center;
    .feature-item{
        color: white;
        padding: 0.5rem;
        margin: 1rem 1rem;
        p{font-size: 0.5rem;}
        h3{
            font-size:0.8rem;
            margin-bottom:0.3rem;
            text-align: center;
        }
        p{
            text-align: center;
        }
    }
    
}

.bestseller{
    background-color: white;
    
    .bestseller-head{
        background-color:white;
        display: flex;
        justify-content: center;
        text-decoration: underline;
        padding-top: 1.5rem;
    }
    .bestseller-item-container{
        display: flex;
        justify-content: center;
        margin-top:1rem;
        background-color: white;
        

        .bestseller-item{
            background-color: white;
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: 0 0.5rem;
            text-align: center;
            p{
                font-size: 0.5rem;
                max-width: 6rem;
                text-align: center;
            }
            h4{font-size: 0.8rem;}
            img{
                width: 100%;
                margin-bottom: 0.2rem;
                max-width: 150px;
            }
            span{
                font-size: 0.7rem;
            }

        }
    }
    view-timeline-name: --item-reveal;
    view-timeline-axis: block;

    animation: reveal linear both;
    animation-timeline: --item-reveal;
    animation-range: entry 30% cover 30%;
}

.History{
    background-color: black;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    background-size: cover;
    background-position: center;
    margin-top: 1.7rem;
    img{
        width: 100%;
        max-width: 270px;
        object-fit: cover;
        object-position: center;
    }
    .img-History{
        background-color: black;
        text-align: center;

    }
    .text-history{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background-color: black;
        text-align: center;
        color: white;
        h3{font-size: 1rem;}
        p{
            font-size: 0.5rem;
            max-width: 320px;
        }
    }
}
.products-collection{
    background-color: white;
    .tab-headers{
        background-color: white;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 1rem 0.3rem 0 0.5rem;
        padding: 0 7%;
        ul{
            background-color: white;
            color: black;
            list-style: none;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.65rem;
            font-weight: bold;
            gap: 0.6rem;
            .featured-product{
                color: peru;
            }
        }
        .tab-controls{
            margin: 0.2rem 0;
            .ctrl-btn{
                padding: 0 0.3rem;
            }
        }
    }
}
.product-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(5,1fr);
    padding: 0 7%;
    gap: 2.5vw;
    .product-item{
        border: solid 0.1rem gray;
        border-radius: 0.25rem   ;
        
        .product-img{
            position: relative;
            img{
                width: 100%;
            }
            span{
                position: absolute;
                top: 0.5rem;
                left: 0.5rem;
                z-index: 10;
                background-color:peru;
                color: white;
                padding: 0.1rem;
                border-radius: 0.2rem;
            }

        }
        .product-info{
            background-color: white;
            text-align: center;
            border-top: solid 0.1rem gray;
            padding: 0.5rem;
            font-size: 0.9rem;
            .old-price{
                color: grey;
            }
            .new-price{
                color: peru;
                font-weight: bold;
            }
        }
    }
    view-timeline-name: --item-reveal;
    view-timeline-axis: block;
    animation: reveal linear both;
    animation-timeline: --item-reveal;
    animation-range: entry 10% cover 25%;
}

.testimonials{
    background-color:white;
    margin: 1rem 0;
    .head-testimonials{
        background-color: white;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .item-testimonials{
        background-color: white;
        display:flex;
        overflow-x: auto ;
        scroll-snap-type: x mandatory;

        .card-testimonials{
            display: flex;
            flex-basis: 100%;
            flex-direction: column;
            scroll-snap-align: center;
            align-items: center;
            justify-content: center;
            margin: 0 1rem;
            padding: 1rem 2rem;
            background-color: white;
            img{
                width:15rem;
                height: 10rem;
                object-fit: cover;
                align-items: center;
            }
            p{
                font-size: 0.8rem;
                max-width: 300px;

                text-align: center;
            }
        }
    }
    view-timeline-name: --item-reveal;
    view-timeline-axis: block;
    animation: reveal linear both;
    animation-timeline: --item-reveal;
    animation-range: entry 30% cover 40%;
}
.newsletter{
    background-color: black;
    color: white;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    
    .newsletter-info{
        order: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0.3rem;
        h2{
            font-size: 1rem;
            margin-bottom: 0.7rem;
        }
        p{
            font-size: 0.5rem;
            text-align:center;
            
        }
        .subscribe-form{
            display: flex;
            justify-content: center;
            margin-top: 1rem;
            input[type="email"]{
                flex:1;
                font-size: 0.5rem;
                padding:0.3rem ;
                border-top:white 1px solid;
                border-left:white 1px solid;
                border-bottom:white 1px solid;
                border-right:white 1px solid;
                
            }
            button{
                font-size: 0.6rem;
                padding: 0.3rem;
                border: white 1px solid;
                background-color: black;
                color: white;
            }
        }

    }
    .newsletter-image{
        order:2;
        max-width: 270px;
        max-height: auto;
        img{
            width: 100%;
            object-fit: cover;
            object-position: center;
        }
    }
}
.upper-footer{
    background-color:#0A0A0A;
    color: white;
    display: flex;
    justify-content: space-between;
    padding: 0 1rem;
    padding: 0.5rem;
    margin-top: -1px;
    font-size: 0.4rem;
    p{
        width: 4rem;
    }
    .nav-footer{
        padding: 0.7rem 0;
        ul{
            display: flex;
            justify-content: space-between;
            gap: 0.3rem;
            list-style: none;
            li a{
                text-decoration: none;
                color: white;
            }
        }
    }
    .contact{
        padding: 0.7rem 0;
    }
}
.lower-footer{
    background-color: #0A0A0A;
    color: white;
    display: flex;
    justify-content: space-between;
    font-size: 0.35rem;
    padding: 0.5rem;
    margin-top: -1px;
    border-top: grey 0.5px solid;
    a{
        text-decoration: none;
        color: white;
    }
}
@media (min-width: 768px){
    .product-grid{
        grid-template-columns: repeat(3,1fr);
        grid-template-rows: repeat(4,1fr);
    }
    #slide-1{
        background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),url(assets/hero-highpx/hero1-highpx.webp);
    }
    #slide-2{
        background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),url(assets/hero-highpx/hero2-highpx.webp);
    }
    #slide-3{
        background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),url(assets/hero-highpx/hero3-highpx.webp);
    }
}

@media (min-width :1024px){
    .product-grid{
        grid-template-columns: repeat(4,1fr);
        grid-template-rows: repeat(3,1fr);
    }
}

@keyframes reveal {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}