@charset "utf-8";

/* 유튜브 쇼츠 전용 스킨
   - arc_youtube(가로 영상용)와 같은 디자인 언어를 쓰되, 카드가 9:16 세로형입니다.
   - 헤더·홈 화면과 같은 폭 규칙(max-width 1600px + 좌우 40px 패딩)을 그대로 사용합니다. */
.arc-shorts-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-shorts-board, .arc-shorts-board * { box-sizing:border-box; }
.arc-shorts-board a { color:inherit; text-decoration:none; }
.arc-shorts-board img { max-width:100%; }
.arc-shorts-board button, .arc-shorts-board input, .arc-shorts-board textarea, .arc-shorts-board select { font:inherit; }
.arc-shorts-board h1, .arc-shorts-board h2, .arc-shorts-board h3, .arc-shorts-board p, .arc-shorts-board dl, .arc-shorts-board dt, .arc-shorts-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-shorts-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; }
.arc-shorts-btn:hover { border-color:#999; background:#fafafa; }

/* LIST */
.arc-shorts-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:12px 0 20px; padding-bottom:20px; }
.arc-shorts-head h1 { font-size:30px; line-height:1.15; font-weight:800; letter-spacing:-.04em; }
.arc-shorts-toolbar { display:flex; justify-content:flex-end; margin:0 0 20px; }
.arc-shorts-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-shorts-write:hover { background:#1c2c48; }

.arc-shorts-category { display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 24px; padding:0; font-size:14px; list-style:none; }
.arc-shorts-category li { display:inline; list-style:none; margin:0; padding:0; }
.arc-shorts-category a { display:inline-block; padding:8px 14px; border:1px solid var(--arc-line); border-radius:20px; color:var(--arc-text); }
.arc-shorts-category a:hover { border-color:#b7bec8; background:var(--arc-soft); }
.arc-shorts-category a#bo_cate_on { border-color:#111827; background:#111827; color:#fff; font-weight:600; }

/* 세로(9:16) 카드 그리드 — 데스크톱 6열, 화면이 좁아질수록 줄어듭니다. */
.arc-shorts-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px 16px; }
.arc-shorts-card a { display:block; text-decoration:none; color:inherit; }
.arc-shorts-thumb { position:relative; width:100%; aspect-ratio:9/16; overflow:hidden; border-radius:10px; background:#111; }
.arc-shorts-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.arc-shorts-card a:hover .arc-shorts-thumb img { transform:scale(1.03); }
.arc-shorts-empty { width:100%; height:100%; display:grid; place-items:center; color:#8b93a3; background:#1b2333; font-size:12px; letter-spacing:.1em; }
.arc-shorts-card h3 { margin-top:10px; font-size:14.5px; line-height:1.4; font-weight:700; color:#111; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.arc-shorts-meta { margin-top:4px; color:#7a7f86; font-size:12.5px; }

.arc-shorts-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-shorts-paging { margin:46px 0 18px; text-align:center; }
.arc-shorts-paging .pg_wrap { display:inline-block; }

.arc-shorts-search { display:flex; justify-content:center; gap:8px; margin-top:28px; }
.arc-shorts-search select { height:46px; padding:0 10px; border:1px solid #d9dde3; border-radius:6px; background:#fff; color:#111; font-size:14px; }
.arc-shorts-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-shorts-search button { min-width:80px; height:46px; border:0; border-radius:6px; background:#111827; color:#fff; cursor:pointer; }

/* VIEW — 세로 플레이어를 화면 중앙에 좁게 표시(실제 유튜브 쇼츠 재생 화면과 비슷한 비율) */
.arc-shorts-view { width:min(100%, 420px); margin:0 auto; padding-bottom:10px; }
.arc-shorts-view-head { margin:18px 0 16px; }
.arc-shorts-view-title-row { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.arc-shorts-view-head h1 { font-size:22px; line-height:1.3; font-weight:800; letter-spacing:-.03em; color:#111; word-break:keep-all; }
.arc-shorts-view-head .arc-shorts-meta { margin-top:8px; font-size:13px; }

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

.arc-shorts-description { margin-top:24px; padding:16px 18px; border:1px solid #e0e3e7; border-radius:10px; background:#fff; }
.arc-shorts-description h2 { font-size:15px; line-height:1.3; font-weight:800; color:#111; margin:0 0 10px; }
.arc-shorts-description-body { font-size:13.5px; line-height:1.75; color:#333; white-space:pre-line; }

.arc-shorts-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:24px 0 50px; }

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

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