/* Reset básico */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Arial',sans-serif; line-height:1.6; color:#fff; background:#000; overflow-x:hidden; position:relative; }

/* Fondo destellos animados */
body::before {
  content:""; position:fixed; top:0; left:0; width:100%; height:100%;
  background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 40%) repeat;
  background-size:100px 100px; pointer-events:none; z-index:0;
  animation: moveLights 10s linear infinite;
}
@keyframes moveLights { 0%{background-position:0 0} 100%{background-position:1000px 1000px} }

/* Header */
.as-header{width:100%;padding:15px 20px;background:#000;color:#fff;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;}
.as-logo{font-size:1.5rem;font-weight:bold;letter-spacing:2px;}
.as-nav ul{list-style:none;display:flex;gap:15px;flex-wrap:wrap;}
.as-nav a{color:#fff;text-decoration:none;font-size:1rem;transition:color 0.3s;}
.as-nav a:hover{color:#ffd700;}

/* Botones */
.as-btn{background:#ffd700;color:#000;padding:10px 20px;border-radius:25px;font-weight:bold;text-decoration:none;font-size:1rem;transition:all 0.3s ease;box-shadow:0 6px 20px rgba(255,215,0,0.5);}
.as-btn:hover{background:#e6c200;transform:scale(1.05);box-shadow:0 8px 25px rgba(255,215,0,0.7);}

/* Hero */
.as-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;background:linear-gradient(rgba(0,0,0,0.85), rgba(0,0,0,0.7)), url('img/reloj-hero-bg.jpg') center/cover no-repeat;padding:50px 10%;border-radius:10px;margin:20px auto;position:relative;z-index:1;}
.as-hero-content{max-width:500px;}
.as-hero-content h1{font-size:2.2rem;margin-bottom:15px;color:#fff;display:flex;align-items:center;flex-wrap:wrap;}
.as-hero-deco{color:#ffd700;margin-right:10px;font-size:2rem;}
.as-tagline{font-size:1.1rem;color:#ffd700;letter-spacing:1px;margin-bottom:10px;animation:fadeInUp 1s ease forwards;}
.as-hero-content p{font-size:1rem;margin-bottom:15px;color:#ccc;}
.as-hero-img img{max-width:100%;height:auto;border-radius:10px;box-shadow:0px 4px 20px rgba(255,255,255,0.2);animation:floatHero 4s ease-in-out infinite;transition:transform 0.1s ease;}
@keyframes floatHero{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-1deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(10px) rotate(1deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}


/* Hero responsivo con tipografía escalable */
.as-hero-content h1 {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  margin-bottom: 15px;
}
.as-hero-content p {
  font-size: clamp(0.9rem, 2.5vw, 1.2rem);
  margin-bottom: 15px;
}


/* Cards escalables */
.as-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}
.as-card img { width: 100%; height: auto; }


/* Secciones centradas y con padding dinámico */
.as-catalogo, .as-about {
  padding: clamp(30px, 5vw, 60px) 5%;
  margin: 20px auto;
}


/* Hero imagen */
.as-hero-img img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  margin-top: 20px;
}


/* WhatsApp flotante adaptable */
.as-whatsapp-btn {
  width: clamp(45px, 8vw, 60px);
  height: clamp(45px, 8vw, 60px);
  bottom: clamp(15px, 5vw, 20px);
  right: clamp(15px, 5vw, 20px);
}


/* Sección Nosotros con nuevo formato */
.as-about {
  background-color: #000;
  padding: 80px 5%;
  text-align: center;
}

.as-about-container {
  max-width: 800px;
  margin: 0 auto;
}

.as-about h2 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
  color: #fff;
}

.as-about p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #ccc;
}


/* Ajustes generales de padding/margen para móviles */
@media(max-width:480px){
  .as-hero { flex-direction: column; text-align: center; padding: 30px 5%; }
  .as-hero-img { margin-top: 15px; }
  .as-btn { padding: 8px 16px; font-size: 0.9rem; }
}


/* Secciones */
.as-catalogo,.as-about{background-color:rgba(0,0,0,0.85);padding:40px 5%;border-radius:8px;margin:20px auto;}
.as-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.as-card{background:#111;border:1px solid #222;border-radius:12px;padding:15px;transition:transform 0.3s,box-shadow 0.3s;}
.as-card:hover{transform:translateY(-5px);box-shadow:0px 6px 20px rgba(255,255,255,0.15);}
.as-card img{max-width:100%;border-radius:10px;margin-bottom:10px;}
.as-card h3{font-size:1.2rem;margin-bottom:8px;color:#ffd700;}
.as-price{font-size:1.1rem;font-weight:bold;margin-bottom:10px;color:#fff;}
.as-seo-text{margin-top:20px;font-size:0.95rem;color:#ccc;max-width:800px;margin-left:auto;margin-right:auto;text-align:center;}


/* Footer */
.as-footer{background:#000;color:#fff;text-align:center;padding:15px;margin-top:30px;font-size:0.85rem;}


/* WhatsApp flotante */
.as-whatsapp-btn{position:fixed;bottom:15px;right:15px;width:55px;height:55px;background:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:1rem;box-shadow:0 6px 20px rgba(0,0,0,0.6);z-index:1200;transition:transform 0.3s,box-shadow 0.3s;transform:rotate(-10deg);animation:pulseSticker 2s infinite;overflow:visible;}
.as-whatsapp-btn:hover{transform:rotate(-10deg) scale(1.15);box-shadow:0 10px 30px rgba(0,0,0,0.8);}
.as-whatsapp-btn::before{content:"";position:absolute;top:var(--btnCursorY,50%);left:var(--btnCursorX,50%);width:55px;height:55px;background:rgba(255,255,255,0.3);border-radius:50%;filter:blur(12px);pointer-events:none;transform:translate(-50%,-50%);transition:top 0.1s,left 0.1s;z-index:-1;}
@keyframes pulseSticker{0%{transform:rotate(-10deg) scale(1)}50%{transform:rotate(-10deg) scale(1.05)}100%{transform:rotate(-10deg) scale(1)}}


/* Animaciones scroll */
.as-card,.as-hero-content,.as-about{opacity:0;transform:translateY(20px);transition:all 0.8s ease;}
.as-animate{opacity:1!important;transform:translateY(0)!important;}


/* Responsive */
@media(max-width:1024px){.as-hero{padding:40px 5%}.as-hero-content h1{font-size:2rem}}
@media(max-width:768px){.as-hero{flex-direction:column;padding:30px 5%;text-align:center}.as-hero-content h1{font-size:1.7rem}.as-hero-content p{font-size:0.95rem}.as-hero-img img{max-width:280px}}
@media(max-width:480px){.as-hero-content h1{font-size:1.5rem}.as-hero-content p{font-size:0.9rem}.as-hero-img img{max-width:220px}.as-btn{padding:8px 16px;font-size:0.9rem}}


/* Estilos para el Carrusel */
.carousel-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
  z-index: 1;
}

.carousel-container {
  width: 100%;
  position: relative;
}

.carousel-slide {
  display: none;
  width: 100%;
}

.carousel-slide img {
  width: 100%;
  height: auto;
  display: block;
}


/* Navegación (flechas) */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  padding: 16px;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  transition: 0.6s ease;
  user-select: none;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 0 3px 3px 0;
}

.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

.prev {
  left: 0;
}

.prev:hover, .next:hover {
  background-color: rgba(255, 215, 0, 0.8);
}


/* Puntos de navegación */
.dots-container {
  text-align: center;
  padding: 10px;
  position: absolute;
  bottom: 20px;
  width: 100%;
  z-index: 2;
}

.dot {
  cursor: pointer;
  height: 12px;
  width: 12px;
  margin: 0 5px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #ffd700;
}


/* Animación de fade */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from { opacity: 0.4 } 
  to { opacity: 1 }
}


/* Ajustes de espacio entre el banner y el catálogo */
.as-catalogo {
  margin-top: 50px;
}


/* Sección de Categorías */
.as-categorias {
  padding: 50px 5%;
  text-align: center;
}

.as-categorias h2 {
  font-size: 2rem;
  margin-bottom: 30px;
  color: #fff;
}

.as-categorias-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.as-categoria-card {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
  transition: transform 0.3s ease;
}

.as-categoria-card:hover {
  transform: scale(1.03);
}

.as-categoria-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.as-categoria-card:hover img {
  transform: scale(1.05);
}

.as-categoria-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 15px;
  opacity: 1;
  transition: background-color 0.3s ease;
}

.as-categoria-card:hover .as-categoria-overlay {
  background: rgba(255, 215, 0, 0.4);
}

.as-categoria-overlay span {
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 8px 12px;
  border-radius: 5px;
}

/* Etiqueta de oferta */
.as-oferta {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #f00; /* Rojo */
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 0.8rem;
  font-weight: bold;
  z-index: 10;
}

/* Precio tachado para mostrar el descuento */
.as-price-tachado {
  text-decoration: line-through;
  color: #aaa;
  font-size: 0.9rem;
  margin-bottom: 5px;
}
/* Sección de Testimonios */
.as-testimonios {
  padding: 50px 5%;
  text-align: center;
  position: relative;
}

.as-testimonios h2 {
  font-size: 2rem;
  margin-bottom: 5px;
  color: #fff;
}

.as-reseñas-meta {
  color: #aaa;
  font-size: 1rem;
  margin-bottom: 30px;
}

.as-testimonios-container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
}

.as-testimonios-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  overflow-x: auto;
  -ms-overflow-style: none; /* Oculta la barra de scroll de IE y Edge */
  scrollbar-width: none; /* Oculta la barra de scroll de Firefox */
}
/* Ocultar la barra de scroll en navegadores Webkit (Chrome, Safari) */
.as-testimonios-grid::-webkit-scrollbar {
  display: none;
}

.as-testimonio-card {
  background-color: #1a1a1a;
  padding: 20px;
  border-radius: 10px;
  min-width: 250px; /* Tamaño mínimo para cada tarjeta */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
  text-align: center;
}

.as-testimonio-card img {
  width: 100%;
  max-width: 250px;
  border-radius: 8px;
  margin-bottom: 15px;
}

.as-estrellas {
  color: #ffd700;
  margin-bottom: 10px;
}

.as-estrella {
  font-size: 1.2rem;
}

.as-testimonio-nombre {
  font-weight: bold;
  font-size: 1.1rem;
  margin-bottom: 5px;
  color: #fff;
}

.as-testimonio-texto {
  font-size: 0.9rem;
  color: #ccc;
  min-height: 80px;
}

/* Flechas de navegación */
.as-testimonio-prev,
.as-testimonio-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.5);
  padding: 10px;
  border-radius: 50%;
  z-index: 10;
  transition: background-color 0.3s;
}

.as-testimonio-prev {
  left: 20px;
}

.as-testimonio-next {
  right: 20px;
}

.as-testimonio-prev:hover,
.as-testimonio-next:hover {
  background-color: rgba(255, 215, 0, 0.8);
}

@media(max-width: 768px) {
  .as-testimonios-grid {
    grid-template-columns: repeat(4, 300px); /* Para que el scroll funcione en móvil */
  }
}


/*
  CORRECCIÓN ESPECÍFICA PARA EL MENÚ DESPLEGABLE DE CATÁLOGO
  Este bloque CSS tiene alta prioridad para evitar conflictos.
*/

/* Oculta y posiciona el menú desplegable */
.as-nav .contenido-desplegable {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgb(45, 43, 43);
  min-width: 180px;
  box-shadow: 0px 8px 16px 0px rgba(34, 34, 34, 0.6);
  z-index: 1001;
  border-radius: 5px;
  list-style: none;
  padding: 5px 0;
  
  /* ESTA REGLA ES LA CLAVE PARA ARREGLAR LA ALINEACIÓN */
  /* Hace que el submenú no use 'flexbox' y se apile verticalmente */
  flex-direction: column;
}

/* Muestra el menú al pasar el mouse */
.as-nav .desplegable:hover .contenido-desplegable {
  display: block;
}

/* Estilos de los elementos del menú */
.as-nav .contenido-desplegable li {
  /* ESTA REGLA TAMBIÉN ES IMPORTANTE */
  /* Asegura que cada opción ocupe todo el ancho */
  width: 100%;
}

.as-nav .contenido-desplegable a {
  color: white;
  padding: 10px 16px;
  display: block;
  text-align: center;
}

/* Efecto hover sobre las opciones */
.as-nav .contenido-desplegable a:hover {
  background-color: #333;
  color: #ffd700;
}


/*
  SOLUCIÓN PARA EL POSICIONAMIENTO DEL MENÚ
  Asegúrate de que este código esté al final de tu archivo CSS.
*/

.as-nav .desplegable {
  /* ¡Esta es la regla clave! Establece el contexto de posicionamiento para el submenú. */
  position: relative;
  /* El resto de estilos del elemento padre (como el padding) */
  padding: 0 15px;
}

.as-nav .contenido-desplegable {
  /* Ahora el submenú se posicionará respecto al elemento padre */
  position: absolute;
  top: 100%; /* Coloca el menú justo debajo del borde inferior de "Catálogo" */
  left: 50%; /* Centra horizontalmente el menú */
  transform: translateX(-50%); /* Ajuste fino para centrar */
  
  /* El resto de tus estilos para el menú desplegable... */
  display: none;
  background-color: rgb(56, 54, 54);
  min-width: 180px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.6);
  z-index: 1001;
  border-radius: 5px;
  list-style: none;
  padding: 5px 0;
  flex-direction: column; /* Para evitar que las opciones salgan en fila */
}

/* La regla para mostrar el menú al pasar el mouse sigue siendo la misma */
.as-nav .desplegable:hover .contenido-desplegable {
  display: block;
}

/*
  SOLUCIÓN DEFINITIVA PARA EL MENÚ DESPLEGABLE DE CATÁLOGO
  --------------------------------------------------------
  Este bloque de código CSS tiene la máxima prioridad para asegurar que el menú se vea y funcione correctamente.
  Copia y pega este código al final de tu archivo style.css
*/

/* 1. Posiciona el contenedor del menú para que el submenú se ancle a él */
.as-nav .desplegable {
  position: relative;
}

/* 2. Estilo y posicionamiento del submenú */
.as-nav .contenido-desplegable {
  display: none; /* Oculto por defecto */
  position: absolute; /* Posicionado con respecto al padre ".desplegable" */
  top: 100%; /* Justo debajo de "Catálogo" */
  left: 50%; /* Centra el menú horizontalmente */
  transform: translateX(-50%); /* Ajuste fino para centrado */
  
  /* Estilos para que combine con el diseño de tu página */
  background-color: black;
  min-width: 180px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.6);
  z-index: 1001;
  border-radius: 5px;
  list-style: none; /* Elimina los puntos de lista */
  padding: 5px 0;
  
  /* Corrige el problema de la lista plana */
  flex-direction: column;
}

/* 3. Estilos de los enlaces dentro del menú */
.as-nav .contenido-desplegable a {
  color: white; /* Texto blanco */
  padding: 10px 16px;
  display: block;
  text-align: center;
}

/* 4. Efecto de pasar el mouse sobre las opciones */
.as-nav .contenido-desplegable a:hover {
  background-color: #333; /* Fondo gris oscuro */
  color: #ffd700; /* Color dorado */
}

/* 5. Muestra el menú cuando el mouse está sobre "Catálogo" */
.as-nav .desplegable:hover .contenido-desplegable {
  display: block; /* La regla que lo hace visible */
}

/* Ajuste para el enlace de WhatsApp en el menú de navegación */
.as-nav .as-btn {
  padding: 8px 16px;
  font-size: 0.95rem;
  background: #ffd700; /* Verde WhatsApp */
  color: #fff;
  border-radius: 20px;
  transition: all 0.3s ease;
}

.as-nav .as-btn:hover {
  background: #ffd700;
}

/* Alineación del botón de WhatsApp en el menú */
.as-nav li {
  display: flex;
  align-items: center;
}

.as-nav .as-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px; /* Igual altura que los otros enlaces */
  font-size: 1rem;
  line-height: 1; /* Centrado vertical */
  height: auto; /* Evita que se vea más alto */
}

/* Header base */
.as-header {
  padding: 20px 10%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 0 0 20px 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Colores por página */


/* Logo y enlaces */
.as-logo a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

.as-nav a {
  color: #fff;
  margin-left: 15px;
  text-decoration: none;
  transition: color 0.3s;
}

.as-nav a:hover {
  color: #ffe6f0; /* rosa claro para mujer, se puede cambiar según página */
}

.as-btn {
  background: #ffd700; /* botón rosa */
  color: #fff;
  padding: 8px 16px;
  border-radius: 25px;
  text-decoration: none;
  transition: all 0.3s;
}

.as-btn:hover {
  background: #ffd700;
  transform: scale(1.05);
}
/* Header base */
.as-header {
  padding: 15px 10%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 0 0 20px 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  position: relative;
  background: linear-gradient(135deg, black, black); /* Rosa por defecto */
}

/* Logo */
.as-logo a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  font-size: 1.2rem;
}

/* Navegación */
.as-nav {
  display: flex;
  align-items: center;
  gap: 15px;
}

.as-nav a {
  color: #fff;
  text-decoration: none;
  padding: 8px 12px;
  transition: color 0.3s;
}

.as-nav a:hover {
  color: #ffe6f0;
}

/* Botón WhatsApp */
.as-btn {
  background:#ffd700;
  color: #fff;
  padding: 8px 16px;
  border-radius: 25px;
  text-decoration: none;
  transition: all 0.3s;
}

.as-btn:hover {
  background: #ffd700;
  transform: scale(1.05);
}

/* Desplegable */
.desplegable {
  position: relative;
}

.contenido-desplegable {
  display: none;
  position: absolute;
  top: 35px;
  left: 0;
  background: black;
  border-radius: 8px;
  padding: 10px 0;
  min-width: 150px;
  z-index: 100;
  flex-direction: column;
}

.contenido-desplegable li {
  list-style: none;
}

.contenido-desplegable li a {
  display: block;
  padding: 8px 15px;
  color: #fff;
}

.desplegable:hover .contenido-desplegable {
  display: flex;
}

/* Botón menú móvil */
.as-menu-toggle {
  display: none;
  font-size: 1.8rem;
  color: #fff;
  cursor: pointer;
}

/* Media queries */
@media screen and (max-width: 992px) {
  .as-nav {
    position: absolute;
    top: 100%;
    right: 0;
    flex-direction: column;
    background: linear-gradient(135deg, black, black);
    width: 200px;
    display: none;
    padding: 15px 0;
    border-radius: 0 0 10px 10px;
  }

  .as-nav a {
    padding: 12px 20px;
  }

  .as-menu-toggle {
    display: block;
  }

  .as-nav.active {
    display: flex;
  }

  .desplegable:hover .contenido-desplegable {
    display: none; /* Hover no funciona en móvil */
  }
}

/* Media query para tablets */
@media screen and (max-width: 768px) {
  .as-header {
    padding: 10px 5%;
  }

  .as-logo a {
    font-size: 1.1rem;
  }
}

