.lbm-search-dialog { width: min(90vw, 580px); max-height: 85dvh; box-sizing: border-box; padding: 28px; border: 1px solid #9eb8ee; border-radius: 12px; background: #08142b; color: #f1f6ff; overflow: auto; }
.lbm-search-dialog::backdrop { background: rgba(0, 0, 12, .65); }
.lbm-search-dialog-inner { position: relative; padding-top: 12px; }
.lbm-search-dialog h2 { margin: 0 42px 24px 0; }
.lbm-search-close { position: absolute; top: -12px; right: -10px; width: 44px; height: 44px; color: inherit; background: transparent; border: 0; font-size: 28px; cursor: pointer; }
.lbm-search-form { margin: 16px 0 28px; color: #17213b; text-align: left; }
.lbm-search-dialog .lbm-search-form { color: inherit; margin-bottom: 0; }
.lbm-search-form label { display: block; margin-bottom: 8px; }
.lbm-search-fields { display: flex; gap: 10px; flex-wrap: wrap; }
.lbm-search-fields input { min-width: 0; flex: 1 1 160px; max-width: 100%; padding: 12px; border: 1px solid #8197bd; border-radius: 5px; font: 16px/1.4 system-ui,sans-serif; background: #fff; color: #17213b; }
.lbm-search-fields button, .lbm-map-search .lbm-search-open { min-height: 44px; padding: 10px 22px; border: 1px solid #a4b9ff; border-radius: 6px; background: #192451; color: #fff; font: inherit; cursor: pointer; }
.lbm-map-search { width: min(90%, 1024px); margin: 16px auto 0; text-align: center; }
.lbm-search-open:focus-visible, .lbm-search-close:focus-visible, .lbm-search-fields :focus-visible { outline: 2px solid #799eea; outline-offset: 3px; }
.utility-nav .lbm-search-open { color: inherit; font: inherit; cursor: pointer; }
.lbms-header:has(> .lbm-search-open) { grid-template-columns: auto auto minmax(0,1fr) auto; }
.lbms-header > .lbm-search-open { grid-column: 2; grid-row: 1; min-width: 0; }
.lbms-header:has(> .lbm-search-open) .lbms-header-close { grid-column: 4; grid-row: 1; }
.lbms-header:has(> .lbm-search-open) .lbms-header-nav { grid-column: 3; }
.lbms-header.is-stacked:has(> .lbm-search-open) .lbms-header-nav { grid-column: 1 / -1; grid-row: 2; }
@media (max-width:600px) {
  .lbms-header:has(> .lbm-search-open) { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); }
  .lbms-header:has(> .lbm-search-open) .lbms-header-close { grid-column: 3; }
  .lbms-header:has(> .lbm-search-open) .lbms-header-nav { grid-column: 1 / -1; grid-row: 2; }
  .lbms-header > .lbm-search-open { padding-left:16px; padding-right:16px; }
}
