@charset "utf-8";

/**
 * 교육 신청서 작성 (공용)
 *
 * 부모 교육 · PBS 교육이 함께 쓰는 화면입니다. 교육 상세(.edu-detail)의
 * 뱃지·정보표(.edu-info)·버튼(.edu-btn) 은 각 스킨 CSS(parent.css · pbs.css)에
 * 이미 있어 여기서는 신청서 고유 부분만 정의합니다.
 */

.edu-apply {
    padding-bottom: 32px;
}

.edu-apply > .ik-state {
    padding: 40px 20px;
}

/* 로그인 안내 */
.edu-apply__gate {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin: 20px;
    padding: 32px 20px;
    background: var(--color-card);
    border-radius: 20px;
    box-shadow: var(--shadow-card);
}

.edu-apply__gate-text {
    margin: 0;
    font-size: 15px;
    line-height: 24px;
    color: var(--color-text);
    opacity: .8;
}

.edu-apply__gate .edu-btn {
    width: auto;
    padding: 0 40px;
}

/* 신청할 교육 */
.edu-apply__summary {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
}

.edu-apply__title {
    margin: 0;
    font-weight: 700;
    font-size: 20px;
    line-height: 30px;
    color: var(--color-text);
}

/* 안내 (이미 신청함 · 신청 불가 사유) */
.edu-apply__notice {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 8px 20px 0;
    padding: 20px;
    background: #fff8ec;
    border: 1px solid #ffe0b2;
    border-radius: 16px;
}

.edu-apply__notice-text {
    margin: 0;
    font-weight: 600;
    font-size: 15px;
    line-height: 24px;
    color: #8a5a00;
}

/* 신청서 */
.edu-apply__form {
    padding: 0 20px;
}

.edu-apply__form[hidden] {
    display: none;
}

.edu-apply__section {
    margin: 28px 0 4px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border-strong);
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
}

.edu-apply__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
}

.edu-apply__label {
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: var(--color-text);
    opacity: .8;
}

.edu-apply__label .req {
    margin-left: 2px;
    color: #ff6666;
}

.edu-apply__value {
    margin: 0;
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
    color: var(--color-text);
}

.edu-apply__help {
    margin: 0;
    font-size: 13px;
    line-height: 20px;
    color: var(--color-text);
    opacity: .55;
}

.edu-apply__input,
.edu-apply__textarea {
    width: 100%;
    padding: 0 16px;
    border: 1px solid var(--color-border-strong);
    border-radius: 16px;
    background: #fff;
    font-size: 15px;
    color: var(--color-text);
}

.edu-apply__input {
    height: 52px;
}

.edu-apply__textarea {
    padding: 14px 16px;
    line-height: 22px;
    resize: vertical;
}

.edu-apply__input::placeholder,
.edu-apply__textarea::placeholder {
    color: rgba(40, 40, 40, .3);
}

.edu-apply__input:focus,
.edu-apply__textarea:focus {
    outline: none;
    border-color: var(--color-primary);
}

/* 첨부 (신청서 · 체크리스트 등) */
.edu-apply__file {
    width: 100%;
    padding: 14px 16px;
    border: 1px dashed var(--color-border-strong);
    border-radius: 16px;
    background: #fff;
    font-size: 14px;
    color: var(--color-text);
}

.edu-apply__file::file-selector-button {
    margin-right: 12px;
    padding: 6px 12px;
    border: 0;
    border-radius: 8px;
    background: var(--color-bg);
    color: var(--color-text);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

/* 선택 항목 */
.edu-apply__radios {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.edu-apply__radio,
.edu-apply__check {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 24px;
    color: var(--color-text);
    cursor: pointer;
}

.edu-apply__check {
    margin-top: 12px;
}

.edu-apply__radio input,
.edu-apply__check input {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    accent-color: var(--color-primary);
}

.edu-apply__check input:disabled + span {
    opacity: .4;
}

/* 양육자 이름 */
.edu-apply__bring + .edu-apply__bring {
    margin-top: 8px;
}

.edu-apply__bring[hidden] {
    display: none;
}

/* 개인정보 수집동의 */
.edu-apply__agree {
    max-height: 220px;
    margin-top: 16px;
    padding: 16px;
    overflow-y: auto;
    background: var(--color-bg);
    border: 1px solid var(--color-border-strong);
    border-radius: 16px;
    font-size: 13px;
    line-height: 22px;
    color: var(--color-text);
    opacity: .9;
}

.edu-apply__agree img {
    max-width: 100%;
    height: auto;
}

.edu-apply__form .edu-apply__radios {
    margin-top: 12px;
}

/* 버튼 */
.edu-apply__btnbar {
    display: flex;
    gap: 12px;
    margin-top: 28px;
}

.edu-apply__btnbar .edu-btn {
    flex: 1 1 0;
    height: 56px;
    text-decoration: none;
}

.edu-btn--danger {
    background: #fff;
    border: 1px solid #ff6666;
    color: #ff6666;
}

.edu-btn[disabled] {
    opacity: .5;
}

/* 내 상담 신청서와 이벤트 참여 */
[data-request], [data-events] {
    padding: 24px 20px 32px;
    background: #fff;
    overflow-wrap: anywhere;
}
[data-request] h1, [data-events] h1 { margin-bottom: 16px; }
[data-request] [data-message]:empty, [data-events] [data-message]:empty { display: none; }
[data-request] [data-reason], [data-events] [data-reason] { margin: 16px 0; }
[data-request] .edu-info__row, [data-events] .edu-info__row {
    height: auto;
    min-height: 48px;
    padding: 10px 0;
}
[data-request] .edu-apply__input, [data-request] .edu-apply__textarea,
[data-events] .edu-apply__input, [data-events] .edu-apply__textarea { font-family: inherit; }
[data-request] .edu-apply__textarea, [data-events] .edu-apply__textarea { min-height: 120px; }
[data-request] input:disabled, [data-request] select:disabled, [data-request] textarea:disabled {
    color: var(--color-text);
    -webkit-text-fill-color: var(--color-text);
    opacity: 1;
    background: #f7f8f8;
}
[data-request] [data-fields] a, [data-events] [data-files] a, [data-events] [data-mine] a {
    color: var(--color-primary);
    text-decoration: underline;
}
[data-request] .edu-detail__cta, [data-events] .edu-detail__cta { padding: 20px 0 0; }
[data-events] [data-search] { display: flex; gap: 8px; margin-bottom: 20px; }
[data-events] [data-search] input { min-width: 0; flex: 1; }
[data-events] [data-search] button { width: auto; min-width: 72px; height: 52px; }
[data-events] [data-list] article { padding: 20px 0; margin: 0; border-bottom: 1px solid var(--color-border); }
[data-events] [data-list] h2 { margin: 0 0 8px; font-size: 18px; line-height: 1.5; }
[data-events] [data-list] p { margin: 6px 0; font-size: 14px; line-height: 1.6; }
[data-events] [data-html], [data-events] [data-privacy] { margin: 20px 0; overflow-x: auto; line-height: 1.7; }
[data-events] [data-html] img, [data-events] [data-privacy] img { max-width: 100%; height: auto; }
[data-events] [data-apply] > .edu-apply__label { display: block; margin: 20px 0 8px; }
[data-events] [data-mine]:not(:empty) { padding: 20px; background: #f4f8f7; border-radius: 16px; }
[data-events] [data-mine] h2 { margin: 0 0 12px; }
[data-events] [data-mine] p { margin: 0; line-height: 1.7; }
