/* ═══════════════════════════════════════════════════════════════════════
   MAGIC Child Theme — Custom Styles
   Colors: Honorable Blue #184271, Explosion Orange #E17D23,
           Prelude Blue #4282B2, Maize #EBC050,
           Gentle Wind #AED3EA, Elixir #F2F5F5
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── Shared / Utility ─────────────────────────────────────────────── */

.magic-pagination {
	text-align: center;
	padding: 2rem 0;
}
.magic-pagination .page-numbers {
	display: inline-block;
	padding: 0.5rem 0.9rem;
	margin: 0 0.2rem;
	border-radius: 4px;
	color: #184271;
	text-decoration: none;
	font-weight: 600;
}
.magic-pagination .page-numbers.current,
.magic-pagination .page-numbers:hover {
	background: #184271;
	color: #fff;
}

.magic-back-link {
	margin: 2.5rem 0;
}
.magic-back-link a {
	color: #4282B2;
	text-decoration: none;
	font-weight: 600;
}
.magic-back-link a:hover {
	color: #E17D23;
}

/* ─── Document Archive ─────────────────────────────────────────────── */

.magic-document-archive-header {
	padding: 2.5rem 0 1rem;
}
.magic-document-archive-header h1 {
	margin-bottom: 0.5rem;
	color: #184271;
}
.magic-document-archive-header p {
	color: #4282B2;
	font-size: 1.1rem;
	margin-bottom: 0;
}

.magic-governance-section {
	background: #AED3EA;
	border-radius: 8px;
	padding: 1.5rem 2rem;
	margin-bottom: 2rem;
}
.magic-governance-section h2 {
	color: #184271;
	margin-bottom: 1rem;
	font-size: 1.5rem;
}

/* Filter bar */
.magic-document-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid #AED3EA;
}
.magic-filter-label {
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #184271;
	margin-right: 0.25rem;
}
.magic-filter-btn {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	border-radius: 20px;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	color: #184271;
	background: #F2F5F5;
	border: 1px solid #AED3EA;
	transition: all 0.2s ease;
}
.magic-filter-btn:hover,
.magic-filter-btn.active {
	background: #184271;
	color: #fff;
	border-color: #184271;
}

/* Document cards */
.magic-document-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.magic-document-card {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	background: #fff;
	border: 1px solid #AED3EA;
	border-radius: 8px;
	padding: 1rem 1.5rem;
	transition: box-shadow 0.2s ease;
}
.magic-document-card:hover {
	box-shadow: 0 2px 12px rgba(24, 66, 113, 0.1);
}
.magic-document-card-info {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.magic-document-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
}
.magic-document-title a {
	color: #184271;
	text-decoration: none;
}
.magic-document-title a:hover {
	color: #E17D23;
}
.magic-document-date {
	color: #4282B2;
	font-size: 0.85rem;
}
.magic-document-card-actions {
	display: flex;
	gap: 0.5rem;
	flex-shrink: 0;
}
.magic-btn-download,
.magic-btn-view {
	display: inline-block;
	padding: 0.4rem 1rem;
	border-radius: 16px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: all 0.2s ease;
}
.magic-btn-download {
	background: #E17D23;
	color: #fff;
}
.magic-btn-download:hover {
	background: #c96a17;
	color: #fff;
}
.magic-btn-view {
	background: transparent;
	color: #4282B2;
	border: 1px solid #4282B2;
}
.magic-btn-view:hover {
	background: #4282B2;
	color: #fff;
}

/* Document type badges — matches classes from NectarBlocks import CSS */
.magic-document-type-badge {
	display: inline-block;
	padding: 0.2rem 0.65rem;
	border-radius: 4px;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #fff;
	background: #4282B2;
}
.magic-document-type-badge.agenda    { background: #4282B2; }
.magic-document-type-badge.minutes   { background: #184271; }
.magic-document-type-badge.bylaws    { background: #EBC050; color: #184271; }
.magic-document-type-badge.policy    { background: #E17D23; }
.magic-document-type-badge.filing    { background: #AED3EA; color: #184271; }
.magic-document-type-badge.report    { background: #184271; }

/* ─── Single Document ──────────────────────────────────────────────── */

.magic-single-document {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem 0;
}
.magic-document-meta-bar {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}
.magic-document-download {
	margin: 2rem 0;
}

/* ─── Events Archive ───────────────────────────────────────────────── */

.magic-events-archive-header {
	padding: 2.5rem 0 1rem;
}
.magic-events-archive-header h1 {
	margin-bottom: 0.5rem;
	color: #184271;
}
.magic-events-archive-header p {
	color: #4282B2;
	font-size: 1.1rem;
	margin-bottom: 0;
}

.magic-events-section {
	margin-bottom: 3rem;
}
.magic-events-section h2 {
	color: #184271;
	margin-bottom: 1.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #AED3EA;
}
.magic-events-past h2 {
	color: #4282B2;
}

/* Event cards grid */
.magic-events-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: 1.5rem;
}

.magic-event-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #AED3EA;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.magic-event-card:hover {
	box-shadow: 0 4px 20px rgba(24, 66, 113, 0.12);
	transform: translateY(-2px);
}
.magic-event-card-image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}
.magic-event-card-content {
	display: flex;
	gap: 1rem;
	padding: 1.25rem;
}

/* Date block */
.magic-event-card-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 54px;
	height: 60px;
	background: #184271;
	border-radius: 6px;
	color: #fff;
	flex-shrink: 0;
}
.magic-event-month {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1;
}
.magic-event-day {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.1;
}

.magic-event-card-details h3 {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
}
.magic-event-card-details h3 a {
	color: #184271;
	text-decoration: none;
}
.magic-event-card-details h3 a:hover {
	color: #E17D23;
}
.magic-event-card-time,
.magic-event-card-location {
	display: block;
	font-size: 0.85rem;
	color: #4282B2;
	margin-bottom: 0.15rem;
}
.magic-event-card-excerpt {
	font-size: 0.9rem;
	color: #555;
	margin: 0.5rem 0;
}
.magic-event-card-cta {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: #E17D23;
	text-decoration: none;
}
.magic-event-card-cta:hover {
	color: #184271;
}

/* ─── Single Event ─────────────────────────────────────────────────── */

.magic-single-event {
	max-width: 900px;
	margin: 0 auto;
	padding: 2rem 0;
}
.magic-event-featured-image {
	margin-bottom: 2rem;
	border-radius: 8px;
	overflow: hidden;
}
.magic-event-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}
.magic-event-details-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	background: #F2F5F5;
	border-left: 4px solid #E17D23;
	border-radius: 0 8px 8px 0;
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
}
.magic-event-detail strong {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #4282B2;
	margin-bottom: 0.2rem;
}
.magic-event-detail {
	color: #184271;
	font-size: 1rem;
}
.magic-event-content {
	line-height: 1.7;
}

/* ─── Responsive ───────────────────────────────────────────────────── */

@media (max-width: 768px) {
	.magic-document-card {
		flex-direction: column;
		align-items: flex-start;
	}
	.magic-document-card-actions {
		width: 100%;
	}
	.magic-events-grid {
		grid-template-columns: 1fr;
	}
	.magic-event-details-bar {
		flex-direction: column;
		gap: 1rem;
	}
	.magic-governance-section {
		padding: 1rem;
	}
}

.magic-no-results {
	padding: 2rem;
	text-align: center;
	color: #4282B2;
}
