@charset "utf-8";


/* --------------------------------------------------------
게시판 목록 스타일 - FLASH MIXED (갤러리 + 리스트 혼합형)
----------------------------------------------------------*/
.boardListWrap {position:relative;}

/* 게시물 목록 컨테이너 */
[data-board="flash_mixed"] {display:flex; flex-direction:column; gap:40px;}

/* ============================================================
갤러리 영역 (썸네일 있는 작품)
============================================================ */
.gallery-section {width:100%;}

.gallery-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
    gap:24px;
    padding:20px 0;
}

.gallery-item {
    position:relative;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
    transition:all 0.3s ease;
}

.gallery-item:hover {
    transform:translateY(-4px);
    box-shadow:0 8px 24px rgba(0,0,0,0.12);
}

.gallery-item.bo_notice {
    border:2px solid var(--color-prime);
}

.gallery-item.active {
    border:2px solid var(--color-prime);
    box-shadow:0 0 0 3px rgba(var(--color-prime-rgb, 0, 123, 255), 0.2);
}

/* 갤러리 체크박스 */
.gallery-check {
    position:absolute;
    top:12px;
    left:12px;
    z-index:10;
    background:rgba(255,255,255,0.9);
    border-radius:6px;
    padding:4px;
}

.gallery-check input[type="checkbox"] {
    margin:0;
}

/* 갤러리 썸네일 */
.gallery-thumb {
    display:block;
    position:relative;
    width:100%;
    padding-top:56.25%; /* 16:9 비율 */
    overflow:hidden;
    background:var(--board-gray-100);
}

.thumb-wrapper {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.thumb-wrapper img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.3s ease;
}

.gallery-item:hover .thumb-wrapper img {
    transform:scale(1.05);
}

.thumb-overlay {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%);
    opacity:0;
    transition:opacity 0.3s ease;
    display:flex;
    align-items:flex-end;
    padding:12px;
}

.gallery-item:hover .thumb-overlay {
    opacity:1;
}

.thumb-info {
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}

.thumb-info .badge {
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:4px;
    font-size:11px;
    font-weight:600;
    color:#fff;
    backdrop-filter:blur(4px);
}

.notice-badge {
    background:rgba(255,193,7,0.9);
    color:#000;
}

.current-badge {
    background:rgba(var(--color-prime-rgb, 0, 123, 255), 0.9);
}

.comment-badge {
    background:rgba(0,0,0,0.6);
    gap:4px;
}

.comment-badge i {
    font-size:12px;
}

/* 갤러리 콘텐츠 */
.gallery-content {
    padding:16px;
}

.gallery-title {
    margin-bottom:12px;
}

.gallery-title a {
    display:block;
    color:var(--board-gray-900);
    font-size:15px;
    font-weight:600;
    line-height:1.5;
    text-decoration:none;
    transition:color 0.2s ease;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.gallery-title a:hover {
    color:var(--color-prime);
}

.gallery-meta {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:12px;
    color:var(--board-gray-600);
    margin-bottom:8px;
}

.gallery-meta .meta-author {
    font-weight:500;
}

.gallery-meta .meta-date {
    color:var(--board-gray-500);
}

.gallery-meta .meta-hit {
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:auto;
}

.gallery-meta .meta-hit i {
    font-size:14px;
}

.gallery-category {
    margin-top:8px;
}

.cate-badge {
    display:inline-block;
    padding:4px 10px;
    background:var(--board-gray-100);
    border:1px solid var(--board-gray-300);
    border-radius:12px;
    font-size:11px;
    color:var(--board-gray-700);
    font-weight:500;
}

/* 갤러리 아이콘 */
.gallery-title .iconBox,
.gallery-title .hot_icon,
.gallery-title .file_icon,
.gallery-title .link_icon,
.gallery-title .secret_icon {
    display:inline-flex;
    align-items:center;
    margin-left:6px;
    vertical-align:middle;
}

.gallery-title .iconBox {
    padding:2px 6px;
    border-radius:10px;
    font-size:10px;
    font-weight:600;
}

.gallery-title .hot_icon {
    width:18px;
    height:18px;
    border-radius:50%;
    font-size:10px;
    font-weight:700;
    background:var(--board-warning);
    color:#fff;
    justify-content:center;
}

.gallery-title .file_icon,
.gallery-title .link_icon,
.gallery-title .secret_icon {
    font-size:14px;
    color:var(--board-gray-600);
}

/* ============================================================
리스트 영역 (썸네일 없는 작품)
============================================================ */
.list-section {
    width:100%;
    border-top:3px solid var(--board-gray-200);
}

/* 리스트 헤더 */
.list-section .listHeader {
    display:flex;
    align-items:center;
    padding:12px 0;
    background:var(--board-gray-50);
    border-bottom:1px solid var(--board-gray-300);
    font-size:14px;
    font-weight:600;
    color:var(--board-gray-800);
}

.list-section .listHeader .col {
    text-align:center;
}

/* cardBox를 테이블 행처럼 스타일링 */
.list-section .cardBox {
    display:flex;
    align-items:center;
    position:relative;
    width:100%;
    padding:12px 0;
    border-bottom:1px solid var(--board-gray-200);
    gap:0;
    transition:background-color 0.2s ease;
}

.list-section .cardBox:hover {
    background:var(--board-gray-50);
}

.list-section .cardBox.bo_notice {
    background:var(--board-gray-50);
}

.list-section .cardBox.active {
    background:var(--board-gray-100);
}

/* 컬럼 공통 스타일 */
.list-section .col {
    padding:0 8px;
    font-size:14px;
    color:var(--board-gray-700);
}

/* 컬럼별 너비 및 정렬 */
.list-section .col-check {
    width:40px;
    min-width:40px;
    text-align:center;
}

.list-section .col-num {
    width:60px;
    min-width:60px;
    text-align:center;
    font-size:13px;
    color:var(--board-gray-500);
}

.list-section .col-subject {
    flex:1;
    text-align:left;
    padding-left:15px;
    padding-right:15px;
}

.list-section .col-name {
    text-align:center;
    font-size:13px;
}

.list-section .col-date {
    width:100px;
    min-width:100px;
    text-align:center;
    font-size:13px;
    color:var(--board-gray-500);
}

.list-section .col-hit {
    width:60px;
    min-width:60px;
    text-align:center;
    font-size:13px;
    color:var(--board-gray-500);
}

/* 제목 영역 스타일 */
.list-section .bo_tit {
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}

.list-section .bo_tit a {
    color:var(--board-gray-900);
    text-decoration:none;
    font-weight:500;
    transition:color 0.2s ease;
    font-size:15px;
    line-height:1.4;
}

.list-section .bo_tit a:hover {
    color:var(--color-prime);
}

/* 공지사항 및 현재글 표시 */
.list-section .bo_notice_label,
.list-section .bo_current {
    display:inline-block;
    padding:2px 8px;
    border-radius:12px;
    font-size:11px;
    font-weight:600;
}

.list-section .bo_notice_label {
    background:var(--color-prime);
    color:#fff;
}

.list-section .bo_current {
    background:var(--color-prime);
    color:#fff;
}

/* 댓글 개수 표시 */
.list-section .comment_cnt {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    margin-left:4px;
    background:var(--color-prime);
    color:#fff;
    border-radius:10px;
    font-size:11px;
    font-weight:600;
}

/* 카테고리 표시 */
.list-section .bo_cate_link {
    display:inline-block;
    padding:2px 8px;
    margin-left:6px;
    border:1px solid var(--board-gray-300);
    border-radius:4px;
    font-size:11px;
    color:var(--board-gray-600);
    background:var(--board-gray-50);
}

/* 아이콘 표시 */
.list-section .iconBox {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:2px 6px;
    margin-left:4px;
    border-radius:10px;
    font-size:10px;
    font-weight:600;
}

.list-section .hot_icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    margin-left:4px;
    border-radius:50%;
    font-size:10px;
    font-weight:700;
    background:var(--board-warning);
    color:#fff;
}

.list-section .file_icon,
.list-section .link_icon,
.list-section .secret_icon {
    margin-left:4px;
    font-size:14px;
}

.list-section .file_icon {
    color:var(--board-gray-600);
}

.list-section .link_icon {
    color:var(--board-gray-600);
}

.list-section .secret_icon {
    color:var(--board-gray-500);
}

/* 빈 목록 */
.list-section .cardBox.empty {
    justify-content:center;
    padding:60px 20px;
    color:var(--board-gray-500);
    font-size:16px;
    font-weight:500;
}

/* 체크박스 스타일 */
.list-section .opt {
    display:flex;
    align-items:center;
    justify-content:center;
}

.list-section .opt input[type="checkbox"] {
    margin:0;
}

/* 모바일 메타 정보 기본 숨김 */
.list-section .mobile-meta {
    display:none;
}

/* 페이지네이션 */
.listFooter {
    text-align:center;
    margin-top:40px;
}

.listFooter .pagination {
    display:inline-flex;
    gap:8px;
    align-items:center;
}

/* 추가 버튼 스타일 */
.boardListWrap .admBtn .buttonWrap button.warning {
    border-color:var(--board-danger);
    color:var(--board-danger);
}

.boardListWrap .admBtn .buttonWrap button.warning:hover {
    background:var(--board-danger);
    color:var(--board-white);
}

.boardListWrap .admBtn .buttonWrap button.prime {
    border-color:var(--color-prime);
    color:var(--color-prime);
}

.boardListWrap .admBtn .buttonWrap button.prime:hover {
    background:var(--color-prime);
    color:var(--board-white);
}

/* 공통 유틸리티 클래스 */
.bg-pr {background:var(--color-prime) !important;}
.color-wh {color:#fff !important;}
.round-s {border-radius:10px !important;}


/* --------------------------------------------------------
반응형 디자인
----------------------------------------------------------*/
@media (max-width: 1024px) {
    .boardListWrap .admBtn {
        flex-direction:column;
        gap:16px;
        align-items:stretch;
    }
    
    .boardListWrap .admBtn .levelWrap {
        justify-content:center;
    }
    
    /* 갤러리 그리드 조정 */
    .gallery-grid {
        grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
        gap:20px;
    }
    
    /* 태블릿에서 컬럼 너비 조정 */
    .list-section .col-name {
        width:80px;
        min-width:80px;
    }
    
    .list-section .col-date {
        width:80px;
        min-width:80px;
    }
}

@media (max-width: 768px) {
    /* 갤러리 그리드 모바일 */
    .gallery-grid {
        grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
        gap:16px;
        padding:16px 0;
    }
    
    .gallery-content {
        padding:12px;
    }
    
    .gallery-title a {
        font-size:14px;
    }
    
    .gallery-meta {
        font-size:11px;
        gap:8px;
    }
    
    /* 리스트 모바일 */
    .list-section .listHeader {
        display:none;
    }
    
    .list-section .cardBox {
        flex-direction:column;
        align-items:stretch;
        padding:16px 0;
        gap:8px;
    }
    
    /* PC용 컬럼 숨기기 */
    .list-section .col-num,
    .list-section .col-name,
    .list-section .col-date,
    .list-section .col-hit {
        display:none !important;
    }
    
    /* 체크박스와 제목만 표시 */
    .list-section .col-check {
        display:none;
    }
    
    .list-section .col-subject {
        width:100% !important;
        order:1;
        padding:0 !important;
    }
    
    .list-section .col-subject .bo_tit a {
        font-size:16px;
        font-weight:600;
    }
    
    /* 모바일 메타 정보 표시 */
    .list-section .mobile-meta {
        display:flex;
        order:2;
        gap:12px;
        align-items:center;
        font-size:13px;
        color:var(--board-gray-500);
        margin-top:8px;
    }
    
    .list-section .mobile-meta span {
        position:relative;
    }
    
    .list-section .mobile-meta span:not(:last-child)::after {
        content:'•';
        position:absolute;
        right:-7px;
        color:var(--board-gray-400);
    }
    
    .boardListWrap .toolBox .tools {
        justify-content:center;
        flex-wrap:wrap;
    }
    
    .boardListWrap .catagory ul {
        justify-content:center;
    }
    
    #searchPop .modalBox {
        width:95%;
        margin:20px;
    }
    
    #searchPop .searchForm {
        flex-direction:column;
        gap:12px;
    }
    
    #searchPop .searchForm select,
    #searchPop .searchForm input {
        width:100%;
    }
    
    #searchPop .buttonWrap {
        flex-direction:column;
    }
    
    #searchPop .buttonWrap button {
        width:100%;
    }
}

@media (max-width: 480px) {
    .boardListWrap .admBtn {
        padding:12px;
    }
    
    .boardListWrap .toolBox {
        padding:12px;
    }
    
    /* 갤러리 모바일 작은 화면 */
    .gallery-grid {
        grid-template-columns:repeat(2, 1fr);
        gap:12px;
    }
    
    .gallery-content {
        padding:10px;
    }
    
    .gallery-title a {
        font-size:13px;
    }
    
    .gallery-meta {
        font-size:10px;
        gap:6px;
    }
    
    /* 리스트 더 작은 화면에서 조정 */
    .list-section .col-subject .bo_tit a {
        font-size:15px;
    }
    
    .list-section .cardBox {
        padding:12px;
    }
    
    .list-section .mobile-meta {
        font-size:12px;
        gap:8px;
    }
}

/* 접근성 고려 */
@media (prefers-reduced-motion: reduce) {
    .gallery-item {
        animation:none;
        opacity:1;
        transform:none;
    }
    
    .gallery-item:hover {
        transform:none;
        transition:box-shadow 0.2s ease;
    }
    
    .list-section .cardBox {
        animation:none;
        opacity:1;
        transform:none;
    }
    
    .list-section .cardBox:hover {
        transform:none;
        transition:box-shadow 0.2s ease;
    }
}

/* ============================================================
YouTube Style View
============================================================ */

/* YouTube Style Container */
.boardViewWrap.youtube-style,
.boardViewBody.youtube-style {
    background: transparent;
    padding: 0;
}

/* Video Player Section */
.youtube-player-section {
    width: 100%;
    margin-bottom: 16px;
}

.youtube-video-container {
    position: relative;
    width: 100%;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
}

.youtube-video-container.audio-wrapper {
    padding-bottom: 80px;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}

.youtube-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 12px;
}

/* Plyr 스타일 오버라이드 */
.youtube-video-container .plyr {
    width: 100%;
    height: 100%;
    border-radius: 12px;
}

.youtube-video-container .plyr__video-wrapper {
    width: 100%;
    height: 100%;
    border-radius: 12px;
}

.youtube-video-container .plyr__video-embed {
    width: 100%;
    height: 100%;
}

.youtube-video-container .plyr__video-embed iframe {
    width: 100%;
    height: 100%;
    border-radius: 12px;
}

.youtube-video-container audio.youtube-player {
    position: relative;
    width: 100%;
    height: auto;
}

/* Image Gallery */
.youtube-image-gallery {
    margin-bottom: 24px;
}

.youtube-image-gallery img {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin-bottom: 12px;
}

/* Video Info Section */
.youtube-video-info {
    padding: 16px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 16px;
}

.youtube-video-title-section {
    margin-bottom: 12px;
}

.youtube-video-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    color: #0f0f0f;
    margin: 0 0 8px 0;
    word-break: break-word;
}

.youtube-video-category {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    background: #f1f1f1;
    border-radius: 18px;
    font-size: 13px;
    color: #606060;
    font-weight: 500;
}

.youtube-video-stats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.youtube-video-views {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    color: #606060;
}

.youtube-stat-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.youtube-stat-item i {
    font-size: 16px;
}

.youtube-video-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.youtube-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: transparent;
    border: none;
    border-radius: 18px;
    font-size: 14px;
    font-weight: 500;
    color: #0f0f0f;
    cursor: pointer;
    transition: background-color 0.2s ease;
    position: relative;
}

.youtube-action-btn:hover {
    background: #f2f2f2;
}

.youtube-action-btn:active,
.youtube-action-btn.active {
    background: #e5e5e5;
}

.youtube-action-btn i {
    font-size: 20px;
}

.youtube-like-btn.active i,
.youtube-dislike-btn.active i {
    color: #065fd4;
}

.youtube-share-btn {
    border: 1px solid rgba(0, 0, 0, 0.1);
}

/* Channel Section */
.youtube-channel-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 16px;
    gap: 16px;
}

.youtube-channel-info {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.youtube-channel-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.youtube-channel-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.youtube-channel-details {
    flex: 1;
    min-width: 0;
}

.youtube-channel-name {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.youtube-channel-name strong {
    font-size: 16px;
    font-weight: 600;
    color: #0f0f0f;
}

.youtube-channel-ip {
    font-size: 12px;
    color: #606060;
    padding: 2px 8px;
    background: #f1f1f1;
    border-radius: 12px;
}

.youtube-channel-stats {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #606060;
}

.youtube-channel-stats .separator {
    color: #909090;
}

.youtube-channel-actions {
    flex-shrink: 0;
}

.youtube-subscribe-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #0f0f0f;
    color: #fff;
    border-radius: 18px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.youtube-subscribe-btn:hover {
    background: #272727;
}

/* Description Section */
.youtube-description-section {
    padding: 16px;
    background: #f9f9f9;
    border-radius: 12px;
    margin-bottom: 24px;
}

.youtube-description-content {
    font-size: 14px;
    line-height: 1.6;
    color: #0f0f0f;
    word-break: break-word;
}

.youtube-description-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 12px 0;
}

/* Attachments Section */
.youtube-attachments-section {
    margin-bottom: 24px;
}

.youtube-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #0f0f0f;
    margin: 0 0 16px 0;
}

.youtube-attachments,
.youtube-links {
    margin-bottom: 24px;
}

.youtube-attachments-list,
.youtube-links-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.youtube-attachment-item,
.youtube-link-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: #f9f9f9;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

.youtube-attachment-item:hover,
.youtube-link-item:hover {
    background: #f1f1f1;
}

.youtube-attachment-item i,
.youtube-link-item i {
    font-size: 24px;
    color: #606060;
    margin-top: 2px;
    flex-shrink: 0;
}

.youtube-attachment-info,
.youtube-link-item > a {
    flex: 1;
    min-width: 0;
}

.youtube-attachment-info a,
.youtube-link-item a {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #065fd4;
    text-decoration: none;
    margin-bottom: 4px;
}

.youtube-attachment-info a:hover,
.youtube-link-item a:hover {
    text-decoration: underline;
}

.youtube-attachment-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #606060;
}

.youtube-attachment-meta .separator {
    color: #909090;
}

.youtube-link-hits {
    color: #606060;
    font-weight: normal;
}

.youtube-signature {
    padding: 16px;
    background: #f9f9f9;
    border-radius: 8px;
    font-size: 14px;
    color: #606060;
    border-left: 3px solid #065fd4;
    margin-bottom: 24px;
}

.youtube-sns-share {
    padding: 16px 0;
}

/* Comments Section */
.youtube-comments-section {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.youtube-comments-header {
    margin-bottom: 24px;
}

.youtube-comments-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 20px;
    font-weight: 600;
    color: #0f0f0f;
    margin: 0;
}

.youtube-comments-title i {
    font-size: 24px;
}

.youtube-comments-content {
    width: 100%;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .youtube-video-title {
        font-size: 18px;
    }
    
    .youtube-video-stats {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .youtube-channel-section {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .youtube-channel-actions {
        width: 100%;
    }
    
    .youtube-subscribe-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .youtube-video-container {
        border-radius: 0;
        margin-left: -16px;
        margin-right: -16px;
        width: calc(100% + 32px);
    }
    
    .youtube-video-title {
        font-size: 16px;
    }
    
    .youtube-video-views {
        font-size: 13px;
        gap: 12px;
    }
    
    .youtube-action-btn {
        padding: 6px 12px;
        font-size: 13px;
    }
    
    .youtube-action-btn i {
        font-size: 18px;
    }
    
    .youtube-channel-avatar {
        width: 40px;
        height: 40px;
    }
    
    .youtube-channel-name strong {
        font-size: 14px;
    }
    
    .youtube-channel-stats {
        font-size: 13px;
    }
    
    .youtube-description-section {
        margin-left: -16px;
        margin-right: -16px;
        width: calc(100% + 32px);
        border-radius: 0;
    }
    
    .youtube-comments-title {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .youtube-video-title {
        font-size: 15px;
    }
    
    .youtube-action-btn span {
        display: none;
    }
    
    .youtube-action-btn {
        padding: 8px;
        min-width: 40px;
        justify-content: center;
    }
}

/* ============================================================
YouTube Related Videos Sidebar
============================================================ */
.youtube-related-videos {
    margin-top: 24px;
    padding: 16px;
    background: #fff;
    border-radius: 12px;
}

.youtube-related-title {
    font-size: 18px;
    font-weight: 600;
    color: #0f0f0f;
    margin: 0 0 16px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.youtube-related-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.youtube-related-item {
    width: 100%;
}

.youtube-related-link {
    display: flex;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease;
}

.youtube-related-link:hover {
    opacity: 0.8;
}

.youtube-related-thumb {
    position: relative;
    width: 168px;
    min-width: 168px;
    height: 94px;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
    flex-shrink: 0;
}

.youtube-related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.youtube-related-no-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f1f1;
}

.youtube-related-no-thumb i {
    font-size: 32px;
    color: #909090;
}

.youtube-related-duration {
    position: absolute;
    bottom: 4px;
    right: 4px;
    padding: 2px 6px;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.youtube-related-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 2px;
}

.youtube-related-subject {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: #0f0f0f;
    margin: 0 0 8px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
}

.youtube-related-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    color: #606060;
}

.youtube-related-author {
    font-size: 12px;
    color: #606060;
}

.youtube-related-stats {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #606060;
}

.youtube-related-stats .separator {
    color: #909090;
}

/* 사이드바 반응형 */
@media (max-width: 1024px) {
    .youtube-related-videos {
        padding: 12px;
    }
    
    .youtube-related-thumb {
        width: 140px;
        min-width: 140px;
        height: 79px;
    }
    
    .youtube-related-subject {
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .youtube-related-videos {
        margin-top: 16px;
    }
    
    .youtube-related-title {
        font-size: 16px;
        margin-bottom: 12px;
    }
    
    .youtube-related-thumb {
        width: 120px;
        min-width: 120px;
        height: 68px;
    }
    
    .youtube-related-subject {
        font-size: 12px;
        -webkit-line-clamp: 2;
    }
    
    .youtube-related-meta {
        font-size: 11px;
    }
}

/* ============================================================
YouTube Style Comments
============================================================ */

/* Comments List */
.youtube-comments-list {
    margin-top: 24px;
}

.youtube-comment-item {
    display: flex;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.youtube-comment-item:last-child {
    border-bottom: none;
}

.youtube-comment-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: #f1f1f1;
}

.youtube-comment-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.youtube-comment-content {
    flex: 1;
    min-width: 0;
}

.youtube-comment-header {
    margin-bottom: 8px;
}

.youtube-comment-author-info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.youtube-comment-author {
    font-size: 13px;
    font-weight: 600;
    color: #0f0f0f;
}

.youtube-comment-time {
    font-size: 12px;
    color: #606060;
}

.youtube-comment-ip {
    font-size: 11px;
    color: #909090;
}

.youtube-comment-text {
    font-size: 14px;
    line-height: 1.5;
    color: #0f0f0f;
    word-break: break-word;
    margin-bottom: 8px;
}

.youtube-comment-secret-icon {
    color: #606060;
    margin-right: 4px;
    vertical-align: middle;
}

.youtube-comment-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
}

.youtube-comment-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: transparent;
    border: none;
    border-radius: 18px;
    font-size: 13px;
    font-weight: 500;
    color: #606060;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.youtube-comment-action-btn:hover {
    background: #f2f2f2;
}

.youtube-comment-action-btn i {
    font-size: 16px;
}

.youtube-comments-empty {
    text-align: center;
    padding: 60px 20px;
    color: #909090;
}

.youtube-comments-empty i {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.5;
}

.youtube-comments-empty p {
    font-size: 14px;
    margin: 0;
}

/* Comment Write Form */
.youtube-comment-write {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.youtube-comment-write-form {
    display: flex;
    gap: 16px;
}

.youtube-comment-write-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: #f1f1f1;
}

.youtube-comment-write-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.youtube-comment-write-content {
    flex: 1;
    min-width: 0;
}

.youtube-comment-guest-fields {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.youtube-comment-guest-input {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
}

.youtube-comment-guest-input:focus {
    outline: none;
    border-color: #065fd4;
}

.youtube-comment-input-wrapper {
    position: relative;
    margin-bottom: 12px;
}

.youtube-comment-textarea {
    width: 100%;
    min-height: 80px;
    padding: 12px;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #0f0f0f;
    background: transparent;
    resize: none;
    font-family: inherit;
}

.youtube-comment-textarea:focus {
    outline: none;
    border-bottom-color: #065fd4;
    border-bottom-width: 2px;
    padding-bottom: 11px;
}

.youtube-comment-textarea::placeholder {
    color: #909090;
}

.youtube-comment-char-count {
    position: absolute;
    bottom: 8px;
    right: 12px;
    font-size: 12px;
    color: #909090;
    background: rgba(255, 255, 255, 0.9);
    padding: 2px 6px;
    border-radius: 4px;
}

.youtube-comment-captcha {
    margin-bottom: 12px;
}

.youtube-comment-write-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.youtube-comment-write-options {
    display: flex;
    align-items: center;
}

.youtube-comment-secret-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #606060;
    cursor: pointer;
}

.youtube-comment-secret-label input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}

.youtube-comment-write-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.youtube-comment-cancel-btn,
.youtube-comment-submit-btn {
    padding: 10px 16px;
    border: none;
    border-radius: 18px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.youtube-comment-cancel-btn {
    background: transparent;
    color: #606060;
}

.youtube-comment-cancel-btn:hover {
    background: #f2f2f2;
}

.youtube-comment-submit-btn {
    background: #065fd4;
    color: #fff;
}

.youtube-comment-submit-btn:hover {
    background: #0456c0;
}

.youtube-comment-submit-btn:disabled {
    background: #909090;
    cursor: not-allowed;
}

.youtube-comment-sns {
    margin-top: 12px;
}

/* Reply Comment (Nested) */
.youtube-comment-item[style*="margin-left"] {
    padding-left: 56px;
}

.youtube-comment-item[style*="margin-left"] .youtube-comment-avatar {
    width: 32px;
    height: 32px;
}

/* Responsive */
@media (max-width: 768px) {
    .youtube-comment-item {
        gap: 12px;
        padding: 12px 0;
    }
    
    .youtube-comment-avatar {
        width: 32px;
        height: 32px;
    }
    
    .youtube-comment-author {
        font-size: 12px;
    }
    
    .youtube-comment-time {
        font-size: 11px;
    }
    
    .youtube-comment-text {
        font-size: 13px;
    }
    
    .youtube-comment-action-btn {
        padding: 6px 10px;
        font-size: 12px;
    }
    
    .youtube-comment-action-btn span {
        display: none;
    }
    
    .youtube-comment-write-form {
        gap: 12px;
    }
    
    .youtube-comment-write-avatar {
        width: 32px;
        height: 32px;
    }
    
    .youtube-comment-textarea {
        min-height: 60px;
        font-size: 13px;
    }
    
    .youtube-comment-cancel-btn,
    .youtube-comment-submit-btn {
        padding: 8px 14px;
        font-size: 13px;
    }
    
    .youtube-comment-item[style*="margin-left"] {
        padding-left: 44px;
    }
}

@media (max-width: 480px) {
    .youtube-comment-guest-fields {
        flex-direction: column;
    }
    
    .youtube-comment-write-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .youtube-comment-write-buttons {
        width: 100%;
        justify-content: flex-end;
    }
}
