/* EventMatch custom styles */
:root {
  --em-primary: #6366f1;
  --em-primary-dark: #4f46e5;
  --em-secondary: #f59e0b;
}

.bg-primary, .btn-primary {
  background-color: var(--em-primary) !important;
  border-color: var(--em-primary) !important;
}
.btn-primary:hover {
  background-color: var(--em-primary-dark) !important;
  border-color: var(--em-primary-dark) !important;
}
.text-primary { color: var(--em-primary) !important; }
a { color: var(--em-primary); }
a:hover { color: var(--em-primary-dark); }

.navbar-brand { font-size: 1.4rem; }

/* Search hero */
.search-hero {
  background: linear-gradient(135deg, var(--em-primary) 0%, var(--em-primary-dark) 100%);
  padding: 4rem 0;
  color: #fff;
}
.search-hero h1 { font-size: 2.5rem; font-weight: 700; }

/* Listing card */
.listing-card {
  transition: transform 0.2s, box-shadow 0.2s;
  border: none;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.listing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}
.listing-card .card-img-top {
  height: 200px;
  object-fit: cover;
}

/* Star rating */
.star-rating { color: var(--em-secondary); }
.star-rating .bi-star-fill { margin-right: 1px; }

/* Map */
#search-map {
  min-height: 400px;
  border-radius: 0.5rem;
  overflow: hidden;
  z-index: 1;
}

/* Leaflet tile fix — prevent tiles from overflowing rounded container */
.leaflet-container {
  overflow: hidden;
}

/* Favorite button */
.btn-favorite { border: none; background: none; font-size: 1.3rem; cursor: pointer; }
.btn-favorite:hover { color: #ef4444; }
.btn-favorite.active { color: #ef4444; }

/* Dashboard stats */
.stat-card { border-left: 4px solid var(--em-primary); }
.stat-card .stat-number { font-size: 2rem; font-weight: 700; color: var(--em-primary); }

/* Responsive tweaks */
@media (max-width: 768px) {
  .search-hero h1 { font-size: 1.8rem; }
  .search-hero { padding: 2rem 0; }
  #search-map { height: 300px; }
}

/* HTMX loading indicator */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request.htmx-indicator { display: inline-block; }
