/* Eventifyme - custom styles layered on Tailwind */
html { scroll-behavior: smooth; }
.fade-in { animation: fadeIn .45s cubic-bezier(.2,.7,.2,1) both; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.pulse-dot { animation: pulseDot 1.2s ease-in-out infinite; }
@keyframes pulseDot { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }

.progress-indeterminate { position: relative; overflow: hidden; }
.progress-indeterminate::after {
  content: ""; position: absolute; inset: 0; width: 40%;
  background: #1C1B19; animation: slide 1.4s ease-in-out infinite;
}
@keyframes slide { from { transform: translateX(-100%); } to { transform: translateX(250%); } }

input[type=range] { accent-color: #1C1B19; }

/* Image fallback when a photo fails to load */
.img-fallback { background: linear-gradient(135deg, #F2ECE3, #E6DED2); }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

.num { font-variant-numeric: tabular-nums; }

/* Map picker */
#orgMap, #vendorMap { position: relative; z-index: 0; isolation: isolate; }
.leaflet-container { font-family: inherit; background: #F2ECE3; }
.map-pin {
  width: 28px; height: 28px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
  background: #1C1B19; border: 3px solid #FAF7F2; box-shadow: 0 6px 16px rgba(28,27,25,.35);
}
.map-pin::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #C9A978; top: 7px; left: 7px; }
