body {
  font-family: 'Source Sans Pro', sans-serif;
  background-color: #f8fafb;
  color: #1f272a;
  margin-top: 33px;
  margin-bottom: 33px;
}

.badge-featured {
  background-color: #d5e0e3 !important;
  color: #1f272a !important;
  font-size: 9px;
  padding: 0.35rem 0.95rem;
  border-radius: 7px;
  transition: opacity 0.25s ease, border 0.25s ease;
}

.badge-featured:hover {
  opacity: 0.9;
  border: 1px solid #a6bec3;
}

.badge-category {
  background-color: #dde7ea !important;
  color: #1f272a !important;
  font-size: 8px;
  padding: 0.3rem 0.85rem;
  border-radius: 7px;
  transition: opacity 0.25s ease, border 0.25s ease;
}

.badge-category:hover {
  opacity: 0.9;
  border: 1px solid #a6bec3;
}

.bg-primary-subtle {
  background-color: #edf3f5 !important;
  color: #1f272a !important;
  font-size: 9px !important;
  padding: 0.45rem 0.95rem !important;
  border-radius: 7px !important;
}

.category-card-fixed {
  transition: all 0.3s ease-in-out;
  border-radius: 16px;
  font-size: 13px;
  margin: 13px;
  border: 1px solid transparent;
}

.category-card-fixed:hover {
  background: linear-gradient(90deg, #f2f6f8, #ffffff);
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
  border: 2px solid #a6bec3;
}

.highlight-card {
  border-radius: 16px;
  margin: 13px;
  background-color: #fafcfc;
  border: 1px solid #dde7ea;
}

.btn-sm {
  border-radius: 9px;
  font-size: 12px;
  padding: 0.55rem 0.95rem;
  background-color: #a6bec3;
  color: #1f272a !important;
  transition: all 0.25s ease;
}

.btn-sm:hover:not(.disabled) {
  background-color: #8ea9af !important;
  color: #1f272a !important;
  border: 2px solid #1f272a !important;
  opacity: 0.9;
}

.title {
  font-weight: 600;
  font-size: 15px;
  color: #1f272a !important;
  margin-bottom: 10px;
}

a.hover-outline:hover {
  border: 2px solid #a6bec3 !important;
  background: linear-gradient(90deg, #f2f6f8, #ffffff) !important;
  transition: border 0.25s ease, opacity 0.25s ease;
  opacity: 0.9;
}

.text-muted {
  color: #1f272a !important;
}

.section-heading {
  font-size: 15px;
  color: #1f272a;
  font-weight: 600;
}

.scrollable-category-list {
  padding: 13px 12px;
  row-gap: 16px;
  column-gap: 16px;
}

.description-link {
  color: #1f272a;
}

.description-link:hover {
  color: #1f272a;
}

.city-btn:hover,
.highlight-card:hover,
.highlight-card-companies:hover,
.latest-addition .mb-4:hover,
.category-card-fixed:hover {
  box-shadow: 0 9px 18px rgba(0, 0, 0, 0.09);
  border: 2px solid #a6bec3;
  transform: translateY(-0.5px);
  background: linear-gradient(90deg, #f2f6f8, #ffffff);
  backdrop-filter: blur(2px) !important;
  transition: all 0.3s ease;
}

.pagination .page-item.active .page-link {
  background-color: #a6bec3 !important;
  color: #1f272a !important;
  border: 1px solid #a6bec3;
}

.badge-featured,
.badge-popular,
.badge-new,
.badge-category-detail {
  background-color: #a6bec3 !important;
  color: #1f272a !important;
  font-size: 8px;
  padding: 0.35rem 0.85rem;
  border-radius: 7px;
  transition: opacity 0.25s ease, border 0.25s ease;
}

.badge-featured:hover,
.badge-popular:hover,
.badge-new:hover,
.badge-category-detail:hover {
  opacity: 0.9;
  border: 1px solid #a6bec3;
}

.badge-category {
  background-color: #a6bec3 !important;
  color: #1f272a !important;
  font-size: 8px;
  padding: 0.3rem 0.85rem;
  border-radius: 7px;
  transition: opacity 0.25s ease, border 0.25s ease;
}

.badge-category:hover {
  opacity: 0.9;
  border: 1px solid #a6bec3;
}

.title {
  font-weight: 600;
  font-size: 14px;
  color: #3a4447;
}

.opening-hours-list li:hover {
  background: linear-gradient(90deg, #f2f6f8, #ffffff) !important;
  border-bottom: 2px solid #3a4447 !important;
  transition: all 0.3s ease;
}

.btn-dark {
  border: 1px dotted #dde7ea !important;
  border-radius: 0.7rem !important;
  background-color: #a6bec3 !important;
  color: #1f272a !important;
  transition: all 0.25s ease;
  padding: 0.7rem;
}

.btn-dark:hover {
  opacity: 0.9;
  border: 2px solid #8ea9af;
}

.highlight-card-companies .btn-group a:hover {
    font-weight: 500 !important;
    transform: scale(1.05) !important;
}
