/* Visit the Clinic */
.sh-visit .sh-visit__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: clamp(36px, 6vw, 96px);
	align-items: center;
}

/* Photo in the site's arch, with a hairline second arch around it (box-shadow
   rings follow the radius and stay out of the stacking order). */
.sh-visit .sh-visit__media {
	margin: 0;
	justify-self: center;
	width: min(100%, 440px);
	aspect-ratio: 4 / 5;
	border-radius: 999px 999px var(--sh-r-md) var(--sh-r-md);
	overflow: hidden;
	background: var(--sh-light);
	box-shadow: 0 0 0 12px var(--sh-band, var(--sh-cream)), 0 0 0 13px rgba(153, 137, 126, 0.45);
}
.sh-visit .sh-visit__media picture { display: block; height: 100%; }
.sh-visit .sh-visit__media img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.sh-visit .sh-visit__title { margin-bottom: 14px; }
.sh-visit .sh-visit__text { margin: 0; max-width: 52ch; font-size: 16.5px; line-height: 1.7; }

.sh-visit .sh-visit__info {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 36px;
	margin-top: 30px;
	padding-top: 28px;
	border-top: 1px solid rgba(153, 137, 126, 0.3);
}
.sh-visit .sh-visit__block { display: flex; gap: 14px; align-items: flex-start; }
.sh-visit .sh-visit__block > .sh-icon { width: 20px; height: 20px; margin-top: 1px; color: var(--sh-taupe-dark); }
.sh-visit .sh-visit__block > div { min-width: 0; flex: 1; }
.sh-visit .sh-visit__label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font: 600 14.5px/1.3 var(--sh-font-head);
	color: var(--sh-ink);
}
.sh-visit .sh-visit__address { margin: 0; font-style: normal; font-size: 15.5px; line-height: 1.6; color: var(--sh-text); }
.sh-visit .sh-visit__note { margin: 6px 0 0; font-size: 14px; color: var(--sh-muted); }
.sh-visit a.sh-visit__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	font: 600 14px/1.3 var(--sh-font-head);
	color: var(--sh-ink);
	text-decoration: underline;
	text-decoration-color: var(--sh-taupe);
	text-underline-offset: 4px;
}
.sh-visit a.sh-visit__link .sh-icon { width: 15px; height: 15px; }
.sh-visit a.sh-visit__link:hover { color: var(--sh-taupe-dark); }

.sh-visit .sh-visit__hours { margin: 0; display: grid; gap: 5px; font-size: 15px; }
.sh-visit .sh-visit__row { display: flex; justify-content: space-between; gap: 12px; }
.sh-visit .sh-visit__row dt { font-weight: 400; }
.sh-visit .sh-visit__row dd { margin: 0; white-space: nowrap; }
.sh-visit .sh-visit__row.is-today dt,
.sh-visit .sh-visit__row.is-today dd { color: var(--sh-ink); font-weight: 700; }

.sh-visit .sh-visit__status {
	padding: 3px 10px;
	border-radius: var(--sh-r-pill);
	font: 600 11.5px/1.4 var(--sh-font-head);
	background: rgba(255, 255, 255, 0.7);
	color: var(--sh-muted);
}
.sh-visit .sh-visit__status.is-open { background: var(--sh-taupe); color: #fff; }

.sh-visit .sh-visit__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.sh-visit.sh-tone--dark .sh-visit__label,
.sh-visit.sh-tone--dark .sh-visit__row.is-today dt,
.sh-visit.sh-tone--dark .sh-visit__row.is-today dd,
.sh-visit.sh-tone--dark a.sh-visit__link { color: #fff; }
.sh-visit.sh-tone--dark .sh-visit__address { color: rgba(255, 255, 255, 0.78); }

@media (max-width: 900px) {
	.sh-visit .sh-visit__grid { grid-template-columns: 1fr; }
	.sh-visit .sh-visit__media {
		width: 100%;
		max-width: 560px;
		aspect-ratio: 16 / 11;
		border-radius: 220px 220px var(--sh-r-md) var(--sh-r-md);
	}
}
@media (max-width: 560px) {
	.sh-visit .sh-visit__info { grid-template-columns: 1fr; gap: 24px; }
	.sh-visit .sh-visit__media { border-radius: 160px 160px var(--sh-r-sm) var(--sh-r-sm); box-shadow: 0 0 0 8px var(--sh-band, var(--sh-cream)), 0 0 0 9px rgba(153, 137, 126, 0.45); }
	.sh-visit .sh-visit__actions .sh-btn { flex: 1 1 100%; justify-content: space-between; }
}
