/* ── PMAX chart widgets ─────────────────────────────────────────── */

.pmax-chart-section {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.pmax-chart-title {
	font-size: 16px;
	font-weight: 700;
	color: #333333;
	text-align: center;
	margin: 0 0 12px;
}

.pmax-chart {
	position: relative;
	max-width: 100%;
	margin: 0 auto;
}

/* Centre overlay (donut). JS refines left/top/width/max-height to the chart's hole. */
.pmax-chart-center {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	z-index: 5;
	color: #333333;
	overflow: hidden;
	overflow-wrap: break-word;
	word-break: break-word;
}

.pmax-chart-center-value {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

.pmax-chart-center-subtitle {
	font-size: 12px;
	font-weight: 600;
	margin-top: 6px;
	line-height: 1.5;
}

/* Donut — canvas min-height prevents centre-text collapse before Highcharts initialises.
   Width/height are set by JS to match the container. */
.pmax-chart[data-chart-type="donut"] .pmax-chart-canvas {
	min-height: 0;
	width: 100%;
}

/* Donut — the useHTML:true wrapper div and connectors must not capture mouse
   events so hover fires on slice arcs underneath. Individual data labels sit
   outside the ring (distance:20) so they can have pointer events for text
   selection; restore them with pointer-events:auto. */
.pmax-chart[data-chart-type="donut"] .highcharts-data-labels,
.pmax-chart[data-chart-type="donut"] .highcharts-data-label-connector {
	pointer-events: none !important;
}
.pmax-chart[data-chart-type="donut"] .highcharts-data-label {
	pointer-events: auto;
}


/* ── Text selection ─────────────────────────────────────────────── */

/* Highcharts sets user-select:none on its SVG root to prevent accidental
   drag-selection during chart interactions. Re-enable it for every text
   node so users can highlight and copy labels across all chart types. */
.pmax-chart svg text,
.pmax-chart .highcharts-data-label,
.pmax-chart-center,
.pmax-chart-footnote,
.pmax-alloc-pct,
.pmax-alloc-lbl {
	-webkit-user-select: text;
	user-select: text;
}

/* Chart footnote */
.pmax-chart-footnote {
	max-width: 680px;
	width: 100%;
	font-size: 12px;
	color: #555555;
	line-height: 1.6;
	text-align: left;
}

.pmax-chart-footnote-title {
	display: block;
	font-weight: 700;
	color: #111111;
	margin-bottom: 2px;
}

.pmax-chart-footnote-italic {
	display: block;
	margin-top: 4px;
	color: #595959;
	font-style: italic;
}

/* ── Allocation chart ──────────────────────────────────────────── */

.pmax-alloc-seg {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 22px;
	flex-shrink: 0;
	box-sizing: border-box;
}

.pmax-alloc-pct {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.3px;
}

.pmax-alloc-lbl {
	font-size: 12px;
	font-weight: 500;
	margin-top: 4px;
	opacity: 0.9;
	line-height: 1.3;
}
