/* L2 발주 화면 고유 모양(sdo_user 위저드·마이 상세 · 서류 카드는 홈·대상찾기 결과도 싣는다) — L2 셸만 싣는다 · 색·크기 = user_variables.css 토큰만 · 상태 배지·od-pre = feature/order.css
   공용(sdo-band·sdo-card·sdo-btn·sdo-field·sdo-cta-bar·sdo-steps)은 user/user_components.css · 모바일 고정 버튼은 user-mobile/user_mobile.css
   위저드 틀(화면 나눔·단계 질문·진행 막대·버튼 글자·제출 버튼) = feature/user_wizard.css .wzp 한 벌 · 여기는 발주 단계 안 내용(서류 카드·동의) */

/* ── 서류 카드 ── */
/* 좌·글·우 세 칸(RISK_NOTE 목록 카드 u-flex-card 형) — 왼쪽 그림 · 가운데 이름·한 줄 설명(남는 폭 · 이 칸 안에서만 줄바꿈) · 오른쪽 ⓘ 전용 칸(줄지 않음 · 세로 가운데)
   고른 카드 = 테두리·배경 강조만(✓ 표시 없음 · 진짜 체크박스는 시각적 숨김 그대로) · 배지 없음 · PC 2열 */
.od-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sdo-sp-20); }
.od-card {
    position: relative;
    display: flex; align-items: center; gap: var(--sdo-sp-16);
    min-height: 160px; padding: var(--sdo-sp-24);
    border: 1px solid var(--sdo-line); border-radius: var(--sdo-radius-lg);
    background: var(--sdo-surface);
    cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
/* 마우스 올림 = 테두리색만(RISK_NOTE u-flex-card 형 · 그림자 없음) — 대상찾기 체크 줄 fd-check 와 같은 반응 */
@media (hover: hover) { .od-card:hover { border-color: var(--sdo-accent-line); } }
/* 고른 표시 = :has 를 아는 브라우저만 · 모르는 브라우저는 진짜 체크 칸을 보인다(규칙째 버려져 고른 것이 안 보이는 것을 막는다) */
@supports selector(:has(*)) {
    .od-card:has(.od-card-check:checked) { border-color: var(--sdo-accent); background: var(--sdo-accent-soft); box-shadow: 0 0 0 1px var(--sdo-accent); }
    .od-card:has(.od-card-check:focus-visible) { box-shadow: 0 0 0 3px var(--sdo-accent-line); }
    .od-card:has(.od-card-check:checked) .od-card-info { background: var(--sdo-surface); }
}
@supports not selector(:has(*)) { .od-card .od-card-check { position: static; width: auto; height: auto; margin: 0; clip-path: none; overflow: visible; white-space: normal; flex: none; } }
/* 그림 칸 — 올린 그림이 없으면 서류 아이콘 = 하늘 바탕 칸(서류 상세 dv-head-icon · L1 od-l1-doc-icon 과 같은 표시) */
.od-card-img { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: var(--sdo-radius); font-size: var(--sdo-ic-lg); }
.od-card-img:has(> .ti) { background: var(--sdo-accent-soft); color: var(--sdo-accent); }
.od-card-img img { width: 100%; height: 100%; object-fit: contain; }
/* 이름이 길면 띄어쓰기 자리에서 먼저 줄바꿈 · 칸보다 긴 낱말만 글자 사이(칸 밖으로 넘치지 않게) */
.od-card-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--sdo-sp-8); }
.od-card-name { font-size: var(--sdo-fs-wz-item); font-weight: var(--sdo-fw-heavy); line-height: 1.4; letter-spacing: -0.3px; word-break: keep-all; overflow-wrap: anywhere; color: var(--sdo-ink); }
.od-card-sum { font-size: var(--sdo-fs-wz-text); line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; color: var(--sdo-ink-sub); }
/* [내용보기] = 연한 하늘 바탕 + 하늘 글자 작은 버튼(서류 상세 모달 · document_modal.js) — PC 오른쪽 칸 · 모바일 카드 아래 줄 · 고른 카드(하늘 바탕) 안에서는 흰 바탕(위 @supports) */
.od-card-info { flex: none; display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 var(--sdo-sp-12);
    border: 1px solid var(--sdo-accent-line); border-radius: var(--sdo-radius); background: var(--sdo-accent-soft);
    font-size: var(--sdo-fs-sm); font-weight: var(--sdo-fw-bold); color: var(--sdo-accent); text-decoration: none; white-space: nowrap; }
@media (hover: hover) { .od-card-info:hover { border-color: var(--sdo-accent); color: var(--sdo-accent); } }

/* ── 동의 ── */
/* ⑤ */
/* 안내 상자 등급 — 옅은 바탕 · 모서리 --sdo-radius · 여백 16/20(대상찾기 참고 안내 fd-notice · 약관 본문과 같은 등급) */
.od-privacy { padding: var(--sdo-sp-16) var(--sdo-sp-20); margin-top: var(--sdo-sp-12); border-radius: var(--sdo-radius); background: var(--sdo-surface-soft); font-size: var(--sdo-fs-wz-text); line-height: 1.7; color: var(--sdo-ink-sub); }
/* 동의 줄 = 테두리 상자(안내 상자 위) · 체크하면 고른 서류 카드와 같은 강조 */
.od-agree { display: flex; align-items: center; justify-content: space-between; gap: var(--sdo-sp-12); padding: var(--sdo-sp-16) var(--sdo-sp-20);
    border: 1px solid var(--sdo-line); border-radius: var(--sdo-radius-lg); background: var(--sdo-surface); transition: border-color 0.15s, background 0.15s; }
@supports selector(:has(*)) {
    .od-agree:has(.sdo-check-input:checked) { border-color: var(--sdo-accent); background: var(--sdo-accent-soft); box-shadow: 0 0 0 1px var(--sdo-accent); }
}
.od-agree-label { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--sdo-sp-8); font-size: var(--sdo-fs-wz-item); font-weight: var(--sdo-fw-bold); color: var(--sdo-ink); cursor: pointer; }
.od-agree-view { flex-shrink: 0; display: inline-flex; align-items: center; height: 36px; padding: 0 var(--sdo-sp-12); border: 1px solid var(--sdo-line); border-radius: var(--sdo-radius);
    background: var(--sdo-surface); font-size: var(--sdo-fs-sm); font-weight: var(--sdo-fw-bold); color: var(--sdo-ink-sub); text-decoration: none; white-space: nowrap; }
@media (hover: hover) { .od-agree-view:hover { border-color: var(--sdo-accent); color: var(--sdo-accent); } }

/* ── 모바일 발주 단계 ── */
/* 카드 1열 · 글씨 = 위저드 글씨 등급(feature/user_wizard.css) · 홈은 두 열(home.css) */
@media (max-width: 980.98px) {
    .od-cards { grid-template-columns: 1fr; gap: var(--sdo-sp-12); }
    .od-card { flex-wrap: wrap; gap: var(--sdo-sp-12); min-height: 0; padding: var(--sdo-sp-16); }   /* 좌우 같은 여백 — [내용보기] 는 아래 줄 */
    .od-card-text { gap: 6px; }
    .od-card-name { font-size: var(--sdo-fs-wz-item-mo); }
    .od-card-sum { font-size: var(--sdo-fs-wz-text-mo); }
    .od-card-info { flex-basis: 100%; height: 32px; }   /* 카드 아래 줄 전체 폭 */
    .od-card-img { width: 44px; height: 44px; font-size: var(--sdo-ic-md); }
    .od-privacy { padding: var(--sdo-sp-16); font-size: var(--sdo-fs-wz-text-mo); }
    .od-agree-label { font-size: var(--sdo-fs-wz-item-mo); }
    .od-agree { padding: var(--sdo-sp-12) var(--sdo-sp-16); }
    .od-agree-view { height: 32px; }
}

/* ── 마이 ── */
/* 내 발주 상세 — 머리 = 공용 상세 머리(sdo-detail-head) · 구역 제목 = sdo-section-title · 여기는 신청 정보(PC 두 열)·고른 서류(줄마다 ⓘ)만 */
.od-detail-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--sdo-sp-32); }
.od-detail-kv .sdo-kv-row:last-child { border-bottom: 1px solid var(--sdo-line-soft); }
.od-detail-wide { grid-column: 1 / -1; }
.od-doc-list { margin: 0; padding: 0; list-style: none; }
.od-doc-list li { display: flex; align-items: center; gap: var(--sdo-sp-8); padding: var(--sdo-sp-12) 0; border-bottom: 1px solid var(--sdo-line-soft); font-size: var(--sdo-fs-md); color: var(--sdo-ink); }
.od-doc-list li:last-child { border-bottom: none; }
.od-doc-list li > .ti-file-text { color: var(--sdo-accent); }
.od-doc-list .od-card-info { flex-basis: auto; height: 32px; margin-left: auto; }   /* 마이 서류 줄 = 줄 오른쪽 끝(모바일도 한 줄) */
@media (max-width: 980.98px) {
    .od-detail-kv { grid-template-columns: 1fr; }
}
