/*
 * HP Site Map Styles
 */

.hpwm-map-container {
	position: relative;
	margin: 1em 0;
}

.hpwm-map {
	width: 100%;
	height: 100%;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.hpwm-error {
	padding: 1em;
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
	border-radius: 4px;
	margin: 1em 0;
	font-size: 14px;
}

/* Screen reader only text */
.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Custom marker styles */
.hpwm-marker {
	background-color: #ff6b35;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	cursor: pointer;
	transition: all 0.2s ease;
}

.hpwm-marker:hover {
	background-color: #e55a2b;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
	/* Removed transform: scale() to prevent shaking */
}

.hpwm-marker-plane {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	cursor: pointer;
	background: transparent;
}

.hpwm-marker-plane-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: #fff;
	border: 2px solid var(--hpwm-plane-color, #8B1538);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	transition: box-shadow 0.2s ease;
}

.hpwm-marker-plane:hover .hpwm-marker-plane-inner {
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.35);
}

.hpwm-marker-plane-symbol {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	height: 12px;
	color: var(--hpwm-plane-color, #8B1538);
}

.hpwm-marker-plane-symbol svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* Radius circle styles */
.hpwm-radius-circle {
	fill: rgba(255, 107, 53, 0.1);
	stroke: #ff6b35;
	stroke-width: 2;
	stroke-dasharray: 5, 5;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.hpwm-map-container {
		margin: 0.5em 0;
	}
	
	.hpwm-map {
		border-radius: 2px;
	}
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	.hpwm-map {
		border-color: #000;
		border-width: 2px;
	}
	
	.hpwm-error {
		border-color: #000;
		border-width: 2px;
	}
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
	.hpwm-marker {
		transition: none !important;
	}
	
	.hpwm-marker:hover {
		transform: none !important;
	}
}

/* Loading state */
.hpwm-map.loading {
	background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50"><circle cx="25" cy="25" r="20" fill="none" stroke="%23ddd" stroke-width="4"/><circle cx="25" cy="25" r="20" fill="none" stroke="%23666" stroke-width="4" stroke-linecap="round" stroke-dasharray="31.416" stroke-dashoffset="31.416"><animate attributeName="stroke-dasharray" dur="2s" values="0 31.416;15.708 15.708;0 31.416" repeatCount="indefinite"/><animate attributeName="stroke-dashoffset" dur="2s" values="0;-15.708;-31.416" repeatCount="indefinite"/></circle></svg>');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50px 50px;
}

/* SEO-friendly placeholder styles */
.hpwm-placeholder {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	padding: 2em;
	text-align: center;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.hpwm-placeholder-content h3 {
	margin: 0 0 1em 0;
	color: #333;
	font-size: 1.2em;
}

.hpwm-placeholder-content p {
	margin: 0 0 1.5em 0;
	color: #666;
	line-height: 1.5;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.hpwm-filter-note {
	margin: 0 0 1em 0;
	color: #444;
	font-style: italic;
}

.hpwm-features {
	margin: 1.5em 0;
}

.hpwm-features ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-block;
	text-align: left;
}

.hpwm-features li {
	margin: 0.5em 0;
	color: #555;
}

/* Loading indicator for progressive enhancement */
.hpwm-loading {
	margin-top: 1em;
	padding: 0.5em 1em;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 4px;
	font-size: 14px;
	color: #666;
	display: none;
}

/* Bot placeholder styles (legacy - keeping for compatibility) */
.hpwm-map-placeholder {
	border-radius: 4px;
	font-size: 14px;
	min-height: 200px;
}

.hpwm-map-placeholder::before {
	content: '🚁';
	font-size: 2em;
	display: block;
	margin-bottom: 0.5em;
	opacity: 0.5;
}

/* Focus styles for accessibility */
.leaflet-container:focus {
	outline: 2px solid #005fcc;
	outline-offset: 2px;
}

.leaflet-marker-icon:focus {
	outline: 2px solid #005fcc;
	outline-offset: 2px;
}
