/*
 * JuBo Event-Übersicht
 * Kuratierte Landingpage für Events & Erlebnisse.
 * Scope: ausschließlich .jubo-event-overview-page / .jubo-event-overview-*.
 */

.jubo-event-overview-page {
	--jubo-white-rock: #e7e7d9;
	--jubo-bombay: #b4babc;
	--jubo-dim-gray: #67646c;
	--jubo-chicago: #545c56;
	--jubo-zeus: #272119;
	--jubo-deco: #dad99b;
	--jubo-golden-dream: #f4dd30;
	--jubo-dark-goldenrod: #b7890a;
	--jubo-shadow: #81744e;
	--jubo-raw-umber: #6f5113;
	--jubo-radius-xl: 38px;
	--jubo-radius-lg: 30px;
	--jubo-radius-md: 22px;
	--jubo-radius-sm: 14px;
	--jubo-shadow-soft: 0 24px 70px rgba(39, 33, 25, 0.14);
	--jubo-shadow-dark: 0 26px 80px rgba(0, 0, 0, 0.28);
	--jubo-container: 1280px;
	--jubo-line: rgba(183, 137, 10, 0.22);
	--jubo-soft-line: rgba(39, 33, 25, 0.1);
	background: var(--jubo-white-rock);
	color: var(--jubo-zeus);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.65;
	overflow: hidden;
}

.jubo-event-overview-page *,
.jubo-event-overview-page *::before,
.jubo-event-overview-page *::after {
	box-sizing: border-box;
}

.jubo-event-overview-page a {
	color: inherit;
	text-decoration: none;
}

.jubo-event-overview-shell {
	width: min(calc(100% - clamp(116px, 12vw, 180px)), var(--jubo-container));
	margin-inline: auto;
}

.jubo-event-overview-page h1,
.jubo-event-overview-page h2,
.jubo-event-overview-page h3,
.jubo-event-overview-page p {
	margin-top: 0;
}

.jubo-event-overview-page h1,
.jubo-event-overview-page h2,
.jubo-event-overview-page h3 {
	color: inherit;
	font-family: inherit;
	font-weight: 650;
	letter-spacing: -0.045em;
	line-height: 1;
}

.jubo-event-overview-page h1 {
	max-width: 940px;
	margin-bottom: 26px;
	font-size: clamp(46px, 5.35vw, 74px);
}

.jubo-event-overview-page h2 {
	max-width: 940px;
	margin-bottom: 24px;
	font-size: clamp(38px, 4.6vw, 70px);
}

.jubo-event-overview-page h3 {
	margin-bottom: 14px;
	font-size: clamp(20px, 1.55vw, 25px);
	font-weight: 650;
	letter-spacing: -0.02em;
	line-height: 1.18;
}

.jubo-event-overview-page p,
.jubo-event-overview-page li {
	color: rgba(39, 33, 25, 0.72);
	font-family: inherit;
	font-size: clamp(15.75px, 0.85vw, 16.5px);
	line-height: 1.66;
}

.jubo-event-overview-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 clamp(16px, 1.35vw, 20px);
	color: var(--jubo-dark-goldenrod) !important;
	font-family: inherit;
	font-size: clamp(14px, 1.05vw, 19px) !important;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.35 !important;
	text-transform: uppercase;
}

.jubo-event-overview-eyebrow::before {
	content: "";
	display: inline-block;
	width: 34px;
	height: 1px;
	background: linear-gradient(90deg, transparent, currentColor);
}

.jubo-event-overview-section {
	position: relative;
	padding: clamp(58px, 6vw, 90px) 0;
}

.jubo-event-overview-section-head {
	max-width: 820px;
	margin-bottom: clamp(28px, 4vw, 44px);
}

.jubo-event-overview-section-head > p:not(.jubo-event-overview-eyebrow) {
	max-width: 760px;
	margin-bottom: 0;
	color: rgba(39, 33, 25, 0.76);
	font-size: clamp(16px, 1.15vw, 18px);
	line-height: 1.62;
}

.jubo-event-overview-section-head--center {
	margin-inline: auto;
	text-align: center;
}

.jubo-event-overview-section-head--center > p:not(.jubo-event-overview-eyebrow) {
	margin-inline: auto;
}

/* Buttons */
.jubo-event-overview-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.jubo-event-overview-actions--center {
	justify-content: center;
}

.jubo-event-overview-actions--vertical {
	justify-content: flex-end;
	align-content: center;
}

.jubo-event-overview-button {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 15px 26px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-family: inherit;
	font-size: clamp(15.5px, 0.82vw, 17px);
	font-weight: 800;
	letter-spacing: 0.065em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	overflow: hidden;
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease, background-color 0.28s ease, border-color 0.28s ease, color 0.28s ease;
}

.jubo-event-overview-button::before {
	content: "";
	position: absolute;
	inset: -2px;
	z-index: -1;
	border-radius: inherit;
	background: radial-gradient(circle at 50% 50%, rgba(244, 221, 48, 0.32), transparent 56%);
	opacity: 0;
	transition: opacity 0.28s ease;
}

.jubo-event-overview-button::after {
	content: "";
	position: absolute;
	top: -45%;
	bottom: -45%;
	left: -35%;
	z-index: -1;
	width: 34%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
	transform: translateX(-180%) rotate(14deg);
	transition: transform 0.62s ease;
}

.jubo-event-overview-button--primary {
	border-color: rgba(244, 221, 48, 0.18);
	background: linear-gradient(135deg, var(--jubo-dark-goldenrod), #d2a51a);
	color: var(--jubo-zeus) !important;
	box-shadow: 0 16px 42px rgba(183, 137, 10, 0.28);
}

.jubo-event-overview-button--ghost {
	border-color: rgba(218, 217, 155, 0.32);
	background: rgba(231, 231, 217, 0.06);
	color: var(--jubo-white-rock) !important;
	box-shadow: none;
}

.jubo-event-overview-button:hover,
.jubo-event-overview-button:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 22px 52px rgba(0, 0, 0, 0.18);
}

.jubo-event-overview-button:hover::before,
.jubo-event-overview-button:focus-visible::before {
	opacity: 1;
}

.jubo-event-overview-button:hover::after,
.jubo-event-overview-button:focus-visible::after {
	transform: translateX(420%) rotate(14deg);
}

.jubo-event-overview-text-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 18px;
	color: var(--jubo-dark-goldenrod) !important;
	font-size: clamp(14px, 0.84vw, 15px);
	font-weight: 850;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-decoration: none !important;
	text-transform: uppercase;
}

.jubo-event-overview-text-link::after {
	content: "→";
	line-height: 1;
	transition: transform 0.24s ease;
}

.jubo-event-overview-text-link:hover::after,
.jubo-event-overview-text-link:focus-visible::after {
	transform: translateX(4px);
}

/* Hero */
.jubo-event-overview-hero {
	position: relative;
	isolation: isolate;
	padding: clamp(84px, 8vw, 132px) 0 clamp(66px, 7vw, 112px);
	background:
		radial-gradient(circle at 82% 12%, rgba(244, 221, 48, 0.14), transparent 26%),
		radial-gradient(circle at 8% 82%, rgba(183, 137, 10, 0.18), transparent 26%),
		linear-gradient(135deg, #272119 0%, #3c382f 46%, #545c56 100%);
	color: var(--jubo-white-rock);
}

.jubo-event-overview-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(218, 217, 155, 0.46), transparent);
}

.jubo-event-overview-hero__glow {
	position: absolute;
	inset: 12% -12% auto auto;
	z-index: -1;
	width: clamp(220px, 38vw, 540px);
	aspect-ratio: 1;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(183, 137, 10, 0.3), transparent 62%);
	filter: blur(4px);
	opacity: 0.78;
}

.jubo-event-overview-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(340px, 0.7fr);
	gap: clamp(34px, 5vw, 72px);
	align-items: center;
}

.jubo-event-overview-hero__content {
	max-width: 900px;
}

.jubo-event-overview-hero .jubo-event-overview-eyebrow,
.jubo-event-overview-section--final .jubo-event-overview-eyebrow,
.jubo-event-overview-section--groups .jubo-event-overview-eyebrow {
	color: var(--jubo-deco) !important;
}

.jubo-event-overview-hero__lead {
	max-width: 820px;
	margin-bottom: 18px;
	color: rgba(231, 231, 217, 0.86) !important;
	font-size: clamp(18px, 1.55vw, 24px);
	line-height: 1.5;
}

.jubo-event-overview-hero__text {
	max-width: 790px;
	margin-bottom: 0;
	color: rgba(231, 231, 217, 0.76) !important;
	font-size: clamp(16px, 1.05vw, 18px);
	line-height: 1.68;
}

.jubo-event-overview-microcopy {
	margin: 22px 0 0;
	color: rgba(218, 217, 155, 0.82) !important;
	font-size: clamp(14px, 0.92vw, 15px);
	font-weight: 750;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.jubo-event-overview-hero__media {
	position: relative;
	min-height: clamp(360px, 46vw, 580px);
	overflow: hidden;
	border: 1px solid rgba(218, 217, 155, 0.18);
	border-radius: var(--jubo-radius-xl);
	background: rgba(231, 231, 217, 0.06);
	box-shadow: var(--jubo-shadow-dark);
}

.jubo-event-overview-hero__media::before {
	content: "";
	position: absolute;
	inset: 18px;
	z-index: 2;
	border: 1px solid rgba(218, 217, 155, 0.18);
	border-radius: calc(var(--jubo-radius-xl) - 12px);
	pointer-events: none;
}

.jubo-event-overview-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

/* Finder */
.jubo-event-overview-section--finder {
	background: linear-gradient(180deg, rgba(231, 231, 217, 1), rgba(231, 231, 217, 0.92));
	padding-bottom: clamp(48px, 5vw, 72px);
}

.jubo-event-overview-chip-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	max-width: 980px;
	margin-inline: auto;
}

.jubo-event-overview-chip {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border: 1px solid rgba(183, 137, 10, 0.24);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.42);
	box-shadow: 0 10px 28px rgba(39, 33, 25, 0.08);
	color: var(--jubo-zeus) !important;
	font-size: clamp(14px, 0.88vw, 15.5px);
	font-weight: 850;
	letter-spacing: 0.055em;
	line-height: 1.15;
	text-transform: uppercase;
	transition: transform 0.24s ease, background-color 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

.jubo-event-overview-chip:hover,
.jubo-event-overview-chip:focus-visible {
	border-color: rgba(183, 137, 10, 0.58);
	background: rgba(218, 217, 155, 0.55);
	box-shadow: 0 16px 36px rgba(39, 33, 25, 0.12);
	transform: translateY(-2px);
}

/* Event tiles */
.jubo-event-overview-section--world {
	background:
		radial-gradient(circle at 10% 18%, rgba(183, 137, 10, 0.1), transparent 25%),
		linear-gradient(180deg, rgba(231, 231, 217, 0.92), rgba(231, 231, 217, 1));
}

.jubo-event-overview-tile-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 1.8vw, 24px);
}

.jubo-event-overview-tile {
	position: relative;
	isolation: isolate;
	display: block;
	min-height: clamp(240px, 23vw, 355px);
	overflow: hidden;
	border: 1px solid rgba(39, 33, 25, 0.1);
	border-radius: var(--jubo-radius-lg);
	background: var(--jubo-zeus);
	box-shadow: var(--jubo-shadow-soft);
	outline: none;
	transform: translateZ(0);
}

.jubo-event-overview-tile__media,
.jubo-event-overview-tile__image,
.jubo-event-overview-tile__shade,
.jubo-event-overview-tile__content {
	position: absolute;
	inset: 0;
}

.jubo-event-overview-tile__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.38s ease, transform 0.52s cubic-bezier(0.22, 1, 0.36, 1);
}

.jubo-event-overview-tile__image--hover {
	opacity: 0;
}

.jubo-event-overview-tile__shade {
	z-index: 2;
	background:
		linear-gradient(180deg, rgba(39, 33, 25, 0.08), rgba(39, 33, 25, 0.78)),
		linear-gradient(90deg, rgba(39, 33, 25, 0.72), rgba(39, 33, 25, 0.1));
}

.jubo-event-overview-tile__shade::before {
	content: "";
	position: absolute;
	inset: 16px;
	border: 1px solid rgba(218, 217, 155, 0.2);
	border-radius: calc(var(--jubo-radius-lg) - 10px);
	opacity: 0.68;
	transition: opacity 0.28s ease, border-color 0.28s ease;
}

.jubo-event-overview-tile__content {
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(20px, 2.1vw, 30px);
}

.jubo-event-overview-tile__label {
	display: inline-flex;
	width: fit-content;
	margin-bottom: 12px;
	padding: 7px 11px;
	border: 1px solid rgba(218, 217, 155, 0.28);
	border-radius: 999px;
	background: rgba(231, 231, 217, 0.08);
	color: rgba(231, 231, 217, 0.82);
	font-size: clamp(11.5px, 0.75vw, 13px);
	font-weight: 850;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
}

.jubo-event-overview-tile__title {
	position: relative;
	display: block;
	min-height: 1.1em;
	color: var(--jubo-white-rock);
	font-size: clamp(30px, 3.4vw, 52px);
	font-weight: 700;
	letter-spacing: -0.055em;
	line-height: 0.98;
	text-wrap: balance;
}

.jubo-event-overview-tile__title-base,
.jubo-event-overview-tile__title-hover {
	display: block;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.jubo-event-overview-tile__title-hover {
	position: absolute;
	inset: 0 auto auto 0;
	max-width: 100%;
	color: var(--jubo-deco);
	opacity: 0;
	transform: translateY(10px);
}

@media (hover: hover) {
	.jubo-event-overview-tile:hover {
		box-shadow: 0 28px 82px rgba(39, 33, 25, 0.22);
	}

	.jubo-event-overview-tile:hover .jubo-event-overview-tile__image--base {
		transform: scale(1.05);
	}

	.jubo-event-overview-tile--has-hover-image:hover .jubo-event-overview-tile__image--base {
		opacity: 0;
	}

	.jubo-event-overview-tile--has-hover-image:hover .jubo-event-overview-tile__image--hover {
		opacity: 1;
		transform: scale(1.045);
	}

	.jubo-event-overview-tile:hover .jubo-event-overview-tile__title-base {
		opacity: 0;
		transform: translateY(-8px);
	}

	.jubo-event-overview-tile:hover .jubo-event-overview-tile__title-hover {
		opacity: 1;
		transform: translateY(0);
	}

	.jubo-event-overview-tile:hover .jubo-event-overview-tile__shade::before {
		border-color: rgba(218, 217, 155, 0.44);
		opacity: 1;
	}
}

.jubo-event-overview-tile:focus-visible {
	box-shadow: 0 0 0 4px rgba(218, 217, 155, 0.42), var(--jubo-shadow-soft);
}

/* Highlight cards */
.jubo-event-overview-section--highlights {
	background: var(--jubo-white-rock);
}

.jubo-event-overview-highlight-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 26px);
}

.jubo-event-overview-highlight-card,
.jubo-event-overview-mood-card {
	overflow: hidden;
	border: 1px solid rgba(39, 33, 25, 0.1);
	border-radius: var(--jubo-radius-lg);
	background: rgba(255, 255, 255, 0.36);
	box-shadow: var(--jubo-shadow-soft);
}

.jubo-event-overview-highlight-card__media {
	position: relative;
	min-height: clamp(230px, 25vw, 340px);
	overflow: hidden;
	background: rgba(183, 137, 10, 0.1);
}

.jubo-event-overview-highlight-card__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	transition: transform 0.42s ease;
}

.jubo-event-overview-highlight-card:hover .jubo-event-overview-highlight-card__image {
	transform: scale(1.035);
}

.jubo-event-overview-highlight-card__content {
	padding: clamp(22px, 2.6vw, 32px);
}

.jubo-event-overview-card-meta {
	margin-bottom: clamp(16px, 1.2vw, 20px);
	color: var(--jubo-dark-goldenrod) !important;
	font-size: clamp(14px, 1.05vw, 19px) !important;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.35 !important;
	text-transform: uppercase;
}

.jubo-event-overview-highlight-card p:not(.jubo-event-overview-card-meta),
.jubo-event-overview-mood-card p {
	margin-bottom: 0;
}

/* Moods */
.jubo-event-overview-section--moods {
	background:
		radial-gradient(circle at 88% 12%, rgba(244, 221, 48, 0.12), transparent 24%),
		linear-gradient(135deg, rgba(84, 92, 86, 0.98), rgba(39, 33, 25, 0.98));
	color: var(--jubo-white-rock);
}

.jubo-event-overview-section--moods .jubo-event-overview-section-head > p:not(.jubo-event-overview-eyebrow),
.jubo-event-overview-section--moods .jubo-event-overview-mood-card p {
	color: rgba(231, 231, 217, 0.74);
}

.jubo-event-overview-section--moods .jubo-event-overview-eyebrow {
	color: var(--jubo-deco) !important;
}

.jubo-event-overview-mood-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 26px);
}

.jubo-event-overview-mood-card {
	padding: clamp(24px, 3vw, 36px);
	border-color: rgba(231, 231, 217, 0.14);
	background: rgba(231, 231, 217, 0.065);
	box-shadow: none;
}

.jubo-event-overview-mood-card__marker {
	display: block;
	width: 44px;
	height: 2px;
	margin-bottom: 28px;
	background: var(--jubo-dark-goldenrod);
	color: transparent;
}

.jubo-event-overview-section--moods .jubo-event-overview-text-link {
	color: var(--jubo-deco) !important;
}

/* Groups teaser */
.jubo-event-overview-section--groups {
	background: linear-gradient(180deg, var(--jubo-white-rock), rgba(231, 231, 217, 0.96));
}

.jubo-event-overview-groups-box {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.48fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	padding: clamp(30px, 5vw, 58px);
	border: 1px solid rgba(39, 33, 25, 0.1);
	border-radius: var(--jubo-radius-xl);
	background:
		radial-gradient(circle at 94% 12%, rgba(183, 137, 10, 0.16), transparent 26%),
		linear-gradient(135deg, rgba(39, 33, 25, 0.98), rgba(84, 92, 86, 0.96));
	box-shadow: var(--jubo-shadow-dark);
	color: var(--jubo-white-rock);
}

.jubo-event-overview-groups-box h2 {
	margin-bottom: 22px;
}

.jubo-event-overview-groups-box p:not(.jubo-event-overview-eyebrow) {
	max-width: 720px;
	margin-bottom: 0;
	color: rgba(231, 231, 217, 0.76);
	font-size: clamp(16px, 1.15vw, 18px);
	line-height: 1.62;
}

/* Final */
.jubo-event-overview-section--final {
	padding-top: clamp(44px, 5vw, 76px);
	padding-bottom: clamp(62px, 7vw, 104px);
	background:
		radial-gradient(circle at 50% 0%, rgba(183, 137, 10, 0.12), transparent 28%),
		linear-gradient(135deg, rgba(39, 33, 25, 0.99), rgba(84, 92, 86, 0.96));
	color: var(--jubo-white-rock);
}

.jubo-event-overview-final-box {
	max-width: 920px;
	margin-inline: auto;
	padding: clamp(30px, 6vw, 66px);
	border: 1px solid rgba(218, 217, 155, 0.18);
	border-radius: var(--jubo-radius-lg);
	background: linear-gradient(135deg, rgba(231, 231, 217, 0.08), rgba(183, 137, 10, 0.08)), rgba(231, 231, 217, 0.04);
	box-shadow: var(--jubo-shadow-dark);
	text-align: center;
}

.jubo-event-overview-final-box h2 {
	margin-inline: auto;
}

.jubo-event-overview-final-box p:not(.jubo-event-overview-eyebrow) {
	max-width: 720px;
	margin: 0 auto;
	color: rgba(231, 231, 217, 0.78);
	font-size: clamp(16px, 1.15vw, 18px);
	line-height: 1.62;
}

/* Media placeholder */
.jubo-event-overview-media-placeholder {
	display: grid;
	min-height: inherit;
	width: 100%;
	height: 100%;
	place-items: end start;
	padding: 24px;
	background:
		radial-gradient(circle at 70% 15%, rgba(244, 221, 48, 0.15), transparent 28%),
		linear-gradient(135deg, rgba(84, 92, 86, 0.94), rgba(39, 33, 25, 0.98));
}

.jubo-event-overview-media-placeholder span {
	display: inline-flex;
	max-width: 80%;
	color: rgba(231, 231, 217, 0.78);
	font-size: 13px;
	font-weight: 850;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
}

@media (max-width: 1180px) {
	.jubo-event-overview-tile-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.jubo-event-overview-hero__grid,
	.jubo-event-overview-groups-box {
		grid-template-columns: 1fr;
	}

	.jubo-event-overview-hero__media {
		min-height: 360px;
	}

	.jubo-event-overview-highlight-grid,
	.jubo-event-overview-mood-grid {
		grid-template-columns: 1fr;
	}

	.jubo-event-overview-actions--vertical {
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	.jubo-event-overview-page {
		font-size: 15px;
		line-height: 1.62;
	}

	.jubo-event-overview-shell {
		width: min(calc(100% - clamp(36px, 9vw, 54px)), var(--jubo-container));
	}

	.jubo-event-overview-section {
		padding: 54px 0;
	}

	.jubo-event-overview-hero {
		padding: 58px 0 54px;
	}

	.jubo-event-overview-page h1 {
		margin-bottom: 22px;
		font-size: clamp(38px, 10vw, 50px);
		line-height: 1.03;
	}

	.jubo-event-overview-page h2 {
		margin-bottom: 20px;
		font-size: clamp(28px, 7.6vw, 38px);
		line-height: 1.04;
	}

	.jubo-event-overview-page h3 {
		margin-bottom: 12px;
		font-size: clamp(20px, 5.3vw, 23px);
		line-height: 1.2;
	}

	.jubo-event-overview-page p,
	.jubo-event-overview-page li {
		font-size: clamp(15px, 3.6vw, 15.75px);
		line-height: 1.64;
	}

	.jubo-event-overview-eyebrow {
		margin-bottom: 15px;
		font-size: clamp(13px, 3.2vw, 14px) !important;
		letter-spacing: 0.08em;
	}

	.jubo-event-overview-section-head > p:not(.jubo-event-overview-eyebrow),
	.jubo-event-overview-groups-box p:not(.jubo-event-overview-eyebrow),
	.jubo-event-overview-final-box p:not(.jubo-event-overview-eyebrow) {
		font-size: clamp(15.25px, 3.8vw, 16px);
		line-height: 1.62;
	}

	.jubo-event-overview-hero__lead {
		font-size: clamp(15.5px, 4vw, 16.5px);
		line-height: 1.6;
	}

	.jubo-event-overview-hero__text,
	.jubo-event-overview-microcopy {
		font-size: clamp(14.5px, 3.7vw, 15.5px);
		line-height: 1.58;
	}

	.jubo-event-overview-hero__media {
		min-height: 320px;
		border-radius: 26px;
	}

	.jubo-event-overview-actions,
	.jubo-event-overview-actions--center,
	.jubo-event-overview-actions--vertical {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
	}

	.jubo-event-overview-button {
		width: 100%;
		min-height: 50px;
		padding: 14px 20px;
		font-size: 14px;
	}

	.jubo-event-overview-chip-row {
		justify-content: flex-start;
		gap: 10px;
	}

	.jubo-event-overview-chip {
		min-height: 42px;
		padding: 11px 14px;
		font-size: 12.5px;
	}

	.jubo-event-overview-tile-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.jubo-event-overview-tile {
		min-height: clamp(230px, 68vw, 320px);
		border-radius: 24px;
	}

	.jubo-event-overview-tile__content {
		padding: 22px;
	}

	.jubo-event-overview-tile__title {
		font-size: clamp(30px, 10vw, 42px);
		line-height: 1;
	}

	.jubo-event-overview-highlight-card__content,
	.jubo-event-overview-mood-card,
	.jubo-event-overview-groups-box,
	.jubo-event-overview-final-box {
		padding: 24px 22px;
	}

	.jubo-event-overview-highlight-card,
	.jubo-event-overview-mood-card,
	.jubo-event-overview-groups-box,
	.jubo-event-overview-final-box {
		border-radius: 24px;
	}

	.jubo-event-overview-section--final {
		padding-bottom: 54px;
	}
}

@media (max-width: 520px) {
	.jubo-event-overview-hero__media {
		min-height: 270px;
	}

	.jubo-event-overview-tile {
		min-height: 220px;
	}

	.jubo-event-overview-highlight-card__media {
		min-height: 220px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jubo-event-overview-page *,
	.jubo-event-overview-page *::before,
	.jubo-event-overview-page *::after {
		transition: none !important;
		scroll-behavior: auto !important;
	}

	.jubo-event-overview-button::after {
		display: none;
	}
}

/* Anfrageformular auf der Event-Übersicht */
.jubo-event-overview-section--request {
	isolation: isolate;
	background:
		radial-gradient(circle at 12% 18%, rgba(244, 221, 48, 0.12), transparent 28%),
		radial-gradient(circle at 88% 76%, rgba(183, 137, 10, 0.18), transparent 30%),
		linear-gradient(135deg, #272119 0%, #39362f 48%, #545c56 100%);
	color: var(--jubo-white-rock);
}

.jubo-event-overview-section--request::before,
.jubo-event-overview-section--request::after {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(218, 217, 155, 0.42), transparent);
}

.jubo-event-overview-section--request::after {
	inset: auto 0 0;
}

.jubo-event-overview-request-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
	gap: clamp(24px, 4vw, 52px);
	align-items: start;
}

.jubo-event-overview-request-copy {
	position: sticky;
	top: 96px;
	padding: clamp(30px, 5vw, 58px);
	border: 1px solid rgba(218, 217, 155, 0.18);
	border-radius: var(--jubo-radius-lg);
	background: linear-gradient(135deg, rgba(231, 231, 217, 0.08), rgba(183, 137, 10, 0.08)), rgba(231, 231, 217, 0.04);
	box-shadow: var(--jubo-shadow-dark);
}

.jubo-event-overview-request-copy .jubo-event-overview-eyebrow,
.jubo-event-overview-section--request .jubo-event-overview-eyebrow {
	color: var(--jubo-deco) !important;
}

.jubo-event-overview-request-copy h2 {
	margin-bottom: clamp(20px, 2vw, 28px);
	font-size: clamp(36px, 4.2vw, 62px);
}

.jubo-event-overview-request-copy p {
	color: rgba(231, 231, 217, 0.78) !important;
	font-size: clamp(16px, 1vw, 18px);
	line-height: 1.62;
}

.jubo-event-overview-request-points {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: clamp(22px, 2.6vw, 30px) 0;
}

.jubo-event-overview-request-points span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 9px 13px;
	border: 1px solid rgba(218, 217, 155, 0.18);
	border-radius: 999px;
	background: rgba(231, 231, 217, 0.08);
	color: rgba(231, 231, 217, 0.84);
	font-size: clamp(12.5px, 0.78vw, 14px);
	font-weight: 850;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.jubo-event-overview-request-note {
	margin-bottom: 0 !important;
	padding-top: 18px;
	border-top: 1px solid rgba(218, 217, 155, 0.18);
	color: rgba(218, 217, 155, 0.78) !important;
	font-size: clamp(14.5px, 0.82vw, 15.5px) !important;
	font-weight: 700;
}

.jubo-event-overview-request-form-shell {
	min-width: 0;
}

.jubo-event-overview-request-form-shell .jubo-groups-form-box {
	border-color: rgba(218, 217, 155, 0.18);
	border-radius: var(--jubo-radius-lg);
	background: linear-gradient(135deg, rgba(231, 231, 217, 0.08), rgba(183, 137, 10, 0.08)), rgba(231, 231, 217, 0.04);
	box-shadow: var(--jubo-shadow-dark);
}

.jubo-event-overview-section--request .jubo-groups-form-intro h3,
.jubo-event-overview-section--request .jubo-groups-form-notice h3 {
	color: var(--jubo-white-rock);
}

.jubo-event-overview-section--request .jubo-groups-form-section-title {
	color: var(--jubo-deco) !important;
}

@media (max-width: 980px) {
	.jubo-event-overview-request-grid {
		grid-template-columns: 1fr;
	}

	.jubo-event-overview-request-copy {
		position: relative;
		top: auto;
	}
}

@media (max-width: 680px) {
	.jubo-event-overview-request-copy {
		padding: 26px 22px;
		border-radius: 26px;
	}

	.jubo-event-overview-request-points {
		gap: 8px;
	}

	.jubo-event-overview-request-points span {
		min-height: 34px;
		padding: 8px 11px;
		font-size: 12px;
	}
}

/* --------------------------------------------------------------------------
 * V3 Feintuning – Event-Übersicht
 * - ruhigere Dynamik
 * - kompaktere Section-Abstände
 * - edlere Quickfinder-Chips
 * - ruhigere Kachel-Hover
 * - besser sichtbare Sekundär-CTAs
 * -------------------------------------------------------------------------- */

.jubo-event-overview-section {
	padding-top: clamp(46px, 4.8vw, 74px);
	padding-bottom: clamp(46px, 4.8vw, 74px);
}

.jubo-event-overview-section-head {
	margin-bottom: clamp(22px, 3vw, 34px);
}

.jubo-event-overview-section--finder {
	padding-top: clamp(44px, 4.4vw, 66px);
	padding-bottom: clamp(36px, 4vw, 58px);
	background:
		radial-gradient(circle at 50% 0%, rgba(183, 137, 10, 0.08), transparent 28%),
		linear-gradient(180deg, rgba(231, 231, 217, 1), rgba(231, 231, 217, 0.96));
}

.jubo-event-overview-section--world {
	background:
		radial-gradient(circle at 14% 18%, rgba(244, 221, 48, 0.1), transparent 25%),
		radial-gradient(circle at 86% 72%, rgba(183, 137, 10, 0.16), transparent 28%),
		linear-gradient(135deg, rgba(39, 33, 25, 0.98), rgba(64, 61, 52, 0.98) 48%, rgba(84, 92, 86, 0.96));
	color: var(--jubo-white-rock);
}

.jubo-event-overview-section--world::before,
.jubo-event-overview-section--world::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(218, 217, 155, 0.36), transparent);
	pointer-events: none;
}

.jubo-event-overview-section--world::before {
	top: 0;
}

.jubo-event-overview-section--world::after {
	bottom: 0;
}

.jubo-event-overview-section--world .jubo-event-overview-eyebrow {
	color: var(--jubo-deco) !important;
}

.jubo-event-overview-section--world .jubo-event-overview-section-head > p:not(.jubo-event-overview-eyebrow) {
	color: rgba(231, 231, 217, 0.76);
}

.jubo-event-overview-button--ghost {
	border-color: rgba(218, 217, 155, 0.56);
	background: rgba(231, 231, 217, 0.15);
	color: var(--jubo-white-rock) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 14px 34px rgba(0, 0, 0, 0.12);
}

.jubo-event-overview-button--ghost:hover,
.jubo-event-overview-button--ghost:focus-visible {
	border-color: rgba(244, 221, 48, 0.42);
	background: linear-gradient(135deg, var(--jubo-deco), rgba(183, 137, 10, 0.92));
	color: var(--jubo-zeus) !important;
	box-shadow: 0 22px 52px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(244, 221, 48, 0.16);
}

.jubo-event-overview-chip {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 50px;
	padding: 13px 20px;
	border-color: rgba(183, 137, 10, 0.34);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.66), rgba(218, 217, 155, 0.22)),
		rgba(231, 231, 217, 0.78);
	box-shadow: 0 15px 38px rgba(39, 33, 25, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.38);
	transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), color 0.28s ease, background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

.jubo-event-overview-chip::before {
	content: "";
	position: absolute;
	inset: 1px;
	z-index: -2;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(39, 33, 25, 0.98), rgba(84, 92, 86, 0.94));
	opacity: 0;
	transition: opacity 0.28s ease;
}

.jubo-event-overview-chip::after {
	content: "";
	position: absolute;
	top: -70%;
	bottom: -70%;
	left: -80%;
	z-index: -1;
	width: 52%;
	background: linear-gradient(105deg, transparent 0%, rgba(218, 217, 155, 0.18) 34%, rgba(255, 255, 255, 0.62) 50%, rgba(218, 217, 155, 0.14) 66%, transparent 100%);
	transform: skewX(-18deg);
	opacity: 0;
	pointer-events: none;
}

.jubo-event-overview-chip:hover,
.jubo-event-overview-chip:focus-visible {
	border-color: rgba(218, 217, 155, 0.62);
	background: transparent;
	box-shadow: 0 22px 58px rgba(39, 33, 25, 0.18), 0 0 0 1px rgba(244, 221, 48, 0.1), 0 0 28px rgba(183, 137, 10, 0.16);
	color: var(--jubo-white-rock) !important;
	transform: translateY(-4px) scale(1.015);
}

.jubo-event-overview-chip:hover::before,
.jubo-event-overview-chip:focus-visible::before {
	opacity: 1;
}

.jubo-event-overview-chip:hover::after,
.jubo-event-overview-chip:focus-visible::after {
	left: 128%;
	opacity: 1;
	transition: left 0.72s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.18s ease;
}

.jubo-event-overview-tile {
	min-height: clamp(235px, 22vw, 335px);
	border-color: rgba(218, 217, 155, 0.16);
	box-shadow: 0 22px 62px rgba(0, 0, 0, 0.18);
	transition: border-color 0.38s ease, box-shadow 0.38s ease, transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.jubo-event-overview-tile__image {
	filter: none;
	transition: opacity 0.46s ease, transform 0.66s cubic-bezier(0.22, 1, 0.36, 1);
}

.jubo-event-overview-tile__shade {
	background:
		linear-gradient(180deg, rgba(39, 33, 25, 0.03), rgba(39, 33, 25, 0.56)),
		linear-gradient(90deg, rgba(39, 33, 25, 0.52), rgba(39, 33, 25, 0.08));
}

.jubo-event-overview-tile__shade::before {
	inset: 14px;
	border-color: rgba(218, 217, 155, 0.2);
	opacity: 0.58;
	transition: opacity 0.38s ease, border-color 0.38s ease, box-shadow 0.38s ease;
}

.jubo-event-overview-tile__content {
	display: block;
	inset: 0;
	padding: 0;
}

.jubo-event-overview-tile__label {
	position: absolute;
	left: clamp(18px, 1.7vw, 26px);
	right: auto;
	bottom: clamp(98px, 7.3vw, 112px);
	margin: 0;
	background: rgba(39, 33, 25, 0.36);
	backdrop-filter: blur(10px);
}

.jubo-event-overview-tile__title {
	position: absolute;
	left: clamp(18px, 1.7vw, 26px);
	right: clamp(18px, 1.7vw, 26px);
	bottom: clamp(24px, 2vw, 30px);
	min-height: 2.24em;
	font-size: clamp(22px, 2.35vw, 36px);
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.jubo-event-overview-tile__title-base,
.jubo-event-overview-tile__title-hover {
	transition: opacity 0.34s ease;
}

.jubo-event-overview-tile__title-hover {
	inset: 0 auto auto 0;
	transform: none;
}

@media (hover: hover) {
	.jubo-event-overview-tile:hover {
		border-color: rgba(218, 217, 155, 0.36);
		box-shadow: 0 26px 72px rgba(0, 0, 0, 0.24), 0 0 0 1px rgba(244, 221, 48, 0.08);
		transform: translateY(-2px);
	}

	.jubo-event-overview-tile:hover .jubo-event-overview-tile__image--base {
		transform: scale(1.018);
	}

	.jubo-event-overview-tile--has-hover-image:hover .jubo-event-overview-tile__image--hover {
		transform: scale(1.016);
	}

	.jubo-event-overview-tile:hover .jubo-event-overview-tile__title-base {
		transform: none;
	}

	.jubo-event-overview-tile:hover .jubo-event-overview-tile__title-hover {
		transform: none;
	}

	.jubo-event-overview-tile:hover .jubo-event-overview-tile__shade::before {
		border-color: rgba(218, 217, 155, 0.48);
		box-shadow: inset 0 0 42px rgba(183, 137, 10, 0.1);
	}
}

.jubo-event-overview-highlight-card__image {
	filter: none;
}

.jubo-event-overview-highlight-card h3 {
	margin-bottom: 7px;
}

.jubo-event-overview-card-meta {
	margin-bottom: clamp(10px, 0.9vw, 14px);
}

.jubo-event-overview-section--request {
	padding-top: clamp(54px, 5.2vw, 82px);
	padding-bottom: clamp(54px, 5.2vw, 82px);
}

.jubo-event-overview-request-form-shell > .jubo-groups-form-box {
	padding: clamp(24px, 3.6vw, 38px);
}

.jubo-event-overview-section--request .jubo-groups-form-intro {
	padding-bottom: 18px;
}

.jubo-event-overview-section--request .jubo-groups-form-section {
	border-color: rgba(218, 217, 155, 0.18);
	background: rgba(231, 231, 217, 0.065);
}

.jubo-event-overview-section--request .jubo-groups-form-box .jubo-groups-form input,
.jubo-event-overview-section--request .jubo-groups-form-box .jubo-groups-form select,
.jubo-event-overview-section--request .jubo-groups-form-box .jubo-groups-form textarea {
	background: rgba(231, 231, 217, 0.12) !important;
}

@media (prefers-reduced-motion: no-preference) {
	.jubo-event-overview-reveal {
		opacity: 0;
		transform: translateY(18px);
		transition: opacity 0.72s ease, transform 0.82s cubic-bezier(0.22, 1, 0.36, 1);
		transition-delay: var(--jubo-reveal-delay, 0ms);
		will-change: opacity, transform;
	}

	.jubo-event-overview-reveal.is-visible {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 767px) {
	.jubo-event-overview-section {
		padding-top: 44px;
		padding-bottom: 44px;
	}

	.jubo-event-overview-section--finder {
		padding-bottom: 36px;
	}

	.jubo-event-overview-chip {
		min-height: 44px;
		padding: 11px 15px;
		font-size: 12.5px;
	}

	.jubo-event-overview-tile {
		min-height: clamp(220px, 64vw, 300px);
	}

	.jubo-event-overview-tile__label {
		left: 22px;
		bottom: 92px;
		font-size: 11px;
	}

	.jubo-event-overview-tile__title {
		left: 22px;
		right: 22px;
		bottom: 22px;
		min-height: 2.18em;
		font-size: clamp(24px, 7.4vw, 34px);
	}

	.jubo-event-overview-section--request {
		padding-top: 46px;
		padding-bottom: 46px;
	}
}

@media (max-width: 520px) {
	.jubo-event-overview-tile__label {
		bottom: 86px;
	}

	.jubo-event-overview-tile__title {
		font-size: clamp(22px, 7.2vw, 30px);
	}
}
