@charset "utf-8";
/* 장바구니 */
.cart-section .cart-form fieldset {display:flex; flex-direction:column;}
.cart-section .cart-toolbar {display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--fs-20);}
.cart-section .cart-all-check label {column-gap:8px;}
.cart-section .cart-selected-delete {color:var(--color-static3);}
.cart-section .cart-list {border-top:1px solid var(--color-border1);}
.cart-section .cart-item {position:relative; min-height:160px; padding:var(--fs-32) var(--fs-20); display:grid; grid-template-columns:24px minmax(260px, 1.2fr) minmax(220px, 1fr) 160px minmax(180px, 0.8fr) 30px; align-items:center; column-gap:var(--fs-32); border-bottom:1px solid var(--color-border1);}
.cart-section .cart-item-check {justify-content:center;}
.cart-section .cart-item-check label {column-gap:0;}
.cart-section .cart-product {min-width:0; display:flex; align-items:center; column-gap:var(--fs-20);}
.cart-section .cart-thumb {width:96px; height:112px; flex-shrink:0; overflow:hidden; background-color:var(--grayscale2);}
.cart-section .cart-thumb img {display:block; width:100%; height:100%; object-fit:cover;}
.cart-section .cart-product-info {min-width:0; display:flex; flex-direction:column; align-items:flex-start; row-gap:var(--fs-12);}
.cart-section .cart-product-info .goods-name {overflow:hidden; color:var(--grayscale9); font-size:var(--fs-16); text-overflow:ellipsis; white-space:nowrap;}
.cart-section .cart-product-info .badge-wrap {flex-wrap:wrap;}
.cart-section .cart-option {color:var(--grayscale8); font-size:var(--fs-15); line-height:1.5; word-break:keep-all;}
.cart-section .cart-quantity {justify-self:center;}
.cart-section .cart-price {display:flex; flex-direction:column; align-items:flex-end; row-gap:4px;}
.cart-section .cart-price .goods-discount-wrap {display:flex; align-items:center; column-gap:4px;}
.cart-section .cart-price .goods-price {font-size:var(--fs-22);}
.cart-section .cart-price .goods-price-original {color:var(--grayscale6); font-size:var(--fs-14);}
.cart-section .cart-remove-btn {justify-self:end;}
.cart-section .cart-remove-btn img {width:18px; height:18px; opacity:0.5;}

.cart-section .cart-summary {margin-top:var(--fs-32); min-height:128px; padding:var(--fs-32) var(--fs-48); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; column-gap:var(--fs-40); border-radius:12px; background-color:var(--color-bg1);}
.cart-section .cart-selected-count {color:var(--grayscale9); font-size:var(--fs-18);}
.cart-section .cart-selected-count strong {font-weight:400;}
.cart-section .cart-summary-price {display:flex; align-items:center; column-gap:var(--fs-24);}
.cart-section .cart-summary-price > strong {min-width:100px; color:var(--grayscale9); text-align:right;}
.cart-section .cart-summary-symbol {color:var(--grayscale6); font-size:var(--fs-18);}
.cart-section .cart-shipping {display:flex; flex-direction:column; align-items:center; row-gap:4px;}
.cart-section .cart-shipping span {color:var(--grayscale9);}
.cart-section .cart-shipping strong {font-weight: 400;}
.cart-section .cart-shipping small {color:var(--grayscale6);}
.cart-section .cart-total-price {justify-self:end; color:var(--grayscale11); font-size:var(--fs-28); font-weight:700;}
.cart-section .cart-order-btn-wrap {margin-top:var(--fs-30); justify-content:center;}
.cart-section .cart-order-btn-wrap .square-btn {padding-inline: var(--fs-32);}

.cart-section .cart-empty {min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; row-gap:var(--fs-24); border-top:1px solid var(--color-border1); border-bottom:1px solid var(--color-border1);}
.cart-section .cart-empty p {color:var(--grayscale6);}

/* 빈 목록 */
.empty-content {width: 100%; max-width: 640px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; row-gap: var(--space-60);}
.empty-content .txt-wrap {text-align: center; display: flex; flex-direction: column; row-gap: var(--fs-12);}
.empty-content .txt-wrap span {color: var(--grayscale9);}
.empty-content .txt-wrap p {color: var(--grayscale7); text-align: center;}
.empty-content .goods-more-btn-wrap {margin-top: 0;}

@media screen and (max-width:1200px) {
    .cart-section .cart-item {grid-template-columns:24px minmax(240px, 1.2fr) minmax(180px, 0.8fr) 150px minmax(160px, 0.7fr) 30px; column-gap:var(--fs-20);}
    .cart-section .cart-thumb {width:84px; height:100px;}
}

@media screen and (max-width:1024px) {
    .cart-section .cart-item {grid-template-columns:24px minmax(0, 1fr) auto; align-items:start; row-gap:var(--fs-20);}
    .cart-section .cart-item-check {grid-column:1; grid-row:1 / span 3; margin-top:4px;}
    .cart-section .cart-product {grid-column:2; grid-row:1;}
    .cart-section .cart-option {grid-column:2; grid-row:2;}
    .cart-section .cart-quantity {grid-column:2; grid-row:3; justify-self:start;}
    .cart-section .cart-price {grid-column:3; grid-row:1; align-self:start;}
    .cart-section .cart-remove-btn {grid-column:3; grid-row:2; align-self:start;}
    .cart-section .cart-summary {grid-template-columns:1fr auto; row-gap:var(--fs-24);}
    .cart-section .cart-summary-price {grid-column:1;}
    .cart-section .cart-total-price {grid-column:2; grid-row:1 / span 2;}
}

@media screen and (max-width:768px) {
    .cart-section .cart-toolbar {margin-bottom:var(--fs-16);}
    .cart-section .cart-item {min-height:auto; padding:var(--fs-24) 0; grid-template-columns:20px minmax(0, 1fr) 24px; column-gap:var(--fs-12);}
    .cart-section .cart-product {align-items:flex-start; column-gap:var(--fs-12);}
    .cart-section .cart-thumb {width:76px; height:92px;}
    .cart-section .cart-product-info {row-gap:8px;}
    .cart-section .cart-product-info .goods-name {font-size:var(--fs-15);}
    .cart-section .cart-option {font-size:var(--fs-14);}
    .cart-section .cart-quantity .quantity-btn,
    .cart-section .cart-quantity .quantity-input {width:42px; height:42px;}
    .cart-section .cart-price {grid-column:2; grid-row:4; align-items:flex-start;}
    .cart-section .cart-remove-btn {grid-column:3; grid-row:1;}
    .cart-section .cart-summary {padding:var(--fs-24); display:flex; flex-direction:column; align-items:stretch; row-gap:var(--fs-20);}
    .cart-section .cart-summary-price {justify-content:space-between;}
    .cart-section .cart-summary-price > * {flex: 1;}
    .cart-section .cart-summary-symbol {text-align: center;}
    .cart-section .cart-summary-price > strong {min-width:auto; text-align:left;}
    .cart-section .cart-total-price {align-self:flex-end; font-size:var(--fs-26);}
    .cart-section .cart-order-btn-wrap {gap:var(--fs-12);}
    .cart-section .cart-order-btn-wrap .square-btn {justify-content: center; width:calc(50% - var(--fs-12) / 2); min-width:0; padding-inline:var(--fs-12);}
}

@media screen and (max-width:500px) {
    .cart-section .cart-selected-delete {padding-inline:var(--fs-12);}
    .cart-section .cart-product {align-items:flex-start;}
    .cart-section .cart-thumb {width:68px; height:84px;}
    .cart-section .cart-product-info .badge {padding:3px 7px; font-size:var(--fs-10);}
    .cart-section .cart-summary-price {align-items:flex-start; flex-wrap:wrap; row-gap:var(--fs-12);}
    .cart-section .cart-summary-symbol {display:none;}
    .cart-section .cart-shipping {align-items:flex-start;}
    .cart-section .cart-order-btn-wrap {flex-direction:column;}
    .cart-section .cart-order-btn-wrap .square-btn {width:100%;}
}

/* 주문서 작성 */
.order-section .order-form fieldset {display:flex; flex-direction:column;}
.order-section .order-layout {margin-top: var(--space-80); display:grid; grid-template-columns:minmax(0, 1fr) 300px; align-items:start; column-gap:var(--space-60);}
.order-section .order-content {min-width:0; display:flex; flex-direction:column; row-gap:var(--space-80);}
.order-section .order-block {display:flex; flex-direction:column; row-gap:var(--fs-32);}
.order-section .order-block-head {display:flex; align-items:center; justify-content:space-between; column-gap:var(--fs-20);}
.order-section .order-block-head .card-tit {font-size:var(--fs-20); color:var(--grayscale9);}

/* 주문 상품 */
.order-product-section .order-product-table {border-top:1px solid var(--color-border1);}
.order-product-section .order-product-table-head {min-height:48px; padding-inline:var(--fs-20); display:grid; grid-template-columns:minmax(280px, 1.4fr) minmax(220px, 1fr) 100px 160px 140px; align-items:center; column-gap:var(--fs-20); border-bottom:1px solid var(--color-border1); color:var(--grayscale7); font-size:var(--fs-14);}
.order-product-section .order-product-table-head span:nth-child(n + 3) {text-align:center;}
.order-product-section .order-product-list {display:flex; flex-direction:column;}
.order-product-section .order-product-item {min-height:144px; padding:var(--fs-24) var(--fs-20); display:grid; grid-template-columns:minmax(280px, 1.4fr) minmax(220px, 1fr) 100px 160px 140px; align-items:center; column-gap:var(--fs-20); border-bottom:1px solid var(--color-border1);}
.order-product-section .order-product-link {min-width:0; display:flex; align-items:center; column-gap:var(--fs-20);}
.order-product-section .order-product-thumb {width:80px; height:96px; flex-shrink:0; overflow:hidden; background-color:var(--grayscale2);}
.order-product-section .order-product-thumb img {display:block; width:100%; height:100%; object-fit:cover;}
.order-product-section .order-product-txt {min-width:0; display:flex; flex-direction:column; align-items:flex-start; row-gap:var(--fs-10);}
.order-product-section .order-product-txt .goods-name {overflow:hidden; color:var(--grayscale9); font-size:var(--fs-15); text-overflow:ellipsis; white-space:nowrap;}
.order-product-section .order-product-txt .badge-wrap {flex-wrap:wrap;}
.order-product-section .order-product-option {color:var(--grayscale9); font-size:var(--fs-16); line-height:1.5;}
.order-product-section .order-product-quantity,
.order-product-section .order-product-point {font-size:var(--fs-16); text-align:center;}
.order-product-section .order-product-price {font-size:var(--fs-18); text-align:center;}
.order-product-section .order-product-price {color:var(--color-static3); font-weight: 500;}
.order-product-section .order-product-point {color:var(--grayscale8);}

/* 입력 영역 */
.order-section .order-input-list {display:flex; flex-direction:column; row-gap:var(--fs-20);}
.order-section .order-input-list .input-item-label.row {grid-template-columns:150px minmax(0, 1fr);}
.order-section .order-input-list .input-content {display:flex; flex-direction:column; row-gap:8px; width: 100%;}
.order-section .order-input-list .custom-input,
.order-section .order-input-list .custom-select-box {width:100%;}
.order-section .shipping-head {justify-content:flex-start;}
.order-section .shipping-head .custom-chk {margin-left:var(--fs-24);}
.order-section .shipping-address-tabs {display:flex; align-items:center; flex-wrap:wrap; gap:var(--fs-10);}
.order-section .shipping-address-btn {padding:7px var(--fs-14); border:1px solid var(--color-border1); border-radius:99px; background-color:var(--color-white); color:var(--color-static3); font-size:var(--fs-13); line-height:1.5; transition:background-color .2s, border-color .2s;}
.order-section .shipping-address-btn:hover {border-color:var(--color-static3);}
.order-section .shipping-address-btn.active {border-color:var(--color-bg1); background-color:var(--color-bg1);}
.order-section .shipping-request-custom {margin-top:8px;}
.order-section .shipping-save-check {margin-left:170px;}

/* 결제 수단 */
.payment-section .payment-method-list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--fs-10);}
.payment-section .payment-method {cursor:pointer;}
.payment-section .payment-method input {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0, 0, 0, 0);}
.payment-section .payment-method span {min-height:52px; display:flex; align-items:center; justify-content:center; border:1px solid var(--color-border1); border-radius:99px; color:var(--color-static3); font-size:var(--fs-14); transition:background-color .2s, border-color .2s;}
.payment-section .payment-method:hover span {border-color:var(--color-static3);}
.payment-section .payment-method input:checked + span {border-color:var(--color-bg1); background-color:var(--color-bg1);}

/* 주문 동의 */
.agreement-section .order-agreement-list {display:flex; flex-direction:column;}
.agreement-section .agreement-all {padding-bottom:var(--fs-16); border-bottom:1px solid var(--color-border1);}
.agreement-section .agreement-all label em {font-weight:500;}
.agreement-section .agreement-item {padding-top:var(--fs-16); display:flex; align-items:center; justify-content:space-between; column-gap:var(--fs-20);}
.agreement-section .agreement-view-btn {flex-shrink:0; color:var(--color-static3); font-size:var(--fs-13); text-decoration:underline; text-underline-offset:3px;}

/* 결제 요약 */
.order-section .order-summary {position:sticky; top:calc(var(--header-height) + var(--fs-20));}
.order-section .order-summary-inner {padding:var(--fs-24); background-color:var(--color-bg1);}
.order-section .order-summary-inner > h2 {margin-bottom:var(--fs-20); color:var(--grayscale9);}
.order-section .order-summary-list {display:flex; flex-direction:column; row-gap:var(--fs-16);}
.order-section .order-summary-list > div {display:flex; align-items:center; justify-content:space-between; column-gap:var(--fs-20);}
.order-section .order-summary-list dt,
.order-section .order-summary-list dd {font-size:var(--fs-16); line-height:1.5;}
.order-section .order-summary-list dt {color:var(--grayscale6);}
.order-section .order-summary-list dd {color:var(--grayscale9);}
.order-section .order-summary-list dd.discount {color:var(--color-static3); font-weight: 500;}
.order-section .order-summary-total {margin-top:var(--fs-20); padding-top:var(--fs-20); display:flex; align-items:center; justify-content:space-between; column-gap:var(--fs-20); border-top:1px solid var(--color-border1);}
.order-section .order-summary-total span {color:var(--grayscale9); font-size:var(--fs-16);}
.order-section .order-summary-total strong {font-size:var(--fs-20); font-weight:700; color: var(--grayscale11);}
.order-section .order-submit-btn {margin-top:var(--fs-30); justify-content:center;}

@media screen and (max-width:1200px) {
    .order-section .order-layout {grid-template-columns:minmax(0, 1fr) 280px; column-gap:var(--fs-32);}
    .order-product-section .order-product-table-head,
    .order-product-section .order-product-item {grid-template-columns:minmax(250px, 1.3fr) minmax(180px, 1fr) 70px 130px 110px; column-gap:var(--fs-16);}
}

@media screen and (max-width:1024px) {
    .order-section .order-layout {display:flex; flex-direction:column;}
    .order-section .order-content {width:100%;}
    .order-section .order-summary {position:static; width:100%; margin-top:var(--space-60);}
    .order-section .order-summary-inner {max-width:none;}
}

@media screen and (max-width:768px) {
    .order-section .order-content {row-gap:var(--space-60);}
    .order-section .order-block {row-gap:var(--fs-24);}
    .order-product-section .order-product-table-head {display:none;}
    .order-product-section .order-product-table {border-top:0;}
    .order-product-section .order-product-list {row-gap:var(--fs-12);}
    .order-product-section .order-product-item {min-height:auto; padding:var(--fs-20); display:grid; grid-template-columns:minmax(0, 1fr) auto; row-gap:var(--fs-16); border:1px solid var(--color-border1); border-radius:8px;}
    .order-product-section .order-product-info {grid-column:1 / -1;}
    .order-product-section .order-product-option {grid-column:1 / -1;}
    .order-product-section .order-product-quantity {text-align:left;}
    .order-product-section .order-product-quantity::before {content:'수량 '; color:var(--grayscale6);}
    .order-product-section .order-product-price {text-align:right;}
    .order-product-section .order-product-point {grid-column:1 / -1; text-align:right;}
    .order-product-section .order-product-point::before {content:'예상 적립금 '; color:var(--grayscale6);}
    .order-section .order-input-list .input-item-label.row {display:flex; flex-direction:column; row-gap:8px;}
    .order-section .shipping-head {align-items:flex-start; flex-direction:column; row-gap:var(--fs-12);}
    .order-section .shipping-head .custom-chk {margin-left:0;}
    .order-section .shipping-save-check {margin-left:0;}
    .payment-section .payment-method-list {grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media screen and (max-width:500px) {
    .order-product-section .order-product-thumb {width:68px; height:84px;}
    .order-product-section .order-product-link {column-gap:var(--fs-12);}
    .order-product-section .order-product-txt .badge {padding:3px 7px; font-size:var(--fs-10);}
    .order-section .input-item-btn {align-items:stretch;}
    .order-section .input-item-btn .custom-input {min-width:0;}
    .order-section .input-item-btn .square-btn {padding-inline:var(--fs-12);}
    .payment-section .payment-method span {font-size:var(--fs-13);}
    .agreement-section .agreement-item {align-items:flex-start;}
}

/* 주문 완료 */
.order-complete-section .inner {display:flex; flex-direction:column;}
.order-complete-section .order-complete-head {display:flex; flex-direction:column; align-items:center; text-align:center;}
.order-complete-section .order-complete-img {width:80px; height:80px; object-fit:contain;}
.order-complete-section .order-complete-txt {margin-top:var(--fs-32); display:flex; flex-direction:column; row-gap:var(--fs-12);}
.order-complete-section .order-complete-txt .section-tit {color:var(--grayscale9);}
.order-complete-section .order-complete-txt p {color:var(--color-static3);}
.order-complete-section .order-number-box {min-width:320px; margin-top:var(--fs-40); padding:var(--fs-20) var(--fs-32); display:flex; flex-direction:column; align-items:center; row-gap:var(--fs-10); border-top:1px solid var(--color-border1); border-bottom:1px solid var(--color-border1);}
.order-complete-section .order-number-box span {color:var(--color-static3);}
.order-complete-section .order-number-box strong {color:var(--grayscale9); font-weight:500;}
.order-complete-section .order-complete-info {margin-top:var(--space-80); display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:var(--space-80);}
.order-complete-section .detail-head {padding-bottom:var(--fs-20); border-bottom:1px solid var(--color-border1);}
.order-complete-section .detail-head h2 {color:var(--grayscale9); font-size: var(--fs-15); font-weight: 700;}
.order-complete-section .detail-list {border-top: 0;}
.order-complete-section .detail-list .detail-row:last-child {border-bottom: 0;}
.order-complete-section .payment-info-section .detail-row.total {padding-top:var(--fs-20);}
.order-complete-section .payment-info-section .detail-row.total .detail-label {color:var(--grayscale9); font-size:var(--fs-16); font-weight:500;}
.order-complete-section .payment-info-section .detail-row.total .detail-price {font-size:var(--fs-24); font-weight:600;}
.order-complete-section .order-complete-btn-wrap {margin-top:var(--space-60); justify-content:center;}
.order-complete-section .order-complete-btn-wrap .square-btn {min-width:170px; justify-content:center;}

@media screen and (max-width:1024px) {
    .order-complete-section .order-complete-info {column-gap:var(--fs-40);}
}

@media screen and (max-width:768px) {
    .order-complete-section .order-complete-img {width:64px; height:64px;}
    .order-complete-section .order-number-box {width:100%; min-width:0;}
    .order-complete-section .order-complete-info {margin-top:var(--space-60); grid-template-columns:1fr; row-gap:var(--space-60);}
    .order-complete-section .detail-list .detail-row {align-items:flex-start;}
    .order-complete-section .detail-list .detail-value {max-width:70%; word-break:keep-all;}
    .order-complete-section .order-complete-btn-wrap {gap:var(--fs-12);}
    .order-complete-section .order-complete-btn-wrap .square-btn {justify-content: center; width:calc(50% - var(--fs-12) / 2); min-width:0; padding-inline:var(--fs-12);}
}

@media screen and (max-width:500px) {
    .order-complete-section .order-complete-btn-wrap {flex-direction:column; gap:var(--fs-12);}
    .order-complete-section .order-complete-btn-wrap .square-btn {width:100%;}
}