/* Author Oliver Shen 08/10/2025
  left banner styling
*/

/* Author Oliver Shen 08/10/2025
   left banner styling
*/
.maingrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
  column-gap: 0;
  min-height: calc(100vh - 60px);   /* 铺满至底（60=顶栏高） */
  align-items: stretch;
}
.maingrid > div { min-width: 0; }   /* 防长内容把列撑偏 */

/* 左栏所在的那一列外边距，避免贴边；并与顶栏 60px 对齐停靠 */
.leftGrid {
  background: #e3e8e5;              /* 你要的底色 */
  padding: 0 0 16px;                 /* 无“向里缩”的左/右 padding */
  box-sizing: border-box;
}

/* 4) leftbanner 本体吸顶：始终固定在顶栏下，不抖不移位 */
.leftBar {
  position: sticky;
  top: 60px;                         /* 等于 .top-banner 高度 */
  z-index: 900;                      /* 低于顶栏，避免遮挡时闪动 */
  padding: 12px;                     /* 你需要的内边距 */
  border-radius: 8px;                /* 可留可去 */
  box-sizing: border-box;
}

.professor-photo{
  display:block;
  margin-top: 10px;
  width: clamp(160px, 30vw, 240px);
  aspect-ratio: 1 / 1;     /* 关键：保持 1:1 */
  height: auto;            /* 配合 aspect-ratio，避免被其他地方固定 */
  border-radius:50%;
  object-fit:cover;
  margin:12px auto 14px; /* 居中 */
}

/* 只作用于左栏姓名，隔离全局 h2 样式 */
.leftBar .name{
  /* 小到大：22px → 2.2vw 自适应 → 上限 30px */
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.15;
  margin: 8px 0 6px;
  /* 允许在列内自然换行，不溢出到右侧 */
  white-space: normal;
  overflow-wrap: anywhere;   /* 长串也能断开 */
  word-break: break-word;
  hyphens: auto;             /* 浏览器支持时更优雅断词 */
  text-wrap: balance;        /* 支持的浏览器更好看（可选） */
}

/* 链接本身不要超出容器宽度 */
.leftBar .name-link{
  display: inline-block;
  max-width: 100%;
  text-decoration: none;
  color: #1a73e8;
  font-weight: 800;
}
.leftBar .name-link:hover{ text-decoration: underline; }


/* 基础信息区：整体居中、逐行 */
.basic-info{
  text-align: center;
  margin: 8px 0 12px;
  font-weight: 300;
}
.basic-info .bi-line{
  margin: 4px 0;
}

/* 名字也一起居中（如果现在不是居中的话） */
.name{ text-align: center; }
.name-link{ display: inline-block; }


/* 普通块级排版：一行放不下就自然换行 */
.unbulleted {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.unbulleted > li {
  margin: 8px 0;
  line-height: 1.5;
  font-weight: 600;              /* 行标题整体偏重一点 */
  /* 不要 display:flex / gap */
}

.unbulleted .item-label {
  display: inline;               /* 与内容同一行 */
  font-weight: 700;
  margin-right: .25em;           /* label 与内容的间距 */
  /* 不要 white-space: nowrap */
}

.unbulleted .item-text {
  display: inline;               /* 与 label 同一行 */
  font-weight: 400;
  overflow-wrap: break-word;     /* 长地址/URL 自然断行 */
  word-break: break-word;
}

.unbulleted > li a {
  font-weight: 400;
  text-decoration: none;
}



