/**
 * Contact Map Shortcode Styles
 *
 * @package ABN_Theme
 */

/* ==========================================================================
   CONTACT MAP
   ========================================================================== */

.abn-contact-map-wrapper {
	display: flex;
	flex-direction: column;
	margin: var(--space-4) 0;
}

.contact-map {
	width: 100%;
	height: 350px;
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--color-border);
	background: var(--color-bg-muted);
}

@media (min-width: 1024px) {
	.contact-map {
		height: 400px;
	}
}

.contact-map-address {
	padding: var(--space-4);
	background: var(--color-bg-elevated);
	border: 1px solid var(--color-border);
	border-top: none;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	line-height: 1.5;
}

.contact-map-address strong {
	color: var(--color-text);
}

.contact-directions-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	margin-top: var(--space-4);
	padding: var(--space-3) var(--space-5);
	font-size: var(--text-sm);
	font-weight: 600;
	color: #fff;
	background: var(--color-text);
	border-radius: var(--radius-sm);
	transition: background var(--transition-fast);
}

.contact-directions-btn:hover {
	background: var(--color-text-muted);
}

/* Leaflet overrides */
.contact-map .leaflet-container {
	font-family: var(--font-body);
}

.contact-map .leaflet-popup-content-wrapper {
	border-radius: var(--radius-sm);
}

.contact-map .leaflet-popup-content {
	font-size: var(--text-sm);
	line-height: 1.4;
	margin: 12px 16px;
}

.contact-map .leaflet-popup-content strong {
	display: block;
	margin-bottom: 4px;
}

/* Custom marker */
.contact-marker-container {
	background: transparent !important;
	border: none !important;
}

.contact-marker {
	color: var(--color-breaking);
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.contact-marker svg {
	width: 40px;
	height: 40px;
}
