/**
 * Shared map-card surface and interaction states.
 *
 * Both the Query Map Cards wrapper and opted-in core/group blocks use this
 * component. Content arrangement belongs to their core blocks / InnerBlocks.
 * Paint uses one-class specificity so Global Styles can override the defaults.
 * The Group inset must beat core's nested .has-global-padding reset; native
 * block-support padding is inline and still wins, including explicit zeroes.
 * This sheet participates in core/group's unlayered layout cascade.
 */
.pqf-map-card {
	box-sizing: border-box;
	cursor: pointer;
	background-color: var(--pqf-card-bg, transparent);
	border: 1px solid currentcolor;
	border-color: var(
		--pqf-card-border,
		color-mix(in srgb, currentcolor 16%, transparent)
	);
	border-radius: var(--pqf-card-radius, 6px);
}

.pqf-map-card,
.wp-block-group.pqf-map-card {
	padding-block: var(--pqf-card-padding-block, var(--pqf-space-sm, var(--pqf-internal-space-sm, 0.75rem)));
	padding-inline: var(--pqf-card-padding-inline, var(--pqf-space-md, var(--pqf-internal-space-md, 1rem)));
}

/* Card hover and marker hover share the same presentation. No shadow or lift. */
.pqf-map-card:where(.pqf-map-card--active) {
	border-color: var(--pqf-map-accent, #3b82f6);
	background-color: var(
		--pqf-card-hover-bg,
		var(--pqf-card-bg, color-mix(in srgb, currentcolor 4%, transparent))
	);
}

@media (hover: hover) {
	.pqf-map-card:where(:hover) {
		border-color: var(--pqf-map-accent, #3b82f6);
		background-color: var(
			--pqf-card-hover-bg,
			var(--pqf-card-bg, color-mix(in srgb, currentcolor 4%, transparent))
		);
	}
}

/* An inset ring persists after hover, without changing the card's dimensions. */
.pqf-map-card:where(.pqf-map-card--selected) {
	border-color: var(--pqf-map-accent, #3b82f6);
	background-color: var(
		--pqf-card-selected-bg,
		var(
			--pqf-card-hover-bg,
			var(--pqf-card-bg, color-mix(in srgb, currentcolor 4%, transparent))
		)
	);
	outline: 2px solid var(--pqf-map-accent, #3b82f6);
	outline-offset: -2px;
}

/* Keep native link/button focus too. An inset cannot be clipped by the list. */
.pqf-map-card:where(:focus-visible, :has(:focus-visible)) {
	outline: 3px solid currentcolor;
	outline-offset: -3px;
}

@media (forced-colors: active) {
	.pqf-map-card:where(.pqf-map-card--active, .pqf-map-card--selected) {
		border-color: highlight;
		outline-color: highlight;
	}
}
