/* ==========================================================================
   계명대 해부학교실 — 디자인 리프레시 (2026-10)
   index.css / index_m.css 위에 덮어쓰는 테마. 마크업은 바꾸지 않고
   색상·타이포·여백·버튼·카드·목록 스타일만 현대화한다.
   되돌리려면 header.php 에서 이 파일 링크만 제거하면 된다.
   ========================================================================== */

:root {
	--c-primary: #0d4ea3;
	--c-primary-dark: #0a3d80;
	--c-primary-soft: #e8f0fb;
	--c-accent: #d9383b;
	--c-accent-dark: #b92c2e;
	--c-accent-soft: #fdecec;
	--c-gold: #c9a85a;
	--c-text: #1f2430;
	--c-text-2: #5b6472;
	--c-text-3: #8a93a2;
	--c-bg: #f4f6f9;
	--c-surface: #ffffff;
	--c-surface-2: #f8f9fb;
	--c-line: #e3e7ee;
	--c-line-2: #eef1f5;
	--c-footer: #141a24;
	--radius: 12px;
	--radius-sm: 8px;
	--radius-xs: 6px;
	--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);
	--shadow: 0 6px 20px rgba(16, 24, 40, .07);
	--ease: .18s ease;
}

/* ---------- 기본 ---------- */
html { scroll-behavior: smooth; }
body {
	background: var(--c-bg);
	color: var(--c-text);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	letter-spacing: -0.01em;
}
input, textarea, select, button { font-family: inherit; font-size: inherit; color: inherit; }
input:focus, textarea:focus, select:focus { outline: 2px solid rgba(13, 78, 163, .25); outline-offset: 0; border-radius: var(--radius-xs); }
a { transition: color var(--ease); }
::selection { background: rgba(13, 78, 163, .18); }

/* ---------- 헤더 ---------- */
.header { border-bottom: 1px solid var(--c-line); box-shadow: var(--shadow-sm); position: relative; z-index: 20; }
.header_menu { font-weight: 500; }
.header_menu_m { border-radius: var(--radius-xs); transition: background var(--ease); }
.header_menu_m:hover { background: var(--c-primary-soft); color: var(--c-primary); }
div.header_menu_m a { color: var(--c-text); }
div.header_menu_m a:hover { color: var(--c-primary); }
.header_search { border-radius: 999px; border-color: var(--c-line); background: var(--c-surface-2); transition: border-color var(--ease), background var(--ease); }
.header_search:hover { border-color: #cfd6e0; }
.ipt_header_search { background-color: transparent; border-color: transparent; border-radius: 999px; }
.ipt_header_search:focus { outline: none; }

.header_show_1, .header_show_2, .header_show_3, .header_show_4 {
	border-color: var(--c-line);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow);
}
.header_show { font-size: 13px; }
.header_show_m { transition: color var(--ease); }
.header_show_m:hover { font-weight: inherit; color: var(--c-primary); }

.header_admin { background: var(--c-primary-dark); }
.header_admin_bt { background: rgba(255, 255, 255, .16); border-radius: var(--radius-xs); }
.header_admin_bt:hover { background: rgba(255, 255, 255, .28); }
.header_admin_m { border-left-color: rgba(255, 255, 255, .25); }
.header_admin_m:hover { color: #9cc7ff; }

/* ---------- 브레드크럼 / 페이지 배너 ---------- */
.navigation { color: var(--c-text-3); border-bottom-color: var(--c-line); }
.navigation_img_intro, .navigation_img_school, .navigation_img_admin,
.navigation_img_member, .navigation_img_commun, .navigation_img_tag {
	background-image: linear-gradient(180deg, rgba(8, 24, 52, .30), rgba(8, 24, 52, .58)), url('/garage/images/navi_intro.png');
	border-radius: var(--radius);
	font-weight: 500;
	letter-spacing: -0.02em;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .25);
	box-shadow: var(--shadow-sm);
}
.navigation_show_m { transition: color var(--ease); }
.navigation_show_m:hover { color: var(--c-primary); cursor: pointer; }

/* ---------- 메인 ---------- */
.index_rolling { position: relative; }
.index_banner { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
div.index_banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.index_rolling::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 55%;
	background: linear-gradient(180deg, rgba(8, 24, 52, 0), rgba(8, 24, 52, .62));
	border-radius: 0 0 var(--radius) var(--radius); pointer-events: none; z-index: 1;
}
.index_banner_txt { z-index: 100; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.index_banner_txt_bal { border-radius: 999px; font-weight: 500; letter-spacing: .04em; background: var(--c-accent); }
div.index_banner_txt_left span { font-weight: 500; letter-spacing: -0.02em; }
div.index_banner_txt_right img { opacity: .85; transition: opacity var(--ease); }
div.index_banner_txt_right img:hover { opacity: 1; }

.index_photo_t { font-weight: 500; }
.index_photo_more, .index_notice_go, .index_board_go {
	background: var(--c-primary-soft); color: var(--c-primary); font-weight: 500; border-radius: 999px;
	transition: background var(--ease), color var(--ease);
}
.index_notice_go { background: var(--c-accent-soft); color: var(--c-accent); }
.index_photo_more:hover, .index_board_go:hover { background: var(--c-primary); color: #fff; }
.index_notice_go:hover { background: var(--c-accent); color: #fff; }

.index_photo_p { border: 0; border-radius: var(--radius) var(--radius) 0 0; }
.index_photo_c { border: 1px solid var(--c-line); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow-sm); transition: background var(--ease); }
.index_photo_c:hover { background: var(--c-surface-2); }
.index_photo_ct { font-weight: 500; }
.index_photo_cd { color: var(--c-text-3); }
.index_photo_cc { color: var(--c-text-2); }

.index_intro { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.index_intro_cm { font-weight: 500; }
.index_notice, .index_board {
	border: 1px solid var(--c-line); border-top: 3px solid var(--c-accent);
	border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden;
}
.index_board { border-top-color: var(--c-primary); }
.index_bbs_t { border-bottom-color: var(--c-line-2); }
.index_bbs_tx { font-weight: 500; }
.index_bbs_m { border-radius: var(--radius-sm); transition: background var(--ease); }
.index_bbs_m:hover { background: var(--c-surface-2); }
.index_bbs_cp { border-radius: var(--radius-sm); }
.index_bbs_ct { font-size: 16px; font-weight: 500; }
.index_bbs_cd { color: var(--c-text-3); }

.index_tag { border-bottom-color: var(--c-line); }
.index_tag_l, .index_link_l { color: var(--c-text); font-weight: 700; letter-spacing: .02em; }
.index_tag_r_m, .index_tag_r_n {
	background: var(--c-surface); border: 1px solid var(--c-line); border-radius: 999px;
	color: var(--c-text-2); line-height: 34px; padding: 0 14px; font-size: 15px; margin: 0 8px 10px 0;
	transition: border-color var(--ease), color var(--ease), background var(--ease);
}
.index_tag_r_n { line-height: 28px; font-size: 13px; padding: 0 12px; }
.index_tag_r_m:hover, .index_tag_r_n:hover { border-color: var(--c-primary); color: var(--c-primary); background: var(--c-primary-soft); }

.index_link { border-top: 0; }
.index_link_m {
	background: var(--c-surface); color: var(--c-text); border: 1px solid var(--c-line);
	border-radius: var(--radius-sm); line-height: 44px; font-size: 15px; font-weight: 500;
	transition: border-color var(--ease), background var(--ease), color var(--ease);
}
.index_link_m:hover { background: var(--c-primary-soft); border-color: var(--c-primary); color: var(--c-primary); }
div.index_link_m a { color: inherit; }

/* ---------- 푸터 ---------- */
.footer { background: var(--c-footer); }
.footer_copy { color: #8a93a2; }
div.footer_copy span { font-weight: 500; letter-spacing: -0.01em; }
.footer_address { color: #c7cdd6; }
.footer_terms_m { color: var(--c-gold); transition: color var(--ease); }
.footer_terms_m:hover { color: #fff; }
.login_box { border-top-color: var(--c-line); }
.login_ipt { border-radius: var(--radius-xs); border-color: var(--c-line); background: var(--c-surface-2); }
.login_bt { font-weight: 500; border-radius: var(--radius-xs); }

/* ---------- 교실소개 ---------- */
.intro_history_w, .intro_work_w { border-color: var(--c-line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.intro_history_t, .intro_professor_t, .intro_work_t, .intro_map_t { font-weight: 500; }
.intro_history_m, .intro_map_m { border-bottom-color: var(--c-line-2); }
div.intro_history_m span { color: var(--c-primary); }
div.intro_map_m span { color: var(--c-primary); }
div.intro_work_img img { border-radius: var(--radius-sm); }
.intro_photo { border-radius: var(--radius); }
.intro_signature { border-top-color: var(--c-line); }

.intro_member_t { border-left-color: var(--c-primary); font-weight: 700; }
.intro_member_m { border-color: var(--c-line); border-radius: var(--radius); box-shadow: var(--shadow-sm); transition: box-shadow var(--ease), transform var(--ease); }
.intro_member_m:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.intro_member_mp { border-radius: var(--radius-sm); border-color: var(--c-line-2); }
.intro_member_mct { font-weight: 500; }
div.intro_member_mct span { color: var(--c-gold); font-weight: 500; }
div.intro_member_mcc span { color: var(--c-text-3); }

/* ---------- 연구 ---------- */
.school_n { color: var(--c-primary); }
.school_img_2 { border-color: var(--c-line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.school_img_2_t { font-weight: 500; }
div.school_img img, div.school_img_3 img { border-radius: var(--radius); max-width: 100%; }
.school_go_wrap { border: 1px solid var(--c-line); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }
.school_go { border-radius: var(--radius-xs); transition: background var(--ease); }
.school_go:hover { background: var(--c-primary-soft); }
div.school_go a:hover { color: var(--c-primary); }
.school_wrap { border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.school_paper { color: var(--c-primary); border-bottom-color: var(--c-line); font-weight: 500; }
.school_paper_m { border-bottom-color: var(--c-line-2); color: var(--c-text); }
.school_won_w { border-color: var(--c-line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.school_won_t { background: var(--c-surface-2); color: var(--c-text-2); font-size: 13px; font-weight: 500; border-bottom-color: var(--c-line); }
.school_won_m { border-bottom-color: var(--c-line-2); transition: background var(--ease); }
.school_won_m:hover { background: var(--c-surface-2); }

/* ---------- 게시판 목록 ---------- */
.adm_t { font-weight: 500; }
.bbs_t { border-top: 2px solid var(--c-primary); border-bottom-color: var(--c-line); background: var(--c-surface-2); color: var(--c-text-2); font-size: 13px; font-weight: 500; }
.bbs_m { border-bottom-color: var(--c-line-2); transition: background var(--ease); }
.bbs_m:hover { background: var(--c-surface-2); }
.bbs_m:last-child { border-radius: 0 0 var(--radius-sm) var(--radius-sm); }
.bbs_c { border-bottom-color: var(--c-line-2); }
.bbs_3, .bbs_5, .bbs_5s, .bbs_5d, .bbs_7, .bbs_7v, .bbs_10, .bbs_10v, .bbs_15, .bbs_20, .bbs_25,
.bbs_30, .bbs_40, .bbs_50, .bbs_55, .bbs_60, .bbs_65, .bbs_80 { border-right: 0; }
.bbs_7v, .bbs_10v { text-decoration: none; font-weight: 500; }
.bbs_7v:hover, .bbs_10v:hover { text-decoration: underline; }
.bbs_5d { color: var(--c-text-3); }
.bbs_5d:hover { color: var(--c-accent); }
div.bbs_m a { color: var(--c-text); text-decoration: none; font-weight: 400; }
div.bbs_m a:hover { color: var(--c-primary); }
div.bbs_5s img { border-radius: 50%; }
.bbs_mt { font-weight: 500; }
.bbs_mc { color: var(--c-text-3); }

/* ---------- 버튼 ---------- */
.bbs_submit, .bbs_modify, .bbs_list, .bbs_cancel, .adm_bt, .adm_bt_down, .id_pw_bt, .cmt_wgo,
.bbs_modi_img_del_s, .bbs_modi_attach_del_s {
	border-radius: var(--radius-sm); font-weight: 500; border: 0;
	transition: background var(--ease), color var(--ease), box-shadow var(--ease);
}
.bbs_submit { background: var(--c-primary); box-shadow: 0 2px 6px rgba(13, 78, 163, .25); }
.bbs_submit:hover { background: var(--c-primary-dark); }
.bbs_modify { background: var(--c-primary); box-shadow: 0 2px 6px rgba(13, 78, 163, .25); }
.bbs_modify:hover { background: var(--c-primary-dark); }
.bbs_cancel { color: var(--c-text-2); }
.bbs_cancel:hover { background: var(--c-line-2); color: var(--c-accent); border-radius: var(--radius-sm); }
.bbs_list { background: var(--c-surface); color: var(--c-text-2); border: 1px solid var(--c-line); }
.bbs_list:hover { background: var(--c-surface-2); color: var(--c-text); }
.adm_bt { background: var(--c-accent); box-shadow: 0 2px 6px rgba(217, 56, 59, .25); }
.adm_bt:hover { background: var(--c-accent-dark); }
.adm_bt_down { background: #1f8a4c; }
.adm_bt_down:hover { background: #176b3b; }
.id_pw_bt { background: var(--c-primary); }
.id_pw_bt:hover { background: var(--c-primary-dark); }
.bbs_modi_img_del_s, .bbs_modi_attach_del_s { background: var(--c-accent); }

/* ---------- 입력 / 폼 ---------- */
.bbs_title_l { font-weight: 500; color: var(--c-text-2); font-size: 14px; }
.bbs_title_ipt, .bbs_title_ipt_short { border-color: var(--c-line); border-radius: var(--radius-sm); transition: border-color var(--ease), box-shadow var(--ease); }
.bbs_title_ipt:focus-within, .bbs_title_ipt_short:focus-within { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(13, 78, 163, .12); }
.ipt_bbs_title, .ipt_bbs_title_short { border-radius: var(--radius-sm); }
.ipt_bbs_title:focus, .ipt_bbs_title_short:focus { outline: none; }
.bbs_title_sel { color: var(--c-text-2); font-size: 13px; }
.bbs_title_sel input[type="file"] { font-size: 13px; }
.add_member { border-color: var(--c-line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.add_member_t { color: var(--c-text-2); font-weight: 500; }
.add_member_ipt, .add_member_ipt_long { border-color: var(--c-line); border-radius: var(--radius-xs); background: var(--c-surface); }
.add_member_ipt:focus-within, .add_member_ipt_long:focus-within { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(13, 78, 163, .12); }
.ipt_member_add { background: transparent; border-color: transparent; }
.ipt_member_add:focus { outline: none; }
.ipt_member_add_t { border-radius: var(--radius-xs); border-color: var(--c-line); }
.add_member_sel select { height: 30px; border: 1px solid var(--c-line); border-radius: var(--radius-xs); background: var(--c-surface); padding: 0 8px; }
.add_member_noti { background: var(--c-primary-soft); border-color: #c9dbf5; color: var(--c-primary-dark); border-radius: var(--radius-sm); }
.add_member_bar { background: var(--c-line-2); }
.bbs_modi_img_w, .bbs_modi_attach_w { border-color: var(--c-line); border-radius: var(--radius-sm); background: var(--c-surface-2); }
.bbs_modi_img { border-radius: var(--radius-xs); }

/* ---------- 글 보기 ---------- */
.bbs_wrap { border-color: var(--c-line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.bbs_view_t { font-size: 20px; font-weight: 500; border-bottom-color: var(--c-line-2); letter-spacing: -0.01em; }
.bbs_view_i { color: var(--c-text-3); }
.bbs_view_c { line-height: 1.8; font-size: 15px; }
.bbs_view_c img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
div.bbs_view_img img { border-radius: var(--radius-sm); max-width: 100%; }
.bbs_view_attach {
	background: var(--c-primary-soft); border: 1px solid #c9dbf5; color: var(--c-primary);
	border-radius: var(--radius-sm); font-weight: 500; transition: background var(--ease), color var(--ease);
}
div.bbs_view_attach span { color: inherit; opacity: .75; }
.bbs_view_attach:hover { background: var(--c-primary); color: #fff; }
.bbs_view_ann { color: var(--c-text-3); }
.bbs_bt_w { border-top-color: var(--c-line-2); background: var(--c-surface-2); }
.bbs_tag { background: var(--c-surface); border-color: var(--c-line-2); border-radius: var(--radius-sm); color: var(--c-text-3); font-size: 13px; }
div.bbs_tag a {
	display: inline-block; color: var(--c-primary); text-decoration: none; background: var(--c-primary-soft);
	border-radius: 999px; padding: 0 12px; line-height: 26px; margin: 4px 6px 4px 0; font-size: 13px;
	transition: background var(--ease), color var(--ease);
}
div.bbs_tag a:hover { background: var(--c-primary); color: #fff; }
.id_pw { border-color: var(--c-line); border-radius: var(--radius-sm); box-shadow: var(--shadow); }
.id_pw_ipt { border-color: var(--c-line); border-radius: var(--radius-xs); }

/* ---------- 댓글 ---------- */
.cmt_w { border-color: var(--c-line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.cmt_wt { font-weight: 500; color: var(--c-text-2); }
.cmt_wname, .cmt_wpassword, .cmt_wbody { border: 1px solid var(--c-line); border-radius: var(--radius-xs); background: var(--c-surface); transition: border-color var(--ease); }
.cmt_wname:focus-within, .cmt_wpassword:focus-within, .cmt_wbody:focus-within { border-color: var(--c-primary); }
.ipt_cmt_wname, .ipt_cmt_wbody { background: transparent; border-color: transparent; }
.ipt_cmt_wname:focus, .ipt_cmt_wbody:focus { outline: none; }
.cmt_wgo { color: var(--c-primary); }
.cmt_wgo:hover { background: var(--c-primary); color: #fff; }
.cmt_m { font-size: 13px; border-top-color: var(--c-line-2); color: var(--c-text); }
.i_cus { color: var(--c-text-3); transition: color var(--ease); }
.i_cus:hover { color: var(--c-accent); }

/* ---------- 사진첩 ---------- */
.album_m { border-color: var(--c-line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: box-shadow var(--ease), transform var(--ease); }
.album_m:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.album_t { background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .68)); border-radius: 0 0 var(--radius) var(--radius); }
.album_txt { font-weight: 500; }

/* ======================================================================
   데스크톱 전용 (index.css 가 적용되는 폭)
   ====================================================================== */
@media (min-width: 1280px) {
	/* 인사말 사진: 원본(350x354)보다 큰 박스에 cover+bottom 으로 깔려 얼굴이 잘리던 문제 */
	.intro_photo { height: 354px; margin-top: 120px; background-size: contain; background-position: center top; background-repeat: no-repeat; }
	div.header_logo img { height: 36px; }
	.header_menu_m { margin-right: 10px; padding: 5px 14px; }
	.navigation_img_intro, .navigation_img_school, .navigation_img_admin,
	.navigation_img_member, .navigation_img_commun, .navigation_img_tag {
		height: 180px; line-height: 180px; font-size: 40px;
	}
	.index_photo_c { padding: 24px 26px; height: 191px; }
	.index_bbs_c { padding: 10px 12px; }
	.index_bbs_m { padding: 10px 8px; }
	.bbs_t { height: 40px; line-height: 40px; border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
	.bbs_m { height: 50px; line-height: 50px; }
	.bbs_view_t { padding: 18px 24px; }
	.bbs_view_c { padding: 28px 24px; }
	.school_paper_m { padding: 14px 40px; line-height: 1.7; }
	.school_paper { padding-left: 24px; }
	.adm_bt, .adm_bt_down { height: 34px; line-height: 34px; margin-top: 8px; }
}

/* ======================================================================
   모바일 전용 (index_m.css 가 적용되는 폭)
   ====================================================================== */
@media (max-width: 1279px) {
	.header_logo { padding: 8px 2.5%; }
	.header_menu { background: var(--c-primary); }
	div.header_menu_m a { color: #fff; }
	div.header_menu_m a:hover { color: #fff; }
	.header_menu_m { border-radius: 0; }
	.header_menu_m:hover { background: transparent; }
	.header_search { background: var(--c-primary); border-top-color: rgba(255, 255, 255, .2); border-radius: 0; }
	.ipt_header_search { background-color: #fff; }
	.navigation_show { border-bottom: 1px solid var(--c-line); }
	.navigation_img_intro, .navigation_img_school, .navigation_img_admin,
	.navigation_img_member, .navigation_img_commun, .navigation_img_tag {
		margin: 12px 12px 0 12px; height: 64px; line-height: 64px; font-size: 17px;
	}
	.index_banner { margin: 12px; }
	.index_rolling::after { left: 12px; right: 12px; bottom: 0; height: 60%; }
	.index_banner_txt { width: 85%; margin-left: 7.5%; margin-right: 7.5%; }
	.index_banner_txt_left { width: 100%; }
	div.index_banner_txt_left span { font-size: 17px; }
	.index_photo { border-top: 0; }
	.index_photo_more { color: var(--c-primary); background: transparent; }
	.index_photo_more:hover { background: transparent; color: var(--c-primary-dark); }
	.index_notice_go, .index_board_go { background: transparent; color: var(--c-primary); }
	.index_notice_go { color: var(--c-accent); }
	.index_notice_go:hover, .index_board_go:hover { background: transparent; }
	.index_notice, .index_board { border-radius: 0; border-left: 0; border-right: 0; box-shadow: none; }
	.index_bbs_m { border-radius: 0; }
	.bbs_m { border-top-color: var(--c-line-2); }
	.bbs_m:last-child { border-radius: 0; }
	.bbs_wrap { border-radius: 0; border-left: 0; border-right: 0; box-shadow: none; }
	.bbs_view_c { font-size: 14px; }
	.cmt_w { border-radius: 0; border-left: 0; border-right: 0; box-shadow: none; }
	.cmt_wgo { background: var(--c-primary); color: #fff; }
	.album_m { margin-bottom: 150px; }
	.album_t { background-image: none; border-radius: 0; }
	.school_wrap, .school_won_w, .school_go_wrap { border-radius: var(--radius-sm); }
	.intro_member_m:hover, .album_m:hover { transform: none; }
}
