.checkout-page{max-width:1180px;min-height:75vh;padding-block:48px 88px;color:#252c29;font-size:14px}
.checkout-page .checkout-heading{margin-bottom:26px}
.checkout-page .checkout-heading h1{font-size:32px;line-height:1.35;letter-spacing:-.045em;margin:0 0 8px;font-weight:750}
.checkout-heading>p{font-size:14px;color:#7c8580;line-height:1.6}
.checkout-page .checkout-review-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:14px 18px;border:1px solid #dce7ce;border-radius:6px;background:#f5f9f0;margin-bottom:30px;font-size:12px;line-height:1.6;color:#5b6953}
.checkout-review-note strong{font-size:12px;font-weight:750;color:#405134;white-space:nowrap}
.checkout-block{margin:0 0 32px;min-width:0}
.checkout-page .checkout-block>h2{font-size:15px;font-weight:650;line-height:1.5;letter-spacing:-.02em;padding-left:11px;border-left:2px solid #d4dcd5;margin:0 0 16px}
.checkout-product-table{border-top:1px solid #bdc5c0;border-bottom:1px solid #e2e6e3}
.checkout-table-head,.checkout-product-row{display:grid;grid-template-columns:minmax(0,1fr) 210px}
.checkout-table-head{background:#f6f7f7;color:#56635d;font-size:12px}
.checkout-table-head>span{padding:16px 22px}
.checkout-table-head>span+span{border-left:1px solid #e5e8e6}
.checkout-product-info{display:flex;align-items:center;gap:22px;min-width:0;padding:22px}
.checkout-product-info>img{width:100px;height:70px;object-fit:cover;border-radius:4px;flex-shrink:0;background:#f7f8f7}
.checkout-product-info>div{min-width:0}
.checkout-product-info a{display:inline-block;font-size:14px;font-weight:650;line-height:1.6;overflow-wrap:anywhere;word-break:keep-all}
.checkout-product-info a:hover{text-decoration:underline;text-underline-offset:3px}
.checkout-product-info p{font-size:12px;line-height:1.6;color:#7c8781;margin-top:5px;overflow-wrap:anywhere}
.checkout-product-info p>span{margin-inline:5px;color:#b2bab5}
.checkout-product-price{display:flex;align-items:center;padding:22px;border-left:1px solid #e5e8e6;font-size:18px;font-weight:700;white-space:nowrap}
.checkout-totals{margin:0;border:1px solid #dce1dd;border-radius:6px;overflow:hidden}
.checkout-totals>div{display:grid;grid-template-columns:230px minmax(0,1fr)}
.checkout-totals>div+div{border-top:1px solid #e7ebe8}
.checkout-totals dt{padding:18px 24px;background:#f6f7f7;font-size:13px;color:#516059}
.checkout-totals dd{margin:0;padding:18px 28px;font-size:14px;color:#68766e}
.checkout-totals .checkout-total dt{font-weight:650;color:#293b2d}
.checkout-totals .checkout-total dd{font-size:21px;line-height:1.3;font-weight:750;color:#1d3023}
.checkout-methods{border:0;margin:0;padding:4px 0 0;min-width:0}
.checkout-methods legend{font-size:14px;font-weight:650;margin-bottom:14px}
.checkout-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.checkout-method-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.checkout-method{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 8px;min-height:56px;padding:10px 8px;border:1px solid #dfe4e0;border-radius:5px;background:#fff;cursor:pointer;text-align:center}
.checkout-method input{position:absolute;width:1px;height:1px;opacity:0}
.checkout-method:has(input:checked){border-color:#283d2b;box-shadow:inset 0 0 0 1px #283d2b;background:#fbfdf8}
.checkout-method:has(input:focus-visible){outline:3px solid var(--brand-accent);outline-offset:3px}
.checkout-method:has(input:disabled){background:#f8f9f8;cursor:not-allowed}
.checkout-method:has(input:disabled) .checkout-method-name{opacity:.45}
.checkout-method small{font-size:10px;color:#8b948f}
.checkout-method-name{font-size:14px;font-weight:750;line-height:1.5}
.checkout-pay-naver{color:#03a64a}.checkout-pay-kakao{color:#5f5124}.checkout-pay-toss{color:#2f61d8}
.checkout-page .checkout-help{font-size:12px;line-height:1.75;color:#7b867e;margin-top:12px}
.checkout-bank-transfer{margin-top:18px;padding:22px;border:1px solid #dce5d6;border-radius:6px;background:#f7faf3;overflow-wrap:anywhere}
.checkout-bank-transfer h3{font-size:15px;margin:0 0 16px;color:#293b2d}
.checkout-bank-transfer dl{margin:0;display:grid;gap:14px}
.checkout-bank-transfer dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:baseline}
.checkout-bank-transfer dt{font-size:13px;color:#697b67}
.checkout-bank-transfer dd{margin:0;font-size:14px;line-height:1.7;min-width:0}
.checkout-bank-number{font-variant-numeric:tabular-nums;font-weight:700;margin-right:12px}
.checkout-bank-copy{border:1px solid #b3c79f;border-radius:4px;background:#fff;color:#34472c;font-size:12px;padding:5px 10px;cursor:pointer}
.checkout-bank-notice{font-size:12px;line-height:1.75;color:#596a51;margin:18px 0 0}
.checkout-bank-parties{font-size:13px;line-height:1.8;color:#33422f;margin:18px 0 0;padding-top:16px;border-top:1px solid #dce5d6}.checkout-bank-parties strong{display:inline-block;min-width:150px;color:#1f2b20}
.checkout-bank-copy-status{font-size:12px;line-height:1.6;color:#52664a;margin:8px 0 0}.checkout-bank-copy-status:empty{display:none}
.checkout-policy-links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:#6c786f;margin:20px 0 0}
.checkout-policy-links a,.checkout-agreements a{text-decoration:underline;text-underline-offset:3px}
.checkout-agreements{display:grid;gap:12px;margin-top:32px;font-size:13px;color:#526259;line-height:1.7}
.checkout-agreements>label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.checkout-agreements input{width:17px;height:17px;margin:3px 0 0;accent-color:#4b6439;flex-shrink:0}
.checkout-status{min-height:20px;font-size:12px;line-height:1.7;color:#697b67;margin-top:14px}
.checkout-status:empty{min-height:0;margin-top:0}
.checkout-actions{display:flex;justify-content:center;gap:10px;margin-top:30px}
.checkout-page .checkout-actions .btn{display:inline-flex;justify-content:center;align-items:center;min-width:190px;min-height:48px;font-size:14px;font-weight:700;border-radius:5px;padding:12px 20px}
.checkout-page .checkout-actions .btn.light{background:#fff;color:#4b6043;border:1px solid #b0c698}
.checkout-page .btn:disabled{opacity:.5;cursor:not-allowed}
.checkout-pg{margin-top:22px}.checkout-pg:empty{display:none}.checkout-pg>[data-shop-pay],.checkout-pg>[data-review-pay]{display:block;min-width:260px;margin:20px auto 0;text-align:center}.checkout-pg [hidden]{display:none!important}
.checkout-buyer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;padding:22px;border:1px solid #e1e6e2;border-radius:6px}
.checkout-buyer-fields>label{display:grid;gap:8px;font-size:13px;color:#526259}
.checkout-buyer-fields .field{width:100%;min-width:0;height:46px;border-radius:5px;font-size:14px}
.checkout-page a:focus-visible,.checkout-page button:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}
@media(max-width:680px){
 .checkout-page{padding-block:30px 96px}.checkout-page .checkout-heading h1{font-size:27px}.checkout-heading>p{font-size:13px}
 .checkout-page .checkout-review-note{padding:12px 14px;margin-bottom:25px}.checkout-review-note span{font-size:11px}
 .checkout-block{margin-bottom:28px}.checkout-table-head{grid-template-columns:minmax(0,1fr) 100px}.checkout-table-head>span{padding:13px 14px}
 .checkout-product-row{grid-template-columns:1fr}.checkout-product-info{gap:14px;padding:18px 14px}.checkout-product-info>img{width:76px;height:56px}.checkout-product-info a{font-size:13px}.checkout-product-info p{font-size:11px}
 .checkout-product-price{justify-content:flex-end;padding:0 14px 18px;border:0;font-size:17px}.checkout-totals>div{grid-template-columns:126px minmax(0,1fr)}.checkout-totals dt{padding:16px;font-size:12px}.checkout-totals dd{padding:16px 18px;text-align:right;font-size:13px}.checkout-totals .checkout-total dd{font-size:20px}
 .checkout-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-method{min-height:52px}.checkout-method-name{font-size:13px}
 .checkout-method-grid-three .checkout-method:last-child{grid-column:1/-1}
 .checkout-bank-transfer{padding:18px 14px}.checkout-bank-transfer dl>div{grid-template-columns:62px minmax(0,1fr);gap:10px}.checkout-bank-number{display:block;margin:0 0 6px}.checkout-bank-transfer dd{font-size:13px}.checkout-bank-parties strong{display:block;min-width:0}
 .checkout-agreements{margin-top:25px;font-size:12px}.checkout-actions{margin-top:25px}.checkout-page .checkout-actions .btn{min-width:0;flex:1;padding:12px 10px;font-size:13px}
 .checkout-buyer-fields{grid-template-columns:1fr;padding:18px;gap:16px}
}

/* Checkout refund confirmation */
.refund-confirmation{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:16px;color:#222c24;background:#fff;box-shadow:0 24px 90px #0003;overflow:auto}
.refund-confirmation::backdrop{background:#14221999}
.refund-confirmation-form{padding:30px;display:block}
.refund-confirmation h2{font-size:25px;line-height:1.4;letter-spacing:-.04em;margin:9px 0 10px}
.refund-product{font-size:14px;color:#697268;line-height:1.6;overflow-wrap:anywhere;margin:0 0 20px}
.refund-notice{border:1px solid #dfe5da;border-radius:10px;padding:20px;background:#f7f9f4;line-height:1.8;font-size:13px;word-break:keep-all;overflow-wrap:anywhere}
.refund-notice strong{display:block;font-size:16px;line-height:1.65;color:#283d22}
.refund-notice p{margin:13px 0 0}.refund-notice-final{border-color:#a7c781;background:#f3f9e9}.refund-notice-final strong{font-size:18px}
.refund-policy-link{display:inline-block;margin:16px 0;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.refund-checks{display:grid;gap:14px;margin:4px 0 24px}.refund-checks label{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.7;cursor:pointer}
.refund-checks input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:#4b6439}
.refund-actions{display:flex;gap:10px}.refund-actions .btn{flex:1;min-width:0;min-height:48px;font-size:14px;border-radius:6px;white-space:normal}.refund-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.refund-review-note{font-size:12px;line-height:1.7;padding:10px 12px;background:#f2f4f2;border-radius:6px;margin:0 0 16px;color:#687464}
.refund-confirmation :focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}
@media(max-width:560px){.refund-confirmation-form{padding:22px 18px}.refund-confirmation h2{font-size:22px}.refund-notice{padding:16px}.refund-notice-final strong{font-size:16px}.refund-actions .btn{padding:12px 8px;font-size:13px}}

.checkout-code-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.checkout-code-row .field{flex:1 1 180px;min-width:0}.checkout-code-row .btn{flex-shrink:0}
