.map-header { position: absolute; z-index: 450; top: 18px; right: 20px; left: 20px; display: flex; align-items: center; justify-content: space-between; pointer-events: none; }
.brand { display: inline-flex; align-items: center; gap: 9px; width: fit-content; padding: 7px 12px 7px 7px; border: 1px solid rgb(255 255 255 / 80%); border-radius: 14px; color: #183d40; background: rgb(255 255 255 / 92%); box-shadow: 0 4px 14px rgb(25 48 43 / 10%); text-decoration: none; font-size: 15px; font-weight: 800; letter-spacing: -.04em; pointer-events: auto; backdrop-filter: blur(8px); }
.brand small { margin-left: 4px; color: #77908a; font-size: 10px; font-weight: 600; letter-spacing: .02em; }
.brand-mark { display: block; flex: 0 0 29px; width: 29px; height: 29px; object-fit: contain; }
.map-caption { padding: 9px 12px; border: 1px solid rgb(255 255 255 / 75%); border-radius: 11px; color: #395a55; background: rgb(255 255 255 / 90%); box-shadow: 0 4px 14px rgb(25 48 43 / 10%); font-size: 11px; font-weight: 700; pointer-events: auto; backdrop-filter: blur(8px); }
.map-caption span { padding: 0 4px; color: #a0b4ad; }
.map-attribution { position: absolute; z-index: 400; right: 10px; bottom: 10px; max-width: min(82%, 680px); padding: 6px 9px; border-radius: 6px; color: #60766f; background: rgb(255 255 255 / 92%); font-size: 11px; line-height: 1.45; }

.explorer-actions { position: absolute; z-index: 460; top: 76px; left: 20px; display: flex; flex-wrap: wrap; gap: 7px; max-width: min(530px, calc(100% - 40px)); padding: 7px; border: 1px solid rgb(255 255 255 / 85%); border-radius: 15px; background: rgb(255 255 255 / 93%); box-shadow: 0 7px 24px rgb(25 48 43 / 13%); backdrop-filter: blur(10px); }
.explorer-actions button, .place-input-row button { min-height: 38px; padding: 9px 12px; border: 1px solid #e1e9e3; border-radius: 10px; color: #31504f; background: white; font-size: 12px; font-weight: 650; cursor: pointer; }
.explorer-actions button:hover, .explorer-actions button:focus-visible, .place-input-row button:hover { border-color: #9dc8bb; background: #f1f8f4; }
.explorer-actions .action-nearby { border-color: #157b72; color: white; background: #157b72; }
.explorer-actions .action-nearby:hover, .explorer-actions .action-nearby:focus-visible { background: #105e5a; }
.action-nearby span { padding-right: 4px; font-size: 15px; }
.explorer-actions .filter-action { color: #526c65; background: #f8faf8; }

@media (max-width: 800px) {
    .map-attribution { bottom: 124px; max-width: calc(100% - 68px); }
    .map-header { top: 10px; right: 12px; left: 12px; }
    .brand-mark { flex-basis: 27px; width: 27px; height: 27px; }
    .explorer-actions { top: auto; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-width: none; padding: 10px 12px max(12px, env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #e4ebe5; border-radius: 18px 18px 0 0; background: rgb(255 255 255 / 97%); box-shadow: 0 -7px 24px rgb(25 48 43 / 14%); }
    .explorer-actions button { min-height: 42px; padding: 8px; font-size: 11px; }
    .explorer:has(.regulation-drawer:not([hidden])) .explorer-actions { display: none; }
}
