/*
 * Layout only. Colours, fonts, and button styling are intentionally left
 * to the site's own Elementor kit CSS (already loaded on every page),
 * so this plugin's output matches the site automatically rather than
 * needing to be kept in sync with it by hand.
 */

.eaanz-events-list .eaanz-event {
	padding: 2em;
	margin-bottom: 50px; /* matches the site's own 50px spacer widgets between blocks */
}

.eaanz-events-list .eaanz-event:last-child {
	margin-bottom: 0;
}

/* Activity type colours, using the site's existing palette.
   EAANZ Event + EAANZ Supported Event: teal/green with rust text.
   EAANZ Community Activity + Community Listing: sand with dark teal text.
   Sponsored Promotion / Advertising: white with black text. */
.eaanz-events-list .eaanz-event--green {
	background-color: #78A5AA; /* existing site teal/green */
	color: #A15237;            /* existing site rust text */
}

.eaanz-events-list .eaanz-event--sand {
	background-color: #F6F1EA; /* existing site sand */
	color: #094042;            /* existing site dark teal text */
}

.eaanz-events-list .eaanz-event--sponsored {
	background-color: #FFFFFF;
	color: #000000;
}

.eaanz-events-list .eaanz-event--green a,
.eaanz-events-list .eaanz-event--sand a,
.eaanz-events-list .eaanz-event--sponsored a {
	color: inherit;
}

.eaanz-events-list .eaanz-event-title {
	margin-bottom: 0.25em;
}

.eaanz-events-list .eaanz-event-meta {
	margin-bottom: 0.75em;
	font-style: italic;
}

.eaanz-events-list .eaanz-event-description {
	margin-bottom: 1em;
}

.eaanz-events-list .eaanz-event-organiser {
	margin-bottom: 1em;
}

.eaanz-events-list .eaanz-event-image-frame {
	width: 500px;
	max-width: 100%;
	aspect-ratio: 5 / 3;
	margin: 0 auto 0.75em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.eaanz-events-list .eaanz-event-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}

.eaanz-events-list .eaanz-event-run-by {
	font-style: italic;
	opacity: 0.85;
}

.eaanz-events-fee-notice {
	padding: 0.75em 1em;
	background: rgba(161, 82, 55, 0.08);
	border-left: 3px solid #A15237;
	margin-bottom: 1em;
}

.eaanz-events-submit-link {
	margin-bottom: 1.5em;
}

.eaanz-events-notice {
	padding: 1em;
	border-left: 3px solid currentColor;
}

.eaanz-events-success {
	padding: 1em;
	border-left: 3px solid #148773; /* kit's b440635 green */
}

.eaanz-events-errors {
	padding: 1em;
	border-left: 3px solid #A15237; /* kit's accent/secondary colour */
}

/* Honeypot field, hidden from real users via off-screen positioning rather
   than display:none, which some spam bots skip over. */
.eaanz-events-honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

.eaanz-events-form .form-table th {
	width: 200px;
	text-align: left;
}


.eaanz-event-activity {
	margin: 0 0 1em;
	font-style: italic;
}

.eaanz-event-info {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35em;
	height: 1.35em;
	margin-left: 0.35em;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-style: normal;
	font-weight: 700;
	font-size: 0.85em;
	line-height: 1;
	cursor: help;
}

.eaanz-event-info-popover {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	transform: translateX(-50%);
	z-index: 50;
	width: min(360px, 80vw);
	padding: 12px 14px;
	background: #fff;
	color: #094042;
	border: 1px solid rgba(9, 64, 66, 0.22);
	box-shadow: 0 8px 24px rgba(0,0,0,0.18);
	border-radius: 6px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.45;
	text-align: left;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.eaanz-event-info:hover .eaanz-event-info-popover,
.eaanz-event-info:focus .eaanz-event-info-popover,
.eaanz-event-info:focus-within .eaanz-event-info-popover {
	opacity: 1;
	visibility: visible;
}


/* Public event contact button: keep the light site text colour in every state. */
.eaanz-events-list .elementor-button,
.eaanz-events-list .elementor-button:link,
.eaanz-events-list .elementor-button:visited,
.eaanz-events-list .elementor-button:hover,
.eaanz-events-list .elementor-button:focus,
.eaanz-events-list .elementor-button:active,
.eaanz-events-list .elementor-button .elementor-button-text {
	color: #f5eee5 !important;
	text-decoration: none;
}


.eaanz-image-submit-row {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin-bottom: 1.5em;
}

.eaanz-image-submit-row .elementor-button,
.eaanz-image-submit-row .elementor-button:link,
.eaanz-image-submit-row .elementor-button:visited,
.eaanz-image-submit-row .elementor-button:hover,
.eaanz-image-submit-row .elementor-button:focus,
.eaanz-image-submit-row .elementor-button:active,
.eaanz-image-submit-row .elementor-button .elementor-button-text {
	color: #F6F1EA !important;
	text-decoration: none;
}


.eaanz-image-submit-row .eaanz-image-email-trigger {
	border: 0;
	cursor: pointer;
	font: inherit;
}

.eaanz-image-email-modal[hidden] {
	display: none;
}

.eaanz-image-email-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, 0.55);
}

.eaanz-image-email-dialog {
	width: min(520px, 100%);
	padding: 28px;
	background: #FFFFFF;
	color: #094042;
	border-radius: 6px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
	text-align: center;
}

.eaanz-image-email-dialog h2 {
	margin-top: 0;
}

.eaanz-image-email-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 20px 0 14px;
}

.eaanz-image-email-actions .elementor-button,
.eaanz-image-email-actions .elementor-button:link,
.eaanz-image-email-actions .elementor-button:visited,
.eaanz-image-email-actions .elementor-button:hover,
.eaanz-image-email-actions .elementor-button:focus,
.eaanz-image-email-actions .elementor-button:active,
.eaanz-image-email-actions .elementor-button .elementor-button-text {
	color: #F6F1EA !important;
	text-decoration: none;
}

.eaanz-image-email-close {
	padding: 8px 16px;
	cursor: pointer;
}

.eaanz-modal-open {
	overflow: hidden;
}


.eaanz-events-list .eaanz-event-email-trigger {
	border: 0;
	cursor: pointer;
	font: inherit;
}

.eaanz-event-email-recipient {
	margin: 0.5em 0 0;
}

/* Mobile-only layout for the simple event filters. */
@media (max-width: 767px) {
	#eaanz-event-filters {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#eaanz-event-type-filter {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 0.55em;
	}

	#eaanz-event-type-filter .elementor-button {
		width: 100%;
		margin: 0;
		justify-content: center;
		text-align: center;
		white-space: normal;
	}

	#eaanz-event-location-filter {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.55em;
	}

	#eaanz-event-location-filter .elementor-button {
		width: 100%;
		margin: 0;
		justify-content: center;
		text-align: center;
	}

	.eaanz-events-submit-link {
		margin-bottom: 0.35em !important;
	}

	.eaanz-events-submit-panel {
		margin-bottom: 30px;
	}
}

