@import url('../../styles/booking-row.css');
/* Community workspace: scoped surfaces, typography and layout. Actions use shared .btn styles. */
.community-workspace, .cw-dialog { --cw-text: #f4f4f5; --cw-muted: #a8a8ae; --cw-line: rgba(255,255,255,.075); color: var(--cw-text); font-family: var(--spinmatch-font-family); }
.community-workspace [hidden], .cw-dialog [hidden] { display: none; }
.cw-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.cw-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-bottom: 10px; }
.cw-nav, .cw-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.cw-nav .btn { padding-inline: 17px; font-size: .95rem; color: var(--cw-muted); }
.cw-nav .btn[aria-pressed="true"] { color: #fff; background: rgba(255,255,255,.06); }
.cw-toolbar-actions:not(:has(.btn:not([hidden]))) { display: none; }
.cw-toolbar-actions .btn { font-size: .9rem; padding-inline: 18px; }
.cw-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 32px; align-items: start; }
.cw-main-column { min-width: 0; }
/* Keep the shared booking search field and filter surface directly below the browse tabs. */
.cw-filters {
    position: sticky;
    top: var(--sm-navbar-bottom, var(--nav-bar-height, 72px));
    margin-bottom: 12px;
    z-index: 50;
    background: var(--sm-sticky-surface, rgba(26,26,26,.72));
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.cw-filters .filters-bar { gap: 12px; }
.cw-filters .filters-bar > .sort-section { display: block; }
.cw-filters .filters-bar > .filter-section { display: flex; flex: 0 0 auto; }
.cw-filters .filters-bar .search-section { flex: 0 1 300px; }
.cw-filters .filter-tags-row:has(.filter-tag) { display: block; order: 4; }
.cw-filter-content { display: grid; gap: 12px; padding: 14px 12px 18px; }
.cw-filter-content .filter-title { color: var(--cw-muted); font-weight: 450; }
.cw-filter-options { display: flex; flex-wrap: wrap; gap: 6px; }
.cw-filter-options .btn { min-height: 37px; padding: 8px 13px; font-size: .83rem; color: var(--cw-muted); }
.cw-filter-options .btn[aria-pressed="true"] { color: #fff; background: var(--sm-filter-selected); box-shadow: none; backdrop-filter: none; }
@media (max-width: 768px) {
    .cw-filters .filters-bar { flex-direction: row; gap: 0 4px; padding-inline: 4px; }
    .cw-filters .filters-bar > .sort-section { flex: 1; min-width: 0; }
    .cw-filters .filters-bar > .filter-section { flex: 0 0 auto; }
    .cw-filters .filters-bar .search-section { flex: 1 0 calc(100% - 8px); margin-inline: 4px; }
    .cw-filters .filters-panel-reveal { max-height: min(300px,42dvh); }
    .cw-filters .cw-sort-tabs .sort-tab { padding-inline: 3px; font-size: .72rem; }
    .cw-filter-options .btn { font-size: .78rem; padding-inline: 11px; }
}
.cw-view-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 28px 0 20px; }
.cw-view-heading h2 { font-size: 1.5rem; font-weight: 650; letter-spacing: -.025em; margin: 3px 0 7px; }
.cw-view-heading p:not(.cw-eyebrow) { color: var(--cw-muted); font-size: .88rem; line-height: 1.7; }
.cw-eyebrow { font-size: .73rem; color: #b2a5a8; letter-spacing: .08em; font-weight: 500; }
.cw-sidebar { display: grid; gap: 20px; }
.cw-panel { padding: 24px; background: rgba(255,255,255,.028); border-radius: 17px; }
.cw-panel-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; gap: 6px; }
.cw-panel-heading h3 { font-size: .98rem; font-weight: 550; }
.cw-panel-heading .btn { font-size: .79rem; min-height: 36px; padding: 8px; }
.cw-welcome { background: linear-gradient(155deg,rgba(105,43,54,.15),rgba(255,255,255,.025) 70%); }
.cw-symbol { display: inline-flex; color: #d3909d; font-size: 1.6rem; margin-bottom: 22px; }
.cw-welcome h2 { font-size: 1.3rem; margin: 7px 0 12px; font-weight: 600; }
.cw-welcome > p:not(.cw-eyebrow) { font-size: .86rem; color: var(--cw-muted); line-height: 1.85; }
.cw-welcome .btn { width: 100%; margin-top: 22px; font-size: .86rem; }
.cw-community-note { color: #8d8b90; font-size: .78rem; line-height: 1.9; padding: 0 12px; }
.cw-community-note i { margin-right: 7px; color: #b4828c; }
.cw-muted { color: var(--cw-muted); font-size: .84rem; }
.cw-mini-space { display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; justify-content: flex-start; padding: 10px 0; white-space: normal; }
.cw-mini-space > span:last-child { flex: 1; min-width: 0; }
.cw-mini-space strong { display: block; font-size: .88rem; overflow-wrap: anywhere; }
.cw-mini-space small { display: block; color: var(--cw-muted); font-size: .73rem; font-weight: 400; margin-top: 5px; }
.cw-avatar, .cw-space-icon { flex-shrink: 0; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #333036; color: #ddcbd0; overflow: hidden; object-fit: cover; font-weight: 500; }
.cw-space-icon { border-radius: 12px; background: linear-gradient(145deg,#3a3034,#29282d); }
.cw-posts { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--cw-stack-gap,4px); }
.cw-post { min-width: 0; border-radius: 14px; background: rgba(var(--sm-ink-rgb,255,255,255),.035); padding: 24px; }
.cw-post-header { display: flex; gap: 11px; align-items: center; margin-bottom: 20px; }
.cw-post-identity { min-width: 0; flex: 1; }
.cw-post-author { overflow-wrap: anywhere; font-size: .95rem; color: var(--cw-text); font-weight: 550; text-decoration: none; }
.cw-post-meta { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; color: var(--cw-muted); font-size: .74rem; margin-top: 4px; }
.cw-post-meta a { min-width: 0; max-width: 100%; overflow-wrap: anywhere; color: #cbbbc0; text-decoration: none; }
.cw-post-meta a:hover, .cw-post-author:hover { text-decoration: underline; }
.cw-category { font-size: .72rem; color: #c3b1b6; padding: 5px 8px; background: rgba(211,157,169,.065); border-radius: 6px; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.cw-post-header .cw-category { max-width: 38%; }
.cw-post-body { font-size: .96rem; line-height: 1.85; white-space: pre-wrap; overflow-wrap: anywhere; color: #dedde0; }
.cw-avatar-link { display:inline-flex;flex-shrink:0;border-radius:50%; }
.cw-post-summary { display:block;color:inherit;text-decoration:none;border-radius:4px; }
.cw-post-title { margin:0 0 8px;font-size:1.05rem;line-height:1.6;font-weight:550;overflow-wrap:anywhere; }
.cw-post-preview { cursor:pointer; }
.cw-post-preview :is(.cw-post-title,.cw-post-body) { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.cw-post-summary:focus-visible,.cw-avatar-link:focus-visible { outline:2px solid var(--sm-accent);outline-offset:5px; }
.cw-photo[data-preview-post] img { cursor:pointer; }
.cw-photo[data-more]::after { content:attr(data-more);position:absolute;inset:0;display:grid;place-items:center;background:rgba(12,14,19,.42);color:#fff;font-size:clamp(25px,4vw,36px);font-weight:500;letter-spacing:-.035em;pointer-events:none;text-shadow:0 1px 12px rgba(0,0,0,.15); }
.community-workspace.is-post-detail .cw-layout { grid-template-columns:minmax(0,1fr); }
.community-workspace.is-post-detail .cw-sidebar { display:none; }
.community-workspace.is-post-detail .cw-posts { max-width:900px;margin-inline:auto; }
.cw-post-detail-navigation, .cw-space-navigation { position:sticky;top:var(--sm-navbar-bottom,var(--nav-bar-height,72px));z-index:50;margin-bottom:16px;padding:10px 0;background:var(--sm-sticky-surface);backdrop-filter:var(--sm-sticky-blur);-webkit-backdrop-filter:var(--sm-sticky-blur); }
.cw-post-images { max-width:560px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-top: 18px; }
.cw-post-images[data-count="1"] { grid-template-columns: minmax(0,1fr); max-width: 450px; }
.cw-post-images[data-count="2"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cw-post-images[data-count="4"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cw-post-images:not([data-count="1"]) .cw-photo { aspect-ratio:1; }
.cw-photo.cw-video { aspect-ratio:16/9; }
.cw-video video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; background:#111; }
.cw-video>.btn { display:flex; gap:10px; align-items:center; justify-content:center; width:100%; height:100%; }
.cw-photo { position: relative; min-width: 0; aspect-ratio: 1.2; border-radius: 10px; overflow: hidden; background: #272629; display: flex; align-items: center; justify-content: center; }
.cw-photo img { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }
.cw-photo .cw-photo-status { padding: 10px; text-align: center; font-size: .76rem; color: var(--cw-muted); }
.cw-photo .btn { font-size: .74rem; padding: 8px; min-height: 36px; white-space: normal; }
.cw-post-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 6px; margin: 18px -8px -8px; }
.cw-post-actions .btn { min-height: 44px; padding: 9px 8px; font-size: .81rem; color: var(--cw-muted); font-weight: 450; }
.cw-post-actions .btn:not(.cw-post-more) { min-width:64px; justify-content:flex-start; gap:7px; }
.cw-post-actions .btn[aria-pressed="true"] { color: #ef9cab; }
.cw-post-actions .cw-post-more { margin-left: auto; }
.cw-shared-link { min-width: 0; max-width: 100%; display: flex; align-items: center; gap: 10px; color: #cfbdc3; text-decoration: none; font-size: .86rem; padding: 13px; border-radius: 9px; margin-top: 15px; background: rgba(255,255,255,.035); overflow-wrap: anywhere; }
.cw-shared-link span { min-width: 0; overflow-wrap: anywhere; }
.cw-shared-link > i { flex-shrink: 0; }
.cw-booking-card { margin-top:16px; border-radius:14px; background:var(--sm-field-fill,rgba(var(--sm-ink-rgb,255,255,255),.04)); }
.cw-comments { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--cw-line); overflow:clip; }
.cw-comment { display: flex; gap: 10px; margin-bottom: 17px; }
.cw-comment .cw-avatar { width: 29px; height: 29px; font-size: .75rem; }
.cw-comment-main { min-width: 0; flex: 1; }
.cw-comment-meta { overflow-wrap: anywhere; color: var(--cw-muted); font-size: .71rem; }
.cw-comment-meta strong { color: #d4ced0; font-size: .8rem; font-weight: 500; margin-right: 7px; }
.cw-comment p { font-size: .88rem; line-height: 1.7; color: #d0cdd1; white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 5px; }
.cw-comment-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.cw-comment-form textarea { min-width: 140px; flex: 1; resize: vertical; min-height: 48px; }
.cw-comment-form .btn { font-size: .84rem; }
.cw-comment-form .cw-form-error { width: 100%; }
.cw-spaces-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--cw-stack-gap,4px); }
.cw-space-card:not(.profile-community-card) { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border-radius: 14px; background: rgba(var(--sm-ink-rgb,255,255,255),.035); min-width: 0; }
.cw-space-card-top { display: flex; gap: 12px; width: 100%; align-items: center; margin-bottom: 14px; }
.cw-space-card-heading { flex:1; min-width:0; }
.cw-space-card h3 { font-size: 1.05rem; line-height:1.5; font-weight: 550; overflow-wrap: anywhere; margin:0 0 3px; }
.cw-space-card .cw-category { padding:0; border-radius:0; background:none; color:var(--cw-muted); }
.cw-space-card > p { font-size: .84rem; color: var(--cw-muted); line-height: 1.8; margin-bottom: 12px; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.cw-space-card-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-top:auto; }
.cw-space-card .cw-space-meta { gap:6px 12px; }
.cw-space-meta { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; color: var(--cw-muted); font-size: .75rem; }
.cw-space-meta i { margin-right: 5px; }
.cw-space-meta > span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.cw-space-card .btn { flex-shrink:0; min-height:44px; padding:8px 0 8px 8px; font-size:.8rem; }
.cw-space-header { background: linear-gradient(140deg,rgba(105,43,54,.15),rgba(255,255,255,.025) 65%); border-radius: 17px; padding: 28px; margin-bottom: 20px; }
.cw-space-title { display: flex; align-items: center; gap: 16px; margin-bottom: 17px; }
.cw-space-title > div { flex: 1; min-width: 0; }
.cw-space-title .cw-space-icon { width: 60px; height: 60px; font-size: 1.5rem; border-radius: 16px; }
.cw-space-title h2 { font-size: 1.5rem; line-height: 1.4; overflow-wrap: anywhere; margin-bottom: 7px; }
.cw-space-description { font-size: .92rem; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; color: #b9b1b5; }
.cw-space-actions { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; margin-top: 22px; }
.cw-space-actions .btn { font-size: .84rem; }
.cw-detail-nav { display: flex; align-items: center; gap: 6px; margin-bottom: 20px; overflow-x: auto; padding: 2px 0; }
.cw-detail-nav .btn { color: var(--cw-muted); font-size: .88rem; padding-inline: 15px; flex-shrink: 0; }
.cw-detail-nav .btn[aria-pressed="true"] { color: #fff; background: rgba(255,255,255,.055); }
.community-workspace.is-community-detail .cw-layout { grid-template-columns:minmax(0,1fr); }
.community-workspace.is-community-detail .cw-sidebar { display:none; }
.community-workspace.is-community-detail .cw-detail-nav { width:100%; max-width:100%; }
.community-workspace.is-community-detail .cw-detail-nav .btn { flex:1 1 0; min-width:0; }
.community-workspace.is-community-detail .cw-posts { max-width:900px; margin-inline:auto; }
.cw-dialog .cw-dialog-close { width:36px; min-width:36px; height:36px; min-height:36px; padding:0; border:0; border-radius:50%; background:transparent; box-shadow:none; color:var(--cw-muted); }
.cw-dialog .cw-dialog-close:hover { background:rgba(var(--sm-ink-rgb,255,255,255),.05); color:var(--cw-text); }
.cw-detail-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 3px 0 20px; }
.cw-detail-section-heading h3 { font-size: 1rem; font-weight: 550; }
.cw-detail-section-heading .btn { font-size: .81rem; }
.cw-channel, .cw-member { display: flex; align-items: center; gap: 14px; padding: 18px; background: rgba(255,255,255,.028); border-radius: 12px; margin-bottom: 12px; min-width: 0; }
.cw-channel-copy, .cw-member-copy { flex: 1; min-width: 0; }
.cw-channel h4, .cw-member strong { font-size: .94rem; font-weight: 550; overflow-wrap: anywhere; }
.cw-channel p, .cw-member small { display: block; font-size: .8rem; color: var(--cw-muted); margin-top: 6px; overflow-wrap: anywhere; }
.cw-channel .btn, .cw-member .btn { font-size: .8rem; padding-inline: 13px; }
.cw-channel > i { color: #ac929b; font-size: 1.3rem; }
.cw-member-actions { display: flex; gap: 5px; flex-wrap: wrap; }
.cw-empty { display: grid; justify-items: center; text-align: center; padding: 52px 24px; background: rgba(255,255,255,.02); border-radius: 16px; }
.cw-empty > i { color: #987d86; font-size: 1.8rem; margin-bottom: 20px; }
.cw-empty h3 { font-size: 1.1rem; font-weight: 550; margin-bottom: 9px; }
.cw-empty p { font-size: .87rem; color: var(--cw-muted); max-width: 340px; line-height: 1.85; }
.cw-empty .btn { margin-top: 22px; font-size: .86rem; }
.cw-pagination { text-align: center; padding: 22px 0; }
.cw-loading { display: grid; gap: 16px; }
.cw-skeleton { height: 210px; border-radius: 16px; background: linear-gradient(105deg,rgba(255,255,255,.025) 30%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.025) 70%); background-size: 220% 100%; animation: cw-loading 1.8s linear infinite; }
@keyframes cw-loading { to { background-position: -220% 0; } }
.cw-dialog { margin: auto; border: 1px solid rgba(255,255,255,.09); border-radius: 20px; background: #222123; width: min(620px,calc(100vw - 28px)); max-height: calc(100dvh - 42px); padding: 28px; box-shadow: 0 30px 100px rgba(0,0,0,.5); overflow-y: auto; overscroll-behavior: contain; }
.cw-dialog::backdrop { background: rgba(9,8,10,.73); backdrop-filter: blur(7px); }
.cw-dialog-small { width: min(470px,calc(100vw - 28px)); }
.cw-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px; }
.cw-dialog-heading h2 { font-size: 1.35rem; font-weight: 600; margin-top: 3px; }
.cw-dialog-heading > .btn { padding: 10px; min-width: 40px; min-height: 40px; }
.cw-form { display: grid; gap: 19px; }
.cw-form label { display: grid; gap: 8px; color: #d1ccd0; font-size: .86rem; }
.cw-form input:not([type="file"]), .cw-form textarea, .cw-form select, .cw-comment-form textarea { font: inherit; color: #f1eef0; background: #2c2a2e; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 12px 13px; outline: none; min-width: 0; width: 100%; font-size: .9rem; }
.cw-form textarea, .cw-comment-form textarea { line-height: 1.7; resize: vertical; }
.cw-form :is(input,textarea,select):focus-visible, .cw-comment-form textarea:focus-visible { border-color: #a58b94; outline: 2px solid rgba(183,134,149,.12); outline-offset: 1px; }
.cw-form input::placeholder, .cw-form textarea::placeholder, .cw-comment-form textarea::placeholder { color: #918a91; }
.cw-form select option { background: #29272b; }
.cw-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.cw-field-hint { font-size: .76rem; color: var(--cw-muted); line-height: 1.7; margin-top: -9px; }
.cw-form-error { color: #f3a8b5; font-size: .84rem; line-height: 1.65; }
.cw-dialog-actions { display: flex; justify-content: flex-end; gap: 12px; padding-top: 7px; }
.cw-dialog-actions .btn { font-size: .9rem; }
.cw-media-field { border: 0; min-width: 0; }
.cw-media-field legend { color: #d1ccd0; font-size: .86rem; margin-bottom: 12px; }
.cw-media-field legend span { font-size: .71rem; margin-left: 6px; }
.cw-form .cw-upload-label { display: inline-flex; position: relative; font-size: .84rem; }
.cw-upload-label input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.cw-upload-label:focus-within { outline: 2px solid #c0a7b0; outline-offset: 3px; }
.cw-upload-previews { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.cw-upload-item { border-radius: 10px; overflow: hidden; background: #2d2a2f; margin-bottom: 12px; }
.cw-upload-item img { width: 100%; height: 100px; object-fit: cover; display: block; }
.cw-upload-item p { color: #c5bdc3; font-size: .71rem; line-height: 1.7; padding: 7px 10px 0; }
.cw-upload-item .btn { min-height: 32px; padding: 6px 9px; font-size: .72rem; }
.cw-share-options { border-top: 1px solid var(--cw-line); padding-top: 15px; }
.cw-share-options summary { color: #c8b9bf; font-size: .83rem; cursor: pointer; }
.cw-share-options label { margin-top: 16px; }
.cw-share-options .cw-field-hint { margin-top: 7px; }
.cw-image-dialog { width: min(1100px,calc(100vw - 28px)); background: #151416; padding: 14px; }
.cw-image-dialog > .btn { display: flex; margin: 0 0 12px auto; min-height: 38px; font-size: .84rem; }
.cw-image-dialog > img { display: block; max-width: 100%; max-height: calc(100dvh - 130px); margin: auto; object-fit: contain; }
@media (max-width: 1000px) { .cw-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 22px; } .cw-toolbar { flex-wrap: wrap; } .cw-toolbar-actions { margin-left: auto; } .cw-panel { padding: 20px; } }
@media (max-width: 800px) { .cw-layout { grid-template-columns: minmax(0,1fr); } .cw-sidebar { display: none; } .cw-toolbar { gap: 12px; padding-bottom: 17px; } .cw-nav { flex: 1; gap: 3px; } .cw-nav .btn { flex: 1; padding-inline: 10px; } .cw-toolbar-actions .btn { font-size: .82rem; } }
@media (max-width: 540px) { .cw-toolbar-actions { width: 100%; } .cw-toolbar-actions .btn { flex: 1; min-height: 43px; } .cw-nav .btn { font-size: .82rem; min-height: 42px; padding: 10px 8px; gap: 6px; } .cw-view-heading { margin-top: 23px; } .cw-view-heading h2 { font-size: 1.3rem; } .cw-view-heading p:not(.cw-eyebrow) { font-size: .81rem; } .cw-post { padding: 19px 16px; } .cw-post-header .cw-category { max-width: 38%; }
.cw-post-body { font-size: .93rem; } .cw-post-header { gap: 9px; margin-bottom: 16px; } .cw-post-actions .btn { font-size: .77rem; padding-inline: 8px; } .cw-spaces-grid { grid-template-columns: minmax(0,1fr); } .cw-space-header { padding: 21px 18px; } .cw-space-title { align-items: flex-start; } .cw-space-title h2 { font-size: 1.25rem; } .cw-space-title .cw-space-icon { width: 48px; height: 48px; } .cw-space-actions .btn { flex-grow: 1; min-height: 42px; } .cw-detail-nav { gap: 1px; } .cw-detail-nav .btn { padding-inline: 12px; font-size: .82rem; } .cw-channel, .cw-member { padding: 15px 12px; gap: 10px; flex-wrap: wrap; } .cw-member-actions { margin-left: 50px; width: calc(100% - 50px); } .cw-dialog { padding: 21px 18px; max-height: calc(100dvh - 28px); border-radius: 16px; } .cw-form-row { grid-template-columns: minmax(0,1fr); gap: 18px; } .cw-dialog-heading h2 { font-size: 1.2rem; } .cw-dialog-actions .btn { flex: 1; } .cw-empty { padding: 40px 18px; } }
@media (prefers-reduced-motion: reduce) { .cw-skeleton { animation: none; } }

/* On phones the search follows the tabs immediately; the current action leads the results. */
@media (max-width: 540px) {
    .community-workspace { display: flex; flex-direction: column; }
    .cw-toolbar { display: contents; }
    .cw-nav { order: 0; width: 100%; min-width: 0; margin-bottom: 12px; }
    .cw-nav .btn { min-width: 0; padding-inline: 6px; }
    .cw-filters { order: 1; margin-bottom: 12px; }
    .cw-toolbar-actions { order: 2; margin-bottom: 20px; }
    .cw-toolbar-actions:not(:has(.btn:not([hidden]))) { display: none; }
    .cw-layout { order: 3; }
}

.cw-report { padding: 20px; background: rgba(255,255,255,.025); border-radius: 13px; margin-bottom: 15px; }
.cw-report header { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.cw-report > p { margin: 16px 0; color: #d7d0d4; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; font-size: .9rem; }
.cw-report-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.cw-report-actions .btn { font-size: .8rem; padding-inline: 12px; }

/* English labels need room to wrap on narrow screens. */
@media (max-width: 800px) {
    html:lang(en) .cw-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        flex: 1 0 100%;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        align-items: stretch;
    }
    html:lang(en) .cw-nav .btn {
        flex-direction: column;
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.35;
    }
}
@media (max-width: 540px) {
    html:lang(en) .cw-toolbar-actions {
        min-width: 0;
        flex-wrap: wrap;
    }
    html:lang(en) .community-workspace .btn,
    html:lang(en) .cw-dialog .btn {
        min-width: 0;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.35;
    }
    html:lang(en) .cw-detail-section-heading {
        flex-wrap: wrap;
    }
}

.community-workspace { scroll-margin-top: 90px; }
.cw-toolbar { justify-content: flex-end; }
.cw-toolbar:has(.cw-toolbar-actions:not(:has(.btn:not([hidden])))) { display: none; }
.community-workspace .cw-filter-options .btn { border: 0; border-radius: 8px; min-height: 40px; background: var(--sm-filter-choice); box-shadow: none; }
.community-workspace .cw-filter-options .btn[aria-pressed="true"] { background: var(--sm-filter-selected); }
.cw-post-header { margin-bottom: 14px; }
@media(max-width:768px) { .community-workspace { scroll-margin-top: 78px; } .cw-toolbar { padding: 0 4px 8px; } .cw-toolbar-actions { gap: 4px; } .cw-toolbar-actions .btn { padding-inline: 12px; font-size: 13px; } .cw-post,.cw-space-card { padding:16px; } .cw-post-body { font-size: 15px; line-height: 1.8; } .cw-post-header { margin-bottom: 12px; } .cw-filters { margin-bottom: 10px; } }

/* Share one compact photo control between the community and profile composers. */
.cw-upload-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.cw-upload-hint { color: var(--cw-muted); font-size: .72rem; line-height: 1.6; }
.cw-panel-heading h3 { display: inline-flex; align-items: center; gap: 8px; }
.cw-panel-heading h3 i { font-size: .85em; color: var(--cw-muted); }
.cw-upload-item { position: relative; min-width: 0; background: rgba(255,255,255,.035); }
.cw-upload-item p { overflow-wrap: anywhere; }
.cw-upload-item [data-cw-action="remove-upload"] { min-height: 40px; }
.cw-dialog :is(.cw-form,.cw-form-row,.cw-form label) { min-width: 0; }
.cw-dialog [data-cw-form="post"] > .cw-dialog-actions .btn[type="submit"],
.community-workspace .cw-post-button { color: #eef0f4; background: rgba(238,242,249,.085); border-color: rgba(238,242,249,.12); box-shadow: none; }
.cw-dialog [data-cw-form="post"] > .cw-dialog-actions .btn[type="submit"]:hover,
.community-workspace .cw-post-button:hover { background: rgba(238,242,249,.13); }
.cw-dialog .cw-upload-label[hidden] { display: none; }

/* Reveal long discussions in measured steps without rebuilding comment forms. */
.cw-comment-list { overflow:hidden; overflow-anchor:none; transition:max-height 240ms cubic-bezier(.22,.61,.36,1); }
.cw-comment-list.is-clipped { mask-image:linear-gradient(#000 calc(100% - 22px),transparent); }
.cw-comments-more { display:flex; align-items:center; justify-content:center; width:44px; min-height:44px; padding:0; margin:3px auto 12px; }
.cw-comments-more i { font-size:12px; }
.cw-comment-empty { display:grid; justify-items:center; gap:4px; padding:12px 0 16px; text-align:center; }
.cw-comment-empty p { margin:0; }
.cw-post-actions .cw-post-more[data-cw-action="delete-post"] { width:44px; padding-inline:0; }
.cw-space-navigation { margin-bottom:14px; }
@media(prefers-reduced-motion:reduce) { .cw-comment-list { transition:none; } }

.community-workspace:is(.is-community-detail,.is-post-detail) > .cw-toolbar { display:none; }

/* Keep browse controls and content as close as the booking page. */
.community-workspace { --cw-stack-gap:4px; display:flex; flex-direction:column; }
.community-workspace > .cw-filters { order:0; margin:0; width:100%; }
/* The filter controls already end with the shared 4px bottom inset. */
.community-workspace > .cw-toolbar { order:1; display:flex; padding:0 0 var(--cw-stack-gap); }
.community-workspace > .cw-toolbar .cw-toolbar-actions { width:100%; margin:0; }
.community-workspace > .cw-toolbar .cw-toolbar-actions { gap:var(--cw-stack-gap); }
.community-workspace > .cw-toolbar .cw-toolbar-actions .btn { min-height:44px; }
.community-workspace > .cw-toolbar .cw-post-button { flex:1; width:100%; }
.community-workspace > .cw-layout { order:2; width:100%; }
.community-workspace > .cw-toolbar:has(.cw-toolbar-actions:not(:has(.btn:not([hidden])))),
.community-workspace:is(.is-community-detail,.is-post-detail) > .cw-toolbar { display:none; }
.cw-filters .filters-bar { padding-block:4px; margin-block:0; max-width:1200px; margin-inline:auto; }
.cw-post-detail-navigation.sm-detail-navigation,
.cw-space-navigation.sm-detail-navigation { width:100vw; margin:0 0 8px calc(50% - 50vw); }
.cw-space-header.hero-section { width:100vw; margin:0 0 0 calc(50% - 50vw); padding:120px max(20px,calc((100vw - 900px)/2)) 36px; min-height:400px; text-align:left; }
.cw-space-hero-content { position:relative; z-index:2; width:100%; }
.cw-space-header.hero-section :is(h2,.cw-space-meta,.cw-space-description,.cw-muted,.btn) { color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.95),0 3px 14px rgba(0,0,0,.7); }
.cw-space-header.hero-section .cw-space-description { margin-top:16px; }
.cw-space-header.hero-section .cw-space-actions { margin-top:12px; }
.community-workspace.is-community-detail .cw-detail-nav { margin:0 0 var(--cw-stack-gap); }
.cw-space-publish { display:flex; width:100%; margin-bottom:var(--cw-stack-gap); }
.cw-comment-list > .cw-muted { padding:4px 0 16px; line-height:1.7; }
.cw-comment-list + .cw-comment-form { margin-top:8px; }
@media(max-width:768px) {
    .cw-filters .filters-bar { padding-inline:4px; }
    .cw-space-header.hero-section { min-height:300px; padding:100px 16px 30px; }
    .cw-space-header.hero-section .cw-space-actions .btn { flex-grow:0; }
}
@media(max-width:480px) { .cw-space-header.hero-section { min-height:260px; padding-top:84px; } }
/* Short details still have room to settle their navigation beneath the header. */
.community-workspace.is-post-detail { min-height:calc(100dvh - var(--nav-bar-height,72px)); }

/* Cover the feed while filtering; the surrounding layout keeps its height. */
.cw-filters { border-radius:0; }
.cw-filters .filters-panel { z-index:1; }
.cw-filters .filters-panel-reveal { border-top:0; }
.community-workspace .cw-post-detail-navigation .sm-back-link { border:0; outline:0; box-shadow:none; background:transparent; }
.community-workspace .cw-post-detail-navigation .sm-back-link:focus-visible { outline:2px solid var(--sm-text-muted); outline-offset:3px; }
.cw-form { gap:22px; }
.cw-form label { gap:8px; }
.cw-form input:not([type="file"]), .cw-form textarea, .cw-form select,
.cw-comment-form textarea { color:var(--sm-text); background:transparent; border:0; border-bottom:1px solid var(--sm-field-line,var(--cw-line)); border-radius:0; padding:12px 10px; min-height:46px; box-shadow:none; }
.cw-form :is(input,textarea,select):focus, .cw-comment-form textarea:focus { border-bottom-color:var(--sm-text-muted); background:var(--sm-field-fill); box-shadow:none; }
.cw-dialog-actions { border-top:0; padding-top:12px; gap:12px; }
.cw-dialog-actions .btn-primary { flex:1; }
.cw-cover-current { display:block; width:100%; max-height:160px; object-fit:cover; border-radius:12px; }
.cw-cover-field { display:grid; gap:10px; }
.cw-cover-field .sm-upload-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cw-space-header.hero-section { background-image:var(--cw-cover,radial-gradient(ellipse at 20% 10%,rgba(127,64,78,.38),transparent 65%),linear-gradient(140deg,#29242d,#181d27)); background-size:cover; background-position:center; }
@media(max-width:768px) {
    .cw-post, .cw-space-card, .cw-panel { padding-inline:16px; }
    .cw-filter-content { padding-inline:16px; }
}
.cw-space-header.hero-section { --hero-background-photo:radial-gradient(ellipse at 20% 10%,rgba(127,64,78,.38),transparent 65%),linear-gradient(140deg,#29242d,#181d27); --hero-background-position:center; }

/* Publishing replaces the browse area and keeps the ordinary page hero. */
.cw-composer-page { --cw-text:var(--sm-text,#f4f4f5); --cw-muted:var(--sm-text-muted,#a8a8ae); --cw-line:var(--sm-line,rgba(255,255,255,.075)); width:100%; max-width:960px; margin:0 auto; color:var(--cw-text); font-family:var(--spinmatch-font-family); animation:cw-page-reveal 240ms ease; }
.cw-composer-page[hidden], .cw-composer-page [hidden], .is-composing > [hidden] { display:none!important; }
.cw-composer-navigation { position:sticky; top:var(--sm-navbar-bottom,72px); z-index:55; display:flex; align-items:center; min-height:60px; margin:0 0 26px; padding:8px 16px; }
.cw-composer-navigation h2 { position:absolute; left:50%; transform:translateX(-50%); margin:0; font-size:20px; font-weight:550; white-space:nowrap; pointer-events:none; }
.cw-composer-page .cw-form { padding:0 16px 36px; gap:28px; }
.cw-composer-page .cw-form :is(input:not([type=file]),select,textarea) { padding:12px 0; background:transparent!important; border:0!important; border-bottom:1px solid var(--sm-line)!important; border-radius:0!important; box-shadow:none!important; }
.cw-composer-page .cw-form textarea { min-height:160px; resize:vertical; }
.cw-composer-page .cw-dialog-actions { justify-content:center; }
.cw-composer-page .cw-dialog-actions .btn { flex:0 1 180px; min-height:46px; }
.cw-composer-page .sm-upload-tiles :is(.sm-upload-zone,.sm-upload-preview), .cw-composer-page .sm-upload-preview > :is(img,video) { border-radius:14px; overflow:hidden; }
.cw-composer-page .sm-upload-tiles { max-width:580px; }
.cw-composer-page .cw-field-hint:empty { display:none; }
.community-page.is-community-space.is-composing-post #hero-container { display:block; }
.cw-embedded-feed .cw-layout { display:block; }
.cw-embedded-feed :is(.cw-toolbar,.cw-filters,.cw-sidebar,.cw-view-heading) { display:none!important; }
.cw-embedded-feed .community-workspace { padding:0; width:100%; min-width:0; }
.cw-embedded-feed .cw-post { border-radius:14px; }
.cw-embedded-feed .cw-pagination { margin-bottom:0; }
.cw-comments { overflow-anchor:none; }
@keyframes cw-page-reveal { from { opacity:.8; transform:translateY(7px); } to { opacity:1; transform:none; } }
@media(max-width:600px) { .cw-composer-navigation { margin-bottom:22px; }.cw-composer-navigation h2 { font-size:18px; }.cw-composer-page .cw-form { gap:24px; padding-inline:16px; }.cw-composer-page .cw-form-row { gap:24px; } }
@media(prefers-reduced-motion:reduce) { .cw-composer-page { animation:none; } }

/* One inline form and one continuous booking association panel. */
.cw-space-composer .cw-form { max-width:760px; margin-inline:auto; }
.cw-space-composer .cw-form > label,.cw-space-composer .cw-form-row,.cw-space-composer .cw-media-field { padding:18px; background:var(--sm-field-fill,rgba(128,128,128,.04)); border-radius:18px; }
.cw-association-toggle { display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 0;border:0;background:transparent;color:var(--sm-text);font:inherit;font-size:1rem;font-weight:550;cursor:pointer; }
.cw-association-toggle i { transition:transform 360ms cubic-bezier(.2,.7,.2,1);font-size:.75rem; }
.cw-association-toggle[aria-expanded="true"] i { transform:rotate(180deg); }
.cw-booking-reveal { display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 400ms cubic-bezier(.2,.7,.2,1),opacity 300ms ease; }
.cw-booking-reveal.is-expanded { grid-template-rows:1fr;opacity:1; }
.cw-booking-reveal-inner { min-height:0;overflow:hidden;display:grid;gap:4px; }
.cw-share-options .cw-booking-reveal-inner { border-radius:14px; background:var(--sm-surface); }
.cw-share-options .sm-record-switch { width:100%; margin:0; box-sizing:border-box; }
.cw-share-options .sm-record-switch button { flex:1; min-width:0; }
.cw-booking-options { display:grid;gap:0;max-height:420px;overflow:auto;overscroll-behavior:contain; }
.cw-booking-option { transition:background 240ms ease,box-shadow 240ms ease; }
.cw-booking-option[aria-pressed="true"] { background:var(--sm-filter-selected,var(--sm-segment-fill,rgba(var(--sm-ink-rgb,255,255,255),.085))); box-shadow:inset 3px 0 var(--sm-text-muted); }
.cw-booking-check { opacity:0;color:var(--sm-accent); }
.cw-booking-option[aria-pressed="true"] .cw-booking-check { opacity:1; }
.cw-community-booking-publish { width:100%;margin:0 0 var(--cw-stack-gap); }
.cw-community-bookings.booking-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cw-stack-gap);height:auto; }
/* Keep this grid in normal flow when the shared masonry sheet loads later. */
.cw-community-bookings.booking-grid .booking-card.booking-card { position:relative;inset:auto;transform:none;width:auto;margin:0; }
.cw-filters.panel-attached { border-radius:0; }
.cw-filters:not(.panel-attached) .filters-panel:not(.show) { pointer-events:none; }
@media(max-width:700px) { .cw-community-bookings.booking-grid { grid-template-columns:minmax(0,1fr); }.cw-space-composer .cw-form > label,.cw-space-composer .cw-form-row,.cw-space-composer .cw-media-field { padding:14px; } }
@media(prefers-reduced-motion:reduce) { .cw-booking-reveal,.cw-association-toggle i,.cw-booking-option { transition:none; } }


/* The shared sticky rule contains an ID selector and otherwise wins the
   cascade: its parent blur clips the menu's backdrop to the toolbar bounds.
   Let the existing full-height glass sheet sample the feed in both states. */
html body .community-workspace .cw-filters.sm-filter-surface {
    background:transparent!important;
    backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
.community-workspace .cw-filters .filters-panel { z-index:2; overflow:clip; background:transparent; border-radius:0 0 18px 18px; }
.cw-comment-actions { display:flex; gap:18px; margin-top:5px; }
.cw-comment-actions button,.cw-reply-context button { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:3px 0; border:0; background:transparent; color:var(--sm-text-muted); font:inherit; font-size:12px; cursor:pointer; }
.cw-comment-actions button[aria-pressed="true"] { color:var(--sm-danger,#c42638); }
.cw-reply-icon { width:14px; height:14px; flex-shrink:0; }
.cw-comment-actions button:focus-visible,.cw-reply-context button:focus-visible,.cw-channel-row:focus-visible,.cw-report-space:focus-visible { outline:2px solid var(--sm-accent); outline-offset:3px; }
.cw-reply-to { margin-top:5px; font-size:12px; color:var(--sm-text-muted); }
.cw-comment-reply { padding-left:20px; border-left:1px solid var(--cw-line); }
.cw-reply-context { flex-basis:100%; display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows 280ms ease,opacity 280ms ease; }
.cw-reply-context.is-active { grid-template-rows:1fr; opacity:1; }
.cw-reply-context > div { min-height:0; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--sm-text-muted); font-size:12px; }
.cw-reply-context strong { font-weight:500; color:var(--sm-text); }
.cw-reply-context button { min-width:36px; justify-content:center; }
.cw-comment.is-targeted { border-radius:8px; animation:cw-target-comment 1.8s ease-out; }
@keyframes cw-target-comment { from { background:rgba(196,38,56,.18); } to { background:transparent; } }
.cw-channel-list { display:grid; }
.cw-channel-row { display:flex; align-items:center; gap:14px; width:100%; padding:20px 12px; border:0; border-bottom:1px solid var(--cw-line); background:transparent; color:var(--sm-text); font:inherit; text-align:left; cursor:pointer; transition:background 220ms ease; }
.cw-channel-row:hover { background:var(--sm-field-fill); }
.cw-channel-symbol { position:relative; display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:14px; background:rgba(132,144,184,.13); color:#a5b0ce; font-size:17px; }
.cw-channel-copy { display:grid; flex:1; min-width:0; gap:6px; }
.cw-channel-copy strong { font-size:15px; font-weight:500; overflow-wrap:anywhere; }
.cw-channel-copy > span { font-size:13px; color:var(--sm-text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cw-channel-meta { display:grid; justify-items:end; gap:7px; color:var(--sm-text-muted); font-size:11px; }
.cw-channel-unread { position:absolute; top:-5px; right:-5px; display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 4px; box-sizing:border-box; border:0; border-radius:999px; background:linear-gradient(145deg,#ff5265,#e72748 70%); color:#fff; font-size:10px; font-weight:750; line-height:1; font-variant-numeric:tabular-nums; box-shadow:inset 0 1px 1px rgba(255,255,255,.22), 0 2px 5px rgba(204,29,58,.2); pointer-events:none; }
@media(prefers-reduced-motion:reduce) { .cw-reply-context,.cw-channel-row { transition:none; }.cw-comment.is-targeted { animation:none; } }
.cw-placeholder { display:block; position:relative; overflow:hidden; width:100%; height:14px; border-radius:6px; background:rgba(var(--sm-ink-rgb,255,255,255),.065); }
.cw-placeholder::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 20%,rgba(var(--sm-ink-rgb,255,255,255),.055),transparent 80%); transform:translateX(-100%); animation:community-shimmer 1.8s ease-in-out infinite; }
.cw-placeholder-avatar { width:40px; height:40px; flex:0 0 40px; border-radius:50%; }
.cw-placeholder-name { width:120px; height:18px; }
.cw-placeholder-meta { width:85px; height:11px; margin-top:8px; }
.cw-placeholder-line { height:14px; margin:12px 0; }
.cw-placeholder-line.short { width:65%; }
.cw-placeholder-action { width:54px; height:22px; }
.cw-placeholder-space { width:60px; height:60px; flex-shrink:0; border-radius:16px; }
.cw-placeholder-title { width:min(250px,90%); height:32px; margin-block:14px; }
.cw-placeholder-button { width:130px; height:44px; }
.cw-loading .cw-skeleton-navigation { display:flex; justify-content:space-between; align-items:center; min-height:58px; padding:10px 16px; box-sizing:border-box; margin-bottom:8px; }
.cw-skeleton-tabs { display:flex; gap:18px; min-height:46px; align-items:center; margin-bottom:8px; }
.cw-loading .cw-post { min-height:190px; }
.cw-loading-space .cw-space-title { width:100%; }
.cw-loading-space .cw-space-title > div { width:100%; }
.cw-loading-space .cw-space-header { margin-bottom:0; }
.cw-skeleton-hero .cw-space-title .cw-placeholder-title { margin:0 0 8px; height:30px; }
.cw-skeleton-hero .cw-space-title .cw-placeholder-line { margin:0; height:14px; }
.cw-skeleton-hero .cw-space-hero-content > .cw-placeholder-line { margin:16px 0 0; height:26px; }
.cw-skeleton-hero .cw-placeholder-button { height:42px; }
.cw-loading-post .cw-posts { max-width:900px; margin-inline:auto; }
.cw-loading-spaces .cw-space-card { gap:10px; }
.cw-loading .cw-placeholder { animation:none; }
@media(max-width:768px) { .cw-loading .cw-post { min-height:178px; }.cw-placeholder-title { height:28px; } }
@media(max-width:540px) { .cw-skeleton-hero .cw-placeholder-space { width:48px; height:48px; }.cw-skeleton-hero .cw-space-title .cw-placeholder-title { height:28px; } }
@media(prefers-reduced-motion:reduce) { .cw-placeholder::after { animation:none; } }

/* Loading reuses the actual header, post and action slots. */
.cw-skeleton-workspace { pointer-events:none; }
.cw-skeleton-filterbar { min-height:52px; }
.cw-placeholder-sort { width:290px; max-width:65%; height:44px; border-radius:11px; }
.cw-placeholder-tool { width:74px; height:40px; }
.cw-placeholder-search { width:220px; height:40px; margin-left:auto; }
.cw-placeholder-publish { width:100%; height:44px; }
.cw-placeholder-category { width:68px; height:30px; flex:0 0 68px; }
.cw-placeholder-post-title { width:56%; height:21px; margin-bottom:10px; }
.cw-skeleton-post .cw-placeholder-line { margin:0; height:14px; }
.cw-skeleton-post .cw-post-body { display:grid; gap:12px; padding-block:5px; }
.cw-skeleton-post .cw-placeholder-action { height:38px; width:64px; }
.cw-skeleton-post .cw-post-more { width:38px; }
.cw-skeleton-side { display:grid; gap:14px; }
.cw-skeleton-side .cw-placeholder-title { margin:0; }
@media(max-width:768px) {
 .cw-skeleton-filterbar { gap:4px!important; }
 .cw-placeholder-sort { flex:1; max-width:none; }
 .cw-placeholder-search { flex:0 0 40px; width:40px; margin:0; }
 .cw-placeholder-tool { width:72px; }
}

.cw-skeleton-post .cw-post-author .cw-placeholder-name { display:inline-block;height:1em;vertical-align:middle; }
.cw-skeleton-post .cw-post-meta .cw-placeholder-meta { height:1.6em;margin:0; }

/* Compact comment invitation and the same record cards used in the profile. */
.cw-comment-empty { display:flex; align-items:center; justify-content:center; gap:14px; min-height:68px; padding:8px 0; text-align:left; }
.cw-comment-empty .xiaoping-slot { --xp-reserved-size:68px; flex:0 0 88px; width:88px; height:68px; min-height:0; }
.cw-comment-empty .xp-touch { width:88px; }
.cw-comment-empty p { font-size:13px; }
.cw-composer-page .cw-share-options { border:0; padding-top:0; }
.cw-audience-current { flex:1; text-align:right; color:var(--sm-text-muted); font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cw-audience-options { display:grid; gap:9px; max-height:360px; overflow:auto; overscroll-behavior:contain; }
.cw-audience-option { display:flex; align-items:center; gap:14px; width:100%; padding:20px; border:0; border-radius:14px; background:rgba(var(--sm-ink-rgb,255,255,255),.035); color:var(--sm-text); font:inherit; text-align:left; cursor:pointer; transition:background 240ms ease; }
.cw-audience-option .profile-community-symbol { flex:none; width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:rgba(var(--sm-ink-rgb,255,255,255),.06); color:#45bfa2; }
.cw-audience-copy { min-width:0; flex:1; display:grid; gap:5px; }
.cw-audience-copy strong { font-size:.95rem; font-weight:500; overflow-wrap:anywhere; }
.cw-audience-copy small { font-size:.78rem; line-height:1.6; color:var(--sm-text-muted); }
.cw-audience-copy .profile-community-description { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cw-audience-option[aria-pressed="true"] { background:var(--sm-filter-selected,var(--sm-segment-fill,rgba(var(--sm-ink-rgb,255,255,255),.085))); }
.cw-audience-option[aria-pressed="true"] .cw-booking-check { opacity:1; }
.cw-audience-field .cw-field-hint:empty { display:none; }
/* A compact summary unfolds into roomy choices; native radios keep arrow-key selection. */
.cw-topic-field { border:0; margin:0; padding:0; min-width:0; }
.cw-topic-toggle { gap:12px; min-height:60px; padding:10px 0; font-size:14px; font-weight:500; }
.cw-topic-current { margin-left:auto; max-width:65%; padding:7px 12px; border-radius:20px; background:var(--sm-field-fill); color:var(--sm-text); font-size:13px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cw-topic-toggle > i { color:var(--sm-text-muted); }
.cw-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; max-width:100%; padding:8px 3px 4px; }
.cw-form .cw-topic-grid label { display:block; position:relative; min-width:0; margin:0; cursor:pointer; }
.cw-form .cw-topic-grid input { position:absolute; width:1px; height:1px; opacity:0; margin:0; padding:0; }
.cw-topic-grid label > span { position:relative; display:grid; align-content:center; min-height:48px; padding:10px 28px 10px 14px; box-sizing:border-box; border:1px solid transparent; border-radius:14px; background:var(--sm-field-fill,rgba(128,128,128,.04)); color:var(--sm-text-muted); font-size:14px; line-height:1.45; transition:background 240ms ease,color 240ms ease,border-color 240ms ease; }
.cw-topic-grid strong { font-size:13px; font-weight:500; color:var(--sm-text); overflow-wrap:anywhere; }
.cw-topic-grid label > span::after { content:""; position:absolute; right:13px; top:calc(50% - 6px); width:6px; height:10px; border:solid currentColor; border-width:0 1.5px 1.5px 0; opacity:0; transform:translateY(3px) rotate(45deg); transition:opacity 200ms ease,transform 280ms cubic-bezier(.2,.7,.2,1); }
.cw-topic-grid label:hover > span { background:var(--sm-filter-selected); }
.cw-topic-grid input:checked + span { background:var(--sm-filter-selected,var(--sm-segment-fill,rgba(var(--sm-ink-rgb,255,255,255),.085))); border-color:var(--sm-line); color:var(--sm-text); }
.cw-topic-grid input:checked + span::after { opacity:1; transform:translateY(0) rotate(45deg); }
.cw-topic-grid input:focus-visible + span { outline:2px solid var(--sm-text-muted); outline-offset:1px; }
@media(max-width:540px) { .cw-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.cw-topic-grid label > span { padding-left:12px; } }
.cw-space-composer .cw-topic-toggle { min-height:52px; }
.cw-space-composer .cw-topic-grid { gap:6px; padding-top:6px; }
.cw-space-composer .cw-topic-grid label > span { min-height:44px; padding:8px 27px 8px 12px; border-radius:12px; }
.cw-space-composer .cw-topic-grid strong { font-size:12px; }
.cw-space-composer .cw-topic-grid label > span::after { right:12px; }
::view-transition-old(root) { animation-duration:240ms; }
::view-transition-new(root) { animation-duration:320ms; }
@media(prefers-reduced-motion:reduce) { .cw-audience-option,.cw-topic-grid label > span,.cw-topic-grid label > span::after { transition:none; } }

.community-page .community-workspace:not(.is-community-detail):not(.is-post-detail) { min-height:calc(100dvh - var(--sm-navbar-bottom,72px)); }

/* Community editing uses the same open, underlined fields as profile editing. */
body.is-composing-space #hero-container { display:none!important; }
.cw-space-composer { max-width:none; animation:none; }
.cw-space-composer .cw-form { max-width:none; padding:0; gap:0; }
.cw-space-fields { display:grid; gap:26px; width:min(100%,740px); margin:0 auto; padding:0 16px 36px; box-sizing:border-box; }
.cw-space-fields > label,.cw-space-access > label { display:grid; gap:10px; font-size:14px; font-weight:500; }
.cw-space-access { display:grid; gap:26px; }
.cw-visibility-field { border:0; margin:0; padding:0; min-width:0; }
.cw-visibility-field legend { margin-bottom:14px; font-size:14px; }
.cw-visibility-switch { display:flex; width:100%; margin:0; }
.cw-visibility-switch button { display:flex; justify-content:center; align-items:center; gap:10px; flex:1; min-height:48px; }
.cw-space-composer .cw-composer-navigation { width:min(100%,960px); margin-inline:auto; box-sizing:border-box; }
.cw-composer-page .cw-form textarea[data-cw-autogrow] { min-height:0; height:auto; overflow:hidden; resize:none; line-height:1.65; }
.cw-cover-hero.hero-section { position:relative; isolation:isolate; width:100vw; height:400px; min-height:0; margin:0 0 0 calc(50% - 50vw); padding:0; overflow:hidden; background:var(--sm-field-fill); }
.cw-cover-hero > [data-cw-cover-picker],.cw-cover-hero .sm-upload-grid { position:absolute; inset:0; width:100%; height:100%; max-width:none; margin:0; padding:0; display:block; }
.cw-cover-hero .sm-upload .sm-upload-remove { display:none; }
.cw-cover-hero .cw-cover-current,.cw-cover-hero .sm-upload-preview,.cw-cover-hero .sm-upload-preview > img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; border:0; border-radius:0!important; aspect-ratio:auto; object-fit:cover; }
.cw-cover-hero .sm-upload-preview { overflow:visible; background:transparent; }
.cw-cover-hero .sm-upload-status { top:calc(50% + var(--sm-navbar-bottom,72px) / 2 + 34px); bottom:auto; left:50%; right:auto; width:max-content; max-width:90%; transform:translateX(-50%); }
.cw-cover-hero .sm-upload-retry { top:calc(50% + var(--sm-navbar-bottom,72px) / 2 - 72px); bottom:auto; min-height:44px; }
.cw-cover-hero .cw-cover-change { position:absolute; z-index:3; left:50%; top:calc(50% + var(--sm-navbar-bottom,72px) / 2); translate:-50% -50%; min-height:44px; white-space:nowrap; }
.cw-cover-hero .cw-cover-remove { position:absolute; z-index:3; right:16px; top:calc(var(--sm-navbar-bottom,72px) + 12px); }
.cw-cover-hero.has-cover { --sm-text:#fff; --sm-text-muted:#fff; }
.cw-attached-booking { margin-top:18px; }
.cw-attached-booking-label { display:flex; align-items:center; gap:7px; padding:0 0 8px; font-size:12px; color:var(--cw-muted); }
.cw-attached-booking .cw-booking-card { margin-top:0; }
.cw-post-actions [data-cw-action="like"],.cw-comment-actions [data-cw-action="like-comment"] { position:relative; overflow:visible; touch-action:manipulation; }
.cw-post-actions [data-cw-action="like"] i,.cw-comment-actions [data-cw-action="like-comment"] i { display:inline-block; transform-origin:50% 60%; transition:color 160ms ease; }
.cw-post-actions :is([data-cw-action="like"],[data-cw-action="comments"]) span { text-align:left; font-variant-numeric:tabular-nums; }
.cw-comment-actions [data-cw-action="like-comment"] span { min-width:1em; text-align:left; font-variant-numeric:tabular-nums; }
.cw-post-actions [data-cw-action="like"]::before,.cw-post-actions [data-cw-action="like"]::after,.cw-comment-actions [data-cw-action="like-comment"]::before,.cw-comment-actions [data-cw-action="like-comment"]::after { content:none; }
@media(max-width:768px) { .cw-cover-hero.hero-section { height:300px; }.cw-space-fields { gap:24px; } }
@media(max-width:480px) { .cw-cover-hero.hero-section { height:260px; } }
@media(prefers-reduced-motion:reduce) { .cw-post-actions [data-cw-action="like"] i,.cw-comment-actions [data-cw-action="like-comment"] i { transition:none; } }

.cw-upload-feedback { margin:12px 0 0; color:var(--sm-danger,#e36d77); font-size:13px; line-height:1.5; }
.cw-cover-feedback { position:absolute; z-index:4; left:16px; right:16px; bottom:10px; margin:0; text-align:center; }

/* Detail actions follow the shared hero pair, including touch sizing and red primary. */
.cw-space-header.hero-section .cw-space-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:min(100%,440px); gap:16px; margin:24px auto 0; padding:0; }
.cw-space-header.hero-section .cw-space-actions > .btn { position:static; width:100%; min-width:0; min-height:50px; padding:12px 20px; font-size:16px; line-height:1.2; text-shadow:var(--sm-glass-text-shadow,0 1px 2px rgba(0,0,0,.35)); }
.cw-space-header.hero-section .cw-membership-status { grid-column:1 / -1; text-align:center; line-height:1.6; }
.cw-space-navigation-actions { display:flex; align-items:center; gap:18px; }

/* Member identity occupies one stable row; management stays secondary. */
.cw-member-section { padding-inline:16px; }
.cw-member-section + .cw-member-section { margin-top:28px; }
.cw-member-heading { display:flex; align-items:center; gap:9px; margin:4px 0 10px; color:var(--sm-text-muted); }
.cw-member-heading h3 { margin:0; color:var(--sm-text); font-size:14px; font-weight:550; }
.cw-member-heading > span { font-size:12px; font-variant-numeric:tabular-nums; }
.cw-member-list { margin:0; padding:0; list-style:none; }
.cw-member-list .cw-member { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:14px; align-items:center; padding:18px 4px; margin:0; border:0; border-bottom:1px solid var(--cw-line); border-radius:0; background:transparent; }
.cw-member-list .cw-avatar-link,.cw-member-list .cw-avatar { width:48px; height:48px; }
.cw-member-copy { display:grid; gap:6px; }
.cw-member-name { width:fit-content; max-width:100%; color:var(--sm-text); font-size:15px; font-weight:550; line-height:1.5; overflow-wrap:anywhere; text-decoration:none; }
.cw-member-name:hover { text-decoration:underline; text-underline-offset:3px; }
.cw-member-name:focus-visible { outline:2px solid var(--sm-text-muted); outline-offset:3px; border-radius:3px; }
.cw-member-list .cw-member-role { display:flex; align-items:center; gap:8px; margin:0; font-size:12px; line-height:1.5; color:var(--sm-text-muted); }
.cw-member-role.is-manager { color:var(--sm-text); }
.cw-member-self { display:inline-flex; padding:0 6px; border-radius:5px; background:var(--sm-field-fill); color:var(--sm-text-muted); font-size:11px; }
.cw-member-list .cw-member-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; margin:0; width:auto; }
.cw-member-list .cw-member-actions .btn { min-height:40px; font-size:12px; padding:9px 12px; }

/* The same 44px switch target and soft green confirmation as booking creation. */
.cw-approval { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:60px; padding:8px 14px; border-radius:18px; background:rgba(var(--sm-ink-rgb,255,255,255),.045); }
.cw-form .cw-approval > label:not(.cw-approval-switch) { display:block; margin:0; font-size:14px; line-height:1.5; font-weight:500; cursor:pointer; }
.cw-form .cw-approval-switch { display:block; position:relative; flex:0 0 48px; width:48px; height:44px; margin:0; }
.cw-form .cw-approval-switch input { position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; opacity:0; z-index:1; cursor:pointer; }
.cw-approval-slider { position:absolute; inset:8px 0; border:1px solid rgba(var(--sm-accent-rgb,216,222,232),.2); border-radius:28px; background:rgba(var(--sm-accent-rgb,216,222,232),.12); box-sizing:border-box; transition:background 240ms ease,border-color 240ms ease; }
.cw-approval-slider::before { content:""; position:absolute; left:3px; top:3px; width:20px; height:20px; border-radius:50%; background:var(--sm-text-muted); transition:transform 360ms cubic-bezier(.2,1.45,.45,1),background 240ms ease; }
.cw-approval-switch input:checked + .cw-approval-slider { background:color-mix(in srgb,#b9e65f 48%,var(--sm-sticky-surface)); border-color:color-mix(in srgb,#b9e65f 60%,transparent); }
.cw-approval-switch input:checked + .cw-approval-slider::before { transform:translateX(20px); background:var(--sm-surface); }
.cw-approval-switch input:focus-visible + .cw-approval-slider { outline:2px solid var(--sm-text-muted); outline-offset:3px; }
.cw-approval-switch input:disabled { cursor:default; }
.cw-approval-switch input:disabled + .cw-approval-slider { opacity:.65; }
@media(max-width:768px) { .cw-space-header.hero-section .cw-space-actions { gap:12px; }.cw-space-header.hero-section .cw-space-actions > .btn { min-height:48px; padding:12px 10px; font-size:14px; } }
@media(max-width:540px) { .cw-member-list .cw-member { grid-template-columns:44px minmax(0,1fr); gap:10px 12px; padding:16px 2px; }.cw-member-list .cw-avatar-link,.cw-member-list .cw-avatar { width:44px; height:44px; }.cw-member-list .cw-member-actions { grid-column:2; justify-content:flex-start; flex-wrap:wrap; }.cw-member-list .cw-member-actions .btn { min-height:44px; padding-inline:10px; } }
@media(prefers-reduced-motion:reduce) { .cw-approval-slider,.cw-approval-slider::before { transition:none; } }

/* A community row keeps its own cover, compact introduction and one clear entry. */
.cw-spaces-grid { gap:14px; }
/* The shared profile row owns appearance; discovery allows two lines of introduction. */
.cw-spaces-grid .profile-community-card { flex-direction:row; align-items:center; padding:16px clamp(16px,2.4vw,24px); }
.cw-spaces-grid .profile-community-description { -webkit-line-clamp:2; }
.cw-spaces-grid .profile-community-card h3 { font-size:.95rem; line-height:1.5; }

