/* Home active styles. Consolidated after CSS cleanup. */
.banner-section{width:100%;margin:34px 0 20px;}
.banner{width:100%;height:280px;border-radius:12px;overflow:hidden;position:relative;background:transparent;}
.banner-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .35s ease;}
.banner-slide.is-active{opacity:1;pointer-events:auto;}
.banner-link{display:block;width:100%;height:100%;text-decoration:none;color:inherit;}
.banner-static{display:block;width:100%;height:100%;text-decoration:none;color:inherit;}
.banner img{width:100%;height:100%;object-fit:cover;display:block;}
.banner-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border:0;border-radius:50%;background:rgba(17,17,17,.48);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;}
.banner-nav:hover{background:rgba(17,17,17,.68);}
.banner-nav.prev{left:12px;}
.banner-nav.next{right:12px;}
.banner-dots{position:absolute;left:0;right:0;bottom:12px;z-index:3;display:flex;justify-content:center;gap:8px;}
.banner-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.58);cursor:pointer;}
.banner-dot.is-active{width:20px;border-radius:999px;background:#fff;}
.search-section{width:100%;margin:20px 0;display:flex;justify-content:center;align-items:center;}
.search-box{background-color:#fff;border:1px solid #ddd;padding:10px 16px;border-radius:8px;display:flex;gap:12px;align-items:center;width:100%;max-width:800px;transition:border-color 0.3s ease;}
.search-box:focus-within{border-color:#000;}
.search-box input{border:none;background:none;outline:none;width:100%;font-size:14px;color:#333;}
.search-box input::placeholder{color:#ccc;}
.search-box button{background-color:#000;color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;white-space:nowrap;border:none;cursor:pointer;transition:background-color 0.2s ease;}
.search-box button:hover{background-color:#333;}
.tag-area{margin:28px 0;width:100%;display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:nowrap;}
.tag-area strong{flex:0 0 auto;font-size:16px;color:#333;white-space:nowrap;}
.tag-track{flex:1 1 auto;min-width:0;overflow:hidden;}
.tag-list{display:flex;align-items:center;gap:8px;white-space:nowrap;width:100%;max-width:100%;overflow:hidden;}
.tag-area a.tag{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;background-color:#f0f0f0;border-radius:20px;font-size:14px;color:#666;text-decoration:none;transition:all 0.2s ease;}
.tag-area a.tag:hover{background-color:#000;color:#fff;}
.tag-area a.tag.active{background-color:#000;color:#fff;}
.tag-area .tag-empty{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;background-color:#f7f7f7;border-radius:20px;font-size:14px;color:#999;text-decoration:none;transition:all 0.2s ease;}
.tag-area .clear-tag{flex:0 0 auto;background-color:#000;color:#fff;white-space:nowrap;}
.works-wrap{width:100%;position:relative;margin-bottom:40px;}
.filter-bar{display:flex;justify-content:flex-end;margin-bottom:16px;gap:8px;}
.filter-btn{padding:8px 16px;background-color:#f5f5f5;border-radius:8px;font-size:14px;color:#666;cursor:pointer;border:none;transition:all 0.2s ease;}
.filter-btn:hover{background-color:#f0f0f0;}
.filter-btn.active{background-color:#000;color:#fff;font-weight:600;}
.home-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}
.home-crawl-pagination:focus-within{position:fixed;z-index:1000;left:16px;bottom:16px;width:auto;height:auto;margin:0;padding:10px 14px;overflow:visible;clip:auto;white-space:normal;border:1px solid #ddd;border-radius:8px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.14);display:flex;align-items:center;gap:12px;}
.home-crawl-pagination a{color:#111;text-decoration:underline;}
.no-results{text-align:center;padding:80px 20px;background:#f9f9f9;border-radius:12px;margin:20px 0;}
.no-results-icon{font-size:48px;margin-bottom:16px;display:block;}
.no-results p{color:#999;font-size:16px;margin-bottom:20px;}
.back-home-btn{display:inline-block;padding:10px 24px;background:#000;color:#fff;text-decoration:none;border-radius:6px;font-size:14px;transition:background-color 0.2s ease;}
.back-home-btn:hover{background-color:#333;}
@media (max-width: 768px){
  .banner-section{margin:16px 0;padding:0 12px;box-sizing:border-box;}
  .banner{height:auto;aspect-ratio:auto;border-radius:8px;background:transparent;}
  .banner-slide{display:none;position:absolute;}
  .banner-slide.is-active{display:block;position:relative;}
  .banner-link,
    .banner-static{height:auto;}
  .banner img{height:auto;object-fit:contain;}
  .banner-nav{width:30px;height:30px;font-size:20px;}
  .search-section{margin:16px 0;padding:0 12px;box-sizing:border-box;}
  .search-box{padding:9px 12px;gap:10px;}
  .search-box input{font-size:13px;}
  .search-box button{padding:7px 14px;font-size:13px;}
  .tag-area{margin:20px 0;gap:10px;padding:0 12px;box-sizing:border-box;}
  .tag-area strong{font-size:15px;}
  .tag-area a.tag{padding:5px 10px;font-size:13px;}
  .tag-area .tag-empty{padding:5px 10px;font-size:13px;}
  .tag-area .clear-tag{padding:5px 12px;}
  .works-wrap{margin-bottom:20px;padding:0 12px;box-sizing:border-box;}
  .filter-bar{margin-bottom:12px;justify-content:center;gap:6px;flex-wrap:wrap;}
  .filter-btn{padding:6px 12px;font-size:13px;}
  .no-results{padding:60px 16px;margin:20px 12px;}
  .no-results-icon{font-size:40px;}
  .no-results p{font-size:14px;}
}
@media (max-width: 480px){
  .banner-section{margin:12px 0;padding:0 8px;box-sizing:border-box;}
  .banner{height:auto;border-radius:6px;}
  .banner-nav{display:none;}
  .search-section{margin:12px 0;padding:0 6px;box-sizing:border-box;}
  .search-box{padding:8px 10px;gap:8px;border-radius:6px;}
  .search-box input{font-size:12px;}
  .search-box button{padding:6px 12px;font-size:12px;}
  .tag-area{margin:16px 0;gap:8px;padding:0 8px;box-sizing:border-box;}
  .tag-area strong{font-size:13px;}
  .tag-area a.tag{padding:4px 8px;font-size:11px;}
  .tag-area .tag-empty{padding:4px 8px;font-size:11px;}
  .tag-area .clear-tag{padding:4px 10px;font-size:11px;}
  .works-wrap{margin-bottom:16px;padding:0 6px;box-sizing:border-box;}
  .filter-bar{margin-bottom:10px;gap:4px;justify-content:center;flex-wrap:wrap;}
  .filter-btn{padding:5px 10px;font-size:12px;}
  .no-results{padding:40px 12px;border-radius:8px;margin:16px 8px;}
  .no-results-icon{font-size:32px;margin-bottom:12px;}
  .no-results p{font-size:13px;}
  .back-home-btn{padding:8px 20px;font-size:12px;}
}
@media (min-width: 600px) and (max-width: 768px){
  .filter-bar{justify-content:flex-end;}
}
