/* 온라인 입학원서 (/apply/form/) — inc/lisd-apply.php (2026-09-28) */
.lisd--apply-form { color: #2A2322; }
.lisd--apply-form .lisd-ap-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin: 0 0 28px; padding: 14px 18px; background: #F8F6F6; border: 1px solid #E3DFDE; font-size: 14px; color: #4A4342; }
.lisd--apply-form .lisd-ap-bar a { color: #A71836; font-weight: 700; margin-left: 12px; }
.lisd--apply-form .lisd-ap-bar button, .lisd--apply-form .lisd-ap-nav button { height: 44px; padding: 0 20px; border: 1px solid #2A2322; background: #fff; color: #2A2322; font-size: 14px; font-weight: 700; cursor: pointer; font-family: inherit; }
.lisd--apply-form .lisd-ap-nav .lisd-ap-next, .lisd--apply-form .lisd-ap-nav .lisd-ap-submit { background: #A71836; border-color: #A71836; color: #fff; height: 54px; padding: 0 32px; font-size: 15px; }
.lisd--apply-form .lisd-ap-steps { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.lisd--apply-form .lisd-ap-steps li { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid #E3DFDE; font-size: 13px; color: #6E6766; cursor: pointer; background: #fff; }
.lisd--apply-form .lisd-ap-steps li span { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; background: #F3F1F0; }
.lisd--apply-form .lisd-ap-steps li.is-on { color: #2A2322; border-color: #A71836; font-weight: 700; }
.lisd--apply-form .lisd-ap-steps li.is-on span { background: #A71836; color: #fff; }
.lisd--apply-form .lisd-ap-steps li.is-done span { background: #2A2322; color: #fff; }
.lisd--apply-form .lisd-ap-steps li.has-error { border-color: #c0392b; color: #c0392b; }
.lisd--apply-form .lisd-ap-sec { display: none; max-width: 880px; padding: 36px; border: 1px solid #E3DFDE; background: #fff; }
.lisd--apply-form .lisd-ap-sec.is-on { display: block; }
.lisd--apply-form .lisd-ap-sec h2 { display: flex; align-items: baseline; gap: 12px; margin: 0 0 12px; font-size: 26px; font-weight: 700; letter-spacing: -0.02em; }
.lisd--apply-form .lisd-ap-sec h2 span { font-size: 14px; font-weight: 700; color: #A71836; }
.lisd--apply-form .lisd-ap-note { margin: 0 0 24px; padding: 14px 16px; background: #F8F6F6; font-size: 14px; line-height: 1.8; color: #4A4342; }
.lisd--apply-form .lisd-ap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 20px; }
.lisd--apply-form .lisd-ap-field { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 8px; }
.lisd--apply-form .lisd-ap-field.is-half { grid-column: auto; }
.lisd--apply-form .lisd-ap-label { font-size: 14px; font-weight: 700; line-height: 1.6; }
.lisd--apply-form .lisd-ap-help { font-size: 13px; line-height: 1.7; color: #6E6766; margin-top: -4px; }
.lisd--apply-form .lisd-ap-radios { display: flex; flex-wrap: wrap; gap: 8px; }
.lisd--apply-form .lisd-ap-radios label { display: flex; align-items: center; gap: 8px; min-height: 50px; padding: 0 14px; border: 1px solid oklch(0.85 0.008 20); font-size: 15px; cursor: pointer; flex: 1 1 140px; }
.lisd--apply-form input[type="radio"], .lisd--apply-form input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: #A71836; flex: none; }
.lisd--apply-form .lisd-ap-pledge { margin: 0; padding: 16px 16px 16px 36px; background: #F8F6F6; font-size: 14px; line-height: 1.8; color: #4A4342; }
.lisd--apply-form .lisd-ap-pledge li { margin: 0 0 4px; }
.lisd--apply-form .lisd-ap-agree { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; cursor: pointer; }
.lisd--apply-form .lisd-ap-field.is-error .lisd-ap-label { color: #c0392b; }
.lisd--apply-form .lisd-ap-field.is-error input, .lisd--apply-form .lisd-ap-field.is-error select, .lisd--apply-form .lisd-ap-field.is-error textarea, .lisd--apply-form .lisd-ap-field.is-error .lisd-ap-radios label { border-color: #c0392b !important; }
.lisd--apply-form .lisd-ap-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 32px; padding-top: 24px; border-top: 1px solid #E3DFDE; }
.lisd--apply-form .lisd-ap-saved { font-size: 13px; color: #6E6766; }
.lisd--apply-form .lisd-ap-msg { max-width: 880px; margin: 0 0 20px; padding: 14px 18px; background: #fdecea; border: 1px solid #f5c6c2; color: #9b1c1c; font-size: 14px; line-height: 1.8; }
.lisd--apply-form .lisd-ap-ro { max-width: 880px; }
.lisd--apply-form .lisd-ap-ro h3 { margin: 32px 0 10px; font-size: 18px; font-weight: 700; padding-bottom: 8px; border-bottom: 2px solid #A71836; }
.lisd--apply-form .lisd-ap-ro table { width: 100%; border-collapse: collapse; }
.lisd--apply-form .lisd-ap-ro th { width: 34%; text-align: left; vertical-align: top; padding: 10px 12px; font-size: 14px; font-weight: 700; background: #F8F6F6; border-bottom: 1px solid #EEE; }
.lisd--apply-form .lisd-ap-ro td { padding: 10px 12px; font-size: 15px; line-height: 1.8; border-bottom: 1px solid #EEE; }
.lisd--apply-form .lisd-ap-docs { max-width: 880px; margin-top: 32px; padding: 24px 28px; background: #F8F6F6; border: 1px solid #E3DFDE; font-size: 15px; line-height: 1.9; }
.lisd--apply-form .lisd-ap-donebox { max-width: 760px; padding: 32px 36px; border: 1px solid #E3DFDE; background: #fff; }
.lisd--apply-form .lisd-ap-donebox h2 { margin: 0 0 16px; font-size: 22px; font-weight: 700; }
.lisd--apply-form .lisd-ap-donebox ol { margin: 0 0 20px; padding-left: 22px; font-size: 15.5px; line-height: 1.9; }
.lisd--apply-form .lisd-ap-donebox dl { display: grid; grid-template-columns: 110px 1fr; gap: 8px 16px; margin: 0 0 16px; padding: 18px 20px; background: #F8F6F6; font-size: 15px; }
.lisd--apply-form .lisd-ap-donebox dt { font-weight: 700; }
.lisd--apply-form .lisd-ap-donebox dd { margin: 0; }
.lisd--apply-form .lisd-ap-donebox dd a { color: #A71836; font-weight: 700; }
.lisd--apply-form .lisd-ap-donebox p { margin: 0; font-size: 14.5px; line-height: 1.8; color: #4A4342; }
@media (max-width: 768px) {
    .lisd--apply-form > div { padding: 48px 18px 72px !important; }
    .lisd--apply-form h1 { font-size: 30px !important; }
    .lisd--apply-form .lisd-ap-sec { padding: 22px 18px; }
    .lisd--apply-form .lisd-ap-grid { grid-template-columns: minmax(0, 1fr); }
    .lisd--apply-form .lisd-ap-field.is-half { grid-column: 1 / -1; }
    .lisd--apply-form .lisd-ap-steps li { padding: 6px 8px; font-size: 12px; }
    .lisd--apply-form .lisd-ap-donebox dl { grid-template-columns: 1fr; }
}
