/* =========================================
   JEssentials — Map Styles
   ========================================= */

.jem-map {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	background: #e2e8f0;
	position: relative;
	transition: opacity .4s ease;
}

.jem-map:not(.jem-loaded) {
	display: flex;
	align-items: center;
	justify-content: center;
}

.jem-map:not(.jem-loaded)::after {
	content: '';
	width: 32px;
	height: 32px;
	border: 3px solid #cbd5e1;
	border-top-color: #6366f1;
	border-radius: 50%;
	animation: jem-spin .7s linear infinite;
}

@keyframes jem-spin {
	to { transform: rotate(360deg); }
}

.jem-map.jem-loaded {
	background: transparent;
}

.jem-notice {
	background: #fef3c7;
	border: 1px solid #fde68a;
	border-radius: 12px;
	padding: 16px 24px;
	color: #92400e;
	font-size: 14px;
	text-align: center;
	max-width: 600px;
	margin: 20px auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ── Maps Admin Page ── */
.jem-overview-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 20px;
	margin-bottom: 28px;
}

.jem-feature-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 1px 3px rgba(0,0,0,.04);
	transition: box-shadow .25s ease, transform .25s ease;
}

.jem-feature-card:hover {
	box-shadow: 0 6px 20px rgba(0,0,0,.08);
	transform: translateY(-2px);
}

.jem-feature-card__icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
}

.jem-feature-card__icon .dashicons {
	font-size: 22px;
	width: 22px;
	height: 22px;
	color: #fff;
}

.jem-feature-card h3 {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 600;
}

.jem-feature-card p {
	margin: 0;
	font-size: 13px;
	color: #64748b;
	line-height: 1.5;
}
