html {
  scroll-behavior: smooth;
}
aside{
    position: fixed;
    right: 80px;
    bottom:320px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    z-index: 1000;
}
aside img{
    width: 50px;
    height: 50px;
}

html,
body {
    position: relative;
    height: 100%;
    background-color: var(--neutral-color);
}

/* 상세페이지 스와이퍼 js스타일 */
.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #444;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.swiper {
    width: 100%;
    height: 300px;
    margin-left: auto;
    margin-right: auto;
}

.swiper-slide {
    background-size: cover;
    background-position: center;
}

.mySwiper2 {
    height: 80%;
    width: 100%;
}

.mySwiper {
    height: 20%;
    box-sizing: border-box;
    padding: 10px 0;
}

.mySwiper .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: 0.4;
}

.mySwiper .swiper-slide-thumb-active {
    opacity: 1;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
}

element.style {
    width: 100%;
    margin-right: 0px;
}

.detail-wrap{
    padding-top: 10rem;
    /* border: 1px solid red; */
}
.detail-wrap .img-box {
    /* border: 1px solid red; */
    display: flex;       /* 가로 배치 */
    flex-direction: row; /* 왼쪽: 메인, 오른쪽: 썸네일 */
    width: 818px; 
    height:700px;       /* 높이가 고정되어야 세로 슬라이드가 작동해요! */
    gap: 1rem;
    margin-bottom: 10rem;
}

/* 왼쪽 큰 사진 */
.mySwiper2 {
    width: 650px ; 
    height: 700px ;
    /* border: 1px solid blue; */
}

/* 오른쪽 작은 사진들 */
.mySwiper {
    /* border: 1px solid blue; */
    width: 150px;
    height: 100%;
}

.mySwiper .swiper-wrapper {
    /* 사진이 3개뿐일 때 세로로 예쁘게 나열되도록 설정 */
    /* border: 1px solid gold; */
    display: flex;
    flex-direction: column; 
    gap: 1rem;
}

.mySwiper .swiper-slide {
    width: 100% !important;
    height: 150px;
    opacity: 0.5;
}

.mySwiper .swiper-slide-thumb-active {
    opacity: 1;
    /* 선택된 표시 */
}

/* 상세페이지 스타일 */
.detail-wrap .img-box{
}


/* 리뷰 스타일 */
.best-review-photo{
    padding: 2rem 0;
    border-radius: 10px;
    background-color: #EDF2F2;
    margin-bottom: 2rem;
}
.best-review-photo ul{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
}
.best-review-photo ul>li{
    width: 200px;
    height: 200px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}
.review .option{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 2rem;
}
.review-item{
    border: 1px solid #000;
    border-radius: 10px;
    padding: 2rem;
    display: flex;
    
}
.review-item figure{
    width: 200px;
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
}
.review-item figure img{
    height: auto;
}
.review-item .review-desc {
    width: 650px;
    padding-left: 2rem;
}
.review-item .review-desc .review-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}
.review-title .star{
    width: 80px;
    height: 12.5px;
}
.review-item .review-desc>p{
    text-align: start;
    margin-bottom: 2rem;
}
.review-desc .item-info{
    display: flex;
    justify-content: space-between;
    color: rgba(0, 0, 0, 0.6);
}
.item-info .product-info{
    font-size: var(--body-2);    
}
.item-info .user-info{
    font-weight: var(--bold-weight);
}
.user-review>ul{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 3rem;
}
.user-review .pagination{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
.user-review .pagination>span{
    font-size: var(--body-1);
    font-weight: var(--light-weight);
    cursor: pointer;
}


/* qna스타일 */
.qna .qna-title{
    padding-bottom: 2rem;
    text-align: center;
}
.qna-text .title-box{
    display: flex;
    justify-content: space-between;
    padding: 28px 2rem;
    border: 1px solid #000;
}
.qna-text .title-box.active{
    color: #fff;
    background-color: var(--main-color);
}
.qna-text .title-box .q{
    display: flex;
    gap: 2rem;
}
.qna-box .icon,.icon-click{
    width: 30px;
    height:30px;
}
.qna-desc{
    box-sizing: border-box;
    width: 100%;
    padding: 1rem 0;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.qna-desc p{
    text-align: start;
    width: 800px;
}
.qna-box .icon{
    display: block;
}
.qna-box .icon.active{
    display: none;
}
.qna-box .icon-click{
    display: none;
}
.qna-box .icon-click.active{
    display: block;
}
.qna-text{
    max-height: 97px;
    overflow: hidden;
    transition: .3s ease;
}
.qna-text.active{
    max-height: 500px;
}





/* 반품안내 스타일 */
.detail-caregoty-wrap .service .point:nth-of-type(1){
    padding-bottom: 2rem;
    text-align: center;
}
.delivery .desc1{
    
}
.service .delivery{
    width: 100%;
    height: 291px;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
}
.service button{
    margin: 0 auto;
    width: 300px;
    height: 36px;
    border-radius: 50px;
    background-color: var(--main-color);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--heading-2);
    font-weight: var(--bold-weight);
    margin-bottom: 3rem;
}
.service .notes{
    font-weight: var(--medium-weight);
    font-family: var(--font-point);
    padding: 10px;
    margin-bottom: 1rem;
}
.service figure{
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.service h3{
    margin-bottom: 2rem;
    text-align: center;
}
.service .desc2{
    text-align: center;
}

/* 스티키 메뉴 클릭했을 때 나오는 스타일*/
.detail-caregoty-wrap .detail{
    display: none;
}
.detail-caregoty-wrap .detail.active{
    display: block;
}
.review{
    display: none;
}
.review.active{
    display: block;
}
.qna{
    display: none;
}
.qna.active{
    display: block;
}
.service{
    display: none;
}
.service.active{
    display: block;
}


/* 오른쪽 상품 구매 스타일 */
.detail-wrap>.common-frame{
    text-align: center;
    /* border: 1px solid red; */
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--margin-top-pc);
}
.detail-wrap .order-box{
    /* border: 5px solid rgb(0, 255, 55); */
    width: 400px;
    position: relative;
}
.order-box .option-list{
    font-size: var(--body-2);
    font-weight: var(--light-weight);
    border-radius: 0 0 2px 2px ;
    border: 1px solid #000;
    border-top: none;
}
.option-list li{
    padding: 4px 0;
    cursor: pointer;
}
.option-list li:hover{
    background-color: rgba(181, 181, 181, 0.25);
}

.price-container{
    position: sticky;
    top: 100px;
    left: 0;
    /* border: 1px solid gold; */
}
.price-container>dl>dt{
    text-align: start;
}
.item-price{
    text-align: start;
}
.price-container .category{
    text-align: start;
    margin-bottom: .5rem;
}
.order-box .size-option{
    display: flex;
    justify-content: space-between;
}
.order-box .option-selector{
    width: 340px;
    background-color: #fff;
    text-align: center;
    margin-bottom: 1rem;
    max-height: 33.4px;
    overflow: hidden;
    transition: all .2s ease 0s;
}
.order-box .option-selector.active{
max-height: 200px;
}
.option-selector button{
    font-size: 16px;
    font-weight: var(--light-weight);
    width: 340px;
    justify-content: space-between;
    align-items: center;
    display: flex;
    border-radius: 2px;
    border: 1px solid #000;
    padding: 4px 20px;
}
.option-selector.active button img{
    transform: rotate(180deg);
}
.price-container .product-name{
    text-align: start;
}
.price-container .product-desc{
    text-align: start;
}


.color-option{
    display: flex;
    justify-content: space-between;
}
.price-container dl{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    font-size: var(--body-2);
    font-weight: var(--bold-weight);
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}
.price-container dd{
    text-align: end;
}
.price-container .price{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .5rem;
}
.price .light{
    text-decoration: line-through;
}
.price .bold{
    color: #FF383C;
}
.price-container .final-price{
    font-size: var(--heading-1);
    font-weight: var(--bold-weight);
    text-align: end;
    margin-bottom: 1.5rem;
}
.price-container .order-btn{
    color: #fff;
}
.price-container .order-btn span{
    font-weight: var(--bold-weight);
    width: 100%;
    height: 40px;
    background-color: var(--point-color-2);
}
.price-container .cart-btn{
    display: flex;
    margin-bottom: 2rem;
}
.cart-btn span{
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: var(--bold-weight);
    color: #fff;
    width: 320px;
    height: 40px;
    background-color: var(--main-color);
}
.card-benefits>p{
    padding-bottom: 10px;
    border-bottom: 1px solid #000;
    margin-bottom: 1rem;
    text-align: start;
}
.benefits-detail{
    /* border: 1px solid red; */
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    color: var(--main-color);
}
.cart-btn img{
    width: 40px;
    height: 40px;
    cursor: pointer;
}
.heart{
    display: block;
}
.heart.active{
    display: none;
}
.heart-click{
    display: none;
}
.heart-click.active{
    display: block;
}



/* 제품 상세 페이지 스티키메뉴 스타일 */
.sticky-menu-wrap {
    width: 901px;
    /* position: sticky;
    top:120px;
    left: 0; */
    margin-bottom: 2rem;
}
.sticky-menu{
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
}
.sticky-menu-wrap>li{
    border: 1px solid red;
}
.sticky-menu>li.active>a{
    background-color: var(--point-color-2);
}
.sticky-menu>li>a{
    padding: .5rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: var(--point-color-1);
    
    font-weight: var(--bold-weight);
}
.sticky-menu>li>a.active{
    background-color: var(--point-color-2);
}
.detail-caregoty-wrap{
    width: 901px;
}
.detail-caregoty-wrap .detail .img-container{
    max-height:  1911px;
    overflow: hidden;
}
.detail-caregoty-wrap .detail .img-container.active{
max-height: 15000px;
}
.detail span{
    width: 100%;
    height: 60px;
    justify-content: center;
    align-items: center;
    display: flex;
    gap: .5rem;
    background-color: #EFEFEF;
    cursor: pointer;
}
.detail span img{
    width: 20px;
    height: 20px;
}

/* 추천상품 스타일 */
.rcmd-items .more{
    width: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}
.rcmd-items .more .btn-more a{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: var(--heading-4);
    font-weight: var(--bold-weight);
    color: rgba(0, 0, 0, 0.5);
}
.btn-more img{
    width: 19px;
    height: 20px;
}
.common-frame.rcmd{
}
.rcmd-items{
}
.rcmd-product-list{
    margin-bottom: var(--margin-top-pc);
    display: flex;
    justify-content: space-between;
}
.rcmd-product figure{
    width: 378px;
    aspect-ratio: 378/425;
    margin-bottom: 1rem;
    border-radius: 10px;
    overflow: hidden;
}
.rcmd-product figcaption{
    display: flex;
    flex-direction: column;
    gap: .5rem;
}


@media (max-width:1440px){
    /* 상세페이지 스와이퍼 js스타일 */
    .swiper {
      width: 100%;
      height: 100%;
    }

    .swiper-slide {
      text-align: center;
      font-size: 18px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }


    .swiper {
      width: 100%;
      height: 300px;
      margin-left: auto;
      margin-right: auto;
    }

    .swiper-slide {
      background-size: cover;
      background-position: center;
    }

    .mySwiper2 {
      height: 80%;
      width: 100%;
    }

    .mySwiper {
      height: 20%;
      box-sizing: border-box;
      padding: 10px 0;
    }

    .mySwiper .swiper-slide {
      width: 25%;
      height: 100%;
      opacity: 0.4;
    }

    .mySwiper .swiper-slide-thumb-active {
      opacity: 1;
    }

    .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .detail-wrap .img-box {
        /* border: 1px solid red; */
        display: flex;
        flex-direction: column;
        width: 818px;
        height: 700px;
        gap: 1rem;
        margin-bottom: 10rem;
    }
}

@media (max-width:768px){

}

@media (max-width:370px){

}

@media (max-width:350px){
    
}