.map-picker { border: 0; padding: 0; margin: 14px 0 0; min-width: 0; }
.map-picker legend { margin-bottom: 7px; padding: 0; color: #526b5b; font-size: 11px; font-weight: 750; }
.map-options { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.map-option { position: relative; cursor: pointer; }
.map-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.map-option-card { display: flex; flex-direction: column; justify-content: center; min-height: 54px; padding: 8px 10px; border: 1px solid #244d4240; border-radius: 4px; background: #fffdf4; color: #5a6a5a; }
.map-option-name { font-size: 13px; line-height: 1.3; font-weight: 800; }
.map-option-badge { margin-top: 4px; font-size: 10px; line-height: 1.3; color: #65785c; }
.map-option input:checked + .map-option-card { background: #e1e9d5; border-color: #657e5c; box-shadow: inset 0 0 0 1px #657e5c; color: #244d42; }
.map-option input:focus-visible + .map-option-card { outline: 3px solid #244d42; outline-offset: 3px; }
.map-picker p { margin: 6px 0 0; color: #667466; font-size: 10px; line-height: 1.45; }
@media (max-width: 850px), (max-height: 520px) {
  .map-picker { margin-top: 9px; }
  .map-picker legend { font-size: 10px; margin-bottom: 5px; }
  .map-option-card { min-height: 44px; padding: 6px 8px; }
  .map-option-name { font-size: 12px; }
  .map-option-badge { font-size: 9px; margin-top: 3px; }
  .map-picker p { font-size: 9px; margin-top: 4px; }
}
