.cart{background: var(--neutral-20, #F8FAFC); padding: 0 32px;}
.cart .container{display: flex; flex-direction: column; gap: 24px; padding: 48px 0; max-width: 600px;}
.cart h2{font: var(--title-title2-b); letter-spacing: var(--ls-title-title2-b);  text-align: center;}

/* 공통 */
.top_menu{display: flex; align-items: center; justify-content: space-between;}
.cart_list{display: flex; flex-direction: column; gap: 24px;}
.cart_list .box{display: flex; border-radius: 8px; background: #FFF; flex-direction: column;}

.cart_list .box_top{padding: 15px 20px; display: flex;}
.cart_list .box_top label{gap: 6px; font: var(--body-body2-b); letter-spacing: var(--ls-body-body2-b); }
.cart_list .box_top label img{width: 20px;}

.cart_list .total{padding: 6px;}
.cart_list .total dl{display: flex; padding: 20px 28px; border-radius: 7px; background: var(--brand-80, #E7E6FE); justify-content: space-between; align-items: center; flex: 1 0 0;}
.cart_list .total dt{color: var(--neutral-600, #555F6F); font: var(--label-label3-sb); letter-spacing: var(--ls-label-label3-sb); }
.cart_list .total dd{color: var(--brand-600, #6633EC); font: var(--title-title4-b); letter-spacing: var(--ls-title-title4-b); }

.cart_list .product{display: flex; padding: 26px 20px; background: #FFF; gap: 6px; align-items: flex-start;}
.cart_list .product .img{width: 120px; height: 120px; border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12)); border-radius: 12px; flex-shrink: 0; overflow: hidden;}
.cart_list .product .img img{width: 100%; height: 100%; object-fit: cover;}

.cart_list .product .info_wrap{margin-left: 6px; display: flex; flex-direction: column; gap: 16px; flex-grow: 1;}

.cart_list .product .soldout_comment{display: flex; align-items: center; gap: 8px;}

.cart_list .product .name{display: flex; align-items: flex-start; gap: 8px;}
.cart_list .product .name strong{font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r);  flex-grow: 1;}

.cart_list .product .option_wrap{display: flex; flex-direction: column; gap: 6px;}
.cart_list .product .option{display: flex; padding: 10px 12px; border-radius: 2px; background: var(--brand-20, #FAFAFF); flex-direction: column; align-items: flex-start;font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);  position: relative; gap: 2px;}
.cart_list .product .option p{color: var(--neutral-600, #555F6F);}
.cart_list .product .option .btn_option_delete{position: absolute; right: 5px;top: 5px;}
.cart_list .product .finish{display: flex; align-items: flex-start; justify-content: space-between;}
.cart_list .product .finish .btn_wrap{display: flex; gap: 6px;}
.cart_list .product .finish .price_wrap{display: flex; flex-direction: column; align-items: flex-end;}
.cart_list .product .finish .price{font: var(--title-title5-b); letter-spacing: var(--ls-title-title5-b); }
.cart_list .product .finish .delivery_fee{font: var(--caption-caption1-r); letter-spacing: var(--ls-caption-caption1-r);  color: var(--neutral-600, #555F6F);}

/* soldout */
.cart_list .product.soldout ._tag.neutral-outline,.cart_list .product.soldout .basic_info dd, .cart_list .product.soldout .option, .cart_list .product .option p, .cart_list .product.soldout .finish .price{color: var(--neutral-200, #BDC7D6);}

/* 렌탈 */
.cart_list .product .basic_info{display: flex; flex-direction: column; gap: 2px;}
.cart_list .product .basic_info dd a{text-decoration: underline;}
.cart_list .product .basic_info dt{width: 54px;}


/* 상품 없을 때 */
.cart .empty{display: flex; flex-direction: column; align-items: center; gap: 24px; align-self: stretch;}
.cart .empty .box{display: flex; padding: 64px 0px; border-radius: 8px; background: #FFF; flex-direction: column; justify-content: center; align-items: center; gap: 32px;  align-self: stretch; min-height: 44vh;}
.cart .empty .box img{width: 112px;}
.cart .empty .box p{font: var(--title-title6-b); letter-spacing: var(--ls-title-title6-b); }
.cart .empty .btn_wrap{display: flex; gap: 8px;}
.cart .empty .btn_wrap ._button{width: 240px;}


/* 상품 있을 떄 bottom fixed */
.bottom_fixed{background: var(--neutral-900, #151C29); padding: 24px 0; position: sticky; bottom: 0;}
.bottom_fixed .container{max-width: 600px; width: 100%; display:  flex; align-items: center; gap: 16px; justify-content: flex-end;}
.bottom_fixed dl{display: flex; align-items: center; gap: 10px; color: var(--neutral-00, #FFF);}
.bottom_fixed dt{font: var(--body-body1-sb); letter-spacing: var(--ls-body-body1-sb); }
.bottom_fixed dd{font: var(--title-title3-b); letter-spacing: var(--ls-title-title3-b); }
.bottom_fixed ._button{width: 240px;}

/* 코멘트 */
.cart_comment{padding: 24px 0; overflow: hidden;}
.cart_comment ol{color: #838383; font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r);  list-style: inside;}

/* 렌탈 모달-옵션 변경 */
._modal_container .product{display: flex; padding: 16px; background: var(--neutral-40, #F0F4F8); align-items: flex-start; gap: 20px; align-self: stretch;}
._modal_container .product img{width: 100px; height: 100px; flex-shrink: 0; border-radius: 12px; border: 1px solid var(--neutral-alpha-120, rgba(21, 28, 41, 0.12));}
._modal_container .product .text{display: flex; flex-direction: column; gap: 4px; flex-grow: 1;}
._modal_container .product .type{font: var(--body-body2-b); letter-spacing: var(--ls-body-body2-b); }
._modal_container .product .name{font: var(--body-body1-r); letter-spacing: var(--ls-body-body1-r); }
._modal_container .product .price{font: var(--body-body1-b); letter-spacing: var(--ls-body-body1-b); }

.rent-option_change .change_info{display: flex; flex-direction: column; padding: 0 24px 32px;}
.rent-option_change .method{padding: 32px 0 0 0; display: flex; align-items: flex-start;}
.rent-option_change ._label{width: 100px; }
.rent-option_change .method_contents{display: flex; flex-direction: column; flex-grow: 1; gap: 18px;}
.rent-option_change .method ._label_control{padding: 0;}
.rent-option_change .control{display: flex; flex-direction: row; gap: 8px;}
.rent-option_change .method .control select, .rent-option_change .method .control ._input{flex-grow: 1; flex-basis: 0;}
.rent-option_change .add_product{padding: 32px 0 0 0;}
.rent-option_change .add_product .control{padding: 10px 0 0 0; display: flex; flex-direction: column;}

.shop-option_change .change_info{display: flex; align-items: center; padding: 16px 24px;}
.shop-option_change .change_info ._label{width: 100px; flex-shrink: 0;}

.expert-option_change .change_info{padding: 0 24px 32px;}
.expert-option_change .add_product{display: flex; flex-direction: column; gap: 8px;}
.expert-option_change .time_control{display: flex; flex-direction: column; gap: 10px; flex-grow: 1;}
.expert-option_change .time_select{flex-grow: 1; display: flex; align-items: center; gap: 8px;}
.expert-option_change .time_select select{flex-grow: 1; flex-basis: 0;}
.expert-option_change .time_control .comment{color: #838383; font: var(--body-body2-r); letter-spacing: var(--ls-body-body2-r); }
.expert-option_change .request{gap: 18px;}
.expert-option_change .request textarea{height: 96px;}

.match_modal .select_product {
    display: flex;
    flex-direction: column;
    gap: 8px;
}