.wbw-cal {
	--wbw-orange: #f39200;
	--wbw-teal: #4aa39a;
	--wbw-text: #333;
	--wbw-muted: #777;
	--wbw-border: #ececec;
	max-width: 820px;
	margin: 0 auto;
	padding: 48px 16px 40px;
	color: var(--wbw-text);
}

.wbw-title {
	text-align: center;
	color: var(--wbw-teal);
	margin: 0 0 8px;
}

.wbw-note {
	text-align: center;
	color: var(--wbw-muted);
	margin: 0 0 32px;
}
.wbw-note a { color: var(--wbw-orange); font-weight: 600; }

.wbw-day { margin-bottom: 28px; }

.wbw-day-title {
	font-size: 1.25em;
	color: var(--wbw-teal);
	border-bottom: 2px solid var(--wbw-teal);
	padding-bottom: 6px;
	margin: 0 0 12px;
}
.wbw-day-title span { color: var(--wbw-muted); font-weight: normal; font-size: .8em; }

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

.wbw-event {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 14px;
	margin: 0 0 8px;
	background: #fff;
	border: 1px solid var(--wbw-border);
	border-left: 5px solid var(--wbw-accent, var(--wbw-teal));
	border-radius: 8px;
}
.wbw-event.is-full { opacity: .6; }

.wbw-time { font-weight: 700; font-size: 1.1em; min-width: 56px; line-height: 1.2; }
.wbw-time span { display: block; font-weight: normal; font-size: .75em; color: var(--wbw-muted); }

.wbw-info { flex: 1; min-width: 0; }
.wbw-info strong { display: block; text-transform: uppercase; letter-spacing: .02em; }
.wbw-host { font-size: .9em; color: var(--wbw-muted); }

.wbw-action { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }

.wbw-badge {
	font-size: .8em;
	padding: 3px 10px;
	border-radius: 20px;
	background: #e8f5f3;
	color: var(--wbw-teal);
	white-space: nowrap;
}
.wbw-badge-full { background: #f3f3f3; color: var(--wbw-muted); }

.wbw-btn,
.wbw-btn:visited {
	display: inline-block;
	padding: 7px 18px;
	border-radius: 20px;
	background: var(--wbw-orange);
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 600;
	white-space: nowrap;
}
.wbw-btn:hover { filter: brightness(.92); }

.wbw-empty { text-align: center; color: var(--wbw-muted); }

@media (max-width: 600px) {
	.wbw-event { flex-wrap: wrap; gap: 8px 12px; }
	.wbw-action { width: 100%; justify-content: space-between; }
}
