/* =========================================================
   휠체어 정보 추가 (휠체어정보_v13 A0~A5 · v12 B1~B2x)
   ========================================================= */
.icon--camera { --icon-url: url("../image/camera.svg"); }
.icon--album { --icon-url: url("../image/image-album.svg"); }

.wc { min-height: 100vh; min-height: 100dvh; }

/* 머리글 오른쪽 · 취소 */
.wc-cancel {
    flex-shrink: 0;
    min-width: 48px;
    height: 48px;
    padding: 0 var(--space-4);
    font-size: var(--fs-16);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
}

.wc-cancel.is-off { visibility: hidden; }

/* 화면이 바뀔 때 제목으로 옮긴 초점은 테두리 없이 (읽기 프로그램용) */
.wc-step [tabindex="-1"]:focus { outline: none; }

.wc-step {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.wc-body { flex: 1; gap: var(--space-24); }

.wc-body .page-title__heading span { display: block; }

/* A0 · 사진 타일 */
.wc-tiles {
    display: flex;
    gap: var(--space-8);
}

.wc-tile {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-8);
    padding: var(--space-20) 0;
    border-radius: var(--radius-lg);
    background: var(--color-bg-gray);
    font-size: var(--fs-16);
    font-weight: var(--font-weight-bold);
    line-height: var(--lh-22);
}

.wc-tile .icon { --icon-size: 28px; }

.wc-note {
    margin-top: calc(var(--space-12) * -1);
    font-size: var(--fs-14);
    line-height: var(--lh-20);
    color: var(--color-text-sub);
}

.wc-rows {
    display: flex;
    flex-direction: column;
    gap: var(--space-10);
}

.wc-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
    padding: var(--space-14) var(--space-16);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    font-size: var(--fs-16);
    font-weight: var(--font-weight-bold);
    line-height: var(--lh-22);
}

.wc-row .icon { color: var(--color-text-sub); }

/* A1 · A1b 카메라 화면 (어두운 배경) */
body.wc-dark,
.wc-dark #wrap { background: #1f2937; }

.app-header--dark { background: var(--color-bg); }

.wc-camera { background: #1f2937; color: var(--color-text-inverse); }

.wc-camera__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--space-16);
    padding: var(--space-24) var(--page-padding) var(--space-16);
}

.wc-camera__title {
    font-size: var(--fs-20);
    font-weight: var(--font-weight-bold);
    line-height: var(--lh-28);
    text-align: center;
}

.wc-camera__frame {
    position: relative;
    display: flex;
    flex: 1;
    align-items: flex-end;
    justify-content: center;
    min-height: 240px;
    overflow: hidden;
    padding: var(--space-12);
    border: 2px solid var(--color-text-inverse);
    border-radius: var(--radius-lg);
}

.wc-camera__frame--photo { flex: none; height: 320px; }

.wc-camera__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
}

.wc-camera__video.is-on { opacity: 1; }

.wc-camera__chip {
    position: relative;
    padding: var(--space-6) var(--space-12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.16);
    font-size: var(--fs-14);
    font-weight: var(--font-weight-medium);
    line-height: var(--lh-20);
}

.wc-camera__reading {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(31, 41, 55, 0.7);
    font-size: var(--fs-18);
    font-weight: var(--font-weight-bold);
}

.wc-camera__reading[hidden] { display: none; }

.wc-camera__tips {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    font-size: var(--fs-14);
    line-height: var(--lh-20);
    color: rgba(255, 255, 255, 0.85);
}

.wc-camera__tips li::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 var(--space-10) 2px var(--space-4);
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.6);
}

.wc-camera__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-28);
}

.wc-camera__ctl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
    font-size: var(--fs-14);
    font-weight: var(--font-weight-medium);
}

.wc-camera__round {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.16);
    color: var(--color-text-inverse);
}

.wc-camera__round[aria-pressed="true"] { background: var(--color-text-inverse); color: #1f2937; }

.wc-camera__flash { font-size: var(--fs-13); font-weight: var(--font-weight-bold); }

.wc-camera__shutter img { width: 72px; height: 72px; }

.wc-camera__caption,
.wc-camera__link {
    font-size: var(--fs-14);
    line-height: var(--lh-20);
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
}

.wc-camera__link[hidden] { display: none; }

/* A2 결과 확인 */
.wc-model {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    padding: var(--space-16);
    border-radius: var(--radius-lg);
    background: var(--color-bg-gray);
}

.wc-model__top {
    display: flex;
    align-items: center;
    gap: var(--space-12);
}

.wc-model__img {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: var(--radius-md);
    background: var(--color-bg);
    object-fit: contain;
}

.wc-model__name {
    font-size: var(--fs-17);
    font-weight: var(--font-weight-bold);
    line-height: var(--lh-24);
}

.wc-model__size {
    font-size: var(--fs-14);
    line-height: var(--lh-20);
    color: var(--color-text-sub);
}

.wc-model__ok {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    font-size: var(--fs-14);
    font-weight: var(--font-weight-medium);
    line-height: var(--lh-20);
}

.wc-model__ok .icon { color: var(--color-success-icon); }

/* 질문 묶음 */
.wc-field {
    display: flex;
    flex-direction: column;
    gap: var(--space-10);
}

.wc-field[hidden] { display: none; }

.wc-field__title {
    margin-bottom: var(--space-10);
    padding: 0;
    font-size: var(--fs-16);
    font-weight: var(--font-weight-bold);
    line-height: var(--lh-22);
}

.wc-field__title > span:last-child:not([data-cand-count]) {
    margin-left: var(--space-8);
    font-size: var(--fs-13);
    font-weight: var(--font-weight-regular);
    color: var(--color-text-sub);
}

/* 회색 안내 줄 */
.wc-info {
    display: flex;
    align-items: flex-start;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-14);
    border-radius: var(--radius-lg);
    background: var(--color-bg-gray);
    font-size: var(--fs-14);
    font-weight: var(--font-weight-medium);
    line-height: var(--lh-20);
    color: var(--color-text-sub);
}

.wc-info .icon { color: var(--color-text-sub); }

/* A2m 모델명 입력 */
.wc-search {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    height: 56px;
    padding: 0 var(--space-8) 0 var(--space-16);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-lg);
}

.wc-search:focus-within { border: 2px solid var(--color-primary); padding-left: 15px; }

.wc-search__input {
    flex: 1;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
    font-size: var(--fs-17);
    font-weight: var(--font-weight-bold);
}

.wc-search__mic {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    background: var(--color-primary-bg);
    color: var(--color-primary);
}

.wc-search__mic.is-listening { background: var(--color-primary); color: var(--color-text-inverse); }

.wc-empty {
    font-size: var(--fs-15);
    line-height: var(--lh-22);
    color: var(--color-text-sub);
}

/* A2x · A5 가운데 안내 */
.wc-empty-state {
    align-items: center;
    gap: var(--space-8);
    padding-top: var(--space-24);
    text-align: center;
}

.wc-empty-state__icon { --icon-size: 32px; color: var(--color-text-sub); }

.wc-empty-state__title {
    font-size: var(--fs-17);
    font-weight: var(--font-weight-bold);
    line-height: var(--lh-24);
}

.wc-empty-state__desc {
    font-size: var(--fs-14);
    line-height: var(--lh-20);
    color: var(--color-text-sub);
}

.wc .bottom-action { gap: var(--space-8); }
.wc .btn--md { min-height: var(--touch-size); font-size: var(--fs-15); }
.wc .btn--text { min-height: 44px; font-weight: var(--font-weight-bold); }

/* B1 규격 안내 */
.wc-illust {
    display: flex;
    height: 200px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--color-bg-gray);
}

.wc-illust img {
    width: 50%;
    height: 100%;
    object-fit: contain;
}

.wc-steps { padding: 0 var(--space-16); }

.wc-steps li {
    display: flex;
    gap: var(--space-12);
    padding: 13px 0;
}

.wc-steps li + li { border-top: 1px solid var(--color-divider); }

.wc-steps__no {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: var(--radius-full);
    background: var(--color-primary-bg);
    font-size: var(--fs-14);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.wc-steps__no--off {
    border: 1px solid var(--color-border-strong);
    background: var(--color-bg);
    color: var(--color-text-sub);
}

/* B2 규격 입력 */
.wc-size {
    display: flex;
    gap: var(--space-12);
}

.wc-size__field {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--space-6);
    min-width: 0;
}

.wc-size__label {
    font-size: var(--fs-14);
    font-weight: var(--font-weight-medium);
    line-height: var(--lh-20);
    color: var(--color-text-sub);
}

.wc-size__box {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    height: 56px;
    padding: 0 var(--space-14) 0 var(--space-16);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-lg);
}

.wc-size__box:focus-within { border: 2px solid var(--color-primary); padding-left: 15px; }
.wc-size__box.is-error { border: 2px solid var(--color-error); padding-left: 15px; }

.wc-size__input {
    flex: 1;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
    font-size: var(--fs-17);
    font-weight: var(--font-weight-bold);
}

.wc-size__unit {
    font-size: var(--fs-15);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-sub);
}

.wc-voice { gap: var(--space-10); }

.wc-voice__mic {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--radius-full);
    background: var(--color-primary);
    color: var(--color-text-inverse);
}

.wc-voice.is-listening { border-color: var(--color-primary); color: var(--color-primary); }

/* B2x 기준 초과 */
.wc-over {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.wc-over[hidden] { display: none; }

.wc-over__error,
.wc-over__notice {
    display: flex;
    align-items: flex-start;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-14);
    border-radius: var(--radius-lg);
    font-size: var(--fs-14);
    font-weight: var(--font-weight-medium);
    line-height: var(--lh-20);
}

.wc-over__error { background: var(--color-error-bg); }
.wc-over__notice { background: var(--color-warning-bg); }
.wc-over .icon { color: var(--color-danger); }

.wc-height { cursor: default; }

.wc-badge {
    flex-shrink: 0;
    padding: 2px var(--space-8);
    border-radius: var(--radius-sm);
    background: var(--color-warning-bg);
    font-size: var(--fs-12);
    font-weight: var(--font-weight-bold);
    color: var(--color-warning);
}
