/* Blackcat Hub homepage modules */

/* Today's schedule + next-day preview side by side */
.schedule-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; }
.schedule-column .schedule-list { max-width: none; margin: 0; }

/* Coming Up: next day off card */
.bhh-off-card {
	display: flex; flex-direction: column; gap: 2px; height: 100%;
	padding: 22px 24px; border-radius: 12px; text-decoration: none;
	background: var(--brand-black, #0c0c0c); color: var(--brand-white, #fff);
	border-left: 6px solid var(--brand-red, #cc2615);
	transition: transform .12s ease;
}
.bhh-off-card:hover { transform: translateY(-2px); }
.bhh-off-card:focus-visible { outline: 3px solid var(--brand-red, #cc2615); outline-offset: 3px; }
.bhh-off-kicker { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #bdbdbd; }
.bhh-off-when { font-size: 34px; font-weight: 900; line-height: 1.1; margin-top: 6px; }
.bhh-off-date { font-size: 16px; margin-top: 4px; }
.bhh-off-label { display: inline-block; align-self: flex-start; margin-top: 12px; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--brand-red, #cc2615); }

/* Coming Up: event rows */
.bhh-event {
	display: flex; gap: 16px; align-items: baseline;
	padding: 14px 4px; border-bottom: 1px solid var(--brand-border, #e5e0d8);
	text-decoration: none; color: var(--brand-ink, #1a1a1a);
}
.bhh-event:first-child { padding-top: 0; }
.bhh-event:last-child { border-bottom: 0; }
.bhh-event:hover .bhh-event-title { color: var(--brand-red, #cc2615); }
.bhh-event:focus-visible { outline: 2px solid var(--brand-red, #cc2615); outline-offset: 2px; }
.bhh-event-when { flex: 0 0 96px; font-size: 13px; font-weight: 700; color: var(--brand-red, #cc2615); text-transform: uppercase; letter-spacing: .04em; }
.bhh-event-main { display: flex; flex-direction: column; min-width: 0; }
.bhh-event-title { font-weight: 700; font-size: 17px; }
.bhh-event-meta { font-size: 14px; color: var(--brand-muted, #6f6f6f); }
.bhh-empty { margin: 0; color: var(--brand-muted, #6f6f6f); }

.bhh-preview-tag {
	position: fixed; left: 12px; bottom: 12px; z-index: 99999;
	padding: 6px 12px; border-radius: 999px; font: 600 12px/1.4 system-ui, sans-serif;
	background: #1f6fb2; color: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.2);
}

@media (max-width: 479px) {
	.bhh-event { flex-direction: column; gap: 2px; }
	.bhh-event-when { flex: none; }
	.bhh-off-when { font-size: 28px; }
}
