/* WarteCheck Community: mobile-first interface layer. */
.community-page {
  --community-space-1: .5rem;
  --community-space-2: .75rem;
  --community-space-3: 1rem;
  --community-space-4: 1.5rem;
  --community-border: #d8e5df;
  --community-soft: #f2f8f5;
  --community-ink: #092126;
  --community-muted: #607873;
  gap: var(--community-space-2);
}
.community-page :where(button, a, input, textarea, select, summary) { -webkit-tap-highlight-color: transparent; }
.community-page :where(input, textarea, select) { color: var(--community-ink); font-size: 1rem; }
.community-page :where(button, a, summary):focus-visible { outline: 3px solid rgba(47,112,98,.2); outline-offset: 2px; }
.community-page button.is-requested:disabled { color: #285e53; border-color: #c8dfd6; background: #e7f3ee; opacity: 1; cursor: default; }
.community-people-mini button.is-requested:disabled { display: grid; width: 1.9rem; height: 1.9rem; padding: 0; place-items: center; }
.community-network-state { position: fixed; z-index: 1140; right: 1rem; bottom: 1rem; display: flex; max-width: min(23rem,calc(100vw - 2rem)); align-items: center; gap: .65rem; padding: .7rem .8rem; color: #fff; border-radius: 8px; background: #173d38; box-shadow: 0 10px 28px rgba(9,33,38,.2); }
.community-network-state > i { font-size: 1.15rem; }
.community-network-state > span { display: grid; }
.community-network-state strong { font-size: .8rem; }
.community-network-state small { color: #cfe1dc; font-size: .68rem; }

/* Primary community navigation */
.community-section-nav {
  position: sticky;
  z-index: 18;
  top: var(--wc-topbar-height);
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .25rem;
  padding: .3rem;
  overflow: visible;
  border-radius: 8px;
}
.community-section-nav a {
  min-width: 0;
  min-height: 2.75rem;
  justify-content: center;
  gap: .35rem;
  padding: .5rem .35rem;
  font-size: .78rem;
  white-space: nowrap;
}
.community-section-nav a span { display: block !important; overflow: hidden; text-overflow: ellipsis; }
.community-section-nav a.is-active { color: #154f43; background: #dff2e9; }
.community-section-nav b { position: static !important; flex: 0 0 auto; }

/* Feed hierarchy */
.community-layout { display: block; }
.community-feed-column { width: 100%; max-width: 46rem; gap: var(--community-space-2); margin: 0 auto; }
.community-feed-topbar {
  position: sticky;
  z-index: 14;
  top: calc(var(--wc-topbar-height) + 3.35rem);
  gap: .35rem;
  padding: .3rem;
  border-radius: 8px;
}
.community-feed-switch { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: none; }
.community-feed-switch a { min-width: 0; min-height: 2.65rem; padding: .5rem .35rem; font-size: .76rem; }
.community-feed-search-button { width: 2.65rem; min-width: 2.65rem; padding: .45rem; justify-content: center; }
.community-feed-search-button span { display: none; }
.community-feed-tabs { align-items: center; padding: .1rem .15rem; }
.community-feed-tabs h1 { font-size: 1.25rem; }
.community-context-copy { margin: .2rem 0 0; color: var(--community-muted); font-size: .82rem; }
.community-rail { display: none; }

/* Composer */
.community-composer { overflow: visible; border-radius: 8px; }
.community-composer-start { gap: .65rem; padding: .75rem; }
.community-composer-start > button {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  min-height: 3rem;
  align-items: center;
  gap: .65rem;
  border-radius: 7px;
}
.community-composer-start > button > i { color: #2f7062; font-size: 1.05rem; }
.community-composer-start > button > span { display: grid; gap: .05rem; }
.community-composer-start > button strong { color: #24433d; font-size: .86rem; }
.community-composer-start > button small { color: #70837e; font-size: .72rem; }
.community-composer form { gap: .75rem; }
.community-composer-head { min-height: 3rem; gap: .65rem; }
.community-composer-head > div { display: grid; min-width: 0; flex: 1; }
.community-composer-head > div small { color: #4d746b; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.community-composer-head > div strong { font-size: 1.05rem; }
.community-composer-head > button:first-child { width: 2.75rem; height: 2.75rem; border-radius: 7px; }
.community-composer-head .community-composer-submit {
  display: inline-flex;
  width: auto;
  min-width: 7.75rem;
  height: auto;
  min-height: 2.65rem;
  align-items: center;
  justify-content: center;
  padding: .55rem .9rem;
  color: #fff;
  border: 1px solid #1f6f5d;
  border-radius: 7px;
  background: #1f6f5d;
  box-shadow: 0 3px 9px rgba(31,111,93,.18);
  white-space: nowrap;
  line-height: 1.2;
}
.community-composer-head .community-composer-submit:hover,
.community-composer-head .community-composer-submit:focus-visible {
  color: #fff;
  border-color: #175949;
  background: #175949;
}
.community-composer-head .community-composer-submit:disabled {
  color: #fff;
  border-color: #8ca9a1;
  background: #8ca9a1;
  box-shadow: none;
  opacity: .72;
}
.community-composer-author { display: flex; align-items: center; gap: .6rem; }
.community-composer-author > span:last-child { display: grid; }
.community-composer-author strong { font-size: .86rem; }
.community-composer-author small { color: var(--community-muted); font-size: .72rem; }
.community-composer textarea { min-height: 9rem; padding: .75rem; border-radius: 7px; font-size: 1rem; line-height: 1.55; }
.community-composer-counter { display: flex; justify-content: space-between; gap: .75rem; margin-top: -.45rem; color: #738680; font-size: .7rem; }
.community-composer-counter b { color: inherit; }
.community-composer-primary-tools { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; }
.community-composer-primary-tools > button,
.community-composer-primary-tools > label {
  display: flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: .45rem;
  color: #315b56;
  border: 1px solid #d3e3dc;
  border-radius: 7px;
  background: #f5f9f7;
  font-size: .73rem;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
}
.community-composer-primary-tools span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.community-composer-more { display: grid; gap: .75rem; padding: .75rem; border: 1px solid #dce8e3; border-radius: 7px; background: #f8fbf9; }
.community-spoiler-toggle { display: flex; align-items: center; gap: .6rem; cursor: pointer; }
.community-spoiler-toggle > span { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 0 .45rem; }
.community-spoiler-toggle i { grid-row: 1/3; color: #4d746b; }
.community-spoiler-toggle strong { font-size: .8rem; }
.community-spoiler-toggle small { color: var(--community-muted); font-size: .69rem; }
.community-composer-hint { margin: 0; }
.community-poll-editor > button { min-height: 2.65rem; justify-self: start; padding: .45rem .65rem; color: #2f7062; border: 1px solid #cfe1d9; border-radius: 7px; background: #f3f8f5; font-size: .75rem; font-weight: 800; }
.community-composer-mobile-submit { display: none; }
.community-composer-media-preview { grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Post cards and media */
.community-feed { gap: .75rem; }
.community-feed-loader .btn { min-height: 2.5rem; margin-top: .2rem; padding-inline: .8rem; }
.community-post-card { border-radius: 8px; box-shadow: 0 4px 14px rgba(9,33,38,.045); }
.community-post-head { padding: .8rem .85rem .5rem; }
.community-post-author > a strong { font-size: .94rem; }
.community-post-author > a small,
.community-post-author > div { font-size: .72rem; }
.community-post-body { padding: 0 .85rem .5rem; font-size: .97rem; line-height: 1.62; }
.community-post-context { padding: 0 .85rem .65rem; font-size: .8rem; }
.community-media-grid { position: relative; display: flex; gap: .5rem; padding: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; background: transparent; }
.community-media-grid::-webkit-scrollbar { display: none; }
.community-media-grid .community-media-item { position: relative; flex: 0 0 100%; min-width: 100%; scroll-snap-align: center; background: #edf3f0; }
.community-media-grid a { min-height: 12rem; }
.community-media-grid img,
.community-media-grid-1 img { width: 100%; height: auto; max-height: min(68dvh,42rem); object-fit: contain; background: #edf3f0; }
.community-media-counter { position: absolute; right: .65rem; bottom: .65rem; padding: .25rem .5rem; color: #fff; border-radius: 999px; background: rgba(5,28,31,.72); font-size: .7rem; font-weight: 850; }
.community-post-actions { grid-template-columns: repeat(4,minmax(0,1fr)) !important; margin-top: .25rem; }
.community-post-actions button,
.community-post-actions a { min-height: 3rem; gap: .2rem; padding: .45rem .18rem; font-size: .7rem; white-space: nowrap; }
.community-post-actions b { min-width: 0; padding: 0; font-size: .68rem; }

/* Comments: sheet in feed, thread on detail page */
.community-comments-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-bottom: .65rem; border-bottom: 1px solid var(--community-border); }
.community-comments-head > div { display: grid; }
.community-comments-head strong { font-size: 1rem; }
.community-comments-head span { color: var(--community-muted); font-size: .7rem; }
.community-comments-head button { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 0; border-radius: 7px; background: #edf3f0; }
.community-comments { gap: .75rem; }
.community-comment-list { min-height: 0; overflow-y: auto; }
.community-comment-form { position: sticky; bottom: 0; padding-top: .5rem; background: #fafcfb; }
.community-comment-form input { min-height: 2.75rem; font-size: 1rem; }
.community-comment-form button { width: 2.75rem; height: 2.75rem; }
.community-comment.is-reply { margin-left: 1rem; }
.community-single-layout { width: 100%; max-width: 46rem; margin: 0 auto; }
.community-single-head { display: flex; align-items: center; gap: .75rem; padding: .7rem .1rem; }
.community-single-head h1 { margin: 0; font-size: 1.15rem; }
.community-back-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .4rem; padding: .45rem .65rem; border: 1px solid var(--community-border); border-radius: 7px; background: #fff; font-size: .78rem; font-weight: 800; }
.is-single-post .community-comments { position: static; max-height: none; }
.is-single-post .community-comments-head button { display: none; }

/* Contacts */
.community-contacts-shell { max-width: 58rem; }
.community-contacts-head > strong { display: flex; min-width: 0; align-items: baseline; gap: .35rem; }
.community-contacts-head > strong b { font-size: 1.1rem; }
.community-contacts-head > strong span { font-family: inherit; font-size: .72rem; }
.community-friend-search { grid-template-columns: auto minmax(0,1fr); padding: .65rem; }
.community-friend-search input { min-height: 2.75rem; }
.community-contact-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .25rem; padding: .3rem; border: 1px solid var(--community-border); border-radius: 8px; background: #fff; box-shadow: var(--wc-shadow-soft); }
.community-contact-tabs button { display: flex; min-width: 0; min-height: 2.75rem; align-items: center; justify-content: center; gap: .35rem; padding: .45rem .25rem; color: #4f6b65; border: 0; border-radius: 6px; background: transparent; font-size: .75rem; font-weight: 850; }
.community-contact-tabs button.is-active { color: #174f43; background: #dff2e9; }
.community-contact-tabs button b { display: grid; min-width: 1.2rem; height: 1.2rem; place-items: center; padding: 0 .2rem; color: #fff; border-radius: 999px; background: #2f7062; font-size: .62rem; }
.community-contact-panel { overflow: visible; border: 1px solid var(--community-border); border-radius: 8px; background: #fff; box-shadow: var(--wc-shadow-soft); }
.community-contact-panel > header,
.community-request-group > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .85rem; border-bottom: 1px solid var(--community-border); }
.community-contact-panel h2,
.community-request-group h2 { margin: 0; font-size: 1rem; }
.community-contact-panel header p { margin: .2rem 0 0; color: var(--community-muted); font-size: .76rem; }
.community-person-list { display: grid; }
.community-person-list > article { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .65rem; min-width: 0; padding: .75rem; border-bottom: 1px solid #e8efec; }
.community-person-list > article:has(.community-person-menu) { grid-template-columns: auto minmax(0,1fr) auto auto; }
.community-person-list > article:last-child { border-bottom: 0; }
.community-person-list .community-avatar { width: 3.1rem; height: 3.1rem; }
.community-person-copy strong { font-size: .88rem; }
.community-person-copy small { font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-person-primary { --bs-btn-color: #0b6959; --bs-btn-bg: #eaf6f1; --bs-btn-border-color: #b6d8cd; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #0b6959; --bs-btn-hover-border-color: #0b6959; --bs-btn-active-color: #fff; --bs-btn-active-bg: #0b6959; --bs-btn-active-border-color: #0b6959; --bs-btn-disabled-color: #60746f; --bs-btn-disabled-bg: #f0f5f3; --bs-btn-disabled-border-color: #d0dfda; display: inline-flex; min-width: 7.7rem; min-height: 2.6rem; align-items: center; justify-content: center; gap: .38rem; padding: .48rem .72rem; color: #0b6959; border: 1px solid #b6d8cd; border-radius: 7px; background: #eaf6f1; box-shadow: none; font-size: .76rem; font-weight: 850; }
.community-person-primary i { display: inline-grid; width: 1.25rem; height: 1.25rem; place-items: center; font-size: .78rem; }
.community-person-primary:hover,
.community-person-primary:active,
.community-person-primary:focus-visible { color: #fff; border-color: #0b6959; background: #0b6959; box-shadow: 0 0 0 .2rem rgba(11,105,89,.14); }
.community-person-primary.is-requested:disabled { color: #60746f; border-color: #d0dfda; background: #f0f5f3; box-shadow: none; opacity: 1; cursor: default; }
.community-person-menu { position: relative; grid-column: auto; }
.community-person-primary + .community-person-menu { display: block; }
.community-person-menu summary { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid var(--community-border); border-radius: 7px; list-style: none; cursor: pointer; }
.community-person-menu summary::-webkit-details-marker { display: none; }
.community-person-menu > div { position: absolute; z-index: 25; top: calc(100% + .35rem); right: 0; display: grid; width: 14rem; padding: .35rem; border: 1px solid var(--community-border); border-radius: 7px; background: #fff; box-shadow: 0 14px 32px rgba(9,33,38,.16); }
.community-person-menu a,
.community-person-menu button { display: flex; min-height: 2.6rem; align-items: center; gap: .5rem; padding: .5rem; color: #294b45; border: 0; border-radius: 5px; background: transparent; font-size: .76rem; text-align: left; }
.community-person-menu .is-danger { color: #a23d32; }
.community-request-group + .community-request-group { border-top: 1px solid var(--community-border); }
.community-request-actions { display: flex; grid-column: 1/-1; gap: .45rem; }

/* Search becomes its own phone view */
.community-inline-search { padding: .15rem; }
.community-inline-search > form input { font-size: 1rem; }

/* Dialogs */
.community-confirm-dialog { width: min(92vw,28rem); padding: 1rem; color: var(--community-ink); border: 0; border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(5,25,28,.28); }
.community-confirm-dialog::backdrop { background: rgba(5,25,28,.55); backdrop-filter: blur(3px); }
.community-confirm-dialog > div:first-child { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .8rem; }
.community-confirm-icon { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; color: #b14a38; border-radius: 7px; background: #fff0eb; }
.community-confirm-dialog h2 { margin: .1rem 0 .3rem; font-size: 1.15rem; }
.community-confirm-dialog p { margin: 0; color: var(--community-muted); font-size: .84rem; line-height: 1.5; }
.community-confirm-dialog .community-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-top: 1rem; }

/* Messenger refinements */
.messenger-list { position: relative; }
.messenger-new-chat { border: 0; }
.messenger-new-panel { position: absolute; z-index: 30; inset: 4.7rem .45rem .45rem; padding: .75rem; overflow-y: auto; border: 1px solid var(--community-border); border-radius: 8px; background: #fff; box-shadow: 0 12px 32px rgba(9,33,38,.14); }
.messenger-new-panel > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .7rem; }
.messenger-new-panel > header div { display: grid; }
.messenger-new-panel > header small { color: var(--community-muted); font-size: .7rem; }
.messenger-new-panel > header button { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 0; border-radius: 7px; background: #edf3f0; }
.messenger-new-panel > label { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .5rem; padding: .45rem .65rem; border: 1px solid #cbdcd5; border-radius: 7px; }
.messenger-new-panel input { min-width: 0; border: 0; outline: 0; }
.messenger-new-panel [data-message-new-results] { display: grid; margin-top: .6rem; }
.messenger-new-panel [data-message-new-results] > p { padding: 1rem; color: var(--community-muted); font-size: .78rem; text-align: center; }
.messenger-new-panel [data-message-new-results] > button { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .6rem; min-height: 3.6rem; padding: .5rem; color: var(--community-ink); border: 0; border-bottom: 1px solid #e8efec; background: #fff; text-align: left; }
.messenger-new-panel [data-message-new-results] > button > span:nth-child(2) { display: grid; }
.messenger-new-panel [data-message-new-results] small { color: var(--community-muted); font-size: .7rem; }
.messenger-date-separator,
.messenger-unread-divider { display: flex; align-items: center; justify-content: center; margin: .35rem 0; color: #71847f; font-size: .68rem; font-weight: 800; }
.messenger-date-separator::before,
.messenger-date-separator::after,
.messenger-unread-divider::before,
.messenger-unread-divider::after { height: 1px; flex: 1; content: ''; background: #dce7e2; }
.messenger-date-separator span,
.messenger-unread-divider span { padding: .2rem .55rem; }
.messenger-unread-divider { color: #1d6a58; }
.messenger-unread-divider::before,
.messenger-unread-divider::after { background: #a9d5c4; }
.messenger-delivery { display: inline-flex; align-items: center; gap: .12rem; }
.messenger-media-preview { grid-column: 1/-1; display: grid; grid-template-columns: 3.2rem minmax(0,1fr) auto; align-items: center; gap: .6rem; padding: .5rem; border: 1px solid #cbe0d7; border-radius: 7px; background: #f2f8f5; }
.messenger-media-preview[hidden] { display: none; }
.messenger-media-preview img { width: 3.2rem; height: 3.2rem; object-fit: cover; border-radius: 6px; }
.messenger-media-preview > span { display: grid; }
.messenger-media-preview strong { font-size: .78rem; }
.messenger-media-preview small { color: var(--community-muted); font-size: .66rem; }
.messenger-media-preview button { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border: 0; border-radius: 7px; background: #fff; }

@media (max-width: 767.98px) {
  body.is-community-composer-open,
  body.is-community-comments-open { overflow: hidden; }
  .community-network-state { right: .7rem; bottom: calc(var(--wc-mobile-nav-height,4.5rem) + .7rem); left: .7rem; max-width: none; }
  .community-page { padding-bottom: .4rem; }
  .community-composer form:not([hidden]) {
    position: fixed;
    z-index: 1080;
    inset: 0;
    display: block;
    height: 100dvh;
    padding: 0 max(.8rem,env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left));
    overflow-y: auto;
    border: 0;
    background: #fff;
  }
  .community-composer form > * { margin-top: .8rem; }
  .community-composer form > input[type="hidden"] { margin: 0; }
  .community-composer-head { position: sticky; z-index: 4; top: 0; margin: 0 -.8rem !important; padding: max(.55rem,env(safe-area-inset-top)) .8rem .55rem; border-bottom: 1px solid var(--community-border); background: rgba(255,255,255,.97); }
  .community-composer-author { margin-top: 1rem !important; }
  .community-composer-primary-tools > button,
  .community-composer-primary-tools > label { min-height: 3.25rem; flex-direction: column; font-size: .68rem; }
  .community-composer textarea { min-height: 13rem; border-color: transparent; padding-inline: 0; box-shadow: none !important; }
  .community-comments:not([hidden]) {
    position: fixed;
    z-index: 1070;
    inset: 16dvh 0 var(--wc-mobile-nav-height,4.5rem);
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    max-height: none;
    padding: .8rem;
    border: 1px solid var(--community-border);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: #fff;
    box-shadow: 0 -18px 55px rgba(5,25,28,.2);
  }
  .is-single-post .community-comments:not([hidden]) { position: static; display: grid; padding: .8rem; box-shadow: none; border: 0; border-top: 1px solid var(--community-border); }
  .is-single-post .community-comment-list { max-height: none; overflow: visible; }
  .community-inline-search {
    position: fixed;
    z-index: 1050;
    inset: 0 0 var(--wc-mobile-nav-height,4.5rem);
    padding: max(.8rem,env(safe-area-inset-top)) .8rem .8rem;
    overflow-y: auto;
    background: #f5f9f7;
  }
  .community-inline-search > header { position: sticky; z-index: 2; top: -.8rem; padding: .65rem 0; background: #f5f9f7; }
  .community-single-head { position: sticky; z-index: 12; top: calc(var(--wc-topbar-height) + 3.35rem); background: #f5f9f7; }
  .community-contacts-head { padding: .9rem; }
  .community-contacts-head p { display: none; }
  .community-person-list > article,
  .community-person-list > article:has(.community-person-menu) { grid-template-columns: auto minmax(0,1fr) auto auto; gap: .45rem; }
  .community-person-list > article:not(:has(.community-person-menu)) { grid-template-columns: auto minmax(0,1fr) auto; }
  .community-person-primary { width: 2.75rem; padding-inline: 0; }
  .community-person-primary span { display: none; }
  .community-person-primary { width: 2.75rem; min-width: 2.75rem; padding: 0; }
  .community-person-primary + .community-person-menu { display: block; }
  .community-request-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .community-request-actions .btn { min-height: 2.75rem; }
  .community-confirm-dialog { margin-bottom: calc(var(--wc-mobile-nav-height,4.5rem) + .8rem); }
  .community-confirm-dialog .community-dialog-actions { grid-template-columns: 1fr; }
  .community-confirm-dialog .community-dialog-actions .btn { min-height: 2.85rem; }
  .messenger-new-panel { inset: 4.35rem .35rem .35rem; }
}

@media (max-width: 390px) {
  .community-section-nav a { font-size: .72rem; }
  .community-section-nav a i { display: none; }
  .community-feed-switch a { font-size: .7rem; }
  .community-post-actions button,
  .community-post-actions a { font-size: .67rem; }
  .community-post-actions i { display: none; }
  .community-person-list .community-avatar { width: 2.8rem; height: 2.8rem; }
  .community-contact-tabs button i { display: none; }
}

@media (min-width: 768px) {
  .community-page { gap: 1rem; }
  .community-section-nav { position: static; display: flex; width: max-content; max-width: 100%; }
  .community-section-nav a { min-width: 8rem; padding-inline: .8rem; }
  .community-feed-topbar { top: calc(var(--wc-topbar-height) + .65rem); }
  .community-feed-search-button { width: auto; padding-inline: .8rem; }
  .community-feed-search-button span { display: inline; }
  .community-composer form { padding: 1rem; }
  .community-composer-head > button:first-child { display: none; }
  .community-composer-author { display: none; }
  .community-composer textarea { min-height: 8rem; }
  .community-media-grid { display: grid; gap: .2rem; padding: 0 .85rem .3rem; overflow: hidden; }
  .community-media-grid-1 { grid-template-columns: 1fr; }
  .community-media-grid-2,
  .community-media-grid-4 { grid-template-columns: repeat(2,1fr); }
  .community-media-grid-3 { grid-template-columns: repeat(2,1fr); }
  .community-media-grid-3 .community-media-item:first-child { grid-row: span 2; }
  .community-media-grid .community-media-item { min-width: 0; }
  .community-media-grid img { width: 100%; height: 100%; max-height: 34rem; aspect-ratio: 4/3; object-fit: cover; }
  .community-media-grid-1 img { height: auto; aspect-ratio: auto; object-fit: contain; }
  .community-comments-head button { display: none; }
  .community-contact-tabs { display: flex; width: max-content; }
  .community-contact-tabs button { min-width: 9rem; padding-inline: .8rem; }
  .community-person-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-person-list > article { border-right: 1px solid #e8efec; }
  .community-person-primary + .community-person-menu { display: block; }
}

@media (min-width: 992px) {
  .community-layout { display: grid; grid-template-columns: minmax(0,46rem) 16.5rem; justify-content: center; gap: 1rem; }
  .community-rail-right { display: grid; }
  .community-feed-column { max-width: none; }
}

@media (min-width: 1200px) {
  .community-layout { grid-template-columns: 12rem minmax(0,46rem) 16.5rem; }
  .community-rail-left { display: grid; }
}

/* Desktop: gemeinsame Achsen, mehr Lesebreite und weniger unnötige Umbrüche. */
@media (min-width: 768px) {
  .community-section-nav {
    display: grid;
    width: min(100%,48rem);
    grid-template-columns: repeat(3,minmax(0,1fr));
    margin-inline: auto;
  }
  .community-section-nav a { min-width: 0; justify-content: center; }
  .community-section-nav a span { white-space: nowrap; }
  .community-feed-column { gap: .85rem; }
  .community-feed-tabs { min-height: 3.1rem; padding-inline: .1rem; }
  .community-post-head { gap: .75rem; padding: .9rem 1rem .65rem; }
  .community-post-author { min-width: 0; }
  .community-post-author > a { min-width: 0; flex-wrap: nowrap; }
  .community-post-author > a strong,
  .community-post-author > a small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .community-post-author > a strong { flex: 0 1 auto; }
  .community-post-author > a small { flex: 1 1 auto; }
  .community-post-author > div { flex-wrap: nowrap; }
  .community-post-body { padding: 0 1rem .9rem; }
  .community-media-grid { padding-inline: 1rem; }
  .community-media-grid-1 img { max-height: min(60vh,36rem); }
  .community-post-actions button,
  .community-post-actions a { min-height: 2.85rem; }
}

@media (min-width: 992px) and (max-width: 1439.98px) {
  .community-layout { display: block; }
  .community-feed-column { width: min(100%,48rem); margin-inline: auto; }
  .community-rail-left,
  .community-rail-right { display: none; }
}

@media (min-width: 1440px) and (max-width: 1919.98px) {
  .community-layout {
    grid-template-columns: minmax(0,48rem) 19rem;
    gap: 1rem;
  }
  .community-rail-left { display: none; }
  .community-rail-right { display: grid; }
  .community-section-nav {
    margin-inline-start: max(0px,calc((100% - 68rem) / 2));
    margin-inline-end: 0;
  }
}

@media (min-width: 1920px) {
  .community-page { max-width: 85rem; }
  .community-layout {
    grid-template-columns: 15rem minmax(0,48rem) 20rem;
    gap: 1rem;
  }
  .community-rail-left,
  .community-rail-right { display: grid; }
  .community-section-nav {
    margin-inline-start: 16rem;
    margin-inline-end: 0;
  }
  .community-mini-profile { padding: 1rem; }
  .community-quick-links a { white-space: nowrap; }
  .community-side-card > header { padding: .8rem .9rem; }
  .community-hashtag-list { padding-inline: .9rem; }
  .community-hashtag-list a {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: .75rem;
  }
  .community-hashtag-list span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .community-hashtag-list small { white-space: nowrap; }
  .community-people-mini article { grid-template-columns: auto minmax(0,1fr) 2rem; }
}
