/**
 * Öffentliches Assistenz-Profil (Shortcode fbm_assistenz_profil) — Lesemodus,
 * visuell abgestimmt auf fbm-premium-profile (frontend.css) + Verzeichnis-Akzente.
 */

.fbm-invprof.fbm-profile-container,
.fbm-invprof.fbm-profile-container * {
	box-sizing: border-box;
}

.fbm-invprof.fbm-profile-container {
	max-width: 800px;
	margin: 0 auto;
	padding: 20px;
	text-align: center;
}

/* Nur für Dokumentstruktur / Screenreader (Fallback wenn .screen-reader-text fehlt) */
.fbm-invprof .fbm-invprof__sr-title.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	word-wrap: normal !important;
}

/* Hero: Kreis + Ort zentriert */
.fbm-invprof .fbm-invprof__hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid #e0e0e0;
}

.fbm-invprof .fbm-invprof__hero .fbm-invprof__badge {
	margin-bottom: 14px;
}

.fbm-invprof .fbm-invprof__badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.fbm-invprof .fbm-invprof__badge--offer {
	background: #e7f3ff;
	color: #004085;
}

.fbm-invprof .fbm-invprof__badge--seek {
	background: #d1ecf1;
	color: #0c5460;
}

/* Stunden-Kreis */
.fbm-invprof .fbm-profile-avatar {
	flex-shrink: 0;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: linear-gradient(145deg, #007bff, #0056b3);
	color: #fff;
	font-size: clamp(1rem, 3vw, 1.45rem);
	font-weight: 700;
	line-height: 1.1;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.02em;
	text-align: center;
	padding: 0 8px;
	word-break: break-all;
	margin-bottom: 16px;
}

.fbm-invprof--gender-woman .fbm-profile-avatar {
	background: linear-gradient(145deg, #e91e8c, #ad1457);
}

.fbm-invprof--gender-man .fbm-profile-avatar {
	background: linear-gradient(145deg, var(--fbm-cfw-primary, #007bff), #0056b3);
}

.fbm-invprof--gender-any .fbm-profile-avatar {
	background: linear-gradient(135deg, #e91e8c 0%, #f06292 42%, var(--fbm-cfw-primary, #007bff) 58%, #0056b3 100%);
}

.fbm-invprof .fbm-profile-avatar.fbm-invprof__avatar--photo {
	background: transparent;
	padding: 0;
	overflow: hidden;
}

.fbm-invprof .fbm-invprof__avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}

.fbm-invprof .fbm-invprof__avatar--initial .fbm-invprof__avatar-inner {
	font-size: clamp(1.5rem, 4vw, 2.35rem);
	line-height: 1;
}

.fbm-invprof .fbm-invprof__city {
	margin: 0;
	font-size: var(--fbm-ui-fs-h3, 1.25rem);
	font-weight: 600;
	color: var(--fbm-cfw-text, #2c3e50);
	line-height: 1.35;
	max-width: 100%;
}

/* Fließtext „Hallo! …“ */
.fbm-invprof .fbm-invprof__story {
	margin-bottom: 28px;
}

.fbm-invprof .fbm-invprof__story-p {
	margin: 0 0 1rem;
	font-size: var(--fbm-ui-fs-body, 17px);
	line-height: 1.65;
	color: #333;
	text-align: center;
}

.fbm-invprof .fbm-invprof__story-p:last-child {
	margin-bottom: 0;
}

/* Feldliste wie Premium */
.fbm-invprof .fbm-profile-content {
	margin-bottom: 0;
}

.fbm-invprof .fbm-profile-fields {
	margin-bottom: 30px;
}

.fbm-invprof .fbm-profile-field {
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid #f0f0f0;
}

.fbm-invprof .fbm-profile-field:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.fbm-invprof .fbm-profile-field-label {
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
	color: #343a40;
	font-size: var(--fbm-ui-fs-body, 17px);
	cursor: default;
	text-align: center;
}

.fbm-invprof .fbm-profile-field-value {
	color: #333;
	font-size: var(--fbm-ui-fs-body, 17px);
	line-height: 1.55;
	text-align: center;
}

.fbm-invprof .fbm-profile-field-value p {
	margin: 0 0 0.5rem;
}

.fbm-invprof .fbm-profile-field-value p:last-child {
	margin-bottom: 0;
}

/* Leer / Hinweis */
.fbm-invprof.fbm-invprof--empty {
	text-align: center;
}

.fbm-invprof.fbm-invprof--empty .fbm-profile-message,
.fbm-invprof.fbm-invprof--empty .fbm-invprof__msg {
	margin: 0;
	padding: 20px;
	font-size: 16px;
	color: #666;
}

.fbm-invprof.fbm-invprof--empty .fbm-profile-message {
	padding: 40px 20px;
}

/* Abschluss: wie Wizard-Outro (Text + Button-Farbe nach Geschlecht) */
.fbm-invprof .fbm-invprof__outro {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e8e8e8;
	text-align: center;
}

.fbm-invprof .fbm-invprof__outro-text {
	margin: 0 0 1rem;
	font-size: var(--fbm-ui-fs-body, 17px);
	line-height: 1.55;
	color: #333;
}

.fbm-invprof .fbm-invprof__outro-actions {
	margin: 0;
}

.fbm-invprof .fbm-invprof__outro-btn.fbm-cfw-btn {
	display: inline-block;
	min-width: 11rem;
	padding: 0.65rem 1.25rem;
	border: none;
	border-radius: 8px;
	font-size: var(--fbm-ui-fs-body, 17px);
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	box-sizing: border-box;
	font-family: inherit;
}

.fbm-invprof .fbm-invprof__outro-btn--man.fbm-cfw-btn {
	background: #2563eb;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35);
}

.fbm-invprof .fbm-invprof__outro-btn--woman.fbm-cfw-btn {
	background: #db2777;
	box-shadow: 0 2px 8px rgba(219, 39, 119, 0.35);
}

.fbm-invprof .fbm-invprof__outro-btn--any.fbm-cfw-btn {
	background: linear-gradient(90deg, #2563eb 0%, #2563eb 50%, #db2777 50%, #db2777 100%);
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2);
}

/* Kontaktanfrage-Dialog */
.fbm-invprof .fbm-invprof__hp-wrap {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.fbm-invprof .fbm-invprof__contact-dialog {
	max-width: min(32rem, 96vw);
	padding: 0;
	border: none;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
}

.fbm-invprof .fbm-invprof__contact-dialog::backdrop {
	background: rgba(0, 0, 0, 0.45);
}

.fbm-invprof .fbm-invprof__contact-panel {
	position: relative;
	padding: 1.25rem 1.35rem 1.4rem;
	text-align: left;
}

.fbm-invprof .fbm-invprof__contact-busy {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1.5rem 1rem;
	background: rgba(255, 255, 255, 0.92);
	border-radius: 12px;
	text-align: center;
}

.fbm-invprof .fbm-invprof__contact-busy[hidden] {
	display: none !important;
}

.fbm-invprof .fbm-invprof__contact-busy-ring {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	border: 3px solid rgba(37, 99, 235, 0.2);
	border-top-color: #2563eb;
	animation: fbm-invprof-spin 0.75s linear infinite;
	box-sizing: border-box;
}

.fbm-invprof .fbm-invprof__contact-busy-text {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: #212529;
}

@keyframes fbm-invprof-spin {
	to {
		transform: rotate(360deg);
	}
}

.fbm-invprof .fbm-invprof__contact-panel--sending .fbm-invprof__contact-title,
.fbm-invprof .fbm-invprof__contact-panel--sending .fbm-invprof__contact-intro,
.fbm-invprof .fbm-invprof__contact-panel--sending .fbm-invprof__contact-form {
	opacity: 0.35;
	pointer-events: none;
}

.fbm-invprof .fbm-invprof__outro-back-wrap {
	margin: 0.75rem 0 0;
	text-align: center;
}

.fbm-invprof .fbm-invprof__contact-title {
	margin: 0 0 0.5rem;
	font-size: 1.2rem;
	color: #212529;
}

.fbm-invprof .fbm-invprof__contact-intro {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.5;
	color: #495057;
}

.fbm-invprof .fbm-invprof__contact-field {
	margin: 0 0 0.85rem;
}

.fbm-invprof .fbm-invprof__contact-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.25rem;
	font-size: 0.9rem;
	color: #343a40;
}

.fbm-invprof .fbm-invprof__contact-input,
.fbm-invprof .fbm-invprof__contact-textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.5rem 0.65rem;
	border: 1px solid #ced4da;
	border-radius: 6px;
	font-size: 1rem;
	font-family: inherit;
	box-sizing: border-box;
}

.fbm-invprof .fbm-invprof__contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
	margin: 1rem 0 0;
}

.fbm-invprof .fbm-invprof__contact-submit.fbm-cfw-btn {
	cursor: pointer;
	padding: 0.55rem 1.1rem;
	border-radius: 8px;
	border: none;
	font-weight: 600;
	color: #fff;
	background: var(--fbm-cfw-primary, #2563eb);
}

/* Theme-Overrides (button { … !important }): Plugin-Primärfarbe durchsetzen */
.fbm-invprof button.fbm-invprof__contact-submit.fbm-cfw-btn,
.fbm-invprof .fbm-invprof__contact-submit.fbm-cfw-btn {
	background: var(--fbm-cfw-primary, #2563eb) !important;
	background-color: var(--fbm-cfw-primary, #2563eb) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Sekundär (nicht Outro-CTA mit --man/--woman/--any) */
.fbm-invprof .fbm-cfw-btn--secondary {
	background: #fff !important;
	background-color: #fff !important;
	color: var(--fbm-cfw-text, #333) !important;
	border: 1px solid var(--fbm-cfw-border-strong, #ced4da) !important;
}

/* Outro-CTA: Theme button { … !important } darf Geschlecht-Farben nicht durch Weiß ersetzen */
.fbm-invprof button.fbm-invprof__outro-btn--man.fbm-cfw-btn,
.fbm-invprof .fbm-invprof__outro-btn--man.fbm-cfw-btn {
	background: #2563eb !important;
	background-color: #2563eb !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35) !important;
}

.fbm-invprof button.fbm-invprof__outro-btn--woman.fbm-cfw-btn,
.fbm-invprof .fbm-invprof__outro-btn--woman.fbm-cfw-btn {
	background: #db2777 !important;
	background-color: #db2777 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	box-shadow: 0 2px 8px rgba(219, 39, 119, 0.35) !important;
}

.fbm-invprof button.fbm-invprof__outro-btn--any.fbm-cfw-btn,
.fbm-invprof .fbm-invprof__outro-btn--any.fbm-cfw-btn {
	background: linear-gradient(90deg, #2563eb 0%, #2563eb 50%, #db2777 50%, #db2777 100%) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2) !important;
}

.fbm-invprof .fbm-invprof__contact-cancel {
	cursor: pointer;
	padding: 0.5rem 1rem;
	border-radius: 8px;
	border: 1px solid #ced4da;
	background: #fff;
	color: #333;
	font-size: 0.95rem;
}

.fbm-invprof .fbm-invprof__contact-feedback {
	margin: 0.75rem 0 0;
	font-size: 0.95rem;
	color: #198754;
}

.fbm-invprof .fbm-invprof__contact-feedback--error {
	color: #c0392b;
}
