/* ==========================================================================
   강원희국어학원 – 강사 전용 자료실
   목록(보드) · 자료 등록/수정 · 게시글 · 열람종료 알림창

   ※ 색과 모양은 공지사항 / 입시정보 페이지와 똑같이 맞춰 두었습니다.
   ※ 이 파일만 고치면 네 화면이 한꺼번에 바뀝니다.
   ========================================================================== */

.kwh-t{
  --kwt-navy:#062745;
  --kwt-gold:#dfa93b;
  --kwt-ink:#1a1f27;
  --kwt-gray:#6e6e6e;
  --kwt-sub:#8b95a1;
  --kwt-line:#dcdfe4;
  --kwt-soft:#f5f6f7;
  --kwt-red:#d63a3a;
  --kwt-max:1220px;

  width:100%;
  color:var(--kwt-ink);
  font-family:Pretendard,"Noto Sans KR","Malgun Gothic",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  letter-spacing:-.025em;
  word-break:keep-all;
}
.kwh-t *{box-sizing:border-box}
.kwh-t a{text-decoration:none;color:inherit}

/* 아바다 컨테이너 여백 없애기 (제목 블록과 붙여 놓기) */
.fusion-fullwidth:has(.kwh-t){
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.fusion-layout-column:has(.kwh-t){
  margin-top:0 !important;
  margin-bottom:0 !important;
}


/* --------------------------------------------------------------
   0. 아바다 기본 게시글 장식 숨기기
      (자료실 글은 이 코드가 직접 그립니다)
   -------------------------------------------------------------- */
body.kwh-teacher-material .fusion-page-title-bar,
body.kwh-teacher-material .single-navigation,
body.kwh-teacher-material .related-posts,
body.kwh-teacher-material .fusion-related-posts,
body.kwh-teacher-material .about-author,
body.kwh-teacher-material .fusion-meta-info,
body.kwh-teacher-material .fusion-sharing-box,
body.kwh-teacher-material .fusion-pagination-tb,
body.kwh-teacher-material .fusion-post-cards-nav,
body.kwh-teacher-material .comments-container,
body.kwh-teacher-material #comments,
body.kwh-teacher-material #respond{
  display:none !important;
}

/* --------------------------------------------------------------
   0-1. 공지사항용 게시글 코드(board.js)가 그린 것 지우기

   아바다 Options 의 </head> 칸에 아직 옛 코드가 들어 있어도
   자료실 글에는 [목록으로] · [글쓰기] · 가운데 제목이 나오지 않게 합니다.
   (teacher.js 가 아예 지워 주지만, 자바스크립트가 돌기 전에도 안 보이게)
   -------------------------------------------------------------- */
body.kwh-teacher-material .kwb-head,
body.kwh-teacher-material .kwb-hero,
body.kwh-teacher-material .kwb-foot,
body.kwh-teacher-material .kwb-admin,
body.kwh-teacher-material .kwb-more,
body.kwh-teacher-material .kwb-list-btn{
  display:none !important;
}
html.kwb-pre body.kwh-teacher-material .post-content,
body.kwh-teacher-material .post-content{
  visibility:visible !important;
}


/* --------------------------------------------------------------
   1. 상단 큰 제목 (입시정보 · 공지사항과 같은 모양)
   -------------------------------------------------------------- */
.kwh-t .kwh-t-head{
  position:relative;
  padding:100px 20px 20px;
  background:#fff;
  text-align:center;
}
.kwh-t .kwh-t-head-inner{
  position:relative;
  width:100%;
  max-width:var(--kwt-max);
  margin:0 auto;
}
.kwh-t .kwh-t-title{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px;
  margin:0 !important;
  padding:0 !important;
  color:var(--kwt-ink) !important;
  font-size:34px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:-.035em !important;
}
.kwh-t .kwh-t-title-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  color:var(--kwt-gold);
}
.kwh-t .kwh-t-title-icon svg{
  display:block;
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.kwh-t .kwh-t-lead{
  margin:14px 0 0;
  font-size:15px;
  color:var(--kwt-sub);
  line-height:1.6;
}

/* 제목 오른쪽 [＋ 자료 등록] 단추 (큰 제목 줄에 맞춰 놓습니다) */
.kwh-t .kwh-t-add{
  position:absolute;
  right:0;
  top:1px;
}
.kwh-t .kwh-t-add-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:42px;
  padding:0 18px;
  border-radius:999px;
  background:var(--kwt-navy);
  color:#fff !important;
  font-size:14px;
  font-weight:700;
  line-height:1;
  box-shadow:0 4px 12px rgba(6,39,69,.25);
  transition:background-color .2s;
}
.kwh-t .kwh-t-add-btn:hover{background:#0a3a63}
.kwh-t .kwh-t-add-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}


/* --------------------------------------------------------------
   2. 관별 분류 단추 (공지사항 탭과 똑같은 하얀 알약 상자)
   -------------------------------------------------------------- */
.kwh-t .kwh-t-inner{
  width:100%;
  max-width:var(--kwt-max);
  margin:0 auto;
  padding:14px 20px 90px;
}

.kwh-t .kwh-t-tabs{
  display:flex;
  flex-flow:row nowrap;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:100%;
  margin:0 auto 28px;
  padding:6px;
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:999px;
  box-shadow:0 6px 20px rgba(6,39,69,.07);
}
.kwh-t .kwh-t-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1 1 0;
  min-width:0;
  height:46px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--kwt-gray);
  font:inherit;
  font-size:14px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.28px;
  white-space:nowrap;
  cursor:pointer;
  transition:background-color .25s,color .25s,box-shadow .25s;
}
.kwh-t .kwh-t-tab:hover{color:var(--kwt-navy)}
.kwh-t .kwh-t-tab.is-on{
  background:var(--kwt-navy);
  color:#fff;
  box-shadow:0 4px 12px rgba(6,39,69,.25);
}
.kwh-t .kwh-t-tab:focus-visible{outline:2px solid var(--kwt-gold);outline-offset:2px}


/* --------------------------------------------------------------
   3. 검색 칸 (글 목록 아래에 놓입니다)
   -------------------------------------------------------------- */
.kwh-t .kwh-t-search{
  display:flex;
  justify-content:center;
  margin:40px 0 0;
}
.kwh-t .kwh-t-search-form{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  max-width:620px;
}
.kwh-t .kwh-t-search-input{
  flex:1 1 auto;
  min-width:0;
  height:48px;
  padding:0 16px;
  font:inherit;
  font-size:15px;
  color:var(--kwt-ink);
  background:#fff;
  border:1px solid var(--kwt-line);
  border-radius:10px;
}
.kwh-t .kwh-t-search-input::placeholder{color:var(--kwt-sub)}
.kwh-t .kwh-t-search-input:focus{
  outline:none;
  border-color:var(--kwt-navy);
  box-shadow:0 0 0 3px rgba(6,39,69,.08);
}
.kwh-t .kwh-t-search-button{
  flex:0 0 auto;
  height:48px;
  padding:0 26px;
  font:inherit;
  font-size:15px;
  font-weight:700;
  color:#fff;
  background:var(--kwt-navy);
  border:0;
  border-radius:10px;
  cursor:pointer;
}
.kwh-t .kwh-t-search-button:hover{background:#0a3a63}
.kwh-t .kwh-t-search-reset{
  flex:0 0 auto;
  height:48px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  font-size:14px;
  color:var(--kwt-sub);
}
.kwh-t .kwh-t-search-reset:hover{color:var(--kwt-navy)}


/* --------------------------------------------------------------
   4. 게시판 (보드)
   -------------------------------------------------------------- */
.kwh-t .kwh-t-table{
  width:100%;
  border-top:2px solid var(--kwt-navy);
}
.kwh-t .kwh-t-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px 130px 150px;
  align-items:center;
  gap:14px;
  padding:18px 14px;
  border-bottom:1px solid #eceef1;
}
.kwh-t .kwh-t-row-head{
  padding:15px 14px;
  background:var(--kwt-soft);
  border-bottom:1px solid #e2e5e9;
}
.kwh-t .kwh-t-row:not(.kwh-t-row-head):hover{background:#fafbfc}

.kwh-t .kwh-t-cell-title{min-width:0;font-size:16px;font-weight:600;line-height:1.5}
.kwh-t .kwh-t-cell-title a{color:var(--kwt-ink)}
.kwh-t .kwh-t-cell-title a:hover{color:var(--kwt-navy);text-decoration:underline}
.kwh-t .kwh-t-cell-author,
.kwh-t .kwh-t-cell-date{font-size:14px;color:var(--kwt-gray);text-align:center}
.kwh-t .kwh-t-cell-expire{font-size:14px;font-weight:600;color:var(--kwt-red);text-align:center}
.kwh-t .kwh-t-cell-expire.is-free{color:var(--kwt-sub);font-weight:500}
.kwh-t .kwh-t-row-head .kwh-t-cell-title,
.kwh-t .kwh-t-row-head .kwh-t-cell-author,
.kwh-t .kwh-t-row-head .kwh-t-cell-date{
  font-size:14px;font-weight:700;color:#3b4859;
}
.kwh-t .kwh-t-row-head .kwh-t-cell-expire{font-size:14px;font-weight:700;color:var(--kwt-red)}

/* 제목 앞 작은 이름표 (관 · 학년 · 첨부) */
.kwh-t .kwh-t-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-bottom:6px;
}
.kwh-t .kwh-t-tag{
  display:inline-flex;
  align-items:center;
  height:22px;
  padding:0 8px;
  border-radius:6px;
  background:var(--kwt-soft);
  color:var(--kwt-gray);
  font-size:12px;
  font-weight:600;
  letter-spacing:-.02em;
}
.kwh-t .kwh-t-tag.is-branch{background:rgba(6,39,69,.07);color:var(--kwt-navy)}
.kwh-t .kwh-t-tag.is-grade{background:rgba(223,169,59,.16);color:#a9761c}
.kwh-t .kwh-t-tag.is-file{background:#eef3f8;color:#3b6c9e}

/* 제목 밑 한 줄 정보 — 휴대폰에서만 씁니다 */
.kwh-t .kwh-t-meta-line{display:none}

/* 페이지 번호 */
.kwh-t .kwh-t-pager{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin:30px 0 0;
}
.kwh-t .kwh-t-pager .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 12px;
  border:1px solid var(--kwt-line);
  border-radius:9px;
  background:#fff;
  color:var(--kwt-gray);
  font-size:14px;
  font-weight:600;
}
.kwh-t .kwh-t-pager .page-numbers:hover{color:var(--kwt-navy);border-color:#c3cbd4}
.kwh-t .kwh-t-pager .page-numbers.current{
  background:var(--kwt-navy);
  border-color:var(--kwt-navy);
  color:#fff;
}
.kwh-t .kwh-t-pager .page-numbers.dots{border-color:transparent;background:transparent}

.kwh-t .kwh-t-empty{
  padding:70px 20px;
  text-align:center;
  font-size:15px;
  color:var(--kwt-sub);
  border-bottom:1px solid #eceef1;
}

/* 안내문 (로그인 · 권한 없음) */
.kwh-t .kwh-t-message{
  max-width:720px;
  margin:110px auto 90px;
  padding:50px 30px;
  text-align:center;
  font-size:16px;
  color:var(--kwt-gray);
  background:#fff;
  border:1px solid #e9ecef;
  border-radius:16px;
}
.kwh-t .kwh-t-message strong{display:block;margin:0 0 10px;font-size:19px;color:#3b4859}
.kwh-t .kwh-t-message a{color:var(--kwt-navy);font-weight:700;text-decoration:underline}


/* --------------------------------------------------------------
   5. 자료 등록 / 수정 폼
   -------------------------------------------------------------- */
.kwh-t .kwh-t-form-wrap{
  max-width:900px;
  margin:0 auto;
  padding:60px 20px 80px;
}
.kwh-t .kwh-t-form-title{
  margin:0 0 8px !important;
  font-size:30px !important;
  font-weight:800 !important;
  color:var(--kwt-ink) !important;
  line-height:1.3 !important;
  letter-spacing:-.025em;
}
.kwh-t .kwh-t-form-sub{
  margin:0 0 28px;
  padding-bottom:26px;
  border-bottom:1px solid #e5e8eb;
  font-size:15px;
  color:var(--kwt-sub);
}
.kwh-t .kwh-t-field{margin:0 0 26px}
.kwh-t .kwh-t-field > label{
  display:block;
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  color:var(--kwt-ink);
}
.kwh-t .kwh-t-field > label span{color:var(--kwt-red)}
.kwh-t .kwh-t-help{margin:10px 2px 0;font-size:13px;color:var(--kwt-sub);line-height:1.6}

.kwh-t .kwh-t-field input[type=text],
.kwh-t .kwh-t-field input[type=url],
.kwh-t .kwh-t-field select{
  width:100%;
  height:50px;
  padding:0 15px;
  font:inherit;
  font-size:16px;
  color:var(--kwt-ink);
  background:#fff;
  border:1px solid #d8dde3;
  border-radius:10px;
}
.kwh-t .kwh-t-field select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-color:#fff;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%238b95a1%22 stroke-width=%222.4%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M6 9l6 6 6-6%22/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:18px;
}
.kwh-t .kwh-t-field input:focus,
.kwh-t .kwh-t-field select:focus{
  outline:none;border-color:var(--kwt-navy);box-shadow:0 0 0 3px rgba(6,39,69,.08);
}
.kwh-t .kwh-t-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* 에디터 */
.kwh-t .kwh-t-editor .wp-editor-container{border:1px solid #d8dde3;border-radius:0 0 10px 10px}
.kwh-t .kwh-t-editor .wp-editor-tools{
  border:1px solid #d8dde3;border-bottom:0;border-radius:10px 10px 0 0;
  padding:8px 8px 0;background:#f7f8fa;margin-bottom:0;
}

/* 늘렸다 줄였다 하는 칸 (강의 영상 · 파일 첨부 · 파일 주소 공통) */
.kwh-t .kwh-t-rep{
  position:relative;
  margin:0 0 12px;
  padding:16px;
  background:var(--kwt-soft);
  border:1px solid #e6e8ec;
  border-radius:12px;
}
.kwh-t .kwh-t-row-no{
  margin:0 0 10px;
  font-size:13px;
  font-weight:700;
  color:var(--kwt-navy);
}
.kwh-t .kwh-t-rep input[type=text],
.kwh-t .kwh-t-rep input[type=url]{margin:0 0 8px;background:#fff !important}
.kwh-t .kwh-t-rep input:last-of-type{margin-bottom:0}
.kwh-t .kwh-t-rep input[type=file]{
  display:block;width:100%;
  font:inherit;font-size:14px;color:var(--kwt-gray);
}
.kwh-t .kwh-t-row-del{
  position:absolute;top:12px;right:12px;
  height:30px;padding:0 12px;
  font:inherit;font-size:12px;font-weight:600;
  color:var(--kwt-gray);background:#fff;
  border:1px solid var(--kwt-line);border-radius:999px;cursor:pointer;
}
.kwh-t .kwh-t-row-del:hover{color:var(--kwt-red);border-color:#f0d5d5}
.kwh-t .kwh-t-video-add{
  width:100%;height:46px;
  font:inherit;font-size:14px;font-weight:700;
  color:var(--kwt-navy);background:#fff;
  border:1px dashed #c3cbd4;border-radius:10px;cursor:pointer;
}
.kwh-t .kwh-t-video-add:hover{background:#f7f9fb}

/* 라벨 옆 작은 설명 */
.kwh-t .kwh-t-field > label .kwh-t-opt{
  color:var(--kwt-sub);font-weight:500;font-size:13px;letter-spacing:0;
}

/* 이미 올려 둔 파일 */
.kwh-t .kwh-t-file-old{margin:0 0 12px;padding:0;list-style:none}
.kwh-t .kwh-t-file-old li{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;margin:0 0 8px;
  background:#fff;border:1px solid #e6e8ec;border-radius:10px;
  font-size:14px;
}
.kwh-t .kwh-t-file-old .kwh-t-file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kwh-t .kwh-t-file-old .kwh-t-file-size{flex:0 0 auto;color:var(--kwt-sub);font-size:13px}
.kwh-t .kwh-t-file-old label{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;
  font-size:13px;color:var(--kwt-red);cursor:pointer;
}

/* 열람 기간 */
.kwh-t .kwh-t-expire{display:flex;flex-wrap:wrap;gap:8px}
.kwh-t .kwh-t-expire label{
  flex:1 1 0;min-width:110px;
  display:flex;align-items:center;justify-content:center;gap:7px;
  height:50px;padding:0 10px;
  background:#fff;border:1px solid #d8dde3;border-radius:10px;
  font-size:15px;font-weight:600;color:var(--kwt-gray);cursor:pointer;
  transition:border-color .2s,color .2s,background-color .2s;
}
.kwh-t .kwh-t-expire label:has(input:checked){
  border-color:var(--kwt-navy);background:rgba(6,39,69,.05);color:var(--kwt-navy);
}
.kwh-t .kwh-t-expire input{accent-color:var(--kwt-navy);width:17px;height:17px;margin:0}

/* 버튼 줄 */
.kwh-t .kwh-t-actions{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  margin-top:34px;padding-top:26px;border-top:1px solid #e5e8eb;
}
.kwh-t .kwh-t-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:50px;padding:0 26px;
  font:inherit;font-size:16px;font-weight:700;line-height:1;
  color:#3b4859;background:#fff;
  border:1px solid #d8dde3;border-radius:10px;cursor:pointer;
}
.kwh-t .kwh-t-btn:hover{background:#f7f8fa}
.kwh-t .kwh-t-btn-main{background:var(--kwt-navy);border-color:var(--kwt-navy);color:#fff;min-width:160px}
.kwh-t .kwh-t-btn-main:hover{background:#0a3a63;color:#fff}
.kwh-t .kwh-t-btn-danger{margin-left:auto;border-color:#e9d2d2;color:var(--kwt-red)}
.kwh-t .kwh-t-btn-danger:hover{background:#fff1f1;color:var(--kwt-red)}
.kwh-t .kwh-t-error{
  margin:0 0 20px;padding:16px 18px;
  background:#fff4f4;border:1px solid #f0d5d5;border-radius:10px;
  font-size:15px;color:#b93232;
}


/* --------------------------------------------------------------
   6. 게시글 (상세) 화면
   -------------------------------------------------------------- */
/* 글 읽는 폭. 넓히려면 900px 을 1180px 처럼 바꾸세요.
   위 여백(110px)은 공지사항 게시글 페이지와 높이를 맞춘 값입니다.
   자료실 글은 아바다 레이아웃을 쓰지 않아서 여백을 여기서 직접 줍니다. */
.kwh-t.kwh-t-detail{
  width:100%;
  max-width:900px;
  margin:0 auto;
  padding:110px 20px 80px;
}
.kwh-t .kwh-t-post-head{
  padding:0 0 22px;
  border-bottom:1px solid #e5e8eb;
  margin:0 0 30px;
}

/* 제목 아랫줄 : 왼쪽 = 관·학년 / 오른쪽 끝 = 작성자·날짜·조회·열람기간 */
.kwh-t .kwh-t-post-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:16px 0 0;
}
.kwh-t .kwh-t-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.kwh-t .kwh-t-badge{
  display:inline-flex;align-items:center;height:26px;padding:0 11px;
  border-radius:7px;font-size:13px;font-weight:700;letter-spacing:-.02em;
}
.kwh-t .kwh-t-badge.is-branch{background:var(--kwt-navy);color:#fff}
.kwh-t .kwh-t-badge.is-grade{background:rgba(223,169,59,.18);color:#a9761c}
.kwh-t .kwh-t-post-title{
  margin:0 !important;
  font-size:30px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  color:var(--kwt-ink) !important;
  letter-spacing:-.03em;
}
.kwh-t .kwh-t-post-meta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;
  gap:8px;margin:0;font-size:14px;color:var(--kwt-sub);
  text-align:right;
}
.kwh-t .kwh-t-post-meta .kwh-t-dot{color:#ccd2d8}
.kwh-t .kwh-t-post-meta .kwh-t-author{font-weight:700;color:#3b4859}
.kwh-t .kwh-t-post-meta .kwh-t-expire-txt{color:var(--kwt-red);font-weight:600}
.kwh-t .kwh-t-post-meta .kwh-t-expire-txt.is-free{color:var(--kwt-sub);font-weight:500}

.kwh-t .kwh-t-content{
  font-size:17px;
  line-height:1.85;
  color:#3b4859;
}
.kwh-t .kwh-t-content img{max-width:100%;height:auto;border-radius:10px}
.kwh-t .kwh-t-content h2,
.kwh-t .kwh-t-content h3,
.kwh-t .kwh-t-content h4{color:var(--kwt-ink);font-weight:700;letter-spacing:-.02em}
.kwh-t .kwh-t-content blockquote{
  background:#f4f6fb;border:0;border-radius:14px;padding:18px 22px;margin:1.6em 0;
}

/* 작은 제목 (강의 영상 · 첨부파일) */
.kwh-t .kwh-t-section{margin:46px 0 0}
.kwh-t .kwh-t-section-title{
  display:flex;align-items:center;gap:8px;
  margin:0 0 16px;font-size:19px;font-weight:800;color:var(--kwt-ink);
}
.kwh-t .kwh-t-section-title svg{width:20px;height:20px;fill:none;stroke:var(--kwt-gold);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* 강의 영상 */
.kwh-t .kwh-t-video{
  margin:0 0 20px;padding:18px;
  background:#fff;border:1px solid #e6e8ec;border-radius:14px;
  box-shadow:0 4px 14px rgba(6,39,69,.05);
}
.kwh-t .kwh-t-video-head{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.kwh-t .kwh-t-video-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;flex:0 0 28px;
  border-radius:8px;background:var(--kwt-navy);color:#fff;
  font-size:12px;font-weight:800;
}
.kwh-t .kwh-t-video-title{font-size:16px;font-weight:700;color:var(--kwt-ink);min-width:0}
.kwh-t .kwh-t-video-frame{
  position:relative;width:100%;padding-top:56.25%;
  border-radius:10px;overflow:hidden;background:#000;
}
.kwh-t .kwh-t-video-frame iframe,
.kwh-t .kwh-t-video-frame video,
.kwh-t .kwh-t-video-frame object,
.kwh-t .kwh-t-video-frame embed{
  position:absolute !important;top:0;left:0;width:100% !important;height:100% !important;border:0;
}
.kwh-t .kwh-t-video-link{
  display:inline-flex;align-items:center;gap:6px;
  height:44px;padding:0 18px;border-radius:10px;
  background:var(--kwt-soft);color:var(--kwt-navy) !important;
  font-size:14px;font-weight:700;
}

/* 첨부파일 — 한 줄에 [파일종류] [제목] [다운로드] 만 */
.kwh-t .kwh-t-file{
  display:flex;
  align-items:center;
  gap:14px;
  padding:13px 14px 13px 13px;
  margin:0 0 10px;
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:12px;
  transition:border-color .2s,box-shadow .2s;
}
.kwh-t .kwh-t-file:hover{border-color:#c9d3dd;box-shadow:0 4px 14px rgba(6,39,69,.07)}

.kwh-t .kwh-t-file-ext{
  display:inline-flex;align-items:center;justify-content:center;
  width:50px;height:38px;flex:0 0 50px;
  border-radius:9px;
  background:rgba(6,39,69,.06);color:var(--kwt-navy);
  font-size:11px;font-weight:800;letter-spacing:.02em;
  text-transform:uppercase;
}
/* 구글 드라이브 같은 '파일 주소' */
.kwh-t .kwh-t-file-ext.is-link{
  background:rgba(223,169,59,.16);
  color:#a9761c;
  text-transform:none;
  font-size:12px;
}

/* 제목 — 남는 자리를 전부 씁니다 (너무 길면 끝에 … ) */
.kwh-t .kwh-t-file-name{
  flex:1 1 auto;
  min-width:0;
  font-size:15px;
  font-weight:600;
  line-height:1.5;
  color:var(--kwt-ink);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ★ 선택자를 일부러 길게 썼습니다.
   사이트에 .post-content a[href$=".pdf"]{color:#333 !important} 같은
   '파일 링크를 회색 상자로 바꾸는' 예전 CSS 가 있어서,
   그것보다 우선순위가 높아야 글자색·배경이 제대로 나옵니다. */
.kwh-t .kwh-t-file a.kwh-t-file-btn,
.kwh-t .kwh-t-file a.kwh-t-file-btn:link,
.kwh-t .kwh-t-file a.kwh-t-file-btn:visited{
  flex:0 0 auto;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px;
  width:auto !important;
  height:38px !important;
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--kwt-navy) !important;
  background-image:none !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap;
  text-decoration:none !important;
  box-shadow:none !important;
}
.kwh-t .kwh-t-file a.kwh-t-file-btn:hover{
  background:#0a3a63 !important;
  color:#fff !important;
}

/* 내려받기 아이콘 */
.kwh-t .kwh-t-file a.kwh-t-file-btn .kwh-t-ico{
  display:inline-flex !important;
  align-items:center;
  flex:0 0 auto;
}
.kwh-t .kwh-t-file a.kwh-t-file-btn .kwh-t-ico svg{
  display:block !important;
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* 테마·플러그인이 파일 링크에 아이콘이나 글자를 덧붙이는 것을 막습니다
   (예전에 [내려받기] 옆에 [다운로드] 가 한 번 더 붙던 문제) */
.kwh-t .kwh-t-file a.kwh-t-file-btn::before,
.kwh-t .kwh-t-file a.kwh-t-file-btn::after{
  content:none !important;
  display:none !important;
}
.kwh-t .kwh-t-file a.kwh-t-file-btn > i{display:none !important}

/* 기간이 끝나 파일이 지워졌을 때 (글쓴이에게만 보임) */
.kwh-t .kwh-t-file-gone{
  padding:22px 20px;
  background:var(--kwt-soft);
  border:1px dashed #c3cbd4;
  border-radius:12px;
  font-size:14px;
  line-height:1.7;
  color:var(--kwt-sub);
}

/* 글쓴이 전용 단추 줄 (링크 복사 · 수정 · 삭제) — 목록 단추는 없습니다 */
.kwh-t .kwh-t-owner{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  margin:50px 0 0;padding:22px 0 0;border-top:1px solid #e5e8eb;
}
.kwh-t .kwh-t-owner-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:46px;padding:0 20px;
  font:inherit;font-size:15px;font-weight:700;line-height:1;
  color:#3b4859;background:#fff;
  border:1px solid #d8dde3;border-radius:10px;cursor:pointer;
}
.kwh-t .kwh-t-owner-btn:hover{background:#f7f8fa}
.kwh-t .kwh-t-owner-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kwh-t .kwh-t-owner-btn.is-copy{background:var(--kwt-navy);border-color:var(--kwt-navy);color:#fff}
.kwh-t .kwh-t-owner-btn.is-copy:hover{background:#0a3a63}
.kwh-t .kwh-t-owner-btn.is-del{margin-left:auto;border-color:#e9d2d2;color:var(--kwt-red)}
.kwh-t .kwh-t-owner-btn.is-del:hover{background:#fff1f1}


/* --------------------------------------------------------------
   7. 열람 기간 종료 알림창 (팝업)
   -------------------------------------------------------------- */
.kwh-t-alert{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(16,22,30,.55);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  font-family:Pretendard,"Noto Sans KR","Malgun Gothic",-apple-system,sans-serif;
  letter-spacing:-.025em;
  animation:kwhTFade .2s ease-out;
}
.kwh-t-alert[hidden]{display:none !important}
@keyframes kwhTFade{from{opacity:0}to{opacity:1}}
@keyframes kwhTPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}

.kwh-t-alert-box{
  width:100%;
  max-width:520px;
  padding:54px 34px 30px;
  text-align:center;
  background:#fff;
  border:1px solid #edf0f3;
  border-radius:20px;
  box-shadow:0 20px 60px rgba(10,20,35,.22);
  animation:kwhTPop .25s ease-out;
}
.kwh-t-alert-icon{
  display:flex;align-items:center;justify-content:center;
  width:64px;height:64px;margin:0 auto 26px;
  border-radius:50%;background:#f2f4f7;color:#8b95a1;
}
.kwh-t-alert-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kwh-t-alert-box h2{
  margin:0 0 16px !important;
  font-size:24px !important;
  font-weight:800 !important;
  color:#1a1f27 !important;
  line-height:1.4 !important;
  letter-spacing:-.03em;
}
.kwh-t-alert-box p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#8b95a1;
  word-break:keep-all;
}
.kwh-t-alert-btn{
  width:100%;height:52px;margin:32px 0 0;
  font-family:inherit;font-size:16px;font-weight:700;
  color:#fff;background:#062745;border:0;border-radius:12px;cursor:pointer;
}
.kwh-t-alert-btn:hover{background:#0a3a63}

/* 알림창이 떠 있는 동안 뒤 화면 잠금 */
body.kwh-teacher-locked{overflow:hidden !important}

/* 알림창을 닫은 뒤 남는 안내 */
.kwh-t .kwh-t-expired-note{
  max-width:720px;margin:110px auto 90px;padding:60px 30px;
  text-align:center;color:var(--kwt-sub);font-size:16px;
  background:#fff;border:1px solid #edf0f3;border-radius:20px;
}
.kwh-t .kwh-t-expired-note strong{display:block;margin:0 0 8px;font-size:19px;color:#3b4859}


/* --------------------------------------------------------------
   8. 휴대폰
   -------------------------------------------------------------- */
@media(max-width:1024px){
  .kwh-t .kwh-t-tab{padding:0 8px;font-size:13px}
  .kwh-t .kwh-t-row{grid-template-columns:minmax(0,1fr) 100px 110px 130px;gap:10px}
}

@media(max-width:767px){
  .kwh-t .kwh-t-head{padding:42px 18px 18px}
  .kwh-t .kwh-t-title{gap:8px;font-size:26px !important}
  .kwh-t .kwh-t-title-icon{width:26px;height:26px;flex-basis:26px}
  .kwh-t .kwh-t-title-icon svg{width:24px;height:24px}
  .kwh-t .kwh-t-lead{font-size:14px}
  .kwh-t .kwh-t-add{position:static;transform:none;display:block;margin:18px 0 0}
  .kwh-t .kwh-t-add-btn{width:100%;justify-content:center;height:46px}

  .kwh-t .kwh-t-inner{padding:8px 18px 60px}

  /* 탭 : 한 줄에 3개씩 접힘 (공지사항과 같음) */
  .kwh-t .kwh-t-tabs{
    flex-flow:row wrap;align-items:stretch;justify-content:center;
    gap:4px;margin:0 0 22px;padding:5px;border-radius:24px;
    box-shadow:0 3px 10px rgba(6,39,69,.06);
  }
  .kwh-t .kwh-t-tab{
    flex:1 1 calc(33.333% - 4px);min-width:0;
    height:auto;min-height:38px;padding:6px;
    font-size:13px;line-height:1.25;letter-spacing:-.4px;
    white-space:normal;word-break:keep-all;
  }
  .kwh-t .kwh-t-tab.is-on{box-shadow:none}

  .kwh-t .kwh-t-search-form{flex-wrap:wrap}
  .kwh-t .kwh-t-search-input{height:46px;font-size:15px;flex:1 1 100%}
  .kwh-t .kwh-t-search-button{height:46px;flex:1 1 auto;padding:0 20px}

  /* 보드 : 한 줄짜리 카드로 쌓기 */
  .kwh-t .kwh-t-row{
    grid-template-columns:minmax(0,1fr);
    gap:8px;padding:16px 4px;
  }
  .kwh-t .kwh-t-row-head{display:none}
  .kwh-t .kwh-t-cell-title{font-size:16px}

  /* 칸으로 나뉜 작성자·날짜·열람시간은 감추고, 제목 밑 한 줄로 보여 줍니다 */
  .kwh-t .kwh-t-row > .kwh-t-cell-author,
  .kwh-t .kwh-t-row > .kwh-t-cell-date,
  .kwh-t .kwh-t-row > .kwh-t-cell-expire{display:none}

  .kwh-t .kwh-t-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  .kwh-t .kwh-t-meta-line .kwh-t-cell-author,
  .kwh-t .kwh-t-meta-line .kwh-t-cell-date,
  .kwh-t .kwh-t-meta-line .kwh-t-cell-expire{text-align:left;font-size:13px}
  .kwh-t .kwh-t-meta-line .kwh-t-dot{color:#ccd2d8;font-size:13px}

  /* 글쓰기 */
  .kwh-t .kwh-t-form-wrap{padding:30px 18px 60px}
  .kwh-t .kwh-t-form-title{font-size:23px !important}
  .kwh-t .kwh-t-two{grid-template-columns:1fr}
  .kwh-t .kwh-t-field input[type=text],
  .kwh-t .kwh-t-field input[type=url],
  .kwh-t .kwh-t-field select{height:46px;font-size:15px}
  .kwh-t .kwh-t-expire label{flex:1 1 calc(50% - 8px);height:46px;font-size:14px}
  .kwh-t .kwh-t-btn{height:46px;padding:0 18px;font-size:15px;flex:1 1 auto}
  .kwh-t .kwh-t-btn-danger{flex-basis:100%;margin-left:0}

  /* 게시글 */
  .kwh-t.kwh-t-detail{padding:48px 18px 60px}
  .kwh-t .kwh-t-message,
  .kwh-t .kwh-t-expired-note{margin:56px auto 60px;padding:40px 22px}
  .kwh-t .kwh-t-post-top{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .kwh-t .kwh-t-post-meta{justify-content:flex-start;text-align:left;font-size:13px}
  .kwh-t .kwh-t-post-title{font-size:23px !important}
  .kwh-t .kwh-t-content{font-size:16px;line-height:1.8}
  .kwh-t .kwh-t-section{margin:36px 0 0}
  .kwh-t .kwh-t-section-title{font-size:17px}
  .kwh-t .kwh-t-file{padding:11px 12px;gap:10px}
  .kwh-t .kwh-t-file-ext{width:44px;height:34px;flex-basis:44px;font-size:10px}
  .kwh-t .kwh-t-file-name{font-size:14px}
  .kwh-t .kwh-t-file a.kwh-t-file-btn{
    height:34px !important;padding:0 13px !important;font-size:12px !important;gap:5px;
  }
  .kwh-t .kwh-t-file a.kwh-t-file-btn .kwh-t-ico svg{width:13px;height:13px}
  .kwh-t .kwh-t-owner{margin:36px 0 0}
  .kwh-t .kwh-t-owner-btn{height:44px;flex:1 1 auto;font-size:14px}
  .kwh-t .kwh-t-owner-btn.is-del{flex-basis:100%;margin-left:0}

  /* 알림창 */
  .kwh-t-alert-box{padding:42px 22px 24px;border-radius:18px}
  .kwh-t-alert-icon{width:58px;height:58px;margin-bottom:22px}
  .kwh-t-alert-box h2{font-size:21px !important}
  .kwh-t-alert-box p{font-size:14px}
  .kwh-t-alert-btn{height:50px;margin-top:26px}
}
