/* common */
input, select, textarea { outline: none;border: none;background-color: transparent;font-family: inherit;}

.title::after { content:'';display:block;margin:15px 0; width:24px;height:16px;background-image: url('../images/icon-case-detail-more.png'); background-size:inherit;background-repeat: no-repeat; background-position: center;  }
.title h1,.title h2 { font-size: 24px;font-weight:700; }
.title span { font-size: 18px;margin-left:10px; color: #999;font-weight:400; }

/* 工地 */
.wrapper {  display: flex; flex-direction: column; width: 100%; height: 100%;}
.search-bar {  padding:18px 18px 18px 58px; background-color: #fff; background-image: url(../images/icon-search.png); background-repeat: no-repeat; background-position: 18px 18px;}
.search-bar input { font-size:16px;border: none;;}
.search-bar, .filters { display: flex; gap: 10px;}
.filters { padding:18px;border-bottom:solid 1px #ddd;display: flex;justify-content: space-between; }
.filters select { font-size:16px;width:33%; }
.main-content { width:100%; background-color: transparent;display: flex; flex: 1;justify-content: space-between; overflow: hidden;}
.map-container { background-color: #666;  width:100%; height:320px;}
.project-list { display: flex; flex-direction: column; background-color: #fff;}
.project-item { align-items: center; padding: 20px;}
.project-item a { display: flex; cursor: pointer;justify-content: space-between;  }
.project-item .project-item-image { width:125px;height:125px;margin-right:20px;overflow: hidden; }
.project-item .project-item-image img {  width: auto; height: 100%; object-fit: cover; overflow: hidden;}
.project-item .project-item-info { flex:1;height:125px;overflow: hidden; }
.project-item .project-item-info h3 { font-size:16px;color:#333;margin-bottom:10px; }
.project-item .project-item-info .tags span { font-size:14px;padding: 2px 5px;border: none;background-color: #f5f5f5;color: #333;border-radius: 4px;margin-right:5px;margin-bottom:5px;display:inline-block; }
.project-item .project-item-info .address { height:24px; padding-left:30px;background-image: url(../images/icon-worksite-address.png);background-repeat: no-repeat;}
.stats { display: flex; justify-content: space-around; padding: 20px; background-color: #f8f8f8; border-bottom: 1px solid #ddd;}
.stat-item { text-align: center;}
.stat-item span { display:block;font-size:24px;margin:10px 0 5px 0; }
.stat-item p { font-size:14px;color:#999; }

/* 工地详情 */
.case-slider { width:100%;background-color: #f5f5f5; }
.case-slider .container { position: relative;padding:0; }
.case-slider .hd { position: absolute;bottom: 40px;width: 100%;text-align: center;z-index: 1; }
.case-slider .hd ul { display: inline-block; list-style: none; padding: 0; margin: 0 auto; }
.case-slider .hd ul li { display: inline-block;margin-right: 2px;width: 12px;height: 12px;border-radius: 50%; background: #fff;cursor: pointer;text-indent: -9999px; }
.case-slider .hd ul li.on { background: #f00;color: #fff; }
.case-slider .bd { position: relative;height: 100%;z-index: 0; }
.case-slider .prev { position: absolute;left: 0;top: 50%;margin-top: -25px;display: block;width: 66px;height: 120px;background: url(../images/icon-case-detail-prev.png) no-repeat;filter: alpha(opacity=50);opacity: 0.5; }
.case-slider .next { position: absolute;left: auto;right: 0;top: 50%;margin-top: -25px;display: block;width: 66px;height: 120px;background: url(../images/icon-case-detail-next.png) no-repeat;filter: alpha(opacity=50);opacity: 0.5; }

.stage-container { display: flex; justify-content: flex-start;flex-wrap: wrap;}
.stage-item { margin-right:20px;}
.stage-item .label { display: block; padding: 10px 15px; border-radius: 5px; background-color: transparent;color:#9a9a9a;}
.stage-item.completed .label { background-color: #fff; color: #333;}
.stage-item.completed.active .label { background-color: #ff4d4f; color: white;}

.case-details { background-color: #f5f5f5;}
.case-details .container { padding: 0 20px 20px 20px;border-bottom-color: #e6e6e6;border-bottom-style:dashed; }

.case-details .info ul { list-style: none;padding: 0;display: flex;flex-wrap:wrap;justify-content: flex-end;}
.case-details .info ul li { width:33%; text-align: left;margin-bottom:20px;}
.case-details .info ul li span { display:block;}
.case-details .info ul li span:first-child { font-weight: bold;color: #333;font-size:16px;}
.case-details .info ul li span:last-child { font-weight:400;color:#8b8b8b;}
.case-designer { background-color: #f5f5f5;}
.case-designer .container { padding:0 20px 20px 20px;border-bottom-color: #e6e6e6;border-bottom-style:dashed;flex-direction: column; }
.case-designer .title::after { content:'';display:block;margin:15px 0; width:24px;height:16px;background-image: url('../images/icon-case-detail-more.png'); background-size:inherit;background-repeat: no-repeat; background-position: center;  }
.case-designer .title h2 { font-size: 24px;font-weight:700; }
.case-designer .title span { font-size: 18px;margin-left:10px; color: #999;font-weight:400; }

.case-designer .info { margin-top: 40px;background-color: #fff;display: flex;flex-direction: column;}
.case-designer .info .designer-image { width:100%; }
.case-designer .info .designer-image img { width: 100%;height: auto;object-fit: cover;}
.case-designer .info .designer-details { padding:20px;}
.case-designer .info .designer-details h2 { margin: 0;font-size: 24px;margin-bottom:30px; }
.case-designer .info .designer-details h2 span { font-size:16px;font-weight:400;margin-left:20px;color:#666; }
.case-designer .info .designer-details p { color:#666; }
.case-designer .info .timeline { position: relative;padding-left: 50px;padding-top: 5px;}
.case-designer .info .timeline::before { content: '';position: absolute;left: 20px;top: 0;bottom: 0;width: 2px;background-color: #ccc; }
.case-designer .info .timeline ul {list-style: none;padding: 0; }
.case-designer .info .timeline ul li { position: relative;margin-bottom: 20px;width:100%; }
.case-designer .info .timeline ul li:last-child { margin-bottom: 0; }
.case-designer .info .timeline .marker { position: absolute;left: -40px;top: 3px;width: 20px;height: 20px;border-radius: 50%;background-color: #fff;border: 2px solid #e6212a; }
.case-designer .info .timeline .content span { display: block;margin-bottom: 5px;color:#666; }

.case-designer .buttons { margin-top:20px; } 
.case-designer .contact-button,
.case-designer .portfolio-button { font-size:16px; padding: 10px 15px; margin-right: 5px; border: none; border-radius: 5px; cursor: pointer;}
.case-designer .contact-button { background-color: red; color: white;}
.case-designer .portfolio-button { background-color: #333; color: white;margin:0;}