/* ===== page about-teammemberdetail (compiled from Vue SCSS) ===== */
@charset "UTF-8";
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.border-top {
  border-top: 1px solid #d9e5e0;
}

.border-left-primary {
  border-left: 4px solid #0b6b5a;
}

.rounded-circle {
  border-radius: 50%;
}

.overflow-hidden {
  overflow: hidden;
}

.align-items-start {
  align-items: flex-start;
}

.h-full {
  height: 100%;
}

.object-cover {
  object-fit: cover;
}

.divider {
  height: 1px;
  background-color: #d9e5e0;
  width: 100%;
}

.hover-underline:hover {
  text-decoration: underline;
}

.avatar-container {
  width: 280px;
  height: 350px;
  flex-shrink: 0;
}

.peer-avatar {
  width: 100px;
  height: 100px;
  object-fit: cover;
}

.experience-list,
.paper-list,
.patent-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.action-btn {
  transition: all 0.3s ease;
}
.action-btn:hover, .action-btn:focus {
  background-color: #0b6b5a !important;
  color: #ffffff !important;
  border-color: #0b6b5a !important;
}
.action-btn:active {
  background-color: #0b6b5a;
  color: #ffffff;
  border-color: #0b6b5a;
  transform: scale(0.96) translateY(2px);
}

/* Reverted from utilities.scss */
.py-8 {
  padding-top: 48px;
  padding-bottom: 80px;
}

.mb-8 {
  margin-bottom: 80px;
}

.mb-6 {
  margin-bottom: 48px;
}

.mb-4 {
  margin-bottom: 24px;
}

.text-center {
  text-align: center;
}

.text-secondary {
  color: #66736e;
}

.text-main {
  color: #1e2b27;
}

.text-sm {
  font-size: 14px;
}

.line-height-lg {
  line-height: 1.8;
}

.max-w-1000 {
  max-width: 1000px;
  margin: 0 auto;
}

.cursor-pointer {
  cursor: pointer;
}

.mb-2 {
  margin-bottom: 12px;
}

.mr-2 {
  margin-right: 12px;
}

.text-primary {
  color: #0b6b5a;
}

.d-flex {
  display: flex;
}

.p-4 {
  padding: 24px;
}

.px-3 {
  padding-left: 16px;
  padding-right: 16px;
}

.py-1 {
  padding-top: 8px;
  padding-bottom: 8px;
}

.mb-3 {
  margin-bottom: 16px;
}

.text-xs {
  font-size: 12px;
}

.font-weight-bold {
  font-weight: bold;
}

.bg-light {
  background-color: #f7faf9;
}

.border {
  border: 1px solid #d9e5e0;
}

.rounded {
  border-radius: 8px;
}

.flex-column {
  flex-direction: column;
}

.justify-between {
  justify-content: space-between;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-1 {
  flex: 1;
}

.gap-8 {
  gap: 80px;
}

.gap-3 {
  gap: 16px;
}

.w-full {
  width: 100%;
}

.hover-up {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-up:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(11, 107, 90, 0.08);
}

.p-8 {
  padding: 80px;
}

.gap-4 {
  gap: 24px;
}

.px-8 {
  padding-left: 80px;
  padding-right: 80px;
}

.gap-6 {
  gap: 48px;
}

.mt-6 {
  margin-top: 48px;
}

.mb-1 {
  margin-bottom: 8px;
}

.pt-8 {
  padding-top: 80px;
}

.ml-2 {
  margin-left: 12px;
}

.my-6 {
  margin-top: 48px;
  margin-bottom: 48px;
}

.pl-4 {
  padding-left: 24px;
}

/* Reverted responsive */
@media (max-width: 767px) {
  .avatar-container {
    width: 100%;
    height: auto;
  }
  @supports not (aspect-ratio: 4/5) {
    .avatar-container {
      padding-bottom: 125%; /* 4/5 比例的 padding-bottom 占位回退 */
      position: relative;
    }
    .avatar-container > img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
  }
  .avatar-container {
    aspect-ratio: 4/5;
  }
}
@media (max-width: 1199px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .avatar-container {
    width: 220px;
    height: 280px;
  }
}
@media (max-width: 767px) {
  .grid-4 {
    grid-template-columns: repeat(2, 1fr); /* 移动端底部同团队成员 1行2列*/
  }
  .member-header {
    flex-direction: column; /* 移动端上下堆叠*/
    gap: 48px !important; /* 缩小间距*/
    padding: 24px !important; /* 缩小内边距*/
    display: flex;
  }
  .left-col {
    width: 100%; /* 左侧内容区(包含头像和经历)撑满*/
    display: contents; /* 让 left-col 不再作为一个独立的 flex item，使其子元素直接参与 member-header 的 flex 排序*/
  }
  .avatar-container {
    width: 100% !important;
    height: auto !important;
  }
  @supports not (aspect-ratio: 4/5) {
    .avatar-container {
      padding-bottom: 125%;
      position: relative;
    }
    .avatar-container > img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
  }
  .avatar-container {
    aspect-ratio: 4/5;
    order: 1; /* 头像排第一*/
  }
  .info-content {
    width: 100%; /* 右侧详情区撑满*/
    display: flex;
    flex-direction: column;
    order: 2; /* 基本信息排第二*/
  }
  .info-content .basic-info-section {
    order: 1;
  }
  .info-content .divider {
    order: 2;
  }
  .info-content {
    /* 将 info-content 中剩余的部分包装到一个统一的 order 里*/
  }
  .info-content h3,
  .info-content .text-secondary {
    order: 3;
  }
  .info-content .action-btn {
    width: 100%; /* 按钮占满一行*/
    margin-top: 24px;
  }
  .experience-section {
    order: 3; /* 经历排最后（即原本在 info-content 下面展示的内容之下）*/
    width: 100%;
    margin-top: 24px;
  }
  .research-section {
    padding: 24px !important; /* 缩小内边距*/
  }
  .research-section .tags-container {
    display: grid !important; /* 覆盖原本的 d-flex*/
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .research-section .tags-container .tag {
    display: block; /* 使 text-align 在 span 元素上生效*/
    text-align: center;
    padding-left: 8px;
    padding-right: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}