@charset "euc-kr";

/* 레이어 팝업 공통 */
.pop-ui {margin:0;background:#fff;color:#333;font-family:Pretendard,"Noto Sans KR",sans-serif;overflow-x:hidden}
.pop-ui a {color:inherit;text-decoration:none}
.pop-ui .blind {position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0)}

/* 레이어 및 작성 폼 */
.pop-ui.pop-layer {position:fixed;z-index:10000;inset:0}
.pop-ui.pop-layer {overflow:hidden;background:transparent}
body.pop-layer-open {overflow:hidden}
.pop-ui .pop-layer-dim {position:absolute;inset:0;background:rgba(0,0,0,.6)}
.pop-ui .pop-layer-panel {position:absolute;left:50%;top:50%;width:648px;max-width:calc(100% - 48px);height:calc(100vh - 48px);overflow:hidden;transform:translate(-50%,-50%);border-radius:20px;background:#fff}
.pop-ui.pop-layer.is-fit-height .pop-layer-panel {height:auto;max-height:calc(100vh - 48px);display:flex;flex-direction:column}
.pop-ui.pop-layer.is-fit-height .pop-write-shell {height:auto;min-height:0;flex:1 1 auto}
.pop-ui .pop-form {width:100%;margin:0}

/* 기본 폼 테이블 */
.pop-ui .pop-form-table {width:100%;border-top:1px solid #555}
.pop-ui .pop-form-table th,.pop-ui .pop-form-table td {padding:14px;border-bottom:1px solid #e5e5e5}
/* // 기본 폼 테이블 */

/* 작성 안내 : 레이어 상단의 안내 박스 */
.pop-ui .pop-write-guide {width:calc(100% - 48px);margin:24px 24px 0;padding:16px 24px;border-radius:8px;background:#f8f8f8}
.pop-ui .pop-write-guide>p {margin:8px 0 0;color:#777;font-size:13px;line-height:18px;letter-spacing:0}
.pop-ui .pop-write-guide>p span {display:block;padding-left:12px;text-indent:-12px}
.pop-ui .pop-guide-title {display:flex;align-items:center;gap:8px;height:24px;color:#333}
.pop-ui .pop-guide-title svg {width:20px;height:20px;flex:none;color:#777}
.pop-ui .pop-guide-title strong {font-size:16px;font-weight:600;line-height:24px;letter-spacing:-.16px}
/* // 작성 안내 */

.pop-ui .pop-write-shell {display:flex;flex-direction:column;width:100%;max-width:648px;min-height:100vh;margin:0 auto;background:#fff}
.pop-ui.pop-layer .pop-write-shell {height:100%;min-height:0}
.pop-ui .pop-write-head {position:static;z-index:auto;top:auto;display:flex;align-items:center;justify-content:space-between;width:100%;height:65px;padding:20px 24px;border-bottom:1px solid #ededed;background:#fff}
.pop-ui .pop-write-head h1 {margin:0;color:#222;font-size:18px;font-weight:600;line-height:25px;letter-spacing:-.36px}
.pop-ui .pop-write-close {display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:transparent;color:#333;cursor:pointer}
.pop-ui .pop-write-close svg {display:block;width:22px;height:22px}
.pop-ui .pop-write-content {width:100%;background:#fff}
.pop-ui.pop-layer .pop-write-content {flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
.pop-ui .pop-write-form {display:flex;flex:1;min-height:0;flex-direction:column;width:100%;margin:0}
.pop-ui .pop-write-fields {display:flex;flex-direction:column;gap:24px;width:100%;margin-top:24px;padding:0 24px}
.pop-ui .pop-write-fields.is-flush {gap:0;padding:0 24px 20px}
.pop-ui .pop-write-field {display:flex;flex-direction:column;width:100%}
.pop-ui .pop-write-field.is-sub-field {margin-top:12px}
.pop-ui .pop-write-field>label {height:22px;color:#333;font-size:15px;font-weight:600;line-height:22px;letter-spacing:-.15px;margin-bottom:8px}
.pop-ui .pop-write-field>label em {color:#ed2024;font-style:normal;font-weight:400}
.pop-ui .pop-write-field input,.pop-ui .pop-write-field select,.pop-ui .pop-write-field textarea {display:block;width:100%;margin:0;border-radius:6px;background:#fff;font-size:14px;line-height:20px;outline:none;box-shadow:none}
.pop-ui .pop-write-field input,.pop-ui .pop-write-field select {height:42px;padding:0 18px}
.pop-ui .pop-write-field select {appearance:none;-webkit-appearance:none;padding-right:48px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='16' viewBox='0 0 20 16' fill='none'%3E%3Cpath d='M16 5L10 11L4 5' stroke='%23333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center}
.pop-ui .pop-write-field textarea {height:124px;padding:12px 18px;resize:none;word-break:keep-all}
.pop-ui .pop-write-field input:focus,.pop-ui .pop-write-field select:focus,.pop-ui .pop-write-field textarea:focus {border-color:#2c5bf6}
.pop-ui .pop-write-field input::placeholder,.pop-ui .pop-write-field textarea::placeholder {color:#777;opacity:1}
.pop-ui .pop-email-row {display:flex;align-items:center;gap:8px;width:100%;margin-bottom:8px}
.pop-ui .pop-email-row input {flex:1;min-width:0}
.pop-ui .pop-email-at {flex:none;color:#333;font-size:16px;line-height:42px}

/* 첨부파일 : 파일명 표시 입력창, 선택 버튼, 선택된 파일명을 조합할 때 사용
   동작(선택·초기화)은 pop_common.js 에 없습니다. board.js 의 BoardUI.file.clear() 를
   함께 쓰거나 페이지 개발 코드에서 처리합니다. */
.pop-ui .pop-file-row {display:flex;align-items:flex-start;gap:8px;width:100%}
.pop-ui .pop-file-display {flex:1;min-width:0}
.pop-ui .pop-file-button {width:120px;height:42px;flex:none;padding:0;border:0;border-radius:4px;background:#9aa3b2;color:#fff;font-size:14px;font-weight:500;line-height:20px;cursor:pointer}
.pop-ui .pop-file-name {display:block;width:100%;margin-top:8px;padding:0;border:0;background:transparent;color:#777;font-size:13px;line-height:18px;text-align:left;cursor:pointer}
/* // 첨부파일 */

/* 주소 검색·글자수 */
.pop-ui .pop-address-field {position:relative;gap:8px}
.pop-ui .pop-address-field input[readonly] {background:#f5f5f5}
.pop-ui .pop-address-field .pop-address-value.is-filled {background:#fff}
.pop-ui .pop-address-search {display:grid;grid-template-columns:1fr 90px;gap:8px;width:100%}
.pop-ui .pop-address-search button {height:42px;padding:0;border:0;border-radius:4px;background:#9aa3b2;color:#fff;font-size:14px;font-weight:500;line-height:20px;cursor:pointer}
.pop-ui .pop-content-field {position:relative}
.pop-ui .pop-content-count {height:17px;margin:0;color:#777;font-size:12px;line-height:17px;text-align:right;margin-top: 8px;}
.pop-ui .pop-postcode {display:none;position:absolute;right:0;top:78px;z-index:40;width:100%;height:350px !important;border:1px solid #dbdee5;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.pop-ui .pop-postcode-wrap {width:100%;height:100%;overflow:hidden}
/* // 주소 검색·글자수 */

.pop-ui .pop-privacy {width:100%;margin:24px 0 0;background:#fff}
.pop-ui .pop-privacy h2 {height:46px;margin:0;padding:11px 24px;background:#f1f3f8;color:#333;font-size:18px;font-weight:600;line-height:25px;letter-spacing:-.36px}
.pop-ui .pop-privacy-button {width:calc(100% - 48px);height:38px;margin:20px 24px 0;padding:0;border:0;background:#fff;color:#333;font-size:14px;font-weight:500;line-height:20px;text-align:left}
.pop-ui .pop-privacy-button span {display:inline-flex;align-items:center;gap:8px;float:right;color:#777;font-size:13px;font-weight:500;line-height:18px}
.pop-ui .pop-privacy-button span svg {display:block;width:12px;height:7px}
.pop-ui .pop-privacy.is-open .pop-privacy-button span svg {transform:scaleY(-1)}
.pop-ui .pop-privacy-content {display:none;height:168px;overflow-y:auto;margin:0px 24px 0;padding:12px 16px;border:1px solid #dbdee5;border-radius:4px;background:#fff;color:#777;font-size:13px;line-height:18px;letter-spacing:0}
.pop-ui.pop-write-layer:not(.is-write-mo) .pop-privacy.is-open .pop-privacy-content {height:auto;overflow-y:visible}
.pop-ui .pop-privacy-content p {margin:0}
.pop-ui .pop-privacy-content strong {display:block;margin:18px 0 0;color:#777;font-size:13px;font-weight:400;line-height:18px}
.pop-ui .pop-form-submit {position:relative;z-index:40;display:flex;justify-content:center;width:100%;margin:0;padding:16px 24px 32px;background:#fff}
.pop-ui .pop-form-submit button {display:flex;align-items:center;justify-content:center;width:206px;height:40px;padding:0;border:0;border-radius:4px;background:#333;color:#fff;font-size:15px;font-weight:500;line-height:21px;cursor:pointer}
.pop-ui .pop-form-submit.is-narrow button {width:162px}
.pop-ui .pop-form-submit.is-split {gap:12px}
.pop-ui .pop-form-submit .pop-form-cancel {border:1px solid #777;background:#FFF;color:#222}
.pop-ui .pop-form-submit button:disabled {background:#c9ccd1;cursor:default}
.pop-ui .pop-custom-select {display:block;width:100%}
.pop-ui .pop-custom-select .select-btn {width:100%;margin:0;border-radius:6px;color:#333;line-height:20px;letter-spacing:-.14px}
.pop-ui .pop-custom-select .select-text {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pop-ui .pop-custom-select .select-list {top:calc(100% - 1px);z-index:30;box-sizing:border-box}
.pop-ui .pop-custom-select .select-list .option.is-disabled {color:#b1b1b1;cursor:default}
.pop-ui .pop-custom-select .select-list .option.is-disabled:hover {background:transparent}
.pop-ui .pop-custom-select .option {box-sizing:border-box;white-space:normal}

/* 작성 필드 라벨과 읽기 전용 상태 : label 요소 대신 span 을 쓸 때는 .pop-write-label 을 사용 */
.pop-ui .pop-write-label {display:block;height:22px;color:#333;font-size:15px;font-weight:600;line-height:22px;letter-spacing:-.15px;margin-bottom:8px}
.pop-ui .pop-write-label em {color:#ed2024;font-style:normal;font-weight:400}
.pop-ui .pop-write-field input[readonly] {background:#f5f5f5;color:#7e7e7e}
.pop-ui .pop-write-field input.is-active {border-color:#2c5bf6;color:#333}
/* // 작성 필드 라벨과 읽기 전용 상태 */

/* 라디오 버튼 : input 은 opacity 로 숨겨 포커스와 키보드 조작을 유지합니다 */
.pop-ui .pop-radio-group {display:flex;flex-wrap:wrap;align-items:center;gap:32px;padding:4px 0}
.pop-ui .pop-radio {display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.pop-ui .pop-radio input {position:absolute;opacity:0;pointer-events:none}
.pop-ui .pop-radio-ui {position:relative;display:inline-block;width:20px;height:20px;flex:none;border-radius:50%;background:#cfd5dc}
.pop-ui .pop-radio-ui:after {content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:50%;background:#fff}
.pop-ui .pop-radio input:checked+.pop-radio-ui {background:#2c5bf6}
.pop-ui .pop-radio input:focus-visible+.pop-radio-ui {box-shadow:0 0 0 3px rgba(44,91,246,.18)}
.pop-ui .pop-radio-text {color:#111;font-size:14px;font-weight:500;line-height:1.5}
/* // 라디오 버튼 */

/* 입력 필드 검색과 결과 목록 */
.pop-ui .pop-field-action {display:flex;gap:8px;width:100%}
/* .is-fixed-col : 우측 열 고정. 버튼이 숨겨지고 상태 텍스트만 남아도 입력 폭이 유지됩니다 */
.pop-ui .pop-field-action.is-fixed-col {display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:center;width:100%}
.pop-ui .pop-field-action.is-fixed-col .pop-field-status {margin-left:8px}
.pop-ui .pop-field-action input {min-width:0;flex:1}
.pop-ui .pop-field-button {width:120px;height:42px;flex:none;padding:0;border:0;border-radius:6px;background:#9aa3b2;color:#fff;font-size:15px;font-weight:normal;line-height:1.4;letter-spacing:-.3px;cursor:pointer}
.pop-ui .pop-field-button.is-active {background:#2c5bf6}
.pop-ui .pop-field-button-mobile {display:none}
.pop-ui .pop-field-status {flex:none;color:#7e7e7e;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:-.28px;white-space:nowrap;cursor:default}
.pop-ui .pop-field-status.is-done {color:#333}
.pop-ui .pop-field-status.is-link {text-decoration:underline;color:#2c5bf6;cursor:pointer}
.pop-ui .pop-field-message {margin:0;color:#2c5bf6;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:-.13px;margin-top:8px}
.pop-ui .pop-field-message.is-guide {color:#7e7e7e}

/* 보이는 문단이 없는 문구 컨테이너는 여백 제거 */
.pop-ui .pop-field-message:has(p):not(:has(p:not([style*="none"]))) {margin-top:0}

.pop-ui .pop-field.is-error .pop-field-message {color:#ed2024}
.pop-ui .pop-field.is-result input {border-color:#2c5bf6;color:#333}
.pop-ui .pop-field.is-result .pop-field-message {display:none}
.pop-ui .pop-field.is-result .pop-field-action {margin-bottom:-7px}
.pop-ui .pop-field-result {display:flex;align-items:stretch;width:100%;overflow:hidden;border:1px solid #2c5bf6;border-radius:4px;background:#fff;margin-top: 10px;}
.pop-ui .pop-field-result ul {min-width:0;max-height:216px;overflow-y:auto;flex:1;margin:0;padding:0;list-style:none}
.pop-ui .pop-field-result li {margin:0;padding:0}
.pop-ui .pop-field-result button {display:block;width:100%;height:36px;padding:6px 12px;border:0;background:#fff;color:#222;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:-.28px;text-align:left;cursor:pointer}
.pop-ui .pop-field-result li:first-child button,.pop-ui .pop-field-result button:hover {background:#f1f3f8}
.pop-ui .pop-field-result button span {color:#777;font-weight:400}
.pop-ui .pop-field-result ul::-webkit-scrollbar {width:12px;background:#fcfcfc}
.pop-ui .pop-field-result ul::-webkit-scrollbar-thumb {border:3px solid #fcfcfc;border-radius:100px;background:#7a7a7a}
/* // 입력 필드 검색과 결과 목록 */
.pop-ui .pop-consent-list {width:100%}
.pop-ui .pop-consent {width:100%}
.pop-ui .pop-consent .pop-privacy-content {display:none}
.pop-ui .pop-consent.is-open .pop-privacy-content {display:block}
/* .pop-ui.pop-write-layer:not(.is-write-mo) .pop-consent.is-open .pop-privacy-content {height:auto;overflow-y:visible} */
.pop-ui.pop-write-layer:not(.is-write-mo) .pop-consent.is-open .pop-privacy-content {height: 160px;overflow-y: auto;}
.pop-ui .pop-consent-content p+p {margin-top:18px}
.pop-ui .pop-consent.is-open .pop-privacy-button span svg,.pop-ui .pop-consent.is-open .pop-consent-more svg {transform:scaleY(-1)}
.pop-ui .pop-consent-head {display:flex;align-items:center;justify-content:space-between;width:calc(100% - 48px);min-height:38px;margin:20px 24px 0}
.pop-ui .pop-consent:nth-of-type(2) .pop-consent-head {margin:8px 24px 0}
.pop-ui .pop-consent-label {color:#333;font-size:14px;font-weight:500;line-height:20px}
.pop-ui .pop-consent-more {display:flex;align-items:center;gap:8px;height:38px;padding:0;border:0;background:#fff;color:#777;font-size:13px;font-weight:500;line-height:18px;cursor:pointer}
.pop-ui .pop-consent-more svg {display:block;width:12px;height:7px;flex:none}
.pop-ui .pop-privacy.is-open .pop-consent-more svg {transform:scaleY(-1)}

/* 요약 카드 : 신청·예약 레이어 상단의 대상 정보 카드. -top(배지 행)은 선택 사용
   -info 는 dl > div > dt+dd 구조를 지킵니다. dt 앞 가운뎃점은 CSS 가 넣습니다. */
.pop-ui .pop-summary-card {display:flex;flex-direction:column;gap:6px;width:calc(100% - 48px);min-height:134px;margin:24px 24px 0;padding:16px;border:1px solid #2c5bf6;border-radius:6px;background:#fff;box-sizing:border-box}
.pop-ui .pop-summary-card-top {display:flex;align-items:center;justify-content:space-between;width:100%;min-height:26px}
.pop-ui .pop-summary-card-title {display:block;color:#333;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:-.16px;word-break:keep-all}
.pop-ui .pop-summary-card-info {display:flex;flex-direction:column;gap:2px;margin:0;padding:0;color:#777;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:-.14px}
.pop-ui .pop-summary-card-info div {display:flex;align-items:center;gap:12px;min-height:20px}
.pop-ui .pop-summary-card-info dt {flex:0 0 auto;color:#555;font-weight:400}
.pop-ui .pop-summary-card-info dt:before {content:"\00b7  "}
.pop-ui .pop-summary-card-info dd {margin:0;white-space:normal}
/* // 요약 카드 */

/* 상태 배지 : 요약 카드 상단에서 신청 상태를 표시 */
.pop-ui .pop-badge {display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:25px;padding:2px 10px;border:0;border-radius:999px;background:#f0f0f0;color:#777;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:-.14px;white-space:nowrap}
.pop-ui .pop-badge.is-available {background:#e4efff;color:#2c5bf6}
.pop-ui .pop-badge.is-applied {border:1px solid #555;background:#fff;color:#555}
.pop-ui .pop-badge.is-closed {background:#f0f0f0;color:#777}
/* // 상태 배지 */

/* 선생님 배지 */
.pop-ui .pop-teacher-badge {display:inline-flex;align-items:center;justify-content:center;height:22px;padding:4px 5px;border:1px solid #777;border-radius:4px;background:#fff;color:#555;font-size:13px;font-weight:400;line-height:1;letter-spacing:-.325px;white-space:nowrap}
/* // 선생님 배지 */

/* 강조 안내 박스 : 작성·확인 레이어 상단 안내. 아이콘 span 은 선택 사용 */
.pop-ui .pop-callout {width:100%;padding:14px 16px;border-radius:8px;background:#f1f6ff;box-sizing:border-box;margin-bottom:20px;}
.pop-ui .pop-callout-txt {display:flex;align-items:flex-start;gap:16px;margin:0;color:#333;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:-.3px}
.pop-ui .pop-callout-ico {display:block;width:26px;height:24px;flex:none;background:no-repeat center/26px 24px url("data:image/png;base64,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")}
/* // 강조 안내 박스 */

/* 섹션 : 레이어 안의 소제목 + 설명
   board_common.css 의 .board-section-title 은 게시판 상세 페이지에서도 쓰므로 그대로 두고,
   레이어용으로 같은 값을 여기에 새로 정의합니다. 값을 바꿀 때는 양쪽을 함께 확인합니다.
   .pop-section-divider 는 레이어 안에서 영역을 크게 나눌 때 사용합니다. */
.pop-ui .pop-section {width:100%}
.pop-ui .pop-section.is-inset {padding:20px 24px 0}
.pop-ui .pop-section-divider {width:100%;height:8px;border:0;margin:0;background:#e5e7eb;opacity:.3}
.pop-ui .pop-section-title {display:block;color:#333;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:-.3px}
.pop-ui .pop-section-desc {margin:2px 0 0;color:#333;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:-.28px}
/* // 섹션 */

/* 보조 안내 문구 : 레이어 안의 · 불릿 안내. 문단마다 · 이 자동으로 붙습니다 */
.pop-ui .pop-note {width:100%;margin:10px 0 24px;padding:0 24px;box-sizing:border-box}
.pop-ui .pop-note p {position:relative;margin:0;padding-left:10px;color:#777;font-size:13px;font-weight:400;line-height:1.4;letter-spacing:-.26px}
.pop-ui .pop-note p:before {content:"\00b7";position:absolute;left:0;top:0}
/* // 보조 안내 문구 */

/* 빈 상태 박스 : 레이어 안 결과 없음 안내 (목록 페이지용 .board-empty 와 별개) */
.pop-ui .pop-empty-box {width:100%;margin-top:6px}
.pop-ui .pop-empty-box p {display:flex;align-items:center;justify-content:center;height:160px;margin:0;background:#f5f5f5;color:rgba(126,126,126,.3);font-size:15px;font-weight:600;line-height:1.4;letter-spacing:-.3px}
/* // 빈 상태 박스 */

/* 결과 카드 : 조회 결과 목록. -info(1차 정보) / -table(2차 정보) 2단 구성 */
.pop-ui .pop-result-list {display:flex;flex-direction:column;gap:12px;width:100%;margin-top:12px}
.pop-ui .pop-result-card {width:100%;padding:16px;border:1px solid #dbdee5;border-radius:6px;background:#fff;box-sizing:border-box}
.pop-ui .pop-result-card-title {display:block;margin:0 0 12px;color:#333;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:-.3px}
.pop-ui .pop-result-info {display:flex;flex-direction:column;gap:6px;margin:0;padding:0;color:#444;font-size:15px;line-height:1.6}
.pop-ui .pop-result-info div {display:flex;gap:10px}
.pop-ui .pop-result-info dt {flex:0 0 60px;font-weight:600}
.pop-ui .pop-result-info dt:before {content:"\00b7  "}
.pop-ui .pop-result-info dd {flex:1;min-width:0;margin:0;font-weight:500}
.pop-ui .pop-result-divider {height:1px;margin:16px 0 0;background:#7e7e7e}
.pop-ui .pop-result-table {display:flex;flex-direction:column;margin:16px 0 0;padding:0;border-top:1px solid #7e7e7e;color:#444;font-size:14px}
.pop-ui .pop-result-table div {display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #dbdee5}
.pop-ui .pop-result-table dt {flex:0 0 90px;font-weight:600}
.pop-ui .pop-result-table dd {flex:1;min-width:0;margin:0;font-weight:500;text-align:right}
.pop-ui .pop-result-card-cta {display:flex;justify-content:center;padding:16px 0 0}
.pop-ui .pop-result-cancel {min-width:206px;max-width:100%;height:42px;padding:0;border:0;border-radius:6px;background:#9aa3b2;color:#fff;font-size:14px;font-weight:600;cursor:pointer}
/* // 결과 카드 */

/* 버튼 포커스 표시
   레이어를 열 때 PopUI 가 initialFocus 대상(기본 .pop-write-close)으로 포커스를 옮깁니다.
   :focus-visible 상태는 프로그램적 포커스 이동 시 직전 요소에서 승계되므로,
   트리거가 포커스를 쥔 채 레이어가 열리면(iOS Safari 에서 a[href] 탭 등)
   닫기 버튼에 브라우저 기본 포커스 링이 그려집니다.
   기본 링은 끄고 키보드로 이동했을 때만 공통 스타일로 표시합니다.
   테두리 반경은 각 버튼의 값을 그대로 쓰도록 건드리지 않습니다. */
.pop-ui .pop-write-close:focus,
.pop-ui .pop-form-submit button:focus,
.pop-ui .pop-consent-more:focus,
.pop-ui .pop-consent-toggle:focus,
.pop-ui .pop-file-button:focus,
.pop-ui .pop-field-button:focus {outline:none}
.pop-ui .pop-form-submit button:focus-visible,
.pop-ui .pop-consent-more:focus-visible,
.pop-ui .pop-consent-toggle:focus-visible,
.pop-ui .pop-file-button:focus-visible,
.pop-ui .pop-field-button:focus-visible {outline:2px solid #2c5bf6;outline-offset:2px}

/* 닫기 버튼은 링을 표시하지 않습니다.
   레이어를 열 때마다 PopUI 가 이 버튼으로 포커스를 옮기므로 링이 이동 위치를 알려주지 못하고,
   iOS Safari 는 a[href] 트리거를 탭한 뒤의 프로그램적 포커스도 :focus-visible 로 판정해
   레이어를 열 때마다 테두리가 보입니다. 키보드 사용자는 레이어 안 다른 버튼에서 링을 보게 됩니다. */
.pop-ui .pop-write-close:focus-visible {outline:none}
/* // 버튼 포커스 표시 */

@media (max-width:767px) {
	.pop-ui.pop-layer {background:#fff}
	.pop-ui .pop-layer-panel {left:0;top:0;width:100%;max-width:none;height:var(--pop-vv-height,100vh);transform:translateY(var(--pop-vv-top,0px));border-radius:0}
	.pop-ui.pop-write-layer .pop-layer-dim {display:block;background:#fff}
	.pop-ui.pop-write-layer.is-write-mo .pop-layer-panel {height:100%;min-height:0;overflow:hidden}
	.pop-ui.pop-layer.is-fit-height.is-write-mo .pop-layer-panel {height:100%;max-height:none}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-shell {position:relative;display:flex;flex-direction:column;max-width:none;height:100%;min-height:0}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-head {position:relative;flex-shrink:0;height:50px;padding:12px 16px}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-head h1 {font-size:16px;line-height:22px;letter-spacing:-.32px}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-content {flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-guide {width:calc(100% - 32px);margin:16px 16px 0;padding:16px 24px}
	.pop-ui.pop-write-layer.is-write-mo .pop-guide-title {height:20px}
	.pop-ui.pop-write-layer.is-write-mo .pop-guide-title strong {font-size:14px;line-height:20px;letter-spacing:-.14px}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-guide>p {white-space:normal}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-fields {gap:24px;margin-top:16px;padding:0 16px}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-fields.is-flush {gap:0;padding:0 16px 28px}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-field>label {height:20px;font-size:14px;line-height:20px;letter-spacing:-.14px}
	.pop-ui.pop-write-layer.is-write-mo .pop-radio-group {gap:12px 20px}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-field input,.pop-ui.pop-write-layer.is-write-mo .pop-write-field select {height:38px;padding:0 12px;border-radius:4px}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-field select {padding-right:40px;background-position:right 12px center}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-field textarea {padding:12px;border-radius:4px}
	.pop-ui.pop-write-layer.is-write-mo .pop-email-row {gap:6px}
	.pop-ui.pop-write-layer.is-write-mo .pop-email-at {font-size:14px;line-height:38px}
	.pop-ui.pop-write-layer.is-write-mo .pop-file-button {width:85px;height:38px}
	.pop-ui.pop-write-layer.is-write-mo .pop-address-search {grid-template-columns:1fr 89px}
	.pop-ui.pop-write-layer.is-write-mo .pop-address-search button {height:38px}
	.pop-ui.pop-write-layer.is-write-mo .pop-privacy {margin-top:24px}
	.pop-ui.pop-write-layer.is-write-mo .pop-privacy h2 {height:44px;padding:12px 16px;font-size:16px;line-height:22px;letter-spacing:-.3px}
	.pop-ui.pop-write-layer.is-write-mo .pop-privacy-button {width:calc(100% - 32px);margin:20px 16px 0}
	.pop-ui.pop-write-layer.is-write-mo .pop-privacy-content {margin:0px 16px 0;padding:12px}
	.pop-ui.pop-write-layer.is-write-mo .pop-form-submit {position:relative;z-index:40;flex-shrink:0;margin:0;padding:16px 16px calc(28px + env(safe-area-inset-bottom, 0px));background:#fff}
	.pop-ui.pop-write-layer.is-write-mo .pop-form-submit button {width:100%;height:38px;font-size:14px;line-height:20px}
	.pop-ui.pop-write-layer.is-write-mo .pop-form-submit.is-split button {min-width:0;flex:1}
	.pop-ui.pop-write-layer.is-write-mo .pop-postcode {left:0;right:0;top:74px;width:100%;height:350px}
	.pop-ui.pop-write-layer.is-write-mo .pop-postcode-wrap {height:100%}
	.pop-ui.pop-write-layer.is-write-mo .pop-custom-select .select-btn {height:38px;padding:0 12px;border-radius:4px}
	.pop-ui.pop-write-layer.is-write-mo .pop-write-label {height:20px;font-size:14px;line-height:20px;letter-spacing:-.14px}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-button {width:92px;height:38px;border-radius:4px;font-size:14px;letter-spacing:-.28px}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-action.is-fixed-col {grid-template-columns:1fr auto}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-action.is-fixed-col .pop-field-status {margin-left:0;}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-action.is-fixed-col .pop-field-button {width:92px}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-action.is-fixed-col .pop-field-button.is-compact {width:85px}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-status {width:85px;padding-left:8px}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-button-desktop {display:none}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-button-mobile {display:inline}
	.pop-ui.pop-write-layer.is-write-mo .pop-field-message {font-size:12px;line-height:1.4;letter-spacing:0}
	.pop-ui.pop-write-layer.is-write-mo .pop-consent-head {width:calc(100% - 32px);margin:20px 16px 0}
	.pop-ui.pop-write-layer.is-write-mo .pop-consent:nth-of-type(2) .pop-consent-head {margin:8px 16px 0}
	.pop-ui .pop-summary-card {width:calc(100% - 32px);min-height:123px;margin:16px 16px 0}
	.pop-ui .pop-summary-card-title {font-size:14px;letter-spacing:-.14px}
	.pop-ui .pop-badge {min-width:62px;height:23px;padding:2px 8px;font-size:12px}
	.pop-ui.pop-write-layer.is-write-mo .pop-section.is-inset {padding:28px 16px 0}
	.pop-ui .pop-note {padding:0 16px}
}

/* ==================================================
	유형별 레이어 : 공통으로 해결할 수 없는 차이만 .pop-type-* 아래에 작성합니다
================================================== */
/* 입학 자료 신청 (.pop-type-application) */
.pop-ui.pop-type-application .pop-write-fields {margin-top:40px}
/* // 입학 자료 신청 */

/* 온라인 상담 (.pop-type-counsel) */
.pop-ui.pop-type-counsel .pop-content-editor {padding:10px;border:1px solid #ddd;border-radius:4px}
.pop-ui.pop-type-counsel .qna-hint {margin-bottom:8px;color:#999;font-size:13px;white-space:pre-wrap}
.pop-ui.pop-type-counsel .pop-content-textarea {padding:0;border:0;outline:0;color:#777}
.pop-ui.pop-type-counsel .qna-separator {padding:2px 0;color:#999;font-size:13px;user-select:none}
.pop-ui.pop-type-counsel .pop-privacy-content strong:nth-of-type(1) {margin-top:0}

@media (max-width:767px) {
	.pop-ui.pop-type-counsel.pop-write-layer.is-write-mo .pop-privacy-content {height:160px;overflow-y:auto}
}
/* // 온라인 상담 */

/* 대기신청 서비스 (.pop-type-waiting) */
.pop-ui.pop-type-waiting .pop-summary-card-info div:first-child dt {flex:0 0 50px}
.pop-ui.pop-type-waiting .pop-summary-card-info div:first-child dd {padding-left:9px}
.pop-ui.pop-type-waiting .pop-custom-select .select-btn {color:#858585}
.pop-ui.pop-type-waiting.pop-write-layer .chk-row {position:relative}
.pop-ui.pop-type-waiting.pop-write-layer .chk-row input {left:0;top:0;width:18px;height:18px;margin:0}

/* 대기신청 서비스 : MO 에서 딤 없이 전체 화면으로 사용 */
@media (max-width:767px) {
	.pop-ui.pop-type-waiting .pop-teacher-badge {height:21px;font-size:12px;letter-spacing:-.3px}
	.pop-ui.pop-type-waiting.pop-write-layer .pop-layer-dim {display:none}
	.pop-ui.pop-type-waiting.pop-write-layer .pop-layer-panel {left:0;top:0;width:100%;max-width:none;height:100%;max-height:none;transform:none;border-radius:0}
	.pop-ui.pop-type-waiting.pop-write-layer .pop-write-shell {height:100%;max-height:none}
	.pop-ui.pop-type-waiting.pop-write-layer .pop-write-head {height:50px;padding:11px 16px;border-bottom:1px solid #ebebeb}
	.pop-ui.pop-type-waiting.pop-write-layer .pop-write-head h1 {color:#333;font-size:16px;letter-spacing:-.32px}
	.pop-ui.pop-type-waiting.pop-write-layer .pop-form-submit {padding:16px 16px 28px}
	.pop-ui.pop-type-waiting.pop-write-layer .pop-form-confirm {width:158px;height:38px;border-radius:4px;font-size:14px;font-weight:500;letter-spacing:-.28px}
}
/* // 대기신청 서비스 */

/* 설명회 예약확인 팝업 */
@media (max-width:767px) {
	.pop-ui.pop-type-fair.check-layer .pop-form-submit button.reserve-pop {max-width: 161px;}
	.pop-ui.pop-type-fair.pop-write-layer.is-write-mo .pop-privacy-content {height:160px;overflow-y:auto}
}
/* // 설명회 예약확인 팝업 */

/* 입시설명회·공개특강 (.pop-type-fair) */
.pop-ui.pop-type-fair .pop-summary-card {gap:14px;min-height:0;padding:20px}
.pop-ui.pop-type-fair .pop-summary-card-title {font-size:18px;font-weight:600;letter-spacing:-.36px}
.pop-ui.pop-type-fair .pop-summary-card-info {gap:10px;font-size:15px}
.pop-ui.pop-type-fair .pop-summary-card-info dt {flex:0 0 60px;color:#333;font-weight:600}
.pop-ui.pop-type-fair .pop-summary-card-info dd {color:#333;font-weight:500;}

/* 예약하기 레이어 : dev JS 가 class 로 토글하는 상태 + fair 전용 byte 카운터 */
.pop-ui.pop-type-fair .pop-form-submit button.is-disabled {background:#9aa3b2;cursor:default}
.pop-ui.pop-type-fair .reserve-field__count {margin-top:6px;color:#7e7e7e;font-size:13px;text-align:right}

/* 인증번호 행·안내 문구 간격 */
.pop-ui.pop-type-fair .pop-write-fields>.is-fair-auth-row {margin-top:-12px}
.pop-ui.pop-type-fair .pop-write-fields>.is-fair-auth-msg {margin-top:-24px}

/* 예약 확인 레이어 타이포 */
.pop-ui.pop-type-fair.check-layer .pop-write-head h1 {font-size:18px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-callout-txt {font-size:15px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-write-field > label {font-size:15px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-write-field input {font-size:14px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-field-button {font-size:14px;text-align:center}
.pop-ui.pop-type-fair.check-layer .pop-field-status {font-size:14px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-field-message {font-size:13px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-section-title {font-size:15px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-section-desc {font-size:14px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-result-card-title {font-size:15px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-result-info {font-size:15px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-result-info dt {font-size:14px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-result-info dd {font-size:15px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-result-table dt,
.pop-ui.pop-type-fair.check-layer .pop-result-table dd {font-size:14px;text-align:left}
.pop-ui.pop-type-fair.check-layer .pop-result-cancel {display:block;margin:0 auto;font-size:15px;text-align:center}
.pop-ui.pop-type-fair.check-layer .pop-form-submit button {font-size:15px;text-align:center}
.pop-ui.pop-type-fair.check-layer .pop-empty-box p {font-size:15px;text-align:center}

@media screen and (min-width:768px) {
    .pop-ui.pop-type-fair.check-layer[data-check-state="result"] .pop-write-content {padding-bottom:28px}
}

@media screen and (max-width:767px) {
    .pop-ui.pop-type-fair.check-layer .pop-write-head h1 {font-size:16px;text-align:left}
    .pop-ui.pop-type-fair.check-layer .pop-callout-txt {font-size:14px;text-align:left}
    .pop-ui.pop-type-fair.check-layer .pop-write-field > label {font-size:14px;text-align:left}
    .pop-ui.pop-type-fair.check-layer .pop-write-field input {font-size:14px;text-align:left}
    .pop-ui.pop-type-fair.check-layer .pop-field-button {font-size:14px;text-align:center}
    .pop-ui.pop-type-fair.check-layer .pop-field-status {font-size:14px;text-align:left}
    .pop-ui.pop-type-fair.check-layer .pop-section-title {font-size:14px;text-align:left}
    .pop-ui.pop-type-fair.check-layer .pop-section-desc {font-size:14px;text-align:left}
    .pop-ui.pop-type-fair.check-layer .pop-result-card-title {font-size:16px;text-align:left}
    .pop-ui.pop-type-fair.check-layer .pop-result-cancel {font-size:14px;text-align:center}
    .pop-ui.pop-type-fair.check-layer .pop-form-submit button {font-size:14px;text-align:center}
    .pop-ui.pop-type-fair.check-layer .pop-empty-box p {font-size:14px;text-align:center}
    /* fair summary card : MO */
    .pop-ui.pop-type-fair .pop-summary-card {gap:16px;min-height:146px;padding:16px;border-radius:8px}
    .pop-ui.pop-type-fair .pop-summary-card-title {font-size:16px;font-weight:600;letter-spacing:-.32px}
    .pop-ui.pop-type-fair .pop-summary-card-info {gap:8px;color:#333;font-size:14px;font-weight:400;letter-spacing:-.28px}
    .pop-ui.pop-type-fair .pop-summary-card-info div {align-items:flex-start;gap:0}
    .pop-ui.pop-type-fair .pop-summary-card-info dt {flex:0 0 60px;color:#333;font-weight:600}
    .pop-ui.pop-type-fair .pop-summary-card-info dd {color:#333;font-weight:400}

	.pop-ui.pop-type-fair.check-layer .pop-field-message {font-size:12px;text-align:left}

}
/* // 입시설명회·공개특강 */

/* ==================================================
	단독 팝업 창 (.pop-layer 가 없는 window.open 페이지)
================================================== */
/* 레이어는 .pop-layer-panel 이 높이를 확정해 머리 영역이 고정되고 본문만 스크롤됩니다.
   단독 창에는 패널이 없으므로 루트에 화면 높이를 주어 같은 구조를 만듭니다. */
.pop-ui.pop-write-layer:not(.pop-layer) {height:100vh;height:100dvh;overflow:hidden;overflow:clip}
.pop-ui.pop-write-layer:not(.pop-layer) .pop-write-shell {height:100%;min-height:0;max-width: unset;}
.pop-ui.pop-write-layer:not(.pop-layer) .pop-write-content {flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}



/* SMS alarm standalone popup (.pop-type-alarm) */
.pop-ui.pop-type-alarm .pop-write-shell {max-width:none}
.pop-ui.pop-type-alarm .pop-alarm-summary {padding:0 24px; margin-top: 16px;}
.pop-ui.pop-type-alarm .pop-alarm-summary-inner {padding:20px;border:1px solid #2c5bf6;border-radius:6px;background:#fff}
.pop-ui.pop-type-alarm .pop-alarm-summary-title {margin:0 0 10px;color:#2c5bf6;font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.36px}
.pop-ui.pop-type-alarm .pop-alarm-summary-desc {margin:0;color:#333;font-size:15px;line-height:1.55;letter-spacing:-.15px}
.pop-ui.pop-type-alarm .pop-alarm-check-group {gap:32px;padding:0}
.pop-ui.pop-type-alarm .pop-alarm-school-type {justify-content:flex-start;margin:0 0 8px;padding:0}
.pop-ui.pop-type-alarm .pop-write-label .pop-alarm-sub,.pop-ui.pop-type-alarm .pop-write-label .alarm-sub {margin-left:4px;color:#ed2024;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:-.28px}
.pop-ui.pop-type-alarm .pop-underline,.pop-ui.pop-type-alarm .undline {text-decoration:underline}
.pop-ui.pop-type-alarm .pop-write-label .req,.pop-ui.pop-type-alarm .pop-alarm-section-title .req {color:#ed2024;font-style:normal;font-weight:600}
.pop-ui.pop-type-alarm .pop-address-field .pop-postcode {left:0;right:0;width:auto}
.pop-ui.pop-type-alarm .pop-alarm-campus {margin-top:14px}
.pop-ui.pop-type-alarm .pop-alarm-section-title {margin-bottom:20px;padding:8px 24px;background:#f1f3f8;color:#333;font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.36px}
.pop-ui.pop-type-alarm .pop-alarm-section-title .pop-alarm-sub,.pop-ui.pop-type-alarm .pop-alarm-section-title .alarm-sub {margin-left:4px;color:#ed2024;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:-.28px}
.pop-ui.pop-type-alarm .pop-alarm-campus-group {margin-top:0;padding:0 24px}
.pop-ui.pop-type-alarm .pop-alarm-campus-group+.pop-alarm-campus-group {margin-top:20px}
.pop-ui.pop-type-alarm .pop-alarm-campus-label {margin:0 0 10px;color:#333;font-size:13px;font-weight:600;line-height:18px}
.pop-ui.pop-type-alarm .pop-alarm-campus-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px 14px}
.pop-ui.pop-type-alarm .pop-alarm-campus-grid.is-wide {grid-template-columns:repeat(4,minmax(0,1fr))}
.pop-ui.pop-type-alarm .pop-check {position:relative;display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer;user-select:none}
.pop-ui.pop-type-alarm .pop-check input {position:absolute;opacity:0;pointer-events:none}
.pop-ui.pop-type-alarm .pop-check-ui {position:relative;display:inline-block;width:22px;height:22px;flex:0 0 22px;border:1px solid #cfd5dc;border-radius:4px;background:#fff;box-sizing:border-box}
.pop-ui.pop-type-alarm .pop-check input:checked+.pop-check-ui {border-color:#2c5bf6;background:#2c5bf6}
.pop-ui.pop-type-alarm .pop-check input:checked+.pop-check-ui:after {content:"";position:absolute;left:50%;top:50%;width:7px;height:12px;border:2px solid #fff;border-top:0;border-left:0;transform:translate(-50%,-55%) rotate(45deg);box-sizing:border-box}
.pop-ui.pop-type-alarm .pop-check input:focus-visible+.pop-check-ui {box-shadow:0 0 0 3px rgba(44,91,246,.18)}
.pop-ui.pop-type-alarm .pop-check-text {min-width:0;color:#333;font-size:13px;font-weight:600;line-height:1.5;word-break:keep-all;cursor:pointer}
.pop-ui.pop-type-alarm .pop-check-text small{font-size:11px;color:#555;}
.pop-ui.pop-type-alarm .pop-privacy {margin-top:14px}
.pop-ui.pop-type-alarm .pop-privacy h2 {height:auto;margin-bottom:20px;padding:8px 24px;line-height:1.4}
.pop-ui.pop-type-alarm .pop-consent-head {margin:0 24px}
.pop-ui.pop-type-alarm .pop-consent.is-open .pop-privacy-content {height:168px;overflow-y:auto}

@media (min-width:768px) and (max-width:1199px) {
	.pop-ui.pop-type-alarm .pop-alarm-campus-grid {grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
	.pop-ui.pop-type-alarm .pop-alarm-campus-grid.is-wide {grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}

@media (max-width:767px) {
	.pop-ui.pop-type-alarm .pop-write-head {padding:18px 16px 0}
	.pop-ui.pop-type-alarm .pop-alarm-summary {padding:0 16px}
	.pop-ui.pop-type-alarm .pop-alarm-summary-title {font-size:16px;letter-spacing:-.32px}
	.pop-ui.pop-type-alarm .pop-alarm-summary-desc {font-size:14px;letter-spacing:-.14px}
	.pop-ui.pop-type-alarm .pop-alarm-campus-group {padding-right:16px;padding-left:16px}
	.pop-ui.pop-type-alarm .pop-alarm-campus-grid {grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px 12px}
	.pop-ui.pop-type-alarm .pop-alarm-campus-grid.is-wide {grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
}

@media (max-width:420px) {
	.pop-ui.pop-type-alarm .pop-alarm-campus-grid.is-wide {grid-template-columns:1fr}
}
/* // SMS alarm standalone popup */
/* Student certification layers (.pop-type-student-cert) */
.pop-ui.pop-type-student-cert .pop-layer-panel {width:768px;max-height:90vh}
.pop-ui.pop-type-student-cert .pop-layer-dim {background:rgba(0,0,0,.6)}
.pop-ui.pop-type-student-cert .pop-write-shell {max-width:none}
.pop-ui.pop-type-student-cert .pop-write-close {transition:opacity .2s}
.pop-ui.pop-type-student-cert .pop-write-close:hover {opacity:.7}
.pop-ui.pop-type-student-cert .pop-cert__head {padding:20px 24px;border-bottom:1px solid #ededed}
.pop-ui.pop-type-student-cert .pop-write-title {color:#333;font-size:18px;font-weight:600;line-height:1.4}
.pop-ui.pop-type-student-cert .pop-cert__body {margin-bottom:1px;padding:20px 24px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
.pop-ui.pop-type-student-cert .pop-cert__body::-webkit-scrollbar {display:none}
.pop-ui.pop-type-student-cert .pop-cert__container {display:flex;flex-direction:column;gap:24px;scrollbar-width:none;-ms-overflow-style:none}
.pop-ui.pop-type-student-cert .pop-cert__container::-webkit-scrollbar {display:none}
.pop-ui.pop-type-student-cert .pop-cert__container .pop-content {display:flex;flex-direction:column;gap:12px}
.pop-ui.pop-type-student-cert .pop-cert__container .pop-content h3 {color:#333;font-size:16px;font-weight:600}
.pop-ui.pop-type-student-cert .pop-cert__container .pop-content h3 em {color:#2c5bf6}
.pop-ui.pop-type-student-cert .pop-cert__container .scroll {height:168px;padding:4px;border:1px solid #dbdee5;border-radius:8px;overflow:hidden}
.pop-ui.pop-type-student-cert .pop-cert__container .scroll .inner {height:100%;padding:8px;color:#777;font-size:13px;line-height:1.3;overflow:auto}
.pop-ui.pop-type-student-cert .pop-cert__container .scroll .inner::-webkit-scrollbar {width:4px}
.pop-ui.pop-type-student-cert .pop-cert__container .scroll .inner::-webkit-scrollbar-track {background:#dbdee5}
.pop-ui.pop-type-student-cert .pop-cert__container .scroll .inner::-webkit-scrollbar-thumb {height:68px;border-radius:99px;background:#555}
.pop-ui.pop-type-student-cert .pop-cert__container .input-group {display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;border:1px solid #dbdee5;border-radius:8px;color:#333;letter-spacing:-.16px}
.pop-ui.pop-type-student-cert .pop-cert__container .input-box {display:flex;align-items:center}
.pop-ui.pop-type-student-cert .pop-cert__container .input-box label {min-width:79px}
.pop-ui.pop-type-student-cert .pop-cert__container .input-box input {min-width:200px;height:42px;padding:0 18px;border:1px solid #dbdee5;border-radius:6px}
.pop-ui.pop-type-student-cert .pop-cert .btn-primary {width:200px;margin:0 auto;color:#fff;font-size:15px;text-align:center}
.pop-ui.pop-type-student-cert .pop-cert-body {padding:24px;text-align:center}
.pop-ui.pop-type-student-cert .pop-cert-body .pop-content .text-group {display:flex;align-items:center;justify-content:center;height:120px;margin-bottom:12px;border:1px solid #dbdee5;border-radius:8px}
.pop-ui.pop-type-student-cert .pop-cert-body .pop-content .text-group em {color:#2c5bf6}
.pop-ui.pop-type-student-cert .pop-cert__desc {color:#ed2024;font-size:15px;line-height:1.4}
.pop-ui.pop-type-student-cert .pop-cert__steps {display:flex;flex-direction:column;gap:24px}
.pop-ui.pop-type-student-cert .pop-cert__step {display:flex;flex-direction:column;gap:24px}
.pop-ui.pop-type-student-cert .pop-cert__step-title {padding:8px;border-radius:8px;background:#f1f3f8;color:#333;font-size:15px;font-weight:600;line-height:1.4}
.pop-ui.pop-type-student-cert .pop-cert__step-title .highlight {color:#ed2024}
.pop-ui.pop-type-student-cert .pop-cert__step-img img {display:block;width:100%}

@media (max-width:767px) {
	.pop-ui.pop-type-student-cert .pop-layer-panel {width:100%;max-width:none;max-height:100dvh;border-radius:0}
	.pop-ui.pop-type-student-cert .pop-write-close {width:15px;height:15px}
	.pop-ui.pop-type-student-cert .pop-write-close svg {width:15px;height:15px}
	.pop-ui.pop-type-student-cert .pop-write-title {font-size:16px}
	.pop-ui.pop-type-student-cert .pop-cert__head {padding:12px 16px}
	.pop-ui.pop-type-student-cert .pop-cert__body {padding:16px}
	.pop-ui.pop-type-student-cert .pop-cert__container {gap:16px}
	.pop-ui.pop-type-student-cert .pop-cert__container .input-group {padding:20px 12px;font-size:14px}
	.pop-ui.pop-type-student-cert .pop-cert__container .input-box label {min-width:64px}
	.pop-ui.pop-type-student-cert .pop-cert__container .input-box input {width:160px;min-width:0; font-size: 14px;}
	.pop-ui.pop-type-student-cert .pop-cert .btn-primary {width:160px;font-size:14px}
	.pop-ui.pop-type-student-cert .pop-cert__desc {font-size:14px}
	.pop-ui.pop-type-student-cert .pop-cert__steps {gap:20px}
	.pop-ui.pop-type-student-cert .pop-cert__step {gap:16px}
	.pop-ui.pop-type-student-cert .pop-cert-body {padding:16px}
	.pop-ui.pop-type-student-cert .pop-cert-body .pop-content .text-group {font-size:14px}
}
/* // Student certification layers */
/* Visit consultation layers (.pop-type-visit)
   공통 pop-* 골격을 우선 사용하고 방문상담 고유 안내·조회 영역만 보정합니다. */
.pop-ui.pop-type-visit .pop-write-content {padding:0}
.pop-ui.pop-type-visit .pop-callout {display:flex;align-items:flex-start;gap:8px;width:calc(100% - 48px);margin:24px 24px 0;padding:16px 24px;background:#f8f8f8}
.pop-ui.pop-type-visit .pop-callout-txt {display:flex;flex-direction:column;gap:8px;width:calc(100% - 28px);font-size:15px}
.pop-ui.pop-type-visit .pop-callout-txt p {margin:0;font-weight:600}
.pop-ui.pop-type-visit .pop-callout-txt span {color:#777;font-size:13px;font-weight:400}
.pop-ui.pop-type-visit .pop-write-fields {gap:24px;margin-top:24px;padding:0 24px}
.pop-ui.pop-type-visit .pop-field-action.is-auth-code {margin-top:12px}
.pop-ui.pop-type-visit .pop-field-body.is-split {display:flex;gap:8px}
.pop-ui.pop-type-visit .pop-field-body.is-split .pop-custom-select {flex:1;min-width:0}
.pop-ui.pop-type-visit .note {display:block;margin-top:8px;color:#7e7e7e;font-size:13px;line-height:1.3}
.pop-ui.pop-type-visit .pop-visit-result-section {margin-top:24px;padding:20px 24px 0;border-top:8px solid #f5f6f8}
.pop-ui.pop-type-visit-check .pop-section-desc {margin-top:12px;color:#777;font-size:14px;letter-spacing:-.14px}
.pop-ui.pop-type-visit .info-groups {margin-top:12px;padding:24px 16px;border:1px solid #dbdee5;border-radius:6px}
.pop-ui.pop-type-visit-check .info-groups .info {margin:0;color:#333}
.pop-ui.pop-type-visit-check .info-groups .info+.info {margin-top:24px}
.pop-ui.pop-type-visit-check .info-groups .info dt {padding-bottom:8px;border-bottom:1px solid #7e7e7e;font-size:18px;font-weight:600;line-height:1.4}
.pop-ui.pop-type-visit-check .info-groups .info dd {margin:0}
.pop-ui.pop-type-visit-check .info-table {width:100%;border-spacing:0;border-collapse:collapse;font-size:15px;line-height:1.4;letter-spacing:-.15px}
.pop-ui.pop-type-visit-check .info-table th,.pop-ui.pop-type-visit-check .info-table td {padding:8px 0;border-bottom:1px solid #dbdee5; word-wrap: break-word;}
.pop-ui.pop-type-visit-check .info-table th {width:130px;font-weight:400;text-align:left;vertical-align:top}
.pop-ui.pop-type-visit-check .info-table td {padding-left:10px}
.pop-ui.pop-type-visit .nolist-msg {color:#777}
.pop-ui.pop-type-visit.pop-write-layer.is-write-mo .pop-callout {width:calc(100% - 32px);margin:16px 16px 0;padding:16px 24px}
.pop-ui.pop-type-visit.pop-write-layer.is-write-mo .pop-callout-txt {font-size:14px}
.pop-ui.pop-type-visit.pop-write-layer.is-write-mo .pop-write-fields {margin-top:16px;padding:0 16px}
.pop-ui.pop-type-visit.pop-write-layer.is-write-mo .pop-visit-result-section {padding:20px 16px 0}
.pop-ui.pop-type-visit-check.is-write-mo .pop-section-desc {margin-top:8px;font-size:13px}
.pop-ui.pop-type-visit.pop-write-layer.is-write-mo .info-groups {padding:20px 16px}
.pop-ui.pop-type-visit-check.is-write-mo .info-groups .info+.info {margin-top:20px}
.pop-ui.pop-type-visit-check.is-write-mo .info-groups .info dt {font-size:16px}
.pop-ui.pop-type-visit-check.is-write-mo .info-table {font-size:14px}
.pop-ui.pop-type-visit-check.is-write-mo .info-table th,.pop-ui.pop-type-visit-check.is-write-mo .info-table td {padding:9px 0}
.pop-ui.pop-type-visit-check.is-write-mo .info-table td {padding-left:0}

