/* 커뮤니티 쪽, 새 디자인 (Controls/V2/V2Community.ascx). 2026년 10월.
   머리, 카드, 달력, 챗봇 카드는 첫 화면의 것(V2Home.css)을 그대로 쓰고,
   여기에는 이 쪽에만 있는 칸들을 둔다. */

.v2-community .v2-cols { margin-top: 24px; }

/* EVENT CORNER: 가운데 큰 칸 하나, 양옆에 작은 칸 둘씩 */
.v2-cm-ev-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 10px; margin-bottom: 16px; border-bottom: 1px solid var(--v2-line); }
.v2-cm-ev-head h2 { margin: 0; flex: 0 0 auto; font-family: var(--v2-font); font-size: 17px; font-weight: 900; letter-spacing: .3px; color: var(--v2-pink); }
.v2-cm-ev-tabs { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px 14px; font-size: 13px; }
.v2-cm-ev-tabs .evt-cats { display: contents; }
.v2-cm-ev-tabs a { color: #4b5162; font-weight: 700; }
.v2-cm-ev-tabs a:hover { color: var(--v2-primary); }
.v2-cm-ev-tabs .v2-cm-ev-more { margin-left: 6px; font-weight: 400; color: var(--v2-muted); }
.v2-cm-ev-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); gap: 16px; }
.v2-cm-ev-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.v2-cm-ev-big { min-width: 0; }
.v2-cm-ev { display: flex; flex-direction: column; gap: 8px; }
.v2-cm-ev-img { display: block; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--v2-bg); }
.v2-cm-ev-big .v2-cm-ev-img { aspect-ratio: auto; height: 100%; min-height: 300px; }
.v2-cm-ev-big .v2-cm-ev { height: 100%; }
.v2-cm-ev-big .v2-cm-ev-img { flex: 1; }
.v2-cm-ev-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.v2-cm-ev:hover .v2-cm-ev-img img { transform: scale(1.04); }
.v2-cm-ev-title { font-size: 14px; font-weight: 700; line-height: 1.4; color: var(--v2-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-cm-ev-big .v2-cm-ev-title { font-size: 17px; }
.v2-cm-ev:hover .v2-cm-ev-title { color: var(--v2-primary); }

/* 커뮤니티 네트워크 */
.v2-cm-net ul, .v2-cm-posts ul { list-style: none; margin: 0; padding: 0; }
.v2-cm-net li, .v2-cm-posts li { margin: 0; border-bottom: 1px solid var(--v2-line); }
.v2-cm-net li:last-child, .v2-cm-posts li:last-child { border-bottom: 0; }
.v2-cm-net a { display: flex; gap: 16px; padding: 14px 0; }
.v2-cm-net-img { flex: 0 0 auto; width: 120px; height: 80px; border-radius: 10px; overflow: hidden;
    background: var(--v2-primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b3fe0' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.4'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6M15 14.5c3 0 6 2 6 5.5'/%3E%3C/svg%3E") center / 34px no-repeat; }
.v2-cm-net-img img { width: 100%; height: 100%; object-fit: cover; }
/* the site cards (sites marked Community in the back office): the site's address, then its newest post */
.v2-cm-site { font-weight: 600; color: #8a90a2; }
.v2-cm-net-last { display: flex; align-items: baseline; gap: 8px; min-width: 0; font-size: 13px; color: #3d4354; }
.v2-cm-net-last i { flex: 0 0 auto; font-style: normal; font-size: 11px; font-weight: 800; color: var(--v2-primary); background: var(--v2-primary-soft); padding: 2px 7px; border-radius: 999px; }
.v2-cm-net-last em { flex: 0 0 auto; font-style: normal; font-size: 12px; color: var(--v2-muted); }
.v2-cm-net-last span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.v2-cm-net-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.v2-cm-net-text b { font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--v2-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-cm-net a:hover b, .v2-cm-posts a:hover b { color: var(--v2-primary); }
.v2-cm-net-meta, .v2-cm-posts-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 12px; color: var(--v2-muted); }
.v2-cm-org { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: var(--v2-primary); }
.v2-cm-org::before { content: ''; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b3fe0' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.4'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6M15 14.5c3 0 6 2 6 5.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.v2-cm-net-excerpt, .v2-cm-posts-excerpt { font-size: 13px; line-height: 1.55; color: #5b6172; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 커뮤니티 포토: 셋씩 두 줄 */
.v2-cm-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

/* 커뮤니티에서 올라온 글 */
.v2-cm-posts a { display: flex; flex-direction: column; gap: 5px; padding: 14px 0; }
.v2-cm-posts b { font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--v2-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-cm-posts-excerpt { -webkit-line-clamp: 1; }

/* 오른쪽: 내 단체 홈페이지 */
.v2-cm-cta { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: var(--v2-radius); overflow: hidden; color: #fff;
    background: linear-gradient(135deg, #7c4dff 0%, #5b3ad6 100%); }
.v2-cm-cta::after { content: ''; position: absolute; right: -20px; bottom: -20px; width: 110px; height: 110px; border-radius: 22px; transform: rotate(-12deg); background: rgba(255, 255, 255, .14); }
.v2-cm-cta b { position: relative; z-index: 1; font-size: 19px; font-weight: 900; line-height: 1.35; }
.v2-cm-cta span { position: relative; z-index: 1; font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, .92); }
.v2-cm-cta .v2-cm-cta-mail { margin-top: 4px; padding: 8px 12px; border-radius: 10px; background: rgba(255, 255, 255, .16); font-size: 13px; color: #fff; user-select: all; }
.v2-cm-cta .v2-cm-cta-mail b { position: static; font-size: 14px; font-weight: 700; }
.v2-home .v2-cm-cta a { position: relative; z-index: 1; align-self: flex-start; margin-top: 6px; padding: 9px 18px; border-radius: 20px; background: #fff; color: var(--v2-primary); font-size: 14px; font-weight: 700; }
.v2-home .v2-cm-cta a:hover { background: var(--v2-primary-soft); }

@media (max-width: 1100px) {
    .v2-cm-ev-head { flex-direction: column; align-items: flex-start; }
    .v2-cm-ev-tabs { justify-content: flex-start; }
}
@media (max-width: 760px) {
    .v2-cm-ev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2-cm-ev-big { grid-column: 1 / -1; order: -1; }
    .v2-cm-ev-col { display: contents; }
    .v2-cm-ev-big .v2-cm-ev-img { min-height: 200px; }
    .v2-cm-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2-cm-net-img { width: 88px; height: 66px; }
}

/* phones: the site box's long title broke over two lines and pushed 더보기 down */
@media (max-width: 760px) {
    .v2-cm-net.is-sites .v2-sec-title { font-size: 16px; }
}
