/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

/* ==========================================================
   PEENEHAGEN – VERANSTALTUNGEN

   1. Grundwerte
   2. Startseiten-Widget
   3. Eventliste auf WordPress-Seite
   4. Eventdetailseite von The Events Calendar
   5. Responsive Anpassungen

   Es werden keine Inhalte ausgeblendet.
   ========================================================== */


/* ==========================================================
   1. GRUNDWERTE
   ========================================================== */

:root {
	--ph-event-navy: #18394d;
	--ph-event-navy-dark: #102a3a;

	--ph-event-green: #647d48;
	--ph-event-green-dark: #4d6438;
	--ph-event-green-light: #e9efe3;

	--ph-event-yellow: #d9b641;

	--ph-event-cream: #f5f2e9;
	--ph-event-cream-light: #faf9f5;
	--ph-event-white: #ffffff;

	--ph-event-text: #29363d;
	--ph-event-muted: #67747a;

	--ph-event-border: rgba(24, 57, 77, 0.14);
	--ph-event-border-strong: rgba(24, 57, 77, 0.25);

	--ph-event-radius-small: 4px;
	--ph-event-radius: 8px;
	--ph-event-radius-large: 16px;

	--ph-event-shadow-small:
		0 3px 12px rgba(24, 57, 77, 0.06);

	--ph-event-shadow:
		0 8px 28px rgba(24, 57, 77, 0.10);

	--ph-event-shadow-hover:
		0 14px 38px rgba(24, 57, 77, 0.14);
}


/* Einheitliche Darstellung */

.peenehagen-events-widget,
.peenehagen-eventliste,
.single-tribe_events .tribe-events-single {
	color: var(--ph-event-text);
	font-family: "Fira Sans", Arial, sans-serif;
}


.peenehagen-events-widget *,
.peenehagen-eventliste *,
.single-tribe_events .tribe-events-single * {
	box-sizing: border-box;
}


/* ==========================================================
   2. STARTSEITEN-WIDGET
   Shortcode: [peenehagen_events_widget]

   Inhalt:
   - Datum
   - Titel
   - Veranstaltungsort
   - keine Uhrzeit
   ========================================================== */

.peenehagen-events-widget {
	width: 100%;
}


/* Liste */

.peenehagen-events-widget__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}


/* Einzelne Veranstaltung */

.peenehagen-widget-event {
	display: flex;
	align-items: stretch;

	width: 100%;
	min-height: 112px;
	overflow: hidden;

	background: var(--ph-event-white);
	border: 1px solid var(--ph-event-border);
	border-radius: var(--ph-event-radius);

	box-shadow: var(--ph-event-shadow-small);

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}


.peenehagen-widget-event:hover {
	transform: translateY(0px);

	border-color: rgba(100, 125, 72, 0.46);
	box-shadow: var(--ph-event-shadow);
}


/* Datumsblock */

.peenehagen-widget-event__date {
	display: flex;
	flex: 0 0 88px;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 88px;
	min-width: 88px;
	padding: 18px 8px;

	color: var(--ph-event-white);
	background: var(--ph-event-green);

	text-align: center;
	text-decoration: none;

	transition: background-color 180ms ease;
}


.peenehagen-widget-event__date:hover,
.peenehagen-widget-event__date:focus {
	color: var(--ph-event-white);
	background: var(--ph-event-green-dark);
}


.peenehagen-widget-event__day {
	display: block;

	color: inherit;

	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.00em;
}


.peenehagen-widget-event__month {
	display: block;

	margin-top: 7px;

	color: inherit;

	font-size: 0.7rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}


/* Inhalt */

.peenehagen-widget-event__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;

	min-width: 0;
	padding: 20px 24px;
}


.peenehagen-widget-event__title {
	margin: 0 0 4px;

	color: var(--ph-event-navy);

	font-family: "Merriweather", Georgia, serif;
	font-size: clamp(1.05rem, 1.7vw, 1.3rem);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.01em;
}


.peenehagen-widget-event__title a {
	color: inherit;
	text-decoration: none;
}


.peenehagen-widget-event__title a:hover,
.peenehagen-widget-event__title a:focus {
	color: var(--ph-event-green-dark);
}


.peenehagen-widget-event__venue {
    position: relative;
    padding-left: 0px;
}
/*
.peenehagen-widget-event__venue::before {
    content: "";

    position: absolute;
    left: 0;
    top: 45%;

    width: 20px;
    height: 20px;

    transform: translateY(-50%);

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2367747a'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}


 Fußbereich */

.peenehagen-events-widget__footer {
	display: flex;
	justify-content: flex-start;

	margin-top: 22px;
}


.peenehagen-events-widget__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	min-height: 46px;
	padding: 11px 20px;

	color: var(--ph-event-white);
	background: var(--ph-event-navy);
	border: 1px solid var(--ph-event-navy);
	border-radius: var(--ph-event-radius-small);

	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;

	transition:
		transform 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease;
}


.peenehagen-events-widget__button:hover,
.peenehagen-events-widget__button:focus {
	transform: translateY(-1px);

	color: var(--ph-event-white);
	background: var(--ph-event-green-dark);
	border-color: var(--ph-event-green-dark);
}


.peenehagen-events-widget__button span:last-child {
	font-size: 1.2em;
	line-height: 1;
}


/* Leermeldung */

.peenehagen-events-widget__empty {
	margin: 0;
	padding: 22px 24px;

	color: var(--ph-event-muted);
	background: var(--ph-event-cream-light);
	border: 1px solid var(--ph-event-border);
	border-left: 4px solid var(--ph-event-green);
	border-radius: var(--ph-event-radius);

	font-size: 0.95rem;
	line-height: 1.6;
}


/* ==========================================================
   3. EVENTLISTE AUF SEPARATER WORDPRESS-SEITE
   Shortcode: [peenehagen_eventliste]

   Inhalt:
   - Datum
   - Uhrzeit
   - Titel
   - Veranstaltungsort
   - Beitragsbild
   - Kurzbeschreibung
   - Detail-Link
   ========================================================== */

.peenehagen-eventliste {
	width: 100%;
}


/* Liste */

.peenehagen-eventliste__items {
	display: flex;
	flex-direction: column;
	gap: 24px;
}


/* Einzelne Karte */

.peenehagen-list-event {
	display: grid;
	grid-template-columns: 104px minmax(220px, 32%) minmax(0, 1fr);
	align-items: stretch;

	width: 100%;
	min-height: 245px;
	overflow: hidden;

	background: var(--ph-event-white);
	border: 1px solid var(--ph-event-border);
	border-radius: var(--ph-event-radius-large);

	box-shadow: var(--ph-event-shadow-small);

	transition:
		transform 200ms ease,
		border-color 200ms ease,
		box-shadow 200ms ease;
}


.peenehagen-list-event:hover {
	transform: translateY(0px);

	border-color: rgba(100, 125, 72, 0.48);
	box-shadow: var(--ph-event-shadow-hover);
}


/* Datumsblock */

.peenehagen-list-event__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-height: 100%;
	padding: 24px 10px;

	color: var(--ph-event-white);
	background: var(--ph-event-green);

	text-align: center;
}


.peenehagen-list-event__day {
	display: block;

	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.00em;
}


.peenehagen-list-event__month {
	display: block;

	margin-top: 9px;

	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}


.peenehagen-list-event__year {
	display: none;

	margin-top: 7px;

	color: rgba(255, 255, 255, 0.78);

	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
}


/* Bild */

.peenehagen-list-event__image-link {
	display: block;

	width: 100%;
	height: 100%;
	min-height: 245px;
	overflow: hidden;

	background: var(--ph-event-cream);
}


.peenehagen-eventliste__image {
	display: block;

	width: 100%;
	height: 100%;
	min-height: 245px;

	object-fit: cover;

	transition: transform 400ms ease;
}


.peenehagen-list-event:hover .peenehagen-eventliste__image {
	transform: scale(1.025);
}


/* Inhalt */

.peenehagen-list-event__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;

	min-width: 0;
	padding: 28px 32px;
}


/* Datum und Uhrzeit */

.peenehagen-list-event__datetime {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 8px;

	margin-bottom: 9px;

	color: var(--ph-event-green-dark);

	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.5;
}


.peenehagen-list-event__full-date,
.peenehagen-list-event__time {
	color: inherit;
}


.peenehagen-list-event__separator {
	color: var(--ph-event-text);
	font-size: 1.1em;
	line-height: 1;
}


/* Titel */

.peenehagen-list-event__title {
	margin: 0 0 9px;

	color: var(--ph-event-navy);

	font-family: "Merriweather", Georgia, serif;
	font-size: clamp(1.35rem, 2.3vw, 1.85rem);
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: -0.025em;
}


.peenehagen-list-event__title a {
	color: inherit;
	text-decoration: none;
}


.peenehagen-list-event__title a:hover,
.peenehagen-list-event__title a:focus {
	color: var(--ph-event-green-dark);
}


/* Veranstaltungsort */

.peenehagen-list-event__venue {
    position: relative;
    padding-left: 22px;
}

.peenehagen-list-event__venue::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 14px;
    height: 14px;

    transform: translateY(-50%);

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23647d48'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}


/* Kurzbeschreibung */

.peenehagen-list-event__excerpt {
	max-width: 720px;

	margin-bottom: 18px;

	color: var(--ph-event-muted);

	font-size: 0.96rem;
	line-height: 1.65;
}


.peenehagen-list-event__excerpt p {
	margin: 0;
}


/* Detail-Link */

.peenehagen-list-event__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;

	margin-top: auto;
	padding-bottom: 4px;

	color: var(--ph-event-navy);
	border-bottom: 2px solid var(--ph-event-green);

	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}


.peenehagen-list-event__link:hover,
.peenehagen-list-event__link:focus {
	color: var(--ph-event-green-dark);
	border-color: var(--ph-event-yellow);
}


.peenehagen-list-event__link span:last-child {
	transition: transform 180ms ease;
}


.peenehagen-list-event__link:hover span:last-child,
.peenehagen-list-event__link:focus span:last-child {
	transform: translateX(4px);
}


/* Karten ohne Beitragsbild */

.peenehagen-list-event:not(:has(.peenehagen-list-event__image-link)) {
	grid-template-columns: 104px minmax(0, 1fr);
}


/* Leermeldung */

.peenehagen-eventliste__empty {
	margin: 0;
	padding: 28px 30px;

	color: var(--ph-event-muted);
	background: var(--ph-event-cream-light);
	border: 1px solid var(--ph-event-border);
	border-left: 5px solid var(--ph-event-green);
	border-radius: var(--ph-event-radius);

	font-size: 1rem;
	line-height: 1.65;
}


/* ==========================================================
   4. DETAILSEITE VON THE EVENTS CALENDAR
   ========================================================== */


/* Seitencontainer */

.single-tribe_events #tribe-events-pg-template,
.single-tribe_events .tribe-events-pg-template {
	width: 100%;
	max-width: 1180px;

	margin-right: auto;
	margin-left: auto;
	padding: 48px 30px 80px;
}


.single-tribe_events .tribe-events-single {
	width: 100%;
}


/* Zurück-Link */

.single-tribe_events .tribe-events-back {
	margin: 0 0 28px;
}


.single-tribe_events .tribe-events-back a {
	display: inline-flex;
	align-items: center;

	padding-bottom: 5px;

	color: var(--ph-event-navy);
	border-bottom: 2px solid var(--ph-event-green);

	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}


.single-tribe_events .tribe-events-back a:hover,
.single-tribe_events .tribe-events-back a:focus {
	color: var(--ph-event-green-dark);
	border-color: var(--ph-event-yellow);
}


/* Veranstaltungstitel */

.single-tribe_events .tribe-events-single-event-title {
	max-width: 980px;

	margin: 0 0 20px;

	color: var(--ph-event-navy);

	font-family: "Merriweather", Georgia, serif;
	font-size: clamp(2.2rem, 5vw, 4rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.045em;
}


/* Datum, Uhrzeit und Kosten */

.single-tribe_events .tribe-events-schedule {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;

	width: fit-content;
	max-width: 100%;

	margin: 0 0 34px;
	padding: 12px 18px;

	color: var(--ph-event-green-dark);
	background: var(--ph-event-cream);
	border-left: 4px solid var(--ph-event-green);
	border-radius:
		0
		var(--ph-event-radius-small)
		var(--ph-event-radius-small)
		0;
}


.single-tribe_events .tribe-events-schedule h2 {
	margin: 0;

	color: inherit;

	font-family: "Fira Sans", Arial, sans-serif;
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1.5;
}


.single-tribe_events .tribe-events-schedule .tribe-event-date-start,
.single-tribe_events .tribe-events-schedule .tribe-event-date-end,
.single-tribe_events .tribe-events-schedule .tribe-event-time,
.single-tribe_events .tribe-events-schedule .tribe-events-divider {
	color: inherit;
}


.single-tribe_events .tribe-events-schedule .tribe-events-cost {
	margin: 0;

	color: var(--ph-event-navy);

	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.5;
}


/* Veranstaltungsbild */

.single-tribe_events .tribe-events-event-image {
	overflow: hidden;

	margin: 0 0 42px;

	background: var(--ph-event-cream);
	border-radius: var(--ph-event-radius-large);

	box-shadow: var(--ph-event-shadow);
}


.single-tribe_events .tribe-events-event-image img {
	display: block;

	width: 100%;
	height: auto;
	max-height: 640px;
	margin: 0;

	object-fit: cover;
}


/* Beschreibung */

.single-tribe_events .tribe-events-single-event-description {
	max-width: 860px;

	margin: 0 0 50px;

	color: var(--ph-event-text);

	font-family: "Fira Sans", Arial, sans-serif;
	font-size: 1.05rem;
	line-height: 1.78;
}


.single-tribe_events .tribe-events-single-event-description p {
	margin-top: 0;
	margin-bottom: 1.25em;
}


.single-tribe_events
.tribe-events-single-event-description
p:last-child {
	margin-bottom: 0;
}


.single-tribe_events .tribe-events-single-event-description h2,
.single-tribe_events .tribe-events-single-event-description h3,
.single-tribe_events .tribe-events-single-event-description h4 {
	margin-top: 1.7em;
	margin-bottom: 0.7em;

	color: var(--ph-event-navy);

	font-family: "Merriweather", Georgia, serif;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.02em;
}


.single-tribe_events .tribe-events-single-event-description h2 {
	font-size: clamp(1.65rem, 3vw, 2.2rem);
}


.single-tribe_events .tribe-events-single-event-description h3 {
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}


.single-tribe_events .tribe-events-single-event-description h4 {
	font-size: 1.15rem;
}


.single-tribe_events .tribe-events-single-event-description a {
	color: var(--ph-event-green-dark);

	font-weight: 600;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}


.single-tribe_events .tribe-events-single-event-description a:hover,
.single-tribe_events .tribe-events-single-event-description a:focus {
	color: var(--ph-event-navy);
}


/* Aufzählungen */

.single-tribe_events .tribe-events-single-event-description ul,
.single-tribe_events .tribe-events-single-event-description ol {
	margin-top: 1em;
	margin-bottom: 1.3em;
	padding-left: 1.4em;
}


.single-tribe_events .tribe-events-single-event-description li {
	margin-bottom: 0.45em;
}


/* Zitate */

.single-tribe_events
.tribe-events-single-event-description
blockquote {
	margin: 1.6em 0;
	padding: 18px 24px;

	color: var(--ph-event-navy);
	background: var(--ph-event-cream);
	border-left: 4px solid var(--ph-event-green);

	font-family: "Merriweather", Georgia, serif;
	font-size: 1.05rem;
	line-height: 1.65;
}


/* Detail- und Metadatenbereich */

.single-tribe_events .tribe-events-event-meta {
	margin-top: 46px;
}


.single-tribe_events .tribe-events-single-section {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;

	margin: 0 0 30px;
	padding: 30px;

	background: var(--ph-event-cream-light);
	border: 1px solid var(--ph-event-border);
	border-radius: var(--ph-event-radius-large);

	box-shadow: var(--ph-event-shadow-small);
}


/* Metagruppen */

.single-tribe_events .tribe-events-meta-group {
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}


/* Überschriften */

.single-tribe_events .tribe-events-single-section-title {
	margin: 0 0 19px;
	padding-bottom: 12px;

	color: var(--ph-event-navy);
	border-bottom: 1px solid var(--ph-event-border);

	font-family: "Merriweather", Georgia, serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.015em;
}


/* Definitionslisten */

.single-tribe_events .tribe-events-event-meta dl {
	margin: 0;
}


.single-tribe_events .tribe-events-event-meta dt {
	margin: 14px 0 3px;

	color: var(--ph-event-navy);

	font-size: 0.73rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}


.single-tribe_events .tribe-events-event-meta dt:first-child {
	margin-top: 0;
}


.single-tribe_events .tribe-events-event-meta dd {
	margin: 0 0 13px;

	color: var(--ph-event-text);

	font-size: 0.95rem;
	line-height: 1.58;
}


.single-tribe_events .tribe-events-event-meta dd:last-child {
	margin-bottom: 0;
}


/* Links in den Metadaten */

.single-tribe_events .tribe-events-event-meta a {
	color: var(--ph-event-green-dark);

	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}


.single-tribe_events .tribe-events-event-meta a:hover,
.single-tribe_events .tribe-events-event-meta a:focus {
	color: var(--ph-event-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* Veranstaltungsort */

.single-tribe_events .tribe-venue {
	color: var(--ph-event-navy);

	font-family: "Merriweather", Georgia, serif;
	font-size: 1.05rem;
	font-weight: 700;
}


.single-tribe_events .tribe-events-address {
	color: var(--ph-event-text);
	font-style: normal;
	line-height: 1.6;
}


/* Veranstalter */

.single-tribe_events .tribe-organizer {
	color: var(--ph-event-navy);
	font-weight: 700;
}


/* Karte */

.single-tribe_events .tribe-events-venue-map {
	overflow: hidden;

	width: 100%;
	margin: 28px 0 0;
	padding: 0;

	background: var(--ph-event-cream);
	border: 1px solid var(--ph-event-border);
	border-radius: var(--ph-event-radius-large);

	box-shadow: var(--ph-event-shadow);
}


.single-tribe_events .tribe-events-venue-map iframe {
	display: block;

	width: 100%;
	max-width: 100%;
	border: 0;
}


/* Kalender abonnieren */

.single-tribe_events .tribe-events-c-subscribe-dropdown {
	margin-top: 36px;
}


.single-tribe_events
.tribe-events-c-subscribe-dropdown__button {
	min-height: 46px;
	padding: 10px 18px;

	color: var(--ph-event-white);
	background: var(--ph-event-green);
	border: 1px solid var(--ph-event-green);
	border-radius: var(--ph-event-radius-small);

	font-family: "Fira Sans", Arial, sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
}


.single-tribe_events
.tribe-events-c-subscribe-dropdown__button:hover,
.single-tribe_events
.tribe-events-c-subscribe-dropdown__button:focus {
	color: var(--ph-event-white);
	background: var(--ph-event-green-dark);
	border-color: var(--ph-event-green-dark);
}


.single-tribe_events
.tribe-events-c-subscribe-dropdown__list {
	background: var(--ph-event-white);
	border: 1px solid var(--ph-event-border);
	border-radius: var(--ph-event-radius);

	box-shadow: var(--ph-event-shadow);
}


.single-tribe_events
.tribe-events-c-subscribe-dropdown__list-item-link {
	color: var(--ph-event-text);
}


.single-tribe_events
.tribe-events-c-subscribe-dropdown__list-item-link:hover,
.single-tribe_events
.tribe-events-c-subscribe-dropdown__list-item-link:focus {
	color: var(--ph-event-green-dark);
	background: var(--ph-event-green-light);
}


/* Vorherige und nächste Veranstaltung */

.single-tribe_events #tribe-events-footer {
	margin-top: 50px;
	padding-top: 28px;

	border-top: 1px solid var(--ph-event-border);
}


.single-tribe_events .tribe-events-sub-nav {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;

	margin: 0;
	padding: 0;

	list-style: none;
}


.single-tribe_events .tribe-events-sub-nav li {
	flex: 1 1 50%;
	width: auto;
	margin: 0;
}


.single-tribe_events .tribe-events-sub-nav li:last-child {
	text-align: right;
}


.single-tribe_events .tribe-events-sub-nav a {
	color: var(--ph-event-navy);

	font-family: "Merriweather", Georgia, serif;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none;
}


.single-tribe_events .tribe-events-sub-nav a:hover,
.single-tribe_events .tribe-events-sub-nav a:focus {
	color: var(--ph-event-green-dark);
}


/* ==========================================================
   5. RESPONSIVE – TABLET
   ========================================================== */

@media screen and (max-width: 960px) {

	/* Eventliste */

	.peenehagen-list-event {
		grid-template-columns: 92px minmax(210px, 34%) minmax(0, 1fr);
	}

	.peenehagen-list-event:not(:has(.peenehagen-list-event__image-link)) {
		grid-template-columns: 92px minmax(0, 1fr);
	}

	.peenehagen-list-event__content {
		padding: 24px;
	}


	/* Detailseite */

	.single-tribe_events .tribe-events-single-section {
		grid-template-columns: 1fr;
		gap: 28px;
	}

}


/* ==========================================================
   6. RESPONSIVE – KLEINES TABLET
   ========================================================== */

@media screen and (max-width: 760px) {

	/* Eventliste */

	.peenehagen-list-event {
		grid-template-columns: 82px minmax(0, 1fr);
	}

	.peenehagen-list-event:not(:has(.peenehagen-list-event__image-link)) {
		grid-template-columns: 82px minmax(0, 1fr);
	}

	.peenehagen-list-event__date {
		grid-row: 1 / span 2;
	}

	.peenehagen-list-event__image-link {
		grid-column: 2;
		grid-row: 1;

		min-height: 210px;
	}

	.peenehagen-eventliste__image {
		min-height: 210px;
	}

	.peenehagen-list-event__content {
		grid-column: 2;
		grid-row: 2;

		padding: 22px;
	}

}


/* ==========================================================
   7. RESPONSIVE – SMARTPHONE
   ========================================================== */

@media screen and (max-width: 600px) {

	/* ------------------------------------------------------
	   Startseiten-Widget
	   ------------------------------------------------------ */

	.peenehagen-widget-event {
		min-height: 96px;
	}

	.peenehagen-widget-event__date {
		flex-basis: 70px;

		width: 70px;
		min-width: 70px;
		padding: 15px 6px;
	}

	.peenehagen-widget-event__day {
		font-size: 1.55rem;
	}

	.peenehagen-widget-event__month {
		margin-top: 5px;
		font-size: 0.63rem;
	}

	.peenehagen-widget-event__content {
		padding: 17px 16px;
	}

	.peenehagen-widget-event__title {
		font-size: 1rem;
	}

	.peenehagen-widget-event__venue {
		font-size: 0.84rem;
	}


	/* ------------------------------------------------------
	   Eventliste
	   ------------------------------------------------------ */

	.peenehagen-eventliste__items {
		gap: 18px;
	}

	.peenehagen-list-event {
		display: grid;
		grid-template-columns: 70px minmax(0, 1fr);

		min-height: 0;
		border-radius: var(--ph-event-radius);
	}

	.peenehagen-list-event:not(:has(.peenehagen-list-event__image-link)) {
		grid-template-columns: 70px minmax(0, 1fr);
	}

	.peenehagen-list-event__date {
		grid-column: 1;
		grid-row: 1 / span 2;

		padding: 18px 5px;
	}

	.peenehagen-list-event__day {
		font-size: 1.7rem;
	}

	.peenehagen-list-event__month {
		margin-top: 6px;
		font-size: 0.63rem;
	}

	.peenehagen-list-event__year {
		margin-top: 6px;
		font-size: 0.63rem;
	}

	.peenehagen-list-event__image-link {
		grid-column: 2;
		grid-row: 1;

		min-height: 170px;
	}

	.peenehagen-eventliste__image {
		min-height: 170px;
	}

	.peenehagen-list-event__content {
		grid-column: 2;
		grid-row: 2;

		padding: 19px 16px 21px;
	}

	.peenehagen-list-event__datetime {
		font-size: 0.81rem;
	}

	.peenehagen-list-event__title {
		font-size: 1.18rem;
	}

	.peenehagen-list-event__venue {
		font-size: 0.86rem;
	}

	.peenehagen-list-event__excerpt {
		font-size: 0.9rem;
		line-height: 1.58;
	}


	/* ------------------------------------------------------
	   Detailseite
	   ------------------------------------------------------ */

	.single-tribe_events #tribe-events-pg-template,
	.single-tribe_events .tribe-events-pg-template {
		padding: 32px 18px 58px;
	}

	.single-tribe_events .tribe-events-back {
		margin-bottom: 22px;
	}

	.single-tribe_events .tribe-events-single-event-title {
		margin-bottom: 16px;
	}

	.single-tribe_events .tribe-events-schedule {
		width: 100%;
		margin-bottom: 28px;
		padding: 11px 14px;
	}

	.single-tribe_events .tribe-events-event-image {
		margin-bottom: 32px;
	}

	.single-tribe_events
	.tribe-events-single-event-description {
		margin-bottom: 38px;

		font-size: 1rem;
		line-height: 1.72;
	}

	.single-tribe_events .tribe-events-event-meta {
		margin-top: 36px;
	}

	.single-tribe_events .tribe-events-single-section {
		gap: 25px;

		padding: 22px 19px;
	}

	.single-tribe_events .tribe-events-sub-nav {
		flex-direction: column;
		gap: 18px;
	}

	.single-tribe_events .tribe-events-sub-nav li,
	.single-tribe_events .tribe-events-sub-nav li:last-child {
		width: 100%;
		text-align: left;
	}

}


/* ==========================================================
   8. SEHR KLEINE BILDSCHIRME
   ========================================================== */

@media screen and (max-width: 420px) {

	.peenehagen-widget-event__date {
		flex-basis: 64px;

		width: 64px;
		min-width: 64px;
	}

	.peenehagen-widget-event__content {
		padding-right: 13px;
		padding-left: 13px;
	}

	.peenehagen-list-event {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.peenehagen-list-event:not(:has(.peenehagen-list-event__image-link)) {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.peenehagen-list-event__content {
		padding-right: 14px;
		padding-left: 14px;
	}

}