.pbtc-guide-shell {
	--pbtc-orange: #f7931a;
	--pbtc-orange-dark: #d87300;
	--pbtc-ink: #17324d;
	--pbtc-muted: #5f6f7e;
	--pbtc-line: #dfe6ec;
	--pbtc-soft: #f5f8fa;
	--pbtc-white: #ffffff;
	max-width: 840px;
	margin: 36px auto;
	padding: 0 18px;
	color: var(--pbtc-ink);
}

.pbtc-guide-card {
	background: var(--pbtc-white);
	border: 1px solid var(--pbtc-line);
	border-radius: 22px;
	box-shadow: 0 18px 50px rgba(23, 50, 77, 0.10);
	padding: clamp(24px, 5vw, 48px);
}

.pbtc-guide-eyebrow {
	font-size: 0.86rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pbtc-orange-dark);
	margin-bottom: 12px;
}

.pbtc-guide-card h1,
.pbtc-guide-card h2 {
	color: var(--pbtc-ink);
	line-height: 1.15;
}

.pbtc-guide-card h1 {
	font-size: clamp(2rem, 5vw, 3.3rem);
	margin: 0 0 16px;
}

.pbtc-guide-card h2 {
	font-size: clamp(1.45rem, 3vw, 2rem);
	margin: 8px 0 14px;
}

.pbtc-guide-lead {
	font-size: 1.1rem;
	color: var(--pbtc-muted);
	margin-bottom: 30px;
}

.pbtc-guide-section {
	border-top: 1px solid var(--pbtc-line);
	padding-top: 28px;
}

.pbtc-progress {
	height: 8px;
	background: #edf1f4;
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 14px;
}

.pbtc-progress span {
	display: block;
	height: 100%;
	background: var(--pbtc-orange);
	border-radius: inherit;
}

.pbtc-step {
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--pbtc-muted);
	margin: 0 0 6px;
}

.pbtc-guide-form {
	display: grid;
	gap: 16px;
	margin-top: 22px;
}

.pbtc-choice-list {
	display: grid;
	gap: 12px;
	border: 0;
	padding: 0;
	margin: 0;
}

.pbtc-choice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	padding: 15px 16px;
	cursor: pointer;
	background: var(--pbtc-white);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pbtc-choice:hover,
.pbtc-choice:focus-within {
	border-color: var(--pbtc-orange);
	box-shadow: 0 5px 18px rgba(247, 147, 26, 0.13);
	transform: translateY(-1px);
}

.pbtc-choice input {
	margin-top: 0.25em;
	accent-color: var(--pbtc-orange);
}

.pbtc-choice span {
	font-weight: 650;
}

.pbtc-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 22px;
}

.pbtc-button {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: 12px 20px;
	font: inherit;
	font-weight: 750;
	cursor: pointer;
	text-decoration: none;
}

.pbtc-button-primary {
	background: var(--pbtc-orange);
	color: #1d2730;
}

.pbtc-button-primary:hover,
.pbtc-button-primary:focus {
	background: #ffa12c;
}

.pbtc-button-secondary {
	background: var(--pbtc-ink);
	color: var(--pbtc-white);
}

.pbtc-button-link {
	background: transparent;
	color: var(--pbtc-ink);
	text-decoration: underline;
}

.pbtc-result-box {
	display: grid;
	gap: 6px;
	background: var(--pbtc-soft);
	border-left: 5px solid var(--pbtc-orange);
	border-radius: 12px;
	padding: 18px 20px;
	margin: 20px 0;
}

.pbtc-result-box span {
	font-size: 0.86rem;
	color: var(--pbtc-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 700;
}

.pbtc-result-box strong {
	font-size: 1.2rem;
}

.pbtc-feedback {
	margin-top: 32px;
	border: 1px solid var(--pbtc-line);
	border-radius: 15px;
	background: var(--pbtc-soft);
	overflow: hidden;
}

.pbtc-feedback summary {
	cursor: pointer;
	font-weight: 750;
	padding: 17px 20px;
	color: var(--pbtc-ink);
}

.pbtc-feedback-body {
	padding: 0 20px 22px;
}

.pbtc-warning {
	background: #fff4e5;
	border: 1px solid #f7c982;
	border-radius: 10px;
	padding: 12px 14px;
	margin: 14px 0 18px;
}

.pbtc-guide-form textarea,
.pbtc-guide-form input[type="email"],
.pbtc-guide-form select {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #bcc8d2;
	border-radius: 10px;
	padding: 11px 12px;
	font: inherit;
	background: var(--pbtc-white);
}

.pbtc-guide-form textarea:focus,
.pbtc-guide-form input[type="email"]:focus,
.pbtc-guide-form select:focus {
	outline: 3px solid rgba(247, 147, 26, 0.20);
	border-color: var(--pbtc-orange);
}

.pbtc-grid-two {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.pbtc-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}

.pbtc-checkbox input {
	margin-top: 0.25em;
	accent-color: var(--pbtc-orange);
}

.pbtc-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.pbtc-notice {
	border-radius: 10px;
	padding: 12px 14px;
	margin: 18px 0;
	font-weight: 650;
}

.pbtc-notice-success {
	background: #eaf8ef;
	border: 1px solid #9bd7ad;
}

.pbtc-notice-warning {
	background: #fff4e5;
	border: 1px solid #f7c982;
}

.pbtc-notice-error {
	background: #fff0f0;
	border: 1px solid #e8a0a0;
}

@media (max-width: 640px) {
	.pbtc-guide-shell {
		margin: 18px auto;
		padding: 0 10px;
	}

	.pbtc-guide-card {
		border-radius: 15px;
		padding: 22px 18px;
	}

	.pbtc-grid-two {
		grid-template-columns: 1fr;
	}

	.pbtc-button,
	.pbtc-button-row form {
		width: 100%;
	}
}

.pbtc-guide-card h3 {
	font-size: 1.28rem;
	margin: 32px 0 14px;
	color: var(--pbtc-ink);
}

.pbtc-guide-card h4 {
	font-size: 1.25rem;
	line-height: 1.25;
	margin: 4px 0 0;
	color: var(--pbtc-ink);
}

.pbtc-guide-card h5 {
	font-size: 0.96rem;
	margin: 0 0 8px;
	color: var(--pbtc-ink);
}

.pbtc-explain,
.pbtc-readiness {
	border: 1px solid var(--pbtc-line);
	border-radius: 12px;
	background: var(--pbtc-soft);
	margin: 16px 0;
	padding: 0 14px;
}

.pbtc-explain summary,
.pbtc-readiness summary {
	cursor: pointer;
	font-weight: 750;
	padding: 12px 0;
}

.pbtc-explain p,
.pbtc-readiness ul {
	margin-top: 0;
	padding-bottom: 12px;
}

.pbtc-inline-form {
	margin-top: 8px;
}

.pbtc-review-list {
	display: grid;
	gap: 10px;
	margin: 22px 0;
}

.pbtc-review-row {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: center;
	border: 1px solid var(--pbtc-line);
	border-radius: 12px;
	padding: 14px 16px;
}

.pbtc-review-row > div {
	display: grid;
	gap: 4px;
}

.pbtc-review-row span {
	font-size: 0.84rem;
	color: var(--pbtc-muted);
}

.pbtc-mini-button {
	appearance: none;
	border: 1px solid var(--pbtc-line);
	border-radius: 999px;
	background: var(--pbtc-white);
	padding: 8px 13px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.pbtc-status-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 20px 0 10px;
}

.pbtc-status-grid > div {
	display: grid;
	gap: 4px;
	border: 1px solid var(--pbtc-line);
	border-radius: 12px;
	padding: 14px;
	background: var(--pbtc-soft);
}

.pbtc-status-grid span,
.pbtc-rank {
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pbtc-muted);
}

.pbtc-status-grid strong {
	font-size: 1.05rem;
}

.pbtc-muted-note {
	color: var(--pbtc-muted);
	font-size: 0.95rem;
}

.pbtc-factor-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.pbtc-factor-card {
	border-left: 4px solid var(--pbtc-orange);
	border-radius: 10px;
	background: var(--pbtc-soft);
	padding: 14px 16px;
}

.pbtc-factor-card p {
	margin: 6px 0 0;
	color: var(--pbtc-muted);
	font-size: 0.94rem;
}

.pbtc-architecture-list {
	display: grid;
	gap: 18px;
}

.pbtc-architecture-card {
	border: 1px solid var(--pbtc-line);
	border-radius: 16px;
	padding: 20px;
	background: var(--pbtc-white);
	box-shadow: 0 8px 24px rgba(23, 50, 77, 0.06);
}

.pbtc-architecture-head {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: flex-start;
}

.pbtc-score {
	display: grid;
	justify-items: end;
	white-space: nowrap;
}

.pbtc-score strong {
	font-size: 1.8rem;
	line-height: 1;
	color: var(--pbtc-orange-dark);
}

.pbtc-score span {
	font-size: 0.78rem;
	color: var(--pbtc-muted);
}

.pbtc-metrics-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 18px;
}

.pbtc-metrics-row span {
	border-radius: 999px;
	background: var(--pbtc-soft);
	padding: 7px 10px;
	font-size: 0.84rem;
	font-weight: 700;
}

.pbtc-columns-two {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.pbtc-columns-two ul,
.pbtc-readiness ul {
	margin-bottom: 0;
	padding-left: 20px;
}

.pbtc-columns-two li,
.pbtc-readiness li {
	margin-bottom: 7px;
}

.pbtc-out-list {
	display: grid;
	gap: 10px;
}

.pbtc-out-row {
	border: 1px solid var(--pbtc-line);
	border-radius: 12px;
	padding: 14px 16px;
	background: var(--pbtc-soft);
}

.pbtc-out-row > div {
	display: flex;
	justify-content: space-between;
	gap: 14px;
}

.pbtc-out-row span {
	font-size: 0.82rem;
	color: var(--pbtc-muted);
}

.pbtc-out-row p {
	margin: 8px 0 0;
}

.pbtc-next-decisions {
	margin-top: 28px;
	border: 1px solid #f7c982;
	background: #fff8ec;
	border-radius: 14px;
	padding: 2px 18px 16px;
}

@media (max-width: 700px) {
	.pbtc-status-grid,
	.pbtc-factor-grid,
	.pbtc-columns-two {
		grid-template-columns: 1fr;
	}

	.pbtc-architecture-head,
	.pbtc-review-row,
	.pbtc-out-row > div {
		align-items: stretch;
		flex-direction: column;
	}

	.pbtc-score {
		justify-items: start;
	}

	.pbtc-review-row form,
	.pbtc-review-row .pbtc-mini-button {
		width: 100%;
	}
}

.pbtc-reading-block {
	margin: 18px 0 24px;
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	background: #fbfcfd;
	padding: 16px;
}

.pbtc-reading-label {
	margin: 0 0 12px;
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--pbtc-muted);
}

.pbtc-reading-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.pbtc-reading-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	border-left: 4px solid var(--pbtc-orange);
	border-radius: 10px;
	background: var(--pbtc-white);
	padding: 14px 15px;
}

.pbtc-reading-card p {
	margin: 7px 0 10px;
	color: var(--pbtc-muted);
	font-size: 0.92rem;
}

.pbtc-reading-card a {
	margin-top: auto;
	font-weight: 750;
	color: var(--pbtc-ink);
}

.pbtc-reading-pending {
	margin-top: auto;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--pbtc-muted);
}

.pbtc-sensitivity-list {
	display: grid;
	gap: 10px;
}

.pbtc-sensitivity-card {
	border-top: 1px solid #f0d6a9;
	padding: 14px 0 4px;
}

.pbtc-sensitivity-card:first-child {
	border-top: 0;
}

.pbtc-sensitivity-card p {
	margin: 6px 0 10px;
}

.pbtc-sensitivity-card form {
	margin: 0;
}

@media (max-width: 700px) {
	.pbtc-reading-grid {
		grid-template-columns: 1fr;
	}
}

.pbtc-reading-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: auto;
}

.pbtc-reading-edit {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--pbtc-muted) !important;
}

.pbtc-sensitivity-current {
	font-weight: 750;
}

.pbtc-article-toolbar {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
	margin-bottom: 18px;
}

.pbtc-article-content {
	line-height: 1.7;
}

.pbtc-article-content h2 {
	margin-top: 1.8em;
	font-size: 1.35rem;
}

.pbtc-article-content ul {
	padding-left: 22px;
}

.pbtc-article-content li {
	margin-bottom: 7px;
}

@media (max-width: 700px) {
	.pbtc-article-toolbar {
		align-items: stretch;
		flex-direction: column;
	}
}


.pbtc-question-form {
	margin-bottom: 0;
}

.pbtc-question-actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 22px;
}

.pbtc-question-actions .pbtc-action-back {
	margin-right: auto;
}

.pbtc-question-actions .pbtc-action-next {
	margin-left: auto;
}

.pbtc-action-spacer {
	min-width: 1px;
}

.pbtc-requirements {
	margin: 28px 0;
	border: 1px solid var(--pbtc-line);
	border-radius: 16px;
	background: #fbfcfd;
	padding: 20px;
}

.pbtc-requirements-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
}

.pbtc-requirements-head h3 {
	margin: 2px 0 0;
}

.pbtc-requirements-head > span {
	border-radius: 999px;
	background: var(--pbtc-white);
	border: 1px solid var(--pbtc-line);
	padding: 6px 9px;
	font-size: 0.78rem;
	font-weight: 750;
	color: var(--pbtc-muted);
}

.pbtc-requirements-kicker {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pbtc-orange-dark);
}

.pbtc-requirements-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.pbtc-requirement-column {
	border: 1px solid var(--pbtc-line);
	border-radius: 12px;
	background: var(--pbtc-white);
	padding: 15px;
}

.pbtc-requirement-column h4 {
	font-size: 1rem;
	margin: 0 0 11px;
}

.pbtc-requirement-column ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 12px;
}

.pbtc-requirement-column li {
	display: grid;
	gap: 3px;
}

.pbtc-requirement-column li + li {
	border-top: 1px solid var(--pbtc-line);
	padding-top: 11px;
}

.pbtc-requirement-column li strong {
	font-size: 0.92rem;
}

.pbtc-requirement-column li span,
.pbtc-empty-requirement {
	font-size: 0.86rem;
	line-height: 1.45;
	color: var(--pbtc-muted);
}

.pbtc-empty-requirement {
	margin: 0;
}

.pbtc-requirements-open {
	margin-top: 14px;
	border-radius: 10px;
	background: #fff8ec;
	border: 1px solid #f7c982;
	padding: 0 14px;
}

.pbtc-requirements-open summary {
	cursor: pointer;
	font-weight: 750;
	padding: 12px 0;
}

.pbtc-requirements-open ul {
	margin-top: 0;
	padding: 0 0 12px 20px;
}

.pbtc-requirements-open li {
	margin-bottom: 7px;
}

@media (max-width: 760px) {
	.pbtc-requirements-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.pbtc-question-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.pbtc-question-actions form,
	.pbtc-question-actions .pbtc-button {
		width: 100%;
	}

	.pbtc-question-actions .pbtc-button {
		height: 100%;
		padding: 11px 10px;
		font-size: 0.88rem;
		line-height: 1.2;
		white-space: normal;
	}
}

.pbtc-card-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 18px;
}

.pbtc-mini-button,
a.pbtc-mini-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--pbtc-ink);
}

.pbtc-inline-link {
	display: inline-block;
	margin-top: 9px;
	font-weight: 750;
	color: var(--pbtc-ink);
}

.pbtc-blueprint-lead {
	font-size: 1.08rem;
	line-height: 1.55;
	color: var(--pbtc-muted);
}

.pbtc-role-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.pbtc-role-card {
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	background: var(--pbtc-white);
	padding: 18px;
	box-shadow: 0 7px 20px rgba(23, 50, 77, 0.05);
}

.pbtc-role-card h4 {
	margin: 5px 0 10px;
}

.pbtc-role-card h5 {
	margin-top: 18px;
}

.pbtc-role-card ul,
.pbtc-blueprint-panel ul {
	margin: 0;
	padding-left: 20px;
}

.pbtc-role-card li,
.pbtc-blueprint-panel li {
	margin-bottom: 8px;
}

.pbtc-role-id {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--pbtc-orange-dark);
}

.pbtc-blueprint-columns {
	margin-top: 18px;
}

.pbtc-blueprint-panel {
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	background: var(--pbtc-soft);
	padding: 0 18px 18px;
}

.pbtc-blueprint-panel h3 {
	margin-top: 18px;
}

.pbtc-blueprint-panel-risk {
	background: #fff8ec;
	border-color: #f7c982;
}

@media (max-width: 700px) {
	.pbtc-role-grid {
		grid-template-columns: 1fr;
	}

	.pbtc-card-actions {
		justify-content: stretch;
	}

	.pbtc-card-actions .pbtc-mini-button {
		width: 100%;
	}
}

/* The primary action is first in the DOM so pressing Enter advances, while CSS keeps Back on the left. */
.pbtc-question-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 12px;
}

.pbtc-question-actions .pbtc-button-next {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
}

.pbtc-question-actions .pbtc-button-back,
.pbtc-question-actions .pbtc-action-spacer {
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
}

.pbtc-refinement {
	margin: 28px 0;
	padding: 20px;
	border: 1px solid var(--pbtc-line);
	border-radius: 16px;
	background: #fffdf8;
}

.pbtc-refinement-head {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: flex-start;
}

.pbtc-refinement-head h3 {
	margin-top: 4px;
}

.pbtc-refinement-head > span {
	white-space: nowrap;
	font-weight: 750;
	font-size: 0.86rem;
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--pbtc-soft);
}

.pbtc-refinement-list {
	display: grid;
	gap: 16px;
	margin-top: 18px;
}

.pbtc-refinement-card {
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	background: var(--pbtc-white);
	padding: 18px;
}

.pbtc-refinement-card h4 {
	margin-top: 0;
}

.pbtc-refinement-options {
	display: grid;
	gap: 8px;
	margin: 12px 0;
}

.pbtc-refinement-option {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 10px 12px;
	border: 1px solid var(--pbtc-line);
	border-radius: 10px;
	cursor: pointer;
}

.pbtc-refinement-option input {
	margin-top: 3px;
}

.pbtc-refinement-why {
	margin-top: 14px;
}

.pbtc-refinement-card .pbtc-reading-block {
	margin-top: 14px;
}

@media (max-width: 640px) {
	.pbtc-refinement-head {
		flex-direction: column;
	}

	.pbtc-refinement-head > span {
		white-space: normal;
	}
}

/* v0.6 · señales visuales, acceso rápido, catálogo e imágenes opcionales */
.pbtc-guide-shell {
	--pbtc-good: #16803a;
	--pbtc-good-soft: #edf8f1;
	--pbtc-bad: #c62f2f;
	--pbtc-bad-soft: #fff1f1;
	--pbtc-warn: #a86700;
	--pbtc-warn-soft: #fff7e8;
}

.pbtc-result-shortcut {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	margin: -8px 0 26px;
	padding: 12px 14px;
	border: 1px solid #efb763;
	border-radius: 14px;
	background: #fff8ec;
	box-shadow: 0 7px 20px rgba(23, 50, 77, 0.05);
}

.pbtc-result-shortcut > span {
	font-size: 1.15rem;
}

.pbtc-result-shortcut div {
	display: grid;
	gap: 1px;
}

.pbtc-result-shortcut small {
	color: var(--pbtc-muted);
}

.pbtc-result-shortcut a {
	border-radius: 999px;
	padding: 9px 13px;
	background: var(--pbtc-orange);
	color: #1d2730;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.pbtc-icon {
	display: inline-grid;
	place-items: center;
	width: 1.28em;
	height: 1.28em;
	border-radius: 999px;
	font-size: 0.78em;
	font-weight: 900;
	line-height: 1;
	flex: 0 0 auto;
}

.pbtc-icon-good {
	color: var(--pbtc-good);
	background: var(--pbtc-good-soft);
	border: 1px solid #a8dab8;
}

.pbtc-icon-bad {
	color: var(--pbtc-bad);
	background: var(--pbtc-bad-soft);
	border: 1px solid #efb2b2;
}

.pbtc-icon-warn {
	color: var(--pbtc-warn);
	background: var(--pbtc-warn-soft);
	border: 1px solid #e8c276;
}

.pbtc-icon-neutral {
	color: var(--pbtc-muted);
	background: var(--pbtc-soft);
	border: 1px solid var(--pbtc-line);
}

.pbtc-signal-item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	list-style: none;
	margin-left: -20px;
}

.pbtc-signal-item .pbtc-icon {
	margin-top: 0.22em;
}

.pbtc-best-match {
	border-color: #89c99d;
	box-shadow: 0 10px 28px rgba(22, 128, 58, 0.10);
}

.pbtc-best-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: -3px 0 13px;
	padding: 6px 9px;
	border-radius: 999px;
	background: var(--pbtc-good-soft);
	color: #12652f;
	font-size: 0.8rem;
	font-weight: 800;
}

.pbtc-subtle-icon {
	margin-right: 6px;
	font-size: 0.9em;
}

.pbtc-out-row:has(.pbtc-icon-bad) {
	border-left: 4px solid var(--pbtc-bad);
}

.pbtc-scene {
	margin: 20px 0 24px;
	border: 1px solid var(--pbtc-line);
	border-radius: 16px;
	overflow: hidden;
	background: var(--pbtc-soft);
}

.pbtc-scene img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 440px;
	object-fit: cover;
}

.pbtc-scene figcaption {
	padding: 11px 14px;
	color: var(--pbtc-muted);
	font-size: 0.9rem;
}

.pbtc-feature-catalog {
	margin: 26px 0;
	padding: 18px;
	border: 1px solid var(--pbtc-line);
	border-radius: 16px;
	background: #fbfcfd;
}

.pbtc-feature-catalog-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.pbtc-feature-catalog-head h3 {
	margin-top: 3px;
}

.pbtc-feature-catalog-head > span {
	white-space: nowrap;
	border: 1px solid var(--pbtc-line);
	border-radius: 999px;
	padding: 6px 9px;
	background: var(--pbtc-white);
	font-size: 0.78rem;
	font-weight: 800;
	color: var(--pbtc-muted);
}

.pbtc-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.pbtc-feature-item {
	border: 1px solid var(--pbtc-line);
	border-radius: 12px;
	background: var(--pbtc-white);
	padding: 13px;
}

.pbtc-feature-item > div {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.pbtc-feature-item p {
	margin: 8px 0;
	font-size: 0.9rem;
	color: var(--pbtc-muted);
}

.pbtc-feature-meta {
	font-size: 0.76rem;
	font-weight: 750;
	color: var(--pbtc-orange-dark);
}

@media (max-width: 700px) {
	.pbtc-result-shortcut {
		grid-template-columns: auto 1fr;
	}

	.pbtc-result-shortcut a {
		grid-column: 1 / -1;
		text-align: center;
	}

	.pbtc-feature-grid {
		grid-template-columns: 1fr;
	}

	.pbtc-feature-catalog-head {
		flex-direction: column;
	}
}

/* v0.7 · catálogo de componentes y escenas técnicas más didácticas */
.pbtc-scene img {
	object-fit: contain;
	background: #ffffff;
}

.pbtc-component-map {
	margin: 24px 0;
	padding: 18px;
	border: 1px solid var(--pbtc-line);
	border-radius: 16px;
	background: #fffdf8;
}

.pbtc-component-map-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 14px;
}

.pbtc-component-map-head h3 {
	margin-top: 3px;
}

.pbtc-component-map-head > span {
	white-space: nowrap;
	border: 1px solid var(--pbtc-line);
	border-radius: 999px;
	padding: 6px 9px;
	background: var(--pbtc-white);
	font-size: 0.78rem;
	font-weight: 800;
	color: var(--pbtc-muted);
}

.pbtc-component-flow {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin-top: 14px;
	overflow-x: auto;
	padding: 2px 1px 8px;
}

.pbtc-component-node {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 175px;
	border: 1px solid var(--pbtc-line);
	border-radius: 12px;
	background: var(--pbtc-white);
	padding: 11px 12px;
}

.pbtc-component-node-icon {
	font-size: 1.25rem;
}

.pbtc-component-node div {
	display: grid;
	gap: 2px;
}

.pbtc-component-node small {
	color: var(--pbtc-muted);
	font-size: 0.72rem;
}

.pbtc-component-arrow {
	align-self: center;
	color: var(--pbtc-orange-dark);
	font-weight: 900;
	padding: 0 1px;
}

.pbtc-component-family {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 8px 0 2px;
	padding: 6px 9px;
	border-radius: 999px;
	background: #fff7e8;
	border: 1px solid #efc98c;
	font-size: 0.78rem;
}

.pbtc-component-requirements {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px dashed var(--pbtc-line);
}

.pbtc-component-requirement-list {
	display: grid;
	gap: 8px;
	margin-top: 9px;
}

.pbtc-component-requirement {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 9px;
	align-items: flex-start;
	border: 1px solid var(--pbtc-line);
	border-radius: 10px;
	padding: 10px 11px;
	background: #fbfcfd;
}

.pbtc-component-level-icon {
	display: inline-grid;
	place-items: center;
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 999px;
	font-weight: 900;
	font-size: 0.76rem;
	margin-top: 1px;
}

.pbtc-component-requirement strong {
	display: block;
	font-size: 0.88rem;
}

.pbtc-component-level-label {
	display: inline-block;
	margin-top: 3px;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.035em;
}

.pbtc-component-requirement p {
	margin: 6px 0 0;
	color: var(--pbtc-muted);
	font-size: 0.84rem;
}

.pbtc-component-level-hard {
	border-left: 4px solid var(--pbtc-orange-dark);
}

.pbtc-component-level-hard .pbtc-component-level-icon {
	background: #fff1dc;
	border: 1px solid #efc17e;
	color: var(--pbtc-orange-dark);
}

.pbtc-component-level-hard .pbtc-component-level-label {
	color: var(--pbtc-orange-dark);
}

.pbtc-component-level-high {
	border-left: 4px solid #4d708e;
}

.pbtc-component-level-high .pbtc-component-level-icon {
	background: #eef4f8;
	border: 1px solid #bfd0dd;
	color: #355c7d;
}

.pbtc-component-level-high .pbtc-component-level-label {
	color: #355c7d;
}

.pbtc-component-level-desirable {
	border-left: 4px solid #8b9aa7;
}

.pbtc-component-level-desirable .pbtc-component-level-icon {
	background: var(--pbtc-soft);
	border: 1px solid var(--pbtc-line);
	color: var(--pbtc-muted);
}

.pbtc-component-level-desirable .pbtc-component-level-label {
	color: var(--pbtc-muted);
}

@media (max-width: 700px) {
	.pbtc-component-map-head {
		flex-direction: column;
	}

	.pbtc-component-flow {
		display: grid;
		grid-template-columns: 1fr;
		overflow: visible;
	}

	.pbtc-component-node {
		min-width: 0;
	}

	.pbtc-component-arrow {
		transform: rotate(90deg);
		justify-self: center;
	}
}

/* v0.8 · resumen superior, afinado compacto y ampliación de escenas */
.pbtc-journey {
	margin: -8px 0 24px;
	border: 1px solid var(--pbtc-line);
	border-radius: 16px;
	background: #fbfcfd;
	padding: 14px 16px;
}

.pbtc-journey-top {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
}

.pbtc-journey-conclusion {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
}

.pbtc-journey-bird {
	font-size: 1.35rem;
	line-height: 1.2;
}

.pbtc-journey-conclusion div {
	display: grid;
	gap: 2px;
}

.pbtc-journey-conclusion small {
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--pbtc-orange-dark);
}

.pbtc-journey-conclusion strong {
	font-size: 0.95rem;
	line-height: 1.35;
}

.pbtc-journey-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	align-items: center;
}

.pbtc-journey-actions form {
	margin: 0;
}

.pbtc-journey-result-link {
	border-color: #f7c982 !important;
	background: #fff8ec !important;
}

.pbtc-journey-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 11px;
	padding-top: 11px;
	border-top: 1px solid var(--pbtc-line);
}

.pbtc-journey-checks > span {
	border-radius: 999px;
	padding: 6px 9px;
	font-size: 0.78rem;
	font-weight: 750;
	line-height: 1.2;
	border: 1px solid var(--pbtc-line);
	background: var(--pbtc-white);
}

.pbtc-journey-checks .is-done {
	color: var(--pbtc-good);
	border-color: #b9dfc5;
	background: var(--pbtc-good-soft);
}

.pbtc-journey-checks .is-pending {
	color: #8a5a00;
	border-color: #f2d29c;
	background: #fff8ec;
}

.pbtc-journey-checks .is-next {
	color: var(--pbtc-ink);
	border-color: #cfdbe5;
	background: #eef5fa;
}

.pbtc-journey-checks .is-future {
	color: var(--pbtc-muted);
	background: #f7f9fa;
}

.pbtc-refinement-card {
	padding: 0;
	overflow: hidden;
}

.pbtc-refinement-card[open] {
	box-shadow: 0 7px 20px rgba(23, 50, 77, 0.05);
}

.pbtc-refinement-card.pbtc-refinement-answered {
	border-color: #b9dfc5;
	background: var(--pbtc-good-soft);
}

.pbtc-refinement-card.pbtc-refinement-answered[open] {
	background: var(--pbtc-white);
}

.pbtc-refinement-summary {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: center;
	padding: 14px 16px;
	cursor: pointer;
	list-style: none;
}

.pbtc-refinement-summary::-webkit-details-marker {
	display: none;
}

.pbtc-refinement-summary-main {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.pbtc-refinement-summary-main > strong {
	font-size: 0.96rem;
	line-height: 1.35;
}

.pbtc-refinement-summary-main small {
	color: var(--pbtc-muted);
	line-height: 1.35;
}

.pbtc-refinement-answered .pbtc-refinement-summary-main small {
	color: var(--pbtc-good);
	font-weight: 700;
}

.pbtc-refinement-edit-hint {
	white-space: nowrap;
	font-size: 0.8rem;
	font-weight: 750;
	color: var(--pbtc-muted);
}

.pbtc-refinement-card[open] .pbtc-refinement-edit-hint {
	transform: rotate(180deg);
}

.pbtc-refinement-body {
	padding: 0 16px 16px;
	border-top: 1px solid var(--pbtc-line);
	background: var(--pbtc-white);
}

.pbtc-scene-open {
	position: relative;
	display: block;
	text-decoration: none;
	color: inherit;
	cursor: zoom-in;
}

.pbtc-scene-open:focus {
	outline: 3px solid rgba(247, 147, 26, 0.24);
	outline-offset: -3px;
}

.pbtc-scene-zoom {
	position: absolute;
	right: 10px;
	bottom: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(23, 50, 77, 0.15);
	padding: 6px 9px;
	font-size: 0.76rem;
	font-weight: 800;
	color: var(--pbtc-ink);
	box-shadow: 0 3px 10px rgba(23, 50, 77, 0.10);
}

.pbtc-scene-dialog {
	width: min(94vw, 1180px);
	max-width: 1180px;
	max-height: 92vh;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: var(--pbtc-white);
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.30);
}

.pbtc-scene-dialog::backdrop {
	background: rgba(10, 20, 30, 0.75);
}

.pbtc-scene-dialog-toolbar {
	display: flex;
	justify-content: flex-end;
	padding: 8px 10px;
	border-bottom: 1px solid var(--pbtc-line);
}

.pbtc-scene-dialog-close {
	appearance: none;
	border: 1px solid var(--pbtc-line);
	border-radius: 999px;
	background: var(--pbtc-white);
	padding: 7px 11px;
	font: inherit;
	font-weight: 750;
	cursor: pointer;
}

.pbtc-scene-dialog img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	max-height: calc(92vh - 52px);
	margin: 0 auto;
	object-fit: contain;
}

@media (max-width: 700px) {
	.pbtc-journey-top {
		align-items: stretch;
		flex-direction: column;
	}

	.pbtc-journey-actions {
		justify-content: flex-start;
	}

	.pbtc-journey-actions .pbtc-mini-button {
		width: auto;
	}

	.pbtc-refinement-summary {
		align-items: flex-start;
	}
}

.pbtc-product-seed {
	margin-top: 16px;
	border: 1px dashed #c6d1da;
	border-radius: 12px;
	background: #f8fafb;
	padding: 0 12px;
}

.pbtc-product-seed > summary {
	cursor: pointer;
	font-weight: 800;
	padding: 11px 0;
	font-size: 0.88rem;
}

.pbtc-product-seed-body {
	padding: 0 0 12px;
}

.pbtc-product-seed-card {
	border-top: 1px solid var(--pbtc-line);
	padding: 13px 0;
}

.pbtc-product-seed-head {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: flex-start;
}

.pbtc-product-seed-head > div {
	display: grid;
	gap: 2px;
}

.pbtc-product-seed-head small,
.pbtc-product-seed-card small {
	color: var(--pbtc-muted);
}

.pbtc-product-seed-head > span {
	font-size: 0.75rem;
	font-weight: 800;
	border-radius: 999px;
	border: 1px solid var(--pbtc-line);
	background: var(--pbtc-white);
	padding: 5px 8px;
	white-space: nowrap;
}

.pbtc-product-facts {
	display: grid;
	gap: 8px;
	margin-top: 10px;
}

.pbtc-product-facts > div {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.pbtc-product-facts > div > span:last-child {
	display: grid;
	gap: 2px;
}

.pbtc-product-facts strong {
	font-size: 0.82rem;
}

.pbtc-product-facts small {
	font-size: 0.79rem;
	line-height: 1.35;
}

.pbtc-product-sources {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 10px;
	font-size: 0.78rem;
}

.pbtc-product-sources a {
	font-weight: 750;
}

.pbtc-product-verified {
	margin: 10px 0 0;
	font-size: 0.78rem;
	color: var(--pbtc-muted);
}


/* v0.8.1 · cabecera por fases y reinicio discreto */
.pbtc-journey-conclusion > div {
	min-width: 0;
}

.pbtc-journey-phase {
	margin: 5px 0 0;
	max-width: 66ch;
	font-size: 0.86rem;
	line-height: 1.45;
	color: var(--pbtc-muted);
}

.pbtc-reset-button {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 36px;
	border: 1px solid #d7e0e7;
	border-radius: 999px;
	background: rgba(255,255,255,0.72);
	box-shadow: 0 2px 8px rgba(23, 50, 77, 0.04);
	padding: 7px 12px;
	color: var(--pbtc-muted);
	font: inherit;
	font-size: 0.82rem;
	font-weight: 750;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.pbtc-reset-button span {
	display: inline-grid;
	place-items: center;
	width: 1.45em;
	height: 1.45em;
	border-radius: 999px;
	background: #f0f4f7;
	font-size: 0.9em;
}

.pbtc-reset-button:hover,
.pbtc-reset-button:focus-visible {
	border-color: #b9c8d3;
	background: var(--pbtc-white);
	color: var(--pbtc-ink);
	transform: translateY(-1px);
}

@media (max-width: 700px) {
	.pbtc-journey-phase {
		max-width: none;
	}
}

/* v0.9 · onboarding progresivo, nivel tecnico y glosario contextual */
.pbtc-guide-card > .pbtc-guide-eyebrow {
	margin-bottom: 8px;
}

.pbtc-guide-card > h1 {
	margin-bottom: 0;
}

.pbtc-journey {
	margin: 18px 0 26px;
}

.pbtc-question-number {
	color: var(--pbtc-orange-dark);
}

.pbtc-question-intro {
	font-size: 1.02rem;
	line-height: 1.65;
	color: #30485f;
}

.pbtc-level-note {
	margin: 14px 0 4px;
	border-radius: 12px;
	border: 1px solid #e3e9ee;
	background: #f8fafb;
	color: var(--pbtc-ink);
}

.pbtc-level-note-beginner {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 12px 14px;
	border-color: #f3d5a7;
	background: #fffaf1;
}

.pbtc-level-note-beginner > span {
	font-size: 1.15rem;
	line-height: 1.3;
}

.pbtc-level-note-beginner strong {
	display: block;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--pbtc-orange-dark);
}

.pbtc-level-note-beginner p,
.pbtc-level-note-technical p {
	margin: 4px 0 0;
	line-height: 1.55;
}

.pbtc-level-note-technical {
	padding: 0 14px;
}

.pbtc-level-note-technical summary {
	cursor: pointer;
	padding: 10px 0;
	font-weight: 750;
	font-size: 0.88rem;
}

.pbtc-level-note-technical p {
	padding-bottom: 12px;
	color: var(--pbtc-muted);
}

.pbtc-reading-collapsed {
	padding: 0;
	overflow: hidden;
}

.pbtc-reading-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	cursor: pointer;
	padding: 14px 16px;
	font-weight: 800;
	color: var(--pbtc-ink);
	list-style-position: inside;
}

.pbtc-reading-summary small {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--pbtc-muted);
	white-space: nowrap;
}

.pbtc-reading-collapsed-body {
	padding: 0 16px 16px;
	border-top: 1px solid var(--pbtc-line);
}

.pbtc-reading-collapsed .pbtc-reading-grid {
	margin-top: 14px;
}

.pbtc-journey-action,
a.pbtc-journey-action,
button.pbtc-journey-action {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 38px;
	border: 1px solid transparent;
	border-radius: 999px;
	padding: 8px 13px;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(23, 50, 77, 0.06);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.pbtc-journey-result-link,
a.pbtc-journey-result-link {
	border-color: #efb763 !important;
	background: #fff2df !important;
	color: #6b3a00 !important;
}

.pbtc-reset-button,
button.pbtc-reset-button {
	border-color: #c7d8e5 !important;
	background: #eef5fa !important;
	color: #28445d !important;
	box-shadow: 0 3px 10px rgba(23, 50, 77, 0.05) !important;
}

.pbtc-reset-button span {
	display: inline;
	width: auto;
	height: auto;
	background: transparent;
}

.pbtc-journey-action:hover,
.pbtc-journey-action:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 6px 15px rgba(23, 50, 77, 0.10);
}

.pbtc-glossary-term {
	position: relative;
	color: inherit;
	text-decoration-line: underline;
	text-decoration-style: dotted;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-decoration-color: #d88922;
	font-weight: inherit;
}

.pbtc-glossary-mark {
	display: inline-grid;
	place-items: center;
	width: 1.05em;
	height: 1.05em;
	margin-left: 0.18em;
	border-radius: 999px;
	background: #fff3df;
	border: 1px solid #efc17f;
	color: #925300;
	font-size: 0.64em;
	font-weight: 900;
	line-height: 1;
	vertical-align: 0.18em;
}

@media (hover: hover) and (pointer: fine) {
	.pbtc-glossary-term::after {
		content: attr(data-glossary-label) " — " attr(data-glossary-definition);
		position: absolute;
		left: 50%;
		bottom: calc(100% + 10px);
		transform: translateX(-50%) translateY(3px);
		width: min(330px, 70vw);
		padding: 10px 12px;
		border: 1px solid #d8e0e6;
		border-radius: 10px;
		background: #ffffff;
		box-shadow: 0 10px 28px rgba(23, 50, 77, 0.18);
		color: #263e54;
		font-size: 0.78rem;
		font-weight: 500;
		line-height: 1.45;
		text-decoration: none;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		z-index: 50;
		transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
	}

	.pbtc-glossary-term:hover::after,
	.pbtc-glossary-term:focus-visible::after {
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%) translateY(0);
	}
}

@media (max-width: 700px) {
	.pbtc-reading-summary {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.pbtc-reading-summary small {
		white-space: normal;
	}

	.pbtc-journey-actions .pbtc-journey-action {
		width: auto;
	}

	.pbtc-glossary-term {
		text-decoration-style: solid;
	}
}

/* v0.10 · lectura más clara, revisión compacta y transición dinámica entre preguntas */
.pbtc-question-step {
	margin-bottom: 16px;
}

.pbtc-question-form {
	margin-bottom: 28px;
}

.pbtc-question-actions {
	margin-bottom: 2px;
}

.pbtc-explain,
.pbtc-reading-collapsed {
	margin-top: 0;
}

/* Un único lenguaje visual para desplegables. */
.pbtc-explain > summary,
.pbtc-readiness > summary,
.pbtc-reading-summary,
.pbtc-requirements-summary,
.pbtc-product-seed > summary {
	position: relative;
	list-style: none;
	padding-right: 34px;
}

.pbtc-explain > summary::-webkit-details-marker,
.pbtc-readiness > summary::-webkit-details-marker,
.pbtc-reading-summary::-webkit-details-marker,
.pbtc-requirements-summary::-webkit-details-marker,
.pbtc-product-seed > summary::-webkit-details-marker {
	display: none;
}

.pbtc-explain > summary::after,
.pbtc-readiness > summary::after,
.pbtc-reading-summary::after,
.pbtc-requirements-summary::after,
.pbtc-product-seed > summary::after {
	content: "⌄";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-54%);
	font-size: 1.15rem;
	font-weight: 900;
	color: var(--pbtc-orange-dark);
	transition: transform 0.15s ease;
}

.pbtc-explain[open] > summary::after,
.pbtc-readiness[open] > summary::after,
.pbtc-reading-collapsed[open] > .pbtc-reading-summary::after,
.pbtc-requirements-review[open] > .pbtc-requirements-summary::after,
.pbtc-product-seed[open] > summary::after {
	transform: translateY(-45%) rotate(180deg);
}

/* El enlace al glosario conserva el subrayado, sin icono adicional. */
.pbtc-glossary-mark {
	display: none !important;
}

/* Revisión: preguntas y respuestas deben leerse como contenido principal, no como metadatos. */
.pbtc-review-row {
	padding: 16px 17px;
}

.pbtc-review-row .pbtc-review-question {
	font-size: 1rem;
	line-height: 1.4;
	font-weight: 750;
	color: var(--pbtc-ink);
}

.pbtc-review-row .pbtc-review-answer {
	font-size: 1.05rem;
	line-height: 1.4;
}

.pbtc-open-decisions {
	margin: 20px 0 24px;
	padding: 17px 18px;
	border: 1px solid #f0c67f;
	border-radius: 14px;
	background: #fff9ee;
}

.pbtc-open-decisions h3 {
	margin: 0 0 8px;
	font-size: 1.18rem;
}

.pbtc-open-decisions ul {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.pbtc-requirements-review {
	padding: 0;
	overflow: hidden;
	background: #fbfcfd;
}

.pbtc-requirements-summary {
	cursor: pointer;
	padding: 17px 50px 17px 18px;
}

.pbtc-requirements-summary > span {
	display: grid;
	gap: 4px;
}

.pbtc-requirements-summary strong {
	font-size: 1.16rem;
	color: var(--pbtc-ink);
}

.pbtc-requirements-summary small {
	font-size: 0.94rem;
	font-weight: 550;
	line-height: 1.45;
	color: var(--pbtc-muted);
}

.pbtc-requirements-review-body {
	padding: 0 18px 20px;
	border-top: 1px solid var(--pbtc-line);
}

/* Estado y preparación explicados con texto suficiente. */
.pbtc-status-grid > div small {
	display: block;
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--pbtc-muted);
}

.pbtc-readiness-indicator {
	display: grid !important;
	gap: 3px;
}

.pbtc-readiness-indicator strong {
	font-size: 0.94rem;
	color: var(--pbtc-ink);
}

.pbtc-readiness-indicator small {
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--pbtc-muted);
}

/* Los componentes se distribuyen en líneas; nunca fuerzan scroll horizontal. */
.pbtc-component-flow {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	align-items: stretch;
	gap: 10px;
	overflow: visible;
	padding: 2px 0 4px;
}

.pbtc-component-node {
	min-width: 0;
	width: auto;
	padding: 14px;
}

.pbtc-component-node strong {
	font-size: 1rem;
	line-height: 1.3;
}

.pbtc-component-node small {
	font-size: 0.84rem;
	line-height: 1.35;
}

.pbtc-component-node-icon {
	font-size: 1.4rem;
}

.pbtc-component-arrow {
	display: none;
}

.pbtc-component-family {
	font-size: 0.9rem;
}

.pbtc-role-id {
	font-size: 0.82rem;
}

.pbtc-guide-card h5 {
	font-size: 1.06rem;
	line-height: 1.35;
}

/* Comparativa piloto de productos por función. */
.pbtc-product-comparison > summary {
	font-size: 1rem;
	font-weight: 800;
}

.pbtc-product-comparison-list {
	display: grid;
	gap: 14px;
}

.pbtc-product-compare-card {
	border-left-width: 4px;
}

.pbtc-product-status-compatible {
	border-left-color: #2f9e55;
}

.pbtc-product-status-pending {
	border-left-color: #d58a13;
}

.pbtc-product-status-incompatible {
	border-left-color: #c44545;
}

.pbtc-product-role-score {
	white-space: nowrap;
	font-size: 0.86rem !important;
}

.pbtc-product-role-status {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 12px 0 8px;
}

.pbtc-product-role-signals {
	display: grid;
	gap: 8px;
	margin: 12px 0;
}

.pbtc-product-signal {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px;
	align-items: flex-start;
}

.pbtc-product-signal > span:last-child {
	display: grid;
	gap: 2px;
}

.pbtc-product-signal strong {
	font-size: 0.94rem;
}

.pbtc-product-signal small {
	font-size: 0.86rem;
	line-height: 1.4;
	color: var(--pbtc-muted);
}

.pbtc-product-verified {
	font-size: 0.9rem;
	line-height: 1.45;
}

/* Durante el fetch de la siguiente pregunta se evita un doble envío. */
.pbtc-guide-card.is-dynamic-loading {
	opacity: 0.72;
	pointer-events: none;
	transition: opacity 0.12s ease;
}

@media (max-width: 700px) {
	.pbtc-component-flow {
		grid-template-columns: 1fr;
	}

	.pbtc-review-row .pbtc-review-question {
		font-size: 0.98rem;
	}

	.pbtc-status-grid > div small,
	.pbtc-readiness-indicator small {
		font-size: 0.9rem;
	}
}

/* Evita microtexto excesivamente pequeño en elementos interactivos o informativos. */
.pbtc-score span,
.pbtc-rank,
.pbtc-out-row span,
.pbtc-reading-label,
.pbtc-reading-pending,
.pbtc-feature-catalog-head > span,
.pbtc-feature-meta,
.pbtc-component-map-head > span,
.pbtc-component-level-label,
.pbtc-journey-conclusion small,
.pbtc-journey-checks > span,
.pbtc-refinement-edit-hint,
.pbtc-scene-zoom,
.pbtc-product-seed-head > span,
.pbtc-product-sources {
	font-size: 0.86rem;
}

.pbtc-component-requirement strong,
.pbtc-component-requirement p,
.pbtc-product-facts strong,
.pbtc-product-facts small {
	font-size: 0.9rem;
}

/* v0.11 · interacción más fluida, jerarquía tipográfica y controles coherentes */
.pbtc-question-step {
	margin-bottom: 22px;
	font-size: 0.96rem;
}

.pbtc-question-intro,
.pbtc-guide-section > p,
.pbtc-explain p,
.pbtc-feedback-body,
.pbtc-muted-note {
	font-size: 1rem;
	line-height: 1.62;
}

.pbtc-choice span {
	font-size: 1.02rem;
	line-height: 1.45;
}

.pbtc-question-form {
	margin-bottom: 36px;
}

.pbtc-question-actions {
	margin-top: 8px;
	margin-bottom: 0;
}

.pbtc-question-actions .pbtc-button-next {
	font-size: 1.06rem;
	padding: 13px 24px;
	color: #17212b !important;
}

.pbtc-question-actions + .pbtc-explain {
	margin-top: 28px;
}

/* Los tres desplegables de apoyo usan exactamente el mismo indicador. */
.pbtc-explain > summary,
.pbtc-reading-summary,
.pbtc-feedback > summary {
	position: relative;
	list-style: none;
	padding-right: 42px;
	font-size: 1rem;
	line-height: 1.4;
}

.pbtc-feedback > summary::-webkit-details-marker,
.pbtc-explain > summary::-webkit-details-marker,
.pbtc-reading-summary::-webkit-details-marker {
	display: none;
}

.pbtc-explain > summary::after,
.pbtc-reading-summary::after,
.pbtc-feedback > summary::after {
	content: "▸";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1rem;
	font-weight: 900;
	color: var(--pbtc-ink);
	transition: transform 0.15s ease;
}

.pbtc-explain[open] > summary::after,
.pbtc-reading-collapsed[open] > .pbtc-reading-summary::after,
.pbtc-feedback[open] > summary::after {
	transform: translateY(-50%) rotate(90deg);
}

.pbtc-reading-collapsed {
	margin-top: 16px;
}

.pbtc-feedback {
	margin-top: 32px;
}

.pbtc-level-note-technical summary {
	font-size: 0.98rem;
}

.pbtc-level-note-technical p {
	font-size: 0.98rem;
	line-height: 1.6;
}

/* Decisiones abiertas: cada punto respira y el icono no invade el margen. */
.pbtc-open-decisions {
	padding: 20px 22px;
}

.pbtc-open-decisions .pbtc-muted-note {
	margin-bottom: 16px;
}

.pbtc-open-decisions ul {
	display: grid;
	gap: 0;
	margin-top: 8px;
}

.pbtc-open-decisions .pbtc-signal-item {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 10px;
	margin: 0;
	padding: 13px 0;
	line-height: 1.52;
}

.pbtc-open-decisions .pbtc-signal-item + .pbtc-signal-item {
	border-top: 1px solid #f0dfbd;
}

.pbtc-open-decisions .pbtc-signal-item .pbtc-icon {
	margin: 0.14em 0 0;
}

.pbtc-open-decisions .pbtc-signal-item strong {
	display: inline;
	font-size: 1.02rem;
	line-height: 1.45;
}

/* Revisión: botones opuestos, redondeados y con semántica visual clara. */
.pbtc-review-actions {
	width: 100%;
	justify-content: space-between;
	gap: 18px;
	margin-top: 28px;
}

.pbtc-review-actions form {
	margin: 0;
}

.pbtc-review-back,
.pbtc-review-calculate {
	border-radius: 999px !important;
	font-size: 1rem;
	padding: 12px 20px;
	box-shadow: 0 4px 12px rgba(23, 50, 77, 0.07);
}

.pbtc-review-back {
	background: #fff2df !important;
	border: 1px solid #efb763 !important;
	color: #6b3a00 !important;
}

.pbtc-review-calculate {
	background: var(--pbtc-good-soft) !important;
	border: 1px solid #9fd3ad !important;
	color: #105f2c !important;
}

.pbtc-review-back:hover,
.pbtc-review-back:focus-visible,
.pbtc-review-calculate:hover,
.pbtc-review-calculate:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 7px 18px rgba(23, 50, 77, 0.11);
}

/* Ficha de requisitos: colapsada también en resultados. */
.pbtc-requirements-result {
	margin: 24px 0;
}

.pbtc-requirements-result .pbtc-requirements-summary strong,
.pbtc-requirements-review .pbtc-requirements-summary strong {
	font-size: 1.18rem;
}

/* Afinado opcional: elegir = guardar. El texto no gira; solo la flecha. */
.pbtc-refinement-summary {
	align-items: flex-start;
}

.pbtc-refinement-summary-main > strong {
	font-size: 1.02rem;
	line-height: 1.45;
}

.pbtc-refinement-summary-main small {
	font-size: 0.92rem;
}

.pbtc-refinement-edit-hint {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 0.9rem;
	transform: none !important;
}

.pbtc-refinement-chevron {
	display: inline-block;
	font-size: 1rem;
	transition: transform 0.15s ease;
}

.pbtc-refinement-card[open] .pbtc-refinement-chevron {
	transform: rotate(90deg);
}

.pbtc-refinement-option span {
	font-size: 1rem;
	line-height: 1.45;
}

.pbtc-refinement-card.is-dynamic-saving {
	opacity: 0.7;
	pointer-events: none;
	transition: opacity 0.12s ease;
}

/* El indicador de capacidad se explica en lenguaje natural; sin protagonismo de una cifra. */
.pbtc-readiness-indicator strong {
	font-size: 1rem;
	line-height: 1.4;
}

.pbtc-readiness-indicator small {
	font-size: 0.94rem;
	line-height: 1.5;
}

/* El mapa de componentes debe envolver siempre, incluso con etiquetas largas. */
.pbtc-component-flow {
	grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
}

.pbtc-component-node {
	white-space: normal;
	overflow-wrap: anywhere;
}

.pbtc-component-node strong {
	font-size: 1.05rem;
}

.pbtc-component-node small {
	font-size: 0.92rem;
}

@media (max-width: 700px) {
	.pbtc-review-actions {
		flex-direction: row;
		align-items: center;
	}

	.pbtc-review-actions form,
	.pbtc-review-actions .pbtc-button {
		width: auto;
	}

	.pbtc-review-back,
	.pbtc-review-calculate {
		font-size: 0.95rem;
		padding: 11px 15px;
	}

	.pbtc-open-decisions {
		padding: 18px 16px;
	}

	.pbtc-refinement-summary {
		gap: 10px;
	}
}

/* v0.11 · evidencia por característica del catálogo piloto */
.pbtc-product-role-metrics {
	display: grid;
	justify-items: end;
	gap: 2px;
	min-width: 150px;
}

.pbtc-product-role-metrics > span {
	font-size: 0.9rem;
	font-weight: 800;
	color: var(--pbtc-ink);
}

.pbtc-product-role-metrics > small {
	font-size: 0.86rem;
	font-weight: 700;
	color: var(--pbtc-muted);
}

.pbtc-evidence-line {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
	align-items: center;
	margin-top: 5px;
	font-size: 0.83rem;
	line-height: 1.35;
	color: var(--pbtc-muted);
}

.pbtc-evidence-line > span:first-child {
	font-weight: 750;
}

.pbtc-evidence-line.is-fresh > span:first-child {
	color: var(--pbtc-good);
}

.pbtc-evidence-line.is-due > span:first-child {
	color: var(--pbtc-warn);
}

.pbtc-evidence-line.is-missing > span:first-child {
	color: var(--pbtc-bad);
}

.pbtc-evidence-line a {
	font-weight: 750;
	text-decoration: none;
}

.pbtc-evidence-line a:hover,
.pbtc-evidence-line a:focus-visible {
	text-decoration: underline;
}

@media (max-width: 700px) {
	.pbtc-product-seed-head {
		align-items: flex-start;
	}

	.pbtc-product-role-metrics {
		justify-items: start;
		min-width: 0;
	}
}

/* v0.12 · desplegables, lectura de respuestas y explicación didáctica de componentes */

/* Los tres bloques de apoyo comparten un indicador grande a la izquierda. */
.pbtc-explain > summary,
.pbtc-reading-summary,
.pbtc-feedback > summary {
	position: relative;
	padding-left: 48px !important;
	padding-right: 20px !important;
	font-size: 1.03rem;
}

.pbtc-explain > summary::after,
.pbtc-reading-summary::after,
.pbtc-feedback > summary::after {
	content: none !important;
	display: none !important;
}

.pbtc-explain > summary::before,
.pbtc-reading-summary::before,
.pbtc-feedback > summary::before {
	content: "▸";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.28rem;
	line-height: 1;
	font-weight: 900;
	color: var(--pbtc-ink);
	transition: transform 0.15s ease, color 0.15s ease;
}

.pbtc-explain[open] > summary::before,
.pbtc-reading-collapsed[open] > .pbtc-reading-summary::before,
.pbtc-feedback[open] > summary::before {
	transform: translateY(-50%) rotate(90deg);
	color: var(--pbtc-orange-dark);
}

/* CTA de avance inequívoco. */
.pbtc-question-actions .pbtc-button-next {
	color: #ffffff !important;
	font-size: 1.09rem;
	font-weight: 900;
	letter-spacing: 0.045em;
	text-transform: uppercase;
	padding: 14px 26px;
}

/* Revisión: primero la pregunta, después una respuesta claramente distinta. */
.pbtc-review-row > div {
	min-width: 0;
}

.pbtc-review-row .pbtc-review-question {
	display: block;
	font-size: 1.04rem;
	line-height: 1.45;
	font-weight: 800;
	color: var(--pbtc-ink);
}

.pbtc-review-row .pbtc-review-answer {
	display: block;
	margin-top: 7px;
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 500;
	color: #465b6f;
}

/* Explicación de cada familia de componente, una sola vez por arquitectura. */
.pbtc-component-family-help {
	margin-top: 22px;
	border-top: 1px solid var(--pbtc-line);
	padding-top: 20px;
}

.pbtc-component-help-intro {
	margin: 0 0 13px;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--pbtc-muted);
}

.pbtc-component-help-intro strong {
	color: var(--pbtc-ink);
}

.pbtc-component-family-help-list {
	display: grid;
	gap: 10px;
}

.pbtc-component-family-explainer {
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	background: #ffffff;
	overflow: hidden;
}

.pbtc-component-family-explainer > summary {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	list-style: none;
	cursor: pointer;
	padding: 15px 46px 15px 16px;
	color: var(--pbtc-ink);
}

.pbtc-component-family-explainer > summary::-webkit-details-marker {
	display: none;
}

.pbtc-component-family-explainer > summary::after {
	content: "▸";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.08rem;
	font-weight: 900;
	transition: transform 0.15s ease;
}

.pbtc-component-family-explainer[open] > summary::after {
	transform: translateY(-50%) rotate(90deg);
}

.pbtc-component-family-summary-icon {
	font-size: 1.22rem;
	line-height: 1;
	text-align: center;
}

.pbtc-component-family-explainer > summary strong {
	font-size: 1.04rem;
	line-height: 1.35;
}

.pbtc-component-family-explainer > summary small {
	font-size: 0.9rem;
	font-weight: 650;
	color: var(--pbtc-muted);
	white-space: nowrap;
}

.pbtc-component-family-explainer-body {
	padding: 2px 18px 18px;
	border-top: 1px solid #edf1f4;
}

.pbtc-component-family-explainer-body > p {
	font-size: 1rem;
	line-height: 1.65;
	margin: 16px 0;
}

.pbtc-component-key-idea {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	padding: 12px 14px;
	border: 1px solid #b8dfc3;
	border-radius: 12px;
	background: #f0faf3;
	color: #185f31;
	margin: 12px 0 16px;
}

.pbtc-component-key-idea > span {
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.4;
}

.pbtc-component-key-idea p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
}

.pbtc-component-family-explainer .pbtc-reading-collapsed {
	margin-top: 12px;
}

/* Siguiente fase: cada candidato dispone de una ficha auditable, sin saturar la comparación principal. */
.pbtc-product-audit {
	margin-top: 15px;
	border-top: 1px solid var(--pbtc-line);
	padding-top: 4px;
}

.pbtc-product-audit > summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 12px 34px 12px 0;
	font-size: 0.98rem;
	font-weight: 800;
	color: var(--pbtc-ink);
}

.pbtc-product-audit > summary::-webkit-details-marker {
	display: none;
}

.pbtc-product-audit > summary::after {
	content: "▸";
	position: absolute;
	right: 7px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.02rem;
	font-weight: 900;
	transition: transform 0.15s ease;
}

.pbtc-product-audit[open] > summary::after {
	transform: translateY(-50%) rotate(90deg);
}

.pbtc-product-audit-body {
	padding: 0 0 8px;
}

.pbtc-product-editorial-state {
	font-size: 0.94rem;
	margin: 10px 0 12px;
}

.pbtc-product-audit-list {
	display: grid;
	gap: 9px;
}

.pbtc-product-audit-row {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	border: 1px solid #e6ebef;
	border-radius: 11px;
	padding: 11px 12px;
	background: #fbfcfd;
}

.pbtc-product-audit-row > div > strong {
	display: block;
	font-size: 0.94rem;
	line-height: 1.4;
}

.pbtc-product-audit-row > div > span:not(.pbtc-evidence-line) {
	display: block;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--pbtc-muted);
	margin-top: 2px;
}

.pbtc-product-audit-row p {
	font-size: 0.92rem;
	line-height: 1.5;
	margin: 6px 0 0;
}

@media (max-width: 700px) {
	.pbtc-component-family-explainer > summary {
		grid-template-columns: 30px minmax(0, 1fr);
	}

	.pbtc-component-family-explainer > summary small {
		grid-column: 2;
		white-space: normal;
	}

	.pbtc-reading-summary {
		align-items: flex-start;
	}

	.pbtc-reading-summary small {
		white-space: normal;
		text-align: right;
	}
}

/* Método de verificación del catálogo: visible solo bajo demanda. */
.pbtc-verification-method {
	margin: 22px 0 26px;
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	background: #fbfcfd;
	overflow: hidden;
}

.pbtc-verification-method > summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 15px 46px 15px 18px;
	font-size: 1.02rem;
	font-weight: 850;
	color: var(--pbtc-ink);
}

.pbtc-verification-method > summary::-webkit-details-marker {
	display: none;
}

.pbtc-verification-method > summary::after {
	content: "▸";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.1rem;
	font-weight: 900;
	transition: transform 0.15s ease;
}

.pbtc-verification-method[open] > summary::after {
	transform: translateY(-50%) rotate(90deg);
}

.pbtc-verification-method-body {
	padding: 0 18px 18px;
	border-top: 1px solid #e8edf1;
}

.pbtc-verification-method-body > p {
	font-size: 1rem;
	line-height: 1.6;
	margin: 16px 0;
}

.pbtc-verification-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.pbtc-verification-steps > div {
	border: 1px solid #dfe6ec;
	border-radius: 12px;
	padding: 12px;
	background: #ffffff;
}

.pbtc-verification-steps > div > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border-radius: 999px;
	background: #fff2df;
	color: #7a4300;
	font-weight: 900;
	margin-bottom: 8px;
}

.pbtc-verification-steps strong {
	display: block;
	font-size: 0.96rem;
	margin-bottom: 5px;
}

.pbtc-verification-steps p {
	font-size: 0.9rem;
	line-height: 1.5;
	margin: 0;
	color: var(--pbtc-muted);
}

@media (max-width: 760px) {
	.pbtc-verification-steps {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 480px) {
	.pbtc-verification-steps {
		grid-template-columns: 1fr;
	}
}

/* v0.13 · cierre de Guía 1, nueva Guía 2 y últimos ajustes de interfaz */

/* Los tres acordeones de ayuda comparten exactamente el mismo indicador, grande y a la izquierda. */
.pbtc-explain {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.pbtc-explain > summary,
.pbtc-reading-summary,
.pbtc-feedback > summary {
	padding-left: 48px !important;
}

.pbtc-explain > summary::before,
.pbtc-reading-summary::before,
.pbtc-feedback > summary::before {
	left: 17px !important;
	font-size: 1.45rem !important;
}

.pbtc-explain > p {
	padding-left: 18px;
	padding-right: 18px;
}

/* Navegación de preguntas: CTA claro pero sin sobredimensionarlo. */
.pbtc-question-actions .pbtc-button-next {
	color: #ffffff !important;
	font-size: 0.98rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.035em;
	padding: 12px 22px;
}

.pbtc-question-actions .pbtc-button-back {
	font-size: 0.98rem;
	font-weight: 500 !important;
}

/* En afinado, una pregunta pendiente ya está abierta: no necesita el texto "Responder". */
.pbtc-refinement-card:not(.pbtc-refinement-answered) .pbtc-refinement-edit-hint {
	min-width: 24px;
	justify-content: flex-end;
}

/* La Guía 1 termina en la arquitectura: dos salidas claras, aprender o construir. */
.pbtc-architecture-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}

.pbtc-mini-button-secondary {
	background: #ffffff !important;
	color: var(--pbtc-ink) !important;
	border-color: var(--pbtc-line) !important;
}

.pbtc-mini-button-build {
	background: #e96500 !important;
	border-color: #e96500 !important;
	color: #ffffff !important;
}

.pbtc-inline-action-group {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 8px;
}

.pbtc-inline-action-group > span {
	color: #94a2af;
}

/* Guía 2 · del sistema elegido a sus piezas y estrategia. */
.pbtc-build-roadmap {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 22px 0 28px;
}

.pbtc-build-roadmap > div {
	position: relative;
	min-width: 0;
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	background: #fbfcfd;
	padding: 14px 14px 14px 48px;
}

.pbtc-build-roadmap > div > span {
	position: absolute;
	left: 14px;
	top: 14px;
	display: grid;
	place-items: center;
	width: 25px;
	height: 25px;
	border-radius: 999px;
	background: #eef2f5;
	font-size: 0.82rem;
	font-weight: 900;
	color: var(--pbtc-ink);
}

.pbtc-build-roadmap > div.is-active {
	border-color: #f3b36f;
	background: #fff9f1;
}

.pbtc-build-roadmap > div.is-active > span {
	background: #e96500;
	color: #fff;
}

.pbtc-build-roadmap strong,
.pbtc-build-roadmap small {
	display: block;
}

.pbtc-build-roadmap strong {
	font-size: 0.98rem;
	line-height: 1.3;
	color: var(--pbtc-ink);
}

.pbtc-build-roadmap small {
	margin-top: 5px;
	font-size: 0.88rem;
	line-height: 1.45;
	color: var(--pbtc-muted);
}

.pbtc-build-section {
	margin: 30px 0 24px;
}

.pbtc-build-decision-list {
	display: grid;
	gap: 10px;
	margin-top: 14px;
}

.pbtc-build-decision {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	border: 1px solid #f0cf9e;
	border-radius: 12px;
	background: #fffaf2;
	padding: 12px 14px;
	font-size: 0.98rem;
	line-height: 1.55;
}

.pbtc-build-article-cta {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: center;
	margin: 28px 0;
	padding: 18px;
	border: 1px solid #dbe3e9;
	border-radius: 15px;
	background: #f8fafb;
}

.pbtc-build-article-cta > div > span,
.pbtc-build-article-cta > div > strong {
	display: block;
}

.pbtc-build-article-cta > div > span {
	font-size: 0.85rem;
	font-weight: 800;
	color: var(--pbtc-orange-dark);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.pbtc-build-article-cta > div > strong {
	font-size: 1.08rem;
	margin-top: 4px;
	color: var(--pbtc-ink);
}

.pbtc-build-article-cta p {
	margin: 6px 0 0;
}

/* CTA que vive dentro de los artículos editoriales, fuera de la guía. */
.pbtc-article-guide-cta {
	margin: 30px 0 8px;
	padding: 18px;
	border: 1px solid #f0cf9e;
	border-radius: 15px;
	background: #fff9f1;
}

.pbtc-article-guide-cta > div > strong {
	font-size: 1.08rem;
	color: var(--pbtc-ink);
}

.pbtc-article-guide-cta p {
	margin: 6px 0 14px;
}

.pbtc-article-guide-cta-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.pbtc-article-guide-cta-actions a {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 9px 14px;
	background: #ffffff;
	border: 1px solid #e5b77d;
	font-weight: 800;
	text-decoration: none;
	color: var(--pbtc-ink);
}

.pbtc-article-guide-cta-actions a:last-child {
	background: #e96500;
	border-color: #e96500;
	color: #ffffff;
}

@media (max-width: 800px) {
	.pbtc-build-roadmap {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 560px) {
	.pbtc-build-roadmap {
		grid-template-columns: 1fr;
	}

	.pbtc-build-article-cta {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* v0.14 · Guía 2: estrategia adaptativa antes de elegir herramientas */
.pbtc-build-roadmap > div.is-done {
	border-color: #b9ddc3;
	background: #f2faf4;
}

.pbtc-build-roadmap > div.is-done > span {
	background: #278b49;
	color: #ffffff;
}

.pbtc-strategy-guide {
	margin: 34px 0 28px;
	padding: 20px;
	border: 1px solid #ead7bd;
	border-radius: 18px;
	background: #fffdf9;
}

.pbtc-strategy-head {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 8px;
}

.pbtc-strategy-head h3 {
	margin: 3px 0 0;
	font-size: 1.28rem;
	line-height: 1.35;
}

.pbtc-strategy-head > span {
	flex: 0 0 auto;
	padding: 7px 11px;
	border-radius: 999px;
	background: #f2f5f7;
	font-size: 0.92rem;
	font-weight: 800;
	color: var(--pbtc-ink);
}

.pbtc-strategy-intro {
	margin: 8px 0 18px;
	font-size: 1.02rem;
	line-height: 1.65;
	color: #40576a;
}

.pbtc-strategy-list {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.pbtc-strategy-card {
	border: 1px solid #dfe6ec;
	border-radius: 14px;
	background: #ffffff;
	overflow: hidden;
	transition: border-color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
}

.pbtc-strategy-card.is-answered.tone-good {
	border-color: #b8dfc3;
	background: #f7fcf8;
}

.pbtc-strategy-card.is-answered.tone-warn {
	border-color: #efc37a;
	background: #fffaf1;
}

.pbtc-strategy-card.is-answered.tone-neutral {
	border-color: #ccd7df;
	background: #fafcfd;
}

.pbtc-strategy-card.is-dynamic-saving {
	opacity: 0.62;
	pointer-events: none;
}

.pbtc-strategy-summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 18px;
}

.pbtc-strategy-summary::-webkit-details-marker {
	display: none;
}

.pbtc-strategy-summary-main {
	min-width: 0;
}

.pbtc-strategy-summary-main > strong,
.pbtc-strategy-summary-main > small {
	display: block;
}

.pbtc-strategy-summary-main > strong {
	font-size: 1.05rem;
	line-height: 1.45;
	color: var(--pbtc-ink);
}

.pbtc-strategy-summary-main > small {
	margin-top: 5px;
	font-size: 0.94rem;
	line-height: 1.45;
	font-weight: 600;
	color: var(--pbtc-muted);
}

.pbtc-strategy-review-hint {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 0.9rem;
	font-weight: 800;
	color: #5c6d7c;
	white-space: nowrap;
}

.pbtc-strategy-chevron {
	display: inline-block;
	font-size: 1.08rem;
	font-weight: 900;
	transition: transform 0.15s ease;
}

.pbtc-strategy-card[open] .pbtc-strategy-chevron {
	transform: rotate(90deg);
}

.pbtc-strategy-body {
	border-top: 1px solid #edf1f4;
	padding: 17px 18px 18px;
}

.pbtc-strategy-question-intro {
	margin: 0 0 14px;
	font-size: 1rem;
	line-height: 1.65;
	color: #40576a;
}

.pbtc-strategy-context {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 8px;
	align-items: start;
	margin: 0 0 15px;
	padding: 11px 13px;
	border: 1px solid #d9e4ec;
	border-radius: 12px;
	background: #f7fafc;
}

.pbtc-strategy-context > span {
	font-size: 1.15rem;
}

.pbtc-strategy-context p {
	margin: 0;
	font-size: 0.96rem;
	line-height: 1.55;
}

.pbtc-strategy-options {
	display: grid;
	gap: 9px;
	margin-bottom: 18px;
}

.pbtc-strategy-option {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	padding: 13px 14px;
	border: 1px solid #dce4ea;
	border-radius: 12px;
	background: #ffffff;
	cursor: pointer;
	font-size: 1rem;
	line-height: 1.5;
}

.pbtc-strategy-option:hover,
.pbtc-strategy-option:focus-within {
	border-color: #e6a85f;
	background: #fffaf4;
}

.pbtc-strategy-option input {
	margin-top: 4px;
}

.pbtc-strategy-why {
	margin-top: 4px;
}

.pbtc-strategy-result {
	margin-top: 22px;
	padding: 17px;
	border: 1px solid #cddbe4;
	border-radius: 14px;
	background: #f9fbfc;
}

.pbtc-strategy-result-head {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 12px;
}

.pbtc-strategy-result-head span,
.pbtc-strategy-result-head strong,
.pbtc-strategy-result-head small {
	display: block;
}

.pbtc-strategy-result-head span {
	font-size: 0.83rem;
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: 0.045em;
	color: var(--pbtc-orange-dark);
}

.pbtc-strategy-result-head strong {
	margin-top: 3px;
	font-size: 1.05rem;
	line-height: 1.4;
	color: var(--pbtc-ink);
}

.pbtc-strategy-result-head small {
	padding: 6px 10px;
	border-radius: 999px;
	background: #eef2f5;
	font-weight: 800;
	white-space: nowrap;
}

.pbtc-strategy-result-list {
	display: grid;
	gap: 9px;
}

.pbtc-strategy-result-item {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	padding: 11px 12px;
	border-radius: 11px;
	background: #ffffff;
	border: 1px solid #e1e8ed;
}

.pbtc-strategy-result-item.tone-good {
	border-color: #b8dfc3;
}

.pbtc-strategy-result-item.tone-warn {
	border-color: #efc37a;
}

.pbtc-strategy-result-item strong {
	font-size: 0.98rem;
	line-height: 1.4;
}

.pbtc-strategy-result-item p {
	margin: 4px 0 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: #40576a;
}

@media (max-width: 700px) {
	.pbtc-strategy-guide {
		padding: 16px;
	}
	.pbtc-strategy-head,
	.pbtc-strategy-result-head {
		flex-direction: column;
	}
	.pbtc-strategy-summary {
		align-items: flex-start;
		padding: 15px;
	}
	.pbtc-strategy-review-hint > span:first-child {
		display: none;
	}
}

/* v0.15 · Public Guide 2 landing */
.pbtc-build-landing {
	padding-top: 8px;
}

.pbtc-build-architecture-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 22px;
}

.pbtc-build-architecture-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	border: 1px solid #dce4ea;
	border-radius: 16px;
	background: #ffffff;
}

.pbtc-build-architecture-card-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
}

.pbtc-build-architecture-card h3 {
	margin: 0;
	font-size: 1.32rem;
	font-weight: 800;
	line-height: 1.24;
	letter-spacing: -0.012em;
	color: var(--pbtc-ink);
}

.pbtc-build-architecture-card p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: #53697b;
}

/* 1.0.1-rc1 · La arquitectura debe dominar visualmente sobre las acciones. */
.pbtc-build-architecture-grid .pbtc-card-actions {
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 8px;
	flex-wrap: wrap;
}

.pbtc-build-architecture-grid .pbtc-mini-button {
	min-height: 38px;
	padding: 7px 11px;
	border-radius: 11px;
	font-size: 0.88rem;
	font-weight: 750;
	line-height: 1.2;
}

.pbtc-build-architecture-grid .pbtc-mini-button-secondary {
	background: #ffffff !important;
	border-color: #d9e2e8 !important;
}

.pbtc-build-architecture-grid .pbtc-mini-button-build {
	background: #fff6ea !important;
	border-color: #f2c27d !important;
	color: #8a3f00 !important;
}

.pbtc-build-architecture-grid .pbtc-mini-button-build:hover,
.pbtc-build-architecture-grid .pbtc-mini-button-build:focus-visible {
	background: #f7931a !important;
	border-color: #f7931a !important;
	color: #ffffff !important;
}

.pbtc-build-fit {
	flex: 0 0 auto;
	padding: 5px 9px;
	border-radius: 999px;
	background: #e9f7ed;
	color: #196b33;
	font-size: 0.82rem;
	font-weight: 800;
	white-space: nowrap;
}

.pbtc-build-fit.is-excluded {
	background: #fff1ed;
	color: #9a321e;
}

@media (max-width: 760px) {
	.pbtc-build-architecture-grid {
		grid-template-columns: 1fr;
	}
	.pbtc-build-architecture-card-head {
		flex-direction: column;
	}
}

/* v0.15 · Cards for the editorial /guias/ portal */
.pbtc-guides-index {
	margin: 26px 0;
}

.pbtc-guides-index-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.pbtc-guides-index-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 22px;
	border: 1px solid #dce4ea;
	border-radius: 18px;
	background: #ffffff;
}

.pbtc-guides-index-number {
	display: inline-flex;
	padding: 5px 10px;
	border-radius: 999px;
	background: #fff1df;
	color: var(--pbtc-orange-dark);
	font-size: 0.82rem;
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: .045em;
}

.pbtc-guides-index-card h3 {
	margin: 2px 0 0;
	font-size: 1.28rem;
	line-height: 1.3;
}

.pbtc-guides-index-card p {
	margin: 0 0 4px;
	font-size: 1rem;
	line-height: 1.6;
	color: #40576a;
}

@media (max-width: 760px) {
	.pbtc-guides-index-grid {
		grid-template-columns: 1fr;
	}
}

/* v0.16 · cierre público de Guía 1 */
.pbtc-guide-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: -4px 0 18px;
	font-size: 0.92rem;
	line-height: 1.4;
	color: var(--pbtc-muted);
}

.pbtc-guide-breadcrumbs a {
	color: var(--pbtc-ink);
	text-decoration: none;
	font-weight: 700;
}

.pbtc-guide-breadcrumbs a:hover,
.pbtc-guide-breadcrumbs a:focus-visible {
	color: var(--pbtc-orange-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pbtc-guide-breadcrumbs > span[aria-hidden="true"] {
	color: #98a4ae;
	font-size: 1.05rem;
}

.pbtc-guide-breadcrumbs > span[aria-current="page"] {
	font-weight: 650;
	color: var(--pbtc-muted);
}

.pbtc-guide-intro {
	margin: 4px 0 26px;
	padding: 20px;
	border: 1px solid #f0cf9e;
	border-radius: 17px;
	background: #fffaf3;
}

.pbtc-guide-intro > p {
	margin: 0 0 10px;
	font-size: 1rem;
	line-height: 1.65;
}

.pbtc-guide-intro .pbtc-guide-intro-lead {
	font-size: 1.08rem;
	font-weight: 700;
	color: var(--pbtc-ink);
}

.pbtc-guide-intro-points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.pbtc-guide-intro-points > div {
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid #eadfce;
	border-radius: 13px;
	background: #ffffff;
}

.pbtc-guide-intro-points strong,
.pbtc-guide-intro-points span {
	display: block;
}

.pbtc-guide-intro-points strong {
	margin-bottom: 4px;
	font-size: 0.96rem;
	color: var(--pbtc-ink);
}

.pbtc-guide-intro-points span {
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--pbtc-muted);
}

.pbtc-guide1-completion {
	margin: 34px 0 6px;
	padding: 22px;
	border: 1px solid #b9ddc3;
	border-radius: 18px;
	background: #f3faf5;
}

.pbtc-guide1-completion h3 {
	margin-top: 5px;
	margin-bottom: 10px;
}

.pbtc-guide1-completion > p:not(.pbtc-requirements-kicker) {
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
}

.pbtc-guide1-completion-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 18px;
}

.pbtc-guide1-completion-actions .pbtc-button-primary {
	background: #278b49;
	border-color: #278b49;
	color: #ffffff;
}

.pbtc-guide1-completion-actions .pbtc-button-primary:hover,
.pbtc-guide1-completion-actions .pbtc-button-primary:focus-visible {
	background: #1f733b;
	border-color: #1f733b;
}

.pbtc-guide1-completion-all {
	display: inline-block;
	margin-top: 14px;
	font-weight: 700;
	font-size: 0.92rem;
	color: var(--pbtc-ink);
	text-underline-offset: 3px;
}

.pbtc-result-secondary-actions {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid var(--pbtc-line);
}

@media (max-width: 720px) {
	.pbtc-guide-intro-points {
		grid-template-columns: 1fr;
	}

	.pbtc-guide1-completion-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.pbtc-guide1-completion-actions .pbtc-button {
		justify-content: center;
		width: 100%;
	}
}

/* v0.17 · Guía 2 design brief + Guía 3 */
.pbtc-design-brief,
.pbtc-tools-role-card,
.pbtc-tools-evidence-explainer {
	margin-top: 24px;
	border: 1px solid var(--pbtc-line);
	border-radius: 18px;
	background: #fff;
}

.pbtc-design-brief {
	padding: 22px;
	background: #fbfcfd;
}

.pbtc-design-brief > header h3,
.pbtc-tools-role-card h3,
.pbtc-tools-role-card h4,
.pbtc-tools-role-card h5 {
	color: var(--pbtc-ink);
}

.pbtc-design-role-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 14px;
	margin: 18px 0;
}

.pbtc-design-role-card {
	min-width: 0;
	padding: 16px;
	border: 1px solid #e3e8ed;
	border-radius: 14px;
	background: #fff;
}

.pbtc-design-role-card h4 {
	margin: 0 0 8px;
	font-size: 1.08rem;
}

.pbtc-design-role-card p,
.pbtc-design-role-card li,
.pbtc-design-system-rules li,
.pbtc-design-warnings li,
.pbtc-tools-role-card p,
.pbtc-tools-role-card li {
	font-size: 1rem;
	line-height: 1.58;
}

.pbtc-design-role-card ul,
.pbtc-design-system-rules ul,
.pbtc-design-warnings ul,
.pbtc-tools-role-requirements ul {
	margin: 10px 0 0;
	padding-left: 1.2rem;
}

.pbtc-design-system-rules,
.pbtc-design-warnings {
	margin-top: 16px;
	padding: 16px 18px;
	border-radius: 14px;
	background: #fff;
	border: 1px solid #e3e8ed;
}

.pbtc-design-warnings {
	border-color: #efd5a4;
	background: #fffaf1;
}

.pbtc-design-next {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid var(--pbtc-line);
}

.pbtc-design-next > div {
	min-width: 0;
}

.pbtc-design-next span,
.pbtc-tools-role-head span {
	display: block;
	font-size: .78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--pbtc-muted);
}

.pbtc-design-next strong {
	display: block;
	font-size: 1.1rem;
	margin-top: 3px;
}

.pbtc-design-next p {
	margin: 5px 0 0;
	color: var(--pbtc-muted);
}

.pbtc-button.is-disabled {
	opacity: .68;
}

.pbtc-tools-role-list {
	display: grid;
	gap: 22px;
	margin-top: 26px;
}

.pbtc-tools-role-card {
	padding: 22px;
	overflow: visible;
}

.pbtc-tools-role-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 16px;
}

.pbtc-tools-role-head h3 {
	margin: 3px 0 0;
	font-size: 1.35rem;
}

.pbtc-tools-role-head small {
	max-width: 50%;
	font-size: .96rem;
	line-height: 1.5;
	color: var(--pbtc-muted);
}

.pbtc-tools-role-requirements {
	padding: 16px 18px;
	border-radius: 14px;
	background: #f7f9fb;
}

.pbtc-tools-role-requirements h4 {
	margin: 0 0 8px;
	font-size: 1.08rem;
}

.pbtc-tools-role-requirements .pbtc-is-personalized {
	margin-top: 7px;
	padding: 8px 10px;
	border-radius: 10px;
	background: #fff8e9;
}

.pbtc-tools-scope-note {
	margin-top: 18px;
}

.pbtc-tools-evidence-explainer {
	padding: 0;
	overflow: hidden;
}

.pbtc-tools-evidence-explainer > summary {
	padding: 16px 18px;
	font-weight: 750;
	cursor: pointer;
}

.pbtc-tools-evidence-explainer > p {
	padding: 0 18px 18px;
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
}

@media (max-width: 720px) {
	.pbtc-design-next,
	.pbtc-tools-role-head {
		align-items: stretch;
		flex-direction: column;
	}

	.pbtc-design-next .pbtc-button {
		justify-content: center;
		width: 100%;
	}

	.pbtc-tools-role-head small {
		max-width: none;
	}

	.pbtc-tools-role-card,
	.pbtc-design-brief {
		padding: 18px;
	}
}

.pbtc-design-role-card h5 {
	margin: 15px 0 5px;
	font-size: .98rem;
}

.pbtc-personalized-requirements {
	list-style: none;
	padding-left: 0 !important;
}

.pbtc-personalized-requirements li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 7px;
	padding: 8px 10px;
	border-radius: 10px;
	background: #fff8e9;
}

.pbtc-design-requirements > .pbtc-design-role-grid,
.pbtc-design-tests > p,
.pbtc-design-tests > ul,
.pbtc-design-open > ul {
	margin-left: 16px;
	margin-right: 16px;
}

.pbtc-design-requirements > .pbtc-design-role-grid {
	margin-bottom: 18px;
}

/* v0.18 · divulgación progresiva transversal + selección por rol */
.pbtc-progressive-details {
	margin-top: 16px;
	border: 1px solid var(--pbtc-line);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.pbtc-progressive-details > summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 14px 18px 14px 46px;
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.35;
	color: var(--pbtc-ink);
}

.pbtc-progressive-details > summary::-webkit-details-marker {
	display: none;
}

.pbtc-progressive-details > summary::before {
	content: "▸";
	position: absolute;
	left: 17px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.42rem;
	font-weight: 900;
	line-height: 1;
	transition: transform .15s ease;
}

.pbtc-progressive-details[open] > summary::before {
	transform: translateY(-50%) rotate(90deg);
}

.pbtc-progressive-details > :not(summary) {
	margin-left: 16px;
	margin-right: 16px;
}

.pbtc-progressive-details > :last-child {
	margin-bottom: 16px;
}

.pbtc-roadmap-compact {
	margin-top: 18px;
	margin-bottom: 18px;
}

.pbtc-roadmap-compact small {
	display: none !important;
}

.pbtc-build-context-details .pbtc-status-grid,
.pbtc-build-pieces-details .pbtc-component-map,
.pbtc-tools-design-context .pbtc-design-brief {
	margin-top: 0;
}

.pbtc-build-pieces-details > .pbtc-scene {
	margin-top: 6px;
}

.pbtc-strategy-current {
	margin-top: 18px;
}

.pbtc-strategy-current > summary {
	cursor: default;
}

.pbtc-strategy-history-list {
	margin: 0 0 16px;
}

.pbtc-strategy-history-list .pbtc-strategy-card {
	margin-top: 10px;
}

.pbtc-tools-selection-summary {
	margin-top: 18px;
	padding: 16px 18px;
	border: 1px solid var(--pbtc-line);
	border-radius: 16px;
	background: #fbfcfd;
}

.pbtc-tools-selection-summary-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.pbtc-tools-selection-summary-head small,
.pbtc-tools-selection-summary-head strong {
	display: block;
}

.pbtc-tools-selection-summary-head small {
	font-size: .82rem;
	color: var(--pbtc-muted);
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.pbtc-tools-selection-summary-head strong {
	margin-top: 2px;
	font-size: 1.05rem;
}

.pbtc-tools-selection-summary-head > span {
	font-size: .94rem;
	font-weight: 750;
	color: var(--pbtc-muted);
}

.pbtc-tools-role-list {
	gap: 16px;
	margin-top: 20px;
}

.pbtc-tools-role-step {
	padding: 0;
	margin-top: 0;
	border-radius: 16px;
	overflow: hidden;
}

.pbtc-tools-role-step > summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 16px 18px 16px 48px;
}

.pbtc-tools-role-step > summary::-webkit-details-marker {
	display: none;
}

.pbtc-tools-role-step > summary::before {
	content: "▸";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.42rem;
	font-weight: 900;
	line-height: 1;
	transition: transform .15s ease;
}

.pbtc-tools-role-step[open] > summary::before {
	transform: translateY(-50%) rotate(90deg);
}

.pbtc-tools-role-step-summary > span {
	display: grid;
	gap: 2px;
}

.pbtc-tools-role-step-summary small {
	font-size: .78rem;
	font-style: normal;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .045em;
	color: var(--pbtc-muted);
}

.pbtc-tools-role-step-summary strong {
	font-size: 1.12rem;
	line-height: 1.3;
}

.pbtc-tools-role-step-summary em {
	font-size: .92rem;
	font-style: normal;
	font-weight: 600;
	color: var(--pbtc-muted);
}

.pbtc-tools-role-step-body {
	padding: 0 18px 18px;
}

.pbtc-tools-role-purpose {
	margin: 0 0 14px;
	font-size: 1rem;
	line-height: 1.58;
}

.pbtc-tools-other-roles {
	margin-top: 4px;
}

.pbtc-tools-other-roles-list {
	display: grid;
	gap: 10px;
	padding-bottom: 2px;
}

.pbtc-product-comparison {
	margin-top: 14px;
}

.pbtc-product-comparison-list {
	display: grid;
	gap: 12px;
}

.pbtc-product-compare-card {
	min-width: 0;
}

.pbtc-tool-select-form {
	margin-top: 12px;
}

.pbtc-tool-select-choice {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	box-sizing: border-box;
	padding: 11px 13px;
	border: 1px solid var(--pbtc-line);
	border-radius: 12px;
	background: #fff;
	font-size: .98rem;
	font-weight: 750;
	cursor: pointer;
}

.pbtc-tool-select-choice input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
}

.pbtc-product-compare-card.is-selected .pbtc-tool-select-choice {
	background: #f3faf5;
	border-color: #9bc7a5;
}

.pbtc-tools-selection-list {
	list-style: none;
	padding: 0;
}

.pbtc-tools-selection-list li {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 8px 0;
	border-bottom: 1px solid var(--pbtc-line);
}

.pbtc-tools-selection-list li:last-child {
	border-bottom: 0;
}

.pbtc-tools-selection-list span {
	text-align: right;
	color: var(--pbtc-muted);
}

.is-dynamic-saving {
	opacity: .72;
	pointer-events: none;
}

@media (max-width: 720px) {
	.pbtc-tools-selection-summary-head,
	.pbtc-tools-selection-list li {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.pbtc-tools-selection-list span {
		text-align: left;
	}

	.pbtc-progressive-details > summary,
	.pbtc-tools-role-step > summary {
		padding-right: 14px;
	}
}

/* 1.0.0-rc1 · cierre de Guía 3 */
.pbtc-manual-role-action {
	margin-top: 18px;
}
.pbtc-tools-final-plan {
	margin-top: 28px;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid rgba(94, 72, 50, .16);
	border-radius: 24px;
	background: #fffdf8;
}
.pbtc-tools-final-plan h3 {
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	margin: 4px 0 10px;
}
.pbtc-tools-final-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	margin: 18px 0;
}
.pbtc-tools-final-item {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 14px 16px;
	border: 1px solid rgba(94, 72, 50, .13);
	border-radius: 16px;
	background: #fff;
}
.pbtc-tools-final-item strong {
	font-size: 1rem;
}
.pbtc-tools-final-item span {
	font-size: 1rem;
	line-height: 1.45;
}
.pbtc-tools-final-actions {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 22px;
}
@media (max-width: 640px) {
	.pbtc-tools-final-actions .pbtc-button {
		width: 100%;
		text-align: center;
	}
}
@media print {
	body * {
		visibility: hidden !important;
	}
	.pbtc-tools-final-plan,
	.pbtc-tools-final-plan * {
		visibility: visible !important;
	}
	.pbtc-tools-final-plan {
		position: absolute;
		inset: 0 auto auto 0;
		width: 100%;
		border: 0;
		box-shadow: none;
		background: #fff;
	}
	.pbtc-tools-final-actions,
	.pbtc-tools-final-plan details:not([open]) {
		display: none !important;
	}
}


/* 1.0.1-rc2 · Guía 2: siguiente acción inequívoca tras responder estrategia. */
.pbtc-strategy-unresolved-note {
	margin: 18px 0 12px;
	border-left: 4px solid #d98217;
}

.pbtc-strategy-card.is-unresolved {
	border: 2px solid #d98217;
	box-shadow: 0 0 0 3px rgba(217, 130, 23, 0.08);
}

.pbtc-strategy-card.is-unresolved > summary {
	background: #fff9f0;
}

.pbtc-build-next-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	margin: 24px 0 12px;
	padding: 18px 20px;
	border: 1px solid #dfe6ec;
	border-radius: 16px;
	background: #fbfcfd;
}

.pbtc-build-next-action.is-pending {
	border-color: #efc37a;
	background: #fffaf1;
}

.pbtc-build-next-action.is-ready {
	border-color: #b8dfc3;
	background: #f4fbf6;
}

.pbtc-build-next-action small,
.pbtc-build-next-action strong {
	display: block;
}

.pbtc-build-next-action small {
	margin-bottom: 3px;
	font-size: .78rem;
	font-weight: 850;
	letter-spacing: .045em;
	text-transform: uppercase;
	color: var(--pbtc-muted);
}

.pbtc-build-next-action strong {
	font-size: 1.12rem;
	line-height: 1.35;
	color: var(--pbtc-ink);
}

.pbtc-build-next-action p {
	margin: 5px 0 0;
	line-height: 1.5;
	color: #40576a;
}

.pbtc-build-next-action .pbtc-button {
	flex: 0 0 auto;
	white-space: nowrap;
}

.pbtc-button-row-secondary {
	margin-top: 12px;
}

@media (max-width: 720px) {
	.pbtc-build-next-action {
		align-items: stretch;
		flex-direction: column;
	}
	.pbtc-build-next-action .pbtc-button {
		width: 100%;
		text-align: center;
	}
}


/* 1.0.1-rc3 · continuidad de siguiente acción en Guías 1 y 3. */
.pbtc-tools-role-step.is-needs-review {
	border: 2px solid #d98217;
	box-shadow: 0 0 0 3px rgba(217, 130, 23, 0.08);
}
.pbtc-tools-role-step.is-needs-review > summary {
	background: #fff9f0;
}
.pbtc-tools-next-action {
	margin-top: 18px;
}

/* 1.0.1-rc4 · jerarquia transversal de cierres y siguientes pasos. */
.pbtc-flow-next,
.pbtc-design-next {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 22px;
	margin: 26px 0 12px;
	padding: 20px 22px;
	border: 1px solid #dfe6ec;
	border-radius: 16px;
	background: #fbfcfd;
}

.pbtc-flow-next.is-ready,
.pbtc-design-next {
	border-color: #c8dfcf;
	background: #f7fbf8;
}

.pbtc-flow-next.is-pending {
	border-color: #efc37a;
	background: #fffaf1;
}

.pbtc-flow-next > div,
.pbtc-design-next > div {
	min-width: 0;
}

.pbtc-flow-next small,
.pbtc-flow-next strong,
.pbtc-design-next span,
.pbtc-design-next strong {
	display: block;
}

.pbtc-flow-next small,
.pbtc-design-next span {
	margin-bottom: 4px;
	font-size: .76rem;
	font-weight: 850;
	letter-spacing: .055em;
	text-transform: uppercase;
	color: #6c7d8c;
}

.pbtc-flow-next strong,
.pbtc-design-next strong {
	font-size: clamp(1.14rem, 1.5vw, 1.3rem);
	line-height: 1.28;
	letter-spacing: -.01em;
	color: var(--pbtc-ink);
}

.pbtc-flow-next p,
.pbtc-design-next p {
	max-width: 62ch;
	margin: 6px 0 0;
	font-size: .97rem;
	line-height: 1.55;
	color: #52687a;
}

/* El titulo explica el siguiente paso; el boton solo lo ejecuta. */
.pbtc-flow-cta,
.pbtc-flow-next .pbtc-flow-cta,
.pbtc-design-next .pbtc-flow-cta,
.pbtc-guide1-completion-actions .pbtc-flow-cta {
	min-height: 42px;
	width: auto;
	padding: 9px 14px;
	border: 1px solid #e5a04d;
	border-radius: 11px;
	background: #fff6ea;
	color: #7b3a05;
	font-size: .9rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
	white-space: nowrap;
}

.pbtc-flow-cta:hover,
.pbtc-flow-cta:focus-visible,
.pbtc-flow-next .pbtc-flow-cta:hover,
.pbtc-flow-next .pbtc-flow-cta:focus-visible,
.pbtc-design-next .pbtc-flow-cta:hover,
.pbtc-design-next .pbtc-flow-cta:focus-visible,
.pbtc-guide1-completion-actions .pbtc-flow-cta:hover,
.pbtc-guide1-completion-actions .pbtc-flow-cta:focus-visible {
	background: #f7931a;
	border-color: #f7931a;
	color: #ffffff;
}

.pbtc-guide1-completion h3 {
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	line-height: 1.3;
}

.pbtc-design-brief,
#pbtc-tools-final-title,
#pbtc-strategy-title {
	scroll-margin-top: 28px;
}

@media (max-width: 720px) {
	.pbtc-flow-next,
	.pbtc-design-next {
		grid-template-columns: 1fr;
		align-items: stretch;
		gap: 14px;
		padding: 18px;
	}

	.pbtc-flow-next .pbtc-flow-cta,
	.pbtc-design-next .pbtc-flow-cta,
	.pbtc-guide1-completion-actions .pbtc-flow-cta {
		width: 100%;
		justify-content: center;
		text-align: center;
		white-space: normal;
	}
}

/* 1.0.1-rc5 · Guía 3 centrada en una sola tarea y dos bloques de contexto opcional. */
.pbtc-tools-blocked-step {
	margin-bottom: 14px;
}

.pbtc-tools-preflight-details,
.pbtc-tools-context-hub,
.pbtc-tools-method-hub {
	margin-top: 14px;
	border: 1px solid #dfe6ec;
	border-radius: 14px;
	background: #fbfcfd;
	overflow: hidden;
}

.pbtc-tools-preflight-details > summary,
.pbtc-tools-context-hub > summary,
.pbtc-tools-method-hub > summary {
	padding: 15px 17px;
	font-weight: 820;
	color: var(--pbtc-ink);
	cursor: pointer;
}

.pbtc-tools-preflight-body,
.pbtc-tools-context-hub-body,
.pbtc-tools-method-hub-body {
	padding: 2px 17px 17px;
}

.pbtc-tools-current-prompt {
	margin: 20px 0 12px;
	padding: 16px 18px;
	border-left: 4px solid #f7931a;
	border-radius: 12px;
	background: #fffaf3;
}

.pbtc-tools-current-prompt small,
.pbtc-tools-current-prompt strong {
	display: block;
}

.pbtc-tools-current-prompt small {
	margin-bottom: 4px;
	font-size: .75rem;
	font-weight: 850;
	letter-spacing: .055em;
	text-transform: uppercase;
	color: #8a5a1f;
}

.pbtc-tools-current-prompt strong {
	font-size: clamp(1.08rem, 1.5vw, 1.24rem);
	line-height: 1.3;
	color: var(--pbtc-ink);
}

.pbtc-tools-current-prompt p {
	margin: 6px 0 0;
	line-height: 1.5;
	color: #4e6476;
}

.pbtc-tools-current-role-list {
	margin-top: 0;
}

.pbtc-tools-context-hub .pbtc-tools-selection-summary,
.pbtc-tools-context-hub .pbtc-tools-design-context,
.pbtc-tools-context-hub .pbtc-tools-other-roles {
	margin-top: 12px;
}

.pbtc-tools-context-hub .pbtc-tools-selection-summary {
	box-shadow: none;
}

.pbtc-tools-method-hub-body > h4 {
	margin: 18px 0 7px;
	font-size: 1.05rem;
	color: var(--pbtc-ink);
}

.pbtc-tools-method-hub-body > h4:first-child {
	margin-top: 4px;
}

.pbtc-tools-method-divider {
	height: 1px;
	margin: 22px 0 6px;
	background: #dfe6ec;
}

@media (max-width: 720px) {
	.pbtc-tools-current-prompt,
	.pbtc-tools-preflight-body,
	.pbtc-tools-context-hub-body,
	.pbtc-tools-method-hub-body {
		padding-left: 14px;
		padding-right: 14px;
	}
}

/* 1.0.1-rc6 · Piloto UX Guía 3: una tarea visible + ayuda contextual flotante. */
.pbtc-tools-pilot {
	position: relative;
}

.pbtc-tools-pilot-progress {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 20px;
}

.pbtc-tools-pilot-progress span {
	padding: 7px 10px;
	border: 1px solid #dfe6ec;
	border-radius: 999px;
	background: #ffffff;
	font-size: .78rem;
	font-weight: 760;
	color: #6a7b89;
}

.pbtc-tools-pilot-progress .is-done {
	background: #f5faf6;
	border-color: #d2e3d7;
	color: #3f6f4b;
}

.pbtc-tools-pilot-progress .is-current {
	background: #fff6ea;
	border-color: #e8aa5e;
	color: #7b3a05;
}

.pbtc-tools-focus-card {
	margin: 18px 0 22px;
	padding: clamp(18px, 3vw, 26px);
	border: 1px solid #dfe6ec;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(25, 42, 61, .05);
}

.pbtc-tools-focus-card.is-blocked {
	border-color: #efc37a;
	background: #fffaf1;
}

.pbtc-tools-focus-card > small,
.pbtc-tools-focus-head small {
	display: block;
	margin-bottom: 5px;
	font-size: .74rem;
	font-weight: 850;
	letter-spacing: .055em;
	text-transform: uppercase;
	color: #8a5a1f;
}

.pbtc-tools-focus-card > h3,
.pbtc-tools-focus-head h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
	line-height: 1.25;
	color: var(--pbtc-ink);
}

.pbtc-tools-focus-card > p,
.pbtc-tools-focus-head p {
	margin: 8px 0 0;
	max-width: 66ch;
	line-height: 1.55;
	color: #4e6476;
}

.pbtc-tools-focus-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
}

.pbtc-tools-essentials {
	margin: 18px 0 8px;
	padding: 14px 16px;
	border-radius: 13px;
	background: #f7f9fb;
}

.pbtc-tools-essentials > strong {
	display: block;
	margin-bottom: 8px;
	font-size: .92rem;
	color: var(--pbtc-ink);
}

.pbtc-tools-essentials ul {
	margin: 0;
	padding-left: 1.2rem;
}

.pbtc-tools-essentials li {
	margin: 4px 0;
	line-height: 1.45;
}

.pbtc-tools-essentials small {
	display: block;
	margin-top: 8px;
	color: #667988;
}

.pbtc-tools-compact-picker {
	margin-top: 18px;
}

.pbtc-tools-compact-picker-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.pbtc-tools-compact-picker-head strong {
	font-size: 1.05rem;
	color: var(--pbtc-ink);
}

.pbtc-tools-compact-picker-head span {
	font-size: .82rem;
	color: #697c8a;
}

.pbtc-tools-compact-products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.pbtc-product-compact-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"title action"
		"status action";
	align-items: center;
	gap: 4px 14px;
	padding: 14px 15px;
	border: 1px solid #dfe6ec;
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
}

.pbtc-product-compact-meta {
	grid-area: title;
}

.pbtc-product-compact-meta strong,
.pbtc-product-compact-meta small {
	display: block;
}

.pbtc-product-compact-meta strong {
	font-size: 1rem;
	line-height: 1.25;
	color: var(--pbtc-ink);
}

.pbtc-product-compact-meta small {
	margin-top: 2px;
	color: #758694;
}

.pbtc-product-compact-status {
	grid-area: status;
	margin: 2px 0 0;
	font-size: .82rem;
	line-height: 1.35;
	color: #546b7d;
}

.pbtc-product-compact-card .pbtc-tool-select-form {
	grid-area: action;
	margin: 0;
}

.pbtc-product-compact-card .pbtc-tool-select-choice {
	min-width: 86px;
	justify-content: center;
	padding: 8px 11px;
	border-radius: 10px;
	font-size: .86rem;
}

.pbtc-product-compact-card.is-selected {
	border-color: #b9d8c0;
	background: #f7fbf8;
}

.pbtc-tools-excluded {
	margin-top: 12px;
	border: 0;
}

.pbtc-tools-excluded > summary {
	font-size: .86rem;
	font-weight: 760;
	color: #6d7e8b;
}

.pbtc-tools-excluded-list {
	display: grid;
	gap: 8px;
	margin-top: 9px;
}

.pbtc-tools-excluded-list > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #fafafa;
	font-size: .84rem;
}

.pbtc-tools-excluded-list span {
	color: #6d7e8b;
	text-align: right;
}

.pbtc-tools-manual-compact {
	margin-top: 14px;
}

.pbtc-step-help-fab {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 9998;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 9px 13px;
	border: 1px solid #d7e0e7;
	border-radius: 999px;
	background: rgba(255,255,255,.96);
	color: var(--pbtc-ink);
	font-weight: 820;
	box-shadow: 0 8px 30px rgba(25, 42, 61, .16);
	cursor: pointer;
	backdrop-filter: blur(8px);
}

.pbtc-step-help-fab:hover,
.pbtc-step-help-fab:focus-visible {
	border-color: #e5a04d;
	background: #fff8ee;
	outline: none;
}

.pbtc-step-help-dialog {
	width: min(620px, calc(100vw - 36px));
	max-width: none;
	height: min(88vh, 860px);
	max-height: 88vh;
	margin: auto 18px auto auto;
	padding: 0;
	border: 1px solid #dfe6ec;
	border-radius: 18px;
	background: #fff;
	color: var(--pbtc-ink);
	box-shadow: 0 24px 70px rgba(18, 34, 49, .25);
	overflow: hidden;
}

.pbtc-step-help-dialog::backdrop {
	background: rgba(18, 34, 49, .34);
	backdrop-filter: blur(2px);
}

.pbtc-step-help-toolbar {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 17px;
	border-bottom: 1px solid #e5ebef;
	background: rgba(255,255,255,.97);
}

.pbtc-step-help-toolbar small,
.pbtc-step-help-toolbar strong {
	display: block;
}

.pbtc-step-help-toolbar small {
	font-size: .7rem;
	font-weight: 820;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #7b8b97;
}

.pbtc-step-help-toolbar strong {
	font-size: 1.08rem;
}

.pbtc-step-help-close {
	padding: 7px 10px;
	border: 1px solid #dfe6ec;
	border-radius: 9px;
	background: #fff;
	color: var(--pbtc-ink);
	font-weight: 780;
	cursor: pointer;
}

.pbtc-step-help-body {
	height: calc(100% - 68px);
	padding: 4px 18px 28px;
	overflow: auto;
}

.pbtc-step-help-body > section {
	padding: 18px 0;
	border-bottom: 1px solid #edf1f4;
}

.pbtc-step-help-body > section:last-child {
	border-bottom: 0;
}

.pbtc-step-help-body h4 {
	margin: 0 0 8px;
	font-size: 1.04rem;
	color: var(--pbtc-ink);
}

.pbtc-tools-help-candidates {
	display: grid;
	gap: 9px;
	margin-top: 12px;
}

.pbtc-tools-help-candidates > details {
	border: 1px solid #e1e7ec;
	border-radius: 11px;
	background: #fbfcfd;
}

.pbtc-tools-help-candidates > details > summary {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 12px;
	cursor: pointer;
}

.pbtc-tools-help-candidates > details > summary span {
	font-size: .78rem;
	color: #6b7d8a;
}

.pbtc-tools-help-candidate-body {
	padding: 0 12px 13px;
}

.pbtc-tools-help-signal {
	margin-top: 12px;
}

.pbtc-tools-help-signal > strong {
	font-size: .84rem;
}

.pbtc-tools-help-signal ul {
	margin: 6px 0 0;
	padding-left: 1.1rem;
}

.pbtc-product-context-snapshot {
	margin-top: 15px;
	padding: 13px 14px;
	border: 1px solid #efc37a;
	border-radius: 11px;
	background: #fffaf1;
}

.pbtc-product-context-snapshot > strong {
	display: block;
	margin-bottom: 8px;
}

.pbtc-product-context-snapshot p {
	margin: 7px 0;
}

.pbtc-product-context-incidents,
.pbtc-product-context-community {
	margin-top: 13px;
	padding-top: 12px;
	border-top: 1px solid #f0d7ad;
}

.pbtc-product-context-incident {
	margin-top: 9px;
}

.pbtc-product-context-incident > span {
	display: block;
	font-size: .75rem;
	font-weight: 800;
	color: #8b6b39;
}

.pbtc-context-sources {
	font-size: .78rem;
}

.pbtc-tools-final-simple > p {
	max-width: 70ch;
}

.pbtc-tools-final-simple .pbtc-tools-final-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.pbtc-tools-final-simple .pbtc-tools-final-item > div strong,
.pbtc-tools-final-simple .pbtc-tools-final-item > div span {
	display: block;
}

.pbtc-tools-final-next {
	margin-top: 18px;
	padding: 16px 18px;
	border: 1px solid #d7e0e7;
	border-radius: 14px;
	background: #f8fafb;
}

.pbtc-tools-final-next.is-pending {
	border-color: #efc37a;
	background: #fffaf1;
}

.pbtc-tools-final-next > small,
.pbtc-tools-final-next > strong {
	display: block;
}

.pbtc-tools-final-next > small {
	font-size: .74rem;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #7b8b97;
}

.pbtc-tools-final-next > strong {
	margin-top: 3px;
	font-size: 1.05rem;
}

.pbtc-tools-final-next ol {
	margin: 10px 0 0;
	padding-left: 1.2rem;
}

.pbtc-tools-final-next li {
	margin: 5px 0;
	line-height: 1.45;
}

@media (max-width: 720px) {
	.pbtc-tools-focus-head {
		flex-direction: column;
	}
	.pbtc-tools-compact-products {
		grid-template-columns: 1fr;
	}
	.pbtc-product-compact-card {
		grid-template-columns: minmax(0, 1fr) auto;
	}
	.pbtc-step-help-fab {
		right: 12px;
		bottom: 12px;
	}
	.pbtc-step-help-fab span {
		display: none;
	}
	.pbtc-step-help-dialog {
		width: 100vw;
		height: min(92vh, 880px);
		max-height: 92vh;
		margin: auto 0 0;
		border-radius: 18px 18px 0 0;
	}
	.pbtc-tools-pilot-progress {
		gap: 6px;
	}
	.pbtc-tools-pilot-progress span {
		padding: 6px 8px;
		font-size: .72rem;
	}
	.pbtc-tools-excluded-list > div,
	.pbtc-tools-final-simple .pbtc-tools-final-item {
		align-items: flex-start;
		flex-direction: column;
	}
}

.pbtc-tools-help-noscript {
	margin-top: 14px;
}
.pbtc-tools-help-noscript .pbtc-step-help-body {
	height: auto;
	overflow: visible;
}

/* 1.0.1-rc10 · Launcher compartido de «Guías interactivas» con menú contextual. */
.pbtc-help-launcher {
	position: fixed;
	left: 22px;
	bottom: 22px;
	z-index: 9998;
	width: min(268px, calc(100vw - 44px));
}

.pbtc-help-launcher .pbtc-step-help-fab {
	position: relative;
	right: auto;
	bottom: auto;
	left: auto;
	width: 100%;
	min-height: 58px;
	padding: 8px 11px 8px 8px;
	justify-content: flex-start;
	gap: 10px;
	text-align: left;
	border-color: #d7e0e7;
	background: rgba(255,255,255,.97);
}

.pbtc-help-launcher .pbtc-step-help-fab img {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(25,42,61,.08);
}

.pbtc-help-launcher-copy {
	display: grid;
	min-width: 0;
	line-height: 1.15;
}

.pbtc-help-launcher-copy strong {
	font-size: .9rem;
	font-weight: 860;
	color: var(--pbtc-ink);
}

.pbtc-help-launcher-copy small {
	margin-top: 4px;
	font-size: .76rem;
	font-weight: 700;
	color: #6b7d8a;
}

.pbtc-help-launcher-chevron {
	margin-left: auto;
	font-size: .9rem;
	color: #7b8b97;
	transition: transform .18s ease;
}

.pbtc-help-launcher.is-open .pbtc-help-launcher-chevron {
	transform: rotate(180deg);
}

.pbtc-help-launcher-menu {
	position: absolute;
	left: 0;
	bottom: calc(100% + 10px);
	width: 100%;
	padding: 7px;
	border: 1px solid #dfe6ec;
	border-radius: 15px;
	background: rgba(255,255,255,.985);
	box-shadow: 0 16px 42px rgba(25,42,61,.18);
	backdrop-filter: blur(10px);
}

.pbtc-help-launcher-menu[hidden] {
	display: none;
}

.pbtc-help-launcher-option {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 10px 11px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--pbtc-ink);
	font: inherit;
	font-size: .87rem;
	font-weight: 760;
	text-align: left;
	cursor: pointer;
}

.pbtc-help-launcher-option span {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 7px;
	background: #fff3e2;
	color: #8a4a0f;
	font-weight: 900;
}

.pbtc-help-launcher-option:hover,
.pbtc-help-launcher-option:focus-visible {
	background: #fff8ee;
	outline: none;
}

@keyframes pbtc-help-nudge {
	0%, 100% { transform: translateY(0); }
	28% { transform: translateY(-4px); }
	55% { transform: translateY(0); }
	72% { transform: translateY(-2px); }
}

.pbtc-help-launcher .pbtc-step-help-fab.is-nudging {
	animation: pbtc-help-nudge .78s ease-in-out 1;
}

.pbtc-step-help-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.pbtc-step-help-brand img {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
}

.pbtc-step-help-tabs {
	display: flex;
	gap: 6px;
	padding: 9px 12px;
	border-bottom: 1px solid #e5ebef;
	background: #fbfcfd;
	overflow-x: auto;
	scrollbar-width: thin;
}

.pbtc-step-help-tabs button {
	flex: 0 0 auto;
	padding: 7px 10px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: #627684;
	font: inherit;
	font-size: .78rem;
	font-weight: 780;
	cursor: pointer;
}

.pbtc-step-help-tabs button[aria-pressed="true"],
.pbtc-step-help-tabs button:hover,
.pbtc-step-help-tabs button:focus-visible {
	border-color: #e8bd7c;
	background: #fff7eb;
	color: #7d430d;
	outline: none;
}

.pbtc-step-help-pane[hidden] {
	display: none;
}

.pbtc-step-help-pane > section {
	padding: 18px 0;
	border-bottom: 1px solid #edf1f4;
}

.pbtc-step-help-pane > section:last-child {
	border-bottom: 0;
}

.pbtc-help-architecture-reading {
	padding-bottom: 18px;
}

@media (prefers-reduced-motion: reduce) {
	.pbtc-help-launcher .pbtc-step-help-fab.is-nudging {
		animation: none;
	}
	.pbtc-help-launcher-chevron {
		transition: none;
	}
}

@media (max-width: 720px) {
	.pbtc-help-launcher {
		left: 12px;
		bottom: 12px;
		width: min(250px, calc(100vw - 24px));
	}
	.pbtc-help-launcher .pbtc-step-help-fab {
		right: auto;
		bottom: auto;
	}
	.pbtc-help-launcher .pbtc-step-help-fab span {
		display: initial;
	}
	.pbtc-help-launcher-copy {
		display: grid !important;
	}
	.pbtc-help-launcher-chevron {
		display: inline !important;
	}
	.pbtc-step-help-tabs {
		padding-left: 10px;
		padding-right: 10px;
	}
}


/* 1.0.1-rc10 · Roadmap global dentro del panel de ayuda compartido. */
.pbtc-help-roadmap {
	margin: 0 0 18px;
	padding: 14px;
	border: 1px solid #e4eaee;
	border-radius: 16px;
	background: #fbfcfd;
}

.pbtc-help-roadmap-track {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.pbtc-help-roadmap-step {
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
	align-content: start;
	gap: 6px;
	min-width: 0;
	padding: 10px 8px 11px;
	border-radius: 12px;
	background: #f1f4f6;
	color: #6f7f8a;
	text-align: center;
}

.pbtc-help-roadmap-step.is-done {
	background: #eef8f1;
	color: #2f6940;
}

.pbtc-help-roadmap-step.is-current {
	background: #fff4e4;
	color: #7f470f;
	box-shadow: inset 0 0 0 1px #efc47f;
}

.pbtc-help-roadmap-dot {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #dfe5e9;
	font-size: .8rem;
	font-weight: 900;
	color: #63737f;
}

.pbtc-help-roadmap-step.is-done .pbtc-help-roadmap-dot {
	background: #d6efdc;
	color: #236739;
}

.pbtc-help-roadmap-step.is-current .pbtc-help-roadmap-dot {
	background: #f7931a;
	color: #fff;
}

.pbtc-help-roadmap-step small,
.pbtc-help-roadmap-step strong {
	display: block;
	min-width: 0;
}

.pbtc-help-roadmap-step small {
	margin-bottom: 2px;
	font-size: .66rem;
	font-weight: 760;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.pbtc-help-roadmap-step strong {
	font-size: .82rem;
	line-height: 1.2;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

.pbtc-step-help-pane .pbtc-help-now {
	margin-top: 0;
	padding-top: 2px;
}

@media (max-width: 720px) {
	.pbtc-help-roadmap-track { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 420px) {
	.pbtc-help-roadmap-track { grid-template-columns: 1fr; }
}


/* 1.0.1-rc10 · Ajustes visuales de ayuda y tarjetas de herramientas. */
.pbtc-step-help-pane .pbtc-reading-block {
	margin: 8px 0 0;
	padding: 14px 4px 18px;
	border: 0;
	background: transparent;
}

.pbtc-step-help-pane .pbtc-reading-label {
	margin: 0 0 15px;
	padding: 0 2px;
	line-height: 1.35;
}

.pbtc-step-help-pane .pbtc-reading-grid {
	gap: 14px;
}

.pbtc-product-compact-card {
	grid-template-columns: 64px minmax(0, 1fr) auto;
	grid-template-areas:
		"visual title action"
		"visual status action";
}

.pbtc-product-type-visual {
	grid-area: visual;
	display: grid;
	place-items: center;
	align-self: stretch;
	width: 64px;
	min-height: 64px;
	margin: 0;
	padding: 6px;
	border: 1px solid #e4eaee;
	border-radius: 12px;
	background: #f8fafb;
}

.pbtc-product-type-visual img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 58px;
	object-fit: contain;
}

@media (max-width: 520px) {
	.pbtc-product-compact-card {
		grid-template-columns: 56px minmax(0, 1fr);
		grid-template-areas:
			"visual title"
			"visual status"
			"action action";
		gap: 6px 11px;
	}
	.pbtc-product-type-visual {
		width: 56px;
		min-height: 56px;
	}
	.pbtc-product-compact-card .pbtc-tool-select-form {
		margin-top: 6px;
	}
}


/* 1.0.1-rc10 · Patron de ayuda contextual compartido por las tres guias. */
.pbtc-strategy-guide-focused {
	margin-top: 20px;
}

.pbtc-strategy-guide-focused .pbtc-strategy-head {
	margin-bottom: 14px;
}

.pbtc-strategy-guide-focused .pbtc-strategy-current {
	padding: 18px;
	border: 1px solid #e2e8ed;
	border-radius: 16px;
	background: #fff;
}

.pbtc-strategy-current-label {
	margin: 0 0 6px;
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #a65c10;
}

.pbtc-strategy-guide-focused .pbtc-strategy-current h4 {
	margin: 0 0 8px;
	font-size: clamp(1.15rem, 1.4vw, 1.4rem);
	line-height: 1.25;
	color: var(--pbtc-ink);
}

.pbtc-design-brief-compact {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid #cfe2d4;
	border-radius: 16px;
	background: #f6fbf7;
}

.pbtc-design-brief-compact > h3 {
	margin: 3px 0 7px;
}

.pbtc-design-brief-compact > p {
	margin: 0;
}

.pbtc-design-brief-compact-status {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.pbtc-design-brief-compact-status span {
	padding: 6px 9px;
	border-radius: 999px;
	background: #e9f5ec;
	font-size: .78rem;
	font-weight: 760;
	color: #356548;
}

.pbtc-help-strategy-review {
	display: grid;
	gap: 8px;
}

.pbtc-help-decision-review {
	border: 1px solid #e4eaee;
	border-radius: 12px;
	background: #fff;
}

.pbtc-help-decision-review > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 12px;
	cursor: pointer;
}

.pbtc-help-decision-review > summary span {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.pbtc-help-decision-review > summary small {
	font-size: .78rem;
	color: #647986;
}

.pbtc-help-decision-review > summary em {
	font-size: .72rem;
	font-style: normal;
	font-weight: 800;
	color: #527063;
}

.pbtc-help-decision-review form {
	padding: 0 12px 12px;
}

.pbtc-result-summary-strip {
	display: grid;
	gap: 4px;
	margin: 14px 0 18px;
	padding: 13px 15px;
	border: 1px solid #dbe5e9;
	border-radius: 14px;
	background: #f8fafb;
}

.pbtc-result-summary-strip strong {
	color: var(--pbtc-ink);
}

.pbtc-result-summary-strip span {
	color: #5d7281;
}

.pbtc-product-compact-meta {
	min-width: 0;
}

.pbtc-product-type-visual {
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
}

.pbtc-product-type-visual img {
	min-width: 42px;
	min-height: 42px;
}

/* Evita que el launcher tape controles en pantallas muy estrechas y deja libre la esquina derecha de Blocksy. */
@media (max-width: 520px) {
	.pbtc-help-launcher {
		bottom: max(12px, env(safe-area-inset-bottom));
	}
	.pbtc-design-next,
	.pbtc-flow-next {
		grid-template-columns: 1fr;
	}
}

/* rc10 · imagen de familia también visible en el resumen final de Guía 3. */
.pbtc-tools-final-visual {
	flex: 0 0 54px;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin: 0;
	padding: 5px;
	border: 1px solid #e4eaee;
	border-radius: 12px;
	background: #f8fafb;
}
.pbtc-tools-final-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.pbtc-card-actions-single {
	justify-content: flex-start;
}
.pbtc-card-actions-single .pbtc-mini-button {
	flex: 0 0 auto;
}
.pbtc-step-help-dialog[open] {
	display: flex;
	flex-direction: column;
}
.pbtc-step-help-dialog[open] .pbtc-step-help-body {
	flex: 1 1 auto;
	height: auto;
	min-height: 0;
}

.pbtc-help-roadmap-step.is-optional {
	background: #f5f7f8;
	color: #768792;
	box-shadow: inset 0 0 0 1px #e1e7eb;
}
.pbtc-help-roadmap-step.is-optional .pbtc-help-roadmap-dot {
	background: #e7ecef;
	color: #6f808a;
}
@media (max-width: 720px) {
	.pbtc-product-compact-card {
		grid-template-columns: 56px minmax(0, 1fr);
		grid-template-areas:
			"visual title"
			"visual status"
			"action action";
		gap: 6px 11px;
	}
	.pbtc-product-type-visual {
		width: 56px;
		min-height: 56px;
	}
	.pbtc-product-compact-card .pbtc-tool-select-form {
		margin-top: 6px;
	}
}
