/* Rozvoz – cenník zón a mapa */
.ktr {
	--ktr-head: "Abril Fatface", Georgia, "Times New Roman", serif;
	--ktr-body: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ktr-ink: #1b1b1b;
	--ktr-muted: #5d5d5d;
	--ktr-line: rgba(0, 0, 0, .1);
	--ktr-gold: #c8951a;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	font-family: var(--ktr-body);
	color: var(--ktr-ink);
	text-align: left;
	line-height: 1.4;
}
.ktr-box { width: 100%; }
.ktr *, .ktr *::before, .ktr *::after { box-sizing: border-box; }
.ktr--nomap { grid-template-columns: minmax(0, 1fr); max-width: 720px; }

.ktr .ktr__title {
	font-family: var(--ktr-head);
	font-weight: 400;
	font-size: clamp(2rem, 4.2vw, 3.2rem);
	line-height: 1.05;
	text-transform: uppercase;
	margin: 0 0 .35em;
	color: inherit;
}
.ktr__intro { margin: 0 0 1.6em; font-size: 1.05rem; color: var(--ktr-muted); }

.ktr .ktr__zones { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ktr-zone {
	position: relative;
	display: grid;
	grid-template-columns: 14px minmax(0, 1fr) auto;
	column-gap: 16px;
	align-items: center;
	margin: 0;
	padding: 16px 18px 16px 16px;
	background: #fff;
	border: 1px solid var(--ktr-line);
	border-left: 5px solid var(--ktr-c);
	border-radius: 6px;
	cursor: pointer;
	transition: box-shadow .15s ease, transform .15s ease, background-color .15s ease;
}
.ktr-zone:hover, .ktr-zone:focus-visible, .ktr-zone.is-active {
	box-shadow: 0 6px 22px rgba(0, 0, 0, .09);
	background: color-mix(in srgb, var(--ktr-c) 7%, #fff);
	outline: none;
}
.ktr-zone__dot {
	width: 14px; height: 14px; border-radius: 50%;
	background: var(--ktr-c);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ktr-c) 22%, transparent);
}
.ktr-zone__areas { font-weight: 600; font-size: 1.02rem; line-height: 1.35; }
.ktr-zone__note { font-size: .88rem; color: var(--ktr-muted); margin-top: .3em; }
.ktr-zone__price {
	font-weight: 800; font-size: 1.2rem; white-space: nowrap; text-align: right;
	color: var(--ktr-c);
}

.ktr__phone {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: .2em .6em;
	margin: 1.6em 0 0; padding-top: 1.2em; border-top: 1px solid var(--ktr-line);
	font-size: .95rem; color: var(--ktr-muted);
}
.ktr .ktr__phone a {
	font-weight: 800; font-size: 1.35rem; color: var(--ktr-ink); text-decoration: none; white-space: nowrap;
}
.ktr .ktr__phone a:hover { color: var(--ktr-gold); }

/* Mapa */
.ktr__mapwrap { position: sticky; top: 24px; }
.ktr__map {
	width: 100%;
	height: clamp(380px, 62vh, 600px);
	border-radius: 8px;
	overflow: hidden;
	background: #eef0ee;
	border: 1px solid var(--ktr-line);
	z-index: 0;
	font-family: var(--ktr-body);
}
.ktr__map .leaflet-tile-pane { filter: grayscale(1) brightness(1.06) contrast(.92); }
.ktr__hint { font-size: .82rem; color: var(--ktr-muted); margin: .7em 0 0; }

.ktr__map .ktr-label {
	background: transparent; border: 0; box-shadow: none; padding: 0;
	font: 700 11px/1.1 var(--ktr-body); color: #1b1b1b; letter-spacing: .02em;
	text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
	white-space: nowrap;
}
.ktr__map .ktr-label::before { display: none; }
.ktr__map .ktr-label--minor { font-size: 10px; }
.ktr__map .ktr-label--sum {
	font-size: 11px; font-weight: 800; color: #fff; letter-spacing: .04em;
	background: #2f8f5b; padding: 3px 7px; border-radius: 99px; text-shadow: none;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
}
.ktr__map.ktr-zoom-low .ktr-label--minor { display: none; }
.ktr__map:not(.ktr-zoom-low) .ktr-label--sum { display: none; }

.ktr__map .leaflet-popup-content-wrapper { border-radius: 6px; }
.ktr__map .leaflet-popup-content { margin: 12px 16px; font: 13px/1.4 var(--ktr-body); color: #1b1b1b; }
.ktr-pop__name { font-weight: 700; font-size: 14px; }
.ktr-pop__price { font-weight: 800; font-size: 17px; margin-top: 2px; }
.ktr-pop__note { color: #5d5d5d; font-size: 12px; margin-top: 3px; }

.ktr-pin {
	width: 38px; height: 38px; border-radius: 50%;
	background: #1b1b1b; border: 3px solid var(--ktr-gold, #c8951a);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .35);
	display: grid; place-items: center;
}
.ktr-pin svg { width: 20px; height: 20px; fill: #c8951a; }

@media (max-width: 900px) {
	.ktr { grid-template-columns: minmax(0, 1fr); }
	.ktr__mapwrap { position: static; }
	.ktr__map { height: 420px; }
}
@media (max-width: 480px) {
	.ktr-zone { padding: 14px 14px 14px 12px; column-gap: 12px; }
	.ktr-zone__areas { font-size: .95rem; }
	.ktr-zone__price { font-size: 1.05rem; }
	.ktr__map { height: 360px; }
}
