.ol-map{width:100%;height:100%;min-height:200px}.ol-map canvas{display:block}.ol-map .ol-zoom{top:auto;bottom:2rem;right:.75rem;left:auto}.ol-map .ol-zoom .ol-zoom-in,.ol-map .ol-zoom .ol-zoom-out{width:2rem;height:2rem;font-size:1.125rem;background-color:white;color:#1f2937;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer}.ol-map .ol-zoom .ol-zoom-in:hover,.ol-map .ol-zoom .ol-zoom-out:hover{background-color:#f3f4f6}.ol-map .ol-attribution{font-size:.625rem}.gym-popup{position:absolute;background:white;border-radius:.5rem;box-shadow:0 4px 20px rgba(0,0,0,.15);padding:.875rem 1rem;min-width:200px;max-width:280px;pointer-events:auto;transform:translate(-50%,-100%);margin-top:-12px}.gym-popup:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.gym-popup-name{font-weight:600;font-size:.9375rem;color:#111827;margin-bottom:.25rem;line-height:1.3}.gym-popup-location{font-size:.8125rem;color:#6b7280;margin-bottom:.5rem}.gym-popup .inline-block{margin-bottom:.5rem}.gym-popup-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:500;color:#0080ff;text-decoration:none;transition:color .15s}.gym-popup-link:hover{color:#0066cc}