@font-face {
  font-family: 'UrbanShadow';
  src: url('../fonts/Urban Shadow Sans Serif.woff2') format('woff2');
}

body {
  margin: 0;
  font-family: 'UrbanShadow', sans-serif;
  background: #000;
  color: #fff;
  line-height: 1.6;
}

/* Quitar subrayados */
a {
  text-decoration: none;
  color: #fff;
}
a:hover {
  color: #ff4444;
}

/* Selección personalizada */
::selection { background: #ff0000; color: #660000; }
::-moz-selection { background: #ff0000; color: #660000; }

/* Header */
header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  position: sticky;
  top: 0;
  background: #111;
  z-index: 1000;
}
.logo { max-height: 50px; }
.menu-toggle {
  position: absolute;
  left: 15px;
  font-size: 2rem;
  cursor: pointer;
  color: #fff;
  z-index: 1100;
}
.menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 250px;
  height: 100%;
  background: #111;
  display: flex;
  flex-direction: column;
  padding: 50px 20px;
  transition: left 0.3s ease;
  z-index: 1200;
}
.menu.active { left: 0; }
.menu a { margin: 10px 0; }
.menu .auth { margin-top: auto; }
.menu .btn {
  background: #ff0000;
  color: #fff;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
}

/* Overlay */
.overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.6);
  z-index: 1100;
}
.overlay.active { display: block; }

/* Carrusel */
.carousel {
  overflow: hidden;
  max-height: 400px;
}
.slides {
  display: flex;
  animation: slide 24s infinite;
}
.slides img {
  width: 100%;
  flex-shrink: 0;
}
@keyframes slide {
  0%,10% { transform: translateX(0); }
  20%,30% { transform: translateX(-100%); }
  40%,50% { transform: translateX(-200%); }
  60%,70% { transform: translateX(-300%); }
  80%,90% { transform: translateX(-400%); }
  100% { transform: translateX(-500%); }
}

/* Secciones */
section { padding: 50px 20px; text-align: center; }
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  gap: 20px;
}
.section-card, .tarifa {
  background: #111;
  padding: 20px;
  border-radius: 10px;
  border: 1px solid #333;
  transition: all 0.3s ease;
}
.section-card:hover, .tarifa:hover {
  transform: translateY(-5px);
  border-color: #ff0000;
}

/* Formulario */
form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 400px;
  margin: auto;
}
input, textarea {
  background: #111;
  color: #fff;
  border: 1px solid #444;
  border-radius: 5px;
  padding: 10px;
}
button {
  background: #ff0000;
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 10px;
  cursor: pointer;
  transition: transform 0.3s ease, filter 0.3s ease;
}
button:hover { transform: scale(1.05); filter: brightness(1.2); }

/* Footer */
footer {
  background: #111;
  text-align: center;
  padding: 20px;
}
.logo-footer { max-height: 40px; }
.footer-links {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}

/* Animaciones de scroll */
.fade-in, .slide-up, .zoom-in, .slide-right, .fade-in-up, .slide-left, .flip, .bounce {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1s ease-out;
}
.show.fade-in { opacity: 1; }
.show.slide-up { opacity: 1; transform: translateY(0); }
.show.zoom-in { opacity: 1; transform: scale(1); }
.show.slide-right { opacity: 1; transform: translateX(0); }
.show.fade-in-up { opacity: 1; transform: translateY(0); }
.show.slide-left { opacity: 1; transform: translateX(0); }
.show.flip { opacity: 1; transform: rotateY(0); }
.show.bounce { opacity: 1; animation: bounceAnim 1s; }
@keyframes bounceAnim {
  0%,20%,50%,80%,100% { transform: translateY(0); }
  40% { transform: translateY(-20px); }
  60% { transform: translateY(-10px); }
}