.page-container .title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    gap: var(--number-5);
    padding-bottom: var(--spacing-bottom-xlg);
}
.page-container .title-group {
    display: flex;
    flex-direction: column;
}
.page-container .section-tit {
    font-family: var(--font-family-title);
    font-size: var(--font-size-display-lg);
    color: var(--color-font-neutral-strong);
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: 130%;
    letter-spacing: -0.0625rem;
    word-break: keep-all;
}
.page-container .description {
    font-family: var(--font-family-body);
    font-size: var(--font-size-body-lg);
    color: var(--color-font-neutral-default);
    font-style: normal;
    font-weight: var(--font-weight-regular);
    line-height: 140%;
    letter-spacing: -0.0297rem;
}

.page-container .registration-table-wrap {
    width: 100%;
    padding-bottom: var(--spacing-bottom-md);
}

.registration-table-wrap .table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border-top: 1px solid var(--color-border-neutral-default);
}

.registration-table-wrap .table .th {
    flex-shrink: 0;
    width: 10rem;
    min-width: 7.5rem;
    min-height: 3rem;
    font-family: var(--font-family-body);
    font-size: var(--font-size-label-md);
    color: var(--color-font-neutral-default);
    font-style: normal;
    font-weight: var(--font-weight-medium);
    text-align: left;
    line-height: 100%;
    letter-spacing: -0.0234rem;
    word-break: keep-all;
    padding: var(--padding-6);
    border-bottom: var(--border-1) solid var(--color-border-neutral-subtler);
    background: var(--color-surface-neutral-gray);
}
.registration-table-wrap .table .th.require::after {
    content: '*';
    color: var(--color-font-theme-primary);
    font-family: var(--font-family-body);
    font-size: var(--font-size-label-md);
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: 100%;
    letter-spacing: -0.0234rem;
}
.registration-table-wrap .table .th sub {
    display: inline-block;
    font-size: var(--font-size-label-sm);
    color: var(--color-font-neutral-subtle);
    font-weight: var(--font-weight-regular);
    font-style: normal;
    line-height: 100%;
    letter-spacing: -0.0203rem;
}

.registration-table-wrap .table .td {
    min-width: 4rem;
    min-height: 3rem;
    font-family: var(--font-family-body);
    font-size: var(--font-size-body-md);
    color: var(--color-font-neutral-default);
    font-weight: var(--font-weight-regular);
    font-style: normal;
    line-height: 150%;
    letter-spacing: -0.0234rem;
    padding: var(--padding-3) var(--padding-6);
    border-bottom: var(--border-1) solid var(--color-border-neutral-subtler);
}

.registration-table-wrap .table .td .form-box:has(.input),
.registration-table-wrap .table .td .form-box:has(.textarea) {
    max-width: 85rem;
    width: 100%;
}

.check-group,
.radio-group {
    display: flex;
    align-items: center;
    gap: var(--gap-9);
}

.page-container .form-row {
    display: flex;
    align-items: center;
    gap: var(--gap-2);
}
.password-initialization-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap-1);
    padding: var(--padding-2);
    margin-left: var(--gap-2);
}

.page-container .file-list,
.page-container .file-list-item,
.page-container .image-upload-row,
.page-container .keyword-slots,
.page-container .file-upload-area,
.page-container .w-max {
    max-width: 85rem;
    width: 100%;
}

.success-msg {
    display: block;
    color: var(--color-font-system-success);
}
.danger-msg {
    display: block;
    color: var(--color-font-system-danger);
}

.registration-table-wrap .table .td .form-box + .file-list {
    margin-top: var(--gap-3);
}

.registration-table-wrap .file_select-btn {
    white-space: nowrap;
}

.page-container .agree-box {
    width: 100%;
    padding-bottom: var(--gap-7);
}

.page-container .checkbox,
.page-container .checkbox-content {
    width: 100%;
}
.page-container .checkbox-label {
    display: flex;
    align-items: center;
    gap: var(--gap-3);
}
.page-container .checkbox-description {
    display: flex;
    align-items: center;
    gap: var(--number-3);
    margin-left: calc((var(--form-icon-md) + var(--gap-3)) * -1);
}
.page-container .checkbox-description .ico {
    font-size: var(--icon-3);
}

/* 태블릿 : 한 줄에 항목 하나 (th + td 한 쌍씩) */
@media (max-width: 1023px) {
    .registration-table-wrap .table,
    .registration-table-wrap .table tbody {
        display: block;
    }
    .registration-table-wrap .table tr {
        display: flex;
        flex-wrap: wrap;
    }
    .registration-table-wrap .table .th {
        display: flex;
        align-items: center;
        flex: 0 0 10rem;
    }
    .registration-table-wrap .table .td {
        flex: 1 1 calc(100% - 10rem);
        min-width: 0;
    }
    /* 열 맞춤용 빈 셀 숨김 */
    .registration-table-wrap .table .td:empty {
        display: none;
    }
}

/* 모바일 : 라벨을 입력창 위로 */
@media (max-width: 767px) {
    .registration-table-wrap .table .th {
        flex-basis: 100%;
        width: 100%;
        min-height: auto;
        padding: var(--padding-4) var(--padding-5);
        border-bottom: 0;
    }
    .registration-table-wrap .table .td {
        flex-basis: 100%;
        padding: var(--padding-3) var(--padding-5) var(--padding-5);
    }
}
