/**
 * Rhodos map styles.
 * Logical properties throughout — Hebrew is on the roadmap and RTL support is the one
 * genuinely new build item, so physical left/right must not accumulate here.
 *
 * Author: Tobalt — https://tobalt.lt
 */

.rhodos-map-wrap {
	margin-block: 1.5rem;
}

.rhodos-map {
	inline-size: 100%;
	min-block-size: 320px;
	border-radius: 6px;
	z-index: 0; /* keep Leaflet panes under sticky headers */
}

.rhodos-map-status,
.rhodos-map-attribution {
	margin-block-start: 0.5rem;
	font-size: 0.85rem;
	line-height: 1.4;
	opacity: 0.75;
}

.rhodos-map-attribution {
	font-size: 0.75rem;
}

.rhodos-map .leaflet-popup-content a {
	font-weight: 600;
	text-decoration: none;
}

.rhodos-map .leaflet-popup-content a:hover,
.rhodos-map .leaflet-popup-content a:focus-visible {
	text-decoration: underline;
}

/* Visible focus for keyboard users — Leaflet markers are focusable. */
.rhodos-map .leaflet-marker-icon:focus-visible,
.rhodos-map .leaflet-control a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.rhodos-map .leaflet-zoom-animated {
		transition: none !important;
	}
}

/* ---- place templates ---- */
.rhodos-single,
.rhodos-archive {
	max-inline-size: 60rem;
	margin-inline: auto;
	padding-inline: 1rem;
	padding-block: 2rem;
}

.rhodos-place__native {
	font-size: 1.1rem;
	opacity: 0.7;
	margin-block: 0.25rem 0.5rem;
}

.rhodos-place__type a,
.rhodos-list__type {
	display: inline-block;
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	border: 1px solid currentColor;
	font-size: 0.8rem;
	text-decoration: none;
}

.rhodos-place__facts {
	display: grid;
	grid-template-columns: minmax(6rem, auto) 1fr;
	gap: 0.4rem 1rem;
	margin-block: 1.5rem;
}

.rhodos-place__facts dt { font-weight: 600; }
.rhodos-place__facts dd { margin-inline-start: 0; }

.rhodos-place__gap,
.rhodos-place__attribution,
.rhodos-archive__attribution {
	font-size: 0.85rem;
	opacity: 0.7;
	margin-block-start: 1.5rem;
}

.rhodos-archive__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-block: 1rem;
}

.rhodos-chip {
	padding: 0.3rem 0.7rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.85rem;
}

.rhodos-chip.is-active { font-weight: 700; }
.rhodos-chip__n { opacity: 0.6; margin-inline-start: 0.3rem; }

.rhodos-list {
	list-style: none;
	padding-inline-start: 0;
	display: grid;
	gap: 0.6rem;
}

.rhodos-list__item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem;
	padding-block-end: 0.5rem;
	border-block-end: 1px solid rgba(128, 128, 128, 0.25);
}

.rhodos-list__link { font-weight: 600; }
.rhodos-list__native { opacity: 0.65; font-size: 0.9rem; }

.rhodos-pagination {
	margin-block-start: 1.5rem;
	display: flex;
	gap: 0.4rem;
	flex-wrap: wrap;
}
