/* 비트로 코어체 — 큰 제목용 (학생회 화면에서 사용) */
@font-face{
  font-family:"Vitro Core";
  src:url("/fonts/VitroCore.woff2") format("woff2");
  font-weight:400 900; font-style:normal; font-display:swap;
}

/* ─── 게시판 공용 스타일 ─── */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Noto Sans KR',sans-serif;color:#22283a;background:#f8f7f3;min-height:100vh;line-height:1.7;}
a{text-decoration:none;color:inherit;}
.topbar{background:#101d33;color:rgba(255,255,255,.75);font-size:12.5px;
  position:sticky;top:0;z-index:1300;}   /* 어느 메뉴에서든 늘 보이게 */
.topbar .inner{max-width:1180px;margin:0 auto;padding:9px 20px;display:flex;justify-content:space-between;gap:16px;}
.topbar a:hover{color:#e8c876;}
.topbar .links{display:flex;gap:16px;}
/* ─── 메인 메뉴 헤더 (서브페이지 공용) ─── */
.mhead{background:#101d33;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);
  position:sticky;top:35px;z-index:1200;}
.mhead .inner{max-width:1320px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:66px;gap:14px;}
.mhead .mlogo{font-family:'Noto Serif KR',serif;font-weight:600;font-size:16.5px;color:#fff;line-height:1.25;}
.mhead .mlogo small{display:block;font-size:9.5px;font-weight:300;color:rgba(255,255,255,.5);letter-spacing:.14em;font-family:'Noto Sans KR',sans-serif;}
.mhead nav{display:flex;gap:2px;align-items:center;margin-left:auto;}
.mhead nav > a,.mhead nav .dd > a{display:inline-block;padding:10px 14px;font-size:17.5px;color:rgba(255,255,255,.85);border-bottom:2px solid transparent;transition:.2s;}
.mhead nav > a:hover,.mhead nav .dd > a:hover{color:#e8c876;border-bottom-color:#c9a24b;}
.mhead nav .dd{position:relative;z-index:1500;}
.mhead .dd-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:none;flex-direction:column;gap:7px;padding-top:18px;min-width:150px;z-index:1500;}
.mhead .dd:hover .dd-menu{display:flex;}
.mhead .dd-menu a{display:block;text-align:center;padding:9px 18px;font-size:13px;color:#22283a;font-weight:500;
  background:#fff;border:1px solid #9a9a94;border-radius:7px;white-space:nowrap;transition:.18s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), inset 0 -2px 4px rgba(0,0,0,.07), 0 3px 8px rgba(0,0,0,.2);}
.mhead .dd-menu a:hover{background:#fff;color:#8a6d2b;border-color:#c9a24b;transform:translateY(-1px);}
.mpills{display:flex;gap:6px;}
.mpills a{padding:7px 14px;border-radius:100px;font-size:11.5px;font-weight:600;white-space:nowrap;transition:.2s;}
.mpills .band{background:#c9a24b;color:#14203a;}
.mpills .band:hover{background:#e8c876;}
.mpills .fb,.mpills .ig{border:1px solid rgba(255,255,255,.55);color:#fff;}
.mpills .fb:hover,.mpills .ig:hover{border-color:#e8c876;color:#e8c876;}
@media (max-width:900px){ .mhead nav,.mpills{display:none;} }

/* ─── 어두운 사진 배너 ─── */
.banner{background:linear-gradient(rgba(11,18,32,.74),rgba(11,18,32,.66)),url('../images/gold_avenue.jpg') center 42%/cover;color:#fff;}
.banner .binner{max-width:1180px;margin:0 auto;padding:40px 20px 36px;}
.banner .en{font-family:Georgia,serif;font-style:italic;font-size:13.5px;color:#e8c876;letter-spacing:.14em;display:block;margin-bottom:4px;}
.banner h1{font-family:'Noto Serif KR',serif;font-size:27px;font-weight:600;text-shadow:0 2px 16px rgba(0,0,0,.5);}
.wrap{max-width:1180px;margin:0 auto;padding:36px 20px 80px;}
.head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:22px;}
.head h1{font-family:'Noto Serif KR',serif;font-size:28px;font-weight:600;}
.head .en{font-family:Georgia,serif;font-style:italic;font-size:14px;color:#c9a24b;letter-spacing:.1em;display:block;}
.btn{display:inline-block;padding:10px 22px;border-radius:3px;font-size:13.5px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:.2s;}
.btn.dark{background:#101d33;color:#fff;}
.btn.dark:hover{background:#1b2a45;}
.btn.line{background:#fff;border:1px solid #d8d1bf;color:#5a5648;}
.btn.line:hover{border-color:#8a6d2b;color:#8a6d2b;}
.tabs{display:flex;gap:11px;flex-wrap:wrap;margin-bottom:22px;}
.tabs a{padding:11px 24px;border-radius:100px;font-size:15px;font-weight:600;background:#fff;
  border:1px solid #ddd6c6;color:#5a5648;transition:.18s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 2px 3px rgba(60,50,20,.1), 0 5px 12px rgba(60,50,20,.13);}
.tabs a:hover{transform:translateY(-2px);border-color:#c9a24b;color:#8a6d2b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 4px 6px rgba(60,50,20,.12), 0 10px 20px rgba(60,50,20,.18);}
.tabs a:active{transform:translateY(1px);box-shadow:inset 0 2px 5px rgba(0,0,0,.15);}
.tabs a.on{background:#101d33;color:#fff;border-color:#101d33;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 3px 5px rgba(16,29,51,.28), 0 8px 18px rgba(16,29,51,.3);}
.tabs a.on:hover{color:#e8c876;border-color:#101d33;}
/* 말머리 비율 파이차트 */
.stat{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e6e1d5;border-radius:4px;padding:14px 18px;margin-bottom:14px;}
.stat .pie{flex:none;}
.stat .legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:#5a5648;}
.stat .legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle;}
.stat .legend b{font-weight:600;color:#22283a;}
.stat .stitle{font-size:12px;letter-spacing:.12em;color:#a8a291;margin-bottom:6px;}
@media (max-width:640px){ .stat{flex-direction:column;align-items:flex-start;} }

.list{background:#fff;border:1px solid #e6e1d5;border-radius:4px;overflow:hidden;}
.list .row{display:flex;align-items:center;gap:14px;padding:9px 18px;border-bottom:1px solid #f0ece1;transition:.15s;line-height:1.35;}
.list .row:hover{background:#faf8f2;}
.list .row:last-child{border-bottom:none;}
.chip{flex:none;font-size:13.5px;font-weight:700;padding:3px 12px;border-radius:100px;letter-spacing:.04em;}
.chip.notice{background:#ede4cf;color:#8a6d2b;}
.chip.free{background:#e7ecf3;color:#33507e;}
.chip.news{background:#e8f0e6;color:#3f6a3a;}
.chip.jobs{background:#f3e7ee;color:#8c3f6d;}
.chip.market{background:#e9ecec;color:#4a6a6a;}
.chip.condolence{background:#ececec;color:#666;}
.chip.club{background:#e4eef5;color:#2e6a8f;}
.chip.faculty{background:#efe9db;color:#7a6428;}
.chip.forum,.chip.seminar{background:#eae6f3;color:#584a86;}
.chip.mentoring{background:#e6ede4;color:#3f6a3a;}
.chip.promo{background:#f5e9e2;color:#9a5a2b;}
.chip.qna{background:#e7eef7;color:#2f4b8f;}
.chip.parttime{background:#eef3e8;color:#5a7a33;}
.chip.history{background:#f0ece2;color:#7a6a3c;}
/* 뒤늦게 생긴 게시판들 — 이름표 색이 없어 민무늬로 보이던 것들 */
.chip.assembly{background:#e9e3d3;color:#7a5f22;}
.chip.exam{background:#e4f0ea;color:#2e6a55;}
.chip.scholarship{background:#e6f0f6;color:#2b5f80;}
.chip.career{background:#f1eaf4;color:#6b4a80;}
.chip.counsel{background:#f5ece4;color:#8a5f36;}
.chip.event{background:#fbe9e4;color:#a8542b;}
.chip.major{background:#e6e9f5;color:#454f8c;}
.chip.research{background:#e9f1ea;color:#3c6b4a;}
.chip.suggest{background:#f5ecdf;color:#8a5a2b;}

/* ═══ 학생회(YB) 초록 테마 ═══ */
/* 갤러리 화면은 벚꽃 야경 */
/* MAP 화면은 도쿄 야경 — 양쪽 홈페이지 공통 */
body.mapbg .banner{background:
  linear-gradient(rgba(10,16,30,.58),rgba(12,18,32,.70)),
  url('/images/yb_map_night.jpg?v=2') center top/cover;}
body.mapbg .banner .en{color:#e8c876;}
body.mapbg .banner h1{text-shadow:0 2px 22px rgba(0,0,0,.75);}
.chip.org-YB{background:#e2f0e5;color:#1e5230;}
.chip.org-OB{background:#fdf1dc;color:#a06a10;}
.chip.org-ALL{background:#eee;color:#555;}
.row .t{flex:1;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.row .t .lock{font-size:13.5px;color:#b0a98f;margin-left:6px;}
.src-tag{flex:none;display:inline-block;margin-left:0;font-size:13px;font-weight:600;padding:2px 7px;border-radius:3px;vertical-align:middle;}
.src-tag.band{background:#e5f5e8;color:#1e7d3c;}
.src-tag.fb{background:#e7ecf7;color:#2f4b8f;}
.src-tag.legacy{background:#efece3;color:#7a6a3c;}
.row .meta{flex:none;font-size:15px;color:#a8a291;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:220px;}
.row .meta .mrow{display:flex;align-items:center;gap:7px;justify-content:flex-end;}
.row .meta .who{color:#6f6a5c;font-size:15.5px;white-space:nowrap;}
.row .meta .chip{flex:none;font-size:13px;padding:2px 9px;margin:0;}
.row .meta .dt{font-size:14px;color:#b0a98f;}
.empty{padding:60px 20px;text-align:center;color:#9a947f;font-size:14px;}
.notice-box{margin-top:16px;padding:14px 16px;border-radius:4px;background:#f2eee2;color:#6f6a5c;font-size:13px;line-height:1.7;}
.notice-box a{color:#8a6d2b;border-bottom:1px solid #d8cba8;}
/* 글보기 */
.post{background:#fff;border:1px solid #e6e1d5;border-radius:4px;padding:34px 34px 40px;}
.post h2{font-family:'Noto Serif KR',serif;font-size:31px;font-weight:600;margin:10px 0 8px;}
.post .pmeta{font-size:16px;color:#a8a291;padding-bottom:18px;border-bottom:1px solid #eee9dd;margin-bottom:24px;}
.post .body{font-size:19.5px;line-height:1.65;color:#3a4050;white-space:pre-wrap;word-break:keep-all;}
.post .src{margin-top:26px;font-size:15.5px;color:#b0a98f;}
.post .src a{color:#8a6d2b;border-bottom:1px solid #d8cba8;}
.post .pgal{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px;}
.post .pgal img{width:100%;border-radius:3px;border:1px solid #eee9dd;display:block;transition:.2s;}
.post .pgal a:hover img{box-shadow:0 8px 22px rgba(0,0,0,.18);transform:translateY(-2px);}
.post .pgal:has(a:only-child) {grid-template-columns:1fr;}
.post .pgal:has(a:only-child) img{max-width:768px;}
.row .thumb{flex:none;width:52px;height:38px;object-fit:cover;border-radius:3px;border:1px solid #eee9dd;}
.pactions{margin-top:22px;display:flex;gap:10px;}
/* 파일 첨부 칸 (글쓰기) */
  .fdrop{border:2px dashed #d8d1bf;border-radius:6px;padding:22px 18px;text-align:center;
    cursor:pointer;background:#fdfcfa;transition:.15s;margin-bottom:10px;}
  .fdrop:hover,.fdrop.on{border-color:#c9a24b;background:#fffdf6;}
  .fdrop b{display:block;font-size:14.5px;color:#5c5648;margin-bottom:3px;}
  .fdrop span{font-size:12.5px;color:#a8a291;}
  .flist{display:flex;flex-direction:column;gap:6px;}
  .fitem{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #ece5d4;
    border-radius:5px;background:#fff;font-size:13.5px;}
  .fitem .fn{flex:1;color:#3a4050;word-break:break-all;}
  .fitem .fs{flex:none;color:#a8a291;font-size:12px;}
  .fitem .fx{flex:none;border:none;background:none;color:#b0a98f;cursor:pointer;
    font-size:15px;line-height:1;padding:2px 4px;font-family:inherit;}
  .fitem .fx:hover{color:#8a3b32;}
  body.yb .fdrop:hover,body.yb .fdrop.on{border-color:#4f9d5d;background:#f6fbf7;}

/* 첨부파일 */
/* 붙인 PDF 를 글 밑에서 바로 넘겨보기 */
.post .ppdf{margin-top:22px;border:1px solid #eee9dd;border-radius:4px;overflow:hidden;background:#fbfaf7;}
.post .ppdf-t{display:flex;align-items:center;gap:9px;padding:11px 15px;background:#f7f5ef;
  border-bottom:1px solid #eee9dd;font-size:14.5px;font-weight:600;color:#22283a;word-break:break-all;}
.post .ppdf-t span{flex:none;}
.post .ppdf-t a{margin-left:auto;flex:none;font-size:13px;font-weight:600;color:#8a6d2b;
  border-bottom:1px solid #d8cba8;white-space:nowrap;}
.post .ppdf-pages{padding:14px;display:flex;flex-direction:column;align-items:center;gap:12px;}
.post .ppdf-lnk{display:block;width:100%;max-width:900px;cursor:zoom-in;transition:.18s;}
.post .ppdf-lnk:hover{transform:translateY(-2px);}
.post .ppdf-lnk:hover .ppdf-pg{box-shadow:0 10px 26px rgba(60,50,20,.2);border-color:#c9a24b;}
.post .ppdf-pg{width:100%;max-width:900px;height:auto;display:block;border:1px solid #e8e3d6;
  border-radius:3px;box-shadow:0 2px 10px rgba(60,50,20,.08);background:#fff;transition:.18s;}
.post .ppdf-msg{padding:16px 6px;font-size:14px;color:#8a8574;text-align:center;line-height:1.8;}
.post .ppdf-msg a{color:#8a6d2b;font-weight:600;border-bottom:1px solid #d8cba8;}
.pfiles{margin-top:26px;padding-top:18px;border-top:1px solid #eee9dd;}
.pfiles .pft{font-size:13px;font-weight:600;color:#8a8574;margin-bottom:9px;}
.pfile{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:6px;
  border:1px solid #ece5d4;border-radius:5px;background:#fdfcfa;text-decoration:none;transition:.15s;}
.pfile:hover{border-color:#c9a24b;background:#fffdf6;}
.pfile .pfi{flex:none;font-size:15px;}
.pfile .pfn{flex:1;font-size:15px;color:#22283a;word-break:break-all;}
.pfile .pfs{flex:none;font-size:13px;color:#a8a291;}
/* 댓글 */
.cmt-wrap{background:#fff;border:1px solid #e6e1d5;border-radius:4px;padding:26px 30px 30px;margin-top:18px;}
.cmt-title{font-family:'Noto Serif KR',serif;font-size:22px;font-weight:600;padding-bottom:14px;border-bottom:2px solid #101d33;margin-bottom:6px;}
.cmt-title span{color:#c9a24b;}
.cmt{padding:14px 2px;border-bottom:1px solid #f0ece1;}
.cmt:last-of-type{border-bottom:none;}
.cmt .who{font-size:17px;font-weight:600;color:#22283a;}
.cmt .when{font-size:15px;color:#a8a291;margin-left:8px;font-weight:400;}
.cmt .body{font-size:18px;line-height:1.6;color:#3a4050;white-space:pre-wrap;word-break:keep-all;margin-top:4px;}
.cmt .del{float:right;font-size:15px;color:#b0a98f;background:none;border:none;cursor:pointer;font-family:inherit;}
.cmt .del:hover{color:#8a3b32;}
.cmt-empty{padding:18px 2px;color:#a8a291;font-size:17.5px;}
#cmtFormBox{margin-top:16px;padding-top:18px;border-top:1px solid #f0ece1;}
#cmtInput{width:100%;min-height:88px;padding:11px 13px;font-size:18px;font-family:inherit;line-height:1.7;
  border:1px solid #d8d1bf;border-radius:3px;background:#fdfcfa;outline:none;resize:vertical;}
#cmtInput:focus{border-color:#c9a24b;box-shadow:0 0 0 3px rgba(201,162,75,.15);}
.cmt-login{padding:16px;background:#faf8f2;border-radius:3px;font-size:17.5px;color:#6f6a5c;text-align:center;margin-top:16px;}
.cmt-login a{color:#8a6d2b;border-bottom:1px solid #d8cba8;}

/* 분류·말머리 선택 버튼 */
.pickrow{display:flex;flex-wrap:wrap;gap:11px;margin-top:8px;}
.pickrow a{padding:11px 22px;border:1px solid #ddd6c6;border-radius:100px;background:#fff;
  font-size:14.5px;font-weight:600;color:#5a5648;transition:.18s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 2px 3px rgba(60,50,20,.1), 0 5px 12px rgba(60,50,20,.13);}
.pickrow a:hover{transform:translateY(-2px);border-color:#c9a24b;color:#8a6d2b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 4px 6px rgba(60,50,20,.12), 0 10px 20px rgba(60,50,20,.18);}
.pickrow a:active{transform:translateY(1px);box-shadow:inset 0 2px 5px rgba(0,0,0,.15);}
.pickrow a.on{background:#101d33;border-color:#101d33;color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 3px 5px rgba(16,29,51,.28), 0 8px 18px rgba(16,29,51,.3);}
.pickrow a.on:hover{color:#e8c876;border-color:#101d33;}

/* 아직 아무것도 선택되지 않은 줄 — 선택이 필요함을 알리는 연초록 */
.pickrow.need a{background:linear-gradient(#f3faf4,#e6f3e9);border-color:#a9cfb4;color:#2f6b3c;}
.pickrow.need a:hover{background:linear-gradient(#ffffff,#eaf6ed);border-color:#4f9d5d;color:#1e5230;}

/* 말머리를 고르지 않고 등록을 누르셨을 때 — 그 자리에서 붉게 알립니다 */
.pickrow.warn a{background:linear-gradient(#fff6f5,#fdeceb);border-color:#e3a49d;color:#b3453b;}
.pickrow.warn a:hover{background:#fff;border-color:#b3453b;color:#8f3229;}
.tagwarn{display:none;position:relative;margin:8px 0 0;padding:8px 14px;
  background:#fff;border:1px solid #d9d3c6;border-radius:6px;
  box-shadow:0 3px 10px rgba(0,0,0,.12);font-size:13px;color:#3b3a36;
  width:max-content;max-width:100%;}
.tagwarn.on{display:block;}
.tagwarn::before{content:"";position:absolute;top:-6px;left:22px;width:10px;height:10px;
  background:#fff;border-left:1px solid #d9d3c6;border-top:1px solid #d9d3c6;
  transform:rotate(45deg);}
.tagwarn i{display:inline-block;width:18px;height:18px;border-radius:3px;background:#e8590c;
  color:#fff;font-style:normal;font-weight:700;font-size:13px;line-height:18px;
  text-align:center;margin-right:8px;vertical-align:-3px;}

/* 글쓰기 */
.form{background:#fff;border:1px solid #e6e1d5;border-radius:4px;padding:30px;}
label{display:block;font-size:12.5px;font-weight:500;color:#5a5648;margin:16px 0 6px;}
input,select,textarea{width:100%;padding:11px 13px;font-size:14.5px;font-family:inherit;border:1px solid #d8d1bf;border-radius:3px;background:#fdfcfa;outline:none;}
input:focus,select:focus,textarea:focus{border-color:#c9a24b;box-shadow:0 0 0 3px rgba(201,162,75,.15);}
textarea{min-height:280px;resize:vertical;line-height:1.8;}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.msg{display:none;margin-top:16px;padding:11px 13px;border-radius:3px;font-size:13.5px;}
.msg.err{background:#f8e8e6;color:#8a3b32;display:block;}
.msg.ok{background:#e8f0e6;color:#3f6a3a;display:block;}
@media (max-width:640px){ .row3{grid-template-columns:1fr;} .row .meta{display:none;} .post{padding:24px 18px;} }

/* ─── 알림(고정) 글 ─────────────────────────────────────── */
.row.pinned{background:linear-gradient(90deg,#fffdf6,#fff 60%);}
.row.pinned .t{font-weight:600;color:#2b2a24;}
.row.pinned:hover{background:linear-gradient(90deg,#fdf7e6,#fffdf6 60%);}
.chip.notice-pin{background:#5a6068;border-color:#4e545c;color:#fff;font-weight:700;
  letter-spacing:.02em;box-shadow:0 1px 2px rgba(40,45,52,.22);}
/* 글 화면 : 알림 고정 버튼 */
.pactions .btn.pin{border-color:#c9a24b;background:linear-gradient(#fdf6e6,#f5e8c8);color:#7a5c10;font-weight:600;}
.pactions .btn.pin.on{background:#5a6068;border-color:#4e545c;color:#fff;}
/* ─── 학생회(YB) 화면의 큰 제목은 비트로 코어체 ───────────── */
body.yb .banner h1,
body.yb .ahead h1,
body.yb .sec-head .t h2,
body.yb .maphead h3,
body.yb .post .ptitle,
body.yb .sec-head .t h2,
/* 학생회 게시판 쪽번호 */
@media (max-width:680px){
  body.yb .pager a{min-width:32px;padding:7px 9px;font-size:12.5px;}
}

/* 머리글 왼쪽 동그란 마크 — 어느 화면에서든 보이게 */
.mhead .mlogo{display:inline-flex;align-items:center;gap:11px;}
.mhead .hmark{flex:none;width:34px;height:34px;
  background:url('/OB/images/ob_emblem.svg') center/contain no-repeat;}
.mhead .hname{display:block;}
@media (max-width:700px){ .mhead .hmark{width:27px;height:27px;} .mhead .mlogo{gap:8px;} }

/* 운영진 : 이 글을 다른 게시판으로 옮기기 */
.btn.movecat{flex:2 1 260px;border:1px solid #c9a24b;background:#fdf6e4;color:#7a6428;font-weight:700;padding:11px 16px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14.5px;}
.btn.movecat:hover{filter:brightness(.97);}
/* 말머리는 한 걸음 작고 옅게 — 게시판과 헷갈리지 않도록 */
.btn.movetag{flex:1 1 150px;border:1px dashed #b8b2a0;background:#f7f5ef;color:#6f6a5c;font-weight:500;padding:8px 12px;border-radius:100px;cursor:pointer;font-family:inherit;font-size:12.5px;}
.btn.movetag:hover{border-color:#8a6d2b;color:#8a6d2b;background:#fdfaf2;}

/* 글 안의 주소 */
.post .body a, .cmt .body a{color:#8a6d2b;border-bottom:1px solid #e0d3ae;word-break:break-all;}
.post .body a:hover, .cmt .body a:hover{border-bottom-color:#8a6d2b;}

/* 댓글 고치기 */
.cmt .edit{float:right;margin-right:10px;font-size:15px;color:#b0a98f;background:none;
  border:none;cursor:pointer;font-family:inherit;}
.cmt .edit:hover{color:#8a6d2b;}
.cmt-edit{margin-top:6px;}
.cmt-edit textarea{width:100%;min-height:74px;padding:10px 12px;font-size:18px;
  font-family:inherit;line-height:1.7;border:1px solid #d8d1bf;border-radius:3px;
  background:#fdfcfa;outline:none;resize:vertical;}
.cmt-edit textarea:focus{border-color:#8a6d2b;}
.cmt-edit-row{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;}
.cmt-edit-row .btn.sm{padding:7px 16px;font-size:13px;}

  /* 이 게시판·말머리가 무엇을 받는 곳인지 */
  .whatfor{margin:8px 0 0;padding:9px 14px;border-radius:8px;font-size:13px;line-height:1.7;
    background:#fdfaf2;border:1px solid #e6dfcb;color:#7d7768;}
  .whatfor b{color:#4a3c14;font-weight:600;}
  .whatfor:empty{display:none;}

  /* 이 게시판이 무엇을 올리는 곳인가 — 검색칸 바로 위 */
  /* 단추 줄 왼쪽 빈자리에 나란히 놓습니다 */
  .head:has(.bpurpose){align-items:center;}
  .head .bpurpose{flex:1 1 320px;min-width:0;margin:0;}
  .head .hbtns{flex:none;margin-left:auto;white-space:nowrap;}
  .bpurpose{margin:0 0 16px;padding:12px 18px;border-radius:9px;
    background:#f9f5ea;border:1px solid #eee6d2;
    font-size:14px;line-height:1.75;color:#6f6a5c;}
  .bpurpose b{color:#4a3c14;font-weight:600;}
  .bpurpose:empty{display:none;}

/* 말머리로 골라 보기 */
.tagtabs{display:none;gap:8px;flex-wrap:wrap;align-items:center;margin:-8px 0 20px;}
.tagtabs.on{display:flex;}
.tagtabs .lb{font-size:13px;color:#6f6a5c;margin-right:2px;}
.tagtabs a{padding:6px 15px;border-radius:100px;font-size:13.5px;font-weight:500;
  background:#fff;border:1px solid #e6dfcb;color:#6f6a5c;cursor:pointer;transition:.15s;}
.tagtabs a:hover{border-color:#8a6d2b;color:#8a6d2b;}
.tagtabs a.on{background:#f7edd6;border-color:#8a6d2b;color:#8a6d2b;font-weight:700;}

/* 좋아요 */
.likebtn{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:8px 18px;
  border:1.5px solid #e08a7c;border-radius:100px;
  background:linear-gradient(#fff7f5,#ffe7e1);color:#c0392b;
  font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer;
  box-shadow:0 1px 3px rgba(192,57,43,.12);transition:.16s;}
.likebtn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.08);}
.likebtn svg{transition:transform .18s;}
.likebtn:hover svg{transform:scale(1.14);}
.likebtn .n{font-variant-numeric:tabular-nums;font-weight:700;
  background:rgba(255,255,255,.75);border-radius:100px;padding:0 8px;min-width:22px;
  text-align:center;}
.likebtn:disabled{opacity:.55;cursor:default;transform:none;}

/* 운영진만 보이는 글 지우기 단추 */
.list .row .del{flex:none;width:24px;height:24px;border:1px solid #e3d6d4;border-radius:6px;
  background:#fff;color:#c08a84;font-family:inherit;font-size:13px;line-height:1;
  cursor:pointer;transition:.15s;margin-left:2px;}
.list .row .del:hover{background:#fbeeec;border-color:#b3453b;color:#b3453b;}
.list .row .del:disabled{opacity:.45;cursor:default;}

/* 운영진 : 줄에서 바로 게시판·말머리 바꾸기 */
.list .row .mv{flex:none;display:flex;gap:4px;align-items:center;}
.list .row .mv select{border:1px solid #ddd6c4;border-radius:6px;background:#fff;
  font-family:inherit;font-size:11.5px;color:#5a5648;padding:3px 5px;max-width:118px;cursor:pointer;}
.list .row .mv select:hover{border-color:#c9a961;}
.list .row .mv select:disabled{opacity:.5;}
@media (max-width:820px){ .list .row .mv{display:none;} }

/* 목록 줄의 말머리 — 게시판 이름표 옆에 따로 */
.list .row .tagchip{flex:none;font-size:11.5px;font-weight:600;color:#8a6d2b;
  background:#faf5e8;border:1px solid #efe4cc;border-radius:100px;padding:1px 10px;
  white-space:nowrap;}
body.yb .list .row .tagchip{color:#2a6b40;background:#eef7f0;border-color:#d8eadd;}

/* 눌렀을 때는 아예 붉게 채웁니다 */
.likebtn.on{background:linear-gradient(#e8604f,#d0402f);border-color:#b8352a;color:#fff;
  box-shadow:0 2px 7px rgba(192,57,43,.32);}
.likebtn.on:hover{background:linear-gradient(#ee6a58,#c93c2c);border-color:#a82e24;
  box-shadow:0 4px 11px rgba(192,57,43,.4);}
.likebtn:hover{border-color:#c0392b;background:linear-gradient(#fff2ef,#ffdcd4);
  box-shadow:0 3px 9px rgba(192,57,43,.24);}
body.yb .likebtn{border-color:#e08a7c;background:linear-gradient(#fff7f5,#ffe7e1);color:#c0392b;}
body.yb .likebtn:hover{border-color:#c0392b;box-shadow:0 3px 9px rgba(192,57,43,.24);}
body.yb .likebtn.on{background:linear-gradient(#e8604f,#d0402f);border-color:#b8352a;color:#fff;}

/* 댓글에 붙는 작은 것 */
.cmt-foot{margin-top:9px;}
.likebtn.sm{margin-left:0;padding:3px 11px;font-size:11.5px;gap:5px;border-width:1px;}
.likebtn.sm svg{width:12px;height:12px;}
.likebtn.sm .n{font-size:11.5px;padding-left:5px;margin-left:1px;}

/* 두 게시판에 같은 글을 함께 걸어 두는 체크칸 */
.btn.alsobox{display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  font-weight:500;background:#fff;border-style:dashed;}
.btn.alsobox input{width:14px;height:14px;margin:0;cursor:pointer;accent-color:#8a6d2b;}
body.yb .btn.alsobox input{accent-color:#2a6b40;}

/* 다른 게시판에서 함께 걸어 둔 글 */
.list .row .alsochip{flex:none;font-size:11px;font-weight:600;color:#5c6b8a;
  background:#eef2f8;border:1px dashed #c3cee0;border-radius:100px;
  padding:1px 9px;white-space:nowrap;}
body.yb .list .row .alsochip{color:#3d6b52;background:#eef7f1;border-color:#c7e0d1;}

/* 글에 붙은 사진을 갤러리로 보내는 줄 */
.galshare{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;
  padding:11px 14px;border:1.5px dashed #d8cfb8;border-radius:10px;background:#fdfbf5;}
.galshare .gs-t{font-size:13px;font-weight:600;color:#8a6d2b;}
.galshare select{font-family:inherit;font-size:13px;padding:5px 9px;border-radius:8px;
  border:1px solid #e3d9c0;background:#fff;color:#3b3629;cursor:pointer;}
.galshare .gs-go{margin-left:auto;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;
  padding:6px 15px;border-radius:100px;border:1px solid #c9a961;
  background:linear-gradient(#fffdf8,#f4ecd9);color:#6b5416;}
.galshare .gs-go:hover{border-color:#8a6d2b;}
.galshare .gs-go:disabled{opacity:.55;cursor:default;}
.galshare .gs-msg{font-size:12.5px;color:#8a8574;}
.galshare .gs-msg.ok{color:#2a7a45;font-weight:600;}
.galshare .gs-msg.err{color:#b3453b;font-weight:600;}
body.yb .galshare{border-color:#cfe3d4;background:#fbfefb;}
body.yb .galshare .gs-t{color:#2a6b40;}
body.yb .galshare .gs-go{border-color:#4f9d5d;background:linear-gradient(#fbfefb,#eef6f0);color:#1e5230;}

/* 글보기 — 보던 목록으로 돌아가기 */
.pactions .btn.back{border-color:#cfc7b4;color:#6f6a5c;}
.pactions .btn.back:hover{border-color:#8a6d2b;color:#8a6d2b;}
body.yb .pactions .btn.back:hover{border-color:#2a6b40;color:#2a6b40;}

/* 전공별모임 — 전공 대조표 */
.mguide{margin:12px 0 6px;border:1.5px solid #d9c89a;border-radius:11px;background:#fdf6e6;
  box-shadow:0 2px 8px rgba(138,109,43,.12);}
.mguide summary{cursor:pointer;padding:14px 20px;font-size:15.5px;font-weight:700;
  color:#7a5f22;list-style:none;letter-spacing:-.01em;}
.mguide summary::-webkit-details-marker{display:none;}
.mguide summary::before{content:"▸";display:inline-block;width:22px;height:22px;line-height:22px;
  margin-right:9px;text-align:center;border-radius:6px;background:#8a6d2b;color:#fff;font-size:12px;}
.mguide[open] summary::before{content:"▾";}
.mguide summary:hover{color:#5c4a1c;}
.mguide summary:hover::before{background:#5c4a1c;}
body.yb .mguide{border-color:#bcdcc6;background:#eef7f0;box-shadow:0 2px 8px rgba(42,107,64,.12);}
body.yb .mguide summary{color:#1e5230;}
body.yb .mguide summary::before{background:#2a6b40;}
body.yb .mguide summary:hover::before{background:#1e5230;}
.mguide table{width:100%;border-collapse:collapse;font-size:12.5px;}
.mguide th{text-align:left;padding:7px 14px;color:#a09a86;font-weight:400;
  border-top:1px solid #eee6d2;border-bottom:1px solid #eee6d2;background:#f9f5ea;}
.mguide td{padding:7px 14px;border-bottom:1px solid #f2ede0;color:#5a5445;line-height:1.5;}
.mguide td:last-child{white-space:nowrap;width:1%;}
.mguide td b{color:#8a6d2b;}
.mguide tr:last-child td{border-bottom:none;}
.mguide .src{padding:9px 14px;font-size:11.5px;color:#a09a86;}
body.yb .mguide{border-color:#d8eadd;background:#fbfefb;}
body.yb .mguide summary{color:#2a6b40;}
body.yb .mguide th{background:#f2f9f4;border-color:#e2efe6;}
body.yb .mguide td b{color:#2a6b40;}

/* 글 날짜 고치기 (운영진) */
.btn.dateedit{display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  background:#fff;border-style:dashed;font-weight:500;padding:6px 12px;}
.btn.dateedit input{font-family:inherit;font-size:13px;border:none;background:none;
  color:inherit;cursor:pointer;padding:0;}
.btn.dateedit.done{border-style:solid;border-color:#2a7a45;color:#2a7a45;}
/* 글에서 찾아낸 「행사하는 날」을 미리 넣어 둔 상태 */
.btn.dateedit.guess{border-color:#c9a961;background:#fdf6e6;color:#8a6d2b;}
.btn.dateedit.guess::after{content:"행사일";font-size:11px;font-weight:700;
  color:#a8853a;margin-left:2px;}

/* 원그래프 이름을 눌러 걸러 보기 */
.legend .pieitem{cursor:pointer;border-radius:6px;padding:1px 6px;margin:0 -6px;transition:.14s;}
.legend .pieitem:hover{background:#f5eddc;color:#8a6d2b;}
body.yb .legend .pieitem:hover{background:#eef7f0;color:#2a6b40;}

/* 비동문 준회원 — 글을 못 쓰는 게시판에서는 단추가 잠깁니다 */
#writeBtn.locked{opacity:.45;filter:grayscale(.4);}
#writeBtn.locked::after{content:"🔒";margin-left:5px;font-size:12px;}

/* 글과 이어진 사진첩 */
.albumlink{margin:18px 0 4px;}
.albumgo{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;
  border:1px solid #e0d7c0;border-radius:100px;background:#fdf9f0;
  color:#6b5a2c;font-size:14.5px;font-weight:600;transition:.15s;}
.albumgo:hover{border-color:#c9a961;background:#faf3e2;}
.albumgo .ag-i{font-size:16px;}
.albumgo .ag-go{font-size:13px;font-weight:400;color:#a08a4e;}
.albumpick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:8px 0 4px;font-size:13px;color:#8a8574;}
.albumpick .ap-sel{font-family:inherit;font-size:13px;padding:4px 8px;max-width:280px;
  border:1px solid #ded6c2;border-radius:6px;background:#fff;}
.albumpick .ap-go{font-family:inherit;font-size:13px;padding:4px 12px;cursor:pointer;
  border:1px solid #ded6c2;border-radius:6px;background:#f6f1e6;color:#6b5a2c;}
.albumpick .ap-msg.ok{color:#2a7a45;}
.albumpick .ap-msg.err{color:#b3453b;}

/* ── 상단 메뉴가 두 줄로 접히지 않게 ──────────────
   글자 크기는 그대로 두고, 화면이 좁아지면
   자간과 좌우 여백부터 줄이고 그래도 모자라면 장평을 눌러 한 줄로 지킵니다. */
.mhead nav > a,.mhead nav .dd > a{white-space:nowrap;}
.mhead nav .dd{flex:none;}
.mhead .mlogo{flex:none;}
@media (max-width:1240px){
  .mhead nav > a,.mhead nav .dd > a{padding-left:9px;padding-right:9px;letter-spacing:-.02em;}
}
@media (max-width:1120px){
  .mhead .inner{gap:8px;padding-left:14px;padding-right:14px;}
  .mhead nav > a,.mhead nav .dd > a{padding-left:7px;padding-right:7px;letter-spacing:-.045em;}
}
@media (max-width:1020px){
  /* 여기서부터는 장평을 눌러 폭만 줄입니다 (글자 크기는 그대로) */
  .mhead nav > a,.mhead nav .dd > a{
    display:inline-block;transform:scaleX(.9);transform-origin:center;
    padding-left:5px;padding-right:5px;letter-spacing:-.06em;}
}
@media (max-width:950px){
  .mhead nav > a,.mhead nav .dd > a{transform:scaleX(.82);padding-left:3px;padding-right:3px;}
}

