/* 의뢰인 1차 구성안(2026-09-02 v1.0) 반영용 추가 스타일 — 원본 CSS(style/responsive)는 수정하지 않는다.
   원본 사전등록 폼 스타일(.apply_form .sub_box .agree, .chk_box, .form_tit 등)을 그대로 쓰고, 아래는 PDF에 있어 원본에 없는 것만 보탠다. */
.v1-open { cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.v1-req { color: #e60012; font-style: normal; font-size: 0.75rem; font-weight: 400; margin-left: 6px; white-space: nowrap; }
.v1-legend { color: #e60012; font-size: 0.875rem; margin-bottom: 8px; }
.v1-form .form_box label { width: 220px; }
.v1-form .form_box label span { position: relative; }
.v1-at { font-size: 1.25rem; font-weight: 600; flex-shrink: 0; }
.v1-program .v1-day { font-size: 1.125rem; font-weight: 700; margin-top: 24px; }
.v1-program .v1-day:first-of-type { margin-top: 0; }
.v1-program .v1-room { font-size: 1rem; font-weight: 600; margin-top: 14px; }
.v1-program ul { margin: 6px 0 0 18px; padding: 0; }
.v1-program ul li { list-style: none; font-size: 1rem; line-height: 1.7; }
.v1-program ul li::before { content: "- "; }
.v1-find .form_row .form_box { justify-content: center; }
.v1-find .form_row .form_box .input { max-width: 520px; }
.v1-find .w-50 { width: 100%; }
/* 키보드 접근: 원본 CSS 는 체크박스를 display:none 으로 숨겨 탭으로 선택할 수 없다 → 새 약관 체크박스는 투명하게 두고 포커스 표시만 추가 */
.apply_form.v1-consent .sub_box .agree label { position: relative; cursor: pointer; }
.apply_form.v1-consent .sub_box .agree input[type="checkbox"] { display: block; position: absolute; left: 0; top: 50%; width: 32px; height: 32px; margin: 0; transform: translateY(-50%); opacity: 0; cursor: pointer; }
.apply_form.v1-consent .sub_box .agree input[type="checkbox"]:focus-visible + .chk_box { outline: 2px solid #3BC9F6; outline-offset: 2px; }
.v1-open:focus-visible { outline: 2px solid #3BC9F6; outline-offset: 2px; }
@media screen and (max-width: 899px) {
  .v1-form .form_box label { width: 120px; height: auto; line-height: 1.4; padding-top: 12px; }
  .v1-program .v1-day { font-size: 1rem; }
  .v1-program .v1-room, .v1-program ul li { font-size: 0.875rem; }
  .v1-at { font-size: 1rem; }
}
@media screen and (max-width: 599px) {
  .v1-form .form_box label { width: auto; padding-top: 0; }
}

/* 사전등록하기 버튼: 필수 약관 2개 동의 전에는 회색 비활성 */
.btn.apply_btn a.v1-disabled { background: #b5b5b5; color: #fff; cursor: not-allowed; }

/* 전체 동의하기 줄 */
.apply_form .sub_box .agree.v1-agree-all div { font-weight: 700; }
.apply_form.v1-consent .sub_box .agree.v1-agree-all { background: #f6f7f9; }

/* 의뢰인 2차 구성안(2026-11-05 v1.0) 반영용 추가 스타일 — 원본 CSS 는 수정하지 않는다. client-v1.css 뒤에 붙는다. */

/* 등록 안내: 등록비·기간 아래 보조 문구 */
.v2-note { font-weight: 400; font-size: 0.875rem; line-height: 1.6; margin-top: 4px; color: #444; }

/* K-CONVENTION 로고(브랜드 가이드라인 BS1.2·BS4.1): 비율 고정, 효과 없음, 흰 배경 위에만, 여백 = 글자높이 X 의 1.5배
   글자 높이 X ≈ 로고 전체 높이의 12.3% → 1.5X ≈ 18.5% */
.v2-kconv { --kh: 96px; display: inline-block; background: #fff; padding: calc(var(--kh) * 0.185); line-height: 0; }
.over_sec_box .v2-kconv .v2-kconv-logo, .v2-kconv-logo { display: block; max-height: none; height: var(--kh); width: auto; aspect-ratio: 223 / 185; max-width: none; filter: none; box-shadow: none; border: 0; }
.v2-orgcell .v2-orgs { margin-top: 4px; }
@media screen and (max-width: 599px) { .v2-kconv { --kh: 76px; } }

/* 전체 프로그램 시간표(PDF 5·6쪽) */
.v2-note-top { text-align: right; font-size: 0.875rem; color: #555; margin: 8px 0 12px; word-break: keep-all; }
.v2-ttwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.v2-tt { display: grid; grid-template-columns: 68px repeat(4, minmax(150px, 1fr)); grid-template-rows: 34px 48px repeat(16, 28px); min-width: 872px; border-top: 1px solid #d9d9d9; position: relative; word-break: keep-all; overflow-wrap: break-word; }
.v2-h, .v2-h2 { display: flex; align-items: center; justify-content: center; text-align: center; font-weight: 600; border-left: 1px solid #fff; }
.v2-h { color: #fff; }
.v2-d1 { background: #2c5597; } .v2-d2 { background: #8446ad; }
.v2-d1s { background: #d2dcf3; } .v2-d2s { background: #e7dbf0; }
.v2-h2 { font-size: 0.875rem; line-height: 1.35; font-weight: 500; color: #111; }
.v2-time { grid-column: 1; font-size: 0.8125rem; color: #333; text-align: right; padding-right: 22px; align-self: start; margin-top: -9px; white-space: nowrap; }
.v2-b { display: flex; align-items: center; justify-content: center; text-align: center; font-size: 0.9375rem; line-height: 1.4; border: 1px solid #fff; padding: 2px 6px; min-width: 0; }
.v2-b .v2-split { display: flex; width: 100%; height: 100%; }
.v2-b .v2-lbl { flex: 1; display: flex; align-items: center; justify-content: center; }
.v2-b .v2-subs { flex: 1; display: flex; flex-direction: column; border-left: 1px solid rgba(255, 255, 255, .9); }
.v2-b .v2-subs > div { display: flex; align-items: center; justify-content: center; text-align: center; border-bottom: 1px solid rgba(255, 255, 255, .9); font-size: 0.875rem; }
.v2-b .v2-subs > div:last-child { border-bottom: 0; }
.v2-b:has(.v2-split) { padding: 0; }
.c-open { background: #fdc9de; } .c-brk { background: #fff; color: #222; border-top: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3; }
.c-none { background: #fff; color: #222; } .c-plen { background: #b0ecea; } .c-ind { background: #f6e9dd; } .c-work { background: #d6ebd1; }
.c-med { background: #ffd0b8; } .c-inv { background: #fff0c9; } .c-pol { background: #b8dffc; } .c-bio { background: #e6d1fd; }
@media screen and (max-width: 899px) { .v2-b { font-size: 0.8125rem; } .v2-b .v2-subs > div { font-size: 0.75rem; } }

/* 사전등록 폼 프로그램 체크박스(PDF 12·13쪽) — 원본 .agree 모양을 그대로 쓰되 키보드 포커스 표시를 보탠다 */
.v1-form .v2-sub { margin-top: 6px; }
.v1-form .v2-prog { position: relative; }
.v1-form .v2-prog label { position: relative; cursor: pointer; }
.v1-form .v2-prog input[type="checkbox"] { display: block; position: absolute; left: 0; top: 50%; width: 32px; height: 32px; margin: 0; transform: translateY(-50%); opacity: 0; cursor: pointer; }
.v1-form .v2-prog input[type="checkbox"]:focus-visible + .chk_box { outline: 2px solid #3BC9F6; outline-offset: 2px; }
.v2-err { color: #e60012; font-size: 0.875rem; margin-top: 8px; display: none; }
.v2-err.on { display: block; }

/* 신청 정보 확인·수정 */
.v2-code { font-size: 1rem; margin: 0 auto 18px; max-width: 860px; font-weight: 600; word-break: keep-all; }
.btn.apply_btn.v2-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.btn.apply_btn a.v2-danger { background: #fff; color: #c00018; border: 1px solid #c00018; }
.btn.apply_btn a.v2-busy { opacity: .6; pointer-events: none; }

/* 등록 완료 화면 */
.v2-done { max-width: 640px; margin: 0 auto; text-align: center; word-break: keep-all; overflow-wrap: break-word; }
.v2-done .v2-done-tit { font-size: 1.5rem; font-weight: 700; margin-bottom: 14px; }
.v2-done .v2-done-code { display: inline-block; background: #f6f7f9; border-radius: 8px; padding: 12px 22px; font-size: 1.25rem; font-weight: 700; letter-spacing: 1px; margin: 10px 0 18px; }
.v2-done p { font-size: 1rem; line-height: 1.7; margin: 0 0 8px; }
.v2-done .btn.apply_btn { margin-top: 26px; }

/* 행사개요 키비주얼: 원본 비율 유지(가로에 맞추고 높이는 자동) */
.over_sec_box .box1 img { width: 100%; height: auto; }

/* 행사개요(PC): 키비주얼을 비율 그대로 조금 키우고, 표 행 여백을 줄여 키비주얼 아래끝과 표 아래끝을 맞춘다 */
@media screen and (min-width: 1201px) {
  .over_sec .over_sec_box .box1 { width: 560px !important; max-width: 560px !important; flex-shrink: 0 !important; }
  .over_sec .over_sec_box .box2 { flex: 1 1 auto; min-width: 0; }
  .over_sec .over_sec_box .box2 table.host tr { padding-top: 22px; padding-bottom: 22px; }
  .over_sec .over_sec_box .box2 table.host td { font-size: 18px; line-height: 26px; }
  .over_sec .over_sec_box .v2-kconv { --kh: 80px; }
}

/* 전체 프로그램 시간표 눈금(PDF 5·6쪽): 30분 가로선 + 정각 진한 선 + 왼쪽 축 눈금 + 세로선 */
.v2-line { grid-row-end: span 1; border-top: 1px solid #d3d6dc; pointer-events: none; }
.v2-line.hr { border-top-color: #aeb3bd; }
.v2-axis { position: relative; pointer-events: none; }
.v2-axis::after { content: ""; position: absolute; right: 0; top: 0; width: 7px; border-top: 1px solid #8a909b; }
.v2-axis.hr::after { width: 14px; border-top-color: #4b505a; }
.v2-vline { border-left: 1px solid #b9bec8; pointer-events: none; }
.v2-vline.end { border-right: 1px solid #b9bec8; }
.v2-tt { border-bottom: 1px solid #aeb3bd; }
.v2-b { position: relative; z-index: 1; }
.c-brk, .c-none { background: #fff; border-color: #fff; }
.c-brk { border-top: 1px solid #aeb3bd; border-bottom: 1px solid #aeb3bd; }
/* 표 안 로고 칸: 글자 줄 높이 때문에 생기는 아래 여백 제거(칸 이름표와 중앙 맞춤) */
.over_sec .over_sec_box .box2 td .v2-kconv { display: flex; width: max-content; }

/* 행사개요 키비주얼 회전 등장(mnd-career 의 flip-right: 가운데 세로축 기준 180° 회전 + 투명→불투명, 1.1초) */
html.v2-rv .over_sec_box .box1 img { transition: opacity .75s ease, transform 1.1s cubic-bezier(.2, .7, .2, 1); transform-origin: center center; backface-visibility: hidden; }
html.v2-rv .over_sec_box .box1 img:not(.v2-in) { opacity: 0; transform: perspective(1400px) rotateY(-180deg); transition-delay: 0ms; }

/* 참여기관 칸: 로고 오른쪽 옆에 기관 이름(위아래 가운데). 로고가 첫 기관 것으로 읽히지 않도록 로고와 이름 사이에 간격 */
@media screen and (min-width: 600px) {
  .over_sec .over_sec_box .box2 td.v2-orgcell { display: flex; align-items: center; gap: 28px; }
  .over_sec .over_sec_box .box2 td.v2-orgcell .v2-orgs { margin: 0; flex: 1 1 auto; min-width: 0; }
}

/* 수정 저장 후 등록 확인 화면의 안내(초록) */
.v2-err.ok { color: #0a7a3d; }
