/*
   Netzwerk FrauenLeben: The Events Calendar.

   ── Zwei Regeln, an die sich diese Datei hält ────────────────────────

   1. Weniger setzen statt mehr kontern.
      Das Plugin bringt eigene Kästen, Raster und Abstände mit. Wer dem
      eine Kartenoptik überstülpt, muss jede einzelne Regel entkräften.
      Deshalb wird hier abgeräumt und nur Typografie und Linien gesetzt.
      Termine stehen auf dem Seitenhintergrund, getrennt durch Haarlinien.

   2. Spezifität einmal festlegen, nicht pro Regel improvisieren.
      Listenansicht  → Präfix .tribe-common          (gleiche Stufe wie das
                                                      Plugin, diese Datei
                                                      lädt später)
      Einzelansicht  → Präfix #tribe-events-content  (ID schlägt jede Klasse)
      Damit kommt diese Datei ohne ein einziges !important aus.

   Eingehängt mit Priorität 999, siehe functions.php, damit sie nach den
   Stylesheets des Plugins ausgegeben wird.
*/

/* ---------- Grundlagen ---------- */
.tribe-common,
.tribe-events {
	--tec-color-accent-primary: #8E2523;
	--tec-color-accent-primary-hover: #7a1e1c;
	--tec-color-link-accent: #8E2523;
	--tec-color-text-primary: #2A211D;
	--tec-color-background: transparent;
	--tec-font-family-sans-serif: 'Karla', system-ui, sans-serif;
}
.tribe-common,
.tribe-events,
.tribe-events-single { font-family: 'Karla', system-ui, sans-serif; }

#tribe-events-pg-template,
.tribe-events-view {
	max-width: 1180px;
	margin: 0 auto;
	padding: 38px clamp(22px, 4vw, 46px) 76px;
}
#tribe-events-content { max-width: none; margin: 0; padding: 0; }

/* ====================================================================
   LISTENANSICHT
   Kein Kasten, keine Datumskachel. Jeder Termin ist ein Textblock,
   getrennt durch eine Haarlinie. Das Datum steht als Zeile darüber.
   ==================================================================== */
.tribe-common .tribe-events-calendar-list__event-row {
	display: block;
	background: none;
	border: 0;
	border-bottom: 2px solid rgba(42, 33, 29, .16);
	border-radius: 0;
	padding: 30px 0;
	margin: 0;
	box-shadow: none;
}
.tribe-common .tribe-events-calendar-list__event-row:last-child { border-bottom: 0; }

/* Die Datumskachel des Plugins entfällt. Das Datum steht bereits
   ausgeschrieben in der Zeile darüber, zweimal wäre es doppelt. */
.tribe-common .tribe-events-calendar-list__event-date-tag { display: none; }

.tribe-common .tribe-events-calendar-list__event-wrapper,
.tribe-common .tribe-events-calendar-list__event,
.tribe-common .tribe-events-calendar-list__event-details {
	width: 100%;
	max-width: none;
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	box-shadow: none;
}

/* Datumszeile */
.tribe-common .tribe-events-calendar-list__event-datetime-wrapper { margin: 0 0 8px; padding: 0; }
.tribe-common .tribe-events-calendar-list__event-datetime {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 16px;
	color: var(--rot);
	letter-spacing: 0;
}

/* Titel mit gelber Markierung beim Darüberfahren */
.tribe-common .tribe-events-calendar-list__event-title {
	margin: 0 0 10px;
	font-size: clamp(23px, 2.7vw, 30px);
	line-height: 1.12;
	overflow-wrap: break-word;
}
.tribe-common .tribe-events-calendar-list__event-title-link {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--tinte);
	text-decoration: none;
	background-image: linear-gradient(var(--gelb), var(--gelb));
	background-repeat: no-repeat;
	background-position: 0 88%;
	background-size: 0 36%;
	transition: background-size .3s cubic-bezier(.2, .7, .2, 1);
}
.tribe-common .tribe-events-calendar-list__event-title-link:hover,
.tribe-common .tribe-events-calendar-list__event-title-link:focus-visible {
	color: var(--tinte);
	background-size: 100% 36%;
}

/* Ort und Kurztext */
.tribe-common .tribe-events-calendar-list__event-venue {
	font-style: normal;
	font-size: 17px;
	margin: 0 0 10px;
	color: var(--tinte);
}
.tribe-common .tribe-events-calendar-list__event-venue-title { font-weight: 700; }
.tribe-common .tribe-events-calendar-list__event-description { font-size: 17.5px; margin: 0; }
.tribe-common .tribe-events-calendar-list__event-description p:last-child { margin-bottom: 0; }

/* Bild in gezeichneter Form */
.tribe-common .tribe-events-calendar-list__event-featured-image-wrapper {
	margin: 0 0 18px;
	max-width: 360px;
}
.tribe-common .tribe-events-calendar-list__event-featured-image-link img {
	clip-path: url(#b3);
	border-radius: 0;
}

/* Monatstrenner */
.tribe-common .tribe-events-calendar-list__month-separator-text {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 19px;
	color: var(--tinte);
}
.tribe-common .tribe-events-calendar-list__month-separator { border-color: rgba(42, 33, 29, .16); }

/* ====================================================================
   BEDIENELEMENTE, in beiden Ansichten gleich
   ==================================================================== */
.tribe-common .tribe-events-c-top-bar__today-button,
.tribe-common .tribe-events-c-view-selector__button,
.tribe-common .tribe-events-c-subscribe-dropdown__button {
	border-radius: 999px;
	border: 2px solid var(--tinte);
	background: transparent;
	color: var(--tinte);
	font-weight: 700;
}
.tribe-common .tribe-events-c-top-bar__today-button:hover,
.tribe-common .tribe-events-c-view-selector__button:hover,
.tribe-common .tribe-events-c-subscribe-dropdown__button:hover { background: var(--gelb); }
.tribe-common .tribe-events-c-subscribe-dropdown__button-text { color: var(--tinte); }
.tribe-common .tribe-events-c-subscribe-dropdown__button svg path { fill: var(--tinte); }
.tribe-common .tribe-events-c-top-bar__datepicker-button {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	color: var(--tinte);
}
.tribe-common .tribe-events-c-nav__prev,
.tribe-common .tribe-events-c-nav__next,
.tribe-common .tribe-events-c-nav__today { font-weight: 700; color: var(--tinte); }

/* ====================================================================
   EINZELNE VERANSTALTUNG
   ==================================================================== */
#tribe-events-content .tribe-events-back { margin: 0 0 28px; }

#tribe-events-content .tribe-events-single-event-title {
	position: relative;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	letter-spacing: -.02em;
	font-size: clamp(31px, 4.8vw, 54px);
	line-height: 1.05;
	margin: 0 0 18px;
	max-width: 20ch;
	color: var(--tinte);
}
/* Die gezeichnete Fläche hängt am Titel, nicht am Seitenrahmen.
   Sonst kollidiert sie mit dem Zurück-Link darüber. */
#tribe-events-content .tribe-events-single-event-title::before {
	content: "";
	position: absolute;
	left: -30px;
	top: -34px;
	width: 148px;
	height: 124px;
	background: var(--gelb);
	clip-path: url(#b4);
	z-index: -1;
}

/* Datum und Uhrzeit als rote Pille */
#tribe-events-content .tribe-events-schedule {
	display: inline-block;
	background: var(--rot);
	border: 2.5px solid var(--linie);
	border-radius: 999px;
	padding: 12px 26px;
	margin: 0 0 34px;
}
#tribe-events-content .tribe-events-schedule,
#tribe-events-content .tribe-events-schedule * { color: #FFF6EF; }
#tribe-events-content .tribe-events-schedule h2 {
	font-family: 'Fredoka', sans-serif;
	font-weight: 500;
	font-size: 18px;
	margin: 0;
	color: #FFF6EF;
}
#tribe-events-content .tribe-events-cost { color: var(--gelb); }

/* Bild in gezeichneter Form */
#tribe-events-content .tribe-events-event-image { margin: 0 0 36px; }
#tribe-events-content .tribe-events-event-image img {
	width: 100%;
	max-height: 470px;
	object-fit: cover;
	clip-path: url(#b5);
	border-radius: 0;
	display: block;
}

/* Fließtext */
#tribe-events-content .tribe-events-content { font-size: 19px; line-height: 1.65; max-width: 44rem; }
#tribe-events-content .tribe-events-content p { margin: 0 0 20px; }
#tribe-events-content .tribe-events-content h2 { font-size: clamp(25px, 3.4vw, 34px); margin: 36px 0 14px; }
#tribe-events-content .tribe-events-content h3 { font-size: 22px; margin: 28px 0 12px; }
#tribe-events-content .tribe-events-content a { color: var(--rot); text-underline-offset: 4px; }
#tribe-events-content .tribe-events-content img { border: 2.5px solid var(--linie); border-radius: 22px; }

/* Metadaten: Haarlinie statt Kasten, Spalten statt Stapel */
#tribe-events-content .tribe-events-event-meta {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	float: none;
	clear: both;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 30px 44px;
	background: none;
	border: 0;
	border-top: 2.5px solid var(--linie);
	border-radius: 0;
	padding: 34px 0 0;
	margin: 44px 0 0;
	font-size: 17.5px;
}
#tribe-events-content .tribe-events-meta-group {
	box-sizing: border-box;
	width: auto;
	max-width: none;
	float: none;
	padding: 0;
	margin: 0;
}
#tribe-events-content .tribe-events-single-section-title,
#tribe-events-content .tribe-events-event-meta dt {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 18px;
	color: var(--rot);
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 12px;
	padding: 0;
	overflow-wrap: break-word;
}
#tribe-events-content .tribe-events-event-meta dt:not(:first-child) { margin-top: 18px; }
#tribe-events-content .tribe-events-event-meta dd { margin: 0 0 12px; overflow-wrap: break-word; }
#tribe-events-content .tribe-events-event-meta dd:last-child { margin-bottom: 0; }
#tribe-events-content .tribe-events-event-meta abbr { text-decoration: none; border: 0; }

/* Zurück, Blättern, Kalender */
#tribe-events-content .tribe-events-back a,
#tribe-events-content .tribe-events-sub-nav a,
#tribe-events-content .tribe-events-cal-links a {
	display: inline-block;
	border: 2px solid var(--tinte);
	border-radius: 999px;
	padding: 11px 22px;
	text-decoration: none;
	background: transparent;
	color: var(--tinte);
	font-weight: 700;
	font-size: 16.5px;
	transition: background .16s, transform .16s;
}
#tribe-events-content .tribe-events-back a:hover,
#tribe-events-content .tribe-events-sub-nav a:hover,
#tribe-events-content .tribe-events-cal-links a:hover {
	background: var(--gelb);
	transform: translateY(-2px);
}
#tribe-events-content .tribe-events-cal-links { display: flex; gap: 12px; flex-wrap: wrap; margin: 32px 0 0; }
#tribe-events-content .tribe-events-sub-nav {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	padding: 44px 0 0;
	margin: 0;
}
#tribe-events-content .tribe-events-sub-nav li { margin: 0; }

/* ---------- Schmale Bildschirme ---------- */
@media (max-width: 720px) {
	#tribe-events-pg-template,
	.tribe-events-view { padding: 28px 22px 60px; }

	#tribe-events-content .tribe-events-single-event-title::before {
		width: 104px;
		height: 88px;
		left: -20px;
		top: -24px;
	}
	#tribe-events-content .tribe-events-event-meta { gap: 24px; padding-top: 28px; margin-top: 36px; }
	#tribe-events-content .tribe-events-sub-nav { flex-direction: column; }

	.tribe-common .tribe-events-calendar-list__event-row { padding: 24px 0; }
	.tribe-common .tribe-events-calendar-list__event-featured-image-wrapper { max-width: none; }
}
