/* HONCW Core – event helpers ([honcw_ev_*] shortcodes, related events). Loaded on pages, single events and the events archive, as before. */
/* Tokens with fallbacks (the --honcw-* variables may not exist as real CSS variables) */
.honcw-events-wrap,
.honcw-ev-meta,
.honcw-ev-details,
.honcw-ev-content {
	--hc-plum: var(--honcw-plum, #381641);
	--hc-plum-deep: var(--honcw-plum-deep, #230A2A);
	--hc-pink: var(--honcw-pink, #EF4E7A);
	--hc-lilac: var(--honcw-lilac, #E0C5E0);
	--hc-blush: var(--honcw-blush, #F6CADB);
	--hc-cream: var(--honcw-cream, #FAF5EF);
	--hc-stone: var(--honcw-stone, #E7E1DA);
	--hc-ink: var(--honcw-ink, #2B2B2B);
	--hc-head: var(--honcw-font-heading, "Josefin Sans", sans-serif);
	--hc-body: var(--honcw-font-body, "Nunito", sans-serif);
}

/* ===== Events landing: the v3 section that holds the TEC widget ===== */
.honcw-events-wrap {
	width: calc(100% - 48px);
	max-width: 1440px;
	margin: 8px auto 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}
/* Tighten the gap under the hero: TEC adds its own top padding and header margin */
.honcw-events-wrap .tribe-events .tribe-events-l-container,
.honcw-events-wrap .tribe-events-view .tribe-events-l-container {
	padding-top: 0 !important;
	min-height: 0 !important;
}
.honcw-events-wrap .tribe-events .tribe-events-header {
	margin-top: 0 !important;
}
.honcw-events-wrap .elementor-widget-container,
.honcw-events-wrap .elementor-widget:not(:last-child) {
	margin: 0 !important;
	padding-top: 0 !important;
}
.honcw-events-wrap > .elementor-container,
.honcw-events-wrap .elementor-column-wrap,
.honcw-events-wrap .elementor-widget-wrap,
.honcw-events-wrap .elementor-element-populated {
	max-width: 100%;
	padding: 0 !important;
}
@media (max-width: 767px) {
	.honcw-events-wrap { width: calc(100% - 20px); }
}

/* TEC 6 design tokens */
.honcw-events-wrap .tribe-common,
.honcw-events-wrap .tribe-events {
	--tec-color-accent-primary: var(--hc-plum);
	--tec-color-accent-primary-hover: var(--hc-plum-deep);
	--tec-color-accent-primary-active: var(--hc-plum-deep);
	--tec-color-link-primary: var(--hc-plum);
	--tec-color-link-accent: var(--hc-plum);
	--tec-color-link-accent-hover: var(--hc-pink);
	--tec-font-family-sans-serif: var(--hc-body);
	--tec-border-radius-default: 24px;
}
.honcw-events-wrap .tribe-common,
.honcw-events-wrap .tribe-common p,
.honcw-events-wrap .tribe-common a {
	font-family: var(--hc-body);
}

/* Search */
.honcw-events-wrap .tribe-events-c-search__input {
	border: 1px solid var(--hc-lilac);
	border-radius: 999px;
	padding: 12px 20px 12px 44px;
	font-family: var(--hc-body);
}
.honcw-events-wrap .tribe-events-c-search__button {
	background: var(--hc-plum);
	color: #fff;
	border-radius: 999px;
	padding: 12px 24px;
	text-transform: none;
	font-family: var(--hc-body);
	font-weight: 700;
}
.honcw-events-wrap .tribe-events-c-search__button:hover { background: var(--hc-pink); color: var(--hc-plum-deep); }

/* View selector, Today, subscribe: pill buttons */
.honcw-events-wrap .tribe-events-c-view-selector__button,
.honcw-events-wrap .tribe-events-c-top-bar__today-button,
.honcw-events-wrap .tribe-events-c-subscribe-dropdown__button {
	border: 1px solid var(--hc-lilac);
	border-radius: 999px;
	text-transform: none;
	font-family: var(--hc-body);
}
.honcw-events-wrap .tribe-events-c-top-bar__today-button:hover,
.honcw-events-wrap .tribe-events-c-subscribe-dropdown__button:hover { border-color: var(--hc-plum); }

/* Month separators */
.honcw-events-wrap .tribe-events-calendar-list__month-separator-text {
	font-family: var(--hc-head);
	color: var(--hc-plum);
	font-size: 24px;
}

/* Event cards in the list view */
.honcw-events-wrap .tribe-events-calendar-list__event-row { margin-bottom: 20px; }
.honcw-events-wrap .tribe-events-calendar-list__event {
	background: #fff;
	border: 1px solid var(--hc-stone);
	border-radius: 24px;
	padding: 20px;
}
.honcw-events-wrap .tribe-events-calendar-list__event-featured-image {
	border-radius: 16px;
	object-fit: cover;
}
.honcw-events-wrap .tribe-events-calendar-list__event-title,
.honcw-events-wrap .tribe-events-calendar-list__event-title-link {
	font-family: var(--hc-head);
	color: var(--hc-plum);
}
.honcw-events-wrap .tribe-events-calendar-list__event-title-link:hover { color: var(--hc-pink); }
.honcw-events-wrap .tribe-events-calendar-list__event-datetime-wrapper,
.honcw-events-wrap .tribe-events-calendar-list__event-venue { color: var(--hc-ink); }
.honcw-events-wrap .tribe-events-calendar-list__event-date-tag-weekday,
.honcw-events-wrap .tribe-events-calendar-list__event-date-tag-daynum { color: var(--hc-plum); }

/* ===== Single event template (shortcode output) ===== */
.honcw-ev-meta { display: flex; flex-direction: column; gap: 6px; }
.honcw-ev-meta p { margin: 0; font-family: var(--hc-body); color: var(--hc-ink); }
.honcw-ev-meta__when { font-size: 20px; font-weight: 700; color: var(--hc-plum); }
.honcw-ev-meta__where { font-size: 17px; }
@media (max-width: 767px) { .honcw-ev-meta { align-items: center; text-align: center; } }

.honcw-ev-details { display: flex; flex-direction: column; gap: 16px; }
.honcw-ev-row { display: flex; flex-direction: column; gap: 2px; }
.honcw-ev-row p { margin: 0; }
.honcw-ev-label { font-family: var(--hc-head); font-weight: 700; font-size: 16px; color: var(--hc-plum); }
.honcw-ev-value { font-family: var(--hc-body); font-size: 16px; line-height: 1.5; color: var(--hc-ink); }
.honcw-ev-link { color: var(--hc-plum); text-decoration: underline; font-weight: 700; }
.honcw-ev-link:hover { color: var(--hc-pink); }

.honcw-ev-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.honcw-ev-btn {
	display: inline-block;
	text-align: center;
	padding: 14px 24px 12px;
	border-radius: 999px;
	font-family: var(--hc-head);
	font-weight: 700;
	font-size: 16px;
	text-transform: none;
	text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s;
}
.honcw-ev-btn--primary { background: var(--hc-plum); color: #fff; border: 1px solid var(--hc-plum); }
.honcw-ev-btn--primary:hover { background: var(--hc-pink); border-color: var(--hc-pink); color: var(--hc-plum-deep); }
.honcw-ev-btn--secondary { background: transparent; color: var(--hc-plum); border: 1px solid var(--hc-plum); }
.honcw-ev-btn--secondary:hover { background: var(--hc-blush); }

.honcw-ev-content { font-family: var(--hc-body); font-size: 18px; line-height: 1.7; color: var(--hc-ink); }
.honcw-ev-content p { margin: 0 0 1em; }
.honcw-ev-content a { color: var(--hc-plum); text-decoration: underline; }
.honcw-ev-content a:hover { color: var(--hc-pink); }
.honcw-ev-content h2,
.honcw-ev-content h3 { font-family: var(--hc-head); color: var(--hc-plum); margin: 1.2em 0 .5em; }
.honcw-ev-content img { max-width: 100%; height: auto; border-radius: 16px; }
