.goods_view .container{display: flex; flex-direction: column;}
.goods_view section{display: flex; overflow: hidden; background: #FFF; flex-direction: column;}
.goods_view section+section{margin-top: 14px;}

/* summary */
.summary{padding: 10px 16px 0; gap: 12px;}
.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-title7-b); letter-spacing: var(--ls-title-title7-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-title5-b); letter-spacing: var(--ls-title-title5-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%; display: flex; gap: 4px; overflow-x: auto; overflow-y: hidden;}
.summary .thumb_wrap .thumb{aspect-ratio: 1/1; border-radius: 8px;  cursor: pointer; position: relative; width: 54px; height: 54px;}
.summary .thumb_wrap .thumb: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 .thumb.active:before{border: 2px solid var(--brand-600, #6633EC);}
.summary .thumb_wrap .thumb img{width: 100%; height: 100%; object-fit: cover;}


/* 가격+정보 */
.goods_view .price_info{padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 12px;}
.goods_view .price_info .price_wrap{display: flex; flex-direction: column; gap: 6px;}
.goods_view .price_info .price_wrap dl{display: flex; align-items: center; justify-content: space-between;}
.goods_view .price_info .price_wrap dt{color: var(--neutral-600, #555F6F); font: var(--label-label3-b); letter-spacing: var(--ls-label-label3-b);}
.goods_view .price_info .price_wrap dd{display: flex; gap: 4px; align-items: center;}
.goods_view .price_info .price_wrap .unit{font: var(--title-title7-b); letter-spacing: var(--ls-title-title7-b);}
.goods_view .price_info .price_wrap .discount{color: var(--orange-600, #EA580C); font: var(--title-title5-b); letter-spacing: var(--ls-title-title5-b);}
.goods_view .price_info .price_wrap .price{display: flex; gap: 1px; align-items: center; font: var(--title-title7-b); letter-spacing: var(--ls-title-title7-b);}
.goods_view .price_info .price_wrap .price strong{font: var(--title-title5-b); letter-spacing: var(--ls-title-title5-b);}
.goods_view .price_info .information{display: flex; flex-direction: column; gap: 6px;}
.goods_view .price_info .information dl{display: flex; align-items: flex-start; justify-content: space-between;}
.goods_view .price_info .information dt{color: var(--neutral-600, #555F6F); font: var(--label-label4-sb); letter-spacing: var(--ls-label-label4-sb);}
.goods_view .price_info .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 .price_info .information dd strong{font: var(--caption-caption1-sb); letter-spacing: var(--ls-caption-caption1-sb);}
.goods_view .price_info .information .map{display: flex; gap: 1px; align-items: center; color: var(--blue-500, #596AEB);}
.goods_view .price_info .information .map img{width: 16px;}
.goods_view .btn_rent_reservation{position: relative;}


/* 탭 */
.tab_wrap{padding: 15px 0 0; border-top: 12px solid var(--neutral-20, #F8FAFC);position: sticky; top: 33px; z-index: 10;}
._tab{ padding: 0 16px;  border-bottom: 1px solid var(--neutral-80, #E2E8EF);;}

/* 상세정보 */
.goods_view .detail{padding: 16px; display: flex; flex-direction: column; gap: 28px; }
.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); word-break: break-all;}

/* 리뷰 */
.review{border-top: 12px solid var(--neutral-20, #F8FAFC);}
.review h2{display: flex; padding: 18px 16px 0; 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 16px;}
.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: 4px;}
.review .list .img_wrap button{border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-radius: 8px; width: 54px; height: 54px; 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;}

/* 상품문의 */
.inquiry{border-top: 12px solid var(--neutral-20, #F8FAFC);}
.inquiry h2{display: flex; padding: 18px 16px 0px; flex-direction: column; font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
.inquiry .contents{padding: 16px; display: flex; flex-direction: column;}
.inquiry .notice{display: flex; padding: 14px 16px; border-radius: 2px; background: var(--brand-20, #FAFAFF);flex-direction: column; color: var(--neutral-600, #555F6F); font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.inquiry .notice p{display: flex; gap: 8px; align-items: flex-start;}
.inquiry .notice p:before{content: ''; display: block ;width: 3px; height: 3px; background: var(--neutral-600, #555F6F); border-radius: 100%; flex-shrink: 0; margin: 8px 0;}
.inquiry .inquiry_top{display:flex; align-items: center; justify-content: space-between; padding: 16px 0;}
.inquiry .list_wrap{display:flex; flex-direction: column;}
.inquiry .list{border-bottom: 1px solid var(--neutral-80, #E2E8EF); display: flex; gap: 12px;}
.inquiry .list:before{content: 'Q'; display: block; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background: var(--neutral-900, #151C29); color: var(--neutral-00, #FFF); font: var(--label-label3-b); letter-spacing: var(--ls-label-label3-b); border-radius: 100%; flex-shrink: 0; margin-top: 16px;}
.inquiry .list .contents{display: flex; flex-direction: column; flex-grow: 1; padding: 0;}
.inquiry .list .write_info{display: flex; align-items: center; gap: 6px; font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);}
.inquiry .list .write_info .writer{color: var(--neutral-600, #555F6F);}
.inquiry .list .write_info .date{color: var(--neutral-400, #8692A3);}
.inquiry .list .q_wrap{padding: 16px 0; display: flex; word-break: keep-all; align-items: flex-start;}
.inquiry .list .q_wrap .text{display: flex; flex-direction: column; gap: 8px; flex-grow: 1;}

.inquiry .list .q_wrap strong{font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); }
.inquiry .list .q_wrap .btn_wrap{display: flex; align-items: center; flex-shrink: 0;}
.inquiry .list .q_wrap .btn_del{height: 28px;}
.inquiry .list .a_wrap{margin-right: 32px; padding: 11px 0; border-top: 1px solid var(--neutral-80, #E2E8EF); display: flex; flex-direction: column; gap: 8px; word-break: keep-all; font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}
.inquiry .list .btn_toggle{transform: rotate(0deg); transition: all 0.2s ease;}
.inquiry .list .btn_toggle.on{transform: rotate(180deg);}
.inquiry .list.secret .q_wrap strong:before{content: ''; display: inline-block; width: 14px; height: 14px; background: url('/images/icon/icon-lock.svg')no-repeat; background-size: contain; margin: 3px 0 0 0; vertical-align: top;}
.inquiry .inquiry_empty{height: 150px; display: flex; align-items: center; justify-content: center; font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);}


/* 배송교환 */
.exchange h2{display: flex; padding: 18px 16px 0px; flex-direction: column; font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
.exchange .contents{padding: 16px ; display: flex; flex-direction: column; gap: 8px;}
.exchange .contents dl{display: flex; flex-direction: column; gap: 4px; align-items: flex-start;}
.exchange .contents .check{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;}
.exchange .contents .check:before{content: ''; display: block; width: 8px; height: 8px; background: url('/images/icon/icon-check-fill.svg')no-repeat; background-size: contain; opacity: 0.5;;}
.exchange .contents dd{padding: 0 0 0 4px; display: flex; flex-direction: column; font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);}
.exchange .contents dd p{display: flex; gap: 6px;}
.exchange .contents dd p:before{content: ''; display: block; width: 2px; height: 2px; border-radius: 100%; background: var(--neutral-900, #151C29); margin: 8px 0; flex-shrink: 0;}
.exchange .contents .box{display: flex; padding: 8px 12px; border-radius: 4px; background: var(--neutral-20, #F8FAFC); flex-direction: column; align-items: flex-start; gap: 1px; align-self: stretch; margin-top: 6px;}
.exchange .contents .box dt{color: var(--neutral-500, #6C7888); font: var(--label-label4-sb); letter-spacing: var(--ls-label-label4-sb); margin-bottom: 3px;}
.exchange .contents .box dd{padding-left: 4px; display: flex; align-items: flex-start; gap: 1px; color: var(--neutral-750, #333C4B); font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);}
.exchange .contents .box p:before{content: ''; display: block; width: 2px; height: 2px; border-radius: 100%; background: var(--neutral-750, #333C4B); margin: 8px 0; flex-shrink: 0;}
.exchange .contents .number dd{counter-reset: custom; padding: 0;}
.exchange .contents .number dd p{counter-increment: custom; gap: 1px;}
.exchange .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;}

.exchange .contents .box dd p.reference_mark{gap: 1px;}
.exchange .contents .box dd p.reference_mark:before{content: '※'; width: auto; min-width: 8px; height: auto; background: transparent; margin: 0;}
.exchange .contents .box dd p.cs_center{font: var(--caption-caption1-sb); letter-spacing: var(--ls-caption-caption1-sb);}
.exchange .contents .box dd p.cs_center:before{content: ''; background-color: transparent;}

/* 상품영역 */
.other_product{border-top: 12px solid var(--neutral-20, #F8FAFC);}
.other_product h2{display: flex; padding: 18px 16px 0px; flex-direction: column; font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b);}
.other_product .rent_product_wrap{padding: 16px;}

/* 하단 고정 버튼 */
.goods_view .btn_fixed_wrap{position: sticky; bottom: 0; padding: 14px 24px 20px; background-color: #fff; z-index: 10; box-shadow: 0 -1px 0 0 rgba(21, 28, 41, 0.08); display: flex; gap: 10px;}
.goods_view .btn_fixed_wrap > *[class*="_button"]{flex: 1 0 0;}  
.goods_view .btn_rent_reservation ._tooltip{display: block;top: -65px;}
.goods_view .btn_rent_reservation:hover ._tooltip{display: block;}


/* 리뷰 이미지 모달 */
.review_img_modal ._modal_contents{padding: 16px 64px; gap: 20px; justify-content: center;}
.review_img_modal .swiper{width: 100%; aspect-ratio: 1/1; border-radius: 12px; border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12));}
.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: 38px ; height: 38px ; border: none; top: calc(50% - 37px);}
.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;}


/* 문의하기 모달 */
.inquiry_modal ._modal_contents{padding: 24px 24px 32px; display: flex; flex-direction: column; gap: 16px;}
.inquiry_modal .write_wrap{display: flex; flex-direction: column; gap: 8px;}
.inquiry_modal .notice{display: flex; flex-direction: column;}
.inquiry_modal .notice p{display: flex; align-items: flex-start; gap: 8px; color: var(--neutral-600, #555F6F); font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);}
.inquiry_modal .notice p:before{content: ''; display: block; width: 3px; height: 3px; background: var(--neutral-600, #555F6F); border-radius: 100%; margin: 7px 0; flex-shrink: 0;}



.purchase_container{position: fixed; left: 0; top: 0; width: 100%; height: 100%; display: flex; align-items: flex-end; z-index: 1050; display: none;}
.purchase_container.show{display: flex;}
.purchase_container:after{content: ''; display: block; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: var(--neutral-900, #151C29); opacity: 0.3; z-index: -1;}
.purchase_container .purchase_wrapper{border-radius: 10px 10px 0 0; background: var(--neutral-00, #FFF); box-shadow: 0 -1px 0 0 rgba(21, 28, 41, 0.08); display: flex; flex-direction: column; width: 100%;}
.purchase_container .btn_close{width: 28px; height: 28px; align-self: center; margin: 4px 0 0 0; display: flex; align-items: center; justify-content: center; opacity: 0.4;;}
.purchase_container .type_select{display:flex; flex-direction: column;}
.purchase_container ._tab{padding: 0 24px; margin: 0; overflow: visible; }
.purchase_container ._tab li{flex: 1 0 0;}
.purchase_container ._tab .img{position: relative; display: flex; align-items: center; justify-content: center;}
.purchase_container ._tab ._tooltip{width: 146px; bottom: 38px;display: none;}
.purchase_container ._tab li.active ._tooltip{display: block;}
.purchase_container .tab_contents{display: flex; flex-direction: column;}
.purchase_container .information{display: flex; flex-direction: column; gap: 6px; background: var(--neutral-20, #F8FAFC); padding: 16px 24px;}
.purchase_container .information dl{display: flex; align-items: flex-start; justify-content: space-between;}
.purchase_container .information dt{color: var(--neutral-600, #555F6F); font: var(--label-label4-sb); letter-spacing: var(--ls-label-label4-sb);}
.purchase_container .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;}
.purchase_container .information dd strong{font: var(--caption-caption1-sb); letter-spacing: var(--ls-caption-caption1-sb);}
.purchase_container .information .qty{margin-top: 10px;}
.purchase_container .information .qty dt{font: var(--label-label3-b); letter-spacing: var(--ls-label-label3-b);}
.purchase_container .information .qty select{width: 128px;}
.purchase_container .total_price{display: flex; justify-content: space-between; align-items: center;font: var(--title-title5-b); letter-spacing: var(--ls-title-title5-b); padding: 16px 24px;}
.purchase_container .btn_wrap{display: flex; gap: 10px; padding: 16px 24px 20px; border-top: 1px solid var(--neutral-80, #E2E8EF);;}
.purchase_container .btn_wrap > *{flex: 1 0 0;}