@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

#google_translate_element {
  font-size: 0.9rem;
  margin-left: auto;
}

.goog-te-banner-frame.skiptranslate {
  display: none !important;
}

body {
  top: 0 !important;
}

/* Animación de pulso */
@keyframes pulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
  50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.7; }
}

/* Cursor personalizado */
.cursor {
  position: fixed;
  top: 0; left: 0;
  width: 25px; height: 25px;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: transform 0.15s, background-color 0.3s, border 0.3s;
  z-index: 9999;
  background: #fff;
  animation: pulse 2s infinite;
}
.cursor.hover {
  transform: translate(-50%, -50%) scale(2);
  background: rgba(17,16,14,0.3);
  animation: none;
}

/* Pre loader */
#preloader {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.5s;
}
.logo-preloader {
  width: 80px; height: 80px;
  animation: spinLogo 1.5s infinite, fadeIn 1s;
}
@keyframes spinLogo {
  0% { transform: rotate(0); }
  100% { transform: rotate(360deg); }
}
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.7); }
  to { opacity: 1; transform: scale(1); }
}
