/* Карта лагерей: контейнер, метки и подсказки. */

.isco-leaflet {
	block-size: var(--isco-map-h, 420px);
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--isco-border-default);
	background: var(--isco-bg-subtle);
	z-index: 0; /* Иначе тайлы лезут поверх плавающих кнопок. */
}

.isco-leaflet__fallback {
	margin: 0;
	padding: 24px;
	font-size: 15px;
	color: var(--isco-text-secondary);
}

/* Подпись карты — компактная, её svg (флажок) не наследует размеры из стилей страницы. */
.isco-leaflet .leaflet-control-attribution svg {
	inline-size: 12px !important;
	block-size: 8px !important;
}

/* Метка: капля в фирменном зелёном, число — сколько лагерей в точке. */
.isco-pin-marker {
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 34px;
	block-size: 34px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	background: var(--isco-action-secondary);
	border: 2px solid #fff;
	box-shadow: 0 2px 6px rgba(16, 34, 26, 0.4);
	color: #fff;
	font: 600 13px/1 Rubik, sans-serif;
}

.isco-pin-marker b {
	/* Капля повёрнута на −45°, число — обратно, чтобы стояло ровно. */
	display: block;
	transform: rotate(45deg);
	font-weight: 600;
}

.isco-pin-wrap:hover .isco-pin-marker {
	background: var(--isco-action-secondary-hover);
}

.leaflet-container {
	font-family: Rubik, sans-serif;
	background: var(--isco-bg-subtle);
}

.leaflet-popup-content-wrapper {
	border-radius: var(--isco-radius-md);
	background: var(--isco-bg-surface);
	color: var(--isco-text-primary);
}

.leaflet-popup-tip {
	background: var(--isco-bg-surface);
}

.isco-pin-popup {
	direction: rtl;
	text-align: right;
	min-inline-size: 180px;
}

.isco-pin-popup strong {
	display: block;
	font-size: 15px;
	color: var(--isco-text-primary);
}

.isco-pin-popup > span {
	display: block;
	margin-block-end: 8px;
	font-size: 12px;
	color: var(--isco-text-secondary);
}

.isco-pin-popup ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 6px;
	max-block-size: 160px;
	overflow-y: auto;
}

.isco-pin-popup a {
	color: var(--isco-text-brand);
	font-size: 14px;
	line-height: 1.35;
	text-decoration: none;
}

.isco-pin-popup a:hover {
	text-decoration: underline;
}

/* Лагерь, у которого все смены закончились: ссылка остаётся, рядом — пометка. */
.isco-pin-popup li.is-ended a {
	color: var(--isco-text-secondary);
}

.isco-pin-popup li small {
	display: block;
	font-size: 12px;
	color: var(--isco-text-secondary);
}

.isco-pin-popup__all {
	display: block;
	margin-block-start: 10px;
	padding-block-start: 8px;
	border-block-start: 1px solid var(--isco-border-default);
	font-weight: 600;
}

/* Все лагеря точки закончились — метка приглушена. */
.isco-pin-wrap.is-ended .isco-pin-marker {
	background: var(--isco-text-secondary);
	opacity: 0.75;
}

/* Тёмная тема: подложку приглушаем, иначе светлая карта режет глаз.
   Фильтр — на каждую плитку, не на весь слой: мобильный Chrome применяет фильтр
   к большому слою частично, и половина карты оставалась светлой. */
[data-theme="dark"] .leaflet-tile {
	filter: brightness(0.82) saturate(0.85);
}

@media (max-width: 767px) {
	.isco-leaflet {
		block-size: 320px;
	}
}
