.nxer-shell .nxar-stepper {
	gap: 18px;
}

.nxer-shell .nxar-stepper::after {
	height: 275px;
}

.nxer-existing {
	background: color-mix(in srgb, var(--nxar-accent) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--nxar-accent) 30%, transparent);
	border-radius: 9px;
	color: var(--nxar-text);
	font-size: 12px;
	margin-bottom: 16px;
	padding: 11px 13px;
}

.nxer-plan-summary {
	background: linear-gradient(145deg, color-mix(in srgb, var(--nxar-accent) 10%, transparent), color-mix(in srgb, var(--nxar-panel) 78%, transparent));
	border: 1px solid color-mix(in srgb, var(--nxar-accent) 34%, transparent);
	border-radius: 12px;
	display: grid;
	gap: 7px;
	margin-bottom: 24px;
	padding: 20px;
}

.nxer-plan-summary > span {
	color: var(--nxar-accent);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .14em;
}

.nxer-plan-summary strong {
	color: var(--nxar-text);
	font-size: 22px;
}

.nxer-plan-summary b {
	color: var(--nxar-accent);
	font-size: 17px;
}

.nxer-plan-summary p {
	color: var(--nxar-muted);
	line-height: 1.6;
	margin: 3px 0 0;
}

@media (max-width: 820px) {
	.nxer-shell .nxar-stepper {
		gap: 10px;
	}
}

@media (max-width: 680px) {
	.nxer-plan-summary {
		margin-bottom: 18px;
		padding: 15px;
	}

	.nxer-plan-summary strong {
		font-size: 19px;
	}

	.nxer-plan-summary b {
		font-size: 15px;
	}
}

/* Markets served as checkbox chips (PM STAKEHOLDER #277) — replaces the
   Ctrl-click multi-select, which barely works on touch devices. The list is
   the full country catalogue, so unlike the visitor categories the grid is
   capped and scrolls instead of stretching the step. */
.nxer-markets { border: 1px solid var(--nx-border, #334155); border-radius: 10px; margin: 0; padding: 14px; }
.nxer-markets legend { font-weight: 700; font-size: 13px; color: var(--nx-text-soft, #e1e9f4); padding: 0 6px; }
.nxer-markets-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px 10px; margin-top: 6px; max-height: 320px; overflow-y: auto; padding-right: 6px; }
.nxer-market {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	padding: 9px 12px;
	border: 1px solid rgba(48, 79, 113, 0.5);
	border-radius: 8px;
	background: var(--nxar-field, rgba(6, 19, 38, 0.6));
	transition: border-color .2s ease, background .2s ease, transform .15s ease;
	font-size: 13px;
	min-height: 42px;
}
.nxer-market:hover { border-color: var(--nx-cyan, #22d3ee); background: rgba(14, 32, 57, 0.8); }
.nxer-market input { flex: 0 0 auto; accent-color: var(--nx-cyan, #22d3ee); width: 16px; height: 16px; margin: 0; }
.nxer-market span { color: var(--nx-text, #eaf2ff); line-height: 1.3; word-break: break-word; }
.nxer-markets small { display: block; margin-top: 10px; color: var(--nx-text-muted, #7f90a7); font-size: 11px; }

@media (max-width: 480px) {
	.nxer-markets { padding: 10px 11px; }
	.nxer-markets-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 6px; max-height: 260px; }
	.nxer-market { padding: 7px 9px; min-height: 38px; font-size: 12px; gap: 7px; }
}
