/* C/R 임대 신청과 채용지원이 공유하는 안내·섹션·버튼 배치입니다. */
.application-page { padding-block: var(--tf-content-space); }
.application-page [hidden] { display: none !important; }
.application-layout, .application-form { display: flex; min-width: 0; flex-direction: column; gap: var(--number-80); }
.application-form__heading { display: flex; min-width: 0; flex-direction: column; gap: var(--number-40); }
.application-form__intro { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--number-20); border-block: 1px solid var(--color-border-normal); padding-block: var(--number-40); }
.application-form__intro h3 { margin: 0; font-size: 1.5rem; font-weight: 500; line-height: 1.5; letter-spacing: -.01em; word-break: keep-all; overflow-wrap: anywhere; }
.application-form__intro p { margin: 0; font-size: 1.125rem; line-height: 1.5; letter-spacing: -.015em; word-break: keep-all; overflow-wrap: anywhere; }
.application-form__intro .tf-button { max-width: 100%; }
.application-form__sections { display: flex; min-width: 0; flex-direction: column; gap: var(--number-40); }
.application-form__section { display: flex; min-width: 0; flex-direction: column; gap: var(--number-20); }
.application-form__section + .application-form__section { border-top: 1px solid var(--color-background-alt); padding-top: var(--number-40); }
.application-form__section h3 { margin: 0; font-size: 1.25rem; font-weight: 600; line-height: 1.5; letter-spacing: -.01em; }
.application-form__section-heading { display: flex; flex-direction: column; gap: var(--number-8); }
.application-form__section-heading p { margin: 0; font-size: 1rem; line-height: 1.5; letter-spacing: -.015em; word-break: keep-all; overflow-wrap: anywhere; }
.application-form__actions { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--number-12); }
.application-form__buttons { display: flex; width: 100%; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--number-20); }
.application-form__buttons .tf-button { min-width: 8.0625rem; }
.application-page--complete { padding-block: var(--tf-content-space); }
.application-page--complete .application-layout { gap: var(--number-80); }
.cleanroom-page .service-section > .tf-container { gap: var(--tf-content-space); }
.cleanroom-heading { align-items: center; }
[data-cleanroom-heading-copy] { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--number-24); }
.cleanroom-heading__actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--number-20); }
/* 공통 안내문은 기존 버튼 클래스를 유지하고 한글·PDF를 각각 연결합니다. */
[data-cleanroom-guide-downloads] { display: flex; min-width: 0; max-width: 100%; flex-wrap: wrap; align-items: center; gap: var(--number-20); }
[data-cleanroom-guide-downloads] > :is(p, ul) { margin: 0; font-size: 1.125rem; font-weight: 600; line-height: 1.5; letter-spacing: -.015em; word-break: keep-all; overflow-wrap: anywhere; }
[data-cleanroom-guide-downloads] > ul { padding-left: 1.5em; list-style: disc; }
[data-cleanroom-guide-buttons] { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--number-8); }
.application-form__intro [data-cleanroom-guide-downloads] { flex-direction: column; align-items: flex-start; gap: var(--number-12); }
.application-form__intro [data-common-form-download] { border-color: var(--color-primary-normal); color: var(--color-primary-normal); background: transparent; }
.application-form__intro [data-common-form-download]:not(:disabled):not([aria-disabled="true"]):hover { background: var(--palette-primary-95); }
.application-form__intro [data-common-form-download]:disabled, .application-form__intro [data-common-form-download][aria-disabled="true"] { border-color: var(--color-text-disable); color: var(--color-text-disable); background: transparent; }
@media (max-width: 1919.98px) {
  .cleanroom-heading { flex-wrap: wrap; row-gap: var(--number-24); }
}
/* 누적 파일은 같은 Files 입력으로 제출하며 파일 수에 따라 높이가 늘어납니다. */
.application-upload { display: flex; min-width: 0; min-height: 4rem; align-items: center; gap: var(--number-8); border: 1px solid var(--color-border-normal); border-radius: var(--number-12); padding: .6875rem .75rem; background: var(--color-background-normal); }
.application-upload > .tf-icon { flex-shrink: 0; color: var(--color-text-subtle); }
.application-upload:focus-within { border-color: var(--palette-primary-60); box-shadow: 0 0 0 3px rgba(37,110,244,.12); }
.application-upload:has([aria-invalid="true"]) { border-color: var(--color-status-danger); }
.application-upload__files { min-width: 0; flex: 1; }
.application-upload__placeholder { color: var(--color-text-subtle); font-size: 1rem; line-height: 1.5; }
.application-upload__list { display: flex; min-width: 0; flex-direction: column; gap: var(--number-8); margin: 0; padding-left: 1.25rem; list-style: disc; }
.application-upload__list li { font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.application-upload__filename { margin-right: var(--number-8); }
.application-upload__remove { display: inline-flex; width: 1.5rem; height: 1.5rem; align-items: center; justify-content: center; border: 0; padding: 0; color: var(--color-text-normal); background: transparent; vertical-align: middle; cursor: pointer; }
.application-upload__remove .tf-icon { --tf-icon-size: 1rem; }
.application-upload__pick { position: relative; flex: 0 0 auto; margin: 0; }
.application-upload__input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
@media (max-width: 1199.98px) {
  .cleanroom-heading { flex-wrap: wrap; gap: var(--number-24); }
  .cleanroom-heading__actions { justify-content: flex-start; }
  .application-form__intro h3 { font-size: 1.25rem; }
}
@media (max-width: 767.98px) {
  .application-page--complete { padding-block: var(--number-40); }
  .application-page--complete .application-layout { gap: var(--number-40); }
  .application-layout, .application-form { gap: var(--number-40); }
  .application-form__heading { gap: var(--number-24); }
  .application-form__intro { padding-block: var(--number-24); }
  .application-form__intro h3 { font-size: 1.125rem; }
  .application-form__intro p { font-size: .875rem; }
  .application-form__section + .application-form__section { padding-top: var(--number-24); }
  .application-form__sections { gap: var(--number-24); }
  .application-form__section h3 { font-size: 1.125rem; }
  .application-form__section-heading p { font-size: .875rem; }
  .application-form__intro .tf-button, .cleanroom-heading__actions .tf-button { height: auto; min-height: 2.5rem; padding: var(--number-8) var(--number-16); font-size: .875rem; white-space: normal; }
  .application-form__intro .tf-button .tf-icon { flex-basis: 1.25rem; width: 1.25rem; height: 1.25rem; }
  .application-form__buttons { gap: var(--number-12); }
  .application-form__buttons .tf-button { min-width: 0; }
  .application-upload { flex-wrap: wrap; }
  .application-upload__placeholder, .application-upload__list li { font-size: .875rem; }
  .application-upload__pick { margin-left: auto; }
  .cleanroom-heading__actions { width: 100%; gap: var(--number-12); }
  [data-cleanroom-heading-copy] { width: 100%; }
  [data-cleanroom-heading-copy] [data-cleanroom-guide-buttons] .tf-button { height: auto; min-height: 2.5rem; padding: var(--number-8) var(--number-16); font-size: .875rem; white-space: normal; }
  [data-cleanroom-guide-downloads] { width: 100%; flex-direction: column; align-items: flex-start; gap: var(--number-12); }
  [data-cleanroom-guide-downloads] > :is(p, ul) { font-size: .875rem; }
}
