/* JBD sūtījuma izsekošana. Krāsas un fonti no busevics tēmas mainīgajiem, ar rezerves vērtībām vecajai tēmai. */
.jbd-trk {
	--tk-ink: var(--jb-ink, #111);
	--tk-paper: var(--jb-paper, #fff);
	--tk-line: var(--jb-line, #e6e4df);
	--tk-tint: var(--jb-tint, #f3f2ef);
	--tk-muted: #6b6a66;
	--tk-serif: var(--jb-serif, 'Cormorant Garamond', Georgia, 'Times New Roman', serif);
	--tk-sans: var(--jb-sans, 'Figtree', 'Helvetica Neue', Arial, sans-serif);
	--tk-track: var(--jb-track, 0.2em);
	box-sizing: border-box;
	padding: clamp(40px, 7vw, 96px) 16px;
	background: var(--tk-tint);
	font-family: var(--tk-sans);
	color: var(--tk-ink);
}
.jbd-trk *,
.jbd-trk *::before,
.jbd-trk *::after { box-sizing: border-box; }
.jbd-trk__wrap { max-width: 1160px; margin: 0 auto; }

.jbd-trk__card {
	background: var(--tk-paper);
	border: 1px solid var(--tk-line);
	padding: clamp(24px, 4.5vw, 52px);
}
.jbd-trk__card--narrow { max-width: 600px; margin: 0 auto; }

.jbd-trk__eyebrow {
	margin: 0 0 12px;
	font-size: 11px;
	letter-spacing: var(--tk-track);
	text-transform: uppercase;
	color: var(--tk-muted);
	word-break: break-all;
}
.jbd-trk__title {
	margin: 0 0 10px;
	font-family: var(--tk-serif);
	font-weight: 400;
	font-size: clamp(32px, 5vw, 46px);
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tk-ink);
}
.jbd-trk__sub { margin: 0; font-size: 15px; line-height: 1.5; }
.jbd-trk__lead { margin: 8px 0 26px; font-size: 15px; line-height: 1.6; }
.jbd-trk__notice {
	margin: 8px 0 24px;
	padding: 12px 16px;
	border-left: 2px solid var(--tk-ink);
	background: var(--tk-tint);
	font-size: 14px;
	line-height: 1.5;
}
.jbd-trk__notice.is-error { border-left-color: #a33a2b; color: #7a2a1f; }
.jbd-trk__fine { margin: 22px 0 0; font-size: 13px; line-height: 1.5; color: var(--tk-muted); }
.jbd-trk__fine a { color: inherit; }

/* Forma */
.jbd-trk__form { margin: 0; }
.jbd-trk__label {
	display: block;
	margin: 0 0 8px;
	font-size: 11px;
	letter-spacing: var(--tk-track);
	text-transform: uppercase;
}
.jbd-trk__row { display: flex; gap: 0; }
.jbd-trk__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 50px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--tk-line);
	border-right: 0;
	border-radius: 0;
	background: var(--tk-paper);
	font: 15px var(--tk-sans);
	letter-spacing: 0.04em;
	color: var(--tk-ink);
}
.jbd-trk__input:focus { outline: 1px solid var(--tk-ink); outline-offset: -1px; border-color: var(--tk-ink); }
.jbd-trk__btn {
	flex: 0 0 auto;
	height: 50px;
	padding: 0 28px;
	border: 1px solid var(--tk-ink);
	border-radius: 0;
	background: var(--tk-ink);
	color: var(--tk-paper);
	font: 500 11px var(--tk-sans);
	letter-spacing: var(--tk-track);
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity 0.15s ease;
}
.jbd-trk__btn:hover { opacity: 0.85; }
.jbd-trk__btn:focus-visible { outline: 2px solid var(--tk-ink); outline-offset: 3px; }

/* Gaita */
.jbd-trk__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 34px 0 30px;
	padding: 0;
	list-style: none;
	counter-reset: none;
}
.jbd-trk__step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.3;
	color: var(--tk-muted);
}
.jbd-trk__step::before {
	content: '';
	position: absolute;
	top: 6px;
	left: 14px;
	right: 0;
	height: 1px;
	background: var(--tk-line);
}
.jbd-trk__step:last-child::before { display: none; }
.jbd-trk__step.is-done::before { background: var(--tk-ink); }
.jbd-trk__dot {
	position: relative;
	z-index: 1;
	width: 13px;
	height: 13px;
	border: 1px solid var(--tk-line);
	border-radius: 50%;
	background: var(--tk-paper);
}
.jbd-trk__step.is-done .jbd-trk__dot { border-color: var(--tk-ink); background: var(--tk-ink); }
.jbd-trk__step.is-current .jbd-trk__dot { border-color: var(--tk-ink); background: var(--tk-ink); box-shadow: 0 0 0 4px var(--tk-tint); }
.jbd-trk__step.is-done,
.jbd-trk__step.is-current { color: var(--tk-ink); }
.jbd-trk__step.is-current .jbd-trk__step-label { font-weight: 600; }
.jbd-trk__step-label { display: block; max-width: 100%; padding-right: 8px; overflow-wrap: anywhere; }

/* Karte + fakti */
.jbd-trk__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 28px;
	margin: 0 0 36px;
}
.jbd-trk__grid.no-map { grid-template-columns: 1fr; }
.jbd-trk__map {
	height: clamp(360px, 42vw, 500px);
	border: 1px solid var(--tk-line);
	background: var(--tk-tint);
}
.jbd-trk__map .leaflet-tile-pane { filter: grayscale(1) contrast(0.95) brightness(1.04); }
.jbd-trk-pin span {
	display: block;
	width: 16px;
	height: 16px;
	margin: 4px;
	border: 2px solid #111;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
	opacity: 0.6;
}
.jbd-trk-pin.is-reached span { opacity: 1; background: #111; }
.jbd-trk-pin--hub span { border-radius: 3px; }
.jbd-trk-pin.is-now span { width: 24px; height: 24px; margin: 0; opacity: 1; background: #111; box-shadow: 0 0 0 4px #fff, 0 1px 6px rgba(0, 0, 0, 0.35); animation: jbd-trk-pulse 1.8s ease-out infinite; }
.jbd-trk-line-live { animation: jbd-trk-dash 1.2s linear infinite; }
@keyframes jbd-trk-dash { to { stroke-dashoffset: -22; } }
.leaflet-tooltip.jbd-trk-tip { border: 1px solid #111; border-radius: 0; box-shadow: none; font: 12px/1.4 var(--tk-sans, Arial, sans-serif); color: #111; padding: 6px 9px; }
.jbd-trk__now { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 15px; font-weight: 600; }
.jbd-trk__now-dot { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; background: var(--tk-ink); animation: jbd-trk-pulse 1.8s ease-out infinite; }
.jbd-trk__legend { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 18px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 12px; line-height: 1.45; color: var(--tk-muted); }
.jbd-trk__legend li { display: flex; gap: 9px; align-items: flex-start; margin: 0; }
.jbd-trk__legend strong { font-weight: 500; color: var(--tk-muted); }
.jbd-trk__legend li.is-reached strong,
.jbd-trk__legend li.is-now strong { color: var(--tk-ink); }
.jbd-trk__legend li.is-now strong { font-weight: 700; }
.jbd-trk__legend-pin { flex: 0 0 auto; width: 10px; height: 10px; margin-top: 3px; border: 1.5px solid var(--tk-ink); border-radius: 50%; }
.jbd-trk__legend li.is-hub .jbd-trk__legend-pin { border-radius: 2px; }
.jbd-trk__legend li.is-reached .jbd-trk__legend-pin { background: var(--tk-ink); }
.jbd-trk__addr,
.jbd-trk__note { display: block; margin-top: 3px; font-size: 13px; color: var(--tk-muted); }
.jbd-trk__note { font-style: italic; }
.jbd-trk__dir { display: inline-block; margin-top: 6px; font-size: 13px; color: var(--tk-ink); text-decoration: underline; }
.jbd-trk__facts-place dd { max-width: 65%; }
@keyframes jbd-trk-pulse {
	0% { box-shadow: 0 0 0 0 rgba(17, 17, 17, 0.35); }
	100% { box-shadow: 0 0 0 14px rgba(17, 17, 17, 0); }
}

.jbd-trk__facts { margin: 0; padding: 0; }
.jbd-trk__facts > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 13px 0;
	border-bottom: 1px solid var(--tk-line);
}
.jbd-trk__facts > div:first-child { border-top: 1px solid var(--tk-line); }
.jbd-trk__facts dt {
	margin: 0;
	font-size: 11px;
	letter-spacing: var(--tk-track);
	text-transform: uppercase;
	color: var(--tk-muted);
	white-space: nowrap;
}
.jbd-trk__facts dd { margin: 0; font-size: 14px; text-align: right; }
.jbd-trk__facts > .jbd-trk__facts-link { justify-content: flex-start; border-bottom: 0; }
.jbd-trk__facts-link a { font-size: 13px; color: var(--tk-ink); text-decoration: underline; }

/* Vēsture */
.jbd-trk__h2 {
	margin: 0 0 18px;
	font-family: var(--tk-serif);
	font-weight: 400;
	font-size: 26px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tk-ink);
}
.jbd-trk__timeline { margin: 0 0 36px; padding: 0; list-style: none; }
.jbd-trk__event {
	position: relative;
	display: grid;
	grid-template-columns: 178px minmax(0, 1fr);
	column-gap: 28px;
	margin: 0;
	padding: 0 0 20px 0;
}
.jbd-trk__event::before {
	content: '';
	position: absolute;
	top: 6px;
	bottom: -6px;
	left: 191px;
	width: 1px;
	background: var(--tk-line);
}
.jbd-trk__event:last-child::before { display: none; }
.jbd-trk__event::after {
	content: '';
	position: absolute;
	top: 4px;
	left: 187px;
	width: 9px;
	height: 9px;
	border: 1px solid var(--tk-muted);
	border-radius: 50%;
	background: var(--tk-paper);
}
.jbd-trk__event.is-latest::after { border-color: var(--tk-ink); background: var(--tk-ink); }
.jbd-trk__event time { grid-row: span 2; font-size: 13px; color: var(--tk-muted); white-space: nowrap; }
.jbd-trk__event-text { grid-column: 2; margin: 0; font-size: 15px; line-height: 1.4; }
.jbd-trk__event.is-latest .jbd-trk__event-text { font-weight: 600; }
.jbd-trk__event-place { grid-column: 2; margin: 3px 0 0; font-size: 13px; color: var(--tk-muted); }

.jbd-trk__again { padding-top: 26px; border-top: 1px solid var(--tk-line); }
.jbd-trk__form.is-compact { max-width: 520px; }

@media (max-width: 760px) {
	.jbd-trk__grid { grid-template-columns: 1fr; }
	.jbd-trk__map { height: 260px; }
	.jbd-trk__steps { margin: 28px 0 24px; }
	.jbd-trk__step { font-size: 11px; line-height: 1.25; }
	.jbd-trk__now { font-size: 14px; }
	.jbd-trk__event { grid-template-columns: 1fr; padding-left: 26px; }
	.jbd-trk__event::before { left: 4px; }
	.jbd-trk__event::after { left: 0; }
	.jbd-trk__event time { grid-row: auto; }
	.jbd-trk__event-text,
	.jbd-trk__event-place { grid-column: 1; }
}
@media (max-width: 420px) {
	.jbd-trk__row { flex-direction: column; }
	.jbd-trk__input { border-right: 1px solid var(--tk-line); }
	.jbd-trk__btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.jbd-trk-pin.is-now span,
	.jbd-trk__now-dot,
	.jbd-trk-line-live { animation: none; }
}

/* Maršruts No -> Uz */
.jbd-trk__route { position: relative; margin: 0 0 22px; padding: 0; list-style: none; }
.jbd-trk__route li { position: relative; margin: 0; padding: 0 0 22px 28px; font-size: 14px; line-height: 1.45; }
.jbd-trk__route li:last-child { padding-bottom: 0; }
.jbd-trk__route li::before {
	content: '';
	position: absolute;
	top: 4px;
	left: 0;
	width: 11px;
	height: 11px;
	border: 1.5px solid var(--tk-ink);
	border-radius: 50%;
	background: var(--tk-ink);
}
.jbd-trk__route li.is-to::before { background: var(--tk-paper); }
.jbd-trk__route li.is-to.is-done::before { background: var(--tk-ink); }
.jbd-trk__route li.is-from::after {
	content: '';
	position: absolute;
	top: 19px;
	bottom: 2px;
	left: 6px;
	border-left: 1px dashed var(--tk-ink);
}
.jbd-trk__route-label {
	display: block;
	margin: 0 0 3px;
	font-size: 11px;
	letter-spacing: var(--tk-track);
	text-transform: uppercase;
	color: var(--tk-muted);
}
.jbd-trk__route strong { display: block; font-size: 15px; font-weight: 600; color: var(--tk-ink); }
.jbd-trk__route .jbd-trk__dir { margin-top: 8px; }

/* Karte visā platumā, zem tās vēsture un maršruts blakus */
.jbd-trk__map-wrap { margin: 0 0 44px; }
.jbd-trk__body {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr);
	gap: 56px;
	align-items: start;
	margin: 0 0 36px;
}
.jbd-trk__history .jbd-trk__timeline { margin-bottom: 0; }
.jbd-trk__side {
	position: sticky;
	top: 130px;
	padding: 26px 26px 18px;
	border: 1px solid var(--tk-line);
	background: var(--tk-paper);
}
.jbd-trk__side .jbd-trk__facts { margin: 0; }
@media (max-width: 860px) {
	.jbd-trk__body { grid-template-columns: 1fr; gap: 34px; }
	.jbd-trk__side { position: static; order: -1; }
	.jbd-trk__map { height: 300px; }
	.jbd-trk__map-wrap { margin-bottom: 30px; }
}
@media (max-width: 420px) {
	.jbd-trk__side { padding: 20px 18px 14px; }
}
