/* ==========================================================================
   Million Dots — Contact
   Contact rows on the left, the coverage card and island map on the right.
   ========================================================================== */

.mdc-contact__grid {
	display: grid;
	gap: clamp(2.5rem, 5vw, 4rem);
	align-items: start;
}

.mdc-contact__list {
	display: grid;
	margin-top: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--wp--preset--color--border);
}

.mdc-contact__row {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--50) 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.mdc-contact__icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--accent-tint);
	color: var(--wp--preset--color--accent);
}

.mdc-contact__label {
	display: block;
	margin-bottom: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: var(--wp--custom--weight--semibold);
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	text-transform: uppercase;
	color: var(--wp--custom--color--ink-subtle);
}

.mdc-contact__value {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	font-weight: var(--wp--custom--weight--medium);
	font-style: normal;
	line-height: var(--wp--custom--leading--normal);
	color: var(--wp--preset--color--contrast);
}

.mdc-contact__value a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.mdc-contact__value a:hover {
	color: var(--wp--preset--color--accent);
}

.mdc-contact__sep {
	color: var(--wp--custom--color--border-strong);
	margin-inline: var(--wp--preset--spacing--20);
}

.mdc-contact__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--70);
}

/* --- Coverage card -------------------------------------------------------- */
.mdc-area-card {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background-color: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
}

.mdc-area-card__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--60);
}

.mdc-area-card__head h3 {
	margin: 0;
	font-size: var(--wp--preset--font-size--heading-four);
}

.mdc-area-map {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--wp--preset--spacing--60);
	align-items: center;
}

.mdc-area-map svg {
	width: 132px;
	height: auto;
}

.mdc-island-shape {
	fill: var(--wp--preset--color--base);
	stroke: var(--wp--custom--color--border-strong);
	stroke-width: 3;
	stroke-linejoin: round;
}

.mdc-island-route {
	fill: none;
	stroke: var(--wp--preset--color--accent);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-dasharray: 9 8;
	opacity: 0.85;
}

.mdc-island-pin {
	fill: var(--wp--preset--color--accent);
}

.mdc-island-pin--soft {
	fill: var(--wp--custom--color--border-strong);
}

.mdc-island-label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 15px;
	font-weight: var(--wp--custom--weight--semibold);
	fill: var(--wp--preset--color--contrast);
}

.mdc-island-label--soft {
	fill: var(--wp--custom--color--ink-subtle);
	font-weight: var(--wp--custom--weight--medium);
}

.mdc-area-list {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink-muted);
}

.mdc-area-list li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--wp--preset--spacing--30);
	align-items: start;
	margin: 0;
}

.mdc-area-list .mdc-icon {
	width: 17px;
	height: 17px;
	margin-top: 4px;
	color: var(--wp--preset--color--accent);
}

.mdc-area-card__foot {
	margin: var(--wp--preset--spacing--60) 0 0;
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--custom--color--ink-subtle);
}

/* --- Responsive ----------------------------------------------------------- */
@media (min-width: 860px) {
	.mdc-contact__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.mdc-area-map {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: left;
	}
}
