/* Mobile-focused CSS enhancements */

/* Scroll snap for event carousel */
.event-carousel {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.event-carousel::-webkit-scrollbar { display: none; }
.event-card { scroll-snap-align: start; }

/* Skeleton shimmer */
.skeleton { position: relative; overflow: hidden; background: #f3f4f6; }
.skeleton::after {
  content: '';
  position: absolute; top: 0; left: -150px; height: 100%; width: 150px;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
  animation: shimmer 1.2s infinite;
}
@keyframes shimmer { 100% { transform: translateX(300px); } }

/* Rating star styles */
.rating-stars-input { display: inline-flex; gap: 6px; align-items: center; }
.rating-star { width: 22px; height: 22px; cursor: pointer; color: #e5e7eb; transition: transform .12s ease, color .12s ease; }
.rating-star.filled { color: #f59e0b; transform: scale(1.05); }

/* Chat drawer touch-friendly tweaks */
#chatDrawer { width: 92vw; max-width: 360px; z-index: 120; pointer-events: none; }

/* Ensure FAB and chat are above bottom-nav */
#fabButton { z-index: 140; pointer-events: auto; }

/* Background pattern */
body { background-image: url('https://i.ibb.co/XZPb26Zn/bg.png'); background-repeat: repeat; background-size: auto; }

/* Ensure bottom nav does not overlap content: main app content padding handled in pages */

/* Pull-to-refresh indicator */
#ptrIndicator { position: fixed; top: 8px; left: 50%; transform: translateX(-50%); z-index: 60; display: none; }
#ptrIndicator.active { display: block; }
