/* Shared contact enhancement; no global resets or edition-specific layout changes. */
.mespaco-contact-card--shared-channels { overflow: visible; }
.mespaco-contact-card .mespaco-contact-channel-links {
	display: flex; justify-content: center; align-items: start; flex-wrap: wrap;
	gap: 10px; padding: 0; margin: 0 0 12px; list-style: none;
}
.mespaco-contact-channel-item { position: relative; padding: 0; margin: 0; }
.mespaco-contact-card .mespaco-contact-channel-link {
	display: flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; min-width: 44px; padding: 0;
	border-radius: 13px; background: #34722f; color: #fff; border: 1px solid transparent;
	text-decoration: none; box-shadow: none; transition: background-color .16s ease;
}
.mespaco-contact-card--mail .mespaco-contact-channel-link { background: #795715; }
.mespaco-contact-card .mespaco-contact-channel-link:hover { background: #285a24; color: #fff; }
.mespaco-contact-card--mail .mespaco-contact-channel-link:hover { background: #614510; }
.mespaco-contact-channel-link:focus-visible { outline: 2px solid #173e48; outline-offset: 3px; }
.mespaco-contact-channel-link svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.mespaco-contact-channel-tip {
	position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%);
	z-index: 600; width: max-content; max-width: 220px; padding: 8px 10px;
	border-radius: 8px; background: #173e48; color: #fff; text-align: center;
	font-family: inherit; font-size: 12px; line-height: 1.7;
	visibility: hidden; opacity: 0; pointer-events: none;
}
.mespaco-contact-channel-tip::before { content: ''; position: absolute; inset: -8px 0 auto; height: 8px; }
.mespaco-contact-channel-tip bdi { display: block; white-space: nowrap; font-size: 12px; }
.mespaco-contact-channel-item:not(.is-tooltip-dismissed):is(:hover, :focus-within) .mespaco-contact-channel-tip {
	visibility: visible; opacity: 1; pointer-events: auto;
}
@media (hover: none) {
	.mespaco-contact-card .mespaco-contact-channel-links { gap: 12px 10px; }
	.mespaco-contact-channel-item { display: flex; flex-direction: column; align-items: center; }
	.mespaco-contact-channel-tip { position: static; transform: none; visibility: visible; opacity: 1; background: transparent; color: #173e48; padding: 5px 0 0; pointer-events: auto; }
}
@media (prefers-reduced-motion: reduce) { .mespaco-contact-channel-link { transition: none !important; } }
@media (max-width: 600px) {
	.mespaco-contact-channels:has(.mespaco-contact-card--shared-channels) { grid-template-columns: minmax(0, 1fr); }
	.mespaco-contact-card--shared-channels { grid-column: 1 / -1; }
	.mespaco-contact-card .mespaco-contact-channel-links { flex-wrap: nowrap; gap: 10px; }
	.mespaco-contact-channel-tip bdi { font-size: 11px; }
}
