.clinic-invite {
	position: fixed;
	z-index: 80;
	right: 24px;
	bottom: 24px;
	width: min(470px, calc(100vw - 32px));
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 17px;
	align-items: center;
	padding: 18px 21px 17px 17px;
	border: 1px solid #e5d9de;
	border-radius: 8px;
	background: #fffdfa;
	color: #292728;
	box-shadow: 0 18px 54px #35232d30;
	animation: clinic-invite-in .35s ease-out both;
}

.clinic-invite[hidden] {
	display: none;
}

.clinic-invite__photo {
	width: 104px;
	height: 128px;
	object-fit: cover;
	object-position: center 23%;
	border-radius: 4px;
	background: #f1dad0;
}

.clinic-invite__content {
	padding-right: 14px;
}

.clinic-invite__eyebrow {
	margin: 0 0 7px;
	color: #85466a;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.clinic-invite h2 {
	margin: 0 0 8px;
	color: #60334e;
	font-family: var(--display, Georgia, serif);
	font-size: 23px;
	font-weight: 400;
	line-height: 1.12;
	letter-spacing: -.025em;
}

.clinic-invite__copy {
	margin: 0 0 13px;
	color: #666064;
	font-size: 12px;
	line-height: 1.55;
}

.clinic-invite__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.clinic-invite__cta {
	display: inline-flex;
	min-height: 37px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 9px 13px;
	border-radius: 3px;
	background: #60334e;
	color: #fff8f5;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .02em;
}

.clinic-invite__cta:hover {
	background: #85466a;
	color: #fff;
}

.clinic-invite__dismiss {
	padding: 5px 0;
	border: 0;
	border-bottom: 1px solid #c8a6b6;
	background: transparent;
	color: #60334e;
	cursor: pointer;
	font: inherit;
	font-size: 11px;
	line-height: 1.2;
}

.clinic-invite__close {
	position: absolute;
	top: 9px;
	right: 10px;
	width: 29px;
	height: 29px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: #f8f0f2;
	color: #60334e;
	cursor: pointer;
	font-family: inherit;
	font-size: 18px;
	line-height: 1;
}

.clinic-invite__close:hover,
.clinic-invite__close:focus-visible {
	background: #f1dad0;
}

.clinic-invite :focus-visible {
	outline: 2px solid #b36852;
	outline-offset: 3px;
}

@keyframes clinic-invite-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 700px) {
	.clinic-invite {
		right: 10px;
		bottom: 10px;
		width: calc(100vw - 20px);
		grid-template-columns: 78px minmax(0, 1fr);
		gap: 13px;
		padding: 15px 16px 14px 13px;
		border-radius: 7px;
	}

	.clinic-invite__photo {
		width: 78px;
		height: 105px;
		object-position: center 22%;
	}

	.clinic-invite__content {
		padding-right: 7px;
	}

	.clinic-invite h2 {
		font-size: 20px;
	}

	.clinic-invite__copy {
		margin-bottom: 10px;
		font-size: 11px;
	}

	.clinic-invite__actions {
		gap: 11px;
	}

	.clinic-invite__cta {
		min-height: 35px;
		padding: 8px 11px;
		font-size: 10px;
	}

	.clinic-invite__dismiss {
		font-size: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.clinic-invite { animation: none; }
}
