* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
}
header {
  position: relative;
  z-index: 1000;
  background: #333;
  color: #fff;
  padding: 1em;
}
nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
}
nav ul li {
  position: relative;
  margin: 0 1em;
}
nav ul li a {
  color: #fff;
  text-decoration: none;
  padding: 0.5em;
  display: block;
}
nav ul li a:hover {
  background: #444;
}
.dropdown-menu {
  display: none;
  position: absolute;
  top: 2.5em;
  left: 0;
  background: #333;
  list-style: none;
  z-index: 1001;
}
.dropdown-menu li a {
  padding: 0.5em 1em;
  color: #fff;
  display: block;
}
.dropdown:hover .dropdown-menu {
  display: block;
}
section {
  padding: 4em 1em;
  max-width: 800px;
  margin: auto;
  background: #f9f9f9;
  border-radius: 8px;
}
h2 {
  font-size: 2em;
  margin-bottom: 0.5em;
  color: #333;
}
p {
  margin-bottom: 1em;
  color: #555;
}
form div {
  margin-bottom: 1.5em;
}
form label {
  display: block;
  margin-bottom: 0.5em;
}
form input,
form textarea {
  width: 100%;
  padding: 0.5em;
  border: 1px solid #ccc;
  border-radius: 4px;
}
form button {
  padding: 0.7em;
  border: none;
  border-radius: 4px;
  background: #333;
  color: #fff;
  cursor: pointer;
}
form button:hover {
  background: #555;
}
.footer {
  text-align: center;
  padding: 2em;
  background: #333;
  color: #fff;
}

/* Slider solo en inicio */
.slider {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 2em auto;
  overflow: hidden;
}
.slides {
  display: flex;
  transition: transform 0.5s ease-in-out;
  will-change: transform;
}
.slide {
  min-width: 100%;
  position: relative;
}
.slide img {
  width: 100%;
  display: block;
  border-radius: 8px;
}
.caption {
  position: absolute;
  bottom: 1em;
  left: 1em;
  background: rgba(0,0,0,0.5);
  color: #fff;
  padding: 0.5em;
  border-radius: 4px;
}
.prev,
.next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  font-size: 1.5em;
  padding: 0.2em 0.5em;
  cursor: pointer;
  border-radius: 4px;
}
.prev {
  left: 1em;
}
.next {
  right: 1em;
}

/* Bot車n de WhatsApp */
.whatsapp-button {
  display: inline-block;
  background: #25D366;
  color: #fff;
  text-decoration: none;
  padding: 0.7em 1.2em;
  border-radius: 4px;
  font-weight: bold;
  margin-top: 1em;
}
.whatsapp-button:hover {
  background: #1DA851;
}
/* Bot車n flotante de WhatsApp */
.whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 20px;
  right: 20px;
  background-color: #25D366;
  border-radius: 50%;
  text-align: center;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
  z-index: 1002;
}
.whatsapp-float img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

/* Tarjetas en tazas (flex layout) */
.services {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 1em;
  padding: 1em 0;
}

/* Solo para la p芍gina de servicios, grid cuadrado */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1em;
  padding: 1em 0;
}

/* Cards gen谷ricas */
.card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1.5em;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  text-align: center;
}
.card a {
  color: inherit;
  text-decoration: none;
}
.card h3 {
  margin: 0.5em 0;
}
.card p {
  color: #555;
  font-size: 0.9em;
}
/* Botón carrito flotante */
.cart-float{
  position: fixed;
  bottom: 20px;
  left: 20px;
  width: 56px; height: 56px;
  background:#333; color:#fff;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:24px; text-decoration:none;
  box-shadow:2px 2px 5px rgba(0,0,0,.3);
  z-index:1003;
}
.cart-badge{
  position:absolute; top:-6px; right:-6px;
  background:#e53935; color:#fff; border-radius:10px;
  font-size:12px; line-height:1; padding:3px 6px;
}
.btn, .btn-outline{ display:inline-block; padding:.6em 1em; border-radius:6px; text-decoration:none; cursor:pointer; }
.btn{ background:#333; color:#fff; border:none; }
.btn:hover{ background:#555; }
.btn-outline{ border:1px solid #333; color:#333; background:#fff; }
.btn-outline:hover{ background:#333; color:#fff; }
.qty{ width:64px; padding:.4em; text-align:center; }
.list{ list-style:none; padding:0; }
.item{ display:flex; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid #eee; }
.item img{ width:64px; height:64px; object-fit:cover; border-radius:6px; }
.item .grow{ flex:1; }

@media (max-width: 768px) {
  nav ul { flex-wrap: wrap; }
  nav ul li { flex: 1 1 50%; margin: 0; } 
  nav ul li a { text-align: center; padding: .75rem; }

  .services { flex-wrap: wrap; gap: .75rem; justify-content: center; }
  .services .card { flex: 1 1 calc(50% - .75rem); max-width: 100%; } 
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
}

@media (max-width: 480px) {
  nav ul li { flex-basis: 100%; }

  .services .card { flex-basis: 100%; }

  .services-grid { grid-template-columns: 1fr; }
}



