/* GotEventz custom styles — Bootstrap 5 overrides */

:root {
  --ge-primary: #ff084c;
  --ge-primary-dark: #d4003d;
  --ge-accent: #ff084c;
}

/* Navbar */
.navbar {
  background-color: #f0f0f0 !important;
}
.navbar-brand {
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: -0.5px;
  color: #ff084c !important;
}
.navbar-brand:hover {
  color: #d4003d !important;
}
.navbar .nav-link {
  color: #333 !important;
}
.navbar .nav-link:hover {
  color: #000 !important;
}
.navbar .form-control {
  background-color: #fff;
  border: 1px solid #ccc;
  color: #333;
  font-size: 0.85rem;
}
.navbar .form-control::placeholder {
  color: #999;
}
.navbar .form-control:focus {
  background-color: #fff;
  border-color: #ff084c;
  box-shadow: 0 0 0 0.15rem rgba(255, 8, 76, 0.2);
}

/* Primary button override — red instead of Bootstrap blue */
.btn-primary {
  background-color: #ff084c;
  border-color: #ff084c;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
  background-color: #d4003d;
  border-color: #d4003d;
}
.btn-primary:focus, .btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 8, 76, 0.4);
}
.btn-outline-primary {
  color: #ff084c;
  border-color: #ff084c;
}
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active, .btn-outline-primary.active {
  background-color: #ff084c;
  border-color: #ff084c;
  color: #fff;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 8, 76, 0.4);
}

/* Pagination override */
.page-link {
  color: #ff084c;
}
.page-link:hover {
  color: #d4003d;
}
.page-item.active .page-link {
  background-color: #ff084c;
  border-color: #ff084c;
}

/* Link color override */
a {
  color: #ff084c;
}
a:hover {
  color: #d4003d;
}

/* Event cards */
.card-event {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  border: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.card-event:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}
.card-event .card-img-top {
  height: 180px;
  object-fit: cover;
}
.card-event .card-body {
  padding: 0.85rem;
}
.card-event .card-title {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 0.3rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-event .card-text {
  font-size: 0.82rem;
  color: #6c757d;
}
.card-event .badge {
  font-size: 0.7rem;
}

/* Image placeholder for events without photos */
.img-placeholder {
  height: 180px;
  background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #adb5bd;
  font-size: 2.5rem;
}

/* Category pills */
.category-pills .btn {
  font-size: 0.82rem;
  border-radius: 50px;
  margin: 0.2rem;
}
.category-pills .btn-outline-primary {
  border-color: #ff084c;
  color: #ff084c;
}
.category-pills .btn-outline-primary:hover,
.category-pills .btn-outline-primary.active {
  background-color: #ff084c;
  border-color: #ff084c;
  color: #fff;
}

/* Card headers */
.card-header {
  background-color: #ececec;
  color: #000;
}

/* Auth forms */
.auth-card {
  max-width: 440px;
  margin: 3rem auto;
}
.auth-card .card {
  border: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.auth-card .card-body {
  padding: 2rem;
}

/* Search autocomplete */
.search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1050;
  max-height: 400px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #dee2e6;
  border-top: none;
  border-radius: 0 0 0.375rem 0.375rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: none;
}
.search-results.show {
  display: block;
}
.search-results .search-group-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ge-primary);
  padding: 0.4rem 0.75rem 0.15rem;
  font-weight: 700;
}
.search-results .search-item {
  padding: 0.4rem 0.75rem;
  cursor: pointer;
  font-size: 0.85rem;
  text-decoration: none;
  color: #212529;
  display: block;
}
.search-results .search-item:hover {
  background-color: #f8f9fa;
}
.search-results .search-item small {
  color: #6c757d;
}

/* Price badge */
.price-free {
  background-color: #ff084c;
}
.price-paid {
  background-color: var(--ge-primary);
}

/* Profile avatar fallback */
.avatar-placeholder {
  font-size: 5rem;
  color: #adb5bd;
}

/* Detail page */
.detail-sidebar .list-group-item {
  font-size: 0.9rem;
}

/* Footer */
footer {
  background-color: #f0f0f0;
  color: #333;
  font-size: 0.85rem;
}
footer a {
  color: #333;
  text-decoration: none;
}
footer a:hover {
  color: #ff084c;
}

/* Bootstrap text-primary override */
.text-primary {
  color: #ff084c !important;
}

/* Alert overrides — all alerts use pink/brand color instead of green */
.alert-success {
  background-color: #fce4ec;
  border-color: #f8bbd0;
  color: #880e4f;
}

/* Spinner overlay */
.spinner-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
