/**
 * MyVanuatu Property Agents
 * Navy / gold card style. All selectors are scoped to .mv-agents.
 */
.mv-agents {
	--mv-navy: #161c2a;
	--mv-gold: #c8ac74;
	--mv-gold-dark: #8a7144;
	--mv-ink: #1a1a1a;
	--mv-line: #e4e6ea;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}
.mv-agents--columns-1 { grid-template-columns: minmax(0, 480px); }
.mv-agents--columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mv-agents--columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.mv-agents__card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(120px, 38%) minmax(0, 1fr);
	min-width: 0;
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--mv-line);
	border-top: 3px solid var(--mv-gold);
	color: var(--mv-ink);
}
.mv-agents__card-link { position: absolute; z-index: 1; inset: 0; }
.mv-agents__card-link:focus-visible,
.mv-agents__contact-link:focus-visible { outline: 3px solid var(--mv-gold-dark); outline-offset: 2px; }

.mv-agents__image-wrapper { min-width: 0; min-height: 180px; overflow: hidden; background: var(--mv-navy); }
.mv-agents__image { display: block; width: 100%; height: 100%; min-height: 180px; object-fit: cover; object-position: center top; }

.mv-agents__content { display: flex; min-width: 0; padding: 22px 20px; flex-direction: column; justify-content: center; }
.mv-agents__name { margin: 0 0 4px; padding: 0; font-family: "Playfair Display", Georgia, serif; font-size: 21px; font-weight: 500; line-height: 1.2; color: var(--mv-navy); }
.mv-agents__role { margin: 0 0 14px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--mv-gold-dark); }

.mv-agents__contact { display: grid; gap: 8px; min-width: 0; }
.mv-agents__contact-link { position: relative; z-index: 2; display: flex; min-width: 0; align-items: flex-start; gap: 10px; color: var(--mv-ink); font-size: 15px; line-height: 1.35; text-decoration: none; }
.mv-agents__contact-link:hover { color: var(--mv-gold-dark); text-decoration: underline; text-underline-offset: .15em; }
.mv-agents__contact-link span { min-width: 0; overflow-wrap: anywhere; }
.mv-agents__icon { width: 15px; min-width: 15px; height: 15px; margin-top: 3px; fill: var(--mv-gold-dark); }

@media (max-width: 1024px) {
	.mv-agents--columns-2, .mv-agents--columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.mv-agents, .mv-agents--columns-1, .mv-agents--columns-2, .mv-agents--columns-3 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
	.mv-agents__card { grid-template-columns: minmax(0, 1fr); }
	.mv-agents__image-wrapper { aspect-ratio: 4 / 3; }
}
