Kam na naše pivo
Zobrazit seznam podniků
klikni v pruhu níže vlevo 2x na tuto ikonu
.map-wrap{ position: relative; /* výška = viewport − prostor nad mapou */ height: calc(100svh - var(--gm-offset, 0px)); min-height: 420px; /* bezpečné minimum */ } .map-wrap iframe{ width: 100%; height: 100%; border: 0; pointer-events: none; /* zamčeno: nepropouštěj události do mapy */ } .map-guard{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:transparent; border:0; cursor:pointer; font:inherit; } .map-guard::after{ content:"Klikněte, chcete-li mapu ovládat"; padding:.6rem .9rem; border-radius:.6rem; background:rgba(0,0,0,.6); color:#fff; } .map-wrap.active iframe{ pointer-events:auto; } /* odemčeno */ .map-wrap.active .map-guard{ display:none; } (function(){ const wrap = document.getElementById('gm-wrap'); const guard = wrap.querySelector('.map-guard'); function setMapHeight() { // kolik px je od horní hrany viewportu k horní hraně mapy const topOffset = wrap.getBoundingClientRect().top; document.documentElement.style.setProperty('--gm-offset', topOffset + 'px'); } // nastav po načtení a při změně velikosti okna window.addEventListener('load', setMapHeight); window.addEventListener('resize', setMapHeight); // když se rozpadne layout (např. dočtené fonty/obrázky) new ResizeObserver(setMapHeight).observe(document.body); // zámek ovládání mapy guard.addEventListener('click', () => wrap.classList.add('active')); wrap.addEventListener('mouseleave', () => wrap.classList.remove('active')); })();