/* ===== 7. 모바일 영상 리스트 - 기본적으로 숨김 ===== */
.mobile-upnext{display:none}
.mobile-upnext.show{display:block}

.mobile-upnext .video-grid{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.mobile-upnext .video-card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
}

.mobile-upnext .video-card .thumb{
  width:100%;
  aspect-ratio:16/9;
  background:var(--thumb-bg);
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:13px;
}

.mobile-upnext .video-card .meta{padding:10px 12px}
.mobile-upnext .video-card .title{
  font-weight:600;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}

.mobile-upnext .video-card .sub{
  margin-top:6px;
  font-size:13px;
  color:var(--muted);
  display:flex;
  gap:10px;
  flex-wrap:wrap
}

/* ===== 8. 모바일 분류선택 영역 ===== */
.mobile-categories{
  margin:12px;
  margin-bottom:0;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
}

/* 영상 재생 모드에서의 모바일 분류선택 영역 */
.video-section .mobile-categories {
  margin: 12px 12px 12px 12px;
}

.mobile-categories h3{
  margin:0;
  padding:12px;
  border-bottom:1px solid var(--border);
  font-size:15px;
  font-weight:600;
}

.mobile-categories .categories{
  padding:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.mobile-categories .categories button{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:8px;
  padding:6px 12px;
  font-size:13px;
  cursor:pointer;
  transition:all 0.2s ease;
  white-space:nowrap;
}

.mobile-categories .categories button:hover{
  background:var(--hover);
}

.mobile-categories .categories button.active{
  background:var(--primary);
  color:white;
  border-color:var(--primary);
}

.mobile-categories .categories .count{
  color:var(--muted);
  font-size:12px;
}

.mobile-categories .categories button.active .count{
  color:rgba(255,255,255,0.8);
}

/* ===== 9. 반응형 ===== */
/* 데스크톱 (961px 초과) */
@media (min-width: 961px) {
  .main-container{
    grid-template-columns:1fr 450px;
    gap:24px;
    padding:24px
  }
  .sidebar-section{display:flex}
  .mobile-upnext{display:none !important}
  .mobile-category{display:none !important}
  .search input{width:300px}
}

/* 모바일 (960px 이하) */
@media (max-width: 960px) {
  .main-container{
    grid-template-columns:1fr;
    gap:0;
    padding:0;
    max-width:100%;
    margin:0;
    width:100%
  }
  .sidebar-section{display:none}
  .video-section{padding:0;width:100%}
  header{padding:12px 16px}
  .player{
    max-width:100%;
    margin:0;
    border-radius:0;
    width:100%;
    aspect-ratio:16/9;
    max-height:50vh
  }
  .search{max-width:600px}
  .search input{width:200px}
  .video-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding:12px
  }
  .mobile-upnext.show{
    display:block;
    margin:8px 12px
  }
  .mobile-upnext{
    display:block;
    margin:8px 12px
  }
  .video-meta{padding:8px 12px}
  /* 모바일 분류선택 영역 - 데스크톱 스타일과 통일 */
  .mobile-category {
    margin: 20px 12px 8px 12px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
  }
  
  .mobile-category h3 {
    margin: 0;
    padding: 12px;
    border-bottom: 1px solid var(--border);
    font-size: 15px;
    font-weight: 600;
  }
  
  /* 카테고리 내부 영역 스타일 */
  .mobile-category .category-wrap {
    padding: 10px;
    border-bottom: 1px solid var(--border);
  }
  
  .mobile-category #mobile-category-nav {
    padding: 10px;
  }
  
  /* 모바일 화면에서 카테고리 네비게이션 스타일 조정 - 데스크톱과 동일하게 */
  .mobile-category .category-path {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
  }
  
  .mobile-category .category-item {
    margin-bottom: 5px;
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 6px;
    border: 1px solid var(--border);
    background: var(--chip-bg);
    color: var(--text);
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    transition: all 0.2s ease;
  }
  
  .mobile-category .category-item:hover {
    background: var(--input-bg);
    border-color: var(--accent);
  }
  
  /* 화면 50%일 때 댓글 영역 좌우 여백 */
  .comments-section {
    margin: 8px 12px 0 12px;
  }
  
  /* 데스크톱에서는 모바일 분류선택 영역 숨김 */
  @media (min-width: 961px) {
    .mobile-categories {
      display: none !important;
    }
  }
}

/* 터치 디바이스 최적화 */
@media (hover: none) and (pointer: coarse) {
  .search-btn{min-height:44px}
  .mode-toggle{min-height:44px;min-width:44px}
  .tags-toggle{min-height:36px;padding:8px 12px}
  .categories button{min-height:36px;padding:8px 12px}
  .item{min-height:60px}
  .video-card a{min-height:120px}
}

/* 고해상도 디스플레이 대응 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .logo-icon{image-rendering: -webkit-optimize-contrast}
  .thumb img{image-rendering: -webkit-optimize-contrast}
}

/* ===== 9. 브레이크포인트별 클래스 스타일 ===== */
/* 터치 디바이스 최적화 */
.touch-device .search-btn,
.touch-device .mode-toggle,
.touch-device .tags-toggle,
.touch-device .categories button {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.touch-device .video-card a,
.touch-device .item {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* 브레이크포인트별 특별한 스타일 */
.bp-mobile .sidebar-section {
  display: none !important;
}

.bp-mobile .player {
  max-width: 100%;
  margin: 0;
  border-radius: 0;
  width: 100%;
  aspect-ratio: 16/9;
  max-height: 50vh;
}

.bp-mobile .video-meta {
  padding: 8px 12px;
}
