/* ============================================================
   Archive + single templates for the news / position / press CPTs.
   Builds on the design system in blocks.css / base.css — only
   genuinely new patterns live here (image-topped article cards,
   stacked archive header, single-entry lead + download + back link).
   Front-end only (enqueued in wp_enqueue_scripts, dep bu-blocks).
   ============================================================ */

/* ---------- Stacked archive header ---------- */
.bu-archive-head { margin-bottom: 46px; }
.bu-archive-head h1 {
	font-weight: 700;
	font-size: clamp(32px, 3.6vw, 48px);
	line-height: 1.06;
	margin-top: 16px;
	text-wrap: balance;
}
.bu-archive-head__desc { margin-top: 16px; max-width: 640px; }
.bu-archive-head p {
	margin-top: 14px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--bu-ink-2);
	max-width: 640px;
}

/* ---------- Image-topped article cards (news + generic archive) ---------- */
.bu-newsgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.bu-newscard {
	display: flex; flex-direction: column;
	background: var(--bu-panel);
	border: 1px solid var(--bu-border);
	border-radius: 18px; overflow: hidden;
	transition: transform .18s, box-shadow .18s, border-color .18s;
}
.bu-newscard:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -28px rgba(34,28,21,.35); border-color: #E0D2B2; }
.bu-newscard__media { display: block; }
.bu-newscard .bu-media { height: 200px; border: 0; border-radius: 0; border-bottom: 1px solid var(--bu-border); }
.bu-newscard__body { display: flex; flex-direction: column; flex: 1; padding: 24px 26px 26px; }
.bu-newscard__title { font-weight: 700; font-size: 21px; line-height: 1.2; margin-bottom: 12px; text-wrap: pretty; }
.bu-newscard__title a { color: inherit; text-decoration: none; }
.bu-newscard__title a:hover { color: var(--bu-gold-dk); }
.bu-newscard__excerpt { font-size: 15.5px; line-height: 1.6; color: var(--bu-ink-3); margin-bottom: 22px; }
.bu-newscard .bu-more { margin-top: auto; }

/* ---------- Press list: external-coverage cue (reuses .bu-newsitem) ---------- */
.bu-newsitem--ext .bu-newsitem__title::after {
	content: " \2197"; /* ↗ */
	color: var(--bu-gold); font-weight: 700;
}

/* ---------- Single entry (news / position / press) ---------- */
.bu-entry { max-width: 820px; margin: 0 auto; }
.bu-entry__meta { margin-bottom: 16px; }
.bu-entry__title { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.1; margin-bottom: 24px; text-wrap: balance; }
.bu-entry__lead {
	font-family: var(--bu-serif); font-weight: 500;
	font-size: clamp(20px, 2.2vw, 26px); line-height: 1.34;
	color: var(--bu-navy); margin-bottom: 28px; text-wrap: pretty;
}
.bu-entry__download { margin-top: 32px; }
.bu-entry__back { margin-top: 44px; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) { .bu-newsgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .bu-newsgrid { grid-template-columns: 1fr; } }
