/* Event list as cards: only the list view of The Events Calendar, the month view stays untouched.
   The long selectors outweigh the calendar's own rules, which load after this file. */
.tribe-events-view--list {
	--wgv-accent: #22577a;
	--wgv-accent-dark: #1a4560;
	--wgv-page: #f8f8f8;
	--wgv-empty: #e6eef3;
	--wgv-text: #666;
	--wgv-img-w: 330px;
	--wgv-img-h: 250px;
	--wgv-pad: 25px;
	background: var(--wgv-page);
	box-shadow: 0 0 0 100vmax var(--wgv-page);
	clip-path: inset(0 -100vmax);
}

.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-row {
	position: relative;
	display: block;
	margin: 0 0 16px;
	padding: var(--wgv-pad);
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 10px 30px 5px rgba(0, 0, 0, .05);
}

/* Date box on the image */
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-date-tag {
	position: absolute;
	top: calc(var(--wgv-pad) + 12px);
	left: calc(var(--wgv-pad) + 12px);
	z-index: 2;
	width: 66px;
	min-width: 0;
	max-width: none;
	margin: 0;
	padding: 10px 4px;
	background: var(--wgv-accent);
	border-radius: 4px;
	text-align: center;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-date-tag-datetime {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	width: auto;
	padding: 0;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-date-tag-daynum {
	order: 1;
	color: #fff;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.1;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-date-tag-weekday {
	order: 2;
	color: #fff;
	font-size: 13px;
	line-height: 1.2;
}

/* Image left, text right */
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-wrapper {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	flex: none;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	gap: 20px;
	margin: 0;
	padding: 0;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-featured-image-wrapper {
	flex: 0 0 var(--wgv-img-w);
	order: 1;
	width: var(--wgv-img-w);
	max-width: var(--wgv-img-w);
	margin: 0;
	padding: 0;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-featured-image {
	display: block;
	width: 100%;
	height: var(--wgv-img-h);
	border-radius: 5px;
	object-fit: cover;
	object-position: center top;
}
/* Events without a photo keep the same shape. */
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event:not(:has(.tribe-events-calendar-list__event-featured-image-wrapper))::before {
	content: "";
	flex: 0 0 var(--wgv-img-w);
	height: var(--wgv-img-h);
	background: var(--wgv-empty);
	border-radius: 5px;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-details {
	position: relative;
	flex: 1 1 0;
	order: 2;
	width: auto;
	min-width: 0;
	max-width: none;
	margin: 0;
	padding: 0 0 54px;
}

/* Text */
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-header {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	text-align: left;
	gap: 6px 12px;
}
.tribe-common.tribe-events.tribe-events-view--list .wgv-herkunft {
	order: 1;
	padding: 2px 8px;
	background: var(--wgv-accent);
	border-radius: 3px;
	color: #fff;
	font-size: 12px !important;
	font-weight: 500;
	line-height: 1.5;
	opacity: 1 !important;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-datetime-wrapper {
	order: 2;
	margin: 0;
	padding-left: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") left center / 13px no-repeat;
	color: var(--wgv-text);
	font-size: 13px;
	line-height: 1.5;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-datetime {
	color: inherit;
	font-size: inherit;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-title {
	flex: 0 0 100%;
	order: 3;
	margin: 6px 0 4px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-title-link {
	border: 0;
	color: #000;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-title-link:hover,
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-title-link:focus {
	border: 0;
	color: var(--wgv-accent);
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-venue {
	flex: 0 0 100%;
	order: 4;
	margin: 0;
	padding-left: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.500a2.500 2.500 0 0 1 0 5z'/%3E%3C/svg%3E") left 4px / 13px no-repeat;
	color: var(--wgv-text);
	font-size: 14px;
	font-style: normal;
	line-height: 1.6;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-venue-title,
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-venue-address {
	display: block;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: 400;
	font-style: normal;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-description {
	display: -webkit-box;
	margin: 10px 0 0;
	padding: 0;
	overflow: hidden;
	color: var(--wgv-text);
	font-size: 14px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-description p {
	margin: 0;
	padding: 0;
	color: inherit;
	font-size: inherit;
}

/* Button: part of the title link, because the list has no button of its own. */
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-title-link::after {
	content: "Mehr erfahren";
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 8px 14px;
	background: var(--wgv-accent);
	border-radius: 4px;
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-title-link:hover::after,
.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-title-link:focus::after {
	background: var(--wgv-accent-dark);
}

/* Phones and small tablets: image on top. */
@media (max-width: 767px) {
	.tribe-events-view--list {
		--wgv-pad: 16px;
		--wgv-img-h: 200px;
	}
	.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event {
		flex-direction: column;
		gap: 14px;
	}
	.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-featured-image-wrapper {
		flex: none;
		width: 100%;
		max-width: 100%;
	}
	.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event:not(:has(.tribe-events-calendar-list__event-featured-image-wrapper))::before {
		flex: none;
		height: 96px;
	}
	.tribe-common.tribe-events.tribe-events-view--list .tribe-events-calendar-list__event-title {
		font-size: 19px;
	}
}
