/* Fuente y fondo */
body {
  font-family: 'Montserrat', sans-serif;
  background-color: #f2f4f8;
  color: #333;
}

/* Hero sección */
.hero {
  background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
  color: #fff;
  padding: 4rem 0;
  border-radius: 0 0 2rem 2rem;
  margin-bottom: 2rem;
}
.hero .lead {
  color: rgba(255,255,255,0.85);
}

/* Navbar */
.navbar-brand {
  color: #222 !important;
  font-size: 1.75rem;
}
.nav-link {
  color: #555 !important;
  font-weight: 500;
}
.nav-link:hover {
  color: #000 !important;
}

/* Tarjetas de producto */
.card {
  border: none;
  border-radius: 1rem;
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);
  transition: transform .2s;
}
.card:hover {
  transform: translateY(-5px);
}
.card-img-top {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  height: 200px;
  object-fit: cover;
}
.card-title {
  font-weight: 600;
  font-size: 1.1rem;
}

/* Botones */
.btn-primary {
  background-color: #0069d9;
  border-color: #0062cc;
}
.btn-primary:hover {
  background-color: #0056b3;
  border-color: #004085;
}

.btn-filter {
  background: #ffffff;
  color: #3b82f6;
  border: 2px solid #3b82f6;
  font-weight: 600;
  padding: 0.5rem 1rem;
  margin: 0.25rem;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 4px 8px rgba(59,130,246,0.15);
}

.btn-filter:hover, 
.btn-filter.active {
  background: linear-gradient(90deg, #3b82f6, #9333ea);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 4px 16px rgba(147,51,234,0.35);
  transform: translateY(-3px);
}

.btn-filter i {
  margin-right: 6px;
}

.filter-menu {
  margin: 1rem 0;
}

.btn-filter {
  background: linear-gradient(145deg, #fff, #f0f4ff);
  color: #3b82f6;
  border: 2px solid #3b82f6;
  font-weight: 600;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  margin: 0.3rem;
  border-radius: 50px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.btn-filter i {
  margin-right: 8px;
  font-size: 1.1rem;
}

.btn-filter.active,
.btn-filter:hover {
  background: linear-gradient(145deg, #3b82f6, #9333ea);
  color: #fff;
  border-color: transparent;
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(147,51,234,0.3);
}

/* Responsivo para móviles */
@media (max-width: 576px) {
  .btn-filter {
    flex: 1 1 100%;
    font-size: 1rem;
    margin: 0.2rem 0;
  }

  .filter-menu .btn-group {
    flex-direction: column;
    gap: 0.5rem;
  }
}
