/* All MoC boards share the event board's typography, chips, search panel and cards. */
.moc-board-page { --board-line:#e5e5e5; --board-sub:#6b6b6b; }
.moc-board-page .moc-cb { max-width:none; margin:36px 0 48px; color:#171719; }
.moc-board-page .moc-community-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:36px 0 22px; padding:0; background:none; border:0; border-radius:0; }
.moc-board-page :is(.moc-community-hero) h1 { margin:8px 0; font-size:clamp(30px,4vw,40px); line-height:1.3; letter-spacing:-.045em; color:#171719; }
.moc-board-page :is(.moc-community-hero)>div>p { margin-top:8px; font-size:16px; line-height:1.6; color:var(--board-sub); }
.moc-board-page .moc-community-nav { display:flex; flex-wrap:nowrap; gap:8px; padding:2px 1px 8px; margin:0 0 18px; border:0; overflow-x:auto; }
.moc-app.moc-board-page .moc-community-nav a.is-active { background:#171719; border-color:#171719; color:#fff !important; }
.moc-board-page .moc-cb-categories a { background:#fff; border-color:var(--board-line); border-radius:99px; color:#333333; }
.moc-board-page .moc-cb-categories a[aria-current] { background:#171719; border-color:#171719; color:#fff; }
.moc-board-page .moc-community-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:0 0 22px; padding:20px; background:#fff; border:0; border-radius:12px; box-shadow:0 0 0 1px rgba(23,23,25,.06),0 1px 2px rgba(23,23,25,.04); }
.moc-board-page .moc-community-toolbar form { display:flex; flex:1; gap:8px; min-width:0; }
.moc-board-page .moc-community-toolbar input:not([type=hidden]) { flex:1; min-width:0; width:auto; height:46px; border:1px solid #d4d4d4; border-radius:12px; padding:0 14px; background:#fff; font:inherit; font-size:14px; }
.moc-board-page .moc-community-toolbar form>button { display:inline-flex; align-items:center; justify-content:center; min-width:46px; border:1px solid var(--board-line); border-radius:12px; background:#fff; color:#171719; }
.moc-board-page :is(.moc-cb-albums,.moc-community-posts) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.moc-board-page .moc-cb-item-copy { padding:18px; gap:12px; }
.moc-board-page .moc-cb-item-copy strong { font-size:17px; font-weight:700; line-height:1.45; letter-spacing:-.03em; }
.moc-board-page .moc-cb-item-copy>span { color:var(--board-sub); font-size:13px; }
.moc-board-page .moc-cb-cover { aspect-ratio:4/3; margin:0; border-radius:0; }
.moc-board-page .moc-cb-tag { background:#efefef; color:#0a0a0a; border-radius:99px; }
.moc-board-page .moc-community-post-card { display:flex; align-items:stretch; gap:14px; padding:22px; border:0; }
.moc-board-page .moc-community-post-main { min-width:0; }
.moc-board-page .moc-community-post-icon { width:32px; height:32px; background:#f5f5f5; color:#0a0a0a; border-radius:10px; }
.moc-board-page .moc-community-post-tags span { color:#0a0a0a; background:#efefef; }
.moc-board-page .moc-community-post-main h3 { margin:10px 0; }
.moc-board-page .moc-community-post-meta { flex-wrap:wrap; color:var(--board-sub); }
.moc-board-page .moc-content-card { border:0; }
.moc-board-page .moc-content-card .moc-card-image { height:auto; }
.moc-board-page .moc-content-card .moc-card-body { gap:8px; }
.moc-board-page .moc-content-card .moc-category { background:none; padding:0; }
.moc-board-page :is(.moc-cb-form,.moc-cb-detail,.moc-community-form,.moc-community-article,.moc-reading) { border:1px solid var(--board-line); border-radius:12px; background:#fff; padding:28px; box-shadow:none; }
.moc-board-page :is(.moc-reading,.moc-community-detail,.moc-community-form,.moc-community-form-heading) { max-width:860px; margin-inline:auto; }
.moc-board-page .moc-cb-detail,.moc-board-page .moc-cb-comments { max-width:860px; margin-inline:auto; }
.moc-board-page .moc-cb-comments { padding:28px; margin-top:24px; border:1px solid var(--board-line); border-radius:12px; background:#fff; }
.moc-board-page .moc-cb-categories { margin:0 0 18px; }
.moc-board-page :is(.moc-community-form-heading,.moc-cb-detail,.moc-reading,.moc-community-article) h1 { font-size:30px; line-height:1.35; letter-spacing:-.03em; }
.moc-board-page :is(.moc-cb-form,.moc-community-form) input:not([type=hidden]):not([type=checkbox]),.moc-board-page :is(.moc-cb-form,.moc-community-form) select { border-color:#d4d4d4; border-radius:12px; }
.moc-board-page .moc-community-pagination a { border-radius:10px; }
.moc-board-page .moc-community-pagination a.is-active { background:#171719; color:#fff; }
@media(max-width:1100px) { .moc-board-page :is(.moc-cb-albums,.moc-community-posts) { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .moc-board-page :is(.moc-cb-albums,.moc-community-posts) { grid-template-columns:minmax(0,1fr); }
 .moc-board-page .moc-community-hero { flex-wrap:wrap; gap:16px; }
 .moc-board-page :is(.moc-community-hero)>div>p { font-size:14px; }
 .moc-board-page .moc-community-toolbar { padding:16px; }
 .moc-board-page .moc-community-toolbar form { flex-basis:100%; }
 .moc-board-page :is(.moc-cb-form,.moc-cb-detail,.moc-community-form,.moc-community-article,.moc-reading) { padding:20px; }
 .moc-board-page :is(.moc-community-form-heading,.moc-cb-detail,.moc-reading,.moc-community-article) h1 { font-size:25px; }
}

.moc-board-page .moc-content-card { display:flex; flex-direction:column; min-width:0; height:100%; overflow:hidden; border-radius:12px; background:#fff; box-shadow:0 0 0 1px rgba(23,23,25,.06),0 1px 2px rgba(23,23,25,.04); }
.moc-board-page .moc-content-card .moc-card-image { display:block; aspect-ratio:4/3; overflow:hidden; border-radius:0; background:#f0f0f0; }
.moc-board-page .moc-content-card .moc-card-image img { width:100%; height:100%; object-fit:cover; }
.moc-board-page .moc-content-card .moc-card-body { display:flex; flex:1; flex-direction:column; padding:16px 18px 6px; }
.moc-board-page .moc-content-card .moc-category { font-size:12px; font-weight:650; color:#0a0a0a; }
.moc-board-page .moc-content-card h3 { margin:0 0 12px; font-size:17px; line-height:1.45; font-weight:700; letter-spacing:-.03em; }
.moc-board-page .moc-content-card .moc-card-footer { margin:auto -18px 0; padding:8px 12px 8px 18px; border-top:1px solid #f0f0f0; }
@media(hover:hover) and (pointer:fine) { .moc-board-page .moc-content-card:hover { transform:translateY(-3px); box-shadow:0 0 0 1px rgba(23,23,25,.06),0 18px 40px -18px rgba(23,23,25,.32); } }
@media(prefers-reduced-motion:reduce) { .moc-board-page .moc-content-card:hover { transform:none; } }

.moc-board-page .moc-community-hero { text-align:left; }
.moc-board-page .moc-community-toolbar>div { display:flex; align-items:baseline; gap:8px; }
.moc-board-page .moc-community-toolbar form { border:0; border-radius:0; padding:0; background:none; }
.moc-board-page .moc-community-hero>.moc-button { align-self:flex-start; }
