/* GATE Map — thème sombre pour les InfoWindow + contrôles Google Maps */
.gm-style .gm-style-iw-c {
  background: #0f0b1a !important;
  border: 1px solid rgba(168,85,247,0.35) !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 44px rgba(0,0,0,0.6) !important;
  padding: 0 !important;
}
.gm-style .gm-style-iw-d { overflow: auto !important; background: #0f0b1a; }
.gm-style .gm-style-iw-tc::after { background: #0f0b1a !important; }
.gm-style .gm-style-iw-c button.gm-ui-hover-effect { top: 4px !important; right: 4px !important; }
.gm-style .gm-style-iw-c button.gm-ui-hover-effect > span { background: rgba(255,255,255,0.6) !important; }
.gate-iw { padding: 12px 14px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; color: #fff; }
.gate-iw a { text-decoration: none; }
.gm-style .gmnoprint button, .gm-style .gm-control-active { background: rgba(18,18,20,0.92) !important; }
.gm-style .gm-bundled-control { filter: drop-shadow(0 4px 10px rgba(0,0,0,0.5)); }

/* Bouton « Me localiser » (contrôle carte GateMap) */
.gate-locate-btn {
  width: 42px; height: 42px; margin: 10px; border-radius: 13px; padding: 0;
  background: rgba(15,11,26,0.92); border: 1px solid rgba(168,85,247,0.35);
  color: #c084fc; cursor: pointer; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.55), 0 0 0 1px rgba(0,0,0,0.4);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transition: background .15s ease, color .15s ease, transform .12s ease, box-shadow .15s ease;
}
.gate-locate-btn:hover {
  background: linear-gradient(135deg, rgba(168,85,247,0.35), rgba(236,72,153,0.25));
  border-color: rgba(168,85,247,0.6); color: #fff;
  box-shadow: 0 8px 22px rgba(168,85,247,0.4);
}
.gate-locate-btn:active { transform: scale(0.94); }
.gate-locate-btn.loading { opacity: 0.55; pointer-events: none; }
.gate-locate-btn.loading svg { animation: gateLocateSpin 0.9s linear infinite; }
@keyframes gateLocateSpin { to { transform: rotate(360deg); } }
