/* Agenda - Bas Paardekooper
 * Standaard volgt alles het thema. Kleuren overschrijf je via
 * Agenda - Bas Paardekooper > Instellingen (CSS-variabelen --bas-*). */

.bas-agenda {
	--bas-a: var(--bas-accent, var(--nv-primary-accent, #2b2b2b));
	--bas-line: var(--bas-border, rgba(128, 128, 128, .3));
	--bas-r: var(--bas-radius, 12px);
	box-sizing: border-box;
	color: var(--bas-text, inherit);
	background: var(--bas-bg, transparent);
}
.bas-agenda *,
.bas-agenda *::before,
.bas-agenda *::after { box-sizing: border-box; }
/* Breedte (instelbaar): gecentreerd, links of rechts */
.bas-agenda.bas-has-width {
	max-width: var(--bas-width);
	margin-left: auto;
	margin-right: auto;
}
.bas-agenda.bas-has-width.bas-align-left { margin-left: 0; }
.bas-agenda.bas-has-width.bas-align-right { margin-right: 0; }
.bas-agenda.bas-has-bg {
	padding: clamp(1rem, 3vw, 2rem);
	border-radius: var(--bas-r);
}

/* Lijst: kaarten onder elkaar */
.bas-agenda .bas-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
}
.bas-agenda .bas-card {
	position: relative;
	display: flex;
	gap: 1.5rem;
	padding: 1.25rem;
	background: var(--bas-card-bg, transparent);
	border: 1px solid var(--bas-line);
	border-radius: var(--bas-r);
	transition: transform .25s ease, box-shadow .25s ease;
}
.bas-agenda.bas-has-shadow .bas-card { box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }

/* Mouseover: vergroten (alleen waar een muis is) */
@media (hover: hover) {
	.bas-agenda.bas-hover .bas-card:hover,
	.bas-agenda.bas-hover .bas-card:focus-within {
		transform: scale(1.02);
		z-index: 2;
		box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
	}
}
@media (prefers-reduced-motion: reduce) {
	.bas-agenda .bas-card { transition: none; }
	.bas-agenda.bas-hover .bas-card:hover,
	.bas-agenda.bas-hover .bas-card:focus-within { transform: none; }
}

.bas-agenda .bas-card__media { flex: 0 0 clamp(140px, 24%, 240px); display: block; }
.bas-agenda .bas-card__img,
.bas-agenda .bas-single__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: calc(var(--bas-r) * .66);
}
.bas-agenda .bas-card__body { flex: 1 1 auto; min-width: 0; }

/* Tekst */
.bas-agenda .bas-card__when {
	margin: 0 0 .35rem;
	color: var(--bas-a);
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.bas-agenda .bas-card__title {
	margin: 0 0 .5rem;
	font-size: clamp(1.25rem, 2.4vw, 1.65rem);
	line-height: 1.2;
	color: var(--bas-title, inherit);
}
.bas-agenda .bas-card__title a { color: inherit; text-decoration: none; }
.bas-agenda .bas-card__title a:hover { text-decoration: underline; }
.bas-agenda .bas-card__desc,
.bas-agenda .bas-single__desc { margin: 0 0 .75rem; }
.bas-agenda .bas-card__where,
.bas-agenda .bas-card__price,
.bas-agenda .bas-single__times { margin: 0 0 .5rem; color: var(--bas-muted, inherit); }
.bas-agenda .bas-card__where span { display: block; }
.bas-agenda .bas-venue { font-weight: 600; }
.bas-agenda .bas-card__price { font-weight: 600; }
.bas-agenda .is-cancelled .bas-card__title a { text-decoration: line-through; opacity: .7; }
.bas-agenda .is-past .bas-card__img { filter: grayscale(.6); }

/* Labels */
.bas-agenda .bas-badge {
	display: inline-block;
	margin-left: .5rem;
	padding: .15em .65em;
	border-radius: 999px;
	background: var(--bas-sold, #b45309);
	color: #fff;
	font-size: .72rem;
	letter-spacing: .04em;
	vertical-align: middle;
}
.bas-agenda .bas-badge--cancelled { background: var(--bas-cancel, #b91c1c); }

/* Knoppen */
.bas-agenda .bas-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: 1rem;
}
.bas-agenda .bas-btn {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	margin: 0;
	padding: .5em 1em;
	border: 1px solid var(--bas-line);
	border-radius: calc(var(--bas-r) * .6);
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: .9rem;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .2s, color .2s, background-color .2s;
}
.bas-agenda .bas-btn:hover,
.bas-agenda .bas-btn:focus-visible {
	border-color: var(--bas-a);
	color: var(--bas-a);
	background: transparent;
}
.bas-agenda .bas-btn--primary {
	border-color: var(--bas-a);
	background: var(--bas-a);
	color: var(--bas-accent-text, #fff);
}
.bas-agenda .bas-btn--primary:hover,
.bas-agenda .bas-btn--primary:focus-visible {
	background: var(--bas-a);
	color: var(--bas-accent-text, #fff);
	opacity: .88;
}

/* Delen */
.bas-agenda .bas-share { position: relative; display: inline-block; }
.bas-agenda .bas-share__menu {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	z-index: 30;
	display: flex;
	flex-direction: column;
	min-width: 11rem;
	padding: .35rem;
	background: var(--bas-card-bg, var(--nv-site-bg, #fff));
	border: 1px solid var(--bas-line);
	border-radius: calc(var(--bas-r) * .66);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}
.bas-agenda .bas-share__menu[hidden] { display: none; }
.bas-agenda .bas-share__menu a,
.bas-agenda .bas-share__menu button {
	display: block;
	margin: 0;
	padding: .45em .7em;
	border: 0;
	border-radius: 6px;
	background: none;
	color: inherit;
	font: inherit;
	font-size: .9rem;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}
.bas-agenda .bas-share__menu a:hover,
.bas-agenda .bas-share__menu button:hover,
.bas-agenda .bas-share__menu a:focus-visible,
.bas-agenda .bas-share__menu button:focus-visible { background: rgba(128, 128, 128, .16); }

/* Overig */
.bas-agenda .bas-more { margin: 1.75rem 0 0; text-align: center; }
.bas-agenda .bas-empty { margin: 0; opacity: .85; }
.bas-agenda .bas-section-title { margin: 2rem 0 1rem; font-size: 1.25rem; }
.bas-agenda .bas-section-title:first-child { margin-top: 0; }

/* Losse evenementpagina */
.bas-agenda .bas-single__grid { display: flex; gap: 2rem; align-items: flex-start; }
.bas-agenda .bas-single__flyer { flex: 0 0 clamp(200px, 38%, 420px); }
.bas-agenda .bas-single__info { flex: 1 1 auto; min-width: 0; }
.bas-agenda .bas-single__h { margin: 1.25rem 0 .4rem; font-size: 1.1rem; }
.bas-agenda .bas-contact { margin: 0 0 .5rem; padding: 0; list-style: none; }
.bas-agenda .bas-contact li { margin: 0 0 .2rem; }
.bas-agenda .bas-contact a { color: inherit; }
.bas-agenda .bas-map { margin-top: 2rem; }
.bas-agenda .bas-map iframe {
	display: block;
	width: 100%;
	height: 320px;
	border: 0;
	border-radius: var(--bas-r);
}
.bas-agenda .bas-back { margin: 1.5rem 0 0; }
.bas-agenda .bas-back a { color: inherit; }

/* Overzichtspagina */
.bas-archive__inner { max-width: 1100px; margin: 0 auto; padding: 2.5rem 1rem; }
.bas-archive__header { margin-bottom: 1.5rem; }

@media (max-width: 640px) {
	.bas-agenda .bas-card,
	.bas-agenda .bas-single__grid { flex-direction: column; gap: 1rem; }
	.bas-agenda .bas-card__media { flex-basis: auto; max-width: 320px; }
	.bas-agenda .bas-single__flyer { flex-basis: auto; max-width: 100%; }
}
