*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* Header General */
header {
    position: fixed; /* Fija el header en la parte superior */
    top: 0; /* Lo posiciona en la parte superior */
    left: 0; /* Asegura que esté alineado a la izquierda */
    width: 100%; /* Ocupa todo el ancho de la página */
    display: flex;
    flex-direction: column;
    align-items: center; /* Alinea los elementos horizontalmente */
    padding: 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra para el header */
    background-color: black; /* Fondo negro */
    z-index: 1000; /* Asegura que el header esté por encima del contenido */
}

/* Añadir un margen superior al contenido para evitar que quede cubierto por el header */
body {
    margin-top: 80px; /* Ajusta este valor según la altura de tu header */
}


.navegacion {
    width: 100%; /* Asegura que ocupe todo el ancho del header */
    list-style: none;
    display: flex;
    justify-content: center; /* Centra los enlaces horizontalmente */
    gap: 40px;
    background-color: #333;
    padding: 10px 0;
    margin: 0;
}
.navegacion nav a {
    text-decoration: none;
    color: white;
    font-weight: bold;
    margin-right: 20px; /* Añade separación entre los enlaces */
    font-family: Arial, Helvetica, sans-serif;
}

/* Si deseas cambiar el color cuando el enlace esté en hover */
.navegacion nav a:hover {
    color: rgb(204, 203, 201); /* Cambia el color del enlace al pasar el cursor */
}




footer {    
    background-color:#2b2929; 
    color:white;   
    display: flex;      
    text-align: center;
    padding: 20px ;
    justify-content:center;
    align-items:flex-start;
    flex-wrap: wrap;
    
}
h1{
    font-family: sans-serif;
}
.bi-apple{
    fill:white;
    
}
.bi-apples{
    fill:white;
}
.bi-apple:hover{
    fill: rgb(204, 203, 201);

}
footer .herrramientasfooter > div {
    flex: 1; 
    padding: 0 10px; 
}
.herrramientasfooter{
    display: flex;        
    justify-content: space-between;
    padding: 10px 20px;
    font-family: Arial, Helvetica, sans-serif;
}
footer h1 {
    margin-bottom: 15px; /* Espacio entre el título y el contenido */
}
footer p {
    margin-bottom: 15px; /* Espacio entre párrafos */
}
footer nav {
    margin-bottom: 20px; /* Espacio extra debajo del nav */
}

footer nav a {
    display: block; /* Asegura que cada enlace ocupe una nueva línea */
    text-decoration: none;
    color: white;
    margin-bottom: 5px; /* Espaciado entre enlaces */
}
footer nav a:hover {
    color: #007bff; /* Color al pasar el mouse */
}
.redes{
    display: flex;
    flex-direction: column;
}

.redes nav{        
    display: flex;    
    justify-content:space-evenly
}

.bienvenida{
    background-image:url(https://www.blogdelfotografo.com/wp-content/uploads/2021/12/Fondo_Negro_3.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color:white;
    align-content: center;
    text-align: center;
    width: 100%;
    height: 500px; 
    font-size: 40px;
    font-family: sans-serif;
}

/* Herramientas Header */
.herramientasheader {
    display: flex;
    width: 100%; /* Asegura que ocupa el ancho completo */
    justify-content: space-between; /* Puedes cambiar esto a 'space-evenly' o 'center' si deseas más espacio entre los elementos */
    align-items: center;
    font-family: Arial, sans-serif;
    padding: 0 20px; /* Agrega un poco de espacio en los bordes izquierdo y derecho */
}


/* Logo */
.logo svg {
    height: 50px;
    width: auto;
}


/* Herramientas (Input, Login, Carrito) */
.herramientas {
    width: 100%; /* Asegura que el contenedor ocupe todo el ancho */
    display: flex;
    justify-content: center; /* Centra los elementos horizontalmente */
    align-items: center; /* Centra verticalmente */
    padding: 20px 10px; /* Añade espacio alrededor */
    background-color: black;
    gap: 10px; /* Añade espacio entre el input y los botones */
}

.herramientas .centro {
    display: flex; /* Activa Flexbox dentro del contenedor central */
    align-items: center; /* Alinea verticalmente el input y su botón */
    justify-content: center; /* Centra horizontalmente el contenido */
    gap: 10px; /* Espaciado entre el input y el botón */
    flex: 1; /* Ocupa el espacio disponible entre los extremos */
    margin-left: -50px;
}


.herramientas input {
    flex: 1; /* Hace que el input ocupe espacio disponible dentro del contenedor central */
    max-width: 800px; /* Limita el ancho del input */
    padding: 10px 20px; /* Espaciado interno */
    font-size: 16px; /* Tamaño del texto */
    border: 1px solid #ccc;
    border-radius: 5px;
}
.herramientas button {        
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    background-color: transparent;
    
}




.Beneficios {
    display: flex; /* Habilita Flexbox */
    text-align: center;
    justify-content: space-around;
}

.Beneficios svg {
    flex-shrink: 0; /* Evita que el SVG cambie de tamaño */
}

.logeo {

    flex-direction: column;
    margin: auto;
    background-color:#6c4024;
    color: #000000;
    padding: 100px 70px;
    border-color: transparent;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    }
    .bi-x-circle{
        position: absolute;
        top: 10px; 
        right: 10px; 
        cursor: pointer; 
        width: 20px; 
        height: 20px;
        
    }
    .logeo label{
        color:#000
    }
    .logeo input{
        border-radius: 10px;
        border:transparent;
        padding: 5px;
        width: 100%;
        outline: none;
        box-sizing: border-box;
    
    }
    .logeo button{
        display: flex;
        margin: auto;
        margin-top: 10px;
        background-color:#007bff;
        border: transparent;
        border-radius: 5px;
        padding: 5px 10px;
        color: #cccccc;
        cursor: pointer;
    }
.Textos {
    margin: 0; /* Remueve márgenes predeterminados */
}

.tamaño{
    justify-content: center;
    margin: 0;
    font-size: 10px;
    font-family: sans-serif;    
    width: 200px;
    
}

.productos{
    text-align: center;
}


.product-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columnas */
      gap: 20px;               /* tarjetas más juntas */
  padding: 0 12px;        /* margen interior contra los bordes */
  margin: 0 auto;         /* centrar el grid si quieres ancho limitado */
  max-width: 1200px;      /* opcional: límite de ancho para no estirar demasiado */
    justify-content: center;
    font-family: Arial, Helvetica, sans-serif;
    
}

.product-list:hover{
  transition: 3s;
}

.tarjeta-producto {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    text-align: center;
    padding: 15px;
    transition: transform 0.3s ease, background-color 0.3s ease; /* Propiedades a animar */
}

.tarjeta-producto:hover {
    transform: scale(1.05); /* Aumenta el tamaño ligeramente */
    background-color: #e0e0e0; /* Cambia el color de fondo */
}

.tarjeta-oferta{
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    text-align: center;
    padding: 15px;
    transition: transform 0.3s ease, background-color 0.3s ease; /* Propiedades a animar */

}

.tarjeta-oferta:hover{
    transform: scale(1.05); /* Aumenta el tamaño ligeramente */
    background-color: #e0e0e0; /* Cambia el color de fondo */
}

.offer-image img,
.product-image img {
    width: 150px;
    height: 150px;
    object-fit: contain; /* ✅ Esto muestra toda la imagen sin recortarla */
    display: block;
    margin: 0 auto 10px;
    border-radius: 8px;
    background-color: #f8f8f8; /* ✅ Fondo neutro para cubrir espacios vacíos */
    border-radius: 8px; /* Opcional: Bordes redondeados */
    cursor: pointer;

}

.offer-info h3{
    font-size: 16px;
    margin: 0 0 10px;

}
.product-info h3 {
    font-size: 16px;
    margin: 0 0 10px;
}

.add-button {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.delete-button{
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.delete-button:hover{
    background-color: #000;
}
.add-button:hover {
    background-color: #000;
}

.NumeroCarrito{
    position: absolute;
    top: -5px;
    right: -10px;
    background: black;
    color: white;
    border-radius: 50%;
    padding: 2px 6px;
    font-size: 12px;
    font-weight: bold;
}

#totales{
    text-align: center;
}

.BotonCarrito{
    background-color: black;
    color: white;
    font-family: sans-serif;
}

#totales{
    text-align: center;
  }
  
  #carrito-vacio{
    text-align: center;
  }

.escondido{
    display: none;
}

/* Estilo general del formulario */
.formulario {
    width: 100%;
    max-width: 400px;
    margin: 50px auto;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    font-family: Arial, sans-serif;
}

/* Estilo del título */
.formulario h1 {
    text-align: center;
    font-size: 24px;
    color: #333;
    margin-bottom: 20px;
}

/* Estilo de las etiquetas */
.formulario label {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
    font-size: 14px;
    color: #555;
}

/* Estilo del texto del label */
.formulario label span {
    margin-bottom: 5px;
}

/* Estilo de los campos de entrada */
.formulario input {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    outline: none;
    transition: border-color 0.3s ease;
}

/* Cambiar color del borde al enfocar */
.formulario input:focus {
    border-color: #007bff;
}

/* Estilo del botón */
.formulario button {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    color: #fff;
    background-color: #007bff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

/* Cambiar color del botón al pasar el cursor */
.formulario button:hover {
    background-color: #0056b3;
}

  .whatsapp-link {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background-color: #25d366;
    border-radius: 50%;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .whatsapp-link:hover {
    transform: scale(1.1);
    box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.2);
  }

  .whatsapp-link img {
    width: 35px;
    height: 35px;
  }

.nav-item {
    position: relative;
    display: inline-block;

}



.preview {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 10px;
    z-index: 1000;
    width: 200px; /* Ajusta el ancho según sea necesario */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    
}

.preview-link {
    text-decoration: none;
    display: block;
    color: #007BFF;
    margin: 5px 0;
    
}

.preview-link:hover h4 {
    color: #0056b3;

}

.preview h4 {
    margin: 0;
    font-size: 16px;
    font-weight: bold;
    color: #333;
}

.preview p {
    margin: 0;
    font-size: 14px;
    color: #555;
}


html {
    scroll-behavior: smooth;
}
.formOferta{
    display: flex;
    margin: auto;
    margin-top: 50px;
}

.tituloCarrito{
    border: 1px solid #e4e4e4; 
    width: 30%; 
    margin-left: 100px; 
    padding: 10px; /* Reducir el padding para disminuir el tamaño del borde */
    border-radius: 10px; /* Reducir el radio del borde */
    font-size: 10px;
}

/* El contenedor del modal */
#miModal {
    display: none; /* Inicialmente oculto */
    position: fixed; /* Fija el modal en la pantalla */
    z-index: 1; /* Se asegura de que esté por encima de otros elementos */
    left: 0;
    top: 0;
    width: 100%; /* Ocupa todo el ancho de la pantalla */
    height: 100%; /* Ocupa todo el alto de la pantalla */
    background-color: rgba(0, 0, 0, 0.4); /* Fondo semi-transparente oscuro */
}

/* El contenido del modal */
.modal-content {
    background-color: #fff;
    margin: 15% auto; /* Centrado vertical y horizontal */
    padding: 20px;
    border: 1px solid #888;
    width: 80%; /* Ancho del modal */
    max-width: 500px; /* Ancho máximo */
    border-radius: 8px; /* Bordes redondeados */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra */
    font-family: Arial, Helvetica, sans-serif;
}

/* El botón de cierre */
#closeModal {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

#closeModal:hover,
#closeModal:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* Efecto de desvanecimiento */
#miModal {
    transition: opacity 0.3s ease;
}

/* Estilo de los botones en el modal */
.modal-buttons {
    margin-top: 20px;
    text-align: center;
}

.modal-buttons button {
    background-color: #4CAF50; /* Verde */
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    margin: 0 10px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.modal-buttons button:hover {
    background-color: #45a049; /* Cambio de color cuando se pasa el ratón */
}

#menuToggle{
    display: none;
}

#map, #maps {
    margin-bottom: 30px; /* Ajusta la separación según necesidad */

}

.busqueda-container {
    display: flex;
    align-items: center;
    width: 800px; /* Ajusta el ancho al 100% del contenedor */
    margin-left: -60px;
}

#busqueda {
    flex: 1; /* Hace que el input ocupe el espacio disponible */
    padding: 10px;
    font-size: 16px;
    border-radius: 5px;
}

#botoninput {
    margin-left: 10px; /* Separa el botón del input */
    padding: 10px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-submenu{
    display: none;
}

#menu-mobile{
    display: none;
}

.ColorPrecio{
    color: red;
}


/* Estilo responsive */
@media (max-width: 970px) {
.busqueda-container {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 500px; /* o el valor que tú quieras */
}

.busqueda-container input {
  flex: 1;
  padding: 8px;
  font-size: 16px;
  min-width: 150px; /* no se achicará más que esto */
  width: 100%;
  transition: width 0.3s ease;
}
}



/* Ajustes para pantallas pequeñas */
@media (max-width: 550px) {
    #miModal {
        display: none; /* Ocultar el modal por defecto */
        position: fixed; /* Fijar el modal en la ventana */
        top: 50%; /* Posicionarlo en el centro vertical */
        left: 50%; /* Posicionarlo en el centro horizontal */
        transform: translate(-50%, -50%); /* Ajustar el centro exacto */
        z-index: 1000; /* Asegurar que esté encima de otros elementos */
    }


    header.hidden {
        transform: translateY(-100%); /* Mueve el header fuera de la pantalla */
        transition: transform 0.3s ease; /* Animación suave */
    }

    header {
        min-height: 150px; /* Aumentamos la altura */
        padding: 5px 0; /* Espaciado interno arriba y abajo */
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: transform 1s ease; /* Asegura una transición suave al aparecer */

    }
    


    .centro {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center; /* Centra los elementos */
    }
    
    .busqueda-container {
        display: flex;
        align-items: center;
        gap: 8px; /* Espaciado entre input y botón */
        position: absolute;
        top: 40px;
        left: 50%;
        margin-left: 45px;
        transform: translateX(-50%);
        max-width: 450px;
        width: 450vw;
    }
    
    #busqueda {
        flex-grow: 2; /* Hace que el input ocupe más espacio */
        padding: 8px;
        font-size: 16px;
    }
    
    #botoninput {
        flex-grow: 0;
        padding: 8px 12px;
        font-size: 16px;
        cursor: pointer;
    }
    

    #menuToggle {
        display: block;
        margin-left: 5px;
        margin-top: 5px;
    }

    .herramientas {
        gap: 10px;
    }

    .navegacion {
        display: none;
        position: fixed;
        top: 0;
        right: -100%; /* Empuja la navegación fuera de la pantalla */
        width: 300px; /* Ancho de la navegación */
        height: 100%; /* Se ajusta a toda la altura de la pantalla */
        background-color: #333; /* Fondo oscuro */
        transition: right 0.3s ease; /* Transición para el movimiento */
        display: flex;
        flex-direction: column; /* Los enlaces se alinean en una columna */
        gap: 10px; /* Espaciado entre los enlaces */
        font-size: 18px; /* Tamaño de la fuente */

    }

    .bi-list {
        cursor: pointer;
    }

    .navegacion.active {
        right: 0; /* Trae la navegación a la pantalla */
    }

    .navegacion.active a {
        transform: translateY(-200px); /* Esto moverá los enlaces hacia arriba */
    }
    .navegacion a {
        display: block; /* Los enlaces se comportan como bloques */
        padding: 10px;  /* Espaciado interno de los enlaces */
        color: white;   /* Color del texto */
        text-decoration: none; /* Eliminar subrayado */
    }

    .bienvenida h1{
        font-size: 40px;
    }

    .bienvenida p{
        font-size: 25px;
    }

    .bi-apples{
        width: 80px;
        height: 80px;
    }
    
    .Beneficios {
        display: flex;
        flex-wrap: wrap; /* Permite que los elementos se ajusten en pantallas pequeñas */
        justify-content: center;
        gap: 10px; /* Espacio entre los elementos */
        padding: 10px;
    }
    
    .tamaño {
        text-align: center;
        width: 200px; /* Reduce el ancho de cada elemento */
        font-size: 14px; /* Reduce el tamaño del texto */
    }
    
    .tamaño svg {
        width: 30px; /* Reduce el tamaño de los íconos */
        height: 30px;
    }
    
    .tamaño h1 {
        font-size: 16px; /* Reduce el tamaño del título */
        margin-top: 5px;
    }

    .product-list {
        display: grid;
        grid-template-columns: repeat(1, 1fr); /* 4 columnas */
        gap: 20px; /* Espaciado entre los productos */
        padding: 20px;
        justify-content: center;
    }

    .map-container {
        flex-direction: column; /* Apila los mapas en pantallas pequeñas */
        align-items: center;
    }

    #map, #maps {
        flex: 1; /* Hace que los mapas compartan el espacio equitativamente */
        width: 100px;
        height: 190px; /* Ajusta la altura */
        margin-bottom: 30px; /* Ajusta la separación según necesidad */
        aspect-ratio: 1;
    }
    
    .herrramientasfooter {
        margin-top: 30px; /* Asegura que también tenga margen superior */
        gap: 50px;
        flex-direction: column;
    }

    .herrramientasfooter p{
        font-family: Arial, Helvetica, sans-serif;
    }

    .btn-submenu{
        display: block;
        position: absolute;
        right: 20px; /* Ajusta según sea necesario */
        background: none;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        padding: 0;
        top: 100px;
    }

    .btn-submenu svg {
        fill: white; 
    }

.submenu-link{
    font-size: 15px;
}

.AcomodarSubMenu {
    margin-top: -20px; /* Ajusta este valor según lo necesites */
}

.TituloLogo{
    display: none;
}

.paginacion {
  gap: 4px;
}
.paginacion button {
  padding: 4px 8px;
  font-size: 12px;
}
  .paginacion-flecha {
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
  .paginacion-flecha.prev { 
    left: -8px; 
    }
  .paginacion-flecha.next { 
    right: -8px; 
}


}


.color-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 5px;
}  

.color-preview {
    width: 25px;  
    height: 25px;
    border-radius: 50%;
    border: 1px solid #ccc;
}

.contenedor-paginacion {
  display: flex;
  justify-content: center;
  margin: 20px 0;
  gap: 10px;
}


/* Envolver botones en un contenedor para darles flexibilidad */
.paginacion-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap; /* Permite que se acomoden abajo si no hay espacio */
  margin-top: 10px;
}
/* Contenedor de paginación */  
.paginacion {
  display: flex;  
  justify-content: center;
  gap: 8px;
  margin: 20px 0;
}  

/* Botones de paginación */
.paginacion button {
  padding: 6px 12px;  
  font-size: 14px;
  background-color: #f0f0f0;
  color: #333;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}  

.paginacion button:hover {
  background-color: #e0e0e0;  
  border-color: #bbb;
}  

/* Página activa */
.paginacion button.activo {
  background-color: #007bff;  
  color: white;
  border-color: #007bff;
  font-weight: bold;
}  

/* Flechas de paginación */
.paginacion-flecha {
  position: absolute;  
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.6);
  color: white;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}  

.paginacion-flecha:hover:not(:disabled) {
  background: rgba(0,0,0,0.8);  
}  

.paginacion-flecha:disabled {
  opacity: 0.3;  
  cursor: not-allowed;
}  

/* La flecha "anterior" va a la izquierda */
.paginacion-flecha.prev {
  left: -50px; /* ajustá según tu layout */  
}  

/* La flecha "siguiente" va a la derecha */
.paginacion-flecha.next {
  right: -50px; /* ajustá según tu layout */  
}  
.detalles{
margin-bottom: 30px;
}

.logo {
    display: flex; /* Usa flexbox para alinear elementos */
    align-items: center; /* Centra verticalmente los elementos */
}

.logo-link {
    display: flex; /* Asegura que el enlace sea también un contenedor flex */
    align-items: center; /* Centra los elementos del enlace */
    text-decoration: none; /* Elimina la decoración de subrayado del enlace */
}

.TituloLogo {
    margin-left: 10px;
    margin-top: 10px;
    font-family: Arial, Helvetica, sans-serif;
    color: white;
}

.fade-out {
  opacity: 0;
  transition: opacity 1s ease;
}

.fade-in {
  opacity: 1;
  transition: opacity 1s ease;
}
