*{
    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-apple:hover{
    fill: rgb(204, 203, 201);

}
footer .herrramientasfooter > div {
    flex: 1; 
    padding: 0 10px; 
}
.herrramientasfooter{
    display: flex;        
    justify-content: center;
    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;
    
}



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

#totales {
    display: flex;
    flex-direction: column; /* Organiza los elementos (las <p>) en una columna */
    gap: 10px; /* Espaciado vertical entre las filas */
}

#totales p {
    display: flex; /* Usamos flexbox para organizar texto y span */
    justify-content: space-between; /* Espaciamos texto y span en extremos opuestos */
    align-items: center; /* Centramos verticalmente los elementos dentro de cada fila */
    margin: 0; /* Eliminamos márgenes por defecto */
    font-size: 16px; /* Ajustamos el tamaño del texto */
}

#totales span {
    font-weight: bold; /* Resaltamos los valores en los spans */
    font-size: 18px; /* Hacemos el texto más grande */
    color: #333; /* Color para diferenciar los valores */
}


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


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

.escondido{
    display: none;
}


  .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: 85%; 
    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;
    margin-bottom: 20px;
}
.tarjeta-producto {

    background-color: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 8px;
    overflow: hidden;
    padding: 15px;
    transition: transform 0.3s ease, background-color 0.3s ease;
    display: flex; /* Usamos flexbox para alinear todo horizontalmente */
    align-items: center; /* Alineación vertical centrada */
    width: 788px; /* Ancho mayor para la tarjeta */
    margin-left: 100px;
    margin-bottom: 20px; /* Espaciado entre productos */
    padding-left: 20px; /* Agregamos espacio entre la tarjeta y el borde izquierdo */
}

.product-image {
    width: 100px; /* Tamaño de la imagen ajustado */
    height: 100px; /* Tamaño de la imagen ajustado */
    margin-right: 20px; /* Espacio entre la imagen y el contenido */
    flex-shrink: 0; /* Evita que la imagen se reduzca de tamaño */
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Mantiene la imagen proporcional */
    border-radius: 8px;
}

.product-info {
    font-family: Arial, Helvetica, sans-serif;
    display: flex;
    flex-direction: row; /* Aseguramos que los elementos estén en fila */
    align-items: center; /* Alineamos verticalmente */
    justify-content: flex-start; /* Alineamos todo a la izquierda */
    flex-grow: 1; /* Asegura que el contenido ocupe el espacio restante */
    width: 100%; /* Aseguramos que ocupe todo el espacio disponible */
}

.tituloProduct {
    font-size: 30px; /* Tamaño grande para el nombre del producto */
    font-weight: bold; /* Hacemos el nombre más destacable */
    margin: 0; /* Quitamos margen para un mejor alineamiento */
    text-align: left; /* Alineamos el nombre a la izquierda */
    flex-grow: 1; /* Hace que el nombre ocupe el espacio disponible a la derecha */
}

.product-info h3 {
    margin: 5px 0; /* Espaciado para los títulos */
    font-size: 16px; /* Tamaño de texto para el precio */
    text-align: left; /* Alineamos el texto a la izquierda */
}

.precio-y-cantidad {
    display: flex;
    flex-direction: column; /* Cambiar a columna para que el precio, cantidad y botones estén uno encima del otro */
    align-items: flex-start; /* Alineación a la izquierda */
    gap: 5px; /* Espaciado entre los elementos */
}

.product-info div {
    display: flex;
    gap: 10px;
    border-radius: 5px; /* Bordes redondeados */
    padding: 5px; /* Espaciado dentro del borde */
    align-items: center;
}
.cantidad-container {
    display: flex;
    gap: 15px; /* Aumentamos el espaciado entre los botones y la cantidad */
    border: 1px solid #e4e4e4;

    border-radius: 8px; /* Bordes más redondeados */
    padding: 10px; /* Aumentamos el espaciado dentro del borde */
    align-items: center; /* Centrar verticalmente los elementos dentro del borde */
}

.cantidad-container button {
    font-size: 18px; /* Aumentamos el tamaño de la fuente de los botones */
    padding: 5px 10px; /* Aumentamos el tamaño del botón */
    border-radius: 5px; /* Bordes redondeados para los botones */
    cursor: pointer;
}

.cantidad-container .cantidad {
    font-size: 22px; /* Aumentamos el tamaño de la cantidad */
    font-weight: bold; /* Hacemos la cantidad en negrita */
}

.botonesCantidades{
    border: 1px solid #ddd; /* Borde alrededor de los botones y la cantidad */
}

.product-info button {
    background-color: transparent; /* Quitar fondo celeste */
    color: black; /* Color de los botones */
    border: 1px solid black; /* Borde en los botones */
}


.product-info button:hover {
    background-color: #f0f0f0; /* Fondo ligero cuando el cursor pasa sobre el botón */
    color: #0056b3; /* Cambio de color al pasar el cursor */
    border-color: #0056b3; /* Cambio de color del borde */
}

.precio-y-cantidad h3 {
    font-size: 30px; /* Tamaño del precio en 30px */
}

.product-list-container {
    display: flex; /* Usamos flexbox para organizar los productos y el resumen de compra */
    justify-content: space-between; /* Espaciamos los elementos horizontalmente */
    align-items: flex-start; /* Alineamos los elementos al inicio vertical */
    padding: 20px;
}

.product-list {
    flex: 3; /* Los productos ocupan más espacio en comparación con el contenedor de FinalizarCompra */
    margin-left: -20px;
}

.FinalizarCompra {
    flex: 1; /* FinalizarCompra ocupa menos espacio */
    padding: 20px; /* Espaciado interno */  
    background-color: #fff; /* Fondo blanco */
    margin-right: 63px; /* Movemos FinalizarCompra más hacia la izquierda */
}

#totales {
    margin-bottom: 20px; /* Separación entre totales y botones */
    border: 1px solid #e4e4e4;
    border-radius: 8px; /* Bordes redondeados */
    margin-top: -20px;
    font-family: Arial, Helvetica, sans-serif;
    padding: 20px;
    font-weight: bold;
    width: 340px;


}

.cantidad-total, 
.precio-total {
    font-size: 16px; /* Tamaño de texto para cantidad y precio */
    margin-bottom: 10px; /* Espaciado inferior */
}

.botonesParaComprar {
    display: flex;
    flex-direction: column; /* Botones uno debajo del otro */
    gap: 10px; /* Separación entre botones */
    margin-top: -35px;
    
}

#btnComprar{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px; /* Tamaño de fuente reducido */
    padding: 15px 30px; /* Espaciado interno reducido */
    width: 100%; /* Asegura que ocupe el 100% del contenedor */
    background-color: rgb(8, 218, 71); /* Fondo blanco */
    color: white; /* Color del texto */
    border: 1px solid #e4e4e4; /* Borde visible con color */
    border-radius: 15px; /* Bordes redondeados */
    cursor: pointer; /* Cambia el cursor cuando se pasa por encima */
    text-align: center; /* Centra el texto */
    margin-top: 10px; /* Reduce el espacio superior */
    height: auto; /* Ajusta la altura automáticamente */
    text-decoration: none; /* Elimina el subrayado del enlace */
    box-sizing: border-box; /* Asegura que los p
    addings no afecten el tamaño */
}

.ContinuarComprando {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px; /* Tamaño de fuente reducido */
    padding: 15px 30px; /* Espaciado interno reducido */
    width: 100%; /* Asegura que ocupe el 100% del contenedor */
    background-color: white; /* Fondo blanco */
    color: black; /* Color del texto */
    border: 1px solid #e4e4e4; /* Borde visible con color */
    border-radius: 15px; /* Bordes redondeados */
    cursor: pointer; /* Cambia el cursor cuando se pasa por encima */
    text-align: center; /* Centra el texto */
    margin-top: 10px; /* Reduce el espacio superior */
    height: auto; /* Ajusta la altura automáticamente */
    text-decoration: none; /* Elimina el subrayado del enlace */
    box-sizing: border-box; /* Asegura que los p
    addings no afecten el tamaño */
}

#reiniciar {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px; /* Tamaño de fuente */
    padding: 15px 30px; /* Espaciado interno */
    width: 100%; /* Hace que sea más ancho */
    color: rgb(92, 91, 91); /* Color del texto */
    cursor: pointer; /* Cambia el cursor cuando se pasa por encima */
    text-align: center; /* Centra el texto */
    margin-top: 0px; /* Reduce el espacio superior */
    height: 60px;
    background-color: transparent; /* Quita el fondo */
    border: none; /* Quita el borde */
}


.botonesParaComprar button:hover,
.ContinuarComprando:hover {
    background-color: black; /* Fondo azul más oscuro al pasar el ratón */ 
    color: white;
}

#btnComprar:hover{
    background-color: black; /* Fondo azul más oscuro al pasar el ratón */ 
    color: white;
}


.Carrito-Vacio{
    text-align: center;
    margin-left: 150px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 30px;
    color: red;
}

.VolverInicio {
        color: #000000; /* Gris tenue */
    margin-bottom: 20px; /* Espaciado con la sección siguiente */
    text-align: center;
    margin-left: 150px;
    font-size: 20px;


}

#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;
}


#menu-mobile{
    display: none;
}

.btn-submenu{
    display: none;
}

/* 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) {

    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%);
        width: 450px;
    }
    
    #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(2, 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 */

    }
    
    .herrramientasfooter {
        margin-top: 30px; /* Asegura que también tenga margen superior */
        gap: 50px;
        flex-direction: column;
    }

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

    .tituloCarrito{
        margin: auto;
    }

    .product-list-container {
        max-width: 400px; /* Reduce el ancho del contenedor */
        margin: auto; /* Centra el contenedor */
        padding: 10px;
        font-size: 14px; /* Reduce el tamaño del texto */
        margin-left: -78px;
        flex-direction: column; /* Muestra los productos en una columna */


    }

    #producto-listas {
        display: flex;
        flex-direction: column; /* Muestra los productos en una columna */
        gap: 10px; /* Espaciado entre productos */
    }

    .tarjeta-producto{
        width: 410px;
        margin-left: 105px;
    }

    .FinalizarCompra{
        margin-left: 80px;
        width: 450px;

    }

    #totales{
        width: 411px;
        margin-left: 5px;

    }

    .Carrito-Vacio{
        margin-right: -115px;
    }

    .VolverInicio{
        margin-right: -115px;

    }

    .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;
}
}

.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;
}