/* Open/Closed status badge */
.bz-status {
	display: table;
	margin: 0 auto 12px;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 0.875em;
	font-weight: 600;
}

.bz-status.bz-open {
	background: #d4edda;
	color: #155724;
}

.bz-status.bz-closed {
	background: #f8d7da;
	color: #721c24;
}

/* Hours table */
.bz-table {
	width: 100%;
	border-collapse: collapse;
}

.bz-table tr {
	border-bottom: 1px solid #eee;
}

.bz-table tr:last-child {
	border-bottom: none;
}

.bz-table th,
.bz-table td {
	padding: 7px 4px;
	text-align: left;
	vertical-align: top;
}

.bz-table th.bz-day {
	font-weight: 600;
	width: 120px;
	white-space: nowrap;
}

/* Highlight today */
.bz-today th,
.bz-today td {
	color: #0073aa;
}

.bz-closed-label {
	color: #666;
}

/* Multiple slots stack vertically */
.bz-times .bz-slot {
	display: block;
}

.bz-error {
	color: #721c24;
}

/* Override notices */
.bz-notice {
	padding: 8px 14px;
	border-radius: 4px;
	margin-bottom: 10px;
	font-size: 0.9em;
	font-weight: 500;
}

.bz-notice-closed {
	background: #fff3cd;
	color: #856404;
	border-left: 4px solid #ffc107;
}

.bz-notice-custom {
	background: #cce5ff;
	color: #004085;
	border-left: 4px solid #4a9eff;
}

/* Off-season notice */
.bz-offseason {
	color: #666;
	font-style: italic;
	margin: 8px 0;
}
