/**
 * Contact Cards widget.
 */

.msd-contact {
	--msd-contact-accent: var(--msd-red, #9d2020);
	--msd-contact-radius: 20px;

	display: flex;
	flex-direction: column;
	gap: 12px;
	color: var(--msd-ink, #1e2a30);
}

.msd-contact .msd-contact__card {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 26px;
	border: 1px solid var(--msd-line, #e6e0d5);
	border-radius: var(--msd-contact-radius);
	background-color: var(--msd-white, #fff);
	color: var(--msd-ink, #1e2a30);
	text-decoration: none;
	transition: border-color 0.2s, transform 0.2s;
}

.msd-contact a.msd-contact__card:hover {
	transform: translateY(-2px);
	border-color: var(--msd-contact-accent);
	color: var(--msd-ink, #1e2a30);
}

.msd-contact__icon {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background-color: var(--msd-pink-soft, #f6dede);
	color: var(--msd-contact-accent);
	font-size: 26px;
}

.msd-contact__card--wa .msd-contact__icon {
	color: var(--msd-green, #15803d);
	font-size: 24px;
}

.msd-contact__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.msd-contact__label {
	color: var(--msd-contact-accent);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.msd-contact__title {
	font-family: var(--msd-font-heading, "Bricolage Grotesque", system-ui, sans-serif);
	font-size: clamp(19px, 1.8vw, 23px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
}

.msd-contact__note {
	color: var(--msd-text-soft, #59636a);
	font-size: 14.5px;
	line-height: 1.5;
}

.msd-contact .msd-contact__link {
	color: var(--msd-contact-accent);
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Dark phone card */

.msd-contact .msd-contact__card--dark {
	border-color: var(--msd-ink, #1e2a30);
	background-color: var(--msd-ink, #1e2a30);
	color: var(--msd-white, #fff);
}

.msd-contact a.msd-contact__card--dark:hover {
	border-color: var(--msd-pink, #ff9b9b);
	color: var(--msd-white, #fff);
}

.msd-contact__card--dark .msd-contact__icon {
	background-color: var(--msd-contact-accent);
	color: var(--msd-white, #fff);
}

.msd-contact__card--dark .msd-contact__label {
	color: var(--msd-pink, #ff9b9b);
}

.msd-contact__card--dark .msd-contact__note {
	color: #c9d1d5;
}

/* Hours box */

.msd-contact__hours {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 26px;
	border-radius: var(--msd-contact-radius);
	background-color: var(--msd-sand, #efe9df);
}

.msd-contact .msd-contact__hours-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--msd-ink, #1e2a30);
	font-family: var(--msd-font-heading, "Bricolage Grotesque", system-ui, sans-serif);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.msd-contact__hours-title .msd-icon {
	color: var(--msd-contact-accent);
	font-size: 22px;
}

.msd-contact__list {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 10px 24px;
	margin: 0;
	font-size: 15.5px;
	line-height: 1.5;
}

.msd-contact__list dt {
	font-weight: 700;
}

.msd-contact__list dd {
	margin: 0;
	color: var(--msd-text-muted, #4c565d);
}

@media (prefers-reduced-motion: reduce) {

	.msd-contact .msd-contact__card {
		transition: none;
	}

	.msd-contact a.msd-contact__card:hover {
		transform: none;
	}
}
