/* KBH agenda styles — upcoming events as a date-badge list. */

:root {
	--kbh-agenda-blue: var(--wp--preset--color--koningsblauw, #23388e);
	--kbh-agenda-red: var(--wp--preset--color--venetiaans-rood, #a42a04);
	--kbh-agenda-white: var(--wp--preset--color--wit, #fff);
	--kbh-agenda-border: var(--wp--preset--color--zilvergrijs, #c0c0c0);
	--kbh-agenda-muted: #5a5a5a;
}

/* ---- List ----------------------------------------------------------- */
/* Compound selector beats WP's post-template layout classes, keeping the
   list a plain flex column (rows are separated by borders, not gap). */
.kbh-agenda-list.wp-block-post-template {
	list-style: none;
	margin: var(--wp--preset--spacing--40, 1.5rem) 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Kill the flow-layout margin WP injects between <li> rows. */
.kbh-agenda-list > li {
	margin-top: 0;
	margin-bottom: 0;
}

.kbh-agenda-item {
	position: relative; /* anchor for the stretched title link */
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--40, 1.5rem);
	padding: 1.1rem 0.75rem;
	border-bottom: 1px solid var(--kbh-agenda-border);
	transition: background-color 0.2s ease;
	cursor: pointer;
}

.kbh-agenda-list > li:first-child .kbh-agenda-item {
	border-top: 1px solid var(--kbh-agenda-border);
}

.kbh-agenda-item:hover,
.kbh-agenda-item:focus-within {
	background-color: rgba(35, 56, 142, 0.04);
}

/* ---- Date badge ----------------------------------------------------- */
.kbh-agenda-date {
	flex: 0 0 auto;
	width: 4.25rem;
	height: 4.25rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: var(--kbh-agenda-blue);
	color: var(--kbh-agenda-white);
	border-radius: var(--kbh-radius, 8px);
	line-height: 1;
	text-align: center;
}

.kbh-agenda-day {
	margin: 0;
	font-size: 1.75rem;
	font-weight: 700;
}

.kbh-agenda-month {
	margin: 0.15rem 0 0;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* ---- Body ----------------------------------------------------------- */
.kbh-agenda-body {
	flex: 1 1 auto;
	min-width: 0;
}

/* Kill the flow-layout margin WP injects between title and meta. */
.kbh-agenda-body > * {
	margin-top: 0;
	margin-bottom: 0;
}

.kbh-agenda-body .wp-block-post-title {
	margin: 0 0 0.2rem;
	font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem);
	line-height: 1.25;
	font-weight: 700;
	color: var(--kbh-agenda-blue);
}

.kbh-agenda-body .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

/* Stretch the title link over the whole row so it is fully clickable. */
.kbh-agenda-body .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.kbh-agenda-body .wp-block-post-title a:hover,
.kbh-agenda-body .wp-block-post-title a:focus,
.kbh-agenda-item:hover .wp-block-post-title a {
	color: var(--kbh-agenda-red);
}

.kbh-agenda-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
	margin: 0;
	color: var(--kbh-agenda-muted);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.kbh-agenda-when,
.kbh-agenda-where {
	margin: 0;
}

.kbh-agenda-where:empty {
	display: none;
}

.kbh-agenda-where::before {
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	margin-right: 0.4rem;
	border-radius: 50%;
	background: var(--kbh-agenda-red);
	vertical-align: middle;
}

/* ---- Responsive ----------------------------------------------------- */
@media (max-width: 600px) {
	.kbh-agenda-item {
		gap: 1rem;
	}
	.kbh-agenda-date {
		width: 3.5rem;
		height: 3.5rem;
	}
	.kbh-agenda-day {
		font-size: 1.4rem;
	}
	.kbh-agenda-month {
		font-size: 0.7rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kbh-agenda-item,
	.kbh-agenda-body .wp-block-post-title a {
		transition: none;
	}
}
