@charset "utf-8";
/* ============================================================
   BS4-Streaming-Event (이벤트) - ONCA TV 스타일 / 다크
   ============================================================ */
.sv-board{
    --brand:#5b7bff; --brand-strong:#3f5be0; --brand-soft:#1c2748;
    --surface:#171a21; --surface-2:#1d212a; --line:#272b35;
    --text:#eef1f6; --text-sub:#a4acba; --text-mute:#6f7886;
    --radius:14px;
    font-family:'Pretendard','Noto Sans KR',sans-serif; color:var(--text);
}
.sv-board *{box-sizing:border-box}
.sv-board a{text-decoration:none;color:inherit}
.sv-board img{max-width:100%}

/* 헤더 */
.ev-head{margin-bottom:22px}
.ev-title{margin:0 0 6px;font-size:26px;font-weight:800;color:var(--text)}
.ev-sub{margin:0;font-size:15px;color:var(--text-sub)}

/* 탭 + 정렬 */
.ev-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.ev-tabs{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:30px;padding:5px}
.ev-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:24px;font-size:14px;font-weight:700;color:var(--text-sub);background:transparent;border:none;cursor:pointer}
.ev-tab.on{background:var(--brand);color:#fff}
.ev-tab__c{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:rgba(255,255,255,.18);font-size:12px;font-weight:800}
.ev-tab:not(.on) .ev-tab__c{background:var(--line);color:var(--text-sub)}

.ev-sort{position:relative}
.ev-sort__btn{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:9px 16px;font-size:14px;font-weight:600;color:var(--text-sub);cursor:pointer}
.ev-sort__btn i{margin-left:4px}
.ev-sort__menu{display:none;position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.4);overflow:hidden;z-index:20;min-width:120px}
.ev-sort.open .ev-sort__menu{display:block}
.ev-sort__item{display:block;padding:10px 16px;font-size:14px;color:var(--text)}
.ev-sort__item:hover{background:var(--surface-2);color:var(--brand)}

/* 카드 그리드 */
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.ev-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .18s,box-shadow .18s}
.ev-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(0,0,0,.4)}
.ev-card__thumb{position:relative;aspect-ratio:2/1;background:var(--surface-2);overflow:hidden}
.ev-card__thumb img{width:100%;height:100%;object-fit:cover}
.ev-card__noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-mute);font-size:34px}
.ev-card__badge{position:absolute;top:12px;left:12px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;padding:4px 11px;border-radius:6px}
.ev-card__badge--end{background:#5f6675}
.ev-card__body{padding:16px 18px}
.ev-card__title{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ev-card__date{margin:0;font-size:13px;color:var(--text-mute)}

.ev-empty{padding:70px 0;text-align:center;color:var(--text-mute);font-size:15px}
.ev-actions{display:flex;justify-content:flex-end;margin-top:20px}
.ev-write{display:inline-flex;align-items:center;gap:6px;background:var(--brand);color:#fff;font-size:14px;font-weight:700;padding:10px 18px;border-radius:9px}
.ev-write:hover{background:var(--brand-strong);color:#fff}
.ev-paging{margin-top:26px}
.ev-paging .pagination{display:flex;list-style:none;gap:6px;padding:0;justify-content:center;flex-wrap:wrap;margin:0}
.ev-paging .page-link{display:block;padding:7px 13px;border:1px solid var(--line);border-radius:8px;color:var(--text-sub);font-size:14px}
.ev-paging .page-item.active .page-link,.ev-paging .page-link:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ───────── 상세(view) ───────── */
.ev-vhead{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.ev-vbadge{display:inline-block;background:var(--brand-soft);color:var(--brand);font-size:13px;font-weight:700;padding:5px 13px;border-radius:7px;margin-bottom:12px}
.ev-vbadge--end{background:#2a2f3a;color:var(--text-sub)}
.ev-vtitle{margin:0 0 8px;font-size:24px;font-weight:800;color:var(--text)}
.ev-vdate{margin:0;font-size:14px;color:var(--text-sub)}
.ev-vcontent{min-height:200px;padding:30px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-size:15px;line-height:1.8;color:var(--text);word-break:break-word;text-align:center}
.ev-vcontent img{max-width:100%;height:auto;border-radius:8px;margin:0 auto}
.ev-vcontent a{color:var(--brand)}
.ev-vcontent p{margin:0 0 14px}

/* 첨부파일 */
.ev-files{margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;text-align:left}
.ev-files__h{font-size:14px;font-weight:700;color:var(--text);margin-bottom:12px}
.ev-files__h i{color:var(--text-mute);margin-right:6px}
.ev-files__h b{color:var(--brand);margin-left:3px}
.ev-files ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ev-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ev-file{display:inline-flex;align-items:center;gap:8px;color:var(--text-sub);font-size:14px;min-width:0}
.ev-file:hover{color:var(--brand)}
.ev-file__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
.ev-file__meta{font-size:12px;color:var(--text-mute);white-space:nowrap}

.ev-vbtns{display:flex;justify-content:center;gap:8px;margin-top:30px}
.ev-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 28px;border-radius:10px;font-size:15px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.ev-btn:hover{background:var(--surface-2)}
.ev-btn--primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.ev-btn--primary:hover{background:var(--brand-strong);color:#fff}

@media (max-width:560px){
    .ev-title{font-size:22px}
    .ev-grid{grid-template-columns:1fr;gap:16px}
    .ev-bar{flex-direction:column;align-items:stretch}
}
