/* ==========================================================================
   GWU Event Pages — Front-end styles
   Covers both the [public_event_list] shortcode and the Event Marketing Page.
   ========================================================================== */

/* ── Public Event List: Wrapper / Two-Column Grid ─────────────────── */
.hpl-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem 3rem;
	font-family: inherit;
	line-height: 1.5;
}

@media ( max-width: 700px ) {
	.hpl-wrapper {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

/* ── Column headings / descriptions ──────────────────────────────── */
.hpl-col-heading {
	margin-top: 0;
	margin-bottom: 0.35rem;
	font-size: 1.25em;
	font-weight: 700;
	color: inherit;
}

.hpl-col-desc {
	margin-top: 0;
	margin-bottom: 1.1rem;
	color: #555;
	font-size: 0.95em;
}

/* ── Event list ───────────────────────────────────────────────────── */
.hpl-event-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hpl-event-item {
	margin-bottom: 1rem;
	padding-bottom: 0;
}

/* ── Event title line ─────────────────────────────────────────────── */
.hpl-event-title {
	margin-bottom: 0.1rem;
	font-size: 0.97em;
}

.hpl-event-title strong {
	font-weight: 700;
}

.hpl-zoom-time {
	color: #333;
	white-space: nowrap;
}

/* ── Details link line ────────────────────────────────────────────── */
.hpl-event-details-row {
	font-size: 0.9em;
	color: #444;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.hpl-details-link {
	color: #0073aa;
	text-decoration: none;
	font-weight: 400;
}

.hpl-details-link:hover {
	text-decoration: underline;
}

/* Zoom badge nested inside anchor (Zoom webinar row) */
a.hpl-details-link .hpl-zoom-badge {
	text-decoration: none;
}

/* Pending link (no URL set yet) */
.hpl-details-pending {
	color: #999;
	cursor: default;
}

/* ── Zoom badge (replaces logo image) ────────────────────────────── */
.hpl-zoom-badge {
	display: inline-block;
	background: #2d8cff;
	color: #fff;
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.03em;
	padding: 2px 7px;
	border-radius: 3px;
	vertical-align: middle;
	line-height: 1.4;
}

/* ── No-events fallback ───────────────────────────────────────────── */
.hpl-no-events {
	color: #888;
	font-style: italic;
}

/* ── Past Event List ──────────────────────────────────────────────── */
.hpl-past-wrapper {
	font-family: inherit;
	line-height: 1.5;
}

.hpl-past-year {
	margin-bottom: 2rem;
}

.hpl-past-year__heading {
	font-size: 1.2em;
	font-weight: 700;
	margin: 0 0 0.6rem;
	padding-bottom: 0.3rem;
	border-bottom: 2px solid #e0e0e0;
}

.hpl-past-year__count {
	font-size: 0.8em;
	font-weight: 400;
	color: #888;
	margin-left: 6px;
}

.hpl-past-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 3rem;
}

@media ( max-width: 700px ) {
	.hpl-past-columns {
		grid-template-columns: 1fr;
	}
}

.hpl-past-col__heading {
	font-size: 0.95em;
	font-weight: 700;
	color: #555;
	margin: 0 0 0.4rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.hpl-past-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hpl-past-list li {
	font-size: 0.92em;
	padding: 3px 0;
	border-bottom: 1px dotted #eee;
}

.hpl-past-location a {
	color: #0073aa;
	text-decoration: none;
}

.hpl-past-location a:hover {
	text-decoration: underline;
}

.hpl-past-date {
	color: #777;
	font-size: 0.9em;
	white-space: nowrap;
}

.hpl-past-type-badge {
	display: inline-block;
	background: #f0f0f0;
	color: #555;
	font-size: 0.78em;
	padding: 1px 5px;
	border-radius: 3px;
	vertical-align: middle;
}

.hpl-past-none {
	color: #aaa;
	font-size: 0.88em;
	font-style: italic;
	margin: 0;
}

/* ── Event Marketing Page layout ─────────────────────────────────── */
.gwu-event-marketing-wrap {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 20px 60px;
}

.gwu-event-marketing-title {
	margin-bottom: 0.5rem;
}

.gwu-event-marketing-content {
	font-size: 1rem;
	line-height: 1.7;
}

.gwu-event-marketing-content h2 {
	margin-top: 1.8em;
	margin-bottom: 0.4em;
	font-size: 1.15em;
}

.gwu-event-marketing-content p {
	margin-bottom: 0.9em;
}

/* Registration button override — allows themes to style naturally */
.gwu-reg-btn {
	display: inline-block;
	padding: 10px 24px;
	background: #00509e;
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 4px;
	font-weight: bold;
	transition: background 0.15s;
}

.gwu-reg-btn:hover {
	background: #003d7a;
}

/* Recommended hotels (from Marketing Ops page sync) — two cards side by side */
.gwu-hotels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.25rem;
	margin: 1em 0 1.5em;
	align-items: stretch;
}

@media ( max-width: 640px ) {
	.gwu-hotels {
		grid-template-columns: 1fr;
	}
}

.gwu-hotels .gwu-hotel {
	box-sizing: border-box;
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #f9f9fb;
	height: 100%;
}

.gwu-hotels .gwu-hotel-name {
	margin: 0 0 0.5em;
	font-size: 1.05em;
	line-height: 1.35;
}

.gwu-hotels .gwu-hotel-name a {
	text-decoration: none;
	font-weight: 700;
}

.gwu-hotels .gwu-hotel-name a:hover {
	text-decoration: underline;
}

.gwu-hotels .gwu-hotel-address {
	margin: 0 0 0.35em;
	color: #444;
	line-height: 1.45;
}

.gwu-hotels .gwu-hotel-phone {
	margin: 0;
	color: #444;
}

.gwu-course-type {
	margin: 0 0 1em;
}

.gwu-course-type p:last-child {
	margin-bottom: 0;
}

.gwu-host-venue {
	margin: 0 0 1em;
	line-height: 1.5;
}

.gwu-host-venue-lines {
	display: block;
}

.gwu-host-venue-line {
	display: block;
	margin: 0;
}

.gwu-host-venue-line + .gwu-host-venue-line {
	margin-top: 0.35em;
}

/* Legacy synced markup (single <p> with <br>) before regen */
.gwu-host-venue p {
	margin: 0;
}

.gwu-host-venue p + p {
	margin-top: 0.35em;
}
