/* Same small glass shape as the sky notice; amber marks civic information. */
.geo-town-notice {
  position: absolute; right: 58px; top: 12px; z-index: 3;
  display: flex; align-items: center; gap: 8px; max-width: calc(48% - 42px);
  border: 1px solid rgba(244, 199, 121, .4); border-radius: 999px;
  padding: 6px 11px; background: rgba(42, 32, 19, .74); color: #ffe1ac;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  font: 11px/1.3 var(--sans, system-ui, sans-serif); cursor: pointer;
}
.geo-town-notice[hidden], .town-notices-panel[hidden] { display: none; }
.geo-town-notice:hover, .geo-town-notice[aria-expanded="true"] { background: rgba(56, 40, 20, .92); border-color: #e7ba75; }
.geo-town-notice:focus-visible { outline: 2px solid #ffe1ac; outline-offset: 3px; }
.geo-town-mark { flex: 0 0 6px; width: 6px; height: 6px; border: 1px solid currentColor; transform: rotate(45deg); }
.geo-town-notice[data-urgent="true"] .geo-town-mark { background: currentColor; }
.geo-town-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.geo-town-more { flex-shrink: 0; font-weight: 600; }
.geo-with-town-notices .geo-notice { max-width: calc(50% - 20px); }
.town-notices-panel {
  padding: 19px 24px 15px; background: var(--paper-warm, #faf7ef); color: var(--ink, #292b25);
  border-top: 2px solid #c59a5d; border-bottom: 1px solid var(--rule, #d9d2c4);
  font: 13px/1.55 var(--sans, system-ui, sans-serif);
}
.town-notices-head { display: flex; align-items: center; gap: 12px; margin-bottom: 13px; }
.town-notices-head h2 { margin: 0; font: 600 19px/1.2 var(--serif-display, Georgia, serif); }
.town-notices-count { opacity: .65; font-size: 11px; }
.town-notices-close { margin-left: auto; background: none; border: 0; padding: 7px; color: inherit; font: inherit; cursor: pointer; }
.town-notices-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 20px 28px; }
.town-notices-item { min-width: 0; border-top: 1px solid var(--rule, #d9d2c4); padding-top: 12px; }
.town-notices-item h3 { margin: 5px 0 8px; font: 600 17px/1.3 var(--serif-display, Georgia, serif); }
.town-notices-panel .town-notices-kind { margin: 0; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted, #74654f); }
.town-notices-item p { margin: 7px 0; }
.town-notices-item summary { cursor: pointer; padding: 5px 0; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.town-notices-original { max-height: 340px; overflow: auto; padding-right: 12px; }
.town-notices-original p { font-size: 12px; }
.town-notices-panel .town-notices-meta, .town-notices-health { font-size: 11px; opacity: .75; }
.town-notices-panel a { color: inherit; text-underline-offset: 3px; }
.town-notices-panel :is(a, button, summary):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.town-notices-health { border-top: 1px solid var(--rule, #d9d2c4); margin-top: 15px; padding-top: 8px; display: flex; flex-wrap: wrap; gap: 3px 20px; }
.town-notices-health p { margin: 0; }
.town-notices-delayed { font-size: 12px; font-weight: 600; }
@media (max-width: 640px) {
  .geo-town-notice { right: 48px; top: 8px; gap: 6px; padding: 6px 8px; font-size: 10px; max-width: calc(54% - 40px); }
  .geo-town-more { font-size: 10px; }
  .geo-with-town-notices .geo-notice { max-width: calc(46% - 26px); }
  .geo-with-town-notices .geo-notice .geo-notice-go { min-width: 0; }
  .town-notices-panel { padding: 16px 15px 13px; }
  .town-notices-head { gap: 8px; }
}
