@import url("https://fonts.googleapis.com/css?family=Noto+Sans+KR:300,400,500|Roboto:300,400,500&display=swap");
/* KCMS front – basic layout & skins */
:root {
  --kc-primary: #1f5eff;
  --kc-primary-dark: #1647c4;
  --kc-text: #1d2330;
  --kc-muted: #6b7280;
  --kc-line: #e5e7eb;
  --kc-soft: #f6f7f9;
  --kc-radius: 10px;
  --kc-header-h: 68px;
  --bs-body-font-family: "Roboto", "Noto Sans KR", 나눔고딕, "Nanum Gothic", "Malgun Gothic", 맑은고딕, 굴림, 돋움, "Dotum", sans-serif;
  --bs-body-color: var(--kc-text);
  --bs-link-color: var(--kc-text);
  --bs-link-color-rgb: 29, 35, 48;
  --bs-link-hover-color: var(--kc-primary);
  --bs-link-hover-color-rgb: 31, 94, 255;
  --bs-primary: var(--kc-primary);
  --bs-primary-rgb: 31, 94, 255;
}
body.kc-front { background: #fff; font-size: 15px; word-break: keep-all; overflow-wrap: anywhere; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.btn-primary { --bs-btn-bg: var(--kc-primary); --bs-btn-border-color: var(--kc-primary); --bs-btn-hover-bg: var(--kc-primary-dark); --bs-btn-hover-border-color: var(--kc-primary-dark); --bs-btn-active-bg: var(--kc-primary-dark); --bs-btn-disabled-bg: var(--kc-primary); --bs-btn-disabled-border-color: var(--kc-primary); }
.btn-outline-primary { --bs-btn-color: var(--kc-primary); --bs-btn-border-color: var(--kc-primary); --bs-btn-hover-bg: var(--kc-primary); --bs-btn-hover-border-color: var(--kc-primary); --bs-btn-active-bg: var(--kc-primary); }
.btn:hover, .page-link:hover, .dropdown-item:hover, .nav-link:hover { text-decoration: none; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: #8fb0ff; box-shadow: 0 0 0 .2rem rgba(31, 94, 255, .15); }
.form-check-input:checked { background-color: var(--kc-primary); border-color: var(--kc-primary); }
.kc-skip { position: absolute; left: 8px; top: 8px; z-index: 2000; background: #000; color: #fff; padding: 6px 12px; }

/* header */
.kc-header { border-bottom: 0; background: #fff; position: sticky; top: 0; z-index: 1030; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.kc-topbar { font-size: 12px; background: #082a47; color: #fff; height: 40px; padding: 0; border-bottom: 0; }
.kc-topbar .container { height: 40px; display: flex; align-items: center; justify-content: flex-end; gap: 0; }
.kc-topbar-menu { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; line-height: 40px; }
.kc-topbar-menu li { display: inline-flex; align-items: center; padding-right: 15px; color: #ccc; }
.kc-topbar-menu li:last-child { padding-right: 0; }
.kc-topbar-menu i { color: #ccc; padding-right: 5px; font-size: 12px; }
.kc-topbar-menu a { color: #ccc; font-size: 12px; padding-left: 5px; text-decoration: none; }
.kc-topbar-menu a:hover { color: #fff; text-decoration: none; }
.kc-topbar-menu .badge { margin-left: 5px; display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 10px; font-weight: 700; color: #fff; line-height: 1; vertical-align: baseline; white-space: nowrap; text-align: center; background-color: #999; border-radius: 10px; }
.kc-header-main { display: flex; align-items: center; height: 50px; line-height: 50px; gap: 0; }
.kc-logo { font-size: 18px; font-weight: 700; line-height: 20px; color: #000; letter-spacing: 0; white-space: nowrap; }
.kc-logo:hover { text-decoration: none; color: #2773ae; }
.kc-gnb { flex: 0 0 auto; margin-left: auto; }
.kc-gnb > ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 0; }
.kc-gnb > ul > li { position: relative; height: 50px; }
.kc-gnb > ul > li > a { display: block; padding: 0 20px; height: 50px; line-height: 50px; font-weight: 400; font-size: 13px; color: #000; }
.kc-gnb > ul > li.active > a, .kc-gnb > ul > li > a:hover, .kc-gnb > ul > li > a:focus, .kc-gnb > ul > li.has-sub:hover > a { color: #fff; background: #3498db; text-decoration: none; box-shadow: none; }
.kc-sub { display: none; position: absolute; top: 50px; right: 0; left: auto; min-width: 190px; list-style: none; margin: 0; padding: 0; background: #444; border: 0; border-radius: 0; box-shadow: none; overflow: hidden; z-index: 1; }
.kc-gnb li.has-sub:hover > .kc-sub, .kc-gnb li.has-sub:focus-within > .kc-sub { display: block; }
.kc-sub li { height: 40px; line-height: 40px; }
.kc-sub a { display: block; padding: 0 20px; height: 40px; line-height: 40px; color: #ccc; white-space: nowrap; font-size: 13px; }
.kc-sub a:hover, .kc-sub a:focus, .kc-sub li.active > a { background: #3498db; color: #fff; text-decoration: none; }
.kc-header-search { display: flex; align-items: center; gap: 0; margin: 0 0 0 4px; height: 50px; }
.kc-header-search .kc-hs-input { border: 1px solid #e5e6e7; height: 26px; width: 140px; outline: 0; padding: 3px 12px; background: #fff; border-radius: 5px; font-size: 13px; line-height: 1.5; color: #333; }
.kc-header-search .kc-hs-btn { margin-left: 4px; border: 1px solid #348fe2; background: #348fe2; color: #fff; font-size: 12px; line-height: 1.42857143; padding: 3px 8px; border-radius: 4px; cursor: pointer; }
.kc-header-search .kc-hs-btn:hover { background: #2670b7; border-color: #2670b7; }
.kc-header-tools { margin-left: auto; display: flex; align-items: center; }
.kc-icon-btn { font-size: 1.35rem; color: var(--kc-text); position: relative; padding: 6px 8px; }
.kc-dot { position: absolute; top: 6px; right: 6px; width: 8px; height: 8px; border-radius: 50%; background: #e5484d; }
.kc-search-bar { border-top: 1px solid var(--kc-line); background: var(--kc-soft); }
.kc-mnav-user { display: flex; flex-wrap: wrap; gap: 8px 14px; padding-bottom: 14px; margin-bottom: 10px; border-bottom: 1px solid var(--kc-line); font-size: 14px; }
.kc-mnav-list, .kc-mnav-list ul { list-style: none; margin: 0; padding: 0; }
.kc-mnav-list > li > a { display: block; padding: 10px 0; font-weight: 600; }
.kc-mnav-list ul { padding: 0 0 6px 12px; }
.kc-mnav-list ul a { display: block; padding: 6px 0; color: var(--kc-muted); }

/* main */
.kc-main { padding-top: 28px; padding-bottom: 56px; min-height: 60vh; }
.kc-page-title { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; margin: 0 0 6px; }
.kc-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.kc-page-desc { color: var(--kc-muted); margin: 0; }
.kc-section-title { font-size: 1.1rem; font-weight: 700; margin: 0 0 12px; }
.kc-box { border: 1px solid var(--kc-line); border-radius: var(--kc-radius); padding: 16px; margin-bottom: 16px; background: #fff; }
.kc-box-title { font-size: .95rem; font-weight: 700; margin: 0 0 10px; }
.kc-empty { text-align: center; color: var(--kc-muted); padding: 48px 12px; }
.kc-muted { color: var(--kc-muted); }

/* sidebar */
.kc-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.kc-avatar-blank { display: inline-flex; align-items: center; justify-content: center; background: var(--kc-soft); color: var(--kc-muted); font-size: 1.2rem; }
.kc-avatar-lg { width: 80px; height: 80px; font-size: 2rem; }
.kc-loginbox-stats { list-style: none; padding: 0; margin: 0 0 10px; display: flex; gap: 6px; font-size: 13px; }
.kc-loginbox-stats li { flex: 1; text-align: center; background: var(--kc-soft); border-radius: 8px; padding: 6px 2px; }
.kc-loginbox-stats b { display: block; color: var(--kc-primary); }
.kc-latest { list-style: none; padding: 0; margin: 0; }
.kc-latest li { display: flex; gap: 6px; padding: 6px 0; border-bottom: 1px dashed var(--kc-line); font-size: 14px; }
.kc-latest li:last-child { border-bottom: 0; }
.kc-latest li > a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kc-latest .kc-date { color: var(--kc-muted); font-size: 12px; white-space: nowrap; }
.kc-cmt { color: #e5484d; font-size: 12px; font-weight: 600; }
.kc-banners { display: grid; gap: 10px; }
.kc-banner img { max-width: 100%; height: auto; border-radius: 6px; display: block; }

/* main page */
.kc-hero { background: linear-gradient(135deg, #1f5eff 0%, #6a8dff 100%); color: #fff; border-radius: 14px; padding: 40px 32px; margin-bottom: 28px; }
.kc-hero h1 { font-size: 1.8rem; font-weight: 800; margin: 0 0 6px; }
.kc-hero p { margin: 0; opacity: .9; }
.kc-latest-card { height: 100%; }
.kc-latest-card .kc-box-title { display: flex; justify-content: space-between; align-items: center; font-size: 1rem; }
.kc-latest-card .kc-box-title a.more { font-size: 13px; font-weight: 400; color: var(--kc-muted); }
.kc-gallery-latest { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 767.98px) { .kc-gallery-latest { grid-template-columns: repeat(2, 1fr); } }

/* board list */
.kc-board-head { margin-bottom: 14px; }
.kc-cats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.kc-cats a { padding: 5px 12px; border: 1px solid var(--kc-line); border-radius: 999px; font-size: 14px; color: var(--kc-muted); }
.kc-cats a.active, .kc-cats a:hover { border-color: var(--kc-primary); color: var(--kc-primary); text-decoration: none; }
.kc-list { width: 100%; border-top: 2px solid var(--kc-text); font-size: 14px; }
.kc-list th { font-weight: 600; text-align: center; padding: 10px 6px; border-bottom: 1px solid var(--kc-line); background: var(--kc-soft); white-space: nowrap; }
.kc-list td { padding: 11px 6px; border-bottom: 1px solid var(--kc-line); text-align: center; color: var(--kc-muted); white-space: nowrap; }
.kc-list td.kc-subject { text-align: left; color: var(--kc-text); white-space: normal; width: 100%; }
.kc-list tr.is-notice td { background: #f7f9ff; }
.kc-list tr.is-current td { background: #fffbe6; }
.kc-subject a { color: var(--kc-text); font-weight: 500; }
.kc-subject .kc-cat { color: var(--kc-primary); font-size: 13px; margin-right: 4px; }
.kc-reply-mark { color: var(--kc-muted); margin-right: 4px; }
.kc-badge { display: inline-block; font-size: 11px; font-weight: 700; border-radius: 4px; padding: 1px 5px; vertical-align: 1px; margin-left: 4px; }
.kc-badge-new { background: #e5484d; color: #fff; }
.kc-badge-hot { background: #ff8a00; color: #fff; }
.kc-badge-notice { background: var(--kc-primary); color: #fff; margin: 0; }
.kc-ico { color: var(--kc-muted); font-size: 13px; margin-left: 3px; }
.kc-list-mobile { list-style: none; padding: 0; margin: 0; border-top: 2px solid var(--kc-text); }
.kc-list-mobile li { padding: 12px 2px; border-bottom: 1px solid var(--kc-line); }
.kc-list-mobile .kc-meta { font-size: 12px; color: var(--kc-muted); margin-top: 4px; display: flex; flex-wrap: wrap; gap: 8px; }
.kc-gallery { display: grid; gap: 16px; }
.kc-gallery-item { display: block; color: var(--kc-text); }
.kc-gallery-item:hover { text-decoration: none; }
.kc-thumb { aspect-ratio: 4/3; background: var(--kc-soft); border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; color: #b0b6c0; font-size: 2rem; }
.kc-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.kc-gallery-item:hover .kc-thumb img { transform: scale(1.04); }
.kc-gallery-item .kc-gtitle { margin-top: 8px; font-weight: 600; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kc-gallery-item .kc-meta { font-size: 12px; color: var(--kc-muted); }
.kc-list-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-top: 16px; }
.kc-search-form { display: flex; gap: 6px; justify-content: center; margin-top: 18px; flex-wrap: wrap; }
.kc-search-form .form-select { width: auto; }
.kc-search-form .form-control { width: 220px; max-width: 100%; }
.kc-pager { margin-top: 18px; }
.page-link { color: var(--kc-text); }
.page-item.active .page-link { background: var(--kc-primary); border-color: var(--kc-primary); }

/* post view */
.kc-post-head { border-top: 2px solid var(--kc-text); border-bottom: 1px solid var(--kc-line); padding: 18px 4px 14px; }
.kc-post-title { font-size: 1.35rem; font-weight: 700; margin: 0 0 10px; letter-spacing: -.01em; }
.kc-post-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; color: var(--kc-muted); align-items: center; }
.kc-post-meta .kc-name { color: var(--kc-text); font-weight: 600; }
.kc-post-files, .kc-post-links { border-bottom: 1px solid var(--kc-line); padding: 10px 4px; font-size: 14px; }
.kc-post-files ul, .kc-post-links ul { list-style: none; margin: 0; padding: 0; }
.kc-post-files li, .kc-post-links li { padding: 3px 0; }
.kc-post-body { padding: 28px 4px; min-height: 160px; line-height: 1.75; overflow-x: auto; }
.kc-post-body img { max-width: 100%; height: auto; }
.kc-post-body iframe, .kc-post-body video { max-width: 100%; }
.kc-post-body table { max-width: 100%; }
.kc-post-body pre { background: #0f172a; color: #e2e8f0; padding: 14px; border-radius: 8px; }
.kc-post-images img { display: block; max-width: 100%; height: auto; margin: 0 auto 14px; border-radius: 4px; }
.kc-post-tags { padding: 0 4px 14px; }
.kc-post-tags a { display: inline-block; font-size: 13px; padding: 3px 10px; margin: 0 4px 4px 0; background: var(--kc-soft); border-radius: 999px; color: var(--kc-muted); }
.kc-extra-fields { margin: 0 4px 16px; font-size: 14px; }
.kc-extra-fields th { width: 160px; background: var(--kc-soft); font-weight: 600; }
.kc-reactions { display: flex; justify-content: center; gap: 10px; padding: 8px 0 22px; }
.kc-react-btn { min-width: 96px; border-radius: 999px; }
.kc-react-btn.active { background: var(--kc-primary); color: #fff; border-color: var(--kc-primary); }
.kc-post-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; border-top: 1px solid var(--kc-line); border-bottom: 1px solid var(--kc-line); padding: 10px 0; }
.kc-post-actions .btn { --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .6rem; --bs-btn-font-size: .85rem; }
.kc-prevnext { list-style: none; padding: 0; margin: 16px 0; border-top: 1px solid var(--kc-line); font-size: 14px; }
.kc-prevnext li { display: flex; gap: 12px; padding: 10px 4px; border-bottom: 1px solid var(--kc-line); }
.kc-prevnext li > span { color: var(--kc-muted); white-space: nowrap; width: 56px; }
.kc-prevnext li > a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kc-blind { background: var(--kc-soft); border-radius: 8px; padding: 24px; text-align: center; color: var(--kc-muted); }

/* comments */
.kc-comments { margin-top: 28px; }
.kc-comments-title { font-size: 1.05rem; font-weight: 700; margin-bottom: 10px; }
.kc-comment { border-bottom: 1px solid var(--kc-line); padding: 14px 4px; display: flex; gap: 10px; }
.kc-comment.is-reply { padding-left: 36px; background: #fbfbfc; }
.kc-comment.is-best { background: #fff8e6; }
.kc-comment-photo { flex: 0 0 36px; }
.kc-comment-photo img, .kc-comment-photo .kc-avatar { width: 36px; height: 36px; }
.kc-comment-main { flex: 1; min-width: 0; }
.kc-comment-head { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; font-size: 13px; color: var(--kc-muted); margin-bottom: 4px; }
.kc-comment-head .kc-name { color: var(--kc-text); font-weight: 600; }
.kc-comment-body { font-size: 14px; line-height: 1.65; }
.kc-comment-tools { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 6px; font-size: 13px; }
.kc-comment-tools button, .kc-comment-tools a { background: none; border: 0; padding: 0; color: var(--kc-muted); font-size: 13px; }
.kc-comment-tools button.active { color: var(--kc-primary); font-weight: 600; }
.kc-comment-form { border: 1px solid var(--kc-line); border-radius: var(--kc-radius); padding: 12px; margin-top: 14px; background: #fff; }
.kc-comment-form textarea { resize: vertical; }

/* forms */
.kc-form-card { max-width: 720px; margin: 0 auto; }
.kc-form-narrow { max-width: 420px; margin: 0 auto; }
.kc-form-row { display: grid; grid-template-columns: 170px 1fr; gap: 6px 16px; padding: 12px 0; border-bottom: 1px solid var(--kc-line); align-items: start; }
.kc-form-row > label, .kc-form-row > .kc-label { font-weight: 600; padding-top: 7px; font-size: 14px; }
.kc-form-row .form-text { font-size: 12.5px; }
.kc-req { color: #e5484d; margin-left: 2px; }
@media (max-width: 575.98px) { .kc-form-row { grid-template-columns: 1fr; } .kc-form-row > label { padding-top: 0; } }
.kc-form-actions { display: flex; justify-content: center; gap: 8px; margin-top: 22px; }
.kc-terms { max-height: 220px; overflow: auto; border: 1px solid var(--kc-line); border-radius: 8px; padding: 14px; font-size: 13.5px; background: var(--kc-soft); }
.kc-steps { display: flex; gap: 6px; list-style: none; padding: 0; margin: 0 0 22px; counter-reset: s; }
.kc-steps li { flex: 1; text-align: center; font-size: 13px; color: var(--kc-muted); padding: 10px 4px; border-bottom: 3px solid var(--kc-line); }
.kc-steps li.active { color: var(--kc-primary); border-color: var(--kc-primary); font-weight: 700; }
.kc-captcha { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.kc-captcha img { border: 1px solid var(--kc-line); border-radius: 6px; height: 44px; }
.kc-captcha input { width: 130px; }
.kc-check-msg { font-size: 12.5px; margin-top: 4px; }
.kc-check-msg.ok { color: #12805c; }
.kc-check-msg.bad { color: #d6363b; }
.kc-file-row { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; flex-wrap: wrap; }
.kc-file-row .form-control { flex: 1; min-width: 200px; }

/* mypage */
.kc-mypage-nav { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--kc-line); margin-bottom: 20px; }
.kc-mypage-nav a { padding: 10px 14px; color: var(--kc-muted); font-weight: 600; font-size: 14px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.kc-mypage-nav a.active { color: var(--kc-primary); border-color: var(--kc-primary); }
.kc-mypage-nav a:hover { text-decoration: none; color: var(--kc-primary); }
.kc-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-bottom: 20px; }
.kc-stat { border: 1px solid var(--kc-line); border-radius: var(--kc-radius); padding: 14px; }
.kc-stat span { display: block; font-size: 13px; color: var(--kc-muted); }
.kc-stat b { font-size: 1.3rem; }
.kc-table { width: 100%; font-size: 14px; border-top: 2px solid var(--kc-text); }
.kc-table th { background: var(--kc-soft); font-weight: 600; padding: 9px 8px; border-bottom: 1px solid var(--kc-line); white-space: nowrap; }
.kc-table td { padding: 10px 8px; border-bottom: 1px solid var(--kc-line); vertical-align: middle; }
.kc-table .num { text-align: right; white-space: nowrap; }
.kc-plus { color: #1f5eff; }
.kc-minus { color: #d6363b; }

/* faq */
.kc-faq .accordion-button { font-weight: 600; }
.kc-faq .accordion-button::before { content: "Q"; color: var(--kc-primary); font-weight: 800; margin-right: 10px; }
.kc-faq .accordion-body { background: var(--kc-soft); }

/* popups */
.kc-popup { position: fixed; z-index: 1060; background: #fff; border: 1px solid #ccd; box-shadow: 0 12px 32px rgba(0, 0, 0, .18); max-width: calc(100vw - 20px); max-height: calc(100vh - 20px); display: flex; flex-direction: column; border-radius: 8px; overflow: hidden; }
.kc-popup.is-center { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.kc-popup-body { overflow: auto; padding: 0; }
.kc-popup-body img { max-width: 100%; height: auto; display: block; }
.kc-popup-foot { display: flex; justify-content: space-between; background: #222; }
.kc-popup-foot .btn-link { color: #fff; font-size: 13px; text-decoration: none; }
@media (max-width: 575.98px) { .kc-popup { left: 10px !important; top: 80px !important; right: 10px; width: auto !important; } .kc-popup.is-center { transform: none; } }

/* shop */
.kc-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 22px; }
.kc-item-card { color: var(--kc-text); display: block; }
.kc-item-card:hover { text-decoration: none; }
.kc-item-card .kc-thumb { aspect-ratio: 1/1; }
.kc-item-card h3 { font-size: 15px; font-weight: 600; margin: 10px 0 4px; }
.kc-price { font-weight: 800; font-size: 1.05rem; }
.kc-list-price { color: var(--kc-muted); text-decoration: line-through; font-size: 13px; margin-left: 6px; }
.kc-item-flags .badge { font-weight: 600; margin-right: 3px; }
.kc-item-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; margin-bottom: 32px; }
@media (max-width: 767.98px) { .kc-item-detail { grid-template-columns: 1fr; } }
.kc-item-images .kc-thumb { aspect-ratio: 1/1; border-radius: 12px; }
.kc-item-images .kc-thumbs { display: flex; gap: 8px; margin-top: 8px; }
.kc-item-images .kc-thumbs img { width: 64px; height: 64px; object-fit: cover; border-radius: 6px; cursor: pointer; border: 1px solid var(--kc-line); }
.kc-total { font-size: 1.3rem; font-weight: 800; color: var(--kc-primary); }
.kc-stars { color: #f5a623; letter-spacing: 1px; }

/* footer */
.kc-footer { background: #1f2430; color: #aab1bd; font-size: 13px; padding: 28px 0 36px; }
.kc-footer a { color: #e2e6ec; }
.kc-footer-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 12px; }
.kc-company { margin: 0 0 8px; line-height: 1.8; }
.kc-company span { margin-right: 14px; display: inline-block; }
.kc-copy { margin: 0; color: #7d8592; }

@media (max-width: 991.98px) {
  :root { --kc-header-h: 56px; }
  .kc-main { padding-top: 18px; }
  .kc-page-title { font-size: 1.3rem; }
  .kc-hero { padding: 28px 20px; }
}
@media print {
  .kc-header, .kc-footer, .kc-sidebar, .kc-post-actions, .kc-comments, .kc-reactions, .kc-prevnext, .kc-popup, .kc-list-wrap { display: none !important; }
}

/* header container: 1320px wide, 15px gutters */
.kc-header .container { max-width: 1320px; width: 100%; padding-left: 15px; padding-right: 15px; }
.kc-header-main { justify-content: space-between; }
.kc-header-main .kc-logo { float: none; display: block; height: 50px; padding-top: 15px; }
.kc-header-main .kc-logo img { max-height: 50px; vertical-align: top; }
@media (max-width: 991.98px) {
  .kc-header-main { height: 50px; }
  .kc-header-tools .kc-icon-btn { height: 50px; line-height: 50px; padding: 0 8px; }
}

/* body, footer and header-search containers: same 1320px width and 15px gutters as the header */
.kc-main.container, .kc-footer .container, .kc-search-bar .container { max-width: 1320px; width: 100%; padding-left: 15px; padding-right: 15px; }

/* PC: logo left; menu + search pushed to the right edge (the empty tools box must not take half of the free space) */
@media (min-width: 992px) {
  .kc-header-main .kc-header-tools { margin-left: 0; display: none; }
  .kc-header-main .kc-gnb { margin-left: auto; }
  .kc-header-main .kc-header-search { margin-left: 4px; }
}


/* write form: attachment list + drag-and-drop zone */
.kc-hint-inline { font-size: .8125rem; color: var(--kc-muted); }
.file-list { display: flex; flex-direction: column; gap: .5rem; }
.file-list:empty { display: none; }
.file-item { display: flex; align-items: center; gap: .625rem; flex-wrap: wrap; padding: .5rem .75rem; border: 1px solid var(--kc-line); border-radius: 6px; background: #fff; }
.file-item.is-deleted { opacity: .45; text-decoration: line-through; }
.file-item .file-name { flex: 1 1 10rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .875rem; font-weight: 500; }
.file-item .file-size { flex: none; font-size: .75rem; color: var(--kc-muted); }
.file-item .file-remove { flex: none; display: inline-flex; align-items: center; gap: .25rem; padding: .25rem .5rem; border: 0; border-radius: .375rem; background: transparent; color: var(--kc-muted); font: inherit; font-size: .8125rem; cursor: pointer; }
.file-item .file-remove:hover { background: var(--kc-soft); color: #dc3545; }
.file-dropzone { margin-top: .5rem; }
.file-dropzone-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; padding: 1.5rem 1rem; text-align: center; border: 1.5px dashed var(--kc-line); border-radius: 6px; cursor: pointer; transition: border-color .15s, background-color .15s; }
.file-dropzone-inner:hover, .file-dropzone-inner:focus-visible, .file-dropzone-inner.is-drag-over { border-color: var(--kc-primary); background: var(--kc-soft); outline: 0; }
.file-dropzone-inner.is-full { opacity: .5; cursor: not-allowed; }
.file-dropzone-inner svg { color: var(--kc-muted); }
.file-dropzone-text { font-size: .875rem; margin: 0; }
.file-dropzone-hint { font-size: .75rem; color: var(--kc-muted); margin: 0; }
.file-item .file-caption { flex: 1 1 12rem; min-width: 0; max-width: 18rem; }

/* input + "중복확인" button row */
.kc-check-row { display: flex; gap: .5rem; align-items: stretch; }
.kc-check-row .form-control { flex: 1 1 auto; min-width: 0; }

/* 이름 클릭 메뉴 (사이드뷰) — ciboard #nameContextMenu 와 같은 검은 상자 */
.kc-sv-menu { background: #000; color: #fff; padding: 4px 8px 6px; min-width: 0; width: max-content; border: 0; border-radius: 0; z-index: 10000; font-size: 12px; --bs-dropdown-min-width: 0; }
.kc-sv-menu { margin-left: 14px; }
.kc-sv-menu li { list-style: none; }
.kc-sv-menu .kc-sv-id { color: #fff; font-size: 12px; line-height: 20px; white-space: nowrap; }
.kc-sv-menu a { color: #fff; font-size: 12px; line-height: 20px; display: block; white-space: nowrap; text-decoration: none; background: transparent; padding: 0; }
.kc-sv-menu a:hover, .kc-sv-menu a:focus { color: #ff0000; background: transparent; }
