html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #050507; color: #fff; } #map { position: absolute; inset: 0; } .topbar { position: absolute; top: 16px; left: 16px; right: 16px; z-index: 10; display: flex; gap: 10px; padding: 12px; border-radius: 18px; background: rgba(14,14,18,0.82); border: 1px solid rgba(255,255,255,0.08); backdrop-filter: blur(12px); } .search { flex: 1; height: 44px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.05); color: #fff; padding: 0 12px; outline: none; } .search::placeholder { color: #999; } .panel { position: absolute; top: 88px; right: 16px; width: 360px; max-height: calc(100vh - 104px); overflow: auto; z-index: 10; padding: 16px; border-radius: 20px; background: rgba(14,14,18,0.84); border: 1px solid rgba(255,255,255,0.08); backdrop-filter: blur(14px); display: none; } .panel.active { display: block; } .hero { width: 100%; height: 200px; object-fit: cover; border-radius: 14px; display: block; margin-bottom: 12px; background: #222; } .title { margin: 0 0 8px 0; font-size: 22px; line-height: 1.4; } .meta { color: #bbb; font-size: 13px; line-height: 1.7; } .desc { margin-top: 10px; color: #ccc; font-size: 14px; line-height: 1.8; } .chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; } .chip { font-size: 12px; padding: 6px 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.10); background: rgba(255,255,255,0.05); color: #ddd; } .actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; } .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.10); background: rgba(255,255,255,0.06); color: #fff; text-decoration: none; cursor: pointer; font-weight: 700; } .btn.primary { background: #fff; color: #111; } .brand { position: absolute; left: 16px; bottom: 16px; z-index: 10; padding: 10px 14px; border-radius: 999px; background: rgba(14,14,18,0.82); border: 1px solid rgba(255,255,255,0.08); backdrop-filter: blur(12px); font-weight: 700; font-size: 13px; letter-spacing: 0.03em; } .marker { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid #111; box-shadow: 0 0 0 4px rgba(255,255,255,0.18); cursor: pointer; } .marker.active { background: #ff4da6; box-shadow: 0 0 0 8px rgba(255,77,166,0.22); } @media (max-width: 820px) { .panel { top: auto; left: 12px; right: 12px; bottom: 12px; width: auto; max-height: 54vh; } .topbar { left: 12px; right: 12px; top: 12px; } .brand { left: 12px; bottom: 12px; } }
Instagrammable Map