/* Viva Blocks – [viva_willkommen]
   Nur Layout. Farben, Schriften, Buttons kommen aus assets/core.css (Corporate Design). */

.vk-welcome__intro {
	max-width: 900px;
	margin: 0 auto 72px;
	text-align: center;
}
.vk-welcome__intro .vb-h1 { margin: 0 !important; }
.vk-welcome__intro .vb-lead { margin: 0 !important; }

.vk-welcome__inner {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 64px;
	align-items: center;
}

.vk-welcome__list {
	list-style: none !important;
	margin: 0 0 32px !important;
	padding: 0 !important;
	display: grid;
	gap: 18px;
}
.vk-welcome__list li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	line-height: 1.55;
	color: var(--vb-muted);
}
.vk-welcome__list li::before { display: none !important; }
.vk-welcome__list strong {
	display: block;
	margin-bottom: 2px;
	font-family: var(--vb-font-heading);
	font-size: calc(var(--vb-fs) * 1.1);
	font-weight: var(--vb-heading-weight);
	color: var(--vb-text);
}

/* Video */
.vk-welcome__media-label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px !important;
	font-size: var(--vb-fs-small);
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--vb-text);
}
/* Live-Punkt: bewusst Signalrot (kein CD-Wert) */
.vk-welcome__live {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #e53935;
	box-shadow: 0 0 0 0 rgba(229,57,53,.6);
	animation: vk-live 2s infinite;
}
@keyframes vk-live { 70% { box-shadow: 0 0 0 9px rgba(229,57,53,0); } 100% { box-shadow: 0 0 0 0 rgba(229,57,53,0); } }

.vk-welcome__video { aspect-ratio: 16 / 9; background: #000; }
.vk-welcome__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vk-welcome__yt { display: inline-block; margin-top: 18px; }

@media (max-width: 960px) {
	.vk-welcome__intro { margin-bottom: 48px; }
	.vk-welcome__inner { grid-template-columns: 1fr; gap: 40px; }
}

/* Letzte Predigten (Vorschau) */
.vk-welcome__recent-label {
	margin: 22px 0 10px !important;
	font-size: var(--vb-fs-small);
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--vb-muted);
}
.vk-welcome__recent { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.vk-welcome__clip { display: block; color: var(--vb-text) !important; text-decoration: none !important; }
.vk-welcome__clip .vb-img { aspect-ratio: 16 / 9; box-shadow: none; }
.vk-welcome__clip img { transition: transform .5s var(--vb-ease); }
.vk-welcome__play {
	position: absolute; left: 50%; top: 50%;
	width: 34px; height: 34px; margin: -17px 0 0 -17px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(var(--vb-text-rgb), .6);
	color: #fff; font-size: 12px; padding-left: 2px;
	transition: background .25s, transform .25s;
}
.vk-welcome__clip:hover img { transform: scale(1.06); }
.vk-welcome__clip:hover .vk-welcome__play { background: var(--vb-accent); transform: scale(1.1); }
.vk-welcome__clip-title {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	margin-top: 8px;
	font-size: calc(var(--vb-fs) * .8);
	font-weight: 700;
	line-height: 1.35;
	transition: color .25s;
}
.vk-welcome__clip:hover .vk-welcome__clip-title { color: var(--vb-accent); }

/* Links: YouTube + Spotify */
.vk-welcome__links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 22px; }
/* Dezente Buttons mit einfarbigem YouTube-/Spotify-Icon */
.vb-block .vk-welcome__btn { display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px 11px 16px; border-radius: 999px; border: 1px solid rgba(var(--vb-text-rgb), .16); background: rgba(255, 255, 255, .7); color: var(--vb-text) !important; font-size: var(--vb-fs-small); font-weight: 600; line-height: 1.2; text-decoration: none !important; transition: border-color .25s, background .25s, transform .25s var(--vb-ease), box-shadow .25s; }
.vk-welcome__btn svg { flex: 0 0 auto; width: 20px; height: 20px; fill: currentColor; opacity: .75; transition: opacity .25s; }
.vb-block .vk-welcome__btn:hover { border-color: rgba(var(--vb-text-rgb), .35); background: #fff; transform: translateY(-2px); box-shadow: 0 10px 22px -14px rgba(var(--vb-text-rgb), .45); }
.vk-welcome__btn:hover svg { opacity: 1; }
@media (max-width: 600px) { .vk-welcome__links { flex-direction: column; align-items: stretch; } .vb-block .vk-welcome__btn { justify-content: center; } }
.vk-welcome__spotify {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 9px 16px 9px 10px;
	border-radius: var(--vb-radius-btn);
	background: var(--vb-bg);
	box-shadow: var(--vb-shadow);
	font-size: calc(var(--vb-fs) * .85);
	font-weight: 700;
	color: var(--vb-text) !important;
	text-decoration: none !important;
	transition: transform .25s var(--vb-ease), color .25s;
}
.vk-welcome__spotify svg { width: 24px; height: 24px; fill: #1DB954; /* Spotify-Markenfarbe */ }
.vk-welcome__spotify:hover { transform: translateY(-2px); color: var(--vb-accent) !important; }

@media (max-width: 480px) {
	.vk-welcome__recent { gap: 10px; }
	.vk-welcome__clip-title { font-size: calc(var(--vb-fs) * .72); }
}

/* Variante «Player»: nur Video, breit, dunkle Bühne ([viva_willkommen mode="player"]) */
.vk-welcome--player { position: relative; overflow: hidden; background: radial-gradient(120% 90% at 50% 0%, rgba(var(--vb-primary-rgb), .14), transparent 60%), var(--vb-dark) !important; }
.vk-welcome__stage { position: relative; max-width: 1400px; margin: 0 auto; }
.vk-welcome--player .vk-welcome__media-label { justify-content: center; margin-bottom: 20px !important; color: var(--vb-on-dark); }
.vk-welcome--player .vk-welcome__video { border-radius: var(--vb-radius); box-shadow: 0 40px 90px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.06); }
.vk-welcome--player .vk-welcome__recent-label { margin-top: 30px !important; color: rgba(255,255,255,.6); text-align: center; }
.vk-welcome--player .vk-welcome__recent { max-width: 1000px; margin: 0 auto; gap: 20px; }
.vk-welcome--player .vk-welcome__clip { color: var(--vb-on-dark) !important; }
.vk-welcome--player .vk-welcome__clip .vb-img { background: #000; }
.vk-welcome--player .vk-welcome__clip:hover .vk-welcome__clip-title { color: var(--vb-primary); }
.vk-welcome--player .vk-welcome__links { justify-content: center; gap: 12px; margin-top: 30px; }
@media (max-width: 960px) { .vk-welcome--player { padding-left: 0 !important; padding-right: 0 !important; } .vk-welcome__stage { padding: 0 12px; } .vk-welcome--player .vk-welcome__video { border-radius: 6px; } }
@media (max-width: 600px) { .vk-welcome--player .vk-welcome__recent { gap: 10px; } }