*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family: Arial, sans-serif;
}

body{
  background:linear-gradient(to right,#0f2027,#203a43,#2c5364);
  color:white;
  min-height:100vh;
}

header{
  text-align:center;
  padding:30px;
}

.botones{
  margin:15px 0;
}

button{
  padding:10px 15px;
  margin:5px;
  border:none;
  border-radius:8px;
  cursor:pointer;
  font-weight:bold;
}

#btnLocales{background:#4CAF50;color:white;}
#btnApi{background:#ff9800;color:white;}

#buscador{
  padding:10px;
  width:80%;
  max-width:400px;
  border-radius:20px;
  border:none;
}

#contenedor{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:20px;
  padding:30px;
  transition: opacity 0.3s ease;
}
  

.card{
  background:white;
  color:#333;
  border-radius:15px;
  overflow:hidden;
  cursor:pointer;
  transition:0.3s;
  .card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
}

.card:hover{
  transform:scale(1.05);
}

.card img{
  width:100%;
  height:200px;
  object-fit:cover;
}

.card h3{
  padding:10px;
}

.modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.8);
  justify-content:center;
  align-items:center;
}

.modal-content{
  background:white;
  color:black;
  width:90%;
  max-width:700px;
  max-height:90vh;
  overflow:auto;
  padding:20px;
  border-radius:10px;
}

#cerrar{
  float:right;
  font-size:25px;
  cursor:pointer;
}

.galeria{
  display:flex;
  gap:10px;
  margin:10px 0;
}

.galeria img{
  width:30%;
  border-radius:8px;
}

@keyframes aparecer {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.card {
  animation: aparecer 0.6s ease forwards;
}