/* member.css */

/* --- Member Layout --- */
.member_content_wrap { padding-top: 50px; padding-bottom: 100px; }

/* List View */
.member_header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #111; padding-bottom: 20px; margin-bottom: 40px; }
.member_header h3.page_title { font-size: 2rem; font-weight: 700; color: #111; }
.member_header .total_count { color: #666; font-size: 1rem; } 

.member_grid { } 

.member_item { transition: all 0.3s; }

.member_item:hover .mem_img_box img { transform: scale(1.05); }

.mem_img_box { max-width:420px; max-height: 580px; min-height: 580px; min-width:420px; background: #EBF0F6; margin-bottom: 20px; border-radius: 0px; overflow: hidden; position: relative; display: flex; justify-content: center; align-items: center; } 

.mem_img_box img { width: 100%; height: 100%; object-fit: cover; display: block; object-position: 0 30px; transition: transform 0.4s ease; } 

/* Fallback if no image */
.mem_img_box:empty::before { content: "No Image"; color: #ccc; font-size: 0.9rem; } 

.overlay_name { position: absolute; top: 8px; left: 0; width: 100%; text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 3rem; color: #111; font-weight: 700; z-index: 2; } 

.mem_info { text-align: left; }

.mem_info h4.k_name { font-size: 1.375rem; font-weight: 700; margin-bottom: 8px; color: #111; }

.lab_wrap { font-size: 1.125rem; line-height: 1.4; } 

.lab_e { font-family:'Montserrat', serif; color: #888; font-size: 0.85rem; margin-top: 2px; }

.lab_link{display:flex; gap:6px; align-items: center;}

.lab_k:hover, .lab_link:hover {text-decoration:underline}

/* Detail View */
#member_detail_view { padding-top: 0; animation: fadeIn 0.5s ease; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.detail_top_nav { display: flex; justify-content: flex-end; margin-bottom: 20px; } 

.btn_back_list { padding: 8px 20px; border: 1px solid #ddd; background: transparent; cursor: pointer; border-radius: 0; display: flex; align-items: center; gap: 5px; font-size: 0.9rem; color: #555; transition: all 0.2s; }

.btn_back_list:hover { background: #111; color: #fff; border-color: #111; }

.prof_profile_section { display: flex; gap: 60px; align-items: flex-start; position: relative; }

.prof_profile_section::after { content:""; position: absolute; display:block; border-top: 1px solid #d9d9d9; top:0; left:0; width:100vw; height:1px; } 

.prof_img_col { flex: 0 0 400px; min-width:590px; } 

.prof_img_col::before { content:""; position:absolute; top:0; left:-100%; display:block; background:#DDE3ED; width:100%; height:100%; max-height: 649px; } 

.img_placeholder { width: 100%; aspect-ratio: 1 / 1.1; background: #EBF0F6; border-radius: 0; background: url(/site/mse2/img/common/img_placeholder2.png) no-repeat; background-size:contain; } 

.img_placeholder img { width: 100%; height: 100%; object-fit: contain; }

.prof_info_col { flex: 1; } 

.prof_name_grp { margin: 110px 0 40px 0; display: flex; flex-direction: column; align-items: flex-start; } 

.p_role { font-family: 'Frank Ruhl Libre', serif; font-size: 34px; color: #6E6E6E; margin-bottom: 5px; font-weight: 700; }

.p_name { font-size: 4.25rem; color: #111; font-weight: 700; line-height: 1.1; } 

.p_pro{font-size: 2rem; color: #666; padding-left: 14px; font-weight: 500;}

.p_e_name { font-family:'Montserrat', serif; font-size:1.25rem; margin-top:12px; font-weight:600; color: #666; } 

.badge_about { font-family:'Montserrat', serif; display: inline-block; padding: 8px 30px; border: 1px solid #ddd; border-radius: 40px; font-size: 1.125rem; color: #666; background: #fff; margin-bottom: 40px; font-weight:600; }

.prof_spec_table { display: flex; flex-direction: column; gap: 24px; font-size: 20px; }

.prof_spec_table .row { display: flex; align-items: flex-start; }

.prof_spec_table .th { width: 140px; font-weight: 600; color: #111; flex-shrink: 0; } 

.prof_spec_table .td { color: #313131; flex: 1; } 

.profileView2 { margin-top:140px; } 

/* Detail Body */
.prof_detail_body { gap: 60px; margin-bottom: 40px; } 

.prof_detail_body .col_left { flex: 1; } 

.prof_detail_body .col_right { flex: 1; } 

.detail_block { margin-bottom: 60px; } 

.block_title { font-size: 24px; font-weight: 700; color: #111; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; position: relative; padding-left: 15px; } 

.block_title .bar { position: absolute; left: 0; top: 8px; width: 4px; height: 18px; background: #3671D4; }

.research_chart_img { width: 100%; }

.research_chart_img img { width: 100%; height: auto; object-fit: contain; background: #f9f9f9; border: 1px solid #eee; } 

/* Research Box */
.gray_research_box { background: #f0f4f8; padding: 40px; border-radius: 0; } 

.res_title {font-size: 2rem; font-weight: 700; margin-bottom: 20px; color: #5f758a; }

.res_desc { color: #555; line-height: 1.6; font-size: 1.125rem; } 


/* List Styles */
ul.txt_list, ul.paper_list { padding-left: 0; list-style: none; border-radius: 5px; background: #F9F9F9; padding: 30px 35px; }

ul.txt_list li, ul.paper_list li { margin-bottom: 12px; font-size: 18px; color: #444; line-height: 1.6; position: relative; padding-left: 10px; } 

ul.txt_list li { padding-left: 0; }


/* Responsive */
@media screen and (max-width: 1024px) {
    .member_grid { grid-template-columns: repeat(2, 1fr); } 
    .prof_profile_section { flex-direction: column; gap: 20px; } 
    .prof_img_col { width: 100%; max-width: 100%; flex: none; position:relative; } 
    .prof_info_col { width: 100%; } 
    .prof_detail_body { flex-direction: column; gap: 0; } 
    .p_name { font-size: 3rem; }
    .prof_profile_section::after, .prof_profile_section::before, .prof_img_col::before { display:none; }
    .prof_name_grp { margin: 40px 0 40px 0; } 
    .profileView2 { margin-top:80px; }
}

@media screen and (max-width: 600px) {
	.prof_img_col{min-width:490px}
    .member_grid { grid-template-columns: 1fr; } 
    .p_name { font-size: 2.2rem; }
    .member_header { flex-direction: column; align-items: flex-start; gap: 10px; } 
    .prof_profile_section { gap:0; }
}