.lauries-map-wrap {
	margin: 1.5em 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* When the shortcode uses height="fill"/"%", stretch to the parent (Divi row,
   section, or column) so it fills the container it's dropped into. */
.lauries-map-wrap--fill {
	margin: 0;
	height: 100%;
	min-height: 100%;
}

.lauries-map {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 220px;
	box-sizing: border-box;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(17, 17, 26, 0.08), 0 8px 24px rgba(17, 17, 26, 0.06);
	z-index: 0;
}

.lauries-map--fill {
	height: 100%;
	min-height: 220px;
}

/* Server-rendered SEO source list: kept in the DOM but out of view
   (overrides the UA [hidden] { display: none } so images stay crawlable). */
.lauries-map-pins[hidden] {
	display: block;
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ---- Circular photo markers -------------------------------------------- */

.lauries-pin__photo {
	display: block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-size: cover;
	background-position: center;
	background-color: #e9e7e2;
	border: 3px solid var(--lm-pin-ring, #fff);
	box-shadow: 0 2px 6px rgba(17, 17, 26, 0.28);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	cursor: pointer;
}

.lauries-pin__photo:hover {
	transform: scale(1.12);
	box-shadow: 0 4px 12px rgba(17, 17, 26, 0.34);
}

.lauries-pin__dot {
	display: block;
	width: 16px;
	height: 16px;
	margin: 3px;
	border-radius: 50%;
	background: var(--lm-pin-dot, #1f1d1a);
	border: 3px solid var(--lm-pin-ring, #fff);
	box-shadow: 0 2px 6px rgba(17, 17, 26, 0.28);
	transition: transform 0.18s ease;
	cursor: pointer;
}

.lauries-pin__dot:hover {
	transform: scale(1.15);
}

/* ---- Gallery card popup ------------------------------------------------- */

.lauries-popup .leaflet-popup-content-wrapper {
	padding: 0;
	border-radius: 14px;
	overflow: hidden;
	background: var(--lm-bubble-bg, #fff);
	box-shadow: 0 6px 28px rgba(17, 17, 26, 0.22);
}

.lauries-popup .leaflet-popup-content {
	margin: 0;
	width: 240px !important;
	line-height: 1.5;
}

.lauries-popup .leaflet-popup-tip {
	background: var(--lm-bubble-bg, #fff);
	box-shadow: 0 6px 28px rgba(17, 17, 26, 0.14);
}

.lauries-card {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--lm-bubble-text, #3a3733);
}

.lauries-card__img {
	display: block;
	width: 100%;
	height: 150px;
	object-fit: cover;
	margin: 0;
}

.lauries-card__body {
	padding: 14px 16px 16px;
}

.lauries-card--noimg .lauries-card__body {
	padding-top: 16px;
}

.lauries-card__text {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--lm-bubble-text, #3a3733);
}

.lauries-card__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	background: var(--lm-btn-bg, #1f1d1a);
	color: var(--lm-btn-text, #fff);
	text-decoration: none;
	border-radius: var(--lm-btn-radius, 999px);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.01em;
	transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.lauries-card__btn:hover,
.lauries-card__btn:focus {
	background: var(--lm-btn-hover-bg, #000);
	color: var(--lm-btn-hover-text, #fff);
	transform: translateX(2px);
}

.lauries-card__arrow {
	transition: transform 0.16s ease;
}

.lauries-card__btn:hover .lauries-card__arrow {
	transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
	.lauries-pin__photo,
	.lauries-pin__dot,
	.lauries-card__btn,
	.lauries-card__arrow {
		transition: none;
	}
}
