.afsh {
	--afsh-border: #d7dde2;
	--afsh-muted: #5d6872;
	--afsh-accent: #087f8c;
	--afsh-accent-soft: #e9f6f7;
	--afsh-holiday: #9f1239;
	--afsh-holiday-soft: #fff1f2;
	color: inherit;
	font: inherit;
}

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

.afsh-presentation {
	color: inherit;
}

.afsh-display-label {
	margin: 0 0 9px;
	font: inherit;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.35;
}

.afsh-text-affix {
	color: inherit;
	font: inherit;
}

.afsh-presentation--separator-line_break .afsh-list,
.afsh-presentation--separator-ellipsis .afsh-list,
.afsh-presentation--separator-none .afsh-list,
.afsh-presentation--separator-custom .afsh-list {
	border: 0;
	border-radius: 0;
}

.afsh-presentation--separator-line_break .afsh-list__item,
.afsh-presentation--separator-ellipsis .afsh-list__item,
.afsh-presentation--separator-none .afsh-list__item,
.afsh-presentation--separator-custom .afsh-list__item {
	padding-right: 0;
	padding-left: 0;
	border-bottom: 0;
}

.afsh-presentation--separator-line_break .afsh-list__item + .afsh-list__item {
	margin-top: 1.2em;
}

.afsh-presentation--separator-ellipsis .afsh-list__item + .afsh-list__item {
	position: relative;
	margin-top: 2em;
}

.afsh-presentation--separator-ellipsis .afsh-list__item + .afsh-list__item::before {
	position: absolute;
	top: -1.5em;
	right: 0;
	left: 0;
	color: var( --afsh-muted );
	content: "…";
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.afsh-custom-separator {
	padding: 0.7em 0;
	color: var( --afsh-muted );
	font: inherit;
	font-weight: 600;
	line-height: 1;
	list-style: none;
	text-align: center;
}

.afsh-today {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 18px;
	padding: 14px 16px;
	border: 1px solid var( --afsh-border );
	border-radius: 6px;
}

.afsh-today__content {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
}

.afsh-today--compact {
	display: inline-flex;
	padding: 0;
	border: 0;
	border-radius: 0;
}

.afsh-today--compact .afsh-today__content {
	gap: 0.35em;
}

.afsh-range-heading {
	margin: 0 0 12px;
	font: inherit;
	font-weight: 700;
}

.afsh-today__label,
.afsh-list__day,
.afsh-list__date {
	font-weight: 700;
}

.afsh-today__hours,
.afsh-list__hours {
	font-variant-numeric: tabular-nums;
}

.afsh-list {
	margin: 0;
	padding: 0;
	border: 1px solid var( --afsh-border );
	border-radius: 6px;
	list-style: none;
}

.afsh-list__item {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 12px 16px;
	border-bottom: 1px solid var( --afsh-border );
}

.afsh-list__item:last-child {
	border-bottom: 0;
}

.afsh-list__item--exception {
	background: #fbfcfc;
}

.afsh-list__item--today {
	box-shadow: inset 3px 0 0 var( --afsh-accent );
}

.afsh-week__holiday {
	color: var( --afsh-holiday );
	font-weight: 600;
	overflow-wrap: anywhere;
}

.afsh-list__primary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px 10px;
	min-width: 0;
}

.afsh-exception-meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
}

.afsh-badge {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var( --afsh-accent-soft );
	color: var( --afsh-accent );
	font-size: 0.75em;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.afsh-badge--holiday {
	background: var( --afsh-holiday-soft );
	color: var( --afsh-holiday );
}

.afsh-exception-label,
.afsh-next-day,
.afsh-empty {
	color: var( --afsh-muted );
}

.afsh-time-separator {
	padding: 0 0.22em;
}

.afsh-next-day {
	font-size: 0.8em;
}

.afsh-empty {
	margin: 0;
	padding: 12px 0;
}

.afsh-current-status,
.afsh-closing-soon {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px 10px;
}

.afsh-current-status__indicator {
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	background: #718096;
}

.afsh-current-status--open .afsh-current-status__indicator {
	background: #16803c;
}

.afsh-current-status--closing-soon .afsh-current-status__indicator {
	background: #b45309;
}

.afsh-current-status__label,
.afsh-closing-soon__label {
	font-weight: 700;
}

.afsh-current-status--open .afsh-current-status__label {
	color: #166534;
}

.afsh-current-status--closing-soon .afsh-current-status__label,
.afsh-closing-soon__label {
	color: #92400e;
}

.afsh-current-status__detail,
.afsh-closing-soon__detail {
	color: var( --afsh-muted );
}

.afsh-inline-notice {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 9px;
}

.afsh-open-until--closing-soon strong {
	color: #92400e;
}

.afsh-status-text--open {
	color: #166534;
}

.afsh-status-text--closing-soon {
	color: #92400e;
}

@media ( max-width: 520px ) {
	.afsh-list__item {
		grid-template-columns: 1fr;
		gap: 5px;
		padding: 10px 12px;
	}

	.afsh-list__hours {
		justify-self: start;
	}

	.afsh-week__item {
		grid-template-columns: minmax( 0, 1fr ) auto;
		align-items: start;
		gap: 8px 12px;
	}

	.afsh-week__item > .afsh-list__hours {
		justify-self: end;
		white-space: nowrap;
	}

}

@media ( max-width: 380px ) {
	.afsh-week__item {
		grid-template-columns: 1fr;
	}

	.afsh-week__item > .afsh-list__hours {
		justify-self: start;
	}

}
