/* Balancepunkte Vorträge – Mega-Menü ([bp_vortraege])
   Gleicher Stil wie das Menü „Therapie & Coaching“: Panel #e3edf3, Instrument Serif, Links #3a7a9a */
.bpev {
	display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); align-items: stretch;
	padding: 32px 0; border-radius: 16px; background: #e3edf3; text-align: left !important;
}
.bpev.bpev--single { grid-template-columns: minmax(0, 1fr); }
.bpev *, .bpev *::before, .bpev *::after { box-sizing: border-box; text-align: left !important; }
.bpev a { text-decoration: none !important; border: 0 !important; }
.bpev .bpev-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 4px 32px; }
.bpev .bpev-col + .bpev-col { border-left: 1px solid rgba(32, 42, 48, .12); }
.bpev .bpev-title {
	margin: 0 0 2px !important; padding: 0 !important; font-family: "Instrument Serif", Georgia, serif; font-size: 26px;
	font-weight: 300; line-height: 1.15 !important; color: #202a30;
}

/* Anstehender Vortrag */
.bpev a.bpev-card {
	display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 22px; align-items: stretch;
	padding: 12px; background: #fff; border-radius: 14px; color: #202a30 !important;
	transition: transform .25s, box-shadow .25s;
}
.bpev a.bpev-card:hover { transform: translateY(-2px); box-shadow: 0 16px 34px -20px rgba(32, 42, 48, .4); }
.bpev .bpev-card__img { position: relative; display: block; min-height: 132px; border-radius: 10px; overflow: hidden; background: #e3edf3; }
.bpev .bpev-card__img img {
	position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
	max-width: none !important; object-fit: cover; margin: 0 !important;
}
.bpev .bpev-card__text { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; padding: 6px 8px 6px 0; }
.bpev .bpev-card__date {
	align-self: flex-start; display: inline-block; padding: 4px 10px; border-radius: 999px; background: #3a7a9a; color: #fff;
	font-family: Inter, sans-serif; font-size: 12px; font-weight: 600; line-height: 1.4 !important; letter-spacing: .03em;
}
.bpev .bpev-card__name { display: block; margin-top: 2px; font-family: "Instrument Serif", Georgia, serif; font-size: 23px; line-height: 1.15 !important; color: #202a30; }
.bpev .bpev-card__meta { display: block; font-family: Inter, sans-serif; font-size: 13.5px; line-height: 1.4 !important; color: #5b6b75; }
.bpev .bpev-card__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 14px; margin-top: auto; padding-top: 6px; }
.bpev .bpev-card__cta { font-family: Inter, sans-serif; font-size: 14px; font-weight: 600; color: #3a7a9a; }
.bpev .bpev-card__cta span { display: inline-block; transition: transform .2s; }
.bpev a.bpev-card:hover .bpev-card__cta span { transform: translateX(4px); }
.bpev .bpev-card__seats { font-family: Inter, sans-serif; font-size: 12.5px; font-weight: 500; color: #b5432f; }

/* Keine anstehenden Vorträge */
.bpev .bpev-empty { padding: 22px 24px; border-radius: 14px; background: rgba(255, 255, 255, .6); }
.bpev .bpev-empty__title { margin: 0 0 6px !important; font-family: "Instrument Serif", Georgia, serif; font-size: 22px; line-height: 1.2 !important; color: #202a30; }
.bpev .bpev-empty__text { margin: 0 0 12px !important; font-family: Inter, sans-serif; font-size: 14px; line-height: 1.55 !important; color: #5b6b75; }
.bpev a.bpev-link { font-family: Inter, sans-serif; font-size: 14px; font-weight: 600; color: #3a7a9a !important; }

/* Rückblick */
.bpev .bpev-past { display: flex; flex-direction: column; }
.bpev a.bpev-past__item {
	display: flex; flex-direction: column; gap: 3px; padding: 12px 0; border-bottom: 1px solid rgba(32, 42, 48, .1) !important;
	color: #202a30 !important; transition: color .2s;
}
.bpev a.bpev-past__item:first-child { padding-top: 4px; }
.bpev .bpev-past__date { font-family: Inter, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .06em; line-height: 1.4 !important; color: #8a99a3; text-transform: uppercase; }
.bpev .bpev-past__name { font-family: Inter, sans-serif; font-size: 15px; line-height: 1.4 !important; color: #202a30; }
.bpev .bpev-past__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-family: Inter, sans-serif; font-size: 13px; line-height: 1.45 !important; color: #5b6b75; }
.bpev a.bpev-past__item:hover .bpev-past__name { color: #3a7a9a; }

@media (max-width: 959px) {
	.bpev { grid-template-columns: 1fr; padding: 8px 0; }
	.bpev .bpev-col { padding: 20px 24px; }
	.bpev .bpev-col + .bpev-col { border-left: 0; border-top: 1px solid rgba(32, 42, 48, .12); }
	.bpev a.bpev-card { grid-template-columns: 1fr; }
	.bpev .bpev-card__img { min-height: 0; aspect-ratio: 16 / 9; }
}
.bpev a.bpev-all { margin-top: 14px; }

/* =========================================================================
   Übersichtsseite „Vorträge“ ([bp_vortraege_seite]) – Stil wie „Therapie & Coaching“
   ========================================================================= */
.bpvp {
	--ink: #1f3a52; --muted: #5b7186; --soft: #8a9cad; --accent: #3e6d8e; --accent-dark: #2f5672; --line: #d9e3eb;
	--shadow: 0 1px 2px rgba(31, 58, 82, .04), 0 12px 32px -18px rgba(31, 58, 82, .28);
	position: relative; z-index: 0; isolation: isolate; width: 100%; max-width: min(100%, 1032px); margin: 0 auto;
	color: var(--ink); font-size: 17px; line-height: 1.6;
}
.bpvp *, .bpvp *::before, .bpvp *::after { box-sizing: border-box; }
.bpvp a { text-decoration: none; }
.bpvp em { font-style: italic; color: var(--accent); }

.bpvp-hero { max-width: 860px; margin: 0 auto; padding: 112px 0 88px; text-align: center; }
.bpvp-icon { display: block; width: 56px !important; height: 56px !important; margin: 0 auto 26px; object-fit: contain; }
.bpvp .bpvp-eyebrow { margin: 0 0 18px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.bpvp h1.bpvp-h1 { margin: 0 auto; max-width: 9.5em; font-size: clamp(46px, 6.2vw, 80px); line-height: 1.02; letter-spacing: -.01em; text-wrap: balance; color: var(--ink); }
.bpvp .bpvp-intro { margin: 28px auto 0; max-width: 760px; font-size: 19.5px; line-height: 1.7; color: var(--muted); }

.bpvp-section { margin-top: 24px; }
.bpvp-section + .bpvp-section { margin-top: 88px; }
.bpvp h2.bpvp-h2 { margin: 0 0 28px; font-size: clamp(30px, 3.2vw, 40px); line-height: 1.1; text-wrap: balance; color: var(--ink); }

/* Anstehend: große Karte */
.bpvp-upcoming { display: flex; flex-direction: column; gap: 28px; }
.bpvp a.bpvp-event {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); overflow: hidden; color: var(--ink);
	background: #fff; border-radius: 24px; box-shadow: var(--shadow); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s;
}
.bpvp a.bpvp-event:hover { transform: translateY(-4px); box-shadow: 0 1px 2px rgba(31, 58, 82, .04), 0 24px 48px -22px rgba(31, 58, 82, .38); }
.bpvp .bpvp-event__img { position: relative; display: block; min-height: 340px; background: #e3edf3; overflow: hidden; }
.bpvp .bpvp-event__img img {
	position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important;
	object-fit: cover; margin: 0 !important; transition: transform .9s cubic-bezier(.2, .7, .2, 1);
}
.bpvp a.bpvp-event:hover .bpvp-event__img img { transform: scale(1.04); }
.bpvp .bpvp-event__badge {
	position: absolute; top: 18px; left: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center;
	width: 72px; height: 72px; border-radius: 16px; background: #fff; color: var(--accent);
	font-size: 12px; font-weight: 600; letter-spacing: .08em; line-height: 1.1; text-transform: uppercase; box-shadow: 0 8px 20px -10px rgba(31, 58, 82, .5);
}
.bpvp .bpvp-event__badge b { font-family: "Instrument Serif", Georgia, serif; font-size: 32px; font-weight: 400; letter-spacing: 0; line-height: 1; color: var(--ink); }
.bpvp .bpvp-event__body { display: flex; flex-direction: column; gap: 10px; padding: 40px 44px; }
.bpvp .bpvp-event__date { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.bpvp h3.bpvp-event__title { margin: 0; font-size: clamp(28px, 2.8vw, 36px); line-height: 1.12; text-wrap: balance; color: var(--ink); }
.bpvp .bpvp-event__sub { font-size: 17px; font-weight: 500; color: var(--ink); }
.bpvp .bpvp-event__excerpt { font-size: 16px; line-height: 1.65; color: var(--muted); }
.bpvp .bpvp-past__excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; line-height: 1.6; color: var(--muted); }
.bpvp .bpvp-past__more { margin-top: 6px; font-size: 14.5px; font-weight: 600; color: var(--accent); }
.bpvp .bpvp-event__place { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--ink); }
.bpvp .bpvp-event__place::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.bpvp .bpvp-event__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: auto; padding-top: 18px; }
.bpvp .bpvp-event__seats { font-size: 14px; font-weight: 600; color: #b5432f; }
.bpvp .bpvp-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 28px; border-radius: 999px;
	background: var(--accent); color: #fff; font-size: 15.5px; font-weight: 600; transition: background-color .2s;
}
.bpvp a.bpvp-event:hover .bpvp-btn { background: var(--accent-dark); }
.bpvp .bpvp-empty { padding: 36px 40px; border-radius: 24px; background: #fff; box-shadow: var(--shadow); }
.bpvp .bpvp-empty__title { margin: 0 0 6px; font-family: "Instrument Serif", Georgia, serif; font-size: 28px; line-height: 1.2; color: var(--ink); }
.bpvp .bpvp-empty__text { margin: 0; color: var(--muted); }

/* Rückblick: ruhige Kacheln */
.bpvp-past { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.bpvp a.bpvp-past__item { display: flex; flex-direction: column; overflow: hidden; color: var(--ink); background: #fff; border-radius: 20px; box-shadow: var(--shadow); transition: transform .3s; }
.bpvp a.bpvp-past__item:hover { transform: translateY(-3px); }
.bpvp .bpvp-past__img { position: relative; display: block; aspect-ratio: 3 / 2; background: #e3edf3; overflow: hidden; }
.bpvp .bpvp-past__img img {
	position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important;
	object-fit: cover; margin: 0 !important; filter: saturate(.75);
}
.bpvp .bpvp-past__body { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; padding: 20px 24px 24px; }
.bpvp .bpvp-past__date { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--soft); }
.bpvp h3.bpvp-past__title { margin: 0; font-size: 22px; line-height: 1.2; color: var(--ink); }

/* Vortrag anfragen */
.bpvp-request {
	margin-top: 96px; padding: 56px 64px; border-radius: 28px; text-align: center; color: #fff; background: var(--ink);
}
.bpvp-request h2.bpvp-h2 { margin: 0 0 14px; color: #fff; }
.bpvp-request em { color: #a9c7dc; }
.bpvp-request p { margin: 0 auto 28px; max-width: 58ch; color: rgba(255, 255, 255, .82); }
.bpvp .bpvp-btn--light { background: #fff; color: var(--ink); }
.bpvp .bpvp-btn--light:hover { background: #e3edf3; color: var(--ink); }

@media (max-width: 1024px) {
	.bpvp-hero { padding: 88px 0 64px; }
	.bpvp-past { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.bpvp { font-size: 16px; }
	.bpvp-hero { padding: 16px 0 44px; }
	.bpvp-icon { width: 40px !important; height: 40px !important; margin-bottom: 16px; }
	.bpvp .bpvp-intro { font-size: 17px; margin-top: 22px; }
	.bpvp a.bpvp-event { grid-template-columns: 1fr; }
	.bpvp .bpvp-event__img { min-height: 0; aspect-ratio: 3 / 2; }
	.bpvp .bpvp-event__body { padding: 26px 24px 28px; }
	.bpvp .bpvp-btn { width: 100%; }
	.bpvp-section + .bpvp-section { margin-top: 64px; }
	.bpvp-past { grid-template-columns: 1fr; gap: 20px; }
	.bpvp-request { margin-top: 64px; padding: 40px 24px; border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) { .bpvp *, .bpev * { transition: none !important; } }
