/* Matches the homepage block "Welche Behandlung ist für mich geeignet?"
   (Elementor template 126196): Urbanist, centered title, white shadow cards. */
.flec {
	--flec-ink: var(--e-global-color-1b28538, #0A1738);
	--flec-purple: var(--e-global-color-primary, #A6228E);
	--flec-purple-d: var(--e-global-color-accent, #811E6F);
	--flec-soft: #F2F7FF;
	--flec-yellow: var(--e-global-color-9e6892d, #FEC700);
	--flec-card-shadow: 0 4px 15px 0 rgba(48, 58, 91, 0.15);
	--flec-font: "Urbanist", var(--e-global-typography-primary-font-family, Sans-serif);
	color: var(--flec-ink);
	font-family: var(--flec-font);
	font-size: 18px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5em;
	letter-spacing: 1px;
	text-align: left;
	color-scheme: light;
}
.flec *,
.flec *::before,
.flec *::after { box-sizing: border-box; }
.flec h2,
.flec h3,
.flec p,
.flec ul { margin: 0; font-family: inherit; font-style: normal; }
.flec button,
.flec input,
.flec a {
	font-family: inherit;
	letter-spacing: inherit;
	text-transform: none;
}
.flec button {
	margin: 0;
	min-width: 0;
	appearance: none;
	-webkit-appearance: none;
}
.flec [hidden] { display: none !important; }
.flec :focus-visible { outline: 3px solid var(--flec-purple); outline-offset: 2px; }

.flec-wrap {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.flec-panel {
	display: flex;
	flex-direction: column;
	gap: 20px;
	scroll-margin-top: 110px;
}
.flec-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	text-align: center;
}
.flec h2.flec-title {
	margin: 0;
	font-family: "Urbanist", sans-serif;
	font-size: 40px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.3em;
	letter-spacing: 1px;
	color: var(--flec-ink);
	text-transform: none;
	text-wrap: balance;
}
.flec-lede,
.flec-body,
.flec-hint,
.flec-addr,
.flec-month {
	font-family: var(--flec-font);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5em;
	letter-spacing: 1px;
	color: var(--flec-ink);
}
.flec-star {
	font-size: 0.7em;
	line-height: 0;
	letter-spacing: 0;
}
.flec-privacy {
	margin: 0;
	font-size: 13px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.4em;
	letter-spacing: 0.2px;
	color: var(--flec-ink);
	text-align: center;
}
.flec-callout {
	margin: 0;
	padding: 16px 20px;
	border-radius: 8px;
	background: var(--flec-soft);
	font-size: 18px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5em;
	letter-spacing: 1px;
	color: var(--flec-ink);
	text-align: center;
}
.flec-quiz {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.flec-progress {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}
.flec-step {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	font-style: normal;
	line-height: 1.4em;
	letter-spacing: 1px;
	color: var(--flec-ink);
}
.flec-steps {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
	width: min(100%, 420px);
}
.flec-step-seg {
	display: block;
	height: 6px;
	border-radius: 8px;
	background: rgba(10, 23, 56, 0.12);
}
.flec-step-seg.is-done {
	background: var(--flec-purple);
}
.flec h3.flec-q {
	margin: 0;
	text-align: center;
	font-family: var(--flec-font);
	font-size: 24px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.25em;
	letter-spacing: normal;
	color: var(--flec-ink);
	text-transform: none;
	text-wrap: balance;
}
.flec-hint { text-align: center; }

.flec-opts,
.flec-locs {
	display: grid;
	gap: 20px;
}
.flec-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.flec-opts .flec-opt:last-child:nth-child(odd) { grid-column: 1 / -1; }
.flec-locs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.flec button.flec-opt,
.flec a.flec-loc {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 88px;
	padding: 20px;
	border: 0;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--flec-card-shadow);
	color: var(--flec-ink);
	text-align: left;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
	transition: background .15s ease, box-shadow .15s ease;
}
.flec a.flec-loc,
.flec a.flec-loc:hover,
.flec a.flec-loc:focus {
	color: var(--flec-ink);
	text-decoration: none;
}
.flec button.flec-opt {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: normal;
}
.flec button.flec-opt:hover,
.flec button.flec-opt:focus,
.flec a.flec-loc:hover,
.flec a.flec-loc:focus {
	background: #fff;
	color: var(--flec-ink);
	text-decoration: none;
	box-shadow: 0 6px 18px 0 rgba(48, 58, 91, 0.22);
}
.flec button.flec-opt.sel,
.flec button.flec-opt.sel:hover,
.flec button.flec-opt.sel:focus {
	background: var(--flec-soft);
	color: var(--flec-ink);
}
.flec-loc b {
	display: block;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: normal;
}
.flec-nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.flec button.flec-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 22px;
	border: 0;
	border-radius: 8px;
	background: var(--flec-ink);
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0.2px;
	text-decoration: none;
	cursor: pointer;
}
.flec button.flec-back:hover,
.flec button.flec-back:focus {
	background: var(--flec-purple);
	color: #fff;
	text-decoration: none;
}

.flec button.flec-link,
.flec a.flec-link {
	display: inline;
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--flec-purple);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 0.18px;
	text-decoration: underline;
	text-align: left;
	white-space: normal;
	cursor: pointer;
}
.flec button.flec-link:hover,
.flec button.flec-link:focus,
.flec a.flec-link:hover,
.flec a.flec-link:focus {
	background: transparent;
	color: var(--flec-purple-d);
	text-decoration: underline;
}

.flec-result {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.flec-kicker {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 1px;
	text-align: center;
}
.flec-intro {
	max-width: 70%;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: normal;
	color: var(--flec-ink);
}
.flec-result-card {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 40px 30px;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--flec-card-shadow);
}
.flec-pills {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.flec-pill {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 8px;
	background: var(--flec-soft);
	color: var(--flec-ink);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 1px;
}
.flec-pill.promo {
	background: var(--flec-yellow);
	font-weight: 600;
	letter-spacing: normal;
}
.flec-tname {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.3em;
	letter-spacing: 1px;
	color: var(--flec-ink);
}
.flec-price {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 1px;
}
.flec-price b {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: normal;
}
.flec-price s { color: var(--flec-ink); opacity: 0.55; }
.flec-block-title {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: normal;
}
.flec-reasons {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.flec-reasons li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 1px;
	color: var(--flec-ink);
}
.flec-reasons svg { flex: none; margin-top: 1px; }
.flec-note {
	padding: 20px;
	border-radius: 8px;
	background: var(--flec-soft);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5em;
	letter-spacing: 1px;
}
.flec-rule { height: 1px; background: rgba(10, 23, 56, 0.12); }
.flec-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}
.flec-footer {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 8px;
	font-size: 18px;
	line-height: 1.5em;
	letter-spacing: 1px;
}
.flec-brand img { height: 46px; width: auto; display: block; }

@media (max-width: 767px) {
	.flec h2.flec-title { font-size: 28px; }
	.flec h3.flec-q { font-size: 16px; }
	.flec-intro { max-width: 100%; text-align: start; font-size: 18px; line-height: 1.5em; }
	.flec-tname { font-size: 24px; }
	.flec-result-card { padding: 20px; }
	.flec-opts,
	.flec-locs { grid-template-columns: 1fr; }
	.flec-nav { align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
	.flec * { transition: none !important; }
}
