/* Hadof Content System 2.6.0 — procurement-path visualization and interaction. */

/* Mega-menu journey: expose the site architecture at the decision level. */
.hadof-v2-mega__journey {
	align-items: center;
	background: #eef3f7;
	border-top: 1px solid #dbe3e9;
	display: flex;
	gap: 0;
	grid-column: 1 / -1;
	margin: 1.25rem -1.5rem -1.5rem;
	overflow-x: auto;
	padding-inline: 1.5rem;
}
.hadof-v2-mega__journey > span {
	color: #586879;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	padding-right: 1rem;
	text-transform: uppercase;
	white-space: nowrap;
}
.hadof-v2-mega__journey a {
	align-items: center;
	border-left: 1px solid #dbe3e9;
	color: #172434;
	display: flex;
	font-size: .78rem;
	font-weight: 750;
	gap: .45rem;
	min-height: 48px;
	padding: .6rem .9rem;
	text-decoration: none;
	white-space: nowrap;
}
.hadof-v2-mega__journey a span { color: #2360d3; font-size: .7rem; }
.hadof-v2-mega__journey a:hover,.hadof-v2-mega__journey a:focus-visible { background: #fff; color: #1e59ca; }

/* Homepage planner: one interactive work surface instead of another card grid. */
.hadof-x3-home .hx-route-console[data-hx-route-planner] {
	background: #0c1722;
	display: grid;
	grid-template-columns: minmax(230px,.26fr) minmax(0,.74fr);
	overflow: hidden;
}
.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__tabs {
	align-content: start;
	background: #111f2c;
	display: flex;
	flex-direction: column;
	grid-column: 1;
	grid-row: 1;
	padding: 1rem 0;
}
.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__tabs::before {
	color: #8fa2b4;
	content: "01  CHOOSE THE FINISHED PRODUCT";
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .09em;
	padding: .45rem 1.25rem .9rem;
}
.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__tabs button {
	border: 0;
	border-top: 1px solid rgba(255,255,255,.08);
	min-height: 76px;
	padding: .8rem 1.25rem;
	text-align: left;
}
.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__tabs button[aria-selected="true"] {
	background: #fff;
	color: #142232;
	padding-left: 1.5rem;
}
.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__tabs button[aria-selected="true"]::before {
	background: #f59b1a;
	height: auto;
	inset: 0 auto 0 0;
	width: 5px;
}
.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__panels {
	background: #fff;
	grid-column: 2;
	grid-row: 1;
}
.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__panels > article[data-active] {
	grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr);
}
.hadof-x3-home .hx-route-console__stage {
	align-items: center;
	background: linear-gradient(105deg,#18375f 0%,#245ed0 100%);
	color: #fff;
	display: grid;
	gap: clamp(1.5rem,3vw,3rem);
	grid-column: 1 / -1;
	grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr);
	padding: clamp(1.6rem,3vw,2.5rem);
}
.hadof-x3-home .hx-route-console__stage fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.hadof-x3-home .hx-route-console__stage legend {
	color: #c7d9fa;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin-bottom: .8rem;
	text-transform: uppercase;
}
.hadof-x3-home .hx-route-console__stage-options { display: flex; flex-wrap: wrap; gap: .5rem; }
.hadof-x3-home .hx-route-console__stage-options label { cursor: pointer; position: relative; }
.hadof-x3-home .hx-route-console__stage-options input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.hadof-x3-home .hx-route-console__stage-options span {
	border: 1px solid rgba(255,255,255,.34);
	display: block;
	font-size: .82rem;
	font-weight: 750;
	padding: .65rem .8rem;
}
.hadof-x3-home .hx-route-console__stage-options input:checked + span { background: #fff; border-color: #fff; color: #1749a1; }
.hadof-x3-home .hx-route-console__stage-options input:focus-visible + span { outline: 3px solid #f5b34d; outline-offset: 2px; }
.hadof-x3-home .hx-route-console__guidance { border-left: 1px solid rgba(255,255,255,.3); padding-left: clamp(1.3rem,3vw,2.5rem); }
.hadof-x3-home .hx-route-console__guidance > span { color: #c7d9fa; display: block; font-size: .74rem; font-weight: 750; margin-bottom: .35rem; }
.hadof-x3-home .hx-route-console__guidance strong { display: block; font-size: clamp(1.25rem,2vw,1.65rem); line-height: 1.2; }
.hadof-x3-home .hx-route-console__guidance p { color: #e5edfb; line-height: 1.55; margin: .65rem 0 .9rem; }
.hadof-x3-home .hx-route-console__guidance a { color: #fff; font-weight: 800; text-underline-offset: 4px; }

/* Process map: show where line risk moves when a stage is selected. */
.hadof-x3-home .hx-process-board[data-hx-process-map] { align-items: stretch; }
.hadof-x3-home .hx-process-track button {
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: grid;
	font: inherit;
	gap: .35rem;
	height: 100%;
	padding: 0;
	text-align: left;
	width: 100%;
}
.hadof-x3-home .hx-process-track button[aria-pressed="true"] b { color: #1f59c7; }
.hadof-x3-home .hx-process-track button[aria-pressed="true"] span { background: #1f59c7; color: #fff; transform: scale(1.08); }
.hadof-x3-home .hx-process-track button:focus-visible { outline: 3px solid #f59b1a; outline-offset: 5px; }
.hadof-x3-home .hx-process-focus {
	align-items: start;
	background: #fff;
	border-top: 1px solid #dfe6eb;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr);
	margin-top: 1.7rem;
	padding-top: 1.7rem;
}
.hadof-x3-home .hx-process-focus > div span { color: #647483; display: block; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hadof-x3-home .hx-process-focus > div strong { color: #102033; display: block; font-size: clamp(1.25rem,2vw,1.7rem); line-height: 1.2; margin-top: .35rem; }
.hadof-x3-home .hx-process-focus dl { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; }
.hadof-x3-home .hx-process-focus dl div { border-left: 2px solid #f59b1a; padding-left: .8rem; }
.hadof-x3-home .hx-process-focus dt { color: #627283; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hadof-x3-home .hx-process-focus dd { color: #27384a; line-height: 1.45; margin: .3rem 0 0; }

/* Solution hub finder: two useful axes, one visible result set. */
.hx-solutions-hub .hx-solution-finder { margin-top: 2rem; }
.hx-solutions-hub .hx-solution-finder__controls {
	background: #0d1824;
	color: #fff;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2,minmax(0,1fr));
	padding: clamp(1.4rem,3vw,2.2rem);
}
.hx-solutions-hub .hx-solution-finder fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.hx-solutions-hub .hx-solution-finder legend { color: #9fb0c0; font-size: .7rem; font-weight: 800; letter-spacing: .08em; margin-bottom: .7rem; text-transform: uppercase; }
.hx-solutions-hub .hx-solution-finder__buttons { display: flex; flex-wrap: wrap; gap: .4rem; }
.hx-solutions-hub [data-hx-solution-filter] {
	background: transparent;
	border: 1px solid #42515f;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: .8rem;
	font-weight: 700;
	min-height: 40px;
	padding: .55rem .7rem;
}
.hx-solutions-hub [data-hx-solution-filter][aria-pressed="true"] { background: #f59b1a; border-color: #f59b1a; color: #101820; }
.hx-solutions-hub .hx-solution-finder__status { align-items: center; background: #e8eef3; color: #344455; display: flex; gap: .8rem; justify-content: space-between; padding: .85rem 1rem; }
.hx-solutions-hub .hx-solution-finder__status p { margin: 0; }
.hx-solutions-hub [data-hx-solution-count] { color: #1d57c7; font-size: 1.2rem; }
.hx-solutions-hub [data-hx-solution-clear] { background: transparent; border: 0; color: #244f9e; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.hx-solutions-hub [data-hx-solution-empty] { background: #fff; color: #394a5a; margin: 0; padding: 2rem; }
.hx-solutions-hub [data-hx-solution-card][hidden] { display: none !important; }

@media (max-width: 960px) {
	.hadof-x3-home .hx-route-console[data-hx-route-planner] { grid-template-columns: 1fr; }
	.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__tabs { display: grid; grid-column: 1; grid-row: 1; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__tabs::before { grid-column: 1 / -1; }
	.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__panels { grid-column: 1; grid-row: 2; }
	.hadof-x3-home .hx-route-console__stage { grid-column: 1; grid-row: 3; }
	.hadof-x3-home .hx-process-focus { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.hadof-v2-mega__journey { display: none; }
	.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__tabs { grid-template-columns: 1fr; }
	.hadof-x3-home .hx-route-console[data-hx-route-planner] .hx-route-console__panels > article[data-active] { grid-template-columns: 1fr; }
	.hadof-x3-home .hx-route-console__stage { grid-template-columns: 1fr; }
	.hadof-x3-home .hx-route-console__guidance { border-left: 0; border-top: 1px solid rgba(255,255,255,.3); padding: 1.25rem 0 0; }
	.hadof-x3-home .hx-process-focus dl { grid-template-columns: 1fr; }
	.hx-solutions-hub .hx-solution-finder__controls { grid-template-columns: 1fr; }
	.hx-solutions-hub .hx-solution-finder__status { align-items: flex-start; flex-direction: column; }
}
