/* Drop Marker Map for Elementor
   Layout + marker animation. No colour filters are applied to the tiles. */

.edmm-map-wrap {
	width: 100%;
}

.edmm-map {
	width: 100%;
	height: 420px;
	background-color: #e5e3df; /* Avoids a white flash before tiles arrive. */
	overflow: hidden;          /* Keeps tiles inside a rounded corner. */
	z-index: 0;                /* Keeps Leaflet's panes under sticky headers. */
}

/* Themes love to restyle every img; Leaflet's tiles are imgs. */
.edmm-map img {
	max-width: none;
	background: none;
	box-shadow: none;
	border-radius: 0;
}

/* ------------------------------------------------------------------ *
 * Marker
 * ------------------------------------------------------------------ */

/* Leaflet positions this element, so nothing here may set `transform`
   on it — the animation lives on the inner wrapper instead. */
.edmm-pin {
	background: none;
	border: 0;
}

.edmm-pin__inner {
	display: block;
	width: 100%;
	height: 100%;
	transform-origin: 50% 100%;
	will-change: transform;
}

.edmm-pin__inner > svg,
.edmm-pin__inner > img {
	display: block;
	width: 100%;
	height: 100%;
}

.edmm-pin__shadow {
	position: absolute;
	left: 50%;
	bottom: -3px;
	width: 55%;
	height: 8px;
	margin-left: -27.5%;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.28);
	filter: blur(2px);
	z-index: -1;
}

/* Held back until the animation is allowed to start, so the pin never
   flashes in place first. */
.edmm-pin--pending .edmm-pin__inner,
.edmm-pin--pending .edmm-pin__shadow {
	opacity: 0;
}

.edmm-pin--drop .edmm-pin__inner {
	animation: edmm-drop var(--edmm-drop-ms, 900ms) cubic-bezier(0.28, 0.84, 0.42, 1) both;
}

.edmm-pin--drop .edmm-pin__shadow {
	animation: edmm-shadow var(--edmm-drop-ms, 900ms) cubic-bezier(0.28, 0.84, 0.42, 1) both;
}

.edmm-pin--bounce .edmm-pin__inner {
	animation: edmm-bounce 600ms ease-in-out infinite;
	opacity: 1;
}

.edmm-pin--bounce .edmm-pin__shadow {
	animation: edmm-bounce-shadow 600ms ease-in-out infinite;
	opacity: 1;
}

@keyframes edmm-drop {
	0%   { transform: translateY(-260px); opacity: 0; }
	8%   { opacity: 1; }
	62%  { transform: translateY(0); }
	72%  { transform: translateY(-16px); }
	84%  { transform: translateY(0); }
	92%  { transform: translateY(-5px); }
	100% { transform: translateY(0); }
}

@keyframes edmm-shadow {
	0%, 55% { transform: scale(0.2); opacity: 0; }
	62%     { transform: scale(1); opacity: 1; }
	72%     { transform: scale(0.7); opacity: 0.6; }
	84%     { transform: scale(1); opacity: 1; }
	100%    { transform: scale(1); opacity: 1; }
}

@keyframes edmm-bounce {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-14px); }
}

@keyframes edmm-bounce-shadow {
	0%, 100% { transform: scale(1); opacity: 1; }
	50%      { transform: scale(0.7); opacity: 0.55; }
}

/* Visitors who ask for less motion get the pin, placed, with no animation. */
@media (prefers-reduced-motion: reduce) {
	.edmm-pin__inner,
	.edmm-pin__shadow {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ------------------------------------------------------------------ *
 * Button + editor notice
 * ------------------------------------------------------------------ */

.edmm-actions {
	display: flex;
	justify-content: center;
	margin-top: 14px;
}

.edmm-link {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 4px;
	background-color: #1a73e8;
	color: #fff;
	text-decoration: none;
	line-height: 1.3;
}

.edmm-link:hover,
.edmm-link:focus {
	opacity: 0.9;
	color: #fff;
}

.edmm-notice {
	margin-bottom: 10px;
	padding: 14px 18px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	background: #fbfbfb;
	color: #50575e;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.edmm-notice--warning {
	border-color: #dba617;
	background: #fcf9e8;
	color: #674600;
}
