/* 상품(쇼핑)·주문·약관 페이지 — 2026-11-03. page-v2.css 위에 얹는다 (PG 사심사용 상품 판매 구역, 무통장입금) */

/* ── 상품 목록 ── */
.sp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sp-card{position:relative;display:flex;flex-direction:column;padding:34px 32px 32px;border-radius:26px;background:#fff;border:1px solid var(--line)}
.sp-card.dk{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 40px 80px -40px rgba(10,11,14,.6)}
.sp-badge{position:absolute;right:24px;top:24px;padding:7px 12px;border-radius:999px;background:var(--blue);color:#fff;font-size:12.5px;font-weight:800;letter-spacing:-.01em}
.sp-card h3{margin:14px 0 8px;font-size:clamp(24px,2.4vw,30px);font-weight:800;letter-spacing:-.045em;line-height:1.3}
.sp-short{font-size:16px;line-height:1.7;color:var(--sub)}
.sp-card.dk .sp-short{color:var(--sub-d)}
.sp-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin-top:22px}
.sp-price b{font:800 clamp(34px,3.6vw,46px)/1 var(--en);font-stretch:112%;letter-spacing:-.04em}
.sp-price span{font-size:20px;font-weight:800;letter-spacing:-.03em}
.sp-price small{margin-left:4px;font-size:14px;font-weight:600;color:var(--sub)}
.sp-card.dk .sp-price small{color:var(--sub-d)}
.sp-vat{margin-top:10px;font:700 13.5px/1.5 var(--ko);letter-spacing:-.01em;color:var(--blue)}
.sp-card.dk .sp-vat{color:var(--blue-2)}
.sp-card .ticks{margin:22px 0 26px}
.sp-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:auto}
.sp-act .btn{min-height:52px;padding:0 24px;font-size:15.5px}
.sp-card.dk .more{color:#fff}
.sp-note{margin-top:24px;font-size:15px;line-height:1.7;color:var(--sub)}
.steps.five{grid-template-columns:repeat(5,minmax(0,1fr))}

/* ── 오픈 기념 이벤트 표시 (2026-11-03 대표 지시: 광고처럼 '지금 이벤트' 느낌, 정가 → 이벤트가) ── */
.sp-ev{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:var(--blue);color:#fff;font:800 12px/1 var(--ko);letter-spacing:.01em;white-space:nowrap}
.sp-was{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:22px;font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--sub)}
.sp-was s{text-decoration:line-through;text-decoration-thickness:1.5px}
.sp-card.dk .sp-was{color:var(--sub-d)}
.sp-was+.sp-price{margin-top:8px}
.sp-price em{align-self:center;margin-left:4px;padding:5px 9px;border-radius:8px;background:rgba(58,91,255,.1);color:var(--blue);font:800 13px/1 var(--ko);font-style:normal;letter-spacing:-.01em;white-space:nowrap}
.sp-card.dk .sp-price em{background:rgba(255,255,255,.14);color:#fff}
.sp-evband{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:30px;padding:14px 18px;border-radius:16px;border:1px solid var(--line-d2);background:rgba(255,255,255,.06);font-size:15px;line-height:1.5;letter-spacing:-.015em}
.sp-evband b{font-weight:800;color:#fff}
.sp-evband>span:last-child{color:var(--sub-d)}
.sp-evband+.svc-jump{margin-top:16px}
.sp-hero-box .sp-was{margin-top:12px}
.od-product .od-price s{display:block;margin-bottom:5px;font:700 13.5px/1.3 var(--ko);letter-spacing:-.01em;color:var(--mute);text-decoration:line-through}
.od-summary dd.od-disc,.oc-rows dd.od-disc{color:var(--blue)}

/* ── 결제·환불 카드(어두운 구역) ── */
.sp-pay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sp-pay-card{padding:30px 30px 28px;border-radius:24px;background:var(--ink-2);border:1px solid var(--line-d)}
.sp-pay-card .tier{color:var(--blue-2)}
.sp-pay-card h3{margin:12px 0 18px;font-size:24px;font-weight:800;letter-spacing:-.04em}
.sp-pay-card dl{display:grid;margin:0}
.sp-pay-card dl div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-top:1px solid var(--line-d)}
.sp-pay-card dt{font-size:15px;font-weight:600;color:var(--sub-d)}
.sp-pay-card dd{margin:0;font-size:16.5px;font-weight:800;letter-spacing:-.02em;text-align:right}
.sp-pay-card>p{margin-top:18px;font-size:15px;line-height:1.7;color:var(--sub-d)}
.sp-pay-card>p a{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:-10px 0;color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:4px}

/* ── 상품 상세 첫 화면 ── */
.sp-hero{align-items:start}
.sp-hero-box{padding:32px 30px 30px;border-radius:28px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 50px 100px -50px rgba(0,0,0,.8)}
.sp-hero-box .sp-price{margin-top:10px}
.sp-hero-box .ticks{margin:20px 0 24px}
.sp-hero-box .btn{width:100%}
.sp-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.sp-meta div{display:grid;gap:3px}
.sp-meta dt{font:600 13px/1.3 var(--ko);letter-spacing:-.01em;color:var(--mute)}
.sp-meta dd{margin:0;font-size:15.5px;font-weight:800;letter-spacing:-.02em}
.refs.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.refs.three .ref-body{padding:18px 20px 20px}
.refs.three .ref-body h3{font-size:18px}
.page-product .svc-nav b{font-size:26px}

/* ── 주문서 ── */
.order-wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,3.5vw,48px);align-items:start}
.order-side{position:sticky;top:calc(var(--hd) + 24px);display:grid;gap:18px}
.od-h{display:flex;align-items:center;gap:12px;margin:38px 0 16px;padding-top:26px;border-top:1px solid var(--line);font-size:19px;font-weight:800;letter-spacing:-.035em}
.od-h .no{font:600 12.5px/1 var(--mono);letter-spacing:.08em;color:var(--blue)}
.od-product{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;align-items:center;padding:20px 22px;border-radius:18px;background:var(--mist);border:1px solid var(--line)}
.od-product .tier{font-size:12px}
.od-product h3{margin:4px 0 2px;font-size:21px;font-weight:800;letter-spacing:-.04em}
.od-product p{font-size:14.5px;line-height:1.6;color:var(--sub)}
.od-product .od-price{color:var(--ink)}
.od-product .od-price{grid-column:2;grid-row:1/3;text-align:right;font:800 24px/1 var(--en);font-stretch:112%;letter-spacing:-.03em;white-space:nowrap}
.od-product .od-price small{display:block;margin-top:6px;font:700 13px/1.4 var(--ko);letter-spacing:-.01em;color:var(--blue)}
.od-sel{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.od-sel.one{grid-template-columns:1fr}
.od-sel label{display:grid;gap:6px;font-size:13.5px;font-weight:800;color:var(--sub)}
.contact-field input[type=email],.contact-field input[type=tel],.contact-field select,.od-sel select{width:100%;min-height:52px;padding:0 16px;border-radius:12px;border:1.5px solid var(--line-2);background:#fff;font:500 16px/1.4 var(--ko);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.contact-field select,.od-sel select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%230a0b0e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.contact-field input[type=email]:focus,.contact-field input[type=tel]:focus,.contact-field select:focus,.od-sel select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,91,255,.16)}
.contact-field.is-bad input,.contact-field.is-bad select{border-color:#d93036;box-shadow:0 0 0 3px rgba(217,48,54,.12)}
.contact-field .fhint{font-size:13.5px;line-height:1.55;color:var(--sub)}
.contact-field .ferr{display:none;font-size:13.5px;font-weight:700;color:#d93036}
.contact-field.is-bad .ferr{display:block}
.od-pay{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;border:1.5px solid var(--ink);background:#fff}
.od-pay input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--ink)}
.od-pay b{display:block;font-size:16.5px;font-weight:800;letter-spacing:-.02em}
.od-pay small{display:block;margin-top:4px;font-size:14px;line-height:1.6;color:var(--sub)}
.od-pay .acct{margin-top:10px;font:600 14px/1.6 var(--mono);color:var(--ink)}
.od-agree{display:grid;gap:4px}
.od-agree label{display:flex;align-items:flex-start;gap:12px;padding:10px 0;font-size:15.5px;font-weight:700;letter-spacing:-.02em;line-height:1.5;cursor:pointer}
.od-agree label.all{padding:14px 16px;margin-bottom:6px;border-radius:14px;background:var(--mist);font-weight:800}
.od-agree input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--ink)}
.od-agree span{flex:1}
.od-agree em{font-style:normal;color:#d93036}
.od-agree a{flex:none;display:inline-flex;align-items:center;min-height:44px;margin:-12px -8px -12px 0;padding:0 8px;font-size:14px;font-weight:800;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.od-agree small{display:block;margin-top:3px;font-size:13.5px;font-weight:500;line-height:1.55;color:var(--sub)}
.od-submit{width:100%;min-height:62px;margin-top:22px;font-size:18px}
.od-submit b{font-family:var(--en);font-stretch:112%;font-size:20px}
.od-fine{margin-top:14px;font-size:13.5px;line-height:1.65;color:var(--sub);text-align:center}
.od-summary dl{display:grid;margin:0}
.od-summary dl div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.od-summary dt{color:var(--sub);font-weight:600}
.od-summary dd{margin:0;font-weight:800;text-align:right;letter-spacing:-.02em}
.od-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px}
.od-total span{font-size:15px;font-weight:800}
.od-total b{font:800 30px/1 var(--en);font-stretch:112%;letter-spacing:-.035em;color:var(--blue-deep)}
.od-total b i{font:800 17px/1 var(--ko);font-style:normal;margin-left:2px}
.od-total small{display:block;margin-top:6px;font:600 12px/1.4 var(--mono);color:var(--blue);text-align:right}
.od-bank{display:grid;gap:0}
.od-bank div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.od-bank div:last-child{border-bottom:0}
.od-bank dt{color:var(--sub);font-weight:600}
.od-bank dd{margin:0;font-weight:800;text-align:right;letter-spacing:-.02em}
.od-bank dd.mono{font-family:var(--mono);font-weight:700;letter-spacing:0}

/* ── 주문 완료 ── */
.oc-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,3.5vw,48px);align-items:start}
.oc-card{padding:clamp(24px,3vw,34px);border-radius:26px;background:#fff;border:1px solid var(--line)}
.oc-card+.oc-card{margin-top:18px}
.oc-card h3{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:20px;font-weight:800;letter-spacing:-.035em}
.oc-card h3 .no{font:600 12.5px/1 var(--mono);letter-spacing:.08em;color:var(--blue)}
.oc-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 8px;padding:20px 22px;border-radius:18px;background:var(--ink);color:#fff}
.oc-amount span{font-size:15px;font-weight:700;color:var(--sub-d)}
.oc-amount b{font:800 clamp(30px,3.4vw,40px)/1 var(--en);font-stretch:112%;letter-spacing:-.04em}
.oc-amount i{font-style:normal;font-size:18px;font-weight:800}
.oc-amount small{width:100%;font:600 12.5px/1.4 var(--mono);color:var(--blue-2)}
.oc-rows{display:grid;margin:18px 0 0}
.oc-rows div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px 14px;align-items:center;padding:13px 0;border-top:1px solid var(--line);font-size:15.5px}
.oc-rows dt{font-weight:600;color:var(--sub)}
.oc-rows dd{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font-weight:800;letter-spacing:-.02em}
.oc-rows dd.mono{font-family:var(--mono);font-weight:700;letter-spacing:0;font-size:16px}
.oc-copy{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 13px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font:800 12.5px/1 var(--ko);color:var(--ink);transition:background-color .2s,border-color .2s}
.oc-copy:hover,.oc-copy.ok{background:var(--ink);color:#fff;border-color:var(--ink)}
.oc-note{margin-top:18px;padding:16px 18px;border-radius:14px;background:var(--blue-soft);color:var(--blue-deep);font-size:14.5px;line-height:1.65;font-weight:700}
.oc-no{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line-d2);font:700 15px/1 var(--mono);letter-spacing:.02em}
.oc-no span{font:800 12px/1 var(--mono);letter-spacing:.1em;color:var(--blue-2)}
.oc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.oc-actions .btn{min-height:52px;padding:0 22px;font-size:15.5px}
.oc-empty{max-width:640px;padding:clamp(28px,4vw,44px);border-radius:26px;background:#fff;border:1px solid var(--line)}
.oc-empty h2{font-size:26px;font-weight:800;letter-spacing:-.04em}
.oc-empty p{margin-top:12px;font-size:16px;line-height:1.75;color:var(--sub)}

/* ── 이용약관 ── */
.terms-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 40px}
.terms-toc a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-size:14px;font-weight:800;letter-spacing:-.02em;color:var(--ink);transition:background-color .2s,color .2s}
.terms-toc a:hover{background:var(--ink);color:#fff}
.seller-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0 0 44px;padding:22px 24px;border-radius:18px;background:var(--mist);border:1px solid var(--line);font-size:15px}
.seller-box div{display:flex;gap:10px;padding:6px 0}
.seller-box dt{flex:none;min-width:112px;white-space:nowrap;font-weight:600;color:var(--sub)}
.seller-box dd{margin:0;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.prose .tbl table{min-width:640px}
.prose .price-table table{min-width:860px}
.prose .price-table td:nth-child(2){min-width:320px}
.prose td{text-wrap:pretty}
.prose .refund-table td:first-child{white-space:normal}
.prose .refund-table td:nth-child(2){white-space:nowrap;font-weight:800;color:var(--ink)}
.prose p,.prose li{color:#3c424e}
.prose .law{font-size:14.5px;color:var(--mute)}
.page-terms .prose,.page-privacy .prose{max-width:900px}

/* ── 반응형 ── */
@media (max-width:1080px){
  .steps.five{grid-template-columns:repeat(3,minmax(0,1fr))}
  .refs.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-wrap,.oc-wrap{grid-template-columns:1fr}
  .order-side{position:static}
}
@media (max-width:960px){
  .sp-grid,.sp-pay{grid-template-columns:1fr}
  .sp-hero{grid-template-columns:1fr}
  .sp-hero-box{max-width:560px}
}
@media (max-width:760px){
  .sp-card{padding:26px 22px 24px}
  .sp-badge{position:static;align-self:flex-start;margin-bottom:14px}
  .sp-price b{font-size:clamp(30px,8.6vw,40px)}
  .sp-act{gap:12px 16px}
  .sp-act .btn{width:100%}
  .steps.five{grid-template-columns:1fr}
  .refs.three{grid-template-columns:1fr}
  .sp-pay-card{padding:24px 20px 22px}
  .sp-pay-card dl div{flex-direction:column;gap:3px}
  .sp-pay-card dd{text-align:left}
  .sp-hero-box{padding:24px 20px 22px}
  .od-product{grid-template-columns:1fr;padding:18px}
  .od-product .od-price{grid-column:1;grid-row:auto;text-align:left}
  .od-sel{grid-template-columns:1fr}
  .od-h{margin-top:30px;padding-top:22px;font-size:18px}
  .contact-form-grid{grid-template-columns:1fr}
  .oc-rows div{grid-template-columns:1fr;gap:4px;padding:11px 0}
  .seller-box{grid-template-columns:1fr;padding:16px 18px}
  .seller-box dt{min-width:96px}
  .oc-actions .btn{width:100%}
  .od-submit{font-size:17px}
}
