/* Community page */
.cm-hero{padding-bottom:70px}
.cm-hero .hero-bottom{margin-top:40px}

.cm-feed-section{padding:95px 6% 85px;border-bottom:1px solid var(--line)}
.cm-feed-head{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:45px}
.cm-feed-head h2{font-size:clamp(36px,4vw,64px);font-weight:400;line-height:1.08;letter-spacing:-.05em}
.cm-feed-head>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:520px}


.cm-notice{max-width:860px;margin:0 0 20px;padding:14px 18px;border:1px solid var(--line);border-left:3px solid var(--copper);font-size:14px;line-height:1.6;color:var(--muted);background:#efe3d4}
.cm-notice[hidden]{display:none}
.cm-notice-retry{font:inherit;font-size:14px;color:#8c5530;background:none;border:0;border-bottom:1px solid #8c5530;padding:0;cursor:pointer}

.cm-feed{max-width:860px;border-top:1px solid var(--line)}
.cm-post{display:grid;grid-template-columns:44px minmax(0,1fr);gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}
.cm-av{width:44px;height:44px;border-radius:50%;overflow:hidden;background:#e4c3a3;color:#51321e;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.02em}
.cm-av img{width:100%;height:100%;object-fit:cover;display:block}
.cm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.cm-kind{font-size:11px;color:#8c5530;border:1px solid #d9b896;border-radius:20px;padding:3px 9px;letter-spacing:.02em;order:-1}
.cm-name{font-size:16px;font-weight:600}
.cm-title{font-size:21px;font-weight:400;letter-spacing:-.5px;flex-basis:100%;margin-top:8px}
.cm-meta{font-size:13px;color:var(--muted)}
.cm-text{margin-top:14px}
.cm-text p{font-size:15px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.cm-text p+p{margin-top:10px}
.cm-media{display:block;margin-top:18px;border-radius:10px;overflow:hidden;border:1px solid var(--line);max-width:560px;background:#e9ddce}
.cm-media img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}
.cm-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding:0}
.cm-tags a,.cm-tags span{display:inline-block;font-size:12px;color:var(--muted);background:#e9ddce;border-radius:20px;padding:5px 10px}
.cm-tags a:hover{color:var(--ink)}
.cm-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:18px}
.cm-stats{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;padding:0;font-size:13px;color:var(--muted)}
.cm-stats b{color:var(--ink);font-weight:600}
.cm-open{font-size:13px;border-bottom:1px solid #8c5530;padding-bottom:3px}

.cm-state{padding:70px 0;text-align:center;color:var(--muted);font-size:15px;line-height:1.7}
.cm-state-title{font-size:24px;color:var(--ink);letter-spacing:-.5px;margin-bottom:8px}
.cm-state .actions{justify-content:center;margin-top:24px}
.cm-retry{border:0;font:inherit;font-size:13px;cursor:pointer}
.cm-spinner{display:inline-block;width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--copper);border-radius:50%;animation:cm-spin .9s linear infinite;margin-bottom:14px}
@keyframes cm-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cm-spinner{animation:none;border-top-color:var(--line)}}
.cm-source{max-width:860px;margin:26px 0 0;font-size:13px;color:var(--muted)}
.cm-source a{border-bottom:1px solid #b59678}

.cm-cap-link{display:inline-block;margin-top:14px}

.cm-events-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}
.cm-events h2{margin-top:0}
.cm-event-list{list-style:none;padding:0}
.cm-event-list li{padding:22px 0;border-top:1px solid var(--line);display:grid;gap:8px}
.cm-event-list li:first-child{padding-top:0;border-top:0}
.cm-event-list b{font-size:21px;font-weight:400;letter-spacing:-.5px}
.cm-event-list span{font-size:14px;line-height:1.8;color:var(--muted)}
.cm-events-note{margin-top:22px;font-size:14px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:22px}

@media(max-width:860px){
  .cm-feed-head,.cm-events-grid{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
  .cm-hero{padding-bottom:50px}
  .cm-feed-section{padding:65px 6% 60px}
  .cm-post{grid-template-columns:36px minmax(0,1fr);gap:14px;padding:24px 0}
  .cm-av{width:36px;height:36px;font-size:11px}
  .cm-title{font-size:19px}
  .cm-text p{font-size:14.5px}
}
