/* Events: [ppar_events] cards, the /events/ banner and card styling for The Events Calendar's list view.
   Palette follows brand.css: navy #152131, slate #4F6481, hairline #D5DEEA, soft #F4F6F8. */

.ppar-ev {
	--ev-navy: #152131;
	--ev-slate: #4F6481;
	--ev-line: #D5DEEA;
	--ev-soft: #F4F6F8;
	width: 100%;
	color: var(--ev-navy);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	text-align: left;
}

.ppar-ev__list {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ppar-ev__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	padding: 24px;
	background: #FFFFFF;
	border: 1px solid var(--ev-line);
	border-radius: 16px;
}

.ppar-ev__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 88px;
	min-height: 96px;
	padding: 8px;
	background: var(--ev-navy);
	border-radius: 12px;
	color: #FFFFFF !important;
	text-decoration: none;
	line-height: 1.1;
}

.ppar-ev__mon,
.ppar-ev__dow {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #C9D6E8;
}

.ppar-ev__day {
	margin: 4px 0;
	font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
	font-size: 44px;
	font-weight: 600;
	line-height: 1;
}

.ppar-ev__body {
	min-width: 0;
}

.ppar-ev__cat {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--ev-slate);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ppar-ev .ppar-ev__title {
	margin: 0 0 8px;
	font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
	font-size: clamp(24px, 2.2vw, 30px);
	font-weight: 600;
	line-height: 1.15;
}

.ppar-ev .ppar-ev__title a {
	color: var(--ev-navy);
	text-decoration: none;
}

.ppar-ev .ppar-ev__title a:hover,
.ppar-ev .ppar-ev__title a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ppar-ev .ppar-ev__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin: 0;
	color: #2D3A4D;
	font-size: max(15px, 1rem);
	line-height: 1.5;
}

.ppar-ev__venue::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 8px 2px 0;
	border-radius: 50%;
	background: var(--ev-slate);
}

.ppar-ev__side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

.ppar-ev__cost {
	padding: 4px 12px;
	background: var(--ev-soft);
	border: 1px solid var(--ev-line);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
}

.ppar-ev .ppar-ev__more {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-inline: 4px;
	color: var(--ev-navy);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 2px solid var(--ev-slate);
}

.ppar-ev .ppar-ev__more:hover,
.ppar-ev .ppar-ev__more:focus-visible {
	border-bottom-color: var(--ev-navy);
}

.ppar-ev__empty {
	margin: 0 0 16px;
	padding: 24px;
	background: #FFFFFF;
	border: 1px dashed var(--ev-line);
	border-radius: 16px;
	color: #2D3A4D;
	font-size: max(15px, 1rem);
}

.ppar-ev__all {
	margin: 24px 0 0;
	text-align: center;
}

.ppar-ev .ppar-ev__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 32px;
	background: var(--ev-navy);
	border-radius: 8px;
	color: #FFFFFF;
	font-weight: 600;
	text-decoration: none;
}

.ppar-ev .ppar-ev__btn:hover,
.ppar-ev .ppar-ev__btn:focus-visible {
	background: #243651;
	color: #FFFFFF;
}

@media (max-width: 767px) {
	.ppar-ev__item {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 16px;
		padding: 16px;
	}

	.ppar-ev__date {
		width: 72px;
		min-height: 84px;
	}

	.ppar-ev__day {
		font-size: 36px;
	}

	.ppar-ev__side {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* ---------------------------------------------------------------- /events/ page */

body.post-type-archive-tribe_events {
	background: #F4F6F8;
}

.ppar-ev-hero {
	background: linear-gradient(135deg, #152131 0%, #243651 100%);
	color: #FFFFFF;
}

.ppar-ev-hero__in {
	width: min(1140px, 100% - 48px);
	margin-inline: auto;
	padding: 64px 0;
}

.ppar-ev-hero__eyebrow {
	margin: 0 0 8px;
	color: #C9D6E8;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ppar-ev-hero__title {
	margin: 0 0 16px;
	font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
	font-size: clamp(44px, 6vw, 72px);
	font-weight: 600;
	line-height: 1.05;
}

.ppar-ev-hero__lead {
	max-width: 40em;
	margin: 0;
	color: #E6ECF4;
	font-size: max(16px, 1.1rem);
	line-height: 1.6;
}

body.post-type-archive-tribe_events #primary,
body.post-type-archive-tribe_events .site-content {
	margin: 0;
	padding: 0;
}

body.post-type-archive-tribe_events .tribe-events {
	width: min(1140px, 100% - 48px);
	margin: 0 auto;
	padding: 24px 0 48px;
}

body.post-type-archive-tribe_events .tribe-events-l-container {
	min-height: 0;
	padding-top: 16px;
	padding-bottom: 16px;
}

body.post-type-archive-tribe_events .tribe-events-header {
	margin: 0 0 8px !important;
	padding-top: 0 !important;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator {
	margin: 32px 0 16px;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator-text {
	color: #4F6481;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* Astra's .ast-container is a flex row: let the banner span the page and the calendar sit under it. */
body.post-type-archive-tribe_events .ast-container {
	display: block;
	max-width: none;
	padding: 0;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row {
	display: flex !important;
	align-items: flex-start;
	gap: 24px;
	margin: 0 0 16px;
	padding: 24px;
	background: #FFFFFF;
	border: 1px solid #D5DEEA;
	border-radius: 16px;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag {
	flex: 0 0 88px !important;
	width: 88px !important;
	align-self: flex-start;
	margin: 0 !important;
	padding: 12px 8px;
	background: #152131;
	border-radius: 12px;
	text-align: center;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-wrapper {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event {
	display: flex !important;
	flex-direction: row-reverse !important;
	align-items: center;
	gap: 24px;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-featured-image-wrapper {
	flex: 0 0 260px !important;
	width: 260px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-details {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-weekday,
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-daynum {
	color: #FFFFFF;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-weekday {
	display: block;
	color: #C9D6E8;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-daynum {
	font-family: "Cormorant Garamond", "Cormorant", Georgia, serif !important;
	font-size: 44px !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title,
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title a {
	font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
	font-size: clamp(24px, 2.2vw, 30px);
	font-weight: 600;
	line-height: 1.15;
}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-featured-image {
	border-radius: 12px;
}

body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__container {
	margin-top: 24px;
}

@media (max-width: 767px) {
	.ppar-ev-hero__in {
		padding: 48px 0;
	}

	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row {
		flex-direction: column;
		gap: 16px;
		padding: 16px;
	}

	body.post-type-archive-tribe_events .tribe-events-calendar-list__event {
		flex-direction: column-reverse !important;
		align-items: stretch;
		gap: 16px;
	}

	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-featured-image-wrapper {
		flex: 0 0 auto !important;
		width: 100% !important;
	}
}

@media (max-width: 900px) and (min-width: 768px) {
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-featured-image-wrapper {
		flex-basis: 200px !important;
		width: 200px !important;
	}
}

/* Registration button on a single event (the Event Website field), and the duplicate small "Website:" link hidden. */
.ppar-ev-register {
	margin: 32px 0 16px;
}

.ppar-ev-register .ppar-ev-register__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 32px;
	background: #152131;
	border-radius: 8px;
	color: #FFFFFF;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 600;
	text-decoration: none;
}

.ppar-ev-register .ppar-ev-register__btn:hover,
.ppar-ev-register .ppar-ev-register__btn:focus-visible {
	background: #243651;
	color: #FFFFFF;
}

body.single-tribe_events .tribe-events-meta-group-details .tribe-events-meta-item:has(.tribe-events-event-url) {
	display: none;
}

@media (max-width: 767px) {
	.ppar-ev-register .ppar-ev-register__btn {
		width: 100%;
	}
}

/* The events pages sit on a soft grey page; keep the site header white like every other page. */
body.post-type-archive-tribe_events .elementor-221 {
	background: #FFFFFF;
}
