/* Start Custom Fonts CSS */
@font-face {
	font-family: 'Surt';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/Surt-Normal-Regular.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/Surt-Normal-Regular.woff') format('woff');
}
@font-face {
	font-family: 'Surt';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/Surt-Normal-Medium.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/Surt-Normal-Medium.woff') format('woff');
}
@font-face {
	font-family: 'Surt';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/Surt-Normal-Semibold.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/Surt-Normal-Semibold.woff') format('woff');
}
@font-face {
	font-family: 'Surt';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/Surt-Normal-Ultrabold.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/Surt-Normal-Ultrabold.woff') format('woff');
}
@font-face {
	font-family: 'Surt';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/Surt-Normal-Extrabold.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/Surt-Normal-Extrabold.woff') format('woff');
}
@font-face {
	font-family: 'Surt';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/Surt-Normal-Black.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/Surt-Normal-Black.woff') format('woff');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */
@font-face {
	font-family: 'AreaExtended';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/AreaExtended-Extrablack.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/AreaExtended-Extrablack.woff') format('woff');
}
@font-face {
	font-family: 'AreaExtended';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/AreaExtended-Extrabold.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/AreaExtended-Extrabold.woff') format('woff');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */
@font-face {
	font-family: 'SurtExpanded';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/Surt-Expanded-Medium.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/Surt-Expanded-Medium.woff') format('woff');
}
@font-face {
	font-family: 'SurtExpanded';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/Surt-Expanded-Extrabold.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/Surt-Expanded-Extrabold.woff') format('woff');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */
@font-face {
	font-family: 'AreaInktrapExtended';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/AreaInktrapExtended-Extrabold.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/AreaInktrapExtended-Extrabold.woff') format('woff');
}
@font-face {
	font-family: 'AreaInktrapExtended';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/AreaInktrapExtended-Black.woff') format('woff');
}
@font-face {
	font-family: 'AreaInktrapExtended';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/AreaInktrapExtended-Semibold.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/AreaInktrapExtended-Semibold.woff') format('woff');
}
@font-face {
	font-family: 'AreaInktrapExtended';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/AreaInktrapExtended-Extrabold.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/AreaInktrapExtended-Extrabold.woff') format('woff');
}
@font-face {
	font-family: 'AreaInktrapExtended';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('/wp-content/uploads/2025/08/AreaInktrapExtended-Extrablack.woff2') format('woff2'),
		url('/wp-content/uploads/2025/08/AreaInktrapExtended-Extrablack.woff') format('woff');
}
/* End Custom Fonts CSS */

/* Event List Widget Styles - Matching spielzeit-grid component */

.elementor-widget-event-list,
.event-list-container,
.elementor-widget-repertoire {
	background-color: var(--e-global-color-secondary);
}

.event-list-container {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	padding-top: 40px;
}

.event-cards-wrapper {
	height: 100%;
	margin: 0 auto;
	max-width: calc(var(--content-width) + 40px);
	padding: 0 20px;
	width: 100%;
}

.event-card-wrapper {
	position: relative;
	border-bottom: 1px solid;
}

.event-card-wrapper:first-child {
	border-top: 1px solid;
}

.event-card-link {
	display: grid;
	grid-template-columns: 1fr 1.1fr 3.1fr 13.2em;
	grid-template-areas: 'col1 col2 col3 col4';
	width: 100%;
	padding: 24px 0;
	align-items: flex-start;
	text-decoration: none;
	color: var(--e-global-color-primary);
	transition: opacity 0.3s ease;
}

.event-card-link:hover {
	opacity: 0.9;
	text-decoration: none;
	color: var(--e-global-color-primary) !important;
}

.event-card {
	display: contents;
}

.event-card-col1 {
	grid-area: col1;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
}

.event-date-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.event-day {
	margin: 0;
	line-height: 1.2;
	color: inherit;
}

.event-date {
	margin: 0;
	color: inherit;
	font-family: 'AreaInktrapExtended', Sans-serif;
	font-size: 36px;
	font-weight: 900;
	font-style: normal;
	text-decoration: none;
	line-height: 1.2em;
	letter-spacing: -1.5px;
	word-spacing: 0em;
}

.event-time {
	margin: 0;
}

.event-time-mobile {
	display: block;
}

/* Hide mobile time on desktop */
@media (min-width: 768px) {
	.event-time-mobile {
		display: none;
	}
}

.event-card-col2 {
	grid-area: col2;
	flex-shrink: 0;
}

.event-image {
	width: 100%;
	height: auto;
	overflow: hidden;
	border-radius: 4px;
}

.event-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.event-card-col3 {
	grid-area: col3;
	flex: 1;
	display: flex;
	flex-direction: column;
	padding-left: 3em;
	padding-right: 3.5em;
}

.event-venue {
	margin-top: 0;
	margin-bottom: 0.8em;
}

.event-card-col4 {
	grid-area: col4;
}

.event-tickets-button {
	width: fit-content;
}

.event-tickets-button--absolute {
	position: absolute;
	top: 6.5rem;
	right: 4.6em;
	z-index: 10;
}

/* Produktion Besetzung Section */
.produktion-besetzung {
	background-color: #faad67;
	padding: 0px 0 60px;
}

.produktion-besetzung .main-heading {
	padding-bottom: 25px;
}

.besetzung-item {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	border-top: 1px solid #000;
	padding-top: 23px;
	padding-bottom: 25px;
}

.besetzung-item-title {
	font-family: 'AreaExtended', Sans-serif;
	font-size: 18px;
	font-weight: 900;
	font-style: normal;
	text-decoration: none;
	line-height: 1;
	letter-spacing: 0px;
	word-spacing: 0em;
	text-transform: uppercase;
	text-align: right;
	color: var(--e-global-color-primary);
}

.besetzung-item-content {
	font-family: 'Surt', Sans-serif;
	font-size: 18px;
	font-weight: 400;
	font-style: normal;
	text-decoration: none;
	line-height: 1.2em;
	letter-spacing: 0px;
	word-spacing: 0em;
	padding-top: 4px;
	color: var(--e-global-color-primary);
	text-wrap: pretty;
}

.besetzung-item-content a {
	text-decoration: underline !important;
	cursor: pointer;
}

.besetzung-item-content a:hover {
	text-decoration: none !important;
}

/* Produktion Termine Section */
.single-produktion h1,
.single-produktion h2.main-heading {
	font-family: 'AreaInktrapExtended', Sans-serif;
	font-size: 42px;
	font-weight: 900;
	font-style: normal;
	text-align: center;
	text-decoration: none;
	line-height: 1.15em;
	letter-spacing: -1.5px;
	color: var(--e-global-color-primary);
}

.single-produktion h2.main-heading {
	padding-top: 42px;
	margin: 0;
}

.single-produktion .site-main {
	--media-width: 56rem;
	font-family: 'AreaInktrapExtended', Sans-serif;
	max-width: none !important;
	padding: 0 !important;
}

.single-produktion .inner-container {
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
	max-width: 1210px !important;
}

.produktion-content-wrapper {
	background-color: #dcc7d6;
	padding: 40px 0 80px;
}

.produktion-featured-image-desktop {
	max-width: var(--media-width);
	margin: 0 auto;
}

.produktion-featured-image-mobile {
	display: none;
}

.produktion-header {
	text-align: center;
	padding: 30px 0 45px;
}

.produktion-subtitle {
	font-size: 20px;
	margin-bottom: 1.5em;
}

.produktion-header .event-categories {
	justify-content: center;
}

.produktion-content {
	max-width: 55.5rem;
	margin: 0 auto;
}

.produktion-content h2 {
	font-size: 1.25rem;
	margin: 0 0 0.8.6em;
}

.produktion-content-button {
	text-align: center;
	margin-top: 6.6rem;
}

.produktion-content-button-link {
	position: static;
}

.produktion-media {
	padding-bottom: 80px;
}

.produktion-gallery-wrapper + .produktion-youtube-video {
	margin-top: 80px;
}

/* ==============================
   Bild-Karussell (ID: event-karussell-fix)
   Einheitliche Höhe + funktionierende Lightbox
   ============================== */
#event-karussell-fix {
	--slide-h: clamp(280px, 60vh, 560px);
	--swiper-theme-color: #000;
	--swiper-navigation-size: 44px;
	--swiper-pagination-bullet-size: 6px;
	--swiper-pagination-bullet-horizontal-gap: 6px;
	max-width: var(--media-width);
	margin: 2.6rem auto 0;
}

/* Rahmenhöhe auf alle Swiper-Ebenen legen */
#event-karussell-fix .swiper,
#event-karussell-fix .swiper-container,
#event-karussell-fix .swiper-wrapper,
#event-karussell-fix .swiper-slide {
	height: var(--slide-h) !important;
}

/* Slide: Inhalt zentrieren */
#event-karussell-fix .swiper-slide {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden;
	position: relative;
	user-select: none;
}

#event-karussell-fix .swiper-slide > a,
#event-karussell-fix .swiper-slide > figure,
#event-karussell-fix .swiper-slide > a > figure {
	height: 100% !important;
	width: 100% !important;
	margin: 0;
	position: relative;
	z-index: 2;
	pointer-events: auto;
	cursor: zoom-in;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Bild: niemals croppen – vollständig einpassen */
#event-karussell-fix .swiper-slide img.swiper-slide-image,
#event-karussell-fix .swiper-slide picture img,
#event-karussell-fix .swiper-slide .swiper-lazy {
	height: 100% !important;
	width: auto !important;
	max-height: 100% !important;
	max-width: 90% !important;
	object-fit: contain !important;
	object-position: center center !important;
	display: block !important;
	min-width: 0 !important;
    background;#fff;
}

/* Pfeile vertikal mittig */
#event-karussell-fix .swiper-button-prev,
#event-karussell-fix .swiper-button-next {
	top: 50% !important;
	transform: translateY(-50%);
}

#event-karussell-fix .swiper-button-prev::after,
#event-karussell-fix .swiper-button-next::after {
	display: none !important;
}

#event-karussell-fix .swiper-button-prev svg,
#event-karussell-fix .swiper-button-next svg {
	display: block;
	width: 44px;
	height: 44px;
}

#event-karussell-fix .swiper-pagination {
	position: static !important;
	padding-top: 4px;
}

.single-produktion .elementor-lightbox .elementor-swiper-button-next,
.single-produktion .elementor-lightbox .elementor-swiper-button-prev {
	position: absolute;
	cursor: pointer;
	display: inline-flex;
	font-size: 25px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: calc(var(--swiper-navigation-size) / 44 * 27);
	height: var(--swiper-navigation-size);
}

.single-produktion .elementor-lightbox .elementor-swiper-button-next {
	right: 6.2% !important;
}

.single-produktion .elementor-lightbox .elementor-swiper-button-prev {
	left: 6.2% !important;
}

/* Tablet etwas niedriger */
@media (max-width: 1024px) {
	#event-karussell-fix {
		--slide-h: clamp(220px, 52vh, 440px);
	}
}

@media (max-width: 1023px) {
	.besetzung-item {
		gap: 30px;
		grid-template-columns: 1fr 1.3fr;
	}
}

/* Mobile kompakter */
@media (max-width: 767px) {
	#event-karussell-fix .swiper-button-prev {
		left: 0% !important;
	}

	#event-karussell-fix .swiper-button-next {
		right: 0% !important;
	}

	#event-karussell-fix {
		--slide-h: clamp(170px, 44vh, 320px);
	}

	#event-karussell-fix .swiper-slide img.swiper-slide-image {
		max-width: 74vw !important;
	}

	.single-produktion .elementor-lightbox .elementor-swiper-button-next {
		right: 0% !important;
	}

	.single-produktion .elementor-lightbox .elementor-swiper-button-prev {
		left: 0% !important;
	}

	#event-karussell-fix .swiper-pagination {
		padding-top: 5px;
	}

	.produktion-besetzung .main-heading {
		padding-bottom: 15px;
	}

	.besetzung-item {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 8px;
		padding-top: 25px;
		padding-bottom: 13px;
	}

	.besetzung-item-title {
		font-size: 14px;
		text-align: center;
	}

	.besetzung-item-content {
		font-size: 18px;
		padding-top: 0;
	}
}

/* Sehr kleine Screens */
@media (max-width: 480px) {
	#event-karussell-fix {
		--slide-h: clamp(150px, 42vh, 300px);
	}
}

.produktion-youtube-video,
.youtube-embed-wrapper iframe {
	width: 100%;
	max-width: var(--media-width);
	margin: 0 auto;
}

.youtube-embed-wrapper iframe {
	aspect-ratio: 16 / 9;
}

.produktion-termine-section,
.produktion-single .event-list-container {
	background-color: #ffedfa;
}

.produktion-termine-section {
	padding-bottom: 58px;
}

.produktion-single .event-list-container {
	padding-top: 22px;
}

.produktion-termine-section .event-cards-wrapper {
	padding: 0;
}

.event-card--single {
	display: grid;
	grid-template-columns: 1fr 3.1fr 1.1fr;
	grid-template-areas: 'col1 col2 col3';
	width: 100%;
	padding: 24px 0 32px;
	color: var(--e-global-color-primary);
}

.event-card-inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 0.6rem;
}

.event-card--single .event-card-col2 {
	padding: 0;
}

.produktion-termine-section .event-tickets-button {
	margin-top: 9px;
}

.termine-text-bottom {
	display: flex;
	justify-content: space-between;
	font-family: 'SurtExpanded', Sans-serif;
	font-size: 12px;
	font-weight: 500;
	font-style: normal;
	text-decoration: none;
	line-height: 1.2em;
	letter-spacing: 0px;
	word-spacing: 0em;
	padding-top: 16px;
}

.termine-text-bottom-right {
	padding-right: 1.5em;
}

@media (max-width: 1024px) {
	.event-date {
		font-size: 26px;
	}

	.event-time {
		font-size: 14px;
	}

	.event-card-link {
		grid-template-columns: 0.85fr 1.3fr 4.1fr 1.2fr;
	}

	.event-card-col3 {
		padding-left: 2em;
		padding-right: 2em;
	}

	.event-tickets-button--absolute {
		top: 5.5rem;
		right: 1.2em;
	}
}

@media (max-width: 1023px) {
	.event-card-link {
		grid-template-columns: 0.9fr 1.3fr 3.1fr 1.4fr;
	}

	.event-tickets-button--absolute {
		right: auto;
		left: 79%;
	}
}

/* Mobile view - Image comes before day using CSS Grid order */
@media (max-width: 767px) {
	.event-list-container {
		padding-top: 0px;
	}

	.event-card-link {
		grid-template-columns: 1fr;
		grid-template-areas:
			'col2'
			'col1'
			'col3'
			'col4';
		padding: 20px 0 30px;
	}

	/* Use order to control visual order on mobile */
	.event-card-col1 {
		order: 2;
		width: 100%;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.event-date-wrapper {
		flex-direction: row;
		gap: 4px;
	}

	.event-date {
		font-size: 24px;
		line-height: 0.97em;
		margin-left: 0.38em;
	}

	.event-card-col2 {
		order: 1;
		margin-bottom: 20px;
	}

	.event-card-col3 {
		order: 3;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.event-time {
		font-size: 16px;
		line-height: 1.1em;
	}

	.event-time-desktop {
		display: none;
	}

	.event-card-col4 {
		order: 4;
		width: 100%;
		align-items: flex-start;
		padding-right: 0; /* No padding needed on mobile */
	}

	.event-categories {
		margin-top: 1.8rem;
		margin-bottom: 2.3rem;
	}

	.event-venue {
		font-size: 16px;
	}

	.event-tickets-button--absolute {
		top: auto;
		bottom: 30px;
		left: auto;
		right: 0;
	}

	.produktion-content-wrapper {
		padding-top: 0;
	}

	.produktion-header {
		padding: 30px 0 0px;
	}

	.single-produktion h1,
	.single-produktion h2.main-heading {
		font-size: 32px;
	}

	.event-card--single {
		grid-template-columns: 1fr;
		grid-template-areas: 'col1' 'col2' 'col3';
		padding: 20px 0 20px;
	}

	.produktion-content-wrapper,
	.produktion-media {
		padding-bottom: 60px;
	}

	.produktion-featured-image-desktop {
		display: none;
	}

	.produktion-featured-image-mobile {
		display: block;
	}

	.single-produktion .event-categories {
		margin-top: -0.2rem;
		margin-bottom: 2.6rem;
	}

	.produktion-content-button {
		margin-top: 4rem;
	}

	.produktion-gallery-wrapper + .produktion-youtube-video {
		margin-top: 50px;
	}

	.produktion-termine-section {
		padding-bottom: 68px;
	}

	.produktion-termine-section .event-card-col2 {
		margin-bottom: 0;
	}

	.produktion-termine-section .event-card-col3 .event-card-inner {
		flex-direction: row;
		align-items: center;
	}

	.produktion-termine-section .event-tickets-button {
		margin-top: 0;
	}

	.termine-text-bottom {
		flex-direction: column;
		justify-content: flex-start;
		gap: 5px;
	}

	.termine-text-bottom-right {
		padding-right: 0;
	}
}
