/* Slider */
.tc-steps-wrapper {
	position: relative;
	width: 100vw;
	left: 50%;
	transform: translateX(-50%);
	margin: var(--wp--preset--spacing--50) 0;
}
.tc-steps-slider {
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
	user-select: none;
	padding-left: max(calc((100vw - 560px) / 2), 2rem);
	padding-right: max(calc((100vw - 560px) / 2), 2rem);
	box-sizing: border-box;
	align-items: stretch;
}
.tc-steps-slider::-webkit-scrollbar { display: none; }
.tc-steps-slider.is-dragging { cursor: grabbing; }
.tc-step-card {
	flex: 0 0 min(560px, 80%);
	display: flex;
	flex-direction: column;
	border-radius: 14px;
	padding: var(--wp--preset--spacing--50);
}
.tc-step-card--1 { background: linear-gradient(168deg, #EDF2F7 0%, #EDF2F7 56%, rgba(43,108,176,0.12) 100%); }
.tc-step-card--2 { background: linear-gradient(88deg, rgba(43,108,176,0.05) 0%, rgba(58,163,208,0.15) 50%, #EDF2F7 100%); }
.tc-step-card--3 { background: linear-gradient(168deg, #EDF2F7 0%, rgba(94,42,102,0.1) 100%); }
.tc-step-card--4 { background: linear-gradient(135deg, rgba(58,163,208,0.12) 0%, #EDF2F7 100%); }
.tc-step-sub--blue h4   { color: #2B6CB0; }
.tc-step-sub--teal h4   { color: #3AA3D0; }
.tc-step-sub--purple h4 { color: #5E2A66; }
.tc-step-card__header {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
	margin-bottom: var(--wp--preset--spacing--30);
}
.tc-step-card__icon {
	font-size: 44px;
	flex-shrink: 0;
	width: 56px;
	text-align: center;
}
.tc-step-card__icon--blue   { color: #2B6CB0; }
.tc-step-card__icon--teal   { color: #3AA3D0; }
.tc-step-card__icon--purple { color: #5E2A66; }
.tc-step-card > p { flex: 1; }
.tc-step-card .tc-step-subs {
	display: grid;
	grid-template-rows: repeat(3, 1fr);
	gap: 0.5rem;
	margin-top: var(--wp--preset--spacing--30);
}
.tc-step-subs > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.tc-step-sub {
	background: rgba(255,255,255,0.7);
	border-radius: 0 10px 10px 0;
	padding: 10px 14px;
}
.tc-step-sub h4 { margin-bottom: 4px; }
.tc-step-sub--blue   { border-left: 3px solid #2B6CB0; }
.tc-step-sub--teal   { border-left: 3px solid #3AA3D0; }
.tc-step-sub--purple { border-left: 3px solid #5E2A66; }
.tc-steps-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 1.75rem;
}
.tc-steps-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 2px solid #2B6CB0;
	background: transparent;
	color: #2B6CB0;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s, color 0.15s;
	flex-shrink: 0;
}
.tc-steps-btn:hover:not(:disabled) { background: #2B6CB0; color: #fff; }
.tc-steps-btn:disabled { opacity: 0.25; cursor: default; }
.tc-steps-dots { display: flex; gap: 8px; align-items: center; }
.tc-ki-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #CBD5E0;
	transition: background 0.2s, transform 0.2s;
}
.tc-ki-dot.active { background: #2B6CB0; transform: scale(1.4); }
.tc-step-chevron {
	flex-shrink: 0;
	align-self: center;
	color: #2B6CB0;
	font-size: 3rem;
	opacity: 0.35;
	pointer-events: none;
}
@media (max-width: 768px) {
	.tc-step-card { flex: 0 0 85%; }
	.tc-steps-slider {
		padding-left: 7.5vw;
		padding-right: 7.5vw;
	}
	.tc-step-chevron { display: none; }
	.tc-step-card > p { font-size: 14px !important; flex: none; }
	.tc-step-card .tc-step-subs { flex: 1; }
	.tc-step-subs { gap: 0.35rem; margin-top: 0.5rem; }
	.tc-step-sub { padding: 7px 12px; }
	.tc-step-sub h4 { font-size: 14px !important; margin-bottom: 2px; }
	.tc-step-sub p { font-size: 12px; }
}

/* Risikoklassen-Tabelle */
.tc-risk-table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--wp--preset--spacing--40) 0;
	font-size: 15px;
}
.tc-risk-table thead th {
	text-align: left;
	padding: 0.6rem 1rem;
	background: #EDF2F7;
	color: #2D3748;
	font-weight: 700;
	border-bottom: 2px solid #CBD5E0;
}
.tc-risk-table tbody td {
	padding: 0.75rem 1rem;
	color: #4A5568;
	border-bottom: 1px solid #E2E8F0;
	vertical-align: top;
	line-height: 1.5;
}
.tc-risk-table tbody tr:last-child td { border-bottom: none; }
.tc-risk-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.tc-risk-badge--low      { background: #F0FFF4; color: #276749; }
.tc-risk-badge--medium   { background: #FFFBEB; color: #B7791F; }
.tc-risk-badge--high     { background: #FFF5F5; color: #9B2C2C; }
.tc-risk-badge--forbidden { background: #9B2C2C; color: #fff; }
@media (max-width: 768px) {
	.tc-risk-table thead { display: none; }
	.tc-risk-table tbody tr {
		display: block;
		background: #F7FAFC;
		border: 1px solid #E2E8F0;
		border-radius: 12px;
		padding: 0.875rem 1rem;
		margin-bottom: 0.75rem;
	}
	.tc-risk-table tbody td {
		display: flex;
		flex-direction: column;
		padding: 0.3rem 0;
		border: none;
		font-size: 14px;
		color: #4A5568;
		line-height: 1.5;
	}
	.tc-risk-table tbody td::before {
		content: attr(data-label);
		font-size: 11px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		color: #A0AEC0;
		margin-bottom: 1px;
	}
	.tc-risk-table tbody td:first-child {
		font-weight: 700;
		font-size: 15px;
		color: #2D3748;
		border-bottom: 1px solid #E2E8F0;
		padding-bottom: 0.6rem;
		margin-bottom: 0.25rem;
	}
	.tc-risk-table tbody td:first-child::before { display: none; }
}

