/* [애니팜] 마이페이지 2판 (2026-11-03): 왼쪽 메뉴 + 내 정보 카드 + 주문 흐름 + 주문 카드. shop.css · anipharm.css · ap-cart.css 위에 얹는다 */
.ap-my { padding-top: 32px; }
.ap-my-grid { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 48px; align-items: start; }

/* 왼쪽 메뉴 */
.ap-my-side { position: sticky; top: calc(var(--ap-sticky-top, 0px) + 24px); }
.ap-my-side h1 { margin: 0 0 22px; font-size: 26px; font-weight: 800; letter-spacing: -0.035em; color: #191f28; }
.ap-my-side nav { display: flex; flex-direction: column; }
.ap-my-side nav p { margin: 18px 0 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .02em; color: #b0b8c1; }
.ap-my-side nav > .ap-my-side-group:first-child > p { margin-top: 0; }
.ap-my-side-group { display: flex; flex-direction: column; } /* [11/10] 쇼핑 · 회원 · 고객센터 묶음 (모바일에선 회원 · 고객센터만 맨 아래 목록) */
.ap-my-side nav a { padding: 8px 0; font-size: 15px; color: #4e5968; }
.ap-my-side nav a:hover, .ap-my-side nav a.is-on { color: #191f28; font-weight: 700; }
.ap-my-side nav a small { display: block; font-size: 12px; color: #8b95a1; font-weight: 400; }

/* 내 정보 카드 */
.ap-my-me { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 28px 30px; border-radius: 22px; background: #f2f8fd; }
.ap-my-hello p { margin: 0; }
.ap-my-company { font-size: 15px; font-weight: 800; color: #0270b0; }
.ap-my-name { margin-top: 2px !important; font-size: 22px; color: #191f28; letter-spacing: -0.03em; }
.ap-my-name strong { font-weight: 800; }
.ap-my-tier { display: flex; align-items: center; gap: 8px; margin-top: 10px !important; font-size: 13.5px; }
.ap-my-tier a { color: #4e5968; text-decoration: underline; text-underline-offset: 2px; }
.ap-my-chip { padding: 4px 10px; border-radius: 999px; background: #fff; color: #4e5968; font-size: 12.5px; font-weight: 700; }
.ap-my-chip.is-pharmacy { background: var(--shp-brand); color: #fff; }
.ap-my-chip.is-pharmacist { background: #e1f0fb; color: #0270b0; }
.ap-my-apply { display: inline-block; margin-top: 14px; padding: 9px 14px; border-radius: 10px; background: var(--shp-brand); color: #fff !important; font-size: 14px; font-weight: 700; }
.ap-my-apply:hover { background: #0270b0; }
.ap-my-apply.is-pending { background: #fff; color: #4e5968 !important; font-weight: 600; }
.ap-my-stats { display: flex; gap: 10px; }
.ap-my-stats button { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 130px; padding: 16px 18px; border: 0; border-radius: 16px; background: #fff; font: inherit; text-align: left; cursor: pointer; transition: transform .15s; }
.ap-my-stats button:hover { transform: translateY(-2px); }
.ap-my-stats span { font-size: 13px; color: #8b95a1; }
.ap-my-stats strong { font-size: 19px; font-weight: 800; letter-spacing: -0.02em; color: #191f28; }

/* 주문 흐름 (결제 대기 → 배송 완료) */
.ap-my-flow { display: grid; grid-template-columns: repeat(5, 1fr); margin: 20px 0 0; padding: 20px 0; list-style: none; border-radius: 18px; border: 1px solid #eceef1; }
.ap-my-flow li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; }
/* [11/10] 흐름 숫자를 누르면 그 상태만 (st=) */
.ap-my-flow li > a { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 72px; padding: 4px 8px; border-radius: 12px; color: inherit; }
.ap-my-flow li > a:hover { background: #f5f7fa; }
.ap-my-flow li > a:focus-visible { outline: 2px solid var(--shp-brand); outline-offset: 2px; }
.ap-my-flow li.is-cur > a { background: #eaf3fd; }
.ap-my-flow li.is-cur strong { color: var(--shp-brand); }
.ap-my-flow li + li::before { content: ''; position: absolute; left: -6px; top: 16px; width: 10px; height: 10px; border-top: 2px solid #d1d6db; border-right: 2px solid #d1d6db; transform: rotate(45deg); }
.ap-my-flow strong { font-size: 24px; font-weight: 800; color: #d1d6db; }
.ap-my-flow span { font-size: 13.5px; color: #8b95a1; }
.ap-my-flow li.is-on strong { color: var(--shp-brand); }
.ap-my-flow li.is-on span { color: #333d4b; font-weight: 600; }

/* 탭 · 거르기 */
.ap-my-tabs.shp-my-tabs { display: flex; gap: 0; margin: 36px 0 18px; border-bottom: 1px solid #e5e8eb; overflow-x: auto; scrollbar-width: none; scroll-margin-top: calc(var(--ap-sticky-top, 0px) + 10px); }
.ap-my-tabs .shp-my-tab { flex: 0 0 auto; padding: 14px 18px; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; border-radius: 0; background: none; font: inherit; font-size: 16px; font-weight: 600; color: #8b95a1; cursor: pointer; }
.ap-my-tabs .shp-my-tab small { font-size: 13px; color: inherit; }
.ap-my-tabs .shp-my-tab.is-on { color: #191f28; font-weight: 700; border-bottom-color: #191f28; background: none; }
.ap-my .shp-my-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
/* [11/10] 거르기 칩 = 서버에서 거르는 링크 (흐름 순서) */
.ap-my .shp-my-filter a, .ap-my .shp-my-filter button { display: inline-flex; align-items: center; padding: 7px 14px; border: 1px solid #e5e8eb; border-radius: 999px; background: #fff; font: inherit; font-size: 13.5px; color: #4e5968; cursor: pointer; }
.ap-my .shp-my-filter a small, .ap-my .shp-my-filter button small { margin-left: 4px; color: #8b95a1; }
.ap-my .shp-my-filter a.is-on, .ap-my .shp-my-filter button.is-on { border-color: #191f28; background: #191f28; color: #fff; }
.ap-my .shp-my-filter a.is-on small, .ap-my .shp-my-filter button.is-on small { color: rgba(255, 255, 255, .7); }

/* 주문 카드 */
.ap-orders { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ap-order { padding: 18px 20px; border: 1px solid #eceef1; border-radius: 18px; background: #fff; }
.ap-order[hidden] { display: none; }
.ap-order-head { display: flex; align-items: baseline; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid #f2f4f6; font-size: 14px; }
.ap-order-head b { font-size: 16px; font-weight: 800; color: #191f28; }
.ap-order-head span { color: #8b95a1; }
.ap-order-head a { margin-left: auto; font-size: 14px; font-weight: 600; color: #4e5968; }
.ap-order-head a::after { content: ' ›'; }
.ap-order-head a:hover { color: var(--shp-brand); }
.ap-order-body { display: flex; align-items: center; gap: 16px; padding-top: 14px; color: inherit; }
.ap-order-thumb { flex: 0 0 auto; width: 72px; height: 72px; border-radius: 12px; background: #f5f6f8; overflow: hidden; }
.ap-order-thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.ap-order.is-legacy .ap-order-thumb { display: none; }
.ap-order-info { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.ap-order-name { font-size: 15.5px; font-weight: 600; color: #191f28; }
.ap-order-name small { font-weight: 400; color: #8b95a1; }
.ap-order-info strong { font-size: 16px; font-weight: 800; color: #191f28; }
.ap-order-pay { font-size: 13px; color: #8b95a1; }
.ap-order .shp-st { font-size: 12.5px; }
/* [11/10] 접수 · 처리 중인 취소 · 반품 신청 칩 (상태 칩 옆) */
.ap-order-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ap-claim-chip { display: inline-block; padding: 2px 9px; border-radius: 999px; background: #fff1e0; color: #b2580c; font-size: 12.5px; font-weight: 700; }
.ap-order-pending { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: #fffaf0; }
.ap-order-pending p { margin: 0; font-size: 13.5px; color: #8a5a00; }
.ap-order-pending > div { display: flex; gap: 6px; align-items: center; }
.ap-order-pending form { margin: 0; }
.ap-order-pending .shp-btn-sm { height: 38px; padding: 0 14px !important; border-radius: 10px !important; flex: 0 0 auto; }
.ap-my-note { margin: 0 0 14px; font-size: 13.5px; color: #8b95a1; }
.ap-my-note.is-warn { color: #c0392b; }

/* 비었을 때 · 표 */
.ap-my-empty { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 56px 20px; border-radius: 18px; background: #f7f8fa; }
.ap-my-empty p { margin: 0; font-size: 16px; font-weight: 700; color: #4e5968; }
.ap-my-empty .shp-btn { flex: 0 0 auto; height: 48px; padding: 0 22px; border-radius: 12px !important; }
.ap-my .shp-table { border: 0; border-radius: 0; border-top: 2px solid #191f28; }
.ap-my .shp-table th { background: none; font-size: 13.5px; font-weight: 600; color: #8b95a1; border-bottom: 1px solid #eceef1; }
.ap-my .shp-table td { font-size: 14.5px; border-bottom: 1px solid #f2f4f6; }
.ap-my .shp-empty { padding: 48px 0; border-radius: 18px; background: #f7f8fa; }
.ap-my .shp-coupon-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; padding: 0; list-style: none; }
.ap-my .shp-coupon-list li { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-radius: 16px; background: #f2f8fd; }

/* 손님 주문 조회 */
.ap-my-guest { max-width: 420px; margin: 0 auto; }
.ap-my-guest h1 { margin: 0 0 8px; font-size: 26px; font-weight: 800; text-align: center; }
.ap-my-guest .shp-detail-summary { text-align: center; }
.ap-my-guest .shp-row input { height: 52px; border-radius: 14px; }
.ap-my-guest .shp-btn { height: 54px; border-radius: 14px !important; }

@media (max-width: 1080px) {
	.ap-my-grid { grid-template-columns: 160px minmax(0, 1fr); gap: 28px; }
	.ap-my-me { grid-template-columns: 1fr; }
	.ap-my-stats button { flex: 1; min-width: 0; }
}
@media (max-width: 860px) {
	.ap-my { padding-top: 16px; }
	/* [11/10] 왼쪽 메뉴를 숨기지 않고 맨 아래 목록으로 (쇼핑 묶음은 위 탭과 같아서 뺌) */
	.ap-my-grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
	.ap-my-main { order: 1; }
	.ap-my-side { order: 2; position: static; margin-top: 40px; padding-top: 8px; border-top: 8px solid #f2f4f6; margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
	.ap-my-side h1, .ap-my-side-group.is-shop { display: none; }
	.ap-my-side nav p { margin: 18px 0 2px; }
	.ap-my-side nav a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 12px 0; border-bottom: 1px solid #f2f4f6; font-size: 15.5px; color: #191f28; }
	.ap-my-side nav a::after { content: '›'; color: #b0b8c1; font-size: 18px; }
	.ap-my-side nav a small { display: inline; margin: 0 auto 0 8px; }
	.ap-my-side-group:last-child a { border-bottom: 0; }
	.ap-my-me { padding: 22px 18px; border-radius: 18px; gap: 18px; }
	.ap-my-name { font-size: 19px; }
	.ap-my-stats { gap: 8px; }
	.ap-my-stats button { padding: 12px; border-radius: 14px; }
	.ap-my-stats strong { font-size: 16px; }
	.ap-my-flow { padding: 16px 0; border-radius: 16px; }
	.ap-my-flow strong { font-size: 20px; }
	.ap-my-flow span { font-size: 12px; }
	.ap-my-flow li + li::before { width: 7px; height: 7px; top: 14px; left: -4px; }
	.ap-my-flow li > a { min-width: 0; padding: 4px 2px; }
	.ap-my-tabs.shp-my-tabs { margin: 26px -16px 14px; padding: 0 8px; }
	.ap-my-tabs .shp-my-tab { padding: 12px; font-size: 15px; }
	.ap-order { padding: 16px; border-radius: 16px; }
	.ap-order-head { flex-wrap: wrap; gap: 4px 8px; }
	.ap-order-head span { font-size: 12.5px; }
	.ap-order-thumb { width: 60px; height: 60px; }
	.ap-order-pending > div { width: 100%; }
	.ap-order-pending .shp-btn-sm { flex: 1; }
	.ap-my .shp-table { font-size: 13px; }
}

/* [11/9] 약국 소개 탭 */
.ap-invite { display: flex; flex-direction: column; gap: 14px; }
.ap-invite h3 { margin: 0; font-size: 19px; font-weight: 800; letter-spacing: -0.02em; }
.ap-invite-lead { margin: 0; font-size: 14.5px; line-height: 1.6; color: #4e5968; }
.ap-invite-lead b { color: #00517c; }
.ap-invite-code { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 16px 18px; border: 1px solid #cfe6f5; border-radius: 14px; background: #f2f8fd; }
.ap-invite-code span { font-size: 13.5px; color: #2f5a75; }
.ap-invite-code strong { font-size: 24px; font-weight: 900; letter-spacing: .08em; color: #00517c; font-variant-numeric: tabular-nums; }
.ap-invite-link { display: flex; gap: 8px; flex-wrap: wrap; }
.ap-invite-link input { flex: 1 1 240px; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #e5e8eb; border-radius: 10px; background: #f7f8fa; font: inherit; font-size: 14px; color: #191f28; }
.ap-invite-btn { height: 44px; padding: 0 16px; border: 1px solid #c9d0d7; border-radius: 10px; background: #fff; font: inherit; font-size: 14px; font-weight: 700; color: #191f28; cursor: pointer; }
.ap-invite-btn.is-main { border-color: #0270b0; background: #0270b0; color: #fff; }
.ap-invite-btn[hidden] { display: none; }
.ap-invite-code .ap-invite-btn { margin-left: auto; height: 38px; }
.ap-invite-note { margin: 0; font-size: 13.5px; line-height: 1.6; color: #6b7684; }
.ap-invite-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.ap-invite-stats li { display: flex; flex-direction: column; gap: 2px; padding: 12px; border: 1px solid #e5e8eb; border-radius: 12px; }
.ap-invite-stats span { font-size: 12.5px; color: #6b7684; }
.ap-invite-stats strong { font-size: 18px; font-weight: 800; }
.ap-invite-chip { display: inline-block; padding: 2px 8px; border-radius: 999px; background: #f2f4f6; color: #4e5968; font-size: 12px; font-weight: 700; }
.ap-invite-chip.is-done { background: #e3f2fb; color: #00517c; }
@media (max-width: 860px) { .ap-invite-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ap-invite-code .ap-invite-btn { margin-left: 0; } }
.ap-invite-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; padding: 12px 14px; border-radius: 12px; background: #f7f8fa; font-size: 13.5px; color: #4e5968; }
.ap-invite-buy b { color: #191f28; }
.ap-invite-buy strong { color: #191f28; font-weight: 800; }
.ap-invite-new { margin-left: 4px; padding: 1px 7px; border-radius: 999px; background: #ff4757; color: #fff; font-size: 11px; font-style: normal; font-weight: 800; }
/* [11/10] 로그인 전 마이페이지 = 로그인 안내 */
.ap-my-guest-btns { display: flex; gap: 8px; margin: 18px 0 0; }
.ap-my-guest-btns .shp-btn { flex: 1; }

/* [11/10] 내 정보 카드: 쿠폰이 없으면 두 칸 */
.ap-my-stats.is-two button { min-width: 150px; }

/* [11/10] 쪽 나눔 (주문 20건 · 옛 주문 20건 · 마일리지 · 애니페이 30줄씩) */
.ap-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 22px 0 4px; }
.ap-pager a { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid #e5e8eb; border-radius: 10px; background: #fff; font-size: 14.5px; font-weight: 600; color: #4e5968; }
.ap-pager a:hover { border-color: #191f28; color: #191f28; }
.ap-pager a.is-on { border-color: #191f28; background: #191f28; color: #fff; }

/* [11/10] 마일리지 · 애니페이 내역 — PC 네 칸 줄, 모바일 카드 */
.ap-ledger-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; padding: 16px 18px; border-radius: 16px; background: #f2f8fd; }
.ap-ledger-top p { margin: 0; font-size: 15px; color: #4e5968; }
.ap-ledger-top strong { margin-left: 6px; font-size: 20px; font-weight: 800; color: #191f28; letter-spacing: -0.02em; }
.ap-ledger-top .ap-charge-btn { flex: 0 0 auto; height: 42px; padding: 0 18px !important; border-radius: 10px !important; font-size: 14.5px; }
.ap-ledger { margin: 0; padding: 0; list-style: none; border-top: 2px solid #191f28; }
.ap-ledger li { display: grid; grid-template-columns: 140px minmax(0, 1fr) 120px 120px; gap: 12px; align-items: center; padding: 14px 4px; border-bottom: 1px solid #f2f4f6; font-size: 14.5px; }
.ap-ledger li.ap-ledger-head { padding: 12px 4px; border-bottom-color: #eceef1; font-size: 13.5px; font-weight: 600; color: #8b95a1; }
.ap-ledger-head span:nth-child(n+3) { text-align: right; }
.ap-ledger-date { font-size: 13.5px; color: #6b7684; font-variant-numeric: tabular-nums; }
.ap-ledger-why { color: #191f28; word-break: keep-all; overflow-wrap: anywhere; }
.ap-ledger-why small { margin-left: 4px; color: #8b95a1; }
.ap-ledger-amt { text-align: right; font-weight: 700; color: #2677e3; font-variant-numeric: tabular-nums; }
.ap-ledger-amt.is-minus { color: #c0392b; }
.ap-ledger-bal { text-align: right; color: #4e5968; font-variant-numeric: tabular-nums; }
.ap-ledger-bal small { display: none; }

/* [11/10] 옛 주문 상세 */
.ap-legacy-detail { margin: 0 0 18px; padding: 18px 20px; border: 1px solid #cfe6f5; border-radius: 18px; background: #f7fbfe; scroll-margin-top: calc(var(--ap-sticky-top, 0px) + 10px); }
.ap-legacy-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; padding-bottom: 12px; border-bottom: 1px solid #e3eef7; font-size: 14px; }
.ap-legacy-head b { font-size: 16px; font-weight: 800; color: #191f28; }
.ap-legacy-head span { color: #6b7684; }
.ap-legacy-head .shp-st { font-size: 12.5px; }
.ap-legacy-head a { margin-left: auto; font-weight: 600; color: #4e5968; }
.ap-legacy-items { margin: 0; padding: 0; list-style: none; }
.ap-legacy-items li { display: grid; grid-template-columns: minmax(0, 1fr) 60px 110px 84px; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid #e9f0f6; font-size: 14.5px; }
.ap-legacy-name { color: #191f28; font-weight: 600; overflow-wrap: anywhere; }
.ap-legacy-name a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ap-legacy-name small { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 400; color: #8b95a1; }
.ap-legacy-qty { text-align: right; color: #4e5968; }
.ap-legacy-amt { text-align: right; font-weight: 700; color: #191f28; }
.ap-legacy-st { justify-self: end; padding: 2px 8px; border-radius: 999px; background: #eef2f6; font-size: 12px; font-weight: 700; color: #4e5968; }
.ap-legacy-sum { display: grid; grid-template-columns: 110px 1fr; gap: 8px 14px; margin: 14px 0 0; font-size: 14px; }
.ap-legacy-sum dt { color: #8b95a1; }
.ap-legacy-sum dd { margin: 0; text-align: right; color: #191f28; }
.ap-order.is-legacy.is-cur { border-color: #8cc4ea; }
.ap-order.is-legacy .ap-order-body { padding-top: 14px; }

@media (max-width: 860px) {
	.ap-ledger-top { padding: 14px 16px; }
	.ap-ledger { border-top: 0; display: flex; flex-direction: column; gap: 8px; }
	.ap-ledger li.ap-ledger-head { display: none; }
	.ap-ledger li { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'why amt' 'date bal'; gap: 4px 12px; padding: 14px 16px; border: 1px solid #eceef1; border-radius: 14px; }
	.ap-ledger-why { grid-area: why; font-weight: 600; }
	.ap-ledger-amt { grid-area: amt; }
	.ap-ledger-date { grid-area: date; font-size: 12.5px; }
	.ap-ledger-bal { grid-area: bal; font-size: 12.5px; color: #8b95a1; }
	.ap-ledger-bal small { display: inline; }
	.ap-legacy-detail { padding: 16px; }
	.ap-legacy-items li { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'name amt' 'qty st'; gap: 4px 10px; }
	.ap-legacy-name { grid-area: name; }
	.ap-legacy-amt { grid-area: amt; }
	.ap-legacy-qty { grid-area: qty; text-align: left; font-size: 13px; }
	.ap-legacy-st { grid-area: st; }
	.ap-pager a { min-width: 38px; height: 38px; }
}
/* [11/11] 찜 탭 (하트) — my.html shpMyPanel-wish */
.ap-wish-empty { display: flex; align-items: center; gap: 16px; padding: 28px 24px; border: 1px dashed #c9cfd6; border-radius: 16px; background: #fff; }
.ap-wish-empty svg { width: 40px; height: 40px; flex: 0 0 auto; fill: none; stroke: #b0b8c1; stroke-width: 1.6; stroke-linejoin: round; }
.ap-wish-empty div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ap-wish-empty b { font-size: 15.5px; }
.ap-wish-empty span { font-size: 14px; color: #6b7684; }
.ap-wish-empty .shp-btn { margin-left: auto; }
.ap-wish-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.ap-wish-bar .shp-btn, .ap-wish-sum .shp-btn, .ap-wish-act .shp-btn, .ap-wish-empty .shp-btn, .ap-wish-gone .shp-btn { flex: 0 0 auto; width: auto; white-space: nowrap; }
.ap-wish-all { display: flex; align-items: center; gap: 8px; min-height: 40px; margin-right: auto; font-size: 14px; font-weight: 700; }
.ap-wish-all span { color: #8b95a1; font-weight: 500; }
.ap-wish-all input, .ap-wish-pick { width: 18px; height: 18px; accent-color: #008cd6; }
.ap-wish-list { list-style: none; margin: 0; padding: 0; border: 1px solid #eceef1; border-radius: 16px; background: #fff; overflow: hidden; }
.ap-wish-row { display: grid; grid-template-columns: 22px 72px minmax(0, 1fr) auto auto 40px; align-items: center; gap: 14px; padding: 12px 14px; }
.ap-wish-row + .ap-wish-row { border-top: 1px solid #eceef1; }
.ap-wish-thumb { display: block; width: 72px; height: 72px; border-radius: 12px; background: #f4f5f7; overflow: hidden; }
.ap-wish-thumb img { width: 100%; height: 100%; object-fit: contain; }
.ap-wish-info { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 0; }
.ap-wish-info a { color: #191f28; font-size: 15px; font-weight: 700; text-decoration: none; }
.ap-wish-info a:hover { color: #0270b0; }
.ap-wish-chip { padding: 2px 8px; border-radius: 6px; background: #e8f4fc; color: #0270b0; font-size: 12px; font-weight: 700; }
.ap-wish-chip.is-off { background: #f2f4f6; color: #6b7684; }
.ap-wish-price strong { font-size: 16.5px; font-weight: 800; white-space: nowrap; }
.ap-wish-locked { font-size: 13px; color: #6b7684; }
.ap-wish-act { display: flex; align-items: center; gap: 8px; }
.ap-wish-qty { width: 64px; height: 38px; padding: 0 8px; border: 1px solid #d1d6db; border-radius: 10px; font: inherit; font-size: 14px; text-align: center; }
.ap-wish-x { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 10px; background: transparent; color: #8b95a1; cursor: pointer; }
.ap-wish-x:hover { background: #f2f4f6; color: #191f28; }
.ap-wish-x svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.ap-wish-gone { margin: 10px 2px 0; font-size: 13.5px; color: #6b7684; }
.ap-wish-sum { position: sticky; bottom: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; padding: 14px 18px; border-radius: 16px; background: #191f28; color: #fff; font-size: 14.5px; }
.ap-wish-sum small { color: #b0b8c1; }
.ap-wish-sum .shp-btn { margin-left: auto; min-height: 48px; padding: 0 22px; font-size: 15px; }
@media (max-width: 860px) {
	.ap-wish-row { grid-template-columns: 22px 64px minmax(0, 1fr) 40px; grid-template-areas: "pick thumb info x" "pick thumb price price" ". act act act"; gap: 8px 10px; }
	.ap-wish-pick { grid-area: pick; align-self: start; margin-top: 4px; }
	.ap-wish-thumb { grid-area: thumb; width: 64px; height: 64px; align-self: start; }
	.ap-wish-info { grid-area: info; }
	.ap-wish-price { grid-area: price; }
	.ap-wish-act { grid-area: act; }
	.ap-wish-act .shp-btn { flex: 1; }
	.ap-wish-x { grid-area: x; align-self: start; }
	.ap-wish-empty { flex-wrap: wrap; }
	/* 휴대폰: 합계 줄은 목록 아래 제자리 (붙어 다니면 목록 · 문의 버튼을 가렸음) · 위쪽 [선택 장바구니 담기]는 아래 큰 버튼과 같아서 숨김 */
	.ap-wish-sum { position: static; }
	.ap-wish-sum .shp-btn { width: 100%; margin-left: 0; }
	.ap-wish-bar [data-ap-wish-cart-picked] { display: none; }
}

