/* Shared public Google map surface; administrator Leaflet styles belong to .lsl. */
:is(#coach-register, .sport-menu-preview) .lm-map {display:block;position:relative;isolation:isolate;z-index:0;width:100%;height:auto;aspect-ratio:5 / 3;min-height:320px;max-width:100%;background:#f1f1f1;border:0;border-radius:18px;color:#203b4d;font-family:inherit;font-size:13px;line-height:1.5;}
:is(#coach-register, .sport-menu-preview) .lm-map[hidden] {display:none;}
:is(#coach-register, .sport-menu-preview) .lm-map :is(a,button,[tabindex]):focus-visible {outline:3px solid #0878bd;outline-offset:2px;}
:is(#coach-register, .sport-menu-preview) .lm-map .lm-popup-list {display:grid;gap:4px;}
:is(#coach-register, .sport-menu-preview) .lm-map .lm-popup-list button {display:block;width:100%;min-height:42px;padding:9px 10px;margin:0;border:1px solid #d9e5ed;border-radius:9px;background:#f7fbfd;color:#193d57;text-align:left;font:inherit;font-size:13px;font-weight:600;box-shadow:none;cursor:pointer;}
:is(#coach-register, .sport-menu-preview) .lm-map .lm-popup-list button:hover {background:#e9f4fb;}
.sport-menu-preview .sk-finder .sk-map-surface.has-live-map {display:block;padding:14px;aspect-ratio:auto;}
.sport-menu-preview .sk-finder .sk-map-surface.has-live-map > :is(img,.sk-map-pins,#sk-map-popup) {display:none;}
.sport-menu-preview .sk-finder[data-view="list"] .sk-map-surface {display:none;}
#coach-register .cr-map-layout {grid-template-columns:minmax(0,1fr);}
#coach-register .cr-region-list {grid-template-columns:repeat(3,minmax(0,1fr));}
:is(#coach-register, .sport-menu-preview) .lm-map-status {font-size:12px;line-height:1.6;color:#526b7a;margin:10px 0 0;}
@media(max-width:760px) {#coach-register .cr-region-list {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px) {
  :is(#coach-register, .sport-menu-preview) .lm-map {height:320px;aspect-ratio:auto;border-radius:12px;}
  .sport-menu-preview .sk-finder .sk-map-surface.has-live-map {padding:8px;}
}
@media print {
  :is(#coach-register, .sport-menu-preview) .lm-map {display:none!important;}
  .sport-menu-preview .sk-finder #sk-map-results {display:block!important;max-height:none;}
}
/* Match the production Google map popup; no global Google Maps overrides. */
:is(#coach-register, .sport-menu-preview) .lm-map[data-basemap="google"] {overflow:hidden;}
:is(#coach-register, .sport-menu-preview) .lm-map[data-basemap="google"] img {max-width:none!important;}
:is(#coach-register, .sport-menu-preview) .lm-map .lm-popup {font-family:inherit;color:#193d57;}
:is(#coach-register, .sport-menu-preview) .lm-map .lm-popup h3 {margin:0 0 8px;font-size:18px;font-weight:800;color:#193d57;}
:is(#coach-register, .sport-menu-preview) .lm-map .lm-popup p {margin:0 0 14px;font-size:13px;line-height:1.6;color:#193d57;}
:is(#coach-register, .sport-menu-preview) .lm-map .lm-popup-list {max-height:230px;overflow:auto;overscroll-behavior:contain;padding:0 4px 4px;scrollbar-width:thin;}
:is(#coach-register, .sport-menu-preview) .lm-map .lm-popup-zoom {width:100%;margin:10px 0 0;padding:10px 12px;border:1px solid #cbdce6;border-radius:10px;background:#fff;color:#0079c2;font:inherit;font-weight:700;cursor:pointer;}

/* Keep native Google controls independent of page-wide button sizes and image
   display rules. Otherwise all four icon states overlap and appear disabled. */
:is(#coach-register, .sport-menu-preview) .lm-map button.gm-control-active {
  min-width:0;min-height:0;border-radius:0;box-shadow:none;
}
:is(#coach-register, .sport-menu-preview) .lm-map button.gm-control-active:focus-visible {
  outline:2px solid #0878bd;outline-offset:-3px;
}
:is(#coach-register, .sport-menu-preview) .lm-map .gm-control-active > img {display:none;}
:is(#coach-register, .sport-menu-preview) .lm-map .gm-control-active > img:first-child {display:block;}
:is(#coach-register, .sport-menu-preview) .lm-map .gm-control-active:is(:hover,:active,:disabled) > img {display:none;}
:is(#coach-register, .sport-menu-preview) .lm-map .gm-control-active:hover > img:nth-child(2),
:is(#coach-register, .sport-menu-preview) .lm-map .gm-control-active:active > img:nth-child(3),
:is(#coach-register, .sport-menu-preview) .lm-map .gm-control-active:disabled > img:nth-child(4) {display:block;}
/* Active and disabled states take precedence over hover. */
:is(#coach-register, .sport-menu-preview) .lm-map .gm-control-active:active > img:nth-child(2),
:is(#coach-register, .sport-menu-preview) .lm-map .gm-control-active:disabled > img:not(:nth-child(4)) {display:none;}
