.dis-tools { display:flex; align-items:flex-start; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.public-site .dis-tools .dis-browse { margin:0; }
.post-add { margin-left:auto; padding:9px 15px; min-height:38px; border:1px solid var(--rule); border-radius:999px; color:var(--ink); background:var(--paper); font:500 13px/1.4 var(--sans); cursor:pointer; }
.community-feed { margin-top:24px; }
.community-feed h2 { font:var(--title-type); }
.community-feed:has(.dis-grid:empty):has(.post-status:empty) { display:none; }
.post-card { min-width:0; overflow:hidden; border:1px solid var(--rule); border-radius:24px; background:var(--paper); }
.post-photo { display:block; width:100%; aspect-ratio:1; object-fit:contain; background:var(--paper-2); }
.post-copy { padding:16px; overflow-wrap:anywhere; }
.post-copy h3 { font:600 18px/1.3 var(--sans); margin:0 0 8px; }
.post-copy p { margin:7px 0; font:400 14px/1.5 var(--sans); white-space:pre-line; }
.post-city { color:var(--muted); }
.post-contact { display:inline-block; margin-top:7px; color:var(--wine); text-underline-offset:3px; }
.post-dialog { position:relative; width:min(470px,calc(100% - 24px)); max-height:calc(100dvh - 24px); border:1px solid var(--rule); border-radius:24px; padding:24px; background:var(--paper); color:var(--ink); }
.post-dialog h2 { padding-right:30px; margin:3px 0 12px; font:var(--title-type); }
.post-dialog:not(.post-view) > h2 { padding-top:35px; }
.post-close { position:absolute; z-index:3; right:12px; top:12px; width:40px; height:40px; border:1px solid var(--rule); border-radius:50%; color:var(--ink); background:var(--paper); font:24px/1 var(--sans); cursor:pointer; }
.post-help,.post-status { font:400 13px/1.5 var(--sans); color:var(--muted); }
.post-status:empty { display:none; }
.post-form { display:grid; gap:14px; margin-top:20px; }
.post-field { display:grid; gap:7px; font:500 13px/1.4 var(--sans); min-width:0; }
.post-field input,.post-field textarea { width:100%; min-width:0; padding:11px; border:1px solid var(--rule); border-radius:12px; background:var(--paper); color:var(--ink); font:400 16px/1.4 var(--sans); }
.post-field textarea { resize:vertical; }
.post-upload { position:relative; }
.post-upload input { position:absolute; bottom:0; left:0; height:47px; width:100%; opacity:0; cursor:pointer; }
.post-file-button { display:flex; align-items:center; min-height:47px; padding:11px; border:1px solid var(--rule); border-radius:12px; font:400 16px/1.4 var(--sans); }
.post-upload input:focus-visible + .post-file-button { outline:2px solid var(--brass); outline-offset:3px; }
.post-preview { display:block; width:100%; max-height:180px; object-fit:contain; border-radius:14px; }
.post-preview[hidden] { display:none; }
.post-locate { justify-self:start; white-space:normal; text-align:left; }
.post-submit { border:0; border-radius:999px; padding:13px 18px; min-height:48px; background:var(--wine); color:var(--paper); font:600 15px/1.4 var(--sans); cursor:pointer; }
.post-form :disabled { opacity:.6; cursor:wait; }
.post-dialog :focus-visible,.post-add:focus-visible,.post-contact:focus-visible { outline:2px solid var(--brass); outline-offset:3px; }
@media(max-width:360px){.post-dialog { padding:18px; }.post-add { padding-inline:11px; }.dis-tools { gap:7px; }}
.post-open { width:100%; border:0; padding:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.post-open:focus-visible { outline:3px solid var(--brass); outline-offset:-3px; }
.post-view { padding:0; }
.post-view > .post-photo { max-height:45dvh; aspect-ratio:auto; }
.post-view .post-copy { padding:20px; }
.post-field[hidden] { display:none; }
.post-field select { width:100%; padding:11px; border:1px solid var(--rule); border-radius:12px; color:var(--ink); background:var(--paper); font:400 16px/1.4 var(--sans); }
.post-model-host { min-width:0; min-height:240px; width:100%; background:var(--paper-2); }
.post-model-host[hidden],.post-view > .post-photo[hidden] { display:none; }
.post-model-local { border:1px solid var(--rule); border-radius:16px; overflow:hidden; }
.post-model-button { display:block; margin:14px auto; min-height:44px; }
.post-event { margin-block:16px; padding-block:12px; border-block:1px solid var(--rule); }
.post-event h3 { margin-bottom:7px; }
.post-event time { font:500 14px/1.5 var(--sans); }
.post-form [name="eventAt"] { max-width:100%; }
