/**
 * Location Finder Block Styles
 */

/* Frontend: Full-bleed breakout so map has no left/right margins */
.wp-block-lakesuperior-location-finder,
.location-finder {
	width: 100vw;
	max-width: 100vw;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	overflow-x: clip;
}

.wp-block-lakesuperior-location-finder.alignfull,
.location-finder.alignfull {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* Map fills the full-bleed wrapper */
.location-finder__map {
	min-height: 400px;
	width: 100%;
	background: var(--wp--preset--color--contrast-2, #f0f0f0);
}

.location-finder__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: var(--wp--preset--spacing--50, 2rem);
	padding: var(--wp--preset--spacing--60, 1.5rem) var(--wp--preset--spacing--40, 1rem);
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin: 0 auto;
}

.location-finder__card {
	padding: var(--wp--preset--spacing--40, 1rem);
	border: 1px solid var(--wp--preset--color--accent-6, rgba(0, 0, 0, 0.1));
	cursor: pointer;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.location-finder__card:hover,
.location-finder__card.is-active {
	border-color: var(--wp--preset--color--accent-1, #333);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.location-finder__name {
	margin: 0 0 0.5em;
	font-size: var(--wp--preset--font-size--medium, 1.125rem);
	font-weight: 600;
}

.location-finder__address,
.location-finder__phone,
.location-finder__fax {
	margin: 0.25em 0;
	font-size: var(--wp--preset--font-size--small, 0.9rem);
}

.location-finder__phone a {
	text-decoration: none;
}

.location-finder__phone a:hover {
	text-decoration: underline;
}

.location-finder__directions {
	display: inline-block;
	margin-top: 0.5em;
	font-size: var(--wp--preset--font-size--small, 0.9rem);
}

@media (min-width: 782px) {
	.location-finder__list {
		padding: var(--wp--preset--spacing--80, 3rem) var(--wp--preset--spacing--50, 2rem);
	}
}

/* Editor */
.location-finder-editor {
	border: 2px dashed var(--wp--preset--color--contrast-3, #ccc);
	padding: var(--wp--preset--spacing--40, 1rem);
	border-radius: 4px;
	background: var(--wp--preset--color--base, #fff);
}

.location-finder-editor__header {
	margin-bottom: var(--wp--preset--spacing--40, 1rem);
}

.location-finder-editor__title {
	margin: 0 0 0.25em;
	font-size: 1.25rem;
}

.location-finder-editor__desc {
	margin: 0;
	font-size: 0.9rem;
	color: var(--wp--preset--color--contrast-2, #666);
}

.location-finder-editor__map-preview {
	margin-bottom: var(--wp--preset--spacing--40, 1rem);
}

.location-finder-editor__map-placeholder {
	height: 120px;
	background: var(--wp--preset--color--contrast-2, #f0f0f0);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--contrast-3, #999);
	font-size: 0.9rem;
}

.location-finder-editor__list {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40, 1rem);
}

.location-finder-editor__card {
	padding: var(--wp--preset--spacing--40, 1rem);
	border: 1px solid var(--wp--preset--color--contrast-3, #ddd);
	border-radius: 4px;
	background: var(--wp--preset--color--base, #fff);
}

.location-finder-editor__card .components-base-control {
	margin-bottom: 1rem;
}

.location-finder-editor__card .components-base-control:last-of-type {
	margin-bottom: 0;
}

.location-finder-editor__actions {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
	flex-wrap: wrap;
}

.location-finder-editor__coords {
	margin: 0.5rem 0 0;
	font-size: 0.8rem;
	color: var(--wp--preset--color--contrast-2, #666);
}
