/* P32 강사 지원. 원본: common.css 1088~1097·1568~1624행(#instructor-apply, #instructor-form), 캡처 design-ref/P32-instructor. */
#instructor-apply { text-align:center; }
.instructor-sec { padding:100px 20px; }
.instructor-sec img { max-width:100%; height:auto; margin:0 auto; }
.instructor-sec.section1 { display:flex; align-items:center; justify-content:center; padding:0 20px; height:325px; background:url('/resource/images/instructor/instructor_bg_01.jpg') center / cover no-repeat; }
.instructor-sec.section1 img { display:block; }
.instructor-sec.section2 { background:#f5f5f5; }
.instructor-sec.section3 { background:#f86a31; }
.instructor-sec.section4 { padding:140px 20px 0; min-height:1315px; background:url('/resource/images/instructor/instructor_bg_05.jpg') center / cover no-repeat; }
.instructor-sec.link { padding:0; background:#f86a31; }
.instructor-sec.link button { display:block; width:100%; padding:35px 0; text-align:center; border:0; background:none; cursor:pointer; }
.instructor-sec.link button:focus-visible { outline:3px solid #fff; outline-offset:-6px; }

/* 폼 */
#instructor-form { padding:100px 20px; background:#eee; }
#instructor-form[hidden] { display:none; }
.form-title { margin-bottom:35px; font-size:16px; text-align:center; }
.form-title h2 { font-size:36px; font-weight:500; letter-spacing:-2px; }
.form-title p { margin:20px auto 50px; }
.form-wrap { max-width:800px; margin:0 auto; padding:50px; background:#fff; box-shadow:1px 1px 12px rgba(0,0,0,.35); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; font-size:14px; }
.form-grid .row { display:flex; grid-column:1 / -1; align-items:flex-start; min-width:0; margin:0; padding:8px 0; border:0; }
.form-grid .row.half { grid-column:auto; }
.form-grid .row.line { padding-bottom:26px; border-bottom:1px solid #ccc; margin-bottom:16px; }
.form-grid .row > label, .form-grid .row > .label, .form-grid legend { flex:none; width:100px; padding:10px 12px 0 0; font-weight:500; letter-spacing:-1px; text-align:right; }
.form-grid legend { float:left; }
.form-grid .row > label span, .form-grid .row > .label span, .form-grid legend span { padding-right:3px; color:#ff4949; font-size:13px; }
.form-grid .field { flex:1; min-width:0; }
.form-grid input:not([type=checkbox]):not([type=file]), .form-grid select, .form-grid textarea { flex:1; width:100%; min-width:0; min-height:40px; padding:8px 12px; border:1px solid #ccc; background:#fcfcfc; font:inherit; font-size:14px; resize:none; }
.form-grid input[type=file] { flex:1; min-width:0; padding-top:8px; font-size:13px; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color:#f56831; outline:none; }
.form-grid [aria-invalid="true"] { border-color:#ff4949 !important; background:#fff8f8 !important; }
.form-grid textarea { line-height:20px; }
.sortWrap { display:grid; grid-template-columns:repeat(4, 1fr); gap:15px 0; padding-top:10px; }
.sortWrap label, .areaSort label { cursor:pointer; }
.areaSort { display:flex; gap:10px; padding:16px 0 0; font-size:13px; letter-spacing:-1px; }
.areaSort[hidden] { display:none; }
.areaSort .title { flex:none; width:80px; color:#f56831; font-weight:600; }
.areaSort > div { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.areaSort input[type=text] { width:160px !important; flex:none !important; min-height:30px !important; padding:4px 8px !important; }
.fileDown_btn { display:inline-block; padding:8px 14px; border:1px solid #f56831; color:#f56831; }
.fileDown_btn:hover { background:#f56831; color:#fff; }
.desc { margin-top:8px; padding:0; list-style:none; color:#666; font-size:12px; line-height:18px; }
.desc .red { color:#e55757; }
.linkWrap { display:flex; flex-direction:column; gap:6px; }
.linkWrap .plus { align-self:flex-start; width:32px; height:32px; border:1px solid #ccc; background:#fff; font-size:18px; cursor:pointer; }
.attached-desc { font-size:11px; }
.attached-desc em { color:#e55757; font-style:normal; }
.agreement { margin:12px 0 8px; padding:10px 12px; border:1px solid #e0e0e0; background:#fcfcfc; }
.agreement p { font-size:13px; line-height:18px; }
.clause { cursor:pointer; }
.instructor-error { margin-bottom:16px; padding:12px; background:#fff5f5; color:#ff4949; font-size:14px; }
.submit-apply { display:block; width:250px; margin:40px auto 0; border:0; background:#f86931; color:#fff; font:inherit; font-size:16px; line-height:48px; cursor:pointer; }
.submit-apply:hover { background:#e85a20; }
.instructor-done { padding:40px 0; text-align:center; }
.instructor-done strong { display:block; font-size:22px; }
.instructor-done p { margin-top:10px; color:#666; }
.instructor-review { font-size:13px; color:#999 !important; }
.instructor .m { display:none; }

@media(max-width:1023px) {
    .instructor-sec.section4 { min-height:0; padding-bottom:100px; }
}
/* 모바일: 원본 ?pc=m은 통이미지 7장 + 한 줄 폼 */
@media(max-width:767px) {
    .instructor .m { display:inline; }
    .instructor-sec, .instructor-sec.section1, .instructor-sec.section4 { height:auto; min-height:0; padding:0; background:none; }
    .instructor-sec.section1 img { margin:0; }
    .instructor-sec img { display:block; width:100%; }
    .instructor-sec.link button { padding:0; }
    #instructor-form { padding:40px 16px; }
    .form-title h2 { font-size:24px; letter-spacing:-1px; }
    .form-title p { margin:12px 0 0; font-size:14px; }
    .form-wrap { padding:24px 16px; }
    .form-grid { display:block; }
    .form-grid .row, .form-grid .row.line { display:block; margin:0; padding:8px 0; border:0; }
    .form-grid .row > label, .form-grid .row > .label, .form-grid legend { display:block; width:auto; padding:0 0 6px; text-align:left; }
    .form-grid legend { float:none; }
    .sortWrap { grid-template-columns:repeat(2, 1fr); gap:10px 0; padding-top:0; }
    .areaSort { display:block; }
    .areaSort .title { width:auto; margin-bottom:6px; }
    .areaSort input[type=text] { width:100% !important; }
    .submit-apply { width:100%; }
}
