﻿ * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size:16px;
      line-height: 1.6;
      color: #333;
      background-color: #f8f9fa;
 
      min-height: 100vh;

            display: grid;
            grid-template-areas: 
                "header header"
                "sidebar container";
               
             
            grid-template-columns: 6.4rem 1fr;
            grid-template-rows: auto 1fr;
    
    }
    ul{ list-style:none;}
  a{  text-decoration:none;color: #777777;}
    .header {
      background-color: #fff;
      padding: 5px 10px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
      box-sizing: border-box;
      grid-area: header;
            position: sticky;
           top: 0px;
      
      z-index: 100;
      display: flex;
      justify-content: space-between;
      align-items: center;
      height:50px;
    }
     .header a:first-child{ display:flex;justify-content: center; align-items: center; overflow:hidden; height:2.5rem; padding:5px;  box-sizing: border-box;}
    .header a img{max-width:100%;max-height:100%; object-fit:contain;}
 
  
 
    .content-wrapper {
      display: flex;
      flex: 1;
   
      overflow: hidden;
          display: grid;
      grid-template-columns: 6.4rem 1fr;
      gap: 0px;
    }
    .main-content {
    display: grid;
      grid-template-columns: 6.4rem 1fr;
      gap: 0px;
    }
    .sidebar {
        grid-area: sidebar;
            position: sticky;
        
      background-color: #fff;
      border-right: 1px solid #e0e0e0;
      overflow-y: auto;
      height: calc(100vh - 90px);
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .sidebar::-webkit-scrollbar {
      display: none;
    }
    .teachers-container-wrap {
         grid-area: container;
            position: sticky;
     
      padding: 6px;
      overflow-y: auto;
      height: calc(100vh - 90px);
      position: relative;
    }
    .menu-list {
      list-style: none;
    }
    .menu-item {
      border-bottom: 1px solid #f0f0f0;
    }
    .menu-link {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 12px 16px;
      color: #333;
      text-decoration: none;
      cursor: pointer;
      transition: background-color 0.2s;
    }
    .menu-link:hover {
      background-color: #f5f5f5;
    }
    .menu-link.active {
      background-color: #e8f0fe;
      color: #1967d2;
    }
    .menu-link .arrow {
      transition: transform 0.3s;
      font-size: 12px;
    }
    .menu-link.active .arrow {
      transform: rotate(90deg);
    }
    .submenu {
      display: none;
      background-color: #f9f9f9;
    }
    .submenu.active {
      display: block;
    }
    .submenu-link {
      display: block;
      padding: 8px 16px 8px 32px;
      color: #666;
      text-decoration: none;
      transition: background-color 0.2s;
    }
    .submenu-link:hover {
      background-color: #f0f0f0;
    }
    
    
    
    
     .submenu-link:hover,
        .submenu-link.selected {
       
             color:Red;
             position: relative;
        }
        .submenu-link.selected::before {
          content: '✓';
          position: absolute;
          left: 0.75rem;
           color:Red;
        }
    
    
    
    
    
    
    .submenu-link.active {
      background-color: #e8f0fe;
      color: #1967d2;
      font-weight: 500;
    }
  
   
  
 
    
    
    /* 老师列表 */
    
    
      .page-title {
      font-size: 1.1rem;
      margin-bottom: 8px;
      color: #333;
      text-align:center;
          background-color:white;
            padding:8px ;
    }
    
    .teacher-list-card-link
    {
    	display: block;
    	 text-decoration: none; 
    	 color: #444; 
    	 max-width:100%; 
    	 margin: 1rem auto;
    	  border-radius: 8px; 
    	  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    	  }
    	  
    .teacher-list-card-container{padding: 0.25rem; text-align: center; background: #fff; font-size: 0.9rem; font-weight: 600; line-height: 1.4; border-radius: 8px;}

  	.teacher-list-card-container img{width: 100%; height: auto; display: block; border-radius: 8px 8px 0 0;}
    
    
    
    
    
    
    .choosed {
     
      padding:8px 8px 8px 1rem;
      margin-bottom: 16px;
      border-radius:  8px;
      box-shadow: 0 4px 16px rgba(0,0,0,0.1);
      transition: all 0.3s ease;
      position: sticky;
      top: -1rem; /* 与header高度一致 */
      z-index: 90;
      display:flex;
          justify-content: space-around;
      align-items: center;
      
       background-color:#FBFFF3;
  	
  	flex-wrap:wrap;
    }
           .choosed:before 
        {
        	content:"已选";
        	font-size:0.7rem;
        	color:White;
             display:flex;
             align-items:center;
        	width:0.9rem;
        	height:100%; 
        	position:absolute;
        	left: 0;
        	top:0;
            text-align:center;
        	 z-index: 80;
      background-color: red;
      border-radius:  8px 0 0 8px;
    }
    
    .choosed a{
      display: inline-block;
      margin: 2px 3px;
      border-radius: 4px;
      color: #444444;
      position:relative;
      font-size: 0.9rem;
      &:after
      {
       position:absolute;
       top:-0.3rem;
        content:"x";
         height:0.7rem;
         width:0.7rem;
         font-size:0.7rem;
         color:Red;
             right:-0.7rem;
      
      }
    }
    

    
    .choosed a:hover {
      background-color: #e0e0e0;
    }
    
 
    .teacher {
      background-color: #fff;
      padding:6px;
      border-radius: 8px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
      overflow: hidden;
      transition: transform 0.2s, box-shadow 0.2s;
       margin:12px auto;
      transform: translateY(-2px);
      box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    }
 
    
   .teaR,  .teacher-inf-dl {
    display: grid;
    grid-template-columns:5rem 1fr;
    gap: 0.5rem 0rem;
    width: 100%;
     align-items:baseline;/*文字bottom对齐*/
  }
  
 .teaR dt, .teaR dd , .teacher-inf-dl dt, .teacher-inf-dl dd{
    margin: 0;
    padding: 0;
    white-space: nowrap;    /* 禁止换行 */
    overflow: hidden;       /* 溢出内容隐藏 */
    text-overflow: ellipsis; /* 溢出内容用省略号表示 */
    
   
  }
  
 .teacher-inf-dl dt,.teaR dt {
    font-weight: bold;
    grid-column: 1;
    
  }
  
   .teacher-inf-dl dd,.teaR dd {
    grid-column: 2; font-size:0.9rem; color:#666666;
  }
  .way-of-tutoring{color:#4A90E2; font-size:1rem;}
  
  .teacher-inf-dl{ width:65%; grid-template-columns:3rem 1fr;}
  
  .teacher-header
  {
  	

  
      display: flex;
      justify-content: space-between;
      align-items: center;
  	
  	flex-wrap:wrap;
  	}
  	
  	
  	.teacher-img{ width:30%; display:flex;  justify-content: center; align-items: center; overflow:hidden; border-radius:12px; }
  	  	.teacher-img img{ max-width:100%;max-height:100%; object-fit:contain;}
 
  	
  	.teacher-header h2{ font-size:1.1rem; color:#333333; width:100%;}
  	
  	.short-introduction,.online{ margin: 5px auto;color:#999999;font-size:0.8rem; letter-spacing:1px;}
  	
  	
  	  .biaoqian{display: -webkit-flex;display: flex;justify-content:space-around;margin:5px auto; width:98%; }
.biaoqian>span{ font-size:0.8rem; margin:2px; padding:1px 5px; border-radius:8px;  display:inline-block; text-align:center; box-shadow: 0 1px 4px rgba(0,0,0,0.1);
      transition: all 0.3s ease;color:white;}
.biaoqian>span:nth-child(1){background-color:#BFD4FF;}
.biaoqian>span:nth-child(2){background-color:#AEFF77;}
.biaoqian>span:nth-child(3){background-color:#20C1FF; }
.biaoqian>span:nth-child(4){background-color:#20FF20;}
.biaoqian>span:nth-child(5){background-color:#88FF88;}
  	
/*推荐老师*/
 .courses-container-wrap
 {
 	 width:98%; padding:4px;  margin:0 auto;
 	border-radius:8px;   box-shadow: 0 1px 4px rgba(0,0,0,0.1);
 	
 	}
  
  
.courses-container-wrap dl
 {
 	display:grid;
 	width:100%;
 	min-height:90px;
 	height:auto;
 	grid-template-columns:30px 1fr;
 	gap:0;
 	text-decoration:none;
 	 margin:10px auto;
}
  
.courses-container-wrap dl dt
 {
 	grid-column:1;
 	 
 	  font-size:1rem;
 	 display:flex;
 	 align-items:center;
 	 justify-content:center;
 	 text-align:center;
 	 border-radius:4px 0 0 4px;
 	 background-color:#CFCCFF;
 	 color:#777777;
 	  
}
.courses-container-wrap dl dd
 {
 
 	 display:flex;
 	 align-items:center;
 	 justify-content:start;   
 	 padding:4px;
 	  border-radius:0 4px 4px 0 ;
 	 background-color:#E9F7FC;
 	 flex-wrap:wrap;
 	 padding:4px;
}
 
 
 
  

/*---------footer---------------------*/



footer{ margin:4rem auto; margin-bottom:6rem; width:96%; position:relative;}
footer:before{ width:90%; content:""; background-color:Lime; height:5px; top:-20px; left:5%; position:absolute;}





    footer figure{padding: 0.25rem; text-align: center; width:86%; margin:1rem auto; border-radius: 8px;}

  	 footer figure img{width: 100%; height: auto; display: block; border-radius: 8px 8px 0 0;}
 footer figure figcaption{ font-size:1.4rem; padding:12px; color:Olive;}

.other-nav{display:flex; flex-wrap:wrap; align-items:center;
 	  justify-content: space-between;margin:12px auto;}
 	 
  .other-nav span:first-child{ width:100%; margin:4px auto; text-align:center;}
 .other-nav a{ width:auto; }
 
 
 .city-nav ul{display:flex; flex-wrap:wrap; align-items:center;
 	  justify-content: space-around;margin:12px auto;}
 
  .city-nav ul li{margin:6px;}
 
  
 
   .inf {
            display: grid;
            grid-template-columns: repeat(10, 1fr);
            gap: 1px;
            background-color: #ddd;
            border: 1px solid #ddd;
            width:100%;
            
           
        }
            .inf  dt, .inf  dd {
            padding: 4px;
            background-color: white;
             text-align:center;
             letter-spacing:1px;
 
        }
     .inf  dt {
           
             font-weight:bold;
           font-size:0.9rem;
        }
         .inf  dd {
       
            background-color: white;
             text-align:center;
           font-size:0.8rem;
           display:flex;
            flex-wrap:wrap; align-items:center;
 	  justify-content: space-around; 
           
        }
        .inf  dd >a{ letter-spacing:2px; margin:3px auto;}
    
        
        /* 第一组：两个术语-描述对，各占50% */
        .inf  dt:nth-of-type(1) {grid-row:1;  grid-column: 1 / span 5; } /* 项目1 */
        .inf  dd:nth-of-type(1) {grid-row:2;  grid-column: 1 / span 5; } /* 描述1 */
        
        .inf  dt:nth-of-type(2) {grid-row:1; grid-column: 6 / span 5; } /* 项目2 */
        .inf  dd:nth-of-type(2) { grid-row:2;grid-column: 6 / span 5; } /* 描述2 */
          
        
        
        /* 第二、四组：全宽术语-描述 */
        .inf  dt:nth-of-type(3), .inf  dt:nth-of-type(5) { grid-column: 1 / span 10; }
       .inf   dd:nth-of-type(3), .inf   dd:nth-of-type(5){ grid-column: 1 / span 10; }
        
        /* 第三组：30%-70%分布 */
       .inf   dt:nth-of-type(4) { grid-column: 1 / span 3; }
       .inf   dd:nth-of-type(4) { grid-column: 4 / span 7; }
 
    /* 第五组：各占50%分布，与第一组不同，此处横向排列 */
 
 
  .inf   dt:nth-of-type(6) { grid-column: 1 / span 5; }
       .inf   dd:nth-of-type(6) { grid-column: 6 / span 6; }
 
 
        .fixed-bar {
      background-color: #0d6efd;
 
      text-align: center;
      border-top: 1px solid #e0e0e0;
 grid-area: fixed-bar;
            position:fixed;
           bottom:0;
           left:0;
      z-index: 100;
      height:40px;
      width:100%;
      display:flex;
        align-items:center;
 	  justify-content: space-around; 
    }
      .fixed-bar li{ width:33.333%;  height:100%; }
   .fixed-bar li:nth-child(2){ border-left:solid 1px #DCDCDC;border-right:solid 1px #DCDCDC;}
   
        .fixed-bar li a{ width:100%;  height:100%; font-size:0.9rem; line-height:40px; color:white; display:inline-block;}
 
   .fixed-bar li a:hover{ color:white; text-decoration:none;}
 
 
 
 
 
  	    @media (max-width: 768px) 
  	    {
  	    	
 
    
    
      .content-wrapper {
        margin-top: 52px;
        margin-bottom: 52px;
      }
      .sidebar {
        
        height: calc(100vh - 90px);
      }
      .teachers-container-wrap {
        padding: 6px;
        height: calc(100vh - 90px);
      }
    

     
      .menu-link {
        padding: 10px 12px;
        font-size: 14px;
      }
      .submenu-link {
        padding: 6px 12px 6px 24px;
        font-size: 13px;
      }
 
    }

    @media (max-width: 480px) 
    {
 
    	
 
 
    
     
    }
    
    
     @media (max-width: 380px) 
    {
 
    	
 
   .teachers-container-wrap {
        padding: 6px;
        height: calc(100vh - 90px);
  
      }
    
    }
    
    
    
    
    
    /*----------分页导航-----------*/
    
    
 
    .mobile-pager-container {
        display: flex;
        justify-content: center;
        margin: 16px 0;
        width: 100%;
    }
    .mobile-pager {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        padding: 12px 16px;
        background-color: #f8f9fa;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        font-family: Arial, sans-serif;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* 隐藏滚动条但保留功能 */
    }
    .mobile-pager::-webkit-scrollbar {
        display: none; /* 隐藏WebKit浏览器的滚动条 */
    }
    .pager-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        height: 44px;
        background-color: #0d6efd;
        color: white;
        border-radius: 4px;
        text-decoration: none;
        transition: all 0.2s;
        padding: 0 8px;
        flex-shrink: 0; /* 防止按钮被压缩 */
    }
    .pager-btn:hover {
        background-color: #0a58ca;
        transform: scale(1.05);
    }
    .pager-icon {
        font-size: 18px;
        font-weight: bold;
    }
    .pager-current {
        font-size: 14px;
        color: #333;
        min-width: 100px;
        text-align: center;
        font-weight: bold;
        white-space: nowrap;
        flex-shrink: 0; /* 防止页码被压缩 */
    }
    
    /* 移动端适配 */
    @media (max-width: 480px) {
        .mobile-pager {
            gap: 4px;
            padding: 8px 12px;
        }
        .pager-btn {
            min-width: 36px;
            height: 36px;
        }
        .pager-icon {
            font-size: 16px;
        }
        .pager-current {
            font-size: 13px;
        }
    }
 