/* The Communities tab, community.stonkbuilder.com/communities (app/community_directory.py).
   Loaded after landing.css, which supplies the header, footer, buttons and colour
   variables (dark by default); the light theme follows theme.css's variables. */
.site-nav>a[aria-current=page]:not(.button){color:var(--lime);box-shadow:inset 0 -2px 0 var(--lime);padding-block:6px}
.footer-main nav a[aria-current=page]{color:var(--lime)}
.communities-page .eyebrow{margin-bottom:16px}

.cm-hero{padding-block:76px 30px}
.cm-hero h1{margin:0;font-size:clamp(46px,6.6vw,84px);font-weight:710;letter-spacing:-.075em;line-height:.99}
.cm-hero h1 em,.cm-join h2 em{font-style:normal;color:var(--lime)}
.cm-lede{max-width:640px;margin:24px 0 0;color:#b8c0b1;font-size:18px;line-height:1.66}
.cm-stats{display:flex;flex-wrap:wrap;width:max-content;max-width:100%;margin:34px 0 0;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.cm-stats div{display:flex;flex-direction:column;justify-content:space-between;min-width:120px;padding:14px 22px;border-right:1px solid var(--line)}
.cm-stats div:last-child{border-right:0}
.cm-stats dt{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.cm-stats dd{margin:5px 0 0;font-size:25px;font-weight:720;letter-spacing:-.04em;line-height:1.1}

.cm-section{padding-block:58px}
.cm-section .section-heading{margin-bottom:28px}

.cm-hub{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel);transition:border-color .18s ease,transform .18s ease}
.cm-hub:hover{border-color:#62784f;transform:translateY(-2px)}
.cm-hub-cover{display:block;overflow:hidden;border-bottom:1px solid var(--line);background:#0b0e0b}
.cm-hub-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;transition:transform .35s ease}
.cm-hub:hover .cm-hub-cover img{transform:scale(1.025)}
.cm-hub-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:22px 22px 24px}
.cm-kind{margin:0;color:var(--lime);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cm-hub h3{margin:0;font-size:27px;font-weight:720;letter-spacing:-.045em;line-height:1.08}
.cm-hub h3 a:hover{color:var(--lime)}
.cm-summary{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.cm-facts{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none}
.cm-facts li{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-raised);color:#c6ceba;font-size:11px;line-height:1.5}
.cm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:auto;padding-top:8px}

.cm-hub-official{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);margin-bottom:18px}
.cm-hub-official .cm-hub-cover{height:100%;border-bottom:0;border-right:1px solid var(--line)}
.cm-hub-official .cm-hub-cover img{height:100%;min-height:100%}
.cm-hub-official .cm-hub-body{justify-content:center;gap:14px;padding:34px 36px}
.cm-hub-official h3{font-size:clamp(30px,3.4vw,40px)}
.cm-hub-official .cm-summary{font-size:15px}
.cm-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}

.cm-community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.cm-community{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);transition:border-color .18s ease,transform .18s ease}
.cm-community:hover{border-color:#62784f;transform:translateY(-2px)}
.cm-avatar{display:grid;place-items:center;width:56px;height:56px;overflow:hidden;border-radius:14px;background:var(--lime-dark);color:var(--lime);font-size:22px;font-weight:760}
.cm-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.cm-community-body{display:grid;gap:4px;min-width:0}
.cm-community-body strong{overflow:hidden;font-size:17px;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
.cm-handle,.cm-meta{color:var(--muted);font-size:12px}
.cm-headline{color:#c6ceba;font-size:13px;line-height:1.55}
.cm-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.cm-badge,.cm-topic{padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px;line-height:1.6}
.cm-badge{border-color:#4d6337;color:var(--lime)}
.cm-go{color:var(--muted)}
.cm-community:hover .cm-go{color:var(--lime)}
.cm-empty{display:grid;justify-items:start;gap:10px;padding:28px;border:1px dashed #45523c;border-radius:14px;background:#ffffff03}
.cm-empty h3{margin:0;font-size:21px;letter-spacing:-.03em}
.cm-empty p{max-width:560px;margin:0;color:var(--muted);font-size:14px}
.cm-empty .button{margin-top:6px}
.cm-more{margin:20px 0 0;color:var(--muted);font-size:13px}

.cm-join{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px 56px;align-items:start;margin-bottom:84px;padding:46px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.cm-join h2{margin:0;font-size:clamp(32px,4vw,48px);font-weight:710;letter-spacing:-.06em;line-height:1.05}
.cm-join-copy>p:not(.eyebrow){max-width:380px;margin:18px 0 0;color:var(--muted);font-size:13px}
.cm-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.cm-steps li{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-raised)}
.cm-steps span{grid-row:1/3;color:var(--lime);font-size:11px;font-weight:700;letter-spacing:.12em;padding-top:3px}
.cm-steps strong{font-size:15px}
.cm-steps small{color:var(--muted);font-size:13px;line-height:1.55}
.cm-join-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;grid-column:2}

@media(max-width:900px){
  .cm-hub-official{grid-template-columns:1fr}
  .cm-hub-official .cm-hub-cover{border-right:0;border-bottom:1px solid var(--line)}
  .cm-hub-official .cm-hub-cover img{height:auto}
  .cm-hub-official .cm-hub-body{padding:24px}
  .cm-join{grid-template-columns:1fr;padding:30px}
  .cm-join-actions{grid-column:auto}
}
@media(max-width:680px){
  .cm-hero{padding-block:48px 16px}
  .cm-lede{font-size:16px}
  .cm-stats{width:100%}
  .cm-stats div{flex:1 1 0;min-width:0;padding:12px 14px}
  .cm-stats dd{font-size:21px}
  .cm-section{padding-block:40px}
  .cm-hub-grid,.cm-community-grid{grid-template-columns:1fr}
  .cm-hub-body{padding:18px 18px 20px}
  .cm-hub h3{font-size:24px}
  .cm-join{margin-bottom:56px;padding:22px 18px}
  .cm-empty{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){.cm-hub,.cm-community,.cm-hub-cover img{transition:none}.cm-hub:hover,.cm-community:hover{transform:none}.cm-hub:hover .cm-hub-cover img{transform:none}}

html[data-theme="light"] .site-nav>a[aria-current=page]:not(.button),html[data-theme="light"] .footer-main nav a[aria-current=page]{color:#3f5f1f}
html[data-theme="light"] .site-nav>a[aria-current=page]:not(.button){box-shadow:inset 0 -2px 0 #7fa94a}
html[data-theme="light"] .communities-page .eyebrow,html[data-theme="light"] .cm-kind,html[data-theme="light"] .cm-steps span,html[data-theme="light"] .cm-badge{color:#4a6d24}
html[data-theme="light"] .cm-hero h1 em,html[data-theme="light"] .cm-join h2 em{color:#6f9a36}
html[data-theme="light"] .cm-lede{color:#586451}
html[data-theme="light"] .cm-hub:hover,html[data-theme="light"] .cm-community:hover{border-color:#a9c28b}
html[data-theme="light"] .cm-hub h3 a:hover{color:#3f5f1f}
html[data-theme="light"] .cm-facts li,html[data-theme="light"] .cm-headline{color:#4b5846}
html[data-theme="light"] .cm-hub-cover{background:#e8ece3}
html[data-theme="light"] .cm-avatar{background:#e4efd6;color:#3f5f1f}
html[data-theme="light"] .cm-badge{border-color:#b8ce9b}
html[data-theme="light"] .cm-community:hover .cm-go{color:#3f5f1f}
html[data-theme="light"] .cm-empty{border-color:#c6d1bd;background:#fff}
html[data-theme="light"] .communities-page .text-link{color:#3f5f1f}
/* In the phone menu the current tab is marked by its colour alone. */
@media(max-width:680px){.site-nav>a[aria-current=page]:not(.button),html[data-theme="light"] .site-nav>a[aria-current=page]:not(.button){box-shadow:none}}
