#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%;}
.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;}
.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;;}
.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);}
.other_product .swiper-button-next{right: 12px; top: calc(50% - 19px);}

/* 우측 영역 */
.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;}

.swiper-button-next, .swiper-button-prev{width: 48px ; height: 48px ; border: none; top: 192px;}
.swiper-button-next:after, .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 .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);}
