/* Live open / closed status, rendered by [practice-status].
   It starts hidden and the script reveals it once it knows the answer, so the
   hidden rule has to beat the display rule below. */
.practice-status[hidden] {
	display: none;
}
.practice-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #FFFFFF;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.practice-status:hover,
.practice-status:focus {
	color: #FFFFFF;
	text-decoration: underline;
}
.practice-status .ps-dot {
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-radius: 9999px;
	background: #FF8A80;
}
.practice-status.is-open .ps-dot {
	background: #8FE0C4;
}

/* Phones: the bar already puts the call pill on its own row. The status gets
   the next row to itself, centered, so it never squeezes the address or the
   two links. */
@media all and (max-width: 899px) {
	.topbar .practice-status {
		order: 0;
		flex: 0 0 100%;
		justify-content: center;
		font-size: 15px;
		white-space: normal;
		text-align: center;
	}
}

/* Narrow laptops. With the status added the bar runs out of room below about
   1200px, so the city line goes, exactly as it already does on phones (the
   street address is still a directions link). Below 1000px the longest
   holiday message still wraps, so there the "Opens Monday 7am" half goes too
   and only "Closed today for Thanksgiving" remains. Scoped with :has so none
   of this touches the bar until the status is actually in it. */
@media all and (min-width: 900px) and (max-width: 1199px) {
	.topbar .container:has(.practice-status) .topbar-city {
		display: none;
	}
}
/* A reopening more than a week away carries its date ("Opens Monday, Jan 4,
   7am"), which is too long to share the bar with the city line at any width,
   since the bar's content is capped at 1120px. */
@media all and (min-width: 900px) {
	.topbar .container:has(.practice-status.is-far) .topbar-city {
		display: none;
	}
}
@media all and (min-width: 900px) and (max-width: 1099px) {
	.topbar .practice-status.is-far .ps-detail {
		display: none;
	}
}
@media all and (min-width: 900px) and (max-width: 999px) {
	.topbar .practice-status .ps-detail {
		display: none;
	}
}

/* Day-by-day hours, rendered by [practice-hours-week]. Builds on the
   .hours-list rows the theme already styles. */
.hours-week .hours-row.is-today {
	background: #EAF3EF;
	border-radius: 6px;
	padding-left: 10px;
	padding-right: 10px;
	margin-left: -10px;
	margin-right: -10px;
}
.hours-week .hours-row.is-today .hours-days::after {
	content: " (today)";
	font-weight: 400;
	color: #55575A;
}
.hours-week .hours-row.is-today .hours-time {
	color: #1F2124;
	font-weight: 700;
}
.hours-week .hours-row.is-holiday .hours-time {
	color: #1F2124;
	font-weight: 700;
}
