/* Group Community. Every selector is scoped to avoid affecting the active theme. */
.gcom { --gcom-ink:#233342; --gcom-muted:#61717b; --gcom-paper:#faf8f4; --gcom-line:#e3e5e2; --gcom-button:#233342; --gcom-button-text:#fff; --gcom-button-hover:#364e62; --gcom-accent:#bc4934; --gcom-accent-text:#9b4b36; --gcom-tint:#f3e8de; --gcom-active-text:#833a2b; --gcom-focus:#256381; --gcom-dot-shadow:#e6b78f; color:var(--gcom-ink); background:var(--gcom-paper); border:1px solid var(--gcom-line); border-radius:18px; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.6; margin:24px auto; max-width:1100px; overflow:visible; text-align:left; container-type:inline-size; }
.gcom *, .gcom *::before, .gcom *::after { box-sizing:border-box; }
.gcom a { color:var(--gcom-ink); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; overflow-wrap:anywhere; }
.gcom a:hover { color:var(--gcom-accent-text); }
.gcom :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--gcom-focus); outline-offset:3px; }
.gcom h2,.gcom h3,.gcom h4 { font-family:inherit; font-weight:700; line-height:1.25; letter-spacing:-.025em; color:var(--gcom-ink); text-transform:none; overflow-wrap:anywhere; }
.gcom h2 { font-size:clamp(1.8rem,4vw,2.7rem); margin:0 0 10px; }
.gcom h3 { font-size:1.3rem; margin:0 0 14px; }
.gcom h4 { font-size:1.1rem; margin:0 0 16px; }
.gcom p { margin:0 0 16px; }
.gcom-nav { display:flex; align-items:center; padding:12px 22px; background:#fff; border-bottom:1px solid var(--gcom-line); border-radius:17px 17px 0 0; position:relative; z-index:2; }
.gcom-nav-links { display:flex; align-items:center; flex-wrap:nowrap; gap:4px; flex:1; min-width:0; }
.gcom-nav a,.gcom-nav-other > summary { font-size:.85rem; font-weight:650; text-decoration:none; padding:8px 10px; border-radius:7px; white-space:nowrap; }
.gcom-nav a[aria-current="page"],.gcom-nav-other.is-current > summary { background:var(--gcom-tint); color:var(--gcom-active-text); }
.gcom-nav-other { position:relative; flex:none; }
.gcom-nav-other > summary { cursor:pointer; list-style:none; }
.gcom-nav-other > summary::-webkit-details-marker { display:none; }
.gcom-nav-other > summary::after { content:"⌄"; padding-left:7px; }
.gcom-nav-other[open] > summary { background:var(--gcom-paper); }
.gcom .gcom-nav-other-links { position:absolute; right:0; top:calc(100% + 8px); z-index:10; width:260px; max-width:calc(100vw - 40px); display:grid; gap:3px; list-style:none; margin:0; padding:8px; background:#fff; border:1px solid var(--gcom-line); border-radius:9px; box-shadow:0 10px 30px rgba(35,51,66,.15); }
.gcom .gcom-nav-other-links li { margin:0; padding:0; }
.gcom-nav-other-links a { display:block; white-space:normal; }
.gcom-nav-other-links a:hover { background:var(--gcom-paper); }
.gcom-nav a.gcom-nav-customize { margin-left:auto; color:var(--gcom-muted); }
.gcom-nav a.gcom-nav-customize:hover { color:var(--gcom-ink); background:var(--gcom-paper); }
.gcom-content { padding:22px 28px; max-width:880px; margin:auto; }
.gcom-heading { margin:0 0 28px; padding:8px 0; }
.gcom-heading > p:last-child { color:var(--gcom-muted); font-size:1.05rem; max-width:600px; margin-bottom:0; }
.gcom .gcom-eyebrow { color:var(--gcom-accent-text); font-size:.72rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; margin:0 0 12px; }
.gcom-composer,.gcom-panel,.gcom-auth-panel { border:1px solid var(--gcom-line); background:#fff; border-radius:12px; padding:22px; margin:0 0 24px; }
.gcom-composer > summary { font-weight:700; cursor:pointer; padding:0; color:var(--gcom-ink); }
.gcom-composer[open] > summary { margin-bottom:20px; }
.gcom-form { margin:0; padding:0; }
.gcom-form .gcom-field { display:flex; flex-direction:column; flex:1 1 0; min-width:0; margin:0 0 16px; }
.gcom .gcom-field label { display:block; color:var(--gcom-ink); font-size:.875rem; font-weight:650; margin:0 0 6px; }
.gcom .gcom-field :is(input,textarea,select) { appearance:auto; width:100%; min-width:0; max-width:100%; border:1px solid #bac4c7; border-radius:7px; background:#fff; color:var(--gcom-ink); font:inherit; line-height:1.5; padding:10px 12px; margin:0; box-shadow:none; min-height:46px; }
.gcom .gcom-field textarea { resize:vertical; min-height:110px; }
.gcom .gcom-field input[type="file"] { font-size:.85rem; padding:9px; }
.gcom .gcom-field input::placeholder,.gcom .gcom-field textarea::placeholder { color:#61717b; opacity:1; }
.gcom .gcom-field input[type="file"]::file-selector-button { background:var(--gcom-paper); border:1px solid var(--gcom-line); border-radius:4px; color:var(--gcom-ink); cursor:pointer; font:inherit; margin-right:10px; padding:4px 8px; }
.gcom button,.gcom a.gcom-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; background:var(--gcom-button); color:var(--gcom-button-text); border:1px solid var(--gcom-button); border-radius:7px; box-shadow:none; font:inherit; font-size:.875rem; font-weight:650; line-height:1.35; text-align:center; text-decoration:none; text-transform:none; letter-spacing:0; padding:10px 16px; cursor:pointer; width:auto; margin:0; transition:background-color .12s; }
.gcom button:hover,.gcom a.gcom-button:hover { background:var(--gcom-button-hover); border-color:var(--gcom-button-hover); color:var(--gcom-button-text); }
.gcom button.gcom-button-secondary,.gcom a.gcom-button-secondary { background:#fff; color:var(--gcom-ink); border-color:#cfd5d5; }
.gcom button.gcom-button-secondary:hover,.gcom a.gcom-button-secondary:hover { background:#f3f5f4; color:var(--gcom-ink); border-color:#cfd5d5; }
.gcom button.gcom-button-secondary.is-active,.gcom a.gcom-button-secondary.is-active { background:var(--gcom-tint); border-color:var(--gcom-accent-text); color:var(--gcom-active-text); }
.gcom button.gcom-button-text,.gcom a.gcom-button-text { background:transparent; border-color:transparent; color:var(--gcom-ink); padding:8px; text-decoration:underline; text-underline-offset:3px; }
.gcom button.gcom-button-text:hover,.gcom a.gcom-button-text:hover { background:#f3f5f4; color:var(--gcom-ink); border-color:transparent; }
.gcom button.gcom-danger,.gcom a.gcom-danger,.gcom button.gcom-danger:hover,.gcom a.gcom-danger:hover { color:#a33625; }
.gcom .gcom-hint,.gcom .gcom-muted { color:var(--gcom-muted); font-size:.8rem; line-height:1.6; }
.gcom .gcom-hint { margin:0 0 16px; }
.gcom-fields-row { display:flex; gap:16px; }
.gcom-form-actions,.gcom-inline-controls { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.gcom-review-note { padding:12px 14px; background:#fff7e8; color:#77521f; border-left:3px solid #d9aa55; border-radius:4px; font-size:.875rem; }
.gcom .gcom-checkbox { display:flex; align-items:center; gap:8px; font-size:.875rem; margin-bottom:16px; }
.gcom .gcom-checkbox input { accent-color:var(--gcom-ink); width:18px; height:18px; flex:0 0 18px; }
.gcom-edit-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:10px 16px; margin-bottom:12px; }
.gcom-edit-heading h3 { margin:0; }
.gcom-current-photo { padding:16px; margin:0 0 12px; border:1px solid var(--gcom-line); border-radius:8px; background:var(--gcom-paper); }
.gcom .gcom-photo-label { font-size:.875rem; font-weight:650; margin:0 0 10px; }
.gcom-current-photo img { display:block; max-width:100%; width:auto; height:auto; max-height:240px; object-fit:contain; margin:0 0 14px; border-radius:5px; }
.gcom-current-photo .gcom-checkbox { margin:0; }
.gcom .gcom-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.gcom-items { display:grid; gap:20px; }
.gcom-items-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.gcom-card { padding:24px; margin:0; border:1px solid var(--gcom-line); border-radius:12px; background:#fff; min-width:0; }
.gcom-card-header { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.gcom-card-header > div { flex:1; min-width:0; }
.gcom-member-avatar { flex:0 0 auto; line-height:1; }
.gcom img.gcom-avatar { display:block; border-radius:50%; aspect-ratio:1; width:auto; height:auto; max-width:80px; }
.gcom-member-name { color:var(--gcom-ink); font-size:.875rem; font-weight:700; text-decoration:none !important; }
.gcom .gcom-meta { color:var(--gcom-muted); font-size:.75rem; line-height:1.6; }
.gcom-item-title { font-size:1.35rem !important; }
.gcom-item-title a { text-decoration:none; }
.gcom-photo { border-radius:8px; overflow:hidden; background:var(--gcom-paper); margin:0 0 18px; }
.gcom-photo img { display:block; width:100%; height:auto; max-height:640px; object-fit:contain; margin:0; border:0; border-radius:0; }
.gcom-items-grid .gcom-photo img { aspect-ratio:4/3; object-fit:cover; }
.gcom-body { white-space:normal; overflow-wrap:anywhere; margin:0 0 16px; font-size:.95rem; }
.gcom .gcom-detail-link { display:inline-block; font-size:.8rem; font-weight:650; margin-bottom:4px; }
.gcom-badge { display:inline-flex; border-radius:5px; background:#f7efda; color:#76501e; padding:4px 8px; font-size:.68rem; font-weight:700; line-height:1.4; text-align:center; }
.gcom-badge-available { background:#e8f1e9; color:#355c3a; }
.gcom-badge-sold { background:#edf0f1; color:#596971; }
.gcom-listing-top { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; margin-bottom:8px; }
.gcom-price { font-size:1.25rem; line-height:1.4; font-weight:750; overflow-wrap:anywhere; }
.gcom-facts { padding:0; margin:0 0 18px; font-size:.875rem; }
.gcom-facts > div { display:grid; grid-template-columns:60px 1fr; gap:12px; margin-bottom:8px; }
.gcom-facts dt { font-weight:700; margin:0; }
.gcom-facts dd { margin:0; overflow-wrap:anywhere; }
.gcom-interactions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:18px; padding-top:16px; border-top:1px solid #edf0ed; }
.gcom-interactions:empty { display:none; }
.gcom-interactions .gcom-form { display:inline-block; }
.gcom-count { padding:1px 6px; font-size:.75rem; background:#eef1f0; color:var(--gcom-ink); border-radius:4px; }
.gcom-contact { width:100%; }
.gcom-contact summary { font-size:.9rem; font-weight:650; cursor:pointer; }
.gcom-contact[open] summary { margin-bottom:16px; }
.gcom-comments { border-top:1px solid var(--gcom-line); padding-top:24px; margin-top:24px; }
.gcom .gcom-comment-list { list-style:none; margin:0 0 18px; padding:0; }
.gcom .gcom-comment-list li { background:var(--gcom-paper); border-radius:8px; margin:0 0 10px; padding:14px; font-size:.875rem; }
.gcom-comment-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; margin-bottom:5px; }
.gcom-comment-heading strong { min-width:0; overflow-wrap:anywhere; }
.gcom-comment-heading time { font-size:.72rem; color:var(--gcom-muted); }
.gcom .gcom-comment-list p { margin:0; overflow-wrap:anywhere; }
.gcom-comment-pages { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin:0 0 18px; font-size:.875rem; }
.gcom-comments-newer { margin-left:auto; }
.gcom-report { margin-top:24px; padding-top:16px; border-top:1px solid var(--gcom-line); }
.gcom-report summary { color:var(--gcom-muted); font-size:.75rem; cursor:pointer; }
.gcom-report[open] summary { margin-bottom:16px; }
.gcom-manage { display:flex; align-items:center; flex-wrap:wrap; gap:10px; border-top:1px solid var(--gcom-line); padding-top:16px; margin-top:18px; }
.gcom-filters { display:flex; align-items:end; gap:12px; margin:0 0 24px; padding:18px; border-radius:10px; background:#f0eee9; }
.gcom-filters .gcom-field { display:flex; flex-direction:column; flex:1; min-width:0; margin:0; }
.gcom-filters button { min-height:46px; }
.gcom-account-filters { flex-wrap:wrap; }
.gcom-account-filters .gcom-field { flex:1 1 160px; }
.gcom-filter-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.gcom-filter-actions a { font-size:.85rem; }
.gcom-filter-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.gcom-filter-tabs a { padding:8px 14px; border:1px solid transparent; border-radius:7px; font-size:.85rem; font-weight:650; text-decoration:none; }
.gcom-filter-tabs a[aria-current="page"] { background:#fff; border-color:var(--gcom-line); }
.gcom-notice { padding:16px 18px; background:#eaf1e9; color:#2a5034; border:1px solid #c3d6c3; border-radius:9px; margin:0 0 24px; font-size:.9rem; }
.gcom-notice-error { background:#fcf0eb; color:#883823; border-color:#e4c5ba; }
.gcom-join-note { background:#efeee9; border-radius:9px; padding:16px 18px; font-size:.85rem; margin:0 0 24px !important; }
.gcom .gcom-empty { border:1px dashed #cbd2cd; border-radius:12px; padding:38px 24px; text-align:center; background:rgba(255,255,255,.65); grid-column:1/-1; }
.gcom-empty-symbol { display:block; font-size:2.2rem; color:var(--gcom-accent); line-height:1; margin-bottom:16px; }
.gcom-empty h3 { margin-bottom:10px; }
.gcom .gcom-empty p { color:var(--gcom-muted); max-width:460px; margin:0 auto; font-size:.9rem; }
.gcom-profile-header { display:flex; align-items:flex-start; gap:22px; border-bottom:1px solid var(--gcom-line); padding:8px 0 28px; margin-bottom:28px; }
.gcom-profile-header .gcom-avatar { flex:none; }
.gcom-profile-header h2 { font-size:2rem; }
.gcom .gcom-bio { font-size:.95rem; margin:0; color:var(--gcom-muted); overflow-wrap:anywhere; }
.gcom-section-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:24px 0 18px; }
.gcom-section-heading h3 { margin:0; }
.gcom-section-heading a { font-size:.85rem; }
.gcom .gcom-back-link { display:inline-block; font-size:.85rem; margin-bottom:22px; }
.gcom-auth-panel { max-width:460px; }
.gcom-auth-panel p:last-child { margin-bottom:0; font-size:.875rem; }
.gcom-pagination { margin-top:28px; }
.gcom .gcom-pagination ul { list-style:none; padding:0; margin:0; display:flex; justify-content:center; flex-wrap:wrap; gap:6px; }
.gcom .gcom-pagination li { margin:0; padding:0; }
.gcom .gcom-pagination :is(a,span) { display:block; min-width:38px; padding:6px 12px; border:1px solid var(--gcom-line); border-radius:6px; text-align:center; font-size:.85rem; text-decoration:none; background:#fff; }
.gcom .gcom-pagination .current { background:var(--gcom-ink); color:#fff; border-color:var(--gcom-ink); }
@media (max-width:640px) {
	.gcom { border-radius:12px; margin:16px auto; font-size:15px; }
	.gcom-nav { padding:10px 12px; border-radius:11px 11px 0 0; }
	.gcom-nav-links { width:100%; flex-wrap:wrap; gap:3px; }
	.gcom-nav a { padding:8px; font-size:.8rem; }
	.gcom-nav-other[open] { flex-basis:100%; }
	.gcom .gcom-nav-other-links { position:static; width:100%; max-width:none; margin-top:6px; box-shadow:none; grid-template-columns:repeat(2,minmax(0,1fr)); }
	.gcom-content { padding:22px 16px; }
	.gcom-heading { margin-bottom:20px; }
	.gcom-card,.gcom-composer,.gcom-panel,.gcom-auth-panel { padding:18px; }
	.gcom-card-header { gap:10px; margin-bottom:16px; }
	.gcom-items-grid { grid-template-columns:1fr; }
	.gcom-fields-row { display:block; }
	.gcom-filters { display:flex; flex-wrap:wrap; padding:14px; }
	.gcom-filters .gcom-field { flex-basis:100%; }
	.gcom-filters button { width:100%; }
	.gcom-account-filters .gcom-filter-actions { width:100%; }
	.gcom-profile-header { gap:16px; }
	.gcom-profile-header .gcom-avatar { width:56px; }
	.gcom-facts > div { grid-template-columns:48px 1fr; gap:8px; }
}
@media (prefers-reduced-motion:reduce) { .gcom *, .gcom *::before, .gcom *::after { transition:none !important; scroll-behavior:auto !important; } }
@media (max-width:420px) { .gcom .gcom-nav-other-links { grid-template-columns:1fr; } }

/* Administrator-assigned member labels retain readable text. */
.gcom .gcom-badges { display:inline-flex; flex-wrap:wrap; gap:4px; margin:3px 0 3px 7px; vertical-align:middle; }
.gcom .gcom-badges .gcom-badge { display:inline-block; border:1px solid #b7d1cf; border-radius:5px; background:#edf6f4; color:#235653; padding:2px 6px; font-size:.7rem; font-weight:700; line-height:1.5; }
.gcom form[aria-busy="true"] { opacity:.75; }

/* Member-controlled Main Feed and independent section browsing. */
.gcom-feed-preferences fieldset { margin:0 0 18px; padding:0; border:0; min-width:0; }
.gcom-feed-preferences legend { font-size:1rem; font-weight:700; margin:0 0 12px; padding:0; }
.gcom-preference-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; margin-bottom:16px; }
.gcom-preference-options .gcom-checkbox { align-items:flex-start; margin:0; padding:10px 0; }
.gcom-preference-options .gcom-checkbox input { margin-top:3px; }
.gcom-preference-options .gcom-checkbox span { overflow-wrap:anywhere; }
.gcom-preference-options small { display:block; font-size:.75rem; color:var(--gcom-muted); }
.gcom-checkbox-unavailable { color:var(--gcom-muted); }
.gcom-blog-header { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; justify-content:space-between; margin-bottom:16px; }
@media (max-width:480px) {
 .gcom-preference-options { grid-template-columns:1fr; }
}

/* The feed starts with one compact composer; forms remain intact in native dialogs. */
.gcom .gcom-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.gcom h2.gcom-compact-heading { font-size:1.15rem; margin:0 0 14px; }
.gcom-status-box { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; background:#fff; border:1px solid var(--gcom-line); border-radius:12px; padding:14px; margin:0 0 20px; }
.gcom-status-composer { flex:1 1 260px; min-width:0; }
.gcom-status-trigger { display:flex; align-items:center; gap:11px; cursor:pointer; list-style:none; padding:0; }
.gcom-status-trigger::-webkit-details-marker { display:none; }
.gcom-status-trigger .gcom-avatar { flex:none; width:40px; height:40px; }
.gcom-status-prompt { display:block; flex:1; border-radius:24px; background:#f1f3f3; color:var(--gcom-muted); padding:9px 15px; font-size:.9rem; line-height:1.5; }
.gcom-status-trigger:hover .gcom-status-prompt { background:#e9eeee; }
.gcom-compose-actions { display:flex; align-items:center; flex-wrap:wrap; gap:5px 12px; }
.gcom-compose-actions a { display:inline-flex; align-items:center; gap:5px; min-height:40px; border-radius:7px; padding:7px 5px; text-decoration:none; font-size:.78rem; font-weight:650; }
.gcom-compose-actions a:hover { background:var(--gcom-paper); }
.gcom-compose-symbol { font-size:1.15rem; line-height:1; color:var(--gcom-accent-text); }
.gcom-status-composer[open] { flex-basis:100%; }
.gcom-status-composer[open] > summary { margin-bottom:20px; }
.gcom-status-composer[open] + .gcom-compose-actions { display:none; }
.gcom-composer-content { min-width:0; }
.gcom .gcom-dialog { color:var(--gcom-ink); background:#fff; border:1px solid var(--gcom-line); border-radius:14px; width:calc(100% - 32px); max-width:640px; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); padding:24px; margin:auto; overflow:auto; box-shadow:0 22px 80px rgba(0,0,0,.2); font:inherit; text-align:left; }
.gcom .gcom-dialog:not([open]) { display:none; }
.gcom-dialog::backdrop { background:rgba(18,30,38,.5); }
.gcom .gcom-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 20px; }
.gcom .gcom-dialog-heading h2 { font-size:1.35rem; line-height:1.3; margin:0; }
.gcom .gcom-dialog-close { flex:none; padding:7px 10px; min-height:36px; background:transparent; border:1px solid var(--gcom-line); border-radius:7px; color:var(--gcom-ink); font-size:.8rem; text-decoration:none; }
.gcom .gcom-dialog-close:hover { background:var(--gcom-paper); color:var(--gcom-ink); border-color:var(--gcom-line); }
.gcom .gcom-dialog-close[hidden] { display:none; }
.gcom-dialog > .gcom-panel { padding:0; border:0; margin:0; border-radius:0; }
.gcom-feed-preferences .gcom-form-actions { margin-top:8px; }
@media (max-width:640px) {
 .gcom-status-box { padding:12px; gap:7px; }
 .gcom-status-composer { flex-basis:100%; }
 .gcom-compose-actions { padding-left:46px; gap:6px 16px; }
 .gcom .gcom-dialog { padding:20px 16px; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); width:calc(100% - 20px); }
}

/* Narrow theme columns may need wrapping even on a desktop-sized viewport. */
@container (max-width:940px) {
 .gcom-nav-links { flex-wrap:wrap; }
}
@media (max-width:940px) {
 .gcom-nav-links { flex-wrap:wrap; }
}

/* Protected videos and download cards stay inside their contribution. */
.gcom .gcom-media-fields { border-radius:7px; }
.gcom .gcom-media-fields:focus-visible { outline:3px solid var(--gcom-focus); outline-offset:5px; }
.gcom .gcom-files { display:grid; gap:12px; margin:0 0 18px; }
.gcom .gcom-file-card { min-width:0; border:1px solid var(--gcom-line); background:var(--gcom-paper); border-radius:9px; overflow:hidden; }
.gcom .gcom-video { display:block; width:100%; height:auto; max-height:520px; background:#11191f; }
.gcom .gcom-file-details { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; padding:12px 14px; font-size:.8rem; }
.gcom .gcom-file-name { font-weight:650; min-width:0; overflow-wrap:anywhere; }
.gcom .gcom-file-size { color:var(--gcom-muted); font-size:.75rem; }
.gcom .gcom-file-details a { margin-left:auto; font-weight:650; }
.gcom .gcom-file-existing { border:1px solid var(--gcom-line); border-radius:8px; padding:12px 14px; margin:0 0 16px; min-width:0; }
.gcom .gcom-file-existing legend { color:var(--gcom-ink); font-size:.875rem; font-weight:650; padding:0 5px; }
.gcom .gcom-file-removal { display:flex; align-items:flex-start; gap:8px; margin:0 0 8px; font-size:.8rem; overflow-wrap:anywhere; }
.gcom .gcom-file-removal:last-child { margin-bottom:0; }
.gcom .gcom-file-removal input { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0; accent-color:var(--gcom-ink); }
.gcom .gcom-file-upload { display:block; color:var(--gcom-ink); font-size:.875rem; font-weight:650; margin:0 0 10px; }
.gcom .gcom-file-upload input { display:block; font:inherit; font-weight:400; font-size:.85rem; width:100%; max-width:100%; min-height:46px; margin-top:6px; padding:9px; border:1px solid #bac4c7; border-radius:7px; background:#fff; color:var(--gcom-ink); }
.gcom .gcom-file-upload input::file-selector-button { background:var(--gcom-paper); border:1px solid var(--gcom-line); border-radius:4px; color:var(--gcom-ink); cursor:pointer; font:inherit; margin-right:10px; padding:4px 8px; }
.gcom .gcom-file-details .screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Version 2 member experience: one visual system inside any WordPress theme. */
.gcom { --gcom-paper:#f5f7f8; --gcom-line:#dce4e8; --gcom-muted:#526773; background:#f5f7f8; border-radius:16px; max-width:1160px; box-shadow:0 4px 24px rgba(23,45,62,.035); }
.gcom-content { max-width:900px; padding:32px; }
.gcom .gcom-heading { padding:0; margin:0 0 26px; }
.gcom .gcom-heading h2 { font-size:clamp(1.65rem,3.5vw,2.3rem); letter-spacing:-.035em; }
.gcom .gcom-heading > p:last-child { font-size:1rem; line-height:1.6; }
.gcom .gcom-eyebrow { letter-spacing:.09em; font-size:.75rem; margin-bottom:8px; }
.gcom-nav { padding:14px 22px; border-radius:15px 15px 0 0; }
.gcom-nav-links { gap:5px; flex-wrap:wrap; }
.gcom-nav a,.gcom-nav-other > summary { font-size:.875rem; min-height:44px; display:flex; align-items:center; padding:9px 12px; }
.gcom-nav a:hover,.gcom-nav-other > summary:hover { background:var(--gcom-paper); }
.gcom-nav a.gcom-nav-customize { margin-left:auto; }
.gcom .gcom-member-menu { margin-left:6px; border-left:1px solid var(--gcom-line); padding-left:6px; }
.gcom .gcom-member-menu > summary { border:1px solid var(--gcom-line); background:#fff; border-radius:8px; }
.gcom .gcom-nav-other-links { width:280px; border-radius:10px; padding:7px; box-shadow:0 14px 32px rgba(23,45,62,.12); }
.gcom .gcom-card { padding:25px; border-radius:12px; box-shadow:0 2px 5px rgba(23,45,62,.025); }
.gcom .gcom-card-header { margin-bottom:18px; align-items:flex-start; }
.gcom .gcom-member-name { font-size:.95rem; }
.gcom .gcom-meta { font-size:.8125rem; }
.gcom .gcom-body { font-size:1rem; line-height:1.7; }
.gcom .gcom-hint,.gcom .gcom-muted,.gcom .gcom-field-hint { font-size:.875rem; color:var(--gcom-muted); line-height:1.55; }
.gcom .gcom-field-hint { display:block; margin-top:5px; font-size:.8125rem; }
.gcom .gcom-detail-link { font-size:.875rem; padding:8px 0; }
.gcom .gcom-status-box { padding:18px; border-radius:12px; margin-bottom:24px; gap:14px; }
.gcom .gcom-status-trigger { min-height:48px; }
.gcom .gcom-status-prompt { font-size:.95rem; background:#f1f4f6; padding:12px 16px; }
.gcom .gcom-compose-actions { border-top:1px solid var(--gcom-line); flex-basis:100%; padding:10px 0 0; margin:0; gap:8px 24px; }
.gcom .gcom-compose-actions a { padding:7px 10px; font-size:.875rem; }
.gcom .gcom-create-composer { margin-bottom:24px; border-color:#c6d5dc; }
.gcom .gcom-create-composer > summary { min-height:44px; display:flex; align-items:center; }
.gcom .gcom-create-types { display:flex; gap:6px; padding:5px; margin:0 0 24px; border-radius:10px; background:#eef3f5; }
.gcom .gcom-create-types > :is(a,span) { display:inline-flex; justify-content:center; align-items:center; min-height:40px; flex:1; font-size:.9rem; font-weight:650; border-radius:7px; text-decoration:none; padding:8px 12px; }
.gcom .gcom-create-types [aria-current="page"] { background:#fff; box-shadow:0 1px 4px rgba(23,45,62,.09); }
.gcom .gcom-dialog { max-width:720px; padding:28px; border:0; border-radius:15px; }
.gcom .gcom-dialog-heading { position:relative; }
.gcom .gcom-dialog-heading h2 { font-size:1.5rem; }
.gcom .gcom-dialog-close { min-height:40px; }
.gcom .gcom-form :is(button,a.gcom-button) { min-height:44px; }
.gcom .gcom-field :is(input,select,textarea) { border-color:#adbec7; border-radius:8px; }
.gcom .gcom-field textarea { min-height:130px; }
.gcom .gcom-form-actions { padding-top:8px; }
.gcom .gcom-submit-status { margin:0 0 14px; padding:10px 12px; border-left:3px solid var(--gcom-focus); background:#edf4f7; color:var(--gcom-ink); }
.gcom .gcom-client-errors { background:#fff3ef; color:#7c2b1b; padding:14px 16px; border:1px solid #dfb5a8; border-radius:9px; margin:0 0 18px; }
.gcom .gcom-client-errors ul { padding-left:22px; margin:8px 0 0; }
.gcom .gcom-client-errors li { margin:4px 0; font-size:.875rem; }
.gcom .gcom-client-errors a { color:inherit; }
.gcom :is(input,textarea,select)[aria-invalid="true"] { border-color:#b53c24; box-shadow:0 0 0 1px #b53c24; }
.gcom .gcom-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:0 0 18px; border-radius:9px; overflow:hidden; }
.gcom .gcom-gallery[data-count="1"] { grid-template-columns:minmax(0,1fr); }
.gcom .gcom-gallery-detail[data-count="3"] .gcom-gallery-photo:first-child { grid-column:1/-1; }
.gcom .gcom-gallery-photo { display:block; margin:0; min-width:0; background:#eaf0f3; }
.gcom .gcom-gallery-photo a { display:block; height:100%; }
.gcom .gcom-gallery-photo img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; display:block; margin:0; border:0; }
/* Wide feed cards keep compact, uncropped previews; details retain full photos. */
.gcom .gcom-gallery:not(.gcom-gallery-detail) { height:320px; grid-template-rows:minmax(0,1fr); grid-auto-rows:minmax(0,1fr); }
.gcom .gcom-gallery:not(.gcom-gallery-detail)[data-count="3"],.gcom .gcom-gallery:not(.gcom-gallery-detail)[data-count="4"] { grid-template-rows:repeat(2,minmax(0,1fr)); }
.gcom .gcom-gallery:not(.gcom-gallery-detail)[data-count="3"] .gcom-gallery-photo:first-child { grid-row:1 / span 2; }
.gcom .gcom-gallery:not(.gcom-gallery-detail) .gcom-gallery-photo,.gcom .gcom-gallery:not(.gcom-gallery-detail) .gcom-gallery-photo a { min-height:0; min-width:0; }
.gcom .gcom-gallery:not(.gcom-gallery-detail) .gcom-gallery-photo img { min-height:0; max-height:100%; aspect-ratio:auto; object-fit:contain; }
.gcom .gcom-gallery-detail { gap:16px; overflow:visible; }
.gcom .gcom-gallery-detail .gcom-gallery-photo { border:1px solid var(--gcom-line); border-radius:8px; overflow:hidden; }
.gcom .gcom-gallery-detail .gcom-gallery-photo img { height:auto; max-height:680px; aspect-ratio:var(--gcom-photo-ratio,4 / 3); object-fit:contain; }
.gcom .gcom-gallery-more { display:inline-block; margin:-4px 0 16px; font-size:.875rem; font-weight:650; }
.gcom .gcom-gallery-editor { padding:18px; border:1px solid var(--gcom-line); border-radius:10px; background:#f8fafb; margin:4px 0 24px; }
.gcom .gcom-media-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.gcom .gcom-media-heading h3 { font-size:1.05rem; margin:0; }
.gcom .gcom-photo-count { font-size:.8125rem; font-weight:650; color:var(--gcom-muted); }
.gcom .gcom-photo-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
.gcom .gcom-photo-list:empty { display:none; }
.gcom .gcom-photo-editor-card { min-width:0; padding:12px; border:1px solid #d4dfe5; border-radius:9px; background:#fff; }
.gcom .gcom-photo-editor-card.is-removed { background:#f3f3f3; border-style:dashed; }
.gcom .gcom-photo-editor-card.is-removed > :not(.gcom-checkbox) { opacity:.5; }
.gcom .gcom-photo-editor-card img { display:block; width:100%; height:130px; aspect-ratio:4/3; object-fit:cover; margin:0 0 12px; border-radius:5px; }
.gcom .gcom-photo-editor-card .gcom-field { margin:0 0 10px; }
.gcom .gcom-photo-editor-card .gcom-field label { font-size:.8125rem; }
.gcom .gcom-photo-editor-card .gcom-field input { min-height:40px; font-size:.875rem; padding:8px; }
.gcom .gcom-photo-editor-card .gcom-checkbox { align-items:flex-start; font-size:.8125rem; margin:10px 0 0; }
.gcom .gcom-photo-filename { font-size:.8125rem; font-weight:650; overflow-wrap:anywhere; margin:0 0 10px; }
.gcom .gcom-photo-controls { display:flex; flex-wrap:wrap; gap:6px; }
.gcom .gcom-photo-controls button { min-height:36px; padding:6px 8px; font-size:.75rem; }
.gcom .gcom-photo-controls button:disabled { opacity:.4; cursor:default; }
.gcom .gcom-upload-label { display:block; font-size:.9rem; font-weight:650; margin:0 0 6px; }
.gcom .gcom-photo-input { font:inherit; font-size:.875rem; width:100%; min-width:0; padding:10px; border:1px solid #adbec7; border-radius:8px; background:#fff; margin:0 0 12px; }
.gcom .gcom-photo-input::file-selector-button { border:0; border-radius:5px; background:#e9eff2; color:var(--gcom-ink); padding:6px 10px; margin-right:10px; font:inherit; cursor:pointer; }
.gcom .gcom-filters { background:#eaf0f3; border-radius:10px; }
.gcom .gcom-interactions { margin-top:10px; }
.gcom .gcom-report summary { font-size:.875rem; }
.gcom .gcom-notice { line-height:1.6; }
.gcom .gcom-empty { background:#fff; padding:32px 24px; }
.gcom [hidden] { display:none !important; }
@container (max-width:720px) {
 .gcom-content { padding:24px 18px; }
 .gcom-items-grid { grid-template-columns:minmax(0,1fr); }
 .gcom-fields-row { display:block; }
 .gcom-nav a.gcom-nav-customize { margin-left:0; }
 .gcom .gcom-member-menu { margin-left:auto; }
 .gcom .gcom-nav-other[open] { flex-basis:100%; }
 .gcom .gcom-nav-other-links { position:static; width:100%; max-width:none; box-shadow:none; margin:8px 0 0; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gcom .gcom-filters { flex-wrap:wrap; }
 .gcom .gcom-filters .gcom-field { flex-basis:100%; }
}
@container (max-width:460px) {
 .gcom-content { padding:20px 12px; }
 .gcom .gcom-card,.gcom .gcom-panel,.gcom .gcom-composer { padding:18px; }
 .gcom .gcom-photo-list { grid-template-columns:minmax(0,1fr); }
 .gcom .gcom-gallery-editor { padding:12px; }
 .gcom .gcom-gallery:not(.gcom-gallery-detail) { height:240px; }
 .gcom .gcom-nav-other-links { grid-template-columns:minmax(0,1fr); }
 .gcom .gcom-member-menu { margin-left:0; border-left:0; padding-left:0; }
 .gcom-nav { padding:10px; }
}
@media (max-width:640px) {
 .gcom-content { padding:22px 14px; }
 .gcom .gcom-dialog { padding:20px 16px; }
 .gcom .gcom-nav-other-links { position:static; width:100%; max-width:none; box-shadow:none; }
 .gcom .gcom-member-menu { margin-left:0; border-left:0; padding-left:0; }
 .gcom .gcom-photo-list { grid-template-columns:minmax(0,1fr); }
 .gcom .gcom-gallery-detail { grid-template-columns:minmax(0,1fr); }
 .gcom .gcom-gallery:not(.gcom-gallery-detail) { height:240px; }
 .gcom .gcom-create-types { gap:3px; }
 .gcom .gcom-create-types > :is(a,span) { padding:8px; }
}
.gcom .gcom-local-draft { background:#edf4f7; border:1px solid #c2d6e2; padding:14px 16px; border-radius:9px; margin:0 0 20px; }
.gcom .gcom-local-draft p { font-size:.875rem; margin:0 0 10px; }
.gcom .gcom-local-draft button { margin-right:8px; }
.gcom .gcom-local-draft-note { margin:16px 0 0; }

/* Theme typography must not replace the community control typeface. */
.gcom { --gcom-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-family:var(--gcom-font); }
.gcom :is(a,button,input,textarea,select,summary) { font-family:var(--gcom-font); }

/* Feed and event screens reclaim the inner gutters; account/auth panels retain
   their established widths and introductions. */
.gcom.gcom-screen-compact > .gcom-content { max-width:1080px; padding:24px; }
.gcom.gcom-screen-events .gcom-module-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin:0 0 20px; }
.gcom.gcom-screen-events .gcom-module-toolbar > .gcom-filter-tabs { margin:0; }
.gcom.gcom-screen-events .gcom-module-toolbar > .gcom-create-composer { flex:0 1 auto; min-width:0; margin:0; padding:4px 14px; }
.gcom.gcom-screen-events .gcom-module-toolbar > .gcom-create-composer > summary { min-height:44px; font-size:.875rem; }
.gcom.gcom-screen-events .gcom-module-toolbar > .gcom-create-composer[open] { flex-basis:100%; padding:20px; }
@container (max-width:720px) {
 .gcom.gcom-screen-compact > .gcom-content { padding:24px 18px; }
}
@container (max-width:460px) {
 .gcom.gcom-screen-compact > .gcom-content { padding:20px 12px; }
 .gcom.gcom-screen-events .gcom-module-toolbar { gap:10px; }
 .gcom.gcom-screen-events .gcom-module-toolbar > .gcom-create-composer { padding:3px 10px; }
 .gcom.gcom-screen-events .gcom-module-toolbar > .gcom-create-composer[open] { padding:18px; }
}
@media (max-width:640px) {
 .gcom.gcom-screen-compact > .gcom-content { padding:22px 14px; }
}

/* Sharing is a native disclosure: manual link copying also works without JS. */
.gcom .gcom-share { min-width:0; margin:0; }
.gcom .gcom-share > summary { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 16px; border:1px solid var(--gcom-line); border-radius:7px; background:#fff; color:var(--gcom-ink); font-size:.875rem; font-weight:650; line-height:1.35; list-style:none; cursor:pointer; }
.gcom .gcom-share > summary::-webkit-details-marker { display:none; }
.gcom .gcom-share > summary:focus-visible { outline:3px solid var(--gcom-focus); outline-offset:3px; }
.gcom .gcom-share[open] { flex-basis:100%; }
.gcom .gcom-share-panel { max-width:640px; margin:12px 0 0; padding:16px; border:1px solid var(--gcom-line); border-radius:9px; background:var(--gcom-paper); }
.gcom .gcom-share-panel label { display:block; margin:0 0 6px; font-size:.875rem; font-weight:650; }
.gcom .gcom-share-panel input[data-gcom-share-url] { display:block; width:100%; min-width:0; max-width:100%; min-height:44px; margin:0 0 12px; padding:10px; border:1px solid #adbec7; border-radius:7px; background:#fff; color:var(--gcom-ink); font:inherit; font-size:.875rem; }
.gcom .gcom-share-actions { display:flex; flex-wrap:wrap; gap:8px; }
.gcom .gcom-share-panel .gcom-hint { margin:12px 0 0; }
.gcom .gcom-share-status { margin:8px 0 0; font-size:.875rem; overflow-wrap:anywhere; }
.gcom .gcom-share-status:empty { display:none; }
.gcom .gcom-card-blog > .gcom-share { margin-top:12px; }

/* Member tools stay compact, wrap in theme columns and work without scripts. */
.gcom .gcom-community-tools { display:grid; gap:12px; margin:0 0 20px; }
.gcom .gcom-social-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; }
.gcom .gcom-social-toolbar a { display:inline-flex; align-items:center; min-height:42px; padding:8px 12px; border:1px solid var(--gcom-line); border-radius:7px; background:#fff; font-size:.875rem; font-weight:650; text-decoration:none; }
.gcom .gcom-social-toolbar a[aria-current="page"] { color:var(--gcom-active-text); background:var(--gcom-tint); border-color:var(--gcom-accent-text); }
.gcom .gcom-community-search { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; margin:0; }
.gcom .gcom-community-search input[type="search"] { flex:1 1 220px; width:auto; min-width:0; max-width:100%; min-height:44px; margin:0; padding:10px 12px; border:1px solid #adbec7; border-radius:8px; background:#fff; color:var(--gcom-ink); font:inherit; font-size:.875rem; }
.gcom .gcom-community-search button { min-height:44px; }
.gcom .gcom-community-search .gcom-button-text { min-height:44px; display:inline-flex; align-items:center; padding:8px; font-size:.875rem; }
.gcom .gcom-view-heading { font-size:1.2rem; margin:0 0 8px; }
.gcom .gcom-social-controls { display:flex; flex-wrap:wrap; gap:8px; min-width:0; margin:10px 0 0; }
.gcom .gcom-interactions > .gcom-social-controls { flex-basis:100%; margin-top:4px; }
.gcom .gcom-social-form { margin:0; padding:0; min-width:0; }
.gcom .gcom-social-form button { min-height:42px; }
.gcom .gcom-post-tools { min-width:0; margin:0; }
.gcom .gcom-post-tools > summary { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 16px; border:1px solid var(--gcom-line); border-radius:7px; background:#fff; color:var(--gcom-ink); font-size:.875rem; font-weight:650; line-height:1.35; list-style:none; cursor:pointer; }
.gcom .gcom-post-tools > summary::-webkit-details-marker { display:none; }
.gcom .gcom-post-tools > summary::after { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-3px; }
.gcom .gcom-post-tools[open] > summary::after { transform:rotate(225deg); margin-top:3px; }
.gcom .gcom-post-tools > summary:focus-visible { outline:3px solid var(--gcom-focus); outline-offset:3px; }
.gcom .gcom-post-tools[open] { flex-basis:100%; }
.gcom .gcom-post-tools-menu { display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px; margin-top:8px; padding:12px; border:1px solid var(--gcom-line); border-radius:8px; background:var(--gcom-paper); }
.gcom .gcom-social-panel h2 { font-size:1.4rem; margin-bottom:12px; }
.gcom .gcom-social-panel h3 { font-size:1.05rem; margin:20px 0 10px; }
.gcom details.gcom-social-panel > summary { cursor:pointer; font-weight:650; min-height:44px; padding:8px 0; }
.gcom details.gcom-social-panel[open] > summary { margin-bottom:12px; }
.gcom .gcom-social-list { list-style:none; padding:0; margin:16px 0 24px; }
.gcom .gcom-social-list > li { display:flex; align-items:center; flex-wrap:wrap; gap:10px 12px; padding:14px 0; margin:0; border-bottom:1px solid var(--gcom-line); overflow-wrap:anywhere; }
.gcom .gcom-social-list > li > .gcom-social-form { margin-left:auto; }
.gcom .gcom-social-unread { font-weight:650; }
.gcom .gcom-social-notice { padding:12px 14px; margin:0 0 16px; border:1px solid #c2d6e2; border-radius:8px; background:#edf4f7; font-size:.875rem; }
.gcom .gcom-social-empty { color:var(--gcom-muted); }

/* Featured images are article links; protected community media is never reused. */
.gcom .gcom-blog-thumbnail { display:block; margin:0 0 18px; border-radius:8px; overflow:hidden; background:#eaf0f3; }
.gcom .gcom-blog-thumbnail .gcom-blog-image { display:block; width:100%; height:auto; max-height:320px; aspect-ratio:16/9; object-fit:contain; margin:0; border:0; }
@media (max-width:640px) {
 .gcom .gcom-blog-thumbnail .gcom-blog-image { max-height:240px; }
}

/* Public sharing is an explicit author choice, with a full readable post. */
.gcom .gcom-public-sharing { min-width:0; margin:4px 0 20px; padding:16px; border:1px solid #c6d5dc; border-radius:9px; background:#f5f8fa; }
.gcom .gcom-public-sharing legend { padding:0 5px; font-size:.875rem; font-weight:700; }
.gcom .gcom-public-sharing .gcom-checkbox { align-items:flex-start; margin:0 0 10px; }
.gcom .gcom-public-sharing .gcom-checkbox input { margin-top:3px; }
.gcom .gcom-public-sharing .gcom-hint { margin:0; }
.gcom .gcom-public-badge { color:#235653; background:#edf6f4; border:1px solid #b7d1cf; }
.gcom .gcom-public-header { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin:0 0 18px; }
.gcom .gcom-public-title { font:inherit; font-size:clamp(1.4rem,4vw,2rem); font-weight:700; line-height:1.3; color:var(--gcom-ink); margin:0 0 20px; overflow-wrap:anywhere; }
.gcom .gcom-card-public .gcom-body { white-space:normal; overflow-wrap:anywhere; }
.gcom.gcom-public-post { padding:24px; }
.gcom.gcom-public-post .gcom-card-public { margin-bottom:0; }
@container (max-width:460px) {
 .gcom .gcom-blog-thumbnail .gcom-blog-image { max-height:240px; }
 .gcom .gcom-community-search input[type="search"] { flex-basis:100%; }
 .gcom .gcom-social-toolbar { gap:6px; }
 .gcom .gcom-social-toolbar a { padding:8px 10px; }
 .gcom .gcom-social-list > li > .gcom-social-form { margin-left:0; }
}
@media (max-width:420px) {
 .gcom .gcom-community-search input[type="search"] { flex-basis:100%; }
 .gcom .gcom-social-toolbar { gap:6px; }
 .gcom .gcom-social-toolbar a { padding:8px 10px; }
 .gcom.gcom-public-post { padding:12px; }
}
