/* =========================
   Reset
========================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* =========================
   Fuente personalizada
========================= */
@font-face {
  font-family: 'Sweet Affogato';
  src: url('../../fonts/SweetAffogato.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* =========================
   Estilos globales
========================= */
body {
  font-family:'Inter',sans-serif;
  background-size: 150px 150px; /* Tamaño por defecto del mosaico */
  position: relative;
  color: #333;
  background: #2196f3;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}


/* =========================
   ICONO DE OPCIONES PARA RESPONSIVE
========================= */

.header-left {
  display: flex;
  align-items: center;
  gap: 15px;
}

.menu-toggle {
  font-size: 20px;
  margin-right: -5px;
  cursor: pointer;
  display: none;
  color: white;
}

/* =========================
   DISEÑO ESPECIAL PARA TARJETA MASCOTAS
========================= */

.pets-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr) !important;
}

@media (max-width: 1200px) {
  .pets-container { grid-template-columns: repeat(3, 1fr) !important; gap: 15px; }
}

@media (max-width: 620px) {
  .pets-container { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; padding: 10px; width: 100% !important}
}


/* =========================
   DISEÑO ESPECIAL PARA TARJETA PRODUCTOS
========================= */
.products-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr) !important;
}

.precio-antiguo {
  margin-left: 8px;
  font-size: 0.85em;
  color: #999;
  text-decoration: line-through;
}

@media (max-width: 1200px) {
  .products-container { grid-template-columns: repeat(3, 1fr) !important; gap: 15px; }
}

@media (max-width: 550px) {
  .products-container { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; padding: 10px; width: 100% !important}
}

/* =========================
   ALERTAS
========================= */

.toast-ubigeo {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  padding: 12px 22px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 9999;
}

.toast-ubigeo.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* SUCCESS */
.toast-ubigeo.success {
  background: #1e7e34;
}

/* ERROR */
.toast-ubigeo.error {
  background: #dc3545;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 967px) {
  .show-menu {
    left: 0;
  }

  .menu-toggle {
    display: block;
  }
}


/* Zoom para pantallas muy grandes */
@media (min-width: 1500px) { body { zoom: 110%; } }
@media (min-width: 1600px) { body { zoom: 125%; } }
@media (min-width: 1800px) { body { zoom: 133%; } }
@media (min-width: 2000px) { body { zoom: 150%; } }
@media (min-width: 2200px) { body { zoom: 200%; } }