.photo-map-page{position:relative;width:100%;padding:12px max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;overflow:hidden}.photo-map-toolbar{display:flex;align-items:center;gap:16px;min-height:52px}.photo-map-toolbar h1{font-size:1.35rem;margin:0;white-space:nowrap}.map-place-search{position:relative;width:min(360px,45vw)}.map-place-search input{width:100%;padding:10px;border:1px solid #aaa;border-radius:9px}.map-place-results{position:absolute;z-index:1100;top:100%;width:100%;background:var(--bg,#fff);box-shadow:0 5px 18px #0003;border-radius:8px}.map-place-results button{display:block;width:100%;padding:9px;text-align:left;border:0;background:none}.map-place-results button:hover{background:#8882}#map-status{font-size:.85rem;margin-left:auto}/* Высота карты считается от окна за вычетом шапки сайта и панели карты:   иначе низ карты — а вместе с ним и карточка фотографии — уезжает под   край экрана, и до кнопки «Открыть публикацию» приходится прокручивать */#photo-map{position:relative;overflow:hidden;height:calc(100dvh - 190px);min-height:420px;border-radius:12px;background:#dce5d3}.map-card{position:absolute;z-index:1000;left:26px;bottom:28px;width:280px;max-height:calc(100% - 56px);background:var(--bg,#fff);border-radius:12px;box-shadow:0 7px 24px #0005;overflow:hidden auto}.map-card img{display:block;width:100%;height:145px;object-fit:cover}.map-card__body{padding:11px}.map-card__close{position:absolute;right:6px;top:6px;z-index:2;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#222;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 1px 4px #0004}.map-card a{color:inherit;text-decoration:none}.map-card small{display:block;opacity:.7;margin-top:4px}.map-card__heading{padding:11px 34px 0 11px;font-size:.9rem;font-weight:600}.map-card__title{display:block;font-weight:600}.map-card__place a:hover{text-decoration:underline}/* «Открыть публикацию» — обязательная явная цель нажатия: на телефоне   hover недоступен, и переход должен быть виден как кнопка */.map-card__open{display:inline-block;margin-top:8px;padding:7px 11px;border-radius:8px;background:#2f6f3e;color:#fff;font-size:.85rem}.map-card__open:hover{background:#255a32}/* Кластер, раскрытый списком: несколько карточек одна под другой */.map-card__list{display:flex;flex-direction:column;gap:2px}.map-card__list .map-card__item{display:flex;gap:9px;align-items:flex-start;padding:8px 11px}.map-card__list .map-card__preview{flex:0 0 72px}.map-card__list img{width:72px;height:56px;border-radius:7px}.map-card__list .map-card__body{padding:0;min-width:0}.map-card__list .map-card__title,.map-card__list .map-card__place{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-card__list .map-card__open{margin-top:4px;padding:0;background:none;color:#2f6f3e}.map-card__list .map-card__open:hover{background:none;text-decoration:underline}@media(max-width:600px){.photo-map-toolbar{flex-wrap:wrap;gap:7px}.photo-map-toolbar h1{font-size:1.05rem}.map-place-search{width:100%;order:3}#photo-map{height:calc(100dvh - 190px);min-height:390px;border-radius:8px}/* Нижняя карточка встаёт над таб-баром сайта, а не под ним и не поверх   него: и публикация открывается в одно касание, и навигация остаётся   доступной. Высота таб-бара — общая переменная проекта. */.map-card{position:fixed;z-index:70;left:0;right:0;bottom:calc(var(--mobile-nav-height, 58px) + env(safe-area-inset-bottom));width:auto;max-height:52vh;border-radius:16px 16px 0 0;overflow:hidden auto;box-shadow:0 -4px 18px #0004}.map-card[hidden]{display:none}.map-card__item{display:flex;gap:10px;align-items:flex-start;padding:10px 11px}.map-card__item .map-card__preview{flex:0 0 112px}.map-card img{width:112px;height:96px;border-radius:8px}.map-card__body{min-width:0;padding:0}.map-card__title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 150px)}.map-card__place{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 150px)}.map-card__open{margin-top:6px;padding:9px 13px}.map-card__list .map-card__preview{flex:0 0 92px}.map-card__list img{width:92px;height:72px}}

/* Маркеры рисуются своими элементами: у Яндекс JS API v3 картинки по умолчанию нет */
.photo-map__pin{width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:3px solid #fff;background:#d4321e;box-shadow:0 2px 6px #0007;cursor:pointer}
.photo-map__cluster{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;margin:-17px 0 0 -17px;padding:0 6px;border-radius:999px;border:3px solid #fff;background:#2f6f3e;color:#fff;font-size:13px;font-weight:600;box-shadow:0 2px 8px #0007;cursor:pointer}
