#homeMap, #admin-clubs-map, .admin-real-map{
  width:100%!important;
  min-height:650px!important;
  height:68vh!important;
  max-height:820px!important;
  display:block!important;
  position:relative!important;
  background:#07111f!important;
  border-radius:24px;
  overflow:hidden;
}
#admin-clubs-map, .admin-real-map{min-height:560px!important;height:62vh!important;}
.map-picker, #clubLocationMap{width:100%!important;height:520px!important;min-height:520px!important;display:block!important;position:relative!important;background:#07111f!important;border-radius:20px;overflow:hidden;}
.ol-viewport{background:#07111f!important;}
#homeMap .ol-layer canvas, #admin-clubs-map .ol-layer canvas{filter:brightness(.48) saturate(.72) contrast(1.12) hue-rotate(178deg);}
.map-picker .ol-layer canvas, #clubLocationMap .ol-layer canvas{filter:none;}
.ol-zoom{top:auto!important;left:auto!important;right:18px!important;bottom:92px!important;display:flex;flex-direction:column;gap:8px;}
.ol-zoom button{width:42px!important;height:42px!important;background:#07111f!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:12px!important;font-weight:900!important;font-size:22px!important;}
.ol-rm-popup{display:none;position:absolute;z-index:9999;background:#0d1426;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:13px 14px;min-width:210px;box-shadow:0 18px 50px rgba(0,0,0,.42);pointer-events:auto;transform:translate(-50%,-100%);}
.ol-rm-popup:after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;background:#0d1426;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);transform:translateX(-50%) rotate(45deg);}
.ol-rm-popup strong{display:block;font-size:15px;font-weight:900;margin-bottom:4px;}
.ol-rm-popup span,.ol-rm-popup small{display:block;color:#aab5cc;margin-bottom:3px;}
.ol-rm-popup div{display:flex;justify-content:space-between;gap:12px;margin:9px 0;color:#FC4E2D;}
.ol-rm-popup a{display:block;text-align:center;background:#FC4E2D;color:#07111f!important;text-decoration:none;font-weight:900;border-radius:12px;padding:9px 10px;margin-top:8px;}
@media(max-width:768px){#homeMap,#admin-clubs-map,.admin-real-map{min-height:520px!important;height:62vh!important}.map-picker,#clubLocationMap{height:430px!important;min-height:430px!important}.ol-zoom{bottom:76px!important}}

/* v12 robust OpenStreetMap geocoder/autocomplete */
.map-picker-toolbar{position:relative;}
.osm-suggestions{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  z-index:9999;
  background:#0b1220;
  border:1px solid rgba(252,78,45,.35);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  max-height:320px;
  overflow-y:auto;
}
.osm-suggestions button{
  width:100%;
  display:block;
  text-align:left;
  background:transparent;
  color:#fff;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:14px 16px;
  cursor:pointer;
}
.osm-suggestions button:hover{background:rgba(252,78,45,.10);}
.osm-suggestions strong{display:block;font-weight:800;margin-bottom:3px;}
.osm-suggestions span{display:block;color:#b8c7e6;font-size:13px;line-height:1.35;}


/* v13 detalle de clase: mapa real OpenLayers */
#classDetailMap{
  width:100%!important;
  height:360px!important;
  min-height:360px!important;
  display:block!important;
  position:relative!important;
  background:#07111f!important;
  border-radius:22px;
  overflow:hidden;
}
#classDetailMap .ol-layer canvas{filter:brightness(.72) saturate(.85) contrast(1.05);}
.class-location-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;}
.class-location-actions .btn{border-radius:16px;font-weight:900;}
@media(max-width:768px){#classDetailMap{height:320px!important;min-height:320px!important}.class-location-actions{display:grid;grid-template-columns:1fr;}}

/* v16 dashboard admin real map */
.dashboard-real-map{
  height:560px!important;
  min-height:560px!important;
  width:100%!important;
  display:block!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#07111f!important;
}
@media(max-width:768px){.dashboard-real-map{height:460px!important;min-height:460px!important;}}
