.opening-hours-block-preview {
	cursor: pointer;
}

.opening-hours-location-card {
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 8px;
	padding: 18px;
}

.opening-hours-location-card-editor-preview {
	border: 0;
	border-radius: 0;
	padding: 0;
}

.opening-hours-location-card h3,
.opening-hours-location-details h2,
.opening-hours-location-details h3,
.opening-hours-location-details h4,
.opening-hours-location-details h5,
.opening-hours-location-details h6 {
	margin-top: 0;
}

.opening-hours-status {
	display: inline-flex;
	font-weight: 700;
	margin: 0 0 12px;
}

.opening-hours-next-opening {
	margin: -6px 0 12px;
}

.opening-hours-status.is-open {
	color: #047857;
}

.opening-hours-status.is-closed {
	color: #b91c1c;
}

.opening-hours-today-hours {
	margin: 8px 0 0;
}

.opening-hours-location-details {
	display: grid;
	gap: 12px;
}

.opening-hours-location-details > .block-editor-inner-blocks > .block-editor-block-list__layout {
	display: grid;
	gap: 12px;
}

.opening-hours-detail-part-preview {
	min-height: 24px;
}

.opening-hours-note {
	font-size: 1.05em;
	margin-bottom: 0;
}

.opening-hours-detail-list {
	display: flex;
	flex-direction: column;
	gap: var(--opening-hours-detail-gap, 14px);
}

.opening-hours-detail-list.is-vertical {
	flex-direction: column;
}

.opening-hours-detail-list.is-horizontal {
	flex-direction: row;
	flex-wrap: wrap;
	width: max-content;
}

.opening-hours-periods {
	display: grid;
	gap: var(--opening-hours-period-gap, 14px);
	grid-auto-flow: var(--opening-hours-period-direction, row);
	grid-template-columns: repeat(var(--opening-hours-period-columns, 1), minmax(0, 1fr));
}

@media (max-width: 960px) {
	.opening-hours-detail-list { grid-template-columns: repeat(var(--opening-hours-detail-tablet-columns, 1), max-content); }
	.opening-hours-periods { grid-template-columns: repeat(var(--opening-hours-period-tablet-columns, 1), minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.opening-hours-detail-list { grid-template-columns: repeat(var(--opening-hours-detail-mobile-columns, 1), max-content); }
	.opening-hours-periods { grid-template-columns: repeat(var(--opening-hours-period-mobile-columns, 1), minmax(0, 1fr)); }
}

.opening-hours-detail-list div {
	display: grid;
	gap: 4px;
}

.opening-hours-periods,
.opening-hours-holidays {
	display: grid;
	gap: var(--opening-hours-period-gap, 18px);
	grid-template-columns: repeat(var(--opening-hours-period-columns, 1), minmax(0, 1fr));
}

.opening-hours-period-detail {
	border-top: 0;
	padding-top: 0;
}

.opening-hours-period-detail {
	display: flex;
	flex-direction: column;
}

.opening-hours-period-detail > h3 { order: 1; }
.opening-hours-period-detail > .opening-hours-period-range { order: 2; }
.opening-hours-period-detail > .opening-hours-week-hours {
	order: 3;
}
.opening-hours-period-detail > .opening-hours-period-note {
	order: 4;
	margin-top: 16px;
}

.opening-hours-period-range {
	margin-top: -6px;
	opacity: 0.75;
}

.opening-hours-week-hours,
.opening-hours-holiday-list {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

.opening-hours-week-hours li,
.opening-hours-holiday-list li {
	border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 8px 0;
}

.opening-hours-week-hours strong,
.opening-hours-holiday-list strong {
	text-align: right;
}
