#contents{background: var(--neutral-20, #F8FAFC);}
.goods_view .container{max-width: 1072px; width: 100%; padding: 48px 40px; display: flex; gap: 24px; align-items: flex-start;}
.goods_view .contents{flex: 1 0 0; display: flex; flex-direction: column; flex-basis: 52%; max-width: 571px;}
.goods_view .contents section{display: flex; overflow: hidden; border-radius: 12px; background: #FFF; flex-direction: column;}
.goods_view section+section{margin-top: 14px;}

/* summary */
.summary{padding: 24px; gap: 16px;}
.summary .information{display: flex; flex-direction: column;}
.summary .information .top{display: flex; justify-content: space-between; align-items: center;}
.summary .information .top .brand{font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
.summary .information .top .icon{display: flex; gap: 4px;}
.summary .information .top .icon button{width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;}
.summary .information .top .icon button img{width: 24px;}
.summary .information .top .icon .btn_wish:before{content: ''; display: block; width: 24px; height: 24px; background: url('/images/icon/icon-heart.svg')no-repeat; background-size: 24px;}
.summary .information .top .icon .btn_wish.on:before{content: ''; display: block; width: 24px; height: 24px; background: url('/images/icon/icon-heart-fill.svg')no-repeat; background-size: 24px;}
.summary .information strong{font: var(--title-title4-b); letter-spacing: var(--ls-title-title4-b); word-break: keep-all;}

.summary .main_img{border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-radius: 12px; width: 100%; aspect-ratio: 1/1; overflow: hidden;}
.summary .main_img img{width: 100%; height: 100%; object-fit: cover;}
.summary .thumb_wrap{width: 100%;}
.summary .thumb_wrap .swiper-slide{aspect-ratio: 1/1; border-radius: 12px;  cursor: pointer; position: relative;overflow: hidden}
.summary .thumb_wrap .swiper-slide:before{content: ''; display: block; width: 100%; height: 100%; border-radius: 12px; border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); position: absolute; left: 0; top: 0;}
.summary .thumb_wrap .swiper-slide.active:before{border: 2px solid var(--brand-600, #6633EC);}
.summary .thumb_wrap .swiper-slide img{width: 100%; height: 100%; object-fit: cover;}

/* 탭 */
._tab{border-radius: 12px 12px 0 0; overflow: hidden;padding-top: 15px; position: sticky; top: 68px; margin-top: 14px;}

/* 상세정보 */
.goods_view .contents .detail{padding: 15px 24px 31px; display: flex; flex-direction: column; gap: 28px; border-radius: 0 0 12px 12px;}
.detail .composition{display: flex; padding: 14px 16px; border-radius: 2px; background: var(--brand-20, #FAFAFF); align-items: flex-start; gap: 18px;}
.detail .composition strong{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); flex-shrink: 0;}
.detail .composition ul{display: flex; flex-direction: column; color: var(--neutral-600, #555F6F); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.detail .composition li{display: flex;}
.detail .composition li:before{content: ''; display: inline-block; width: 3px; height: 3px; border-radius: 100%; background: var(--neutral-600, #555F6F); margin: 8px 8px 0 0; vertical-align: top; flex-shrink: 0;}
.detail .explanation{font: var(--body-body1-r-l); letter-spacing: var(--ls-body-body1-r-l);}

/* 리뷰 */
.review h2{display: flex; padding: 18px 24px 0px 24px; flex-direction: column; font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
.review .list_wrap{display: flex; flex-direction: column; padding: 0 24px;}
.review .list{display: flex; flex-direction: column; padding: 16px 0; gap: 14px; border-bottom: 1px solid var(--neutral-80, #E2E8EF);;}
.review .list .review_summary{display: flex; justify-content: space-between; align-items: flex-start;}
.review .list .reviewer{display: flex; align-items: center; gap: 10px;}
.review .list .reviewer img{width: 48px; height: 48px; padding: 3px; border-radius: 100%;}
.review .list .reviewer .text{display: flex; flex-direction: column;}
.review .list .reviewer .name{font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb);}
.review .list .reviewer .date{color: var(--neutral-600, #555F6F); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.review .list .rating_wrap{display: flex; flex-direction: column; align-items: flex-end;}
.review .list .rating{display: flex; align-items: center; gap: 6px;}
.review .list .rating strong{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.review .list .rating .star{display: flex;}
.review .list .rating .star img{width: 14px;}
.review .list .review_contents{padding: 0 0 0 58px; display: flex; flex-direction: column; gap: 10px;}
.review .list .img_wrap{display: flex; flex-wrap: wrap; gap: 10px;}
.review .list .img_wrap button{border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-radius: 12px; width: 84px; height: 84px; overflow: hidden;}
.review .list .img_wrap button img{width: 100%; height: 100%; object-fit: cover;}
.review .list .review_contents .text{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.review .btn_review_more{margin: 8px 0;}

/* 렌탈안내 */
.guide h2{display: flex; padding: 18px 24px 0px 24px; flex-direction: column; font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
.guide .contents{padding: 16px 24px; display: flex; flex-direction: column; gap: 8px;}
.guide .contents dl{display: flex; gap: 6px; align-items: flex-start;}
.guide .contents dt{width: 92px; flex-shrink: 0; padding: 2px 0 0 0; display: flex; gap: 4px; color: var(--neutral-500, #6C7888); font: var(--label-label4-sb); letter-spacing: var(--ls-label-label4-sb); display: flex; align-items: center;}
.guide .contents dt:before{content: ''; display: block; width: 8px; height: 8px; background: url('/images/icon/icon-check-fill.svg')no-repeat; background-size: contain; opacity: 0.5; flex-shrink: 0;}
.guide .contents dd{padding: 0 0 0 4px; display: flex; flex-direction: column; font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);}
.guide .contents dd p{display: flex; gap: 6px;}
.guide .contents dd p:before{content: ''; display: block; width: 2px; height: 2px; border-radius: 100%; background: var(--neutral-900, #151C29); margin: 8px 0;}
.guide .contents .number dd{counter-reset: custom; padding: 0;}
.guide .contents .number dd p{counter-increment: custom; gap: 1px;}
.guide .contents .number dd p:before{content: counter(custom)'.';    width: auto; min-width: 11px; height: auto; background: transparent; margin: 0; font: var(--caption-caption2-r); letter-spacing: var(--ls-caption-caption2-r);padding: 2px 0 0 0; border-radius: 0; display: flex; justify-content: center;}

/* 상품영역 */
.other_product h2{display: flex; padding: 18px 24px 0px 24px; flex-direction: column; font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
.other_product .swiper-outer{width: 100%; padding: 16px 62px;}
.other_product .swiper{width: 100%;}
.other_product .swiper-button-prev{left: 12px; top: calc(50% - 19px); width: 38px; height: 38px;}
.other_product .swiper-button-next{right: 12px; top: calc(50% - 19px); width: 38px; height: 38px;}

/* 우측 영역 */
.goods_view .fixed{flex-basis: 40%; flex-shrink: 0; padding: 24px; display: flex; flex-direction: column; gap: 18px; border-radius: 8px; background: #FFF;}
.goods_view .fixed{padding: 24px; display: flex; flex-direction: column; gap: 18px; border-radius: 8px; background: #FFF; position: sticky; top: 96px;}
.goods_view .fixed .price_wrap{display: flex; flex-direction: column; gap: 6px;}
.goods_view .fixed .price_wrap dl{display: flex; align-items: center; justify-content: space-between;}
.goods_view .fixed .price_wrap dt{color: var(--neutral-600, #555F6F); font: var(--label-label3-b); letter-spacing: var(--ls-label-label3-b);}
.goods_view .fixed .price_wrap dd{display: flex; gap: 4px;}
.goods_view .fixed .price_wrap .discount{color: var(--orange-600, #EA580C); font: var(--title-title5-b); letter-spacing: var(--ls-title-title5-b);}
.goods_view .fixed .price_wrap .price{display: flex; gap: 1px; align-items: center; font: var(--title-title7-b); letter-spacing: var(--ls-title-title7-b);}
.goods_view .fixed .price_wrap .price strong{font: var(--title-title5-b); letter-spacing: var(--ls-title-title5-b);}
.goods_view .fixed .information{display: flex; flex-direction: column; gap: 6px;}
.goods_view .fixed .information dl{display: flex; align-items: flex-start; justify-content: space-between;}
.goods_view .fixed .information dt{color: var(--neutral-600, #555F6F); font: var(--label-label4-sb); letter-spacing: var(--ls-label-label4-sb);}
.goods_view .fixed .information dd{color: var(--neutral-750, #333C4B); font: var(--caption-caption2-r); letter-spacing: var(--ls-caption-caption2-r); text-align: right; display: flex; flex-direction: column; align-items: flex-end;}
.goods_view .fixed .information dd strong{font: var(--caption-caption1-sb); letter-spacing: var(--ls-caption-caption1-sb);}
.goods_view .fixed .information .map{display: flex; gap: 1px; align-items: center; color: var(--blue-500, #596AEB);}
.goods_view .fixed .information .map img{width: 16px;}
.goods_view .btn_rent_reservation{position: relative;}
.goods_view .btn_rent_reservation ._tooltip{display: none;bottom: -65px;}
.goods_view .btn_rent_reservation:hover ._tooltip{display: block;}


/* 리뷰 이미지 모달 */
.review_img_modal ._modal_contents{padding: 16px 64px; gap: 20px;}
.review_img_modal .swiper{width: 100%;border-radius: 12px; border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); width: 432px; height: 432px; }
.review_img_modal .swiper img{width: 100%; height: 100%; object-fit: contain;}

.review_img_modal .swiper-button-next, .review_img_modal .swiper-button-prev{width: 48px ; height: 48px ; border: none; top: 192px;}
.review_img_modal .swiper-button-next:after, .review_img_modal .swiper-button-prev:after{width: 24px; height: 24px; }
.review_img_modal .swiper-button-prev{left: 16px;}
.review_img_modal .swiper-button-prev:after{background: url('/images/icon/icon-chevron-left-fill.svg')no-repeat; background-size: 24px;}
.review_img_modal .swiper-button-next{right: 16px;}
.review_img_modal .swiper-button-next:after{background: url('/images/icon/icon-chevron-right-fill.svg')no-repeat; background-size: 24px;}

/* 렌탈 예약하기 모달 */
.reservation_modal ._modal_contents{padding: 24px 24px 32px; gap: 24px;}
.reservation_modal ._modal_footer{display: flex; flex-direction: column; gap: 12px;}
.reservation_modal ._label_control{padding: 0; gap: 18px;}


.reservation_modal .total_price{display: flex; align-items: center; justify-content: space-between; padding: 12px 0;}
.reservation_modal .total_price dt{font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb);}
.reservation_modal .total_price dd{color: var(--brand-600, #6633EC); font: var(--title-title3-b); letter-spacing: var(--ls-title-title3-b);}

/* .reservation_modal .calc_price{display: flex; align-items: center; justify-content: space-between; padding: 12px 0;}
.reservation_modal .calc_price dt{font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb);}
.reservation_modal .calc_price dd{color: var(--neutral-600, #555F6F); font: var(--title-title5-b); letter-spacing: var(--ls-body-body2-r);} */





.reservation_modal .change_info{display: flex; flex-direction: column; padding: 0 24px 32px;}
.reservation_modal .method{display: flex; align-items: flex-start;}
.reservation_modal ._label{width: 100px; }
.reservation_modal .method_contents{display: flex; flex-direction: column; flex-grow: 1; gap: 18px;}
.reservation_modal .method ._label_control{gap: 8px;}
.reservation_modal .control{display: flex; flex-direction: row; gap: 8px;}
.reservation_modal .method .control select, .reservation_modal .method .control ._input{flex-basis: calc(50% - 4px);}
.reservation_modal .method .control .hidden{display: none;}
.reservation_modal .add_product .control{ display: flex; flex-direction: column;}
.reservation_modal .request{gap: 18px;}
.reservation_modal .select_product.empty{display: flex; padding: 17px 12px; border-radius: 6px; background: var(--neutral-20, #F8FAFC); flex-direction: column;color: var(--neutral-600, #555F6F); font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r);}


.reservation_modal .select_product {
    display: flex;
    flex-direction: column;
    gap: 8px;
}


/* 계산 결과 추가 화면 */

.total_price .toggle_icon{width: 24px; height: 24px; background: url('/images/icon/icon-chevron-down.svg')no-repeat; background-size: 24px;display:inline-block; cursor: pointer;}
.total_price .toggle_icon.active{background: url('/images/icon/icon-chevron-up.svg')no-repeat; background-size: 24px;}

.reservation_modal .total_price dd{
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}
.reservation_modal .total_price dd .detail_btn{
    color: black;
    background: var(--neutral-40, #F0F4F8);
    padding: 10px;
    border-radius: 10px;
    font: var(--label-label2-b);
    font-weight: 600;
    cursor: pointer;
}
.reservation_modal .total_price dd .detail_btn.active{
    background: var(--brand-600, #6633EC);
    color: white;
}


/* 계산 결과 */
.reservation_modal .calc_result {
    margin-top: 16px;
    border-top: 1px solid var(--neutral-80, #E2E8EF);
    padding-top: 16px;
}

.reservation_modal .calc_result_item {
    display: flex;
    flex-direction: column;
}

.reservation_modal .calc_result_item_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    background: none;
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: left;
    gap: 8px;
}

.reservation_modal .calc_result_item_title strong {
    font: var(--body-body1-sb);
    letter-spacing: var(--ls-body-body1-sb);
    color: var(--neutral-900, #151C29);
}

.reservation_modal .calc_result_amount {
    flex: 1;
    text-align: right;
    color: var(--brand-600, #6633EC);
    font: var(--title-title5-b);
    letter-spacing: var(--ls-title-title5-b);
}


.reservation_modal .calc_result_detail {
    padding: 12px 0;
    /* border-top: 1px solid var(--neutral-40, #F1F5F9); */
    margin-top: 8px;
}

.reservation_modal .calc_detail_content {
    display: flex;
    flex-direction: column;
}

.reservation_modal .calc_detail_list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.reservation_modal .calc_detail_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    font: var(--body-body2-r);
    letter-spacing: var(--ls-body-body2-r);
}

.reservation_modal .calc_detail_row.hide {
    display: none;
}



.reservation_modal .calc_detail_label {
    color: var(--neutral-600, #555F6F);
}

.reservation_modal .calc_detail_value {
    color: var(--neutral-900, #151C29);
    font-weight: 500;
}

.reservation_modal .calc_detail_row.calc_detail_discount {
    color: var(--orange-600, #EA580C);
}

.reservation_modal .calc_detail_row.calc_detail_discount .calc_detail_label,
.reservation_modal .calc_detail_row.calc_detail_discount .calc_detail_value {
    color: var(--orange-600, #EA580C);
}


#thumbSwiper .swiper-slide img{max-width: 79px; max-height: 79px;}
