.vlbh-business-hours {
	box-sizing: border-box;
	container-type: inline-size;
	width: var(--vlbh-width, 100%);
	max-width: var(--vlbh-max-width, 42rem);
	margin: var(--vlbh-margin-top, 0) var(--vlbh-margin-right, 0) var(--vlbh-margin-bottom, 1rem) var(--vlbh-margin-left, 0);
	padding: var(--vlbh-padding-top, 0) var(--vlbh-padding-right, 0) var(--vlbh-padding-bottom, 0) var(--vlbh-padding-left, 0);
	font-family: var(--vlbh-font-family, inherit);
	color: var(--vlbh-text, #1d2327);
	background: var(--vlbh-background, #fff);
	border: var(--vlbh-border-width, 1px) var(--vlbh-border-style, solid) var(--vlbh-border, #dcdcde);
	border-radius: var(--vlbh-radius, 5px);
	box-shadow: var(--vlbh-shadow, none);
	overflow: hidden;
}

.vlbh-business-hours *,
.vlbh-business-hours *::before,
.vlbh-business-hours *::after {
	box-sizing: border-box;
}

.vlbh-title {
	margin: var(--vlbh-title-margin-top, 0) 0 var(--vlbh-title-margin-bottom, 0.75rem);
	padding: 0;
	color: var(--vlbh-title-color, #1d2327);
	font-size: var(--vlbh-title-size, 1.75rem);
	font-weight: var(--vlbh-title-weight, 700);
	line-height: 1.2;
	text-align: var(--vlbh-title-align, left);
}

.vlbh-subtitle {
	margin: var(--vlbh-subtitle-margin-top, 0) 0 var(--vlbh-subtitle-margin-bottom, 0.75rem);
	padding: 0;
	color: var(--vlbh-subtitle-color, #646970);
	font-size: var(--vlbh-subtitle-size, 1.125rem);
	font-weight: var(--vlbh-subtitle-weight, 600);
	line-height: 1.3;
	text-align: var(--vlbh-subtitle-align, left);
}

.vlbh-status {
	display: flex;
	align-items: center;
	justify-content: var(--vlbh-status-justify, flex-start);
	gap: 0.5rem;
	margin: 0 0 var(--vlbh-status-margin-bottom, 0.75rem);
	padding: var(--vlbh-status-padding-y, 0.5rem) var(--vlbh-status-padding-x, 0.625rem);
	font-size: var(--vlbh-status-size, 1rem);
	font-weight: var(--vlbh-status-weight, 600);
	line-height: 1.35;
	border-radius: var(--vlbh-status-radius, 5px);
}

.vlbh-status-dot {
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	background: currentColor;
	flex: 0 0 auto;
}

.vlbh-status--open {
	color: var(--vlbh-open-text, #16723b);
	background: var(--vlbh-open-background, #edf7f0);
}

.vlbh-status--closed {
	color: var(--vlbh-closed-text, #a12a2a);
	background: var(--vlbh-closed-background, #fbeaea);
}

.vlbh-hours-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--vlbh-row-border-width, 1px) solid var(--vlbh-row-border, #dcdcde);
	border-bottom: var(--vlbh-row-border-width, 1px) solid var(--vlbh-row-border, #dcdcde);
}

.vlbh-hours-row {
	display: grid;
	grid-template-columns: minmax(9rem, 1fr) auto;
	gap: var(--vlbh-column-gap, 1rem);
	align-items: center;
	margin: 0;
	padding: var(--vlbh-row-padding-y, 0.7rem) var(--vlbh-row-padding-x, 0.8rem);
	color: var(--vlbh-text, #1d2327);
	background: var(--vlbh-row-background, #fff);
	border: 0;
	border-bottom: var(--vlbh-row-border-width, 1px) solid var(--vlbh-row-border, #dcdcde);
	list-style: none;
}

.vlbh-hours-row.is-alternate {
	background: var(--vlbh-row-alt-background, #f8f9fa);
}

.vlbh-hours-row:last-child {
	border-bottom: 0;
}

.vlbh-hours-row.is-today {
	color: var(--vlbh-today-text, #1d2327);
	background: var(--vlbh-today-background, #f0f6fc);
}

.vlbh-hours-row.is-today .vlbh-day-name,
.vlbh-hours-row.is-today .vlbh-time {
	color: inherit;
	font-weight: 700;
}

.vlbh-hours-row.is-closed,
.vlbh-hours-row.is-closed .vlbh-day-name,
.vlbh-hours-row.is-closed .vlbh-time {
	color: var(--vlbh-closed-row-text, #646970);
}

.vlbh-day {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
}

.vlbh-day-name {
	color: var(--vlbh-day-color, #1d2327);
	font-size: var(--vlbh-day-size, 1rem);
	font-weight: var(--vlbh-day-weight, 600);
	line-height: 1.35;
}

.vlbh-date {
	color: var(--vlbh-date-color, #646970);
	font-size: var(--vlbh-date-size, 0.875rem);
	font-weight: 400;
	line-height: 1.35;
}

.vlbh-time {
	margin: 0;
	padding: 0;
	color: var(--vlbh-time-color, #1d2327);
	font-size: var(--vlbh-time-size, 1rem);
	font-weight: var(--vlbh-time-weight, 400);
	font-variant-numeric: tabular-nums;
	line-height: 1.35;
	text-align: right;
	white-space: nowrap;
}

.vlbh-time-separator {
	margin: 0 0.2rem;
}

.vlbh-business-hours.is-layout-stacked .vlbh-hours-row {
	grid-template-columns: 1fr;
	gap: 0.2rem;
}

.vlbh-business-hours.is-layout-stacked .vlbh-time {
	text-align: left;
}

.vlbh-all-locations {
	display: grid;
	gap: var(--vlbh-location-gap, 2rem);
}

.vlbh-business-hours .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@container (max-width: 34rem) {
	.vlbh-business-hours.is-layout-split .vlbh-hours-row {
		grid-template-columns: 1fr;
		gap: 0.2rem;
	}

	.vlbh-business-hours.is-layout-split .vlbh-time {
		text-align: left;
	}
}
