/* PCC Maps — front-end single route styling. Kept deliberately light so
 * it inherits Flatsome's typography/colours rather than fighting them;
 * only structural spacing and the things Flatsome has no opinion on
 * (map/chart containers) are set here. Shared building blocks used
 * elsewhere too (.pcc-button, .pcc-badge) live in base.css instead. */

.pcc-route {
	margin-top: 2em;
}

.pcc-route-stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em 0.75em;
	margin-bottom: 1em;
}

.pcc-stat {
	font-size: 0.95em;
	color: #333 !important;
}

.pcc-route-map {
	width: 100%;
	height: 420px;
	margin-bottom: 0.5em;
	border-radius: 6px;
	z-index: 0; /* keeps Leaflet's own z-indexes from climbing above menus/modals */
}

.pcc-route-elevation {
	width: 100%;
	height: 160px;
	position: relative;
	margin-bottom: 1.5em;
}

.pcc-elevation-svg {
	width: 100%;
	height: 100%;
	display: block;
	cursor: crosshair;
}

.pcc-elevation-line {
	fill: none;
	stroke: #c1440e;
	stroke-width: 2.5;
	vector-effect: non-scaling-stroke;
}

.pcc-elevation-area {
	fill: #c1440e;
	fill-opacity: 0.12;
	stroke: none;
}

.pcc-elevation-axis-label {
	font-size: 22px;
	fill: #777;
}

.pcc-elevation-guide {
	stroke: #999;
	stroke-width: 1.5;
	stroke-dasharray: 4 3;
	vector-effect: non-scaling-stroke;
}

.pcc-elevation-hover-dot {
	fill: #c1440e;
	stroke: #fff;
	stroke-width: 2;
}

.pcc-elevation-tooltip {
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	background: #222;
	color: #fff !important;
	font-size: 0.8em;
	padding: 0.25em 0.6em;
	border-radius: 4px;
	pointer-events: none;
	white-space: nowrap;
}

.pcc-route-notice {
	padding: 0.75em 1em;
	background: #f5f5f5;
	border-left: 4px solid #999;
	margin-bottom: 1.5em;
}

.pcc-route-notice-error {
	background: #fdf0ef;
	border-left-color: #c0392b;
}

.pcc-route-notice-success {
	background: #eef7f0;
	border-left-color: #2e8b57;
}

.pcc-route-download {
	margin-bottom: 1.5em;
}

.pcc-route-start,
.pcc-route-cafe-stops {
	margin-bottom: 1em;
}

.pcc-route-cafe-stops ul {
	margin: 0.5em 0 0;
	padding-left: 1.25em;
}
