@charset "utf-8";

/* YouTube 게시판 스킨
   - archive_unified과 같은 디자인 언어(색·타이포·카드·버튼)를 그대로 따릅니다.
   - 파일첨부·공공누리·지도 등 아카이브 전용 섹션은 유튜브 콘텐츠에 맞지 않아 가져오지 않았습니다.
   - 헤더·홈 화면과 같은 폭 규칙(max-width 1600px + 좌우 40px 패딩)을 그대로 사용합니다. */
.arc-yt-board {
    --arc-text:#111111;
    --arc-muted:#666666;
    --arc-light:#8b8f97;
    --arc-line:#e4e7eb;
    --arc-soft:#f7f8fa;
    --arc-navy:#102746;
    --arc-max:1600px;
    width:100%;
    max-width:var(--arc-max);
    margin:0 auto;
    padding:0 40px 72px;
    color:var(--arc-text);
    font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;
    line-height:1.5;
    letter-spacing:-.02em;
}
.arc-yt-board, .arc-yt-board * { box-sizing:border-box; }
.arc-yt-board a { color:inherit; text-decoration:none; }
.arc-yt-board img { max-width:100%; }
.arc-yt-board button, .arc-yt-board input, .arc-yt-board textarea, .arc-yt-board select { font:inherit; }
.arc-yt-board h1, .arc-yt-board h2, .arc-yt-board h3, .arc-yt-board p, .arc-yt-board dl, .arc-yt-board dt, .arc-yt-board dd { margin:0; padding:0; }

.arc-crumb { display:flex; align-items:center; gap:7px; flex:none; color:#8b8e94; font-size:12.5px; white-space:nowrap; }
.arc-crumb a { display:flex; color:#8b8e94; }
.arc-crumb a:hover { color:#1f2937; }
.arc-crumb svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.arc-crumb span { color:#c1c5cb; }
.arc-crumb span:last-child { color:#8b8e94; }

/* 공통 버튼 */
.arc-yt-btn { display:inline-flex; align-items:center; justify-content:center; min-width:86px; height:46px; padding:0 18px; border:1px solid #d5d9df; border-radius:6px; background:#fff; color:#111 !important; font-weight:600; cursor:pointer; transition:.18s ease; }
.arc-yt-btn:hover { border-color:#999; background:#fafafa; }
.arc-yt-btn-dark { background:#111827 !important; border-color:#111827 !important; color:#fff !important; }

/* LIST */
.arc-yt-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:12px 0 20px; padding-bottom:20px; }
.arc-yt-head h1 { font-size:30px; line-height:1.15; font-weight:800; letter-spacing:-.04em; }
.arc-yt-toolbar { display:flex; justify-content:flex-end; margin:0 0 20px; }
.arc-yt-write { display:inline-flex; align-items:center; justify-content:center; min-width:86px; height:46px; padding:0 18px; border:1px solid #111827; border-radius:6px; background:#111827; color:#fff !important; font-weight:600; }
.arc-yt-write:hover { background:#1c2c48; }

/* 그누보드 코어가 $category_option을 감싸는 <ul> 없이 <li> 목록만 내려줘서,
 * 기본 불릿(•)과 줄바꿈을 명시적으로 없애야 합니다. */
.arc-yt-category { display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 24px; padding:0; font-size:14px; list-style:none; }
.arc-yt-category li { display:inline; list-style:none; margin:0; padding:0; }
.arc-yt-category a { display:inline-block; padding:8px 14px; border:1px solid var(--arc-line); border-radius:20px; color:var(--arc-text); }
.arc-yt-category a:hover { border-color:#b7bec8; background:var(--arc-soft); }
.arc-yt-category a#bo_cate_on { border-color:#111827; background:#111827; color:#fff; font-weight:600; }

.arc-yt-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 18px; }
.arc-yt-card a { display:block; text-decoration:none; color:inherit; }
.arc-yt-thumb { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:7px; background:#eceff2; }
.arc-yt-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.arc-yt-card a:hover .arc-yt-thumb img { transform:scale(1.025); }
.arc-yt-empty { width:100%; height:100%; display:grid; place-items:center; color:#9aa1a9; background:#f0f2f4; font-size:12px; letter-spacing:.1em; }
.arc-yt-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:52px; height:52px; padding-left:3px; border-radius:50%; background:rgba(0,0,0,.58); color:#fff; }
.arc-yt-play svg { width:20px; height:20px; fill:currentColor; }
.arc-yt-card h3 { margin-top:12px; font-size:16px; line-height:1.4; font-weight:700; color:#111; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.arc-yt-meta { display:flex; gap:10px; margin-top:5px; color:#7a7f86; font-size:12px; }

.arc-yt-none { padding:100px 0; text-align:center; color:#777; border-top:1px solid var(--arc-line); border-bottom:1px solid var(--arc-line); margin-top:20px; }
.arc-yt-paging { margin:46px 0 18px; text-align:center; }
.arc-yt-paging .pg_wrap { display:inline-block; }

.arc-yt-search { display:flex; justify-content:center; gap:8px; margin-top:28px; }
.arc-yt-search select { height:46px; padding:0 10px; border:1px solid #d9dde3; border-radius:6px; background:#fff; color:#111; font-size:14px; }
.arc-yt-search input { flex:none; width:min(440px,55vw); height:46px; padding:0 14px; border:1px solid #d9dde3; border-radius:6px; background:#fff; color:#111; }
.arc-yt-search button { min-width:80px; height:46px; border:0; border-radius:6px; background:#111827; color:#fff; cursor:pointer; }

/* VIEW */
.arc-yt-view { width:min(100%, 1080px); margin:0 auto; padding-bottom:10px; }
.arc-yt-view-head { margin-bottom:24px; }
.arc-yt-view-title-row { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.arc-yt-view-head h1 { font-size:38px; line-height:1.18; font-weight:800; letter-spacing:-.05em; color:#111; word-break:keep-all; }
.arc-yt-view-head .arc-yt-meta { margin-top:12px; font-size:13px; }

.arc-yt-player { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:2px; background:#000; }
.arc-yt-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.arc-yt-no-player { width:100%; height:100%; display:grid; place-items:center; color:#aab0b8; background:#111827; font-size:13px; }

.arc-yt-description { margin-top:32px; padding:20px 22px; border:1px solid #e0e3e7; border-radius:7px; background:#fff; }
.arc-yt-description h2 { font-size:18px; line-height:1.3; font-weight:800; color:#111; margin:0 0 14px; }
.arc-yt-description-body { font-size:14px; line-height:1.8; color:#333; white-space:pre-line; }

.arc-yt-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin:28px 0 50px; }

/* WRITE */
.arc-yt-write-page { padding-bottom:50px; }
.arc-yt-write-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:2px 0 28px; }
.arc-yt-write-page h1 { margin:0; font-size:32px; font-weight:800; color:#111; }
.arc-yt-write-page form { width:min(100%, 900px); margin:0 auto; }
.arc-yt-field { margin-bottom:18px; }
.arc-yt-field label { display:block; margin-bottom:7px; font-weight:700; font-size:14px; }
.arc-yt-field input, .arc-yt-field select, .arc-yt-field textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid #d9dde3; border-radius:6px; background:#fff; color:#111; }
.arc-yt-field textarea { min-height:150px; resize:vertical; }
.arc-yt-write-page .arc-yt-actions { justify-content:flex-start; margin-top:28px; }
.arc-yt-write-page .arc-yt-actions button { border:0; background:#111827; color:#fff !important; }
.arc-yt-write-page .arc-yt-actions button:hover { background:#1c2c48; }

@media (max-width:1180px) {
    .arc-yt-board { width:min(100% - 36px, var(--arc-max)); }
    .arc-yt-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .arc-yt-board { width:calc(100vw - 28px); padding:0 0 52px; }
    .arc-yt-head { flex-direction:column; align-items:stretch; gap:18px; }
    .arc-yt-head h1 { font-size:26px; }
    .arc-yt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
    .arc-yt-view-head h1 { font-size:28px; }
    .arc-yt-search { flex-wrap:wrap; }
    .arc-yt-search select, .arc-yt-search input, .arc-yt-search button { width:100%; }
}
@media (max-width:480px) {
    .arc-yt-grid { grid-template-columns:1fr; }
}
