@charset "utf-8";

/* 상품 목록 */
.shop-list-section {padding-block: calc(var(--space-48) + var(--space-8)) var(--space-120);}
.shop-list-section .shop-head {display: flex; align-items: flex-end; justify-content: space-between; column-gap: var(--space-24); padding-block: var(--space-40) var(--space-48);}
.shop-list-section .shop-head .tit-wrap {display: flex; flex-direction: column; row-gap: var(--space-16); min-width: 0;}
.shop-list-section .shop-head .tit-wrap .display-hero {color: var(--text-strong);}
.shop-list-section .shop-head .tit-wrap .body-default {color: var(--text-secondary);}
.shop-list-section .shop-head .result-scope {flex: none; color: var(--text-muted);}

/* 카테고리 */
.shop-list-section .shop-cate-nav {border-bottom: 1px solid var(--border-subtle);}
.shop-list-section .shop-cate-nav .tab-list {column-gap: calc(var(--space-32) + var(--space-4));}
.shop-list-section .shop-cate-nav .tab-list .tab {display: block;}

/* 필터 · 정렬 */
.shop-list-section .shop-filter-bar {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16); padding-block: var(--space-20);}
.shop-list-section .shop-filter-bar.no-applied {margin-bottom: var(--space-20);}
.shop-list-section .shop-filter-bar .filter-trigger {display: inline-flex; align-items: center; column-gap: 6px; min-height: 0; padding-block: var(--space-8); color: var(--text-primary);}
.shop-list-section .shop-filter-bar .filter-trigger[aria-expanded="true"] {box-shadow: inset 0 -1px 0 var(--border-strong);}
.shop-list-section .shop-filter-bar .filter-trigger .filter-count {color: var(--text-muted);}
.shop-list-section .shop-filter-bar .filter-trigger .m-txt {display: none;}
.shop-list-section .shop-filter-bar .filter-trigger img {flex: none; width: 16px; height: 16px; transition: transform 0.2s;}
.shop-list-section .shop-filter-bar .sort-dropdown .sort-dim {display: none;}
.shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet {position: absolute; top: 100%; right: 0; z-index: 10; min-width: 200px; padding-block: var(--space-8); border: 1px solid var(--border-subtle); background-color: var(--bg-canvas); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity 0.2s, transform 0.2s, visibility 0.2s;}
.shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet .sheet-handle, .shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet .sort-sheet-tit {display: none;}
.shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet .sort-list .custom-dropdown-option {padding-inline: var(--space-24);}
.shop-list-section .shop-filter-bar .sort-dropdown.open .sort-sheet {opacity: 1; visibility: visible; transform: translateY(0); transition: opacity 0.2s, transform 0.2s, visibility 0s;}

/* 적용 필터 */
.shop-list-section .shop-applied {display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-12); padding-block: var(--space-4) var(--space-40);}
.shop-list-section .shop-applied .applied-chip-list {display: flex; flex-wrap: wrap; gap: var(--space-12);}
.shop-list-section .shop-applied .applied-chip-list .applied-chip {display: inline-flex; align-items: center; column-gap: var(--space-8); padding: 6px 10px 6px 14px; border-radius: var(--radius-full); background-color: var(--bg-muted); color: var(--text-primary); transition: background-color 0.2s;}
.shop-list-section .shop-applied .applied-chip-list .applied-chip img {flex: none; width: 14px; height: 14px;}
.shop-list-section .shop-applied .clear-btn {color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s;}

/* 상품 그리드 */
.shop-list-section .shop-product-list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--space-64) + var(--space-8)) var(--space-24);}
.shop-list-section .pagination {margin-top: calc(var(--space-48) * 2);}

/* 필터 패널 */
.filter-panel {position: fixed; top: 0; bottom: 0; left: 0; z-index: 300; width: 480px; max-width: 100%; overflow-y: auto; overscroll-behavior: contain; background-color: var(--bg-canvas); visibility: hidden; transform: translateX(-100%); transition: transform 0.45s var(--ease-out), visibility 0.45s;}
.filter-panel.open {visibility: visible; transform: translateX(0);}
.filter-panel .sheet-handle {display: none;}
.filter-panel .filter-form {display: flex; flex-direction: column; padding: var(--space-20) var(--space-20) var(--space-24);}
.filter-panel .filter-form .filter-head {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16);}
.filter-panel .filter-form .filter-head .heading-kr-small {color: var(--text-strong);}
.filter-panel .filter-form .filter-head .close-btn {margin-right: calc(var(--space-12) * -1);}
.filter-panel .filter-form .filter-body .filter-facet .accordion-tit .facet-count {margin-left: auto; color: var(--text-muted);}
.filter-panel .filter-form .filter-body .filter-facet .accordion-tit::after {margin-left: 0;}
.filter-panel .filter-form .filter-body .filter-facet .facet-option-list {display: flex; flex-direction: column; row-gap: 14px; padding-block: var(--space-8);}
.filter-panel .filter-form .filter-btn-list {display: flex; column-gap: var(--space-8); padding-top: var(--space-24);}
.filter-panel .filter-form .filter-btn-list .square-btn {flex: 1 1 0; min-width: 0;}
.filter-panel .filter-form .filter-btn-list .reset-btn {background-color: transparent; color: var(--text-primary);}
.filter-dim {position: fixed; inset: 0; z-index: 299; background-color: var(--overlay-scrim); opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s;}
.filter-dim.open {opacity: 1; visibility: visible;}

/* 상품 상세 */
.shop-detail-section {padding-top: var(--space-32);}
.shop-detail-section .detail-wrap {display: grid; grid-template-columns: minmax(0, 1fr) min(608px, 35%); align-items: start; column-gap: var(--space-64);}
.shop-detail-section .detail-wrap .detail-gallery {min-width: 0;}
.shop-detail-section .detail-wrap .detail-gallery .gallery-list {display: flex; flex-direction: column; row-gap: var(--space-24);}
.shop-detail-section .detail-wrap .detail-gallery .gallery-list .gallery-item {position: relative; aspect-ratio: 3 / 4; overflow: hidden; background-color: var(--bg-image-placeholder);}
.shop-detail-section .detail-wrap .detail-gallery .gallery-list .gallery-item img, .shop-detail-section .detail-wrap .detail-gallery .gallery-list .gallery-item .img-placeholder {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.shop-detail-section .detail-wrap .detail-gallery .gallery-count {display: none;}
.shop-detail-section .detail-wrap .detail-info {position: sticky; top: calc(var(--header-height) + var(--space-32)); display: flex; flex-direction: column; row-gap: calc(var(--space-32) + var(--space-4)); min-width: 0; max-height: calc(100vh - var(--header-height) - var(--space-32) * 2); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none;}
.shop-detail-section .detail-wrap .detail-info::-webkit-scrollbar {display: none;}
.shop-detail-section .detail-wrap .detail-info .info-head {display: flex; flex-direction: column; row-gap: 10px;}
.shop-detail-section .detail-wrap .detail-info .info-head .ui-label {color: var(--text-muted);}
.shop-detail-section .detail-wrap .detail-info .info-head .display-subsection {color: var(--text-strong);}
.shop-detail-section .detail-wrap .detail-info .info-head .name-ko {color: var(--text-secondary);}
.shop-detail-section .detail-wrap .detail-info .info-head .price-row {display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--space-12); padding-top: 10px;}
.shop-detail-section .detail-wrap .detail-info .info-head .price-row .body-large {color: var(--text-primary);}
.shop-detail-section .detail-wrap .detail-info .info-head .price-row .caption-small {color: var(--text-muted);}
.shop-detail-section .detail-wrap .detail-info .detail-form {display: flex; flex-direction: column; row-gap: calc(var(--space-32) + var(--space-4));}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field {display: flex; flex-direction: column; row-gap: var(--space-12);}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .size-head {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16);}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .size-head .ui-nav {color: var(--text-primary);}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .size-head .size-guide-btn {color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s;}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .valid-msg[hidden] {display: none;}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .stock-msg-list {display: flex; flex-direction: column; row-gap: var(--space-8); padding-top: var(--space-4);}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .stock-msg-list:empty {display: none;}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .stock-msg-list .stock-low {display: flex; align-items: center; column-gap: var(--space-8); color: var(--text-secondary);}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .stock-msg-list .stock-low::before {content: ''; flex: none; width: 6px; height: 6px; border-radius: 50%; background-color: var(--status-success);}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .stock-msg-list .stock-low[hidden] {display: none;}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .stock-msg-list .restock-row {display: flex; flex-wrap: wrap; column-gap: 6px; color: var(--text-muted);}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .stock-msg-list .restock-row .restock-link {color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px;}
.shop-detail-section .detail-wrap .detail-info .detail-form .detail-btn-wrap {display: flex; flex-direction: column; row-gap: var(--space-8);}
.shop-detail-section .detail-wrap .detail-info .detail-form .detail-btn-wrap .square-btn[hidden] {display: none;}
.shop-detail-section .detail-wrap .detail-info .detail-form .detail-btn-wrap .btn-row {display: flex; column-gap: 10px;}
.shop-detail-section .detail-wrap .detail-info .detail-form .detail-btn-wrap .btn-row [data-buy-now], .shop-detail-section .detail-wrap .detail-info .detail-form .detail-btn-wrap .btn-row [data-restock-main] {flex: 1 1 auto; min-width: 0;}
.shop-detail-section .detail-wrap .detail-info .detail-form .detail-btn-wrap .btn-row .wish-btn {flex: none; width: var(--size-56); min-width: 0; padding: 0;}
.shop-detail-section .detail-wrap .detail-info .detail-form .detail-btn-wrap .btn-row .wish-btn img {width: 24px; height: 24px;}
.shop-detail-section .detail-wrap .detail-info .detail-form .detail-btn-wrap .ship-note {color: var(--text-muted);}
.shop-detail-section .detail-wrap .detail-info .accordion-list .accordion-item .accordion-body .dot-list li {position: relative; padding-left: var(--space-12);}
.shop-detail-section .detail-wrap .detail-info .accordion-list .accordion-item .accordion-body .dot-list li::before {content: ''; position: absolute; top: 0.7em; left: 2px; width: 3px; height: 3px; border-radius: 50%; background-color: currentColor;}
.shop-detail-section .detail-wrap .detail-info .accordion-list .accordion-item .accordion-body .txt-btn {margin-top: var(--space-4); min-height: var(--size-40); color: var(--text-primary);}

/* 사이즈 옵션 꽉 채움 */
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .size-option-list, .option-sheet .size-option-list, .restock-modal .modal-inner .restock-form .restock-size .size-option-list {flex-wrap: nowrap; gap: var(--space-8);}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .size-option-list .size-option, .option-sheet .size-option-list .size-option, .restock-modal .modal-inner .restock-form .restock-size .size-option-list .size-option {flex: 1 1 0; min-width: 0;}
.shop-detail-section .detail-wrap .detail-info .detail-form .size-field .size-option-list .size-option > label, .option-sheet .size-option-list .size-option > label, .restock-modal .modal-inner .restock-form .restock-size .size-option-list .size-option > label {width: 100%;}

/* 추천 상품 */
.shop-related-section {padding-top: var(--space-160);}
.shop-related-section:last-child {padding-bottom: var(--space-160);}
.shop-related-section .section-header {margin-bottom: var(--space-40);}

/* 하단 구매 바 */
.purchase-bar {display: none;}

/* 사이즈 선택 시트 */
.option-sheet .sheet-handle {position: absolute; top: 10px; left: 50%; width: 40px; height: 4px; border-radius: 2px; background-color: var(--border-default); transform: translateX(-50%);}
.option-sheet {position: fixed; right: 0; bottom: 0; left: 0; z-index: 300; max-height: 85vh; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-32) var(--layout-page-margin) calc(var(--space-24) + env(safe-area-inset-bottom)); background-color: var(--bg-canvas); visibility: hidden; transform: translateY(100%); transition: transform 0.35s var(--ease-out), visibility 0.35s;}
.option-sheet.open {visibility: visible; transform: translateY(0); transition: transform 0.35s var(--ease-out), visibility 0s;}
.option-sheet.dragging {transition: none;}
.option-sheet .sheet-head {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16); margin-bottom: var(--space-16);}
.option-sheet .sheet-head .heading-kr-small {color: var(--text-strong);}
.option-sheet .sheet-head .close-btn {margin-right: calc(var(--space-12) * -1);}
.sheet-dim {position: fixed; inset: 0; z-index: 299; background-color: var(--overlay-scrim); opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s;}
.sheet-dim.open {opacity: 1; visibility: visible;}

/* 상세 모달 */
.size-guide-modal .modal-inner, .restock-modal .modal-inner, .restock-done-modal .modal-inner {display: flex; flex-direction: column; row-gap: var(--space-32); padding: var(--space-40) var(--space-48) var(--space-48);}
.size-guide-modal .modal-inner {max-width: 880px;}
.restock-done-modal .modal-inner {max-width: 480px;}
.size-guide-modal .modal-inner .sheet-handle, .restock-modal .modal-inner .sheet-handle, .restock-done-modal .modal-inner .sheet-handle {display: none;}
.size-guide-modal .modal-inner .modal-head, .restock-modal .modal-inner .modal-head, .restock-done-modal .modal-inner .modal-head {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16);}
.size-guide-modal .modal-inner .modal-head h2, .restock-modal .modal-inner .modal-head h2, .restock-done-modal .modal-inner .modal-head h2 {color: var(--text-strong);}
.size-guide-modal .modal-inner .modal-head .close-btn, .restock-modal .modal-inner .modal-head .close-btn, .restock-done-modal .modal-inner .modal-head .close-btn {margin-right: calc(var(--space-12) * -1);}
.size-guide-modal .modal-inner .guide-tab .tab-list {column-gap: var(--space-32); border-bottom: 1px solid var(--border-subtle);}
.size-guide-modal .modal-inner .guide-tab .tab-content {padding-top: var(--space-32);}
.size-guide-modal .modal-inner .guide-tab .tab-content.active {display: flex; flex-direction: column; row-gap: var(--space-32);}
.size-guide-modal .modal-inner .guide-tab .tab-content .guide-product {display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-4) var(--space-16);}
.size-guide-modal .modal-inner .guide-tab .tab-content .guide-product .body-small {color: var(--text-primary);}
.size-guide-modal .modal-inner .guide-tab .tab-content .guide-product .caption-default {color: var(--text-muted);}
.size-guide-modal .modal-inner .guide-tab .tab-content .guide-product .caption-default[hidden] {display: none;}
.size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap .size-table {table-layout: fixed;}
.size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap .size-table th, .size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap .size-table td {padding: 14px var(--space-16); border-bottom: 1px solid var(--border-subtle); font-weight: 400; color: var(--text-primary); text-align: left; white-space: nowrap; transition: background-color 0.2s;}
.size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap .size-table th[scope="row"] {color: var(--text-muted);}
.size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap .size-table .on {background-color: var(--bg-muted);}
.size-guide-modal .modal-inner .guide-tab .tab-content .guide-note {color: var(--text-muted);}
.restock-modal .modal-inner .restock-form {display: flex; flex-direction: column; row-gap: var(--space-32);}
.restock-modal .modal-inner .restock-form .restock-product {display: flex; align-items: center; column-gap: var(--space-20);}
.restock-modal .modal-inner .restock-form .restock-product .img-placeholder {flex: none; width: 84px; padding: 0;}
.restock-modal .modal-inner .restock-form .restock-product .txt-wrap {display: flex; flex-direction: column; row-gap: var(--space-4); min-width: 0;}
.restock-modal .modal-inner .restock-form .restock-product .txt-wrap .product-title {color: var(--text-primary);}
.restock-modal .modal-inner .restock-form .restock-product .txt-wrap .caption-default {color: var(--text-muted);}
.restock-modal .modal-inner .restock-form .restock-size {display: flex; flex-direction: column; row-gap: var(--space-12);}
.restock-modal .modal-inner .restock-form .restock-size legend {float: left; width: 100%; margin-bottom: var(--space-12); color: var(--text-primary);}
.restock-modal .modal-inner .restock-form .restock-size .restock-desc {color: var(--text-muted);}
.restock-modal .modal-inner .restock-form .valid-msg[hidden] {display: none;}
.restock-modal .modal-inner .restock-form .input-item + .input-item {margin-top: 0;}
.restock-modal .modal-inner .restock-form .restock-agree {display: flex; flex-direction: column; row-gap: var(--space-8);}
.restock-done-modal .modal-inner .body-small {color: var(--text-secondary);}

/* 측정 방법 */
.size-guide-modal .modal-inner .guide-tab .tab-content .measure-guide {position: relative;}
.size-guide-modal .modal-inner .guide-tab .tab-content .measure-guide .measure-img {display: block; width: auto; max-width: 100%; height: auto;}
.size-guide-modal .modal-inner .guide-tab .tab-content .measure-note {display: flex; flex-direction: column; row-gap: var(--space-8); padding-top: var(--space-20); border-top: 1px solid var(--border-subtle); color: var(--text-secondary);}

/* 미니 장바구니 */
.mini-cart {position: fixed; top: 0; right: 0; bottom: 0; z-index: 300; display: flex; flex-direction: column; row-gap: var(--space-24); width: min(560px, 100%); overflow-y: auto; overscroll-behavior: contain; padding: var(--space-40); background-color: var(--bg-canvas); visibility: hidden; transform: translateX(100%); transition: transform 0.35s var(--ease-out), visibility 0.35s;}
.mini-cart.open {visibility: visible; transform: translateX(0); transition: transform 0.35s var(--ease-out), visibility 0s;}
.mini-cart.dragging {transition: none;}
.mini-cart .sheet-handle {display: none;}
.mini-cart .mini-cart-head {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16);}
.mini-cart .mini-cart-head .heading-kr-small {color: var(--text-primary);}
.mini-cart .mini-cart-head .close-btn {margin-right: calc(var(--space-12) * -1);}
.mini-cart .added-msg {color: var(--text-secondary);}
.mini-cart .mini-cart-item {display: flex; align-items: flex-start; column-gap: var(--space-12); padding-block: calc(var(--space-24) + var(--space-4)); border-bottom: 1px solid var(--border-subtle);}
.mini-cart .mini-cart-item .thumb {flex: none; width: 84px; aspect-ratio: 3 / 4; padding: 0;}
.mini-cart .mini-cart-item .item-info {display: flex; flex-direction: column; row-gap: 6px; flex: 1 1 auto; min-width: 0;}
.mini-cart .mini-cart-item .item-info .product-title {color: var(--text-primary);}
.mini-cart .mini-cart-item .item-info .name-en {color: var(--text-muted);}
.mini-cart .mini-cart-item .item-info .option {padding-top: var(--space-8); color: var(--text-secondary);}
.mini-cart .mini-cart-item .item-info .qty-row {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-8) var(--space-12); padding-top: var(--space-12);}
.mini-cart .mini-cart-item .item-info .qty-row .item-price {display: flex; flex-direction: column; align-items: flex-end; row-gap: var(--space-4); margin-left: auto; text-align: right;}
.mini-cart .mini-cart-item .item-info .qty-row .item-price .product-price {color: var(--text-primary);}
.mini-cart .mini-cart-item .item-info .qty-row .item-price .caption-small {color: var(--text-muted);}
.mini-cart .mini-cart-item .item-info .valid-msg {padding-top: var(--space-8);}
.mini-cart .mini-cart-item .item-info .valid-msg[hidden] {display: none;}
.mini-cart .total-msg {color: var(--text-secondary);}
.mini-cart .square-btn {flex: none; margin-top: auto;}
.mini-cart-dim {position: fixed; inset: 0; z-index: 299; background-color: var(--overlay-scrim); opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s;}
.mini-cart-dim.open {opacity: 1; visibility: visible;}

/* 장바구니 */
.cart-section {padding-block: var(--space-48) var(--space-160);}
.cart-section .display-hero {padding-bottom: calc(var(--space-48) + var(--space-8)); color: var(--text-strong);}
.cart-section .cart-wrap {display: grid; grid-template-columns: minmax(0, 1fr) clamp(400px, 23vw, 440px); align-items: start; column-gap: var(--space-120);}
.cart-section .cart-wrap .cart-items .select-bar {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16); padding-bottom: var(--space-20); border-bottom: 1px solid var(--border-strong);}
.cart-section .cart-wrap .cart-items .select-bar .bulk-btn-list {display: flex; column-gap: var(--space-20);}
.cart-section .cart-wrap .cart-items .select-bar .bulk-btn-list button {color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item {display: grid; grid-template-columns: 20px 120px minmax(0, 1fr) 120px 160px; grid-template-rows: auto 1fr auto; grid-template-areas: "check thumb info qty price" "check thumb act act act" ". . limit limit limit"; column-gap: var(--space-24); padding-block: 28px; border-bottom: 1px solid var(--border-subtle);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-check {grid-area: check; display: flex;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-thumb {grid-area: thumb; align-self: start; display: block; aspect-ratio: 3 / 4; overflow: hidden; background-color: var(--bg-image-placeholder); transition: opacity 0.2s;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-thumb .img-placeholder {height: 100%;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-info {grid-area: info; display: flex; flex-direction: column; align-items: flex-start; row-gap: 6px; min-width: 0;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-info .product-title {color: var(--text-primary);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-info .name-en {color: var(--text-muted);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-info .option-row {display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-12); padding-top: var(--space-8); color: var(--text-secondary);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-info .option-row .option-btn {color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-info .valid-msg[hidden] {display: none;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .qty-selector {grid-area: qty; align-self: start;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .qty-selector[hidden] {display: none;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-price {grid-area: price; display: flex; flex-direction: column; align-items: flex-end; row-gap: var(--space-4); text-align: right;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-price .product-price {color: var(--text-primary);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-price .caption-small {color: var(--text-muted);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-btn-list {grid-area: act; align-self: start; display: flex; flex-wrap: wrap; column-gap: var(--space-20); padding-top: var(--space-16);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .item-btn-list button {color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .stock-limit {grid-area: limit; padding-top: var(--space-16);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item .stock-limit[hidden] {display: none;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item.unavailable .item-thumb {opacity: 0.5;}
.cart-section .cart-wrap .cart-items .cart-list .cart-item.unavailable .item-info .product-title {color: var(--text-muted);}
.cart-section .cart-wrap .cart-items .cart-list .cart-item.unavailable .item-price .product-price {color: var(--text-disabled);}
.cart-section .cart-wrap .cart-items .continue-link {display: inline-flex; align-items: center; column-gap: 6px; min-height: var(--size-44); margin-top: var(--space-20); color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px;}
.cart-section .cart-wrap .cart-items .continue-link img {flex: none; width: 14px; height: 14px;}
.cart-section .cart-wrap .cart-summary {position: sticky; top: calc(var(--header-height) + var(--space-32)); display: flex; flex-direction: column; row-gap: var(--space-24);}
.cart-section .cart-wrap .cart-summary .order-summary {display: flex; flex-direction: column; row-gap: var(--space-16);}
.cart-section .cart-wrap .cart-summary .order-summary .display-small {color: var(--text-strong);}
.cart-section .cart-wrap .cart-summary .order-summary .summary-row-list {row-gap: var(--space-16);}
.cart-section .cart-wrap .cart-summary .order-summary .summary-row-list .summary-row.total {margin-top: 0;}
.cart-section .cart-wrap .cart-summary .order-summary .summary-note {color: var(--text-muted);}
.cart-section .cart-wrap .cart-summary .summary-btn-list {display: flex; flex-direction: column; row-gap: var(--space-8); padding-top: var(--space-8);}
.cart-section .cart-wrap .cart-summary .summary-btn-list .caption-small {color: var(--text-muted);}
.cart-section .cart-wrap .cart-summary .summary-btn-list .valid-msg[hidden] {display: none;}

/* 빈 장바구니 */
.cart-empty-section {padding-block: var(--space-120) var(--space-160);}
.cart-empty-section[hidden], .cart-new-section[hidden] {display: none;}
.cart-empty-section .empty-state .btn-wrap {row-gap: var(--space-16);}
.cart-empty-section .empty-state .btn-wrap .txt-btn {min-height: var(--size-40); color: var(--text-primary);}
.cart-new-section {padding-top: 0;}

/* 장바구니 모달 */
.cart-modal .modal-inner {display: flex; flex-direction: column; row-gap: 28px; max-width: 480px; padding: var(--space-40);}
.cart-modal#cartOptionModal .modal-inner {max-width: 560px;}
.cart-modal .modal-inner .sheet-handle {display: none;}
.cart-modal .modal-inner .modal-head {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16);}
.cart-modal .modal-inner .modal-head .heading-kr-small {color: var(--text-strong);}
.cart-modal .modal-inner .modal-head .close-btn {margin-right: calc(var(--space-12) * -1);}
.cart-modal .modal-inner > .body-small {color: var(--text-secondary);}
.cart-modal .modal-inner .btn-list {flex-wrap: nowrap; column-gap: var(--space-8);}
.cart-modal .modal-inner .btn-list .square-btn {flex: 1 1 0; min-width: 0;}
.cart-modal .modal-inner .wish-move-btn {align-self: flex-start; min-height: 0; color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px;}
.cart-modal .modal-inner .order-item-row .thumb {aspect-ratio: 3 / 4; padding: 0;}
.cart-modal .modal-inner .option-size {display: flex; flex-direction: column; row-gap: var(--space-12);}
.cart-modal .modal-inner .option-size legend {float: left; width: 100%; margin-bottom: var(--space-12); color: var(--text-primary);}
.cart-modal .modal-inner .option-size .size-option-list {flex-wrap: nowrap; gap: var(--space-8);}
.cart-modal .modal-inner .option-size .size-option-list .size-option {flex: 1 1 0; min-width: 0;}
.cart-modal .modal-inner .option-size .size-option-list .size-option > label {width: 100%;}
.cart-modal .modal-inner .option-size .valid-msg[hidden] {display: none;}
.cart-page .toast .txt-btn {min-height: var(--size-40);}

/* 주문서 */
.checkout-section {padding-block: var(--space-48) var(--space-160);}
.checkout-section .checkout-head {display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--space-16); padding-bottom: var(--space-40);}
.checkout-section .checkout-head .display-hero {color: var(--text-strong);}
.checkout-section .checkout-head .caption-default {color: var(--text-muted);}
.checkout-section .pay-error {display: flex; flex-direction: column; align-items: flex-start; row-gap: var(--space-8); margin-bottom: var(--space-40); padding: var(--space-20) var(--space-24); border: 1px solid var(--status-error);}
.checkout-section .pay-error .body-small {color: var(--text-primary);}
.checkout-section .pay-error .txt-btn {min-height: 0; text-decoration: underline;}
.checkout-section .checkout-wrap {display: grid; grid-template-columns: minmax(0, 1fr) clamp(400px, 23vw, 440px); align-items: start; column-gap: var(--space-120);}
.checkout-section .checkout-wrap .checkout-form .checkout-block {display: flex; flex-direction: column; row-gap: calc(var(--space-24) + var(--space-4)); padding-block: var(--space-40) var(--space-48); border-top: 1px solid var(--border-strong);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .block-head {display: flex; align-items: baseline; justify-content: space-between; column-gap: var(--space-16);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .block-head .block-tit {display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--space-16); font-weight: 400; outline: none;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .block-head .block-tit .num {color: var(--text-muted);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .block-head .block-tit .display-small {color: var(--text-strong);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .block-head .block-tit .kr {color: var(--text-secondary);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .block-head .head-link {flex: none; color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .key-value-list {row-gap: calc(var(--space-24) + var(--space-4));}
.checkout-section .checkout-wrap .checkout-form .checkout-block .key-value-list .key-value-row dd {overflow-wrap: anywhere;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .address-choice {column-gap: var(--space-32); row-gap: var(--space-12);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .field-list {display: flex; flex-direction: column; row-gap: var(--space-20);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .field-list[hidden] {display: none;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .field-list .field-row {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-20) var(--space-24);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .field-list .field-row.zip-row {align-items: end;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .field-list .field-row.zip-row .square-btn {min-width: 0; width: 100%;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .field-list .input-item + .input-item {margin-top: 0;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .field-list .input-item .custom-input[readonly] {cursor: default;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .field-list .input-item .input-helper[hidden] {display: none;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .benefit-note {color: var(--text-secondary);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .coupon-row {display: flex; align-items: center; column-gap: var(--space-16); padding: var(--space-16) var(--space-20); border: 1px solid var(--border-default);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .coupon-row .ui-nav {flex: none; color: var(--text-primary);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .coupon-row .coupon-txt {flex: 1 1 auto; min-width: 0; color: var(--text-secondary);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .coupon-row .coupon-btn {flex: none; color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .points-row {display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-12) var(--space-16);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .points-row .input-item {flex: 1 1 0; min-width: 240px;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .points-row .square-btn {flex: none; min-width: 280px; margin-top: calc(var(--fs-13) * 1.538 + var(--space-8));}
.checkout-section .checkout-wrap .checkout-form .checkout-block .currency-note {color: var(--text-secondary);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list {border-top: 1px solid var(--border-subtle);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item {display: flex; align-items: center; column-gap: var(--space-8); padding-left: var(--space-20); border-bottom: 1px solid var(--border-subtle); transition: background-color 0.2s;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item.active {background-color: var(--bg-soft);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item label {display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-16); flex: 1 1 auto; min-width: 0; padding: var(--space-20) var(--space-20) var(--space-20) 0; cursor: pointer;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item label .pay-name {flex: none; color: var(--text-primary);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item label .pay-logo {flex: none; width: 58px; height: 23px;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item label .pay-desc {flex: 1 1 0; min-width: 160px; color: var(--text-muted);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .agree-all {padding-bottom: var(--space-16); border-bottom: 1px solid var(--border-subtle);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .agree-list {display: flex; flex-direction: column; row-gap: 14px;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .agree-list .agree-item {display: flex; align-items: flex-start; justify-content: space-between; column-gap: var(--space-16);}
.checkout-section .checkout-wrap .checkout-form .checkout-block .agree-list .agree-item .check-item {align-items: flex-start;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .agree-list .agree-item .view-btn {position: relative; flex: none; color: var(--text-muted); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s;}
.checkout-section .checkout-wrap .checkout-form .checkout-block .valid-msg[hidden] {display: none;}
.checkout-section .checkout-wrap .checkout-summary {position: sticky; top: calc(var(--header-height) + var(--space-32)); display: flex; flex-direction: column; row-gap: var(--space-24);}
.checkout-section .checkout-wrap .checkout-summary .order-items .ui-nav {color: var(--text-primary);}
.checkout-section .checkout-wrap .checkout-summary .order-items .order-item-list .order-item-row .thumb {aspect-ratio: 3 / 4; padding: 0;}
.checkout-section .checkout-wrap .checkout-summary .order-summary {display: flex; flex-direction: column; row-gap: var(--space-16);}
.checkout-section .checkout-wrap .checkout-summary .order-summary .display-small {color: var(--text-strong);}
.checkout-section .checkout-wrap .checkout-summary .order-summary .summary-row-list {row-gap: var(--space-16);}
.checkout-section .checkout-wrap .checkout-summary .order-summary .summary-row-list .summary-row.total {margin-top: 0;}
.checkout-section .checkout-wrap .checkout-summary .order-summary .summary-note {color: var(--text-muted);}
.checkout-section .checkout-wrap .checkout-summary .pay-btn-wrap {display: flex; flex-direction: column; row-gap: var(--space-24);}
.checkout-section .checkout-wrap .checkout-summary .pay-btn-wrap .valid-msg[hidden] {display: none;}
.checkout-section .checkout-wrap .checkout-summary .pay-btn-wrap .secure-note {display: flex; align-items: center; column-gap: var(--space-8); color: var(--text-muted);}
.checkout-section .checkout-wrap .checkout-summary .pay-btn-wrap .secure-note img {flex: none; width: 14px; height: 14px;}

/* 주문 완료 */
.checkout-complete-section {padding-block: var(--space-48) calc(var(--space-160) + var(--space-40));}
.checkout-complete-section .complete-wrap {max-width: 720px; margin-inline: auto; padding-top: var(--space-120);}
.checkout-complete-section .complete-wrap .complete-head {display: flex; flex-direction: column; align-items: center; row-gap: var(--space-16); padding-bottom: var(--space-64); text-align: center;}
.checkout-complete-section .complete-wrap .complete-head .display-hero {color: var(--text-strong);}
.checkout-complete-section .complete-wrap .complete-head .body-default {color: var(--text-secondary); word-break: keep-all;}
.checkout-complete-section .complete-wrap .complete-head .head-tit {color: var(--text-primary);}
.checkout-complete-section .complete-wrap .deposit-block {display: flex; flex-direction: column; row-gap: var(--space-16); padding-block: calc(var(--space-24) + var(--space-4)) var(--space-32); border-top: 1px solid var(--border-subtle);}
.checkout-complete-section .complete-wrap .deposit-block .ui-label {color: var(--text-muted);}
.checkout-complete-section .complete-wrap .deposit-block .deposit-list {display: flex; flex-direction: column; row-gap: var(--space-16);}
.checkout-complete-section .complete-wrap .deposit-block .deposit-list .deposit-row {display: flex; align-items: center; column-gap: var(--space-24);}
.checkout-complete-section .complete-wrap .deposit-block .deposit-list .deposit-row dt {flex: none; width: 140px; color: var(--text-secondary);}
.checkout-complete-section .complete-wrap .deposit-block .deposit-list .deposit-row dd {flex: 1 1 auto; min-width: 0; color: var(--text-primary); overflow-wrap: anywhere;}
.checkout-complete-section .complete-wrap .deposit-block .deposit-list .deposit-row.account dd {display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-8) var(--space-12);}
.checkout-complete-section .complete-wrap .deposit-block .deposit-list .deposit-row.due dd {font-weight: 500;}
.checkout-complete-section .complete-wrap .guest-guide {padding-bottom: var(--space-16);}
.checkout-complete-section .complete-wrap .complete-summary {border-top: 1px solid var(--border-strong);}
.checkout-complete-section .complete-wrap .complete-summary .complete-block {display: flex; flex-direction: column; row-gap: var(--space-12); padding-block: calc(var(--space-24) + var(--space-4)); border-bottom: 1px solid var(--border-subtle);}
.checkout-complete-section .complete-wrap .complete-summary .complete-block .ui-label {color: var(--text-muted);}
.checkout-complete-section .complete-wrap .complete-summary .complete-block .key-value-list .key-value-row dd {overflow-wrap: anywhere;}
.checkout-complete-section .complete-wrap .complete-summary .complete-block .order-item-list {margin-top: calc(var(--space-12) * -1);}
.checkout-complete-section .complete-wrap .complete-summary .complete-block .order-item-list .order-item-row .thumb {aspect-ratio: 3 / 4; padding: 0;}
.checkout-complete-section .complete-wrap .btn-list {flex-wrap: nowrap; padding-top: calc(var(--space-48) + var(--space-8));}
.checkout-complete-section .complete-wrap .btn-list .square-btn {flex: 1 1 0; min-width: 0;}

/* 주문서 모달 */
.checkout-modal .modal-inner {display: flex; flex-direction: column; row-gap: calc(var(--space-24) + var(--space-4)); max-width: 640px; padding: var(--space-40);}
.checkout-modal .modal-inner .sheet-handle {display: none;}
.checkout-modal .modal-inner .modal-head {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16);}
.checkout-modal .modal-inner .modal-head .heading-kr-small {color: var(--text-strong);}
.checkout-modal .modal-inner .modal-head .close-btn {margin-right: calc(var(--space-12) * -1);}
.checkout-modal .modal-inner .btn-list {flex-wrap: nowrap; column-gap: var(--space-8);}
.checkout-modal .modal-inner .btn-list .square-btn {flex: 1 1 0; min-width: 0;}
.checkout-modal .modal-inner .coupon-select .coupon-list {border-top: 1px solid var(--border-subtle);}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option {display: flex; align-items: flex-start; column-gap: var(--space-16); padding-left: var(--space-16); border-bottom: 1px solid var(--border-subtle); transition: background-color 0.2s;}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option:has(input:checked) {background-color: var(--bg-soft);}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option .custom-radio {margin-top: calc(var(--space-20) + 1px);}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option label {display: flex; align-items: flex-start; column-gap: var(--space-16); flex: 1 1 auto; min-width: 0; padding: var(--space-20) var(--space-16) var(--space-20) 0; cursor: pointer;}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option label .coupon-info {display: flex; flex-direction: column; row-gap: var(--space-4); flex: 1 1 auto; min-width: 0;}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option label .coupon-info .coupon-name {color: var(--text-primary);}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option label .coupon-info .caption-small {color: var(--text-muted);}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option label .coupon-info .reason {color: var(--text-error);}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option label .coupon-discount {flex: none; color: var(--text-primary);}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option.unavailable .custom-radio {opacity: 0.4;}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option.unavailable label {cursor: default;}
.checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option.unavailable label .coupon-info .coupon-name, .checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option.unavailable label .coupon-info .caption-small:not(.reason), .checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option.unavailable label .coupon-discount {color: var(--text-disabled);}
.checkout-modal .modal-inner .coupon-select .no-coupon-btn {margin-top: var(--space-16); color: var(--text-primary); text-decoration: underline; text-underline-offset: 3px;}
.checkout-modal .modal-inner .coupon-result {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16); color: var(--text-secondary);}
.checkout-modal .modal-inner .coupon-result .ui-nav {color: var(--text-primary);}
.checkout-modal .modal-inner .address-select .address-option-list {border-top: 1px solid var(--border-subtle);}
.checkout-modal .modal-inner .address-select .address-option-list .address-option {display: flex; align-items: flex-start; column-gap: var(--space-16); padding-left: var(--space-16); border-bottom: 1px solid var(--border-subtle); transition: background-color 0.2s;}
.checkout-modal .modal-inner .address-select .address-option-list .address-option:has(input:checked) {background-color: var(--bg-soft);}
.checkout-modal .modal-inner .address-select .address-option-list .address-option .custom-radio {margin-top: calc(var(--space-20) + 1px);}
.checkout-modal .modal-inner .address-select .address-option-list .address-option label {display: flex; flex-direction: column; row-gap: 6px; flex: 1 1 auto; min-width: 0; padding: var(--space-20) var(--space-16) var(--space-20) 0; color: var(--text-primary); cursor: pointer;}
.checkout-modal .modal-inner .address-select .address-option-list .address-option label .tit-row {display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-12);}
.checkout-modal .modal-inner .address-select .address-option-list .address-option label .tit-row .default-tag {padding: 2px var(--space-8); border-radius: var(--radius-full); background-color: var(--bg-inverse); color: var(--text-inverse);}
.checkout-modal .modal-inner .address-select .address-option-list .address-option label .recipient {color: var(--text-secondary);}
.checkout-modal .modal-inner .manage-link, .checkout-modal .modal-inner .terms-link {align-self: flex-start; min-height: 0; text-decoration: underline;}
.checkout-modal .modal-inner .terms-body {color: var(--text-secondary);}
.checkout-modal .modal-inner .terms-body:empty {display: none;}
.pay-loading-modal .modal-inner {display: flex; flex-direction: column; align-items: center; row-gap: var(--space-12); max-width: 440px; padding: var(--space-40) var(--space-48); text-align: center;}
.pay-loading-modal .modal-inner .loading-spinner {width: 28px; height: 28px; margin-bottom: var(--space-8);}
.pay-loading-modal .modal-inner .heading-kr-small {color: var(--text-strong);}
.pay-loading-modal .modal-inner .body-small {color: var(--text-secondary); word-break: keep-all;}

/* 호버 */
@media (hover: hover) {
    .shop-list-section .shop-filter-bar .filter-trigger:hover .pc-txt {text-decoration: underline; text-underline-offset: 4px;}
    .shop-list-section .shop-applied .applied-chip-list .applied-chip:hover {background-color: var(--border-subtle);}
    .shop-list-section .shop-applied .clear-btn:hover {color: var(--text-primary);}
    .filter-panel .filter-form .filter-btn-list .reset-btn:hover {background-color: var(--bg-muted);}
    .shop-detail-section .detail-wrap .detail-info .detail-form .size-field .size-head .size-guide-btn:hover {color: var(--text-primary);}
    .shop-detail-section .detail-wrap .detail-info .detail-form .size-field .stock-msg-list .restock-row .restock-link:hover {text-decoration-thickness: 2px;}
    .cart-section .cart-wrap .cart-items .select-bar .bulk-btn-list button:hover, .cart-section .cart-wrap .cart-items .cart-list .cart-item .item-btn-list button:hover {color: var(--text-primary);}
    .cart-section .cart-wrap .cart-items .cart-list .cart-item .item-thumb:hover {opacity: 0.85;}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .block-head .head-link:hover, .checkout-section .checkout-wrap .checkout-form .checkout-block .agree-list .agree-item .view-btn:hover {color: var(--text-secondary);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item:not(.active):hover {background-color: var(--bg-soft);}
    .checkout-modal .modal-inner .coupon-select .coupon-list .coupon-option:not(.unavailable):hover, .checkout-modal .modal-inner .address-select .address-option-list .address-option:hover {background-color: var(--bg-soft);}
}

@media screen and (max-width: 1440px) {
    .cart-section .cart-wrap {column-gap: var(--space-80);}
    .checkout-section .checkout-wrap {column-gap: var(--space-80);}
}
@media screen and (max-width: 1024px) {
    .shop-list-section .shop-product-list {column-gap: var(--space-16);}

    /* 장바구니 */
    .cart-section .cart-wrap {grid-template-columns: minmax(0, 1fr); row-gap: var(--space-40);}
    .cart-section .cart-wrap .cart-summary {position: static;}
    .cart-page .footer {padding-bottom: calc(var(--size-56) + var(--space-24) + env(safe-area-inset-bottom));}

    /* 주문서 */
    .checkout-section .checkout-wrap {grid-template-columns: minmax(0, 1fr); row-gap: var(--space-40);}
    .checkout-section .checkout-wrap .checkout-summary {position: static;}
    .checkout-page .footer {padding-bottom: calc(var(--size-56) + var(--space-24) + env(safe-area-inset-bottom));}

    /* 상품 상세 */
    .shop-detail-section .detail-wrap {grid-template-columns: minmax(0, 1fr); row-gap: var(--space-48);}
    .shop-detail-section .detail-wrap .detail-gallery .gallery-list {row-gap: var(--space-16);}
    .shop-detail-section .detail-wrap .detail-info {position: static; max-height: none; overflow-y: visible;}
    .shop-related-section .related-slider {margin-inline: calc(var(--layout-page-margin) * -1);}
    .shop-related-section .related-slider .related-list .swiper-slide {width: 280px;}

    /* 하단 구매 바 */
    .purchase-bar {position: fixed; right: 0; bottom: 0; left: 0; z-index: 150; display: flex; align-items: center; column-gap: var(--space-16); padding: var(--space-12) var(--layout-page-margin) calc(var(--space-12) + env(safe-area-inset-bottom)); border-top: 1px solid var(--border-subtle); background-color: var(--bg-canvas); visibility: hidden; transform: translateY(100%); transition: transform 0.3s var(--ease-out), visibility 0.3s;}
    .purchase-bar.show {visibility: visible; transform: translateY(0); transition: transform 0.3s var(--ease-out), visibility 0s;}
    .purchase-bar .bar-info {display: flex; flex-direction: column; row-gap: 2px; flex: 1 1 auto; min-width: 0;}
    .purchase-bar .bar-info .caption-small {overflow: hidden; color: var(--text-muted); text-overflow: ellipsis; white-space: nowrap;}
    .purchase-bar .bar-info .ui-nav {color: var(--text-primary);}
    .purchase-bar .square-btn {flex: none; width: 180px; min-width: 0;}
    .shop-detail-page .footer {padding-bottom: calc(var(--size-56) + var(--space-24) + env(safe-area-inset-bottom));}
}
@media screen and (max-width: 768px) {
    .shop-list-section .shop-head {flex-direction: column; align-items: flex-start; row-gap: var(--space-12); padding-block: var(--space-24) var(--space-40);}
    .shop-list-section .shop-cate-nav .tab-list {column-gap: var(--space-24);}

    /* 필터 · 정렬 */
    .shop-list-section .shop-filter-bar {column-gap: var(--space-8); padding-block: var(--space-12);}
    .shop-list-section .shop-filter-bar.no-applied {margin-bottom: var(--space-12);}
    .shop-list-section .shop-filter-bar > .filter-trigger, .shop-list-section .shop-filter-bar .sort-dropdown {flex: 1 1 0; min-width: 0;}
    .shop-list-section .shop-filter-bar .filter-trigger {justify-content: center; width: 100%; height: var(--size-40); padding-inline: var(--space-16); border: 1px solid var(--border-default);}
    .shop-list-section .shop-filter-bar .filter-trigger[aria-expanded="true"] {box-shadow: none;}
    .shop-list-section .shop-filter-bar .filter-trigger .pc-txt, .shop-list-section .shop-filter-bar .filter-trigger img {display: none;}
    .shop-list-section .shop-filter-bar .filter-trigger .m-txt {display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

    /* 정렬 시트 */
    .shop-list-section .shop-filter-bar .sort-dropdown .sort-dim {position: fixed; inset: 0; z-index: 299; display: block; background-color: var(--overlay-scrim); opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s;}
    .shop-list-section .shop-filter-bar .sort-dropdown.open .sort-dim {opacity: 1; visibility: visible;}
    .shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet {position: fixed; top: auto; right: 0; bottom: 0; left: 0; z-index: 300; min-width: 0; max-height: 85vh; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-32) 0 calc(var(--space-24) + env(safe-area-inset-bottom)); border: 0; opacity: 1; transform: translateY(100%); transition: transform 0.35s var(--ease-out), visibility 0.35s;}
    .shop-list-section .shop-filter-bar .sort-dropdown.open .sort-sheet {transform: translateY(0); transition: transform 0.35s var(--ease-out), visibility 0s;}
    .shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet.dragging, .filter-panel.dragging {transition: none;}
    .shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet .sheet-handle {display: block;}
    .shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet .sort-sheet-tit {display: block; padding: 0 var(--layout-page-margin) var(--space-12); color: var(--text-strong);}
    .shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet .sort-list .custom-dropdown-option {min-height: var(--size-48); padding-inline: var(--layout-page-margin);}

    /* 상품 그리드 */
    .shop-list-section .shop-product-list {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-40) var(--space-12);}

    /* 필터 시트 */
    .filter-panel {top: auto; display: flex; flex-direction: column; width: 100%; max-height: 85vh; overflow: hidden; transform: translateY(100%);}
    .filter-panel.open {transform: translateY(0);}
    .filter-panel .sheet-handle {display: block;}
    .filter-panel .filter-form {flex: 1 1 auto; min-height: 0; padding: var(--space-24) 0 0;}
    .filter-panel .filter-form .filter-head {flex: none; padding-inline: var(--layout-page-margin);}
    .filter-panel .filter-form .filter-body {flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-inline: var(--layout-page-margin);}
    .filter-panel .filter-form .filter-btn-list {flex: none; padding: var(--space-16) var(--layout-page-margin) calc(var(--space-16) + env(safe-area-inset-bottom)); border-top: 1px solid var(--border-subtle);}

    /* 상품 상세 */
    .shop-related-section .related-slider .related-list .swiper-slide {width: 220px;}

    /* 상품 상세 갤러리 */
    .shop-detail-section .detail-wrap {row-gap: calc(var(--space-24) + var(--space-4));}
    .shop-detail-section .detail-wrap .detail-gallery {width: 100%; overflow: hidden;}
    .shop-detail-section .detail-wrap .detail-gallery .gallery-list {flex-direction: row; row-gap: 0;}
    .shop-detail-section .detail-wrap .detail-gallery .gallery-list .gallery-item {flex: none; width: 100%;}
    .shop-detail-section .detail-wrap .detail-gallery .gallery-count {display: block; margin-top: calc(var(--space-24) + var(--space-4)); color: var(--text-secondary);}

    /* 측정 방법 */
    .size-guide-modal .modal-inner .guide-tab .tab-content .guide-product {flex-direction: column; align-items: flex-start;}

    /* 미니 장바구니 */
    .mini-cart {top: auto; left: 0; width: 100%; max-height: 85vh; padding: var(--space-24) var(--layout-page-margin) calc(var(--space-32) + env(safe-area-inset-bottom)); transform: translateY(100%);}
    .mini-cart.open {transform: translateY(0);}
    .mini-cart .sheet-handle {display: block; position: absolute; top: 10px; left: 50%; width: 40px; height: 4px; border-radius: 2px; background-color: var(--border-default); transform: translateX(-50%);}
    .mini-cart .square-btn {margin-top: 0;}
    .purchase-bar .square-btn {width: auto; max-width: 50%; padding-inline: var(--space-20);}

    /* 장바구니 */
    .cart-section .display-hero {padding-bottom: var(--space-32);}
    .cart-section .cart-wrap .cart-items .select-bar .bulk-btn-list {column-gap: var(--space-12);}
    .cart-section .cart-wrap .cart-items .cart-list .cart-item {grid-template-columns: 20px 84px minmax(0, 1fr) auto; grid-template-rows: auto auto 1fr auto; grid-template-areas: "check thumb info info" "check thumb qty price" "check thumb act act" ". . limit limit"; column-gap: var(--space-12);}
    .cart-section .cart-wrap .cart-items .cart-list .cart-item .qty-selector, .cart-section .cart-wrap .cart-items .cart-list .cart-item .item-price {margin-top: var(--space-12);}
    .cart-section .cart-wrap .cart-items .cart-list .cart-item .item-btn-list {padding-top: var(--space-12);}
    .cart-section .cart-wrap .cart-items .cart-list .cart-item.unavailable .item-price {grid-column: 3 / 5; align-items: flex-start; text-align: left;}
    .cart-empty-section {padding-block: var(--space-64) var(--space-80);}
    .cart-modal {align-items: flex-end; padding: 0;}
    .cart-modal .modal-inner, .cart-modal#cartOptionModal .modal-inner {max-width: none; max-height: 85vh; row-gap: var(--space-24); padding: var(--space-32) var(--layout-page-margin) calc(var(--space-24) + env(safe-area-inset-bottom));}
    .cart-modal .modal-inner .sheet-handle {display: block; position: absolute; top: 10px; left: 50%; width: 40px; height: 4px; border-radius: 2px; background-color: var(--border-default); transform: translateX(-50%);}
    .cart-modal .modal-inner.dragging {transition: none;}

    /* 주문서 */
    .checkout-section .checkout-head {padding-bottom: var(--space-32);}
    .checkout-complete-section .complete-wrap {padding-top: var(--space-64);}
    .checkout-complete-section .complete-wrap .complete-head {padding-bottom: var(--space-48);}
    .checkout-complete-section .complete-wrap .deposit-block .deposit-list .deposit-row {flex-direction: column; align-items: flex-start; row-gap: var(--space-4);}
    .checkout-complete-section .complete-wrap .deposit-block .deposit-list .deposit-row dt {width: auto;}
    .checkout-complete-section .complete-wrap .deposit-block .deposit-list .deposit-row dd {width: 100%;}
    .checkout-complete-section .complete-wrap .btn-list {flex-direction: column; align-items: stretch; row-gap: var(--space-12); padding-top: var(--space-48);}
    .checkout-complete-section .complete-wrap .btn-list .square-btn {flex: none; width: 100%;}
    .checkout-section .pay-error {padding: var(--space-16);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .block-head {flex-direction: column; align-items: flex-start; row-gap: var(--space-4);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .field-list .field-row {grid-template-columns: minmax(0, 1fr);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .field-list .field-row.zip-row {grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-12);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .coupon-row {flex-wrap: wrap; gap: var(--space-8) var(--space-16);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .coupon-row .coupon-txt {flex-basis: calc(100% - 60px);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .points-row .input-item {flex-basis: 100%; min-width: 0;}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .points-row .square-btn {width: 100%; min-width: 0; margin-top: 0;}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item {align-items: flex-start; padding-left: var(--space-16);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item .custom-radio {margin-top: calc(var(--space-20) + 1px);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item label {padding-right: var(--space-16);}
    .checkout-section .checkout-wrap .checkout-form .checkout-block .pay-method .pay-method-list .pay-method-item label .pay-desc {flex-basis: 100%; min-width: 0;}
    .purchase-bar .square-btn .bar-amount {display: none;}
    .checkout-modal, .pay-loading-modal {align-items: flex-end; padding: 0;}
    .checkout-modal .modal-inner, .pay-loading-modal .modal-inner {max-width: none; max-height: 85vh; row-gap: var(--space-24); padding: var(--space-32) var(--layout-page-margin) calc(var(--space-24) + env(safe-area-inset-bottom));}
    .checkout-modal .modal-inner .sheet-handle {display: block; position: absolute; top: 10px; left: 50%; width: 40px; height: 4px; border-radius: 2px; background-color: var(--border-default); transform: translateX(-50%);}
    .checkout-modal .modal-inner.dragging {transition: none;}
    .pay-loading-modal .modal-inner {row-gap: var(--space-12);}

    /* 상세 모달 */
    .size-guide-modal, .restock-modal, .restock-done-modal {align-items: flex-end; padding: 0;}
    .size-guide-modal .modal-inner, .restock-modal .modal-inner, .restock-done-modal .modal-inner {max-width: none; max-height: 85vh; row-gap: var(--space-24); padding: var(--space-32) var(--layout-page-margin) calc(var(--space-24) + env(safe-area-inset-bottom));}
    .size-guide-modal .modal-inner {max-width: none;}
    .restock-done-modal .modal-inner {max-width: none;}
    .size-guide-modal .modal-inner .sheet-handle, .restock-modal .modal-inner .sheet-handle, .restock-done-modal .modal-inner .sheet-handle {display: block;}
    .size-guide-modal .modal-inner.dragging, .restock-modal .modal-inner.dragging, .restock-done-modal .modal-inner.dragging {transition: none;}
    .size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap {margin-inline: calc(var(--layout-page-margin) * -1); padding-inline: var(--layout-page-margin); overflow-x: auto;}
    .size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap .size-table {min-width: 320px;}
    .size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap .size-table th, .size-guide-modal .modal-inner .guide-tab .tab-content .size-table-wrap .size-table td {padding-inline: var(--space-8);}
    .restock-modal .modal-inner .restock-form {row-gap: var(--space-24);}

    /* 시트 손잡이 */
    .filter-panel .sheet-handle, .shop-list-section .shop-filter-bar .sort-dropdown .sort-sheet .sheet-handle, .size-guide-modal .modal-inner .sheet-handle, .restock-modal .modal-inner .sheet-handle, .restock-done-modal .modal-inner .sheet-handle {position: absolute; top: 10px; left: 50%; width: 40px; height: 4px; border-radius: 2px; background-color: var(--border-default); transform: translateX(-50%);}
}
@media screen and (max-width: 360px) {
    /* 장바구니 */
    .cart-section .cart-wrap .cart-items .select-bar {flex-wrap: wrap; row-gap: var(--space-8);}
    .cart-section .cart-wrap .cart-items .cart-list .cart-item {grid-template-columns: 20px 84px minmax(0, 1fr); grid-template-rows: auto auto auto 1fr auto; grid-template-areas: "check thumb info" "check thumb qty" "check thumb price" "check thumb act" ". . limit";}
    .cart-section .cart-wrap .cart-items .cart-list .cart-item .qty-selector {width: 100%; max-width: 120px;}
    .cart-section .cart-wrap .cart-items .cart-list .cart-item .item-price, .cart-section .cart-wrap .cart-items .cart-list .cart-item.unavailable .item-price {grid-column: auto; margin-top: var(--space-8); align-items: flex-start; text-align: left;}

    /* 주문서 */
    .checkout-section .checkout-wrap .checkout-form .checkout-block .agree-list .agree-item {flex-wrap: wrap;}
}
