/*
 * BBK Hessen – The Events Calendar
 * Optische Integration der kostenlosen The-Events-Calendar-Ansichten
 * in das BBK-Hessen-Theme. Keine Plugin-Dateien werden verändert.
 */

/* Grundfläche und Typografie ------------------------------------------------ */
.tribe-common,
.tribe-events,
#tribe-events-content,
.tribe-events-single {
	--tec-color-text-primary: var(--wp--preset--color--tinte, #1A1A18);
	--tec-color-text-secondary: var(--wp--preset--color--gedaempft, #8A857A);
	--tec-color-accent-primary: var(--wp--preset--color--bbk-rot, #E64D4F);
	--tec-color-accent-primary-hover: var(--wp--preset--color--bbk-rot-dunkel, #A63739);
	--tec-color-border-default: var(--wp--preset--color--papier-dunkel, #EAE5DE);
	--tec-color-background: var(--wp--preset--color--weiss, #FFFFFF);
	--tec-color-background-secondary: var(--wp--preset--color--papier, #F7F4F1);
	font-family: var(--wp--preset--font-family--body, "BBK Body", sans-serif) !important;
	color: var(--wp--preset--color--tinte, #1A1A18);
}

.tribe-common a,
.tribe-events a,
#tribe-events-content a {
	color: var(--wp--preset--color--bbk-rot, #E64D4F);
}

.tribe-common a:hover,
.tribe-events a:hover,
#tribe-events-content a:hover {
	color: var(--wp--preset--color--bbk-rot-dunkel, #A63739);
}

/* Breite und Abstand: Kalender als Teil der Seite, nicht als Fremd-App ----- */
.tribe-common .tribe-common-l-container,
.tribe-events .tribe-events-l-container,
#tribe-events-content {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, 4vw, 2.5rem) !important;
	padding-right: clamp(1rem, 4vw, 2.5rem) !important;
}

.tribe-events .tribe-events-l-container {
	padding-top: 2rem !important;
	padding-bottom: 4rem !important;
}

/* Such-/Ansichtsleiste ------------------------------------------------------ */
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-header__events-bar {
	background: transparent !important;
	box-shadow: none !important;
}

.tribe-events .tribe-events-c-events-bar {
	border: 1px solid var(--wp--preset--color--papier-dunkel, #EAE5DE) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--weiss, #FFFFFF) !important;
}

.tribe-events .tribe-events-c-search__input-control input,
.tribe-events .tribe-events-c-search__input {
	font-family: var(--wp--preset--font-family--body, "BBK Body", sans-serif) !important;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

.tribe-events .tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button {
	background: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
	border: 1px solid var(--wp--preset--color--bbk-rot, #E64D4F) !important;
	border-radius: 2px !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tribe-events .tribe-events-c-search__button:hover,
.tribe-events button.tribe-events-c-search__button:hover {
	background: var(--wp--preset--color--bbk-rot-dunkel, #A63739) !important;
	border-color: var(--wp--preset--color--bbk-rot-dunkel, #A63739) !important;
}

.tribe-events .tribe-events-c-view-selector__list-item-link,
.tribe-events .tribe-events-c-view-selector__button {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link,
.tribe-events .tribe-events-c-view-selector__list-item-link:hover {
	color: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
}

/* Navigation über der Liste ------------------------------------------------ */
.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-c-top-bar__today-button,
.tribe-events .tribe-events-c-top-bar__nav-link {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button {
	font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
	font-weight: 400 !important;
}

/* Listenansicht ------------------------------------------------------------- */
.tribe-events .tribe-events-calendar-list__month-separator {
	margin-top: 2.5rem !important;
	margin-bottom: 1.5rem !important;
}

.tribe-events .tribe-events-calendar-list__month-separator-text {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.035em;
	text-transform: uppercase;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

.tribe-events .tribe-events-calendar-list__month-separator::after {
	background: var(--wp--preset--color--papier-dunkel, #EAE5DE) !important;
}

.tribe-events .tribe-events-calendar-list__event-row {
	margin: 0 !important;
	padding: 1.45rem 0 1.65rem !important;
	border-bottom: 1px solid var(--wp--preset--color--papier-dunkel, #EAE5DE);
}

.tribe-events .tribe-events-calendar-list__event-date-tag {
	min-width: 86px;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	font-size: 0.72rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gedaempft, #8A857A) !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
	font-family: var(--wp--preset--font-family--display, "BBK Display", serif) !important;
	font-size: 2.15rem !important;
	line-height: 1 !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

.tribe-events .tribe-events-calendar-list__event-datetime {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	font-size: 0.875rem !important;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

.tribe-events .tribe-events-calendar-list__event-title {
	margin-top: 0.25rem !important;
	margin-bottom: 0.55rem !important;
	font-family: var(--wp--preset--font-family--display, "BBK Display", serif) !important;
	font-size: clamp(1.65rem, 3vw, 2.25rem) !important;
	font-weight: 600 !important;
	line-height: 1.08 !important;
}

.tribe-events .tribe-events-calendar-list__event-title-link,
.tribe-events .tribe-events-calendar-list__event-title-link:visited {
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
	text-decoration: none !important;
	border: 0 !important;
}

.tribe-events .tribe-events-calendar-list__event-title-link:hover {
	color: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
}

.tribe-events .tribe-events-calendar-list__event-venue,
.tribe-events .tribe-events-calendar-list__event-venue-address {
	font-size: 0.95rem !important;
	line-height: 1.45 !important;
}

.tribe-events .tribe-events-calendar-list__event-venue-title {
	font-weight: 600 !important;
}

.tribe-events .tribe-events-calendar-list__event-description {
	margin-top: 0.75rem !important;
	font-size: 1rem !important;
	line-height: 1.55 !important;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

/* Monatsansicht ------------------------------------------------------------- */
.tribe-events .tribe-events-calendar-month {
	border-color: var(--wp--preset--color--papier-dunkel, #EAE5DE) !important;
}

.tribe-events .tribe-events-calendar-month__header-column-title,
.tribe-events .tribe-events-calendar-month__day-date-daynum,
.tribe-events .tribe-events-calendar-month__calendar-event-datetime {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
}

.tribe-events .tribe-events-calendar-month__header-column-title {
	color: var(--wp--preset--color--gedaempft, #8A857A) !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.tribe-events .tribe-events-calendar-month__day {
	border-color: var(--wp--preset--color--papier-dunkel, #EAE5DE) !important;
}

.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link,
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum {
	color: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
}

.tribe-events .tribe-events-calendar-month__calendar-event-title-link {
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.tribe-events .tribe-events-calendar-month__calendar-event-title-link:hover {
	color: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
}

/* Einzelveranstaltung ------------------------------------------------------- */
.single-tribe_events #tribe-events-content,
.tribe-events-single {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 2rem;
	padding-bottom: 4rem;
}

.single-tribe_events .tribe-events-back a {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.035em;
	color: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
	text-decoration: none;
}

.single-tribe_events .tribe-events-single-event-title {
	font-family: var(--wp--preset--font-family--display, "BBK Display", serif) !important;
	font-size: clamp(2.5rem, 4.6vw, 3.9rem) !important;
	font-weight: 600 !important;
	line-height: 1.02 !important;
	letter-spacing: -0.015em !important;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
	margin: 1.25rem 0 0.7rem !important;
}

.single-tribe_events .tribe-events-schedule {
	margin: 0 0 2.25rem !important;
}

.single-tribe_events .tribe-events-schedule h2,
.single-tribe_events .tribe-events-schedule .tribe-event-date-start,
.single-tribe_events .tribe-events-schedule .tribe-event-time {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

.single-tribe_events .tribe-events-single-event-description {
	font-size: 1.08rem !important;
	line-height: 1.65 !important;
	margin: 2rem 0 2.75rem !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text {
	border-radius: 2px !important;
	border-color: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
	color: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button:focus-within {
	background: var(--wp--preset--color--papier, #F7F4F1) !important;
}

.single-tribe_events .tribe-events-single-section {
	border-top: 1px solid var(--wp--preset--color--papier-dunkel, #EAE5DE) !important;
	border-bottom: 1px solid var(--wp--preset--color--papier-dunkel, #EAE5DE) !important;
	background: transparent !important;
	padding: 1.5rem 0 !important;
	margin: 2.25rem 0 !important;
}

.single-tribe_events .tribe-events-meta-group {
	padding-right: 2rem;
}

.single-tribe_events .tribe-events-single-section-title {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.075em !important;
	text-transform: uppercase;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
}

.single-tribe_events .tribe-events-meta-group dt {
	font-weight: 600 !important;
}

.single-tribe_events .tribe-events-meta-group dd,
.single-tribe_events .tribe-events-meta-group address {
	font-size: 0.95rem !important;
	line-height: 1.5 !important;
}

.single-tribe_events #tribe-events-footer {
	border-top: 1px solid var(--wp--preset--color--papier-dunkel, #EAE5DE) !important;
	padding-top: 1.4rem !important;
}

.single-tribe_events #tribe-events-footer a {
	font-family: var(--wp--preset--font-family--mono, "BBK Mono", monospace) !important;
	font-size: 0.9rem !important;
	color: var(--wp--preset--color--tinte, #1A1A18) !important;
	text-decoration: none !important;
}

.single-tribe_events #tribe-events-footer a:hover {
	color: var(--wp--preset--color--bbk-rot, #E64D4F) !important;
}

/* Mobil -------------------------------------------------------------------- */
@media (max-width: 767px) {
	.tribe-events .tribe-events-l-container {
		padding-top: 1rem !important;
	}

	.tribe-events .tribe-events-calendar-list__event-row {
		padding: 1.15rem 0 1.35rem !important;
	}

	.tribe-events .tribe-events-calendar-list__event-date-tag {
		min-width: 58px;
		width: 58px;
	}

	.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
		font-size: 1.75rem !important;
	}

	.tribe-events .tribe-events-calendar-list__event-title {
		font-size: 1.55rem !important;
	}

	.single-tribe_events .tribe-events-single-event-title {
		font-size: clamp(2.2rem, 11vw, 3.5rem) !important;
	}

	.single-tribe_events .tribe-events-single-section {
		padding: 1.15rem 0 !important;
	}

	.single-tribe_events .tribe-events-meta-group {
		width: 100% !important;
		padding-right: 0;
		margin-bottom: 1.4rem;
	}
}


/* v1.0.4 – Pluginseiten in die normale BBK-Seitenhülle einpassen */
.bbk-plugin-main {
	display: block;
	width: 100%;
}

@media (max-width: 767px) {
	.single-tribe_events .tribe-events-single-event-title {
		font-size: clamp(2.15rem, 9vw, 3rem) !important;
	}
}


/* v1.0.5 – FSE template shell around The Events Calendar */
.bbk-events-template-shell {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}
