/* ================================================================
   Vandeto Map Spotlight v1.0.4 — spotlight.css
   ================================================================ */

/* ── Conteneur carte AdForest : arrondi moderne + ombre douce ── */
#itemMap {
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 8px 30px rgba(17, 21, 28, 0.10), 0 2px 8px rgba(17, 21, 28, 0.05) !important;
}

/* ════════════════════════════════════════════════════════════════
   MARQUEUR MODERNE
   ════════════════════════════════════════════════════════════════ */
.vmsl-marker-wrap {
	background: none !important;
	border: none !important;
	overflow: visible !important;
}
.vmsl-pin-svg {
	filter: drop-shadow(0 6px 14px rgba(255, 23, 0, 0.40));
	transform-origin: 50% 100%;
}
/* Apparition : drop depuis le haut + léger rebond */
.vmsl-pin-bob {
	animation:
		vmsl-pin-drop 0.55s cubic-bezier(0.18, 0.89, 0.32, 1.28) both,
		vmsl-bob 3.2s ease-in-out 0.6s infinite;
}
@keyframes vmsl-pin-drop {
	0%   { transform: translateY(-34px) scale(0.4); opacity: 0; }
	60%  { opacity: 1; }
	100% { transform: translateY(0) scale(1); opacity: 1; }
}
@keyframes vmsl-bob {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-6px); }
}

/* ════════════════════════════════════════════════════════════════
   ANNEAUX PULSANTS (effet sonar / spotlight)
   ════════════════════════════════════════════════════════════════ */
.vmsl-spotlight-wrap {
	background: none !important;
	border: none !important;
	overflow: visible !important;
}
.vmsl-rings-container {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}
.vmsl-ring {
	position: absolute;
	left: 50%;
	top: 50%;
	border: 2px solid #ff1700;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0.1);
	opacity: 0;
	animation: vmsl-ring-out 2.4s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
	will-change: transform, opacity;
}
@keyframes vmsl-ring-out {
	0%   { transform: translate(-50%, -50%) scale(0.1); opacity: 0.85; }
	70%  { opacity: 0.12; }
	100% { transform: translate(-50%, -50%) scale(1);   opacity: 0; }
}

/* ════════════════════════════════════════════════════════════════
   POPUP MODERNE
   ════════════════════════════════════════════════════════════════ */
#itemMap .vmsl-popup .leaflet-popup-content-wrapper {
	border-radius: 12px;
	box-shadow: 0 10px 34px rgba(17, 21, 28, 0.16);
	padding: 0;
	overflow: hidden;
	animation: vmsl-popup-in 0.28s cubic-bezier(0.18, 0.89, 0.32, 1.28) both;
}
@keyframes vmsl-popup-in {
	0%   { transform: scale(0.7) translateY(8px); opacity: 0; }
	100% { transform: scale(1) translateY(0);     opacity: 1; }
}
#itemMap .vmsl-popup .leaflet-popup-content {
	margin: 11px 16px;
	font-size: 13px;
	font-weight: 600;
	color: #11151c;
	line-height: 1.4;
}
#itemMap .vmsl-popup .leaflet-popup-tip {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
#itemMap .vmsl-popup .leaflet-popup-close-button {
	width: 26px !important;
	height: 26px !important;
	font-size: 18px !important;
	color: #aaa !important;
	padding: 3px 0 0 0 !important;
	transition: color 0.15s;
}
#itemMap .vmsl-popup .leaflet-popup-close-button:hover {
	color: #ff1700 !important;
}

/* ════════════════════════════════════════════════════════════════
   CONTRÔLES LEAFLET — restylés modernes
   ════════════════════════════════════════════════════════════════ */
#itemMap .leaflet-control-zoom {
	border: none !important;
	border-radius: 12px !important;
	overflow: hidden;
	box-shadow: 0 3px 12px rgba(17, 21, 28, 0.14) !important;
	margin: 14px !important;
}
#itemMap .leaflet-control-zoom a {
	width: 38px !important;
	height: 38px !important;
	line-height: 38px !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	color: #11151c !important;
	background: #fff !important;
	border: none !important;
	border-bottom: 1px solid #f0f0f0 !important;
	transition: background 0.15s, color 0.15s !important;
}
#itemMap .leaflet-control-zoom a:last-child {
	border-bottom: none !important;
}
#itemMap .leaflet-control-zoom a:hover {
	background: #fff5f5 !important;
	color: #ff1700 !important;
}

/* Attribution discrète */
#itemMap .leaflet-control-attribution {
	font-size: 10px;
	background: rgba(255, 255, 255, 0.75);
	border-radius: 6px 0 0 0;
	padding: 2px 8px;
}

/* Carte plus douce */
#itemMap .leaflet-container {
	background: #eef1f4;
	font-family: inherit;
}

/* ════════════════════════════════════════════════════════════════
   ADAPTATION FOND SOMBRE
   ════════════════════════════════════════════════════════════════ */
#itemMap.vmsl-dark .leaflet-control-zoom a {
	background: #1c2129 !important;
	color: #e8eaed !important;
	border-bottom-color: #2a313b !important;
}
#itemMap.vmsl-dark .leaflet-control-zoom a:hover {
	background: #252b34 !important;
	color: #ff5c4d !important;
}
#itemMap.vmsl-dark .leaflet-control-attribution {
	background: rgba(17, 21, 28, 0.7);
	color: #8b929c;
}
#itemMap.vmsl-dark .leaflet-control-attribution a {
	color: #aab2bd;
}
#itemMap.vmsl-dark {
	background: #11151c;
}
