@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
}

body {
    background-color:  #201b1ec2;;
    overflow-x: hidden;
}

/* Comienzo header */

.header_logo {
    background-color: white;
    display: flex;
    justify-content: space-between;
    padding: 20px;
}

.div_logo {
    width: 80px;
    height: auto;
    margin-left: 20px;
}

.logo {
    width: 100%;
    height: auto;
}

.carroDecompras {
    width: 120px;
    height: 60px;
    background: white;
    border: none;
    cursor: pointer;
}

/* Seccion portada */

.portada {
    max-width: 100%;
    height: 300px;
    position: relative;
    background-image: url(imagenes/portada.png);
    display: flex;
    justify-content: center;
    align-items: center;
}

h1 {
    text-align: center;
    color: #fff;
    font-size: 60px;
}

/* Seccion barra principal */

.barra_principal {
    display: flex;
    justify-content: space-between;
    background-color: white;
}

/* Inicio aside */

.aside_principal {
    /* flex-grow: 2; */
    flex: 2;
    padding: 10px;
    color: white;
}

/* Barra de busqueda  y filtros*/

.filtros_limpiar {
    margin: 35px 0;
}

.filtro_titulo {
    margin-top: 10px;
}

#filtrar {
    border-radius: 1px;
    height: 30px;
    border: none;
    margin-top: 5px;
    background-color: #bcbfc0;
    border-bottom: 2px solid black;
    -webkit-box-shadow: -4px -4px 14px -4px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: -4px -4px 14px -4px rgba(0, 0, 0, 0.75);
    box-shadow: -4px -4px 14px -4px rgba(0, 0, 0, 0.75);
}

.botonLimpiar {
    height: 35px;
    width: 70px;
    border-radius: 10px;
    background: #373F42;
    color: blanchedalmond;
    border: none;
    cursor: pointer;
}

.fa-search {
    color: rgb(32, 30, 30);
    position: relative;
    right: 25px;
}

/* estrellas amarillas */

.review {
    color: #fbc02d;
    margin: 5px 0;
}

.barra_busqueda {
    width: 80%;
    padding: 5%;
    background-color: aqua;
}

.barra_buqueda--p {
    margin: 5px 0;
}

.aside_categoria {
    display: flex;
    flex-direction: column;
}

.filtroCategorias {
    margin: 5px 0;
}

.aside_p1, .aside_p2 {
    padding: 20px 0;
    font-size: 18px;
}

.filtro_titulo {
    font-size: 20px;
}

.filtros_limpiar {
    display: flex;
    justify-content: space-between;
}

/* inicio tarjetas */

.contenido_principal {
    display: flex;
    flex-wrap: wrap;
}

.barra_principal {
    margin: 5px;
    padding: 50px;
    font-size: 20px
}

.contenedor_barra {
    flex: 8;
}

#vista_grid, #vista_lista, .btnFiltro {
    background: none;
    border: none;
    font-size: 25px;
    margin: 5px;
    cursor: pointer;
}

.contenedor_tarjetas_padre {
    background-color: white;
    display: flex;
    justify-content: center;
    margin: 5px;
}

.contenedor_tarjetas {
    flex-basis: 1100px;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.tarjetasProductos {
    margin: 5px;
    border: 1px solid rgb(243, 240, 240);
    border-radius: 5px 5px 0 0;
    padding: 20px;
    width: 332px;
    height: 530px;
    cursor: pointer;
}

.ampliarTarjeta {
    display: flex;
    margin: 5px;
    border: 1px solid rgb(243, 240, 240);
    border-radius: 5px 5px 0 0;
    padding: 20px;
    width: 900px;
    height: auto;
}

.ocultar {
    display: none;
}

.titulos_productos {
    margin: 10px 0;
}

.div_imagen_producto {
    width: 290px;
    height: 290px;
    background-color: white;
    border-radius: 5px 5px 0 0;
    padding: 20px;
    overflow: hidden;
}

.no-center {
    text-align: center;
}

.producto {
    width: 100%;
    height: auto;
    border-radius: 5px 5px 0 0;
    transition: all 0.2s ease-in;
}

.producto:hover {
    transform: scale(1.8);
    filter: opacity(0.7);
}

h2, .price .estrellas {
    margin: 10px 0;
}

.comprar {
    width: 250px;
    padding: 10px;
    border-radius: 5px;
    border: none;
    margin: 30px;
    color: #212121;
    cursor: pointer;
    text-transform: uppercase
}

.comprar:hover {
    background: #da1661;
    color: #fff;
    box-shadow: 0 0 2px #000;
    transition: all 0.2s ease-in;
}

/* Inicio footer */

.footer_seccion {
    background-color: white;
    text-align: center;
    padding: 30px;
}

.footer_parrafo {
    font-size: 20px;
}


/* Comienzo modal seccion carrito */

.contenedor_titulo {
    display: flex;
    justify-content: space-between;
    padding: 1%;
}

.cerrar {
    font-size: 20px;
    background-color: white;
    cursor: pointer;
}

.btn_carrito_cerrar {
    background-color: none;
    border: none;
}

.overlay {
    width: 100vw;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    z-index: 1;
}

.overlay-3 {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    z-index: 3;
}

.carrito_productos {
    width: 500px;
    max-width: 100%;
    height: 100vh;
    background-color: rgb(248, 252, 248);
    padding: 1%;
    flex-wrap: wrap;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
    transform: translate(0, 0);
    transition: all 1.5s;
}

.ocultar_modal {
    transform: translate(100%);
}

.articulos_anadidos {
    border: 2px rgb(241, 240, 240) solid;
    /* width: auto; */
    border: 1px solid gray;
    margin: 5px;
    height: 300px;
    overflow-y: scroll;
}

.btn_comprar_carrito, .btn_vaciar_carrito {
    width: 100%;
    height: 7%;
    max-height: 10%;
    border-radius: 5px;
    margin: 5px;
}

.btn_comprar_carrito {
    background: #da1661;
    color: blanchedalmond;
    cursor: pointer;
}

.btn_comprar_carrito:active {
    background: #c2719075;
    color: black;
}

.btn_vaciar_carrito {
    background-color: #fff;
    cursor: pointer;
}

/* comienzo checkout de compra final */

.contenedor_principal {
    width: 850px;
    max-width: 100%;
    background: #f6f6f6;
    margin: 50px auto;
    margin-top: 0;
    flex-wrap: wrap;
    z-index: 4;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    height: 100vh;
}

.ventana_carrito_compra {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    background: #f6f6f6;
}

.formulario {
    width: 350px;
    max-width: 100%;
    margin: auto;
    margin-top: 30px;
    padding: 20px;
    border-radius: 5px;
}

.subtitulo_carrito {
    margin: 10px 0;
}

fieldset {
    border: none;
}

.div_resumen_total {
    width: 290px;
    height: 480px;
    max-width: 100%;
    margin: auto;
    margin-top: 30px;
    padding: 20px;
    background-color: rgb(235, 231, 231);
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
}

.seccion_calculos {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-sizing: border-box;
}

.textotc, .textoDescuento, .textoEnvio, .total, .subtotal_carrito {
    position: relative;
    margin: 3px;
}

.total {
    font-size: 25px;
    font-weight: 700;
}

.textotc {
    color: rgb(230, 71, 71);
}

.textoDescuento {
    color: green;
}

.contenedorDeValores {
    position: absolute;
    right: 0px;
}

.titulo_carrito {
    margin-bottom: 15px;
    color: rgba(0, 0, 0, 0.7);
}

.formulario_input {
    display: block;
    border: none;
    border-bottom: 2px solid gray;
    margin: 20px;
    padding: 10px;
    background-color: #f6f6f6;
}

.linea {
    margin: 70px 0;
}

.contenedor_botones_checkout {
    background: #f6f6f6;
    margin: 5px;
    padding: 5px;
    display: flex;
    justify-content: flex-end;
    margin-right: 40px;
}

/* botones checkout */

.finalizar_compra {
    background-color: gray;
    color: lavenderblush;
    padding: 10px;
    margin: 10px;
    background-color: #da1661;
    width: 200px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
}

.finalizar_compra:hover {
    background-color: #c2719075;
    color: black;
}

.seguir_compra {
    background-color: rgba(204, 204, 204, 0.705);
    color: rgb(41, 41, 48);
    padding: 19px;
    margin: 10px;
    width: 200px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
}

.seguir_compra:active {
    background-color: rgb(192, 176, 176);
}

.resumen_carrito {
    font-weight: 900;
    font-size: 20px;
}

.formas_pago {
    display: block;
    margin-top: 5px;
}

/* Modal vaciar carrito */

.modal_vaciar_carrito {
    width: 500px;
    max-width: 100%;
    height: 300px;
    background-color: #fff;
    border-radius: 5px;
    position: absolute;
    right: 40%;
    left: 35%;
    top: 20%;
    z-index: 5;
}

.texto_modal_carrito_vacio {
    font-size: 35px;
    font-weight: 600;
    text-align: center;
    margin-top: 20px;
}

.botones_modal {
    display: flex;
    justify-content: center;
}

.btn_modal_novaciar {
    width: 170px;
    height: 50px;
    font-size: 15px;
    margin: 60px 5px;
    border: 1px black solid;
    background-color: white;
    border-radius: 5px;
}

.btn_modal_vaciar {
    width: 170px;
    font-size: 15px;
    height: 50px;
    margin: 60px 5px;
    background: #da1661;
    color: white;
    border: none;
    border-radius: 5px;
    z-index: 5;
}

.lista-carrito {
    /* background-color: #db73d6; */
    width: 100%;

}

tr {
    display: flex;
    justify-content: space-between;
    /* background-color: #fbc02d; */
    margin: 2px;
}

.lista-carrito tbody td {
    width: 10px;
    padding: 10px;
}

.btn-danger {
    color: #212121;

    border: none;
    font-size: 20px;
    font-weight: 600;
}

/*Javascript clases */

.hidden {
    display: none;
}

.columna {
    flex-direction: column;
}

.no-scroll {
    overflow: hidden;
}

.filtro_contenedor {
    display: none;
}

.cerrar_filtros {
    display: none;
}

.contenedor_img {
    width: 80px;
    height: auto;
    margin: 15px;
}

.imagen {
    width: 100%;
    height: auto;
}

.btn_eliminarproducto {
    background-color: none;
    border: none;
    font-size: 20px;
    color: red;
    height: 10px;
}

.productos_agregados {
    width: 35px;
}

.contenido_carrito_descripcion {
    width: 250px;
}

.contenedor_titulos {
    display: flex;
    justify-content: space-between;
}

.contenido_carrito_precio {
    display: flex;
    justify-content: space-between;
}

.hidden {
    display: none;
}


/* Medidas Responsive */

@media (max-width:850px) {
    .contenedor_principal {
        overflow-y: scroll;
    }

    .modal_vaciar_carrito {
        width: 100%;
        height: 100%;
        position: absolute;
        right: 0;
        left: 0;
        top: 0;
        bottom: 0;
    }

    .filtro_contenedor {
        display: block;
        cursor: pointer;
    }

    .tipo_de_vista {
        display: none;
    }

    .aside_principal {
        background-color: rgba(37, 36, 36, 0.986);
        display: block;
        max-width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 2;
        transform: translate(100%);
        transition: all 1s;
    }

    .mostrarFiltros {
        transform: translate(0.0);
    }

    .cerrar_filtros {
        display: block;
        position: fixed;
        right: 0;
        top: 0;
        margin: 15px;
        font-size: 25px;
        background: none;
        border: none;
        color: white;
    }

    .botonLimpiar {
        background: none;
    }

}

@media (max-width: 650px) {
    .carrito_productos {
        width: 100%;
        position: fixed;
        padding: 10px;
    }

    .contenedor_principal {
        max-width: 100%;
        position: absolute;
        right: 0%;
        left: 0%;
        top: 0%;
        flex-direction: column;
        overflow-y: scroll;
    }

    .ventana_carrito_compra {
        flex-direction: column;
    }

    .contenedor_botones_checkout {
        flex-direction: column;
    }

    .div_resumen_total {
        max-width: 100%;
        width: 290px;
        height: 180px;
        overflow-y: scroll;
    }

    .contenedor_botones_checkout {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width: 350px) {
    .carrito_productos {
        width: 100%;
        height: 100%;
        position: fixed;
        padding: 10px;
    }

    .contenedor_principal {
        width: 100%;
        position: fixed;
        height: 100%;
        flex-direction: column;
        overflow-y: scroll;
    }

    .modal_vaciar_carrito {
        width: 100%;
        height: 100%;
        position: fixed;
        right: 0;
        left: 0;
        top: 0;
        bottom: 0;
    }

    .aside_principal {
        position: fixed;
        left: 0;
        bottom: 0;
        height: 100%;
        overflow-y: scroll;
    }
}