.community-page {--cm-green:#087f6f;--cm-ink:#111827;--cm-sub:#667085;--cm-line:#e5e7eb;min-width:0}
.cm-tabs {display:grid;grid-template-columns:repeat(3,1fr);max-width:680px;margin:0 auto 26px;border:1px solid var(--cm-line);border-radius:7px;overflow:hidden}
.cm-tabs.two {grid-template-columns:repeat(2,1fr)}
.cm-tabs a {padding:13px 18px;background:#fff;color:#667085;text-align:center;font-weight:750}
.cm-tabs a+a {border-left:1px solid var(--cm-line)}
.cm-tabs a.on {background:#111;color:#fff}
.cm-filter {display:flex;align-items:center;gap:10px;padding:15px 0;border-top:1px solid var(--cm-line);border-bottom:1px solid var(--cm-line)}
.cm-ym {display:flex;align-items:center;gap:8px}
.cm-ym a {display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--cm-line);border-radius:5px}
.cm-ym b {min-width:76px;text-align:center}
.cm-filter .sort {display:flex;gap:14px;margin-left:auto}
.cm-filter .sort a {color:var(--cm-sub);font-size:13px}
.cm-filter .sort a.on {color:#111;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.cm-total {display:flex;align-items:center;justify-content:space-between;margin:23px 0 13px}
.cm-total em {color:var(--cm-green);font-style:normal}
.cm-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cm-card {display:flex;min-width:0;min-height:224px;flex-direction:column;padding:18px;border:1px solid var(--cm-line);border-radius:8px;background:#fff;transition:.15s}
.cm-card:hover {border-color:#8fc9c1;box-shadow:0 8px 22px rgba(17,24,39,.07);transform:translateY(-2px)}
.cm-card-top,.cm-card-foot {display:flex;align-items:center;gap:8px}
.cm-card-top time {margin-left:auto;color:var(--cm-sub);font-size:12px}
.cm-tag {display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:4px;background:#eaf7f4;color:#087363;font-size:11px;font-weight:800}
.cm-card h3 {margin:16px 0 8px;font-size:17px;line-height:1.45}
.cm-card p {display:-webkit-box;overflow:hidden;color:var(--cm-sub);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cm-file {display:flex;align-items:center;gap:7px;min-width:0;margin-top:auto;padding:10px;border:1px solid var(--cm-line);border-radius:5px;background:#f9fafb;font-size:12px}
.cm-file span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-file em {margin-left:auto;color:var(--cm-sub);font-style:normal}
.cm-card-foot {margin-top:13px;color:var(--cm-sub);font-size:12px}
.cm-link-thumb {display:flex;height:82px;align-items:center;justify-content:space-between;margin:13px 0;padding:16px;border-radius:6px;background:linear-gradient(135deg,#205b67,#102b32);color:#fff}
.cm-link-thumb strong {font-size:16px}
.cm-empty {grid-column:1/-1;padding:76px 20px;border-top:1px solid var(--cm-line);border-bottom:1px solid var(--cm-line);color:var(--cm-sub);text-align:center}
.cm-partner-head {display:flex;align-items:end;gap:14px;}
.cm-partner-head form {display:flex;margin-left:auto}
.cm-partner-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cm-partner {display:flex;min-width:0;flex-direction:column;align-items:center;gap:10px;text-align:center;height:80px !important;}
.cm-partner-logo {display:grid;width:100%;aspect-ratio:1;place-items:center;overflow:hidden;border:1px solid var(--cm-line);border-radius:8px;background:#fff;gap:2px;}
.cm-partner-logo .cm-partner-logo-inner {display:flex;justify-content:center;height:50px !important;max-height:50px !important;width:100%;}
.cm-partner-logo img {width:80%;object-fit:contain}
.cm-partner b {width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-chips {display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.cm-chip {padding:8px 13px;border:1px solid var(--cm-line);border-radius:999px;background:#fff;color:#667085;font-size:13px}
.cm-chip.on {border-color:#111;background:#111;color:#fff}
.cm-board-head {display:flex;align-items:center;gap:12px;margin:18px 0}
.cm-board-head form {display:flex;gap:7px;margin-left:auto}
.cm-list {border-top:2px solid #111}
.cm-row {display:grid;grid-template-columns:minmax(0,1fr) 150px 90px 75px 75px;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border-bottom:1px solid var(--cm-line)}
.cm-row:hover {background:#fafafa}
.cm-row-title {display:flex;min-width:0;align-items:center;gap:7px}
.cm-row-title strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-row .meta {color:var(--cm-sub);font-size:12px}
.cm-qna-row {grid-template-columns:minmax(0,1fr) 72px 130px 92px;min-height:84px}
.cm-qna-row .summary {display:-webkit-box;overflow:hidden;margin-top:6px;color:var(--cm-sub);font-size:12px;-webkit-box-orient:vertical;-webkit-line-clamp:1}
.cm-answer {color:var(--cm-green);font-weight:800;text-align:center}
.cm-write-link {display:flex;justify-content:center;margin:24px 0}
.cm-write-link .btn {min-width:220px}
.cm-form {max-width:900px;margin:0 auto}
.cm-form-section {padding:24px;border:1px solid var(--cm-line);border-radius:8px;background:#fff}
.cm-form .title-input {width:100%;height:52px;border:0;border-bottom:1px solid var(--cm-line);font-size:19px;font-weight:750;outline:0}
.cm-cat-buttons {display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.cm-cat-buttons label {cursor:pointer}
.cm-cat-buttons input {position:absolute;opacity:0}
.cm-cat-buttons span {display:block;padding:9px 13px;border:1px solid var(--cm-line);border-radius:5px;color:var(--cm-sub);font-size:13px}
.cm-cat-buttons input:checked+span {border-color:var(--cm-green);background:#eaf7f4;color:#087363;font-weight:800}
.cm-editor {width:100%;min-height:300px;padding:16px;border:1px solid var(--cm-line);border-radius:6px;resize:vertical;line-height:1.7}
.cm-upload {display:flex;align-items:center;gap:12px;margin-top:14px}
.cm-upload input {display:none}
.cm-previews {display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.cm-preview {position:relative;width:104px}
.cm-preview img {display:block;width:104px;height:82px;border-radius:5px;object-fit:cover}
.cm-preview small {display:block;overflow:hidden;margin-top:4px;text-overflow:ellipsis;white-space:nowrap}
.cm-actions {position:sticky;bottom:0;display:flex;gap:10px;margin-top:20px;padding:14px 0;background:#fff}
.cm-actions .primary {flex:1}
.cm-document {max-width:900px;margin:0 auto}
.cm-doc-head {padding:22px 0;border-top:2px solid #111;border-bottom:1px solid var(--cm-line)}
.cm-doc-head h1 {margin:13px 0 10px;font-size:26px}
.cm-doc-meta {display:flex;gap:14px;color:var(--cm-sub);font-size:12px}
.cm-doc-body {min-height:250px;padding:32px 4px;border-bottom:1px solid var(--cm-line);white-space:pre-wrap;line-height:1.8}
.cm-doc-images {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}
.cm-doc-images img {width:100%;border-radius:6px}
.cm-comment-list {margin-top:28px;border-top:1px solid var(--cm-line)}
.cm-comment {display:flex;gap:12px;padding:17px 2px;border-bottom:1px solid var(--cm-line)}
.cm-comment .body {min-width:0;flex:1}
.cm-comment p {margin:6px 0;white-space:pre-wrap}
.cm-comment time {color:var(--cm-sub);font-size:11px}
.cm-comment-form {display:flex;gap:8px;margin-top:18px}
.cm-comment-form textarea {min-height:74px;flex:1;padding:12px;border:1px solid var(--cm-line);border-radius:6px;resize:vertical}
.cm-pager {display:flex;justify-content:center;gap:5px;margin:24px}
.cm-pager a {display:grid;width:34px;height:34px;place-items:center;border-radius:4px}
.cm-pager a.on {background:#111;color:#fff}


/* begin: media queries - Bootstrap breakpoint 기준
기본 CSS        → 모바일/공통 기본
max-width: 991.98px -> lg 미만 전체
max-width 575  → xs 전용
min 576~767.98 → sm 전용
min 768~991.98 → md 전용
min 992~1199.98 → lg 전용
min 1200~1399.98 → xl 전용
min 1400 → xxl 전용
*/
@media (max-width: 991.98px) {
    .cm-grid {grid-template-columns:repeat(2, minmax(0, 1fr))}
    .cm-partner-grid {grid-template-columns:repeat(4, minmax(0, 1fr))}
    .cm-row {grid-template-columns:minmax(0, 1fr) 110px 80px}
    .cm-row .views, .cm-row .likes {display: none}
    .cm-qna-row {grid-template-columns:minmax(0, 1fr) 64px 100px}
    .cm-qna-row .date {display: none}
    .v2-prototype .cm-seg {display: inline-flex;margin-top:13px;}
}

@media (max-width: 575px) {
    .cm-tabs {margin-bottom: 18px}
    .cm-filter {flex-wrap: wrap}
    .cm-filter .sort {width: 100%;margin: 4px 0 0}
    .cm-grid {grid-template-columns:1fr}
    .cm-partner-grid {grid-template-columns:repeat(2, minmax(0, 1fr));gap: 14px 10px}
    .cm-partner-head {align-items: stretch;flex-direction: column}
    .cm-partner-head .ttl {margin-top:10px;}
    .cm-partner-head .search {width:100%;}
    .cm-partner-head form {margin: 0}
    .cm-board-head {align-items: stretch;flex-direction: column}
    .cm-board-head form {margin: 0}
    .cm-row {grid-template-columns:minmax(0, 1fr) 72px;padding: 12px 4px}
    .cm-row .author {display: none}
    .cm-qna-row {grid-template-columns:minmax(0, 1fr) 54px}
    .cm-qna-row .author {display: none}
    .cm-form-section {padding: 17px 14px}
    .cm-doc-head h1 {font-size: 22px}
    .cm-doc-images {grid-template-columns:1fr}
    .cm-comment-form {flex-direction: column}
    .v2-prototype .cm-seg {display: inline-flex;margin-top:13px;}
    .v2-prototype .cm-chips {height: 39px;overflow-x: scroll;display: flex;margin-left: 10px;flex-wrap:nowrap;flex-direction: row !important;}
}

@media (min-width: 576px) and (max-width: 767.98px) {
}

@media (min-width: 768px) and (max-width: 991.98px) {
}

@media (min-width: 992px) {
}

@media (min-width: 992px) and (max-width: 1199.98px) {
}

@media (min-width: 1200px) {
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
}

@media (min-width: 1400px) {
}
/* end: media queries */
