.location-switch { display:grid; grid-template-columns:1fr 1fr; padding:4px; background:#e5ebf3; border-radius:13px; margin:0 0 14px; }
.location-switch button { min-height:40px; border:0; background:transparent; border-radius:10px; font-size:13px; color:#53657d; }
.location-switch button[aria-pressed=true] { background:white; color:#165bcd; box-shadow:0 2px 5px #213b6310; }
.location-categories { display:flex; gap:7px; overflow:auto; padding:2px 2px 9px; margin-bottom:8px; scrollbar-width:thin; }
.location-categories button { white-space:nowrap; min-height:40px; border:1px solid #dce4ef; background:white; color:#4a5f79; border-radius:12px; padding:7px 12px; font-size:12px; }
.location-categories button[aria-pressed=true] { border-color:#1764db; background:#e4edff; color:#175bc4; }
.location-country { margin-bottom:14px; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; font-size:12px; }
.location-country select { width:70%; min-height:44px; padding:10px 12px; font-size:12px; }
.object-card { background:white; border-radius:22px; padding:18px; margin-bottom:12px; }
.object-brand { height:54px; display:flex; align-items:center; margin-bottom:13px; }
.object-brand img { width:auto; height:auto; max-width:100%; max-height:48px; object-fit:contain; }
.object-card h3 { font-size:19px; letter-spacing:-.4px; margin:7px 0; line-height:1.25; }
.object-type { font-size:10px; font-weight:650; color:#426386; background:#eef3fa; border-radius:6px; padding:4px 7px; }
.object-card p { font-size:12px; line-height:1.5; margin:0 0 6px; }
.object-card small { font-size:11px; line-height:1.45; color:#60728a; display:block; }
.object-actions { margin-top:15px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.object-actions .secondary { flex:1; min-height:44px; font-size:12px; margin:0; padding:10px; }
.object-map-link { min-height:44px; background:none; border:0; color:#1764db; padding:8px; font-size:12px; }
.object-empty { padding:20px; background:white; border-radius:20px; }
.object-empty h3 { font-size:17px; margin-bottom:8px; }
.object-empty p { font-size:12px; margin-bottom:12px; }
.location-count { font-size:11px; margin:12px 0; color:#60718a; }
.location-map-panel { background:white; border-radius:18px; padding:5px; }
#location-map { height:260px; width:100%; border-radius:14px; isolation:isolate; z-index:0; background:#e8f0f7; }
.location-map-actions { display:flex; gap:4px; justify-content:space-between; padding:6px 2px 0; }
.location-map-actions button { min-height:44px; border:0; border-radius:8px; color:#175bc4; background:#eef4fe; padding:7px 9px; font-size:11px; }
#location-map-status { font-size:10px; margin:8px; color:#60718a; }
#location-map .catalog-pin,#location-map .catalog-cluster { display:grid; place-items:center; background:transparent; border:0; border-radius:50%; }
#location-map .catalog-marker { display:grid; place-items:center; width:var(--marker-size); height:var(--marker-size); overflow:hidden; border:1px solid #aebed0; background:white; border-radius:7px; box-shadow:0 1px 4px #193d6628; }
#location-map .catalog-cluster .catalog-marker { background:#235dad; color:white; border:2px solid white; border-radius:50%; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
#location-map .catalog-pin img { display:block; width:100%; height:100%; min-width:0; max-width:100%; max-height:100%; padding:2px; object-fit:contain; }
#location-map .catalog-dot .catalog-marker { border-radius:50%; background:#235dad; border:2px solid white; }
#location-map .catalog-pin:hover .catalog-marker { border-color:#235dad; box-shadow:0 1px 5px #193d6650; }
#location-map .catalog-pin:focus-visible,#location-map .catalog-cluster:focus-visible { outline:2px solid #235dad; outline-offset:0; }
img.brand-dark { background:#294660; border-radius:8px; padding:8px; box-sizing:border-box; }
#location-map .catalog-pin img.brand-dark { padding:2px; border-radius:5px; }
.overview-brand { display:grid; place-items:center; min-height:140px; background:white; border-radius:20px; margin:12px 0 20px; padding:20px; }
.overview-brand img { max-width:100%; object-fit:contain; }
.official-object-link { display:flex; align-items:center; justify-content:center; min-height:44px; color:#175bc4; margin-top:12px; }
.leaflet-container { font-family:inherit; }
.leaflet-control-zoom a { min-width:36px; min-height:36px; line-height:36px; }
.leaflet-control-attribution { font-size:9px; }
.object-map-link:focus-visible,.location-switch button:focus-visible,.location-categories button:focus-visible { outline:3px solid #1764db; outline-offset:2px; }
