@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Abel|Barlow+Semi+Condensed:400,500,500i,600,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,500;1,600&display=swap');
html{
    height: 100%;
}

body{
    height: 100%;
    font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    letter-spacing: 0.05px;
    line-height: 1.3;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
    text-rendering: optimizeLegibility !important;
    background-color: #fff;
}

@media only screen and (max-width: 720px){
    body{
        font-size: 12px;
    }
}

main{
    min-height: 70%;
}

/*********** COLORES *************************/

.bg-vinotinto{
    background-color: #1c0f0f;
}

.txt-blanco{
    color: #fff;
}

.txt-negro{
    color: #000;
}

/*********** ENLACES *************************/
a{
    text-decoration: none;
    color: #8f8484;
}
a:hover{
    text-decoration: none;
    color: #1c0f0f;
}

a.btn-comprar{
    display: inline-block;
    padding: 5px;
    color: #1c0f0f;
    font-weight: 600;
    background-color: #fff;
    border-radius: 4px;
    border: 1px solid #ccc;
    transition: all ease 0.3s;
}

a.btn-comprar:hover{
    color: #fff;
    background-color: #1c0f0f;
}

a.btn-comprar:hover, a.btn-comprar.activo{
    color: #fff;
    background-color: #000;
}

a.btn-color{
    display: inline-block;
    width:36px;
    height: 36px;
    padding: 2px;
    background-color: #fff;
    border: 1px solid #eaeaea;
    border-radius:50%;
    transition: all ease 0.3s;
}
a.btn-color-mini{
    display: inline-block;
    width:20px;
    height: 20px;
    padding: 2px;
    background-color: #fff;
    border: 1px solid #eaeaea;
    border-radius: 50%;
    transition: all ease 0.3s;
}

a.btn-color > .color, a.btn-color-mini > .color{
    width:100%;
    height: 100%;
    border-radius: 50%;
}

a.btn-color:hover, a.btn-color-mini:hover, a.btn-color.activo{
    border: 1px solid #000;
}

.btn-color{
    display: inline-block;
    vertical-align: middle;
    width:20px;
    height: 20px;
    padding: 2px;
    background-color: #fff;
    border: 1px solid #eaeaea;
    border-radius:50%;
    transition: all ease 0.3s;
}

.btn-talla{
    display: inline-block;
    vertical-align: middle;
    padding: 2px;
    color: #1c0f0f;
    font-weight: 600;
    background-color: #fff;
    border-radius: 4px;
    border: 1px solid #ccc;
}

/*********** BORDES *************************/

.borde-inferior{
    border-bottom: 1px solid #000;
}

.borde-superior{
    border-top: 1px solid #000;
}


/*********** WHATSAPP *************************/

.whatsapp{
    position: fixed;
    bottom: 5px;
    right: 5px;
}

/****************NOTAS***************/
.notas{
    position: fixed;
    display: block;
    top: 0;;
    width: 100%;
    height: 35px;
    padding: 5px;
    z-index: 10;
}

/*********** MENU *************************/
.nav{
    position: fixed;
    top: 20px;
    width: 100%;
    z-index: 10;
}

.enlaces{
    position: relative;
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    width: 100%;
    margin: 15px 0;
    background-color: #fff;
    box-shadow: 0 1px 5px #777;
    border-radius: 3px;
    transition: all ease 0.3s;
}

.logo{
    width: 10%;
    min-width: 125px;
}

.logo img{
    vertical-align: middle;
}

.logo-marca-agua{
    position: absolute;
    right: 20px;
    bottom: 20px;
}

.store{
    width: 20%;
    min-width: 200px;
    text-align: right;
}

ul.menu{
    display: block;
    margin: 0 auto;
}

ul.menu > li{
    display: inline-block;
    transition: all ease 0.5s;
}

ul.menu > li > a{
    display: block;
    font-size: 20px;
    padding: 10px 10px;
    font-weight: 600;
    color: #433939;
    border-bottom: 2px solid transparent;
    transition: all ease 0.3s;
}

ul.menu > li > a:hover{
    color: #1c0f0f;
    border-bottom: 2px solid #1c0f0f;
}

ul.menu > li:hover > .submenu{
    display: block;
}

ul.menu > li:hover > a{
    color: #1c0f0f;
    border-bottom: 2px solid #1c0f0f;
}


.submenu{
    position: absolute;
    margin-top: 18px;
    display: none;
    margin: 0 auto;
    background-color: #f0f0f0;
    border-bottom: 1px solid #000;
    transition: all ease 0.3s;
}

.submenu > li{
    display:inline-block;
    width: auto;
}


.submenu > li > a{
    display: block;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    color: #433939;
    padding: 15px 20px;
    border-bottom: 4px solid transparent;
    transition: all ease 0.3s;
}

.submenu > li > a:hover{
    color: #000;
    border-bottom: 4px solid #000;
}

.submenu > li > a .titulo{
    margin-bottom: 10px;
}

.submenu > li > a .imagen{
    display: block;
    margin: 0 auto;
    max-width: 100px;
    max-height: 100px;
    overflow: hidden;
}
.submenu > li > a .imagen img{
    width: 100%;
    height: auto;
}
.barras-movil{
    position: absolute;
    display: none;
    right: 10px;
    top: 20px;
    font-size: 35px;
}
.barras-movil{
    display: none;
}
@media only screen and (max-width: 760px){
    .notas{
        display: none;
    }
    .nav{
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 10;
    }
    .barras-movil{
        display: inline-block;
    }
    #abrir-movil{
        display: inline-block;
    }
    #cerrar-movil{
        display: none;
    }
    ul.menu{
        position: absolute;
        display:none;
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
        border: 1px solid #777;
    }
    
    ul.menu > li{
        display: block;
        transition: all ease 0.5s;
    }
    
    ul.menu > li > a{
        display: block;
        font-size: 20px;
        padding: 5px;
        font-weight: 600;
        color: #433939;
        border-bottom: 2px solid transparent;
        transition: all ease 0.3s;
    }
    
    ul.menu > li > a:hover{
        color: #1c0f0f;
        border-bottom: 2px solid #1c0f0f;
    }
    
    ul.menu > li:hover > .submenu{
        display: block;
    }
    
    ul.menu > li:hover > a{
        color: #1c0f0f;
        border-bottom: 2px solid #1c0f0f;
    }
    
    
    .submenu{
        display: block;
        position: relative;
        width: 100%;
        margin-top: 0;
        margin: 0 auto;
        border-bottom: 1px solid #000;
        transition: all ease 0.3s;
        z-index: 100;
    }
    
    .submenu > li{
        display:block;
        width: auto;
    }
    
    
    .submenu > li > a{
        display: block;
        text-align: center;
        font-size: 18px;
        font-weight: 600;
        color: #433939;
        padding: 5px;
        border-bottom: 4px solid transparent;
        transition: all ease 0.3s;
    }
    
    .submenu > li > a:hover{
        color: #000;
        border-bottom: 4px solid #000;
    }
    
    .submenu > li > a .titulo{
        margin-bottom: 10px;
    }
    
    .submenu > li > a .imagen{
        display: block;
        margin: 0 auto;
        max-width: 100px;
        max-height: 100px;
        overflow: hidden;
    }
    .submenu > li > a .imagen img{
        width: 100%;
        height: auto;
    }
}

/*****************************************************************/

.caja-busqueda{
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

.caja-busqueda > form{
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}
.caja-busqueda > form > input[type="text"]{
    width: 75%;
    padding: 10px;
    font-size: 25px;
    color: #aeaeae;
    background-color: none;
    border: none;
}
.caja-busqueda > form > input[type="text"]::placeholder{
    color: #c5c5c5;
}
.caja-busqueda > form > button{
    padding: 10px;
    border: none;
    border-radius: 5px;
    margin: 10px;
    color: #433939;
}
.caja-busqueda > form > button:hover{
    background-color: #433939;
    color: #fff;
}

/**************** SLIDE ******************/

.slide{
    position: relative;
    margin-top: 100px;
    width: 100%;
    height: 65%;
}

.slide #slide-prev{
    position: absolute;
    left: 10px;
    top:45%;
    color: #fff;
    text-shadow: 0 0 10px #000;
}

.slide #slide-next{
    position: absolute;
    right: 10px;
    top:45%;
    color: #fff;
    text-shadow: 0 0 10px #000;
}

.slide .texto{
    position: absolute;
    top:60%;
    left: 100px;
}

.slide .texto > .grande{
    font-size: 50px;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.1;
    font-weight: 600;
}

.slide .texto > .pequeno{
    font-size: 30px;
    color: #fff;
}

/*********** Espacio en Categorias y Detalle *************************/

.categoria-imagen{
    position: relative;
    height: 200px;
    border-bottom: 1px solid #eaeaea;
}

.categoria-imagen > .titulo-categoria{
    position: absolute;
    padding: 10px;
    bottom: 0;
    width: 100%;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    color: #000;
}

.espacio-detalle{
    position: relative;
    height: 200px;
}

/*********** TITULOS *************************/

.titulo{
    font-size: 30px;
}


/*****************Parrafo*********************/

.parrafo{
    display: block;
    font-family: "Abel", sans-serif;
}


/*********** PRODUCTOS *************************/
.producto{
    position: relative;
    display: inline-block;
    margin: 0 15px 15px 0;
    width: 300px;
    height: 450px;
    border: 1px solid transparent;
    overflow: hidden;
    border: 1px solid transparent;
    transition: all ease 0.3s;
}

.producto > .imagen{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: auto;
}

.producto > .imagen::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.5);
    transition: all ease 0.3s;
}

.producto:hover > .imagen::after{
    background-color: rgba(0,0,0,0);
}

.producto:hover > .imagen img{
    transform: scale(1.1,1.1);
}

.producto > .imagen > img{
    height: 100%;
    width: auto;
    transition: all ease 0.3s;
}

.producto > .informacion{
    position: absolute;
    display: flex;
    background-color: rgb(255,255,255,0.9);
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 5px;
}

.producto > .informacion > .textos{
    padding: 3px;
    flex-grow: 1;
    font-size: 16px;
    font-weight: 600;
    text-align: left;
}
.producto > .informacion > .textos > .nombre{
    color: #1c0f0f;
    font-size: 22px;
    font-weight: 600;
}

.producto > .informacion > .textos > .precio{
    font-family: "Abel", sans-serif;
    color: #1c0f0f;
    font-size: 22px;
}

.producto > .informacion > .boton{
    flex-grow: 1;
    padding: 5px;
    text-align: right;
}

/*********** PIE *************************/

.footer{
    font-family: "Barlow Semi Condensed", sans-serif;
    background-color: #f0f0f0;
    color: #555;
}

.iconos-redes i{
    margin: 0 15px;
}


/*********** ESTILOS FILTROS *************************/

.titulo-filtro{
    font-size: 22px;
    font-weight: 700;
    color: #000;
    border-bottom: 1px solid #000;
}

.item-filtro{
    display: flex;
    align-items: center;
    padding: 5px;
}

.item-filtro > input[type="checkbox"]{
    width: 18px;
    height: 18px;
    flex-basis: 10%;
    vertical-align: top;
}

.item-filtro > .texto{
    vertical-align: top;
    flex-basis: 90%;
    font-size: 20px;
}

/* --------------------------------- Estilos Para Detalle de Productos ---------------------------------------*/

.detalle-imagen{
    display: block;
}

.detalle-imagen > .imagen{
    width: 100%;
}

.detalle-imagen > .imagen > img{
    max-width: 300px;
    max-height: 500px;
    
}

.detalle-imagen > .miniatura > a > img{
    display: inline-block;
    height: 100px;
    width: auto;
    border: 1px solid #eaeaea;
}

.detalle-producto{
    display: block;
    font-family: "Abel", sans-serif;
}

.detalle-producto > .nombre{
    margin-bottom: 15px;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 1.8rem;
}

.detalle-producto > .marca{
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-weight: 400;
    font-size: 1rem;
    border-bottom: 1px solid #ccc;
}

.detalle-producto > .precio{
    margin: 15px;
    font-weight: 400;
    font-size: 1rem;
}

.detalle-producto > .precio > .titulo{
    font-size:0.9rem;
    font-weight: 600;
    color: #888;
}

.detalle-producto > .precio > .valor{
    font-size:1.4rem;
    font-weight: 600;
}

.detalle-producto > .precio > .valor.tachado{
    text-decoration: line-through;
}

.detalle-producto > .descripcion{
    margin: 20px 0;
    font-size:1.1rem;
    color: #555;
    line-height: 1.5;
}

.detalle-producto > .video{
    margin: 15px 0;
    text-align: center;
}

.detalle-producto > .titulo-detalle{
    font-size: 22px;
    font-weight: 600;
}

.detalle-producto > .caracteristica{
    display: table;
    width: 100%;
    padding: 5px 5px;
    border-bottom: 1px solid #eaeaea;
}

.detalle-producto > .caracteristica:hover{
    background-color: #eaeaea;
}

.detalle-producto > .caracteristica > .nombre{
    display: table-cell;
    width: 25%;
    font-weight: bold;
}

.detalle-producto > .caracteristica > .detalle{
    display: table-cell;
    width: 75%;
} 

/* Estilos para las tallas */
.select-talla{
    display: inline-block;
    text-align: center;
}
.select-talla > .talla{
    margin: 5px;
    padding: 8px;
    color: #fff;
    background-color: #7ac14e;
    border-radius: 5px;
}
.select-talla > input[type="radio"]{
    width: 15px;
    height: 15px;
}

/* --------------------------------- Estilos para Panel Carro de Compras ---------------------------------------*/

.ver-carrito{
    position: fixed;
    padding: 15px;
    top: 0;
    right: 15%;
    width: 70%;
    background-color: #fff;
    border: 1px solid #1c0f0f;
    z-index: 10;
}

.ver-carrito.cerrado{
    top: -1000px;
}

.ver-carrito > .titulo{
    padding: 10px 5px;
    margin-bottom: 15px;
    font-weight: 600;
    font-size: 1.1rem;
    border-bottom: 1px solid #eaeaea;
}

.ver-carrito > .titulo > #cerrar-resumen{
    position: absolute;
    right: 10px;
    margin-bottom: 15px;
    font-weight: 600;
    font-size: 1.1rem;
    color: #360404;
}

.ver-carrito > .resumen > .producto-carrito{
    display: table;
    width: 100%;
    margin-bottom: 10px;
    border-bottom: 1px solid #eaeaea;
    font-family: "Abel", sans-serif;
}

.ver-carrito > .resumen > .producto-carrito > .imagen-carrito{
    display: table-cell;
    vertical-align: top;
    text-align: center;
    width: 35%;
}
.ver-carrito > .resumen > .producto-carrito > .imagen-carrito img{
    width: 100%;
    max-width: 75px;
    height: auto;
}
.ver-carrito > .resumen > .producto-carrito > .datos-carrito{
    display: table-cell;
    vertical-align: top;
    text-align: right;
    width: 65%;
}
.ver-carrito > .resumen > .producto-carrito > .datos-carrito > .cantidad{
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    color: #000;
}

.ver-carrito > .resumen > .producto-carrito > .datos-carrito > .cantidad i{
    margin: 0 5px;
    font-size: 0.8rem;
    color: #777;
}

.ver-carrito > .resumen > .producto-carrito > .datos-carrito > .valor{
    display: block;
    margin: 5px 0;
    font-size: 22px;
    font-weight: bold;
    color: #777;
}

.ver-carrito > .resumen > .producto-carrito > .datos-carrito > a.trash{
    padding: 5px;
    margin: 5px;
    font-size: 0.9rem;
    font-weight: bold;
    color: #360404;
}

.ver-carrito > .resumen > .producto-carrito > .datos-carrito > a.trash:hover{
    background-color: #5f0707;
    color: #fff;
    border-radius: 5px;
}

.ver-carrito > .resumen > .total{
    display: table;
    width: 30%;
    max-width: 300px;
    margin: 0 0 0 auto;
    font-family: "Abel", sans-serif;
}

.ver-carrito > .resumen > .total > .titulo{
    display: table-cell;
    font-size: 15px;
    padding: 5px 10px;
    font-weight: 600;
    width: 35%;
}

.ver-carrito > .resumen > .total > .valor{
    display: table-cell;
    padding: 5px 10px;
    width: 65%;
    text-align: right;
    font-weight: 600;
    font-size: 1.1rem;
    color: #000;
}


/***************SWIPER*************/
.swiper {
    width: 100%;
    height: auto;
  }

.swiper img{
    width: 100%;
}
.swiper_thumbnail .swiper-slide{
    cursor: pointer;
}
.swiper_thumbnail .swiper-slide-thumb-active{
    outline: 2px solid #000;
    outline-offset: -2px;
}
.swiper_thumbnail img{
    vertical-align:　bottom;
}

.swiper-button-next,
.swiper-button-prev {
color: #000;
}

/****************************Estilos Formulario *************************************/

.formulario{
    position: relative;
    width: 90%;
    font-size: 1.2em;
    font-family: "Abel", sans-serif;
}

.formulario .grupo-form{
    margin: 20px 0;
}
.grupo-form label{
    display: block;
    width: 100%;
    padding-bottom: 10px;
    font-size:0.9em;
    color: #434343;
}


.grupo-form label.error{
    color: #e55555;
}

.grupo-form input,.grupo-form textarea,.grupo-form select{
    width: 100%;
    padding: 6px;
    background-color: #fbfbfb;
    border: none;
    border: 1px solid #eaeaea;
    font-size: 1em;
    color: #848484;
}

.grupo-form input[type="submit"]{
    display:inline-block;
    font-size: 18px;
    min-width: 150px;
    margin: 0 auto;
    border-radius: 5px;
    transition: all 0.5s ease;
}

.grupo-form input[type="submit"]:hover,.grupo-form input[type="submit"]:focus{
    background-color: #000;
    color: #fff;
    cursor: pointer;
}

.grupo-form input[type="checkbox"],.grupo-form input[type="radio"]{
    display: inline-block;
    vertical-align: middle;
    width: 25px;
    height: 25px;
    font-size: 1.3em;
    margin: 10px 10px 10px 10px;
}

/* --------------------------------- Estilos para La Compra Final ---------------------------------------*/

.carrito-detalle > .producto-item{
    display: table;
    width: 100%;
    padding: 20px;
    border: 1px solid #cacaca;
}

.carrito-detalle > .producto-item .producto-imagen{
    display: table-cell;
    width: 20%;
    vertical-align: top;
}

.carrito-detalle > .producto-item .producto-imagen img{
    height: 100px;
    width: auto;
    vertical-align: top;
}

.carrito-detalle > .producto-item.producto-datos{
    display: table-cell;
    width: 25%;
    vertical-align: top;
    font-size: 1em;
}

.carrito-detalle > .producto-item .producto-cantidad{
    display: table-cell;
    width: 15%;
    vertical-align: top;
    font-size: 1em;
}

.carrito-detalle > .producto-item .producto-valor{
    display: table-cell;
    width: 25%;
    vertical-align: top;
    font-size: 1.5em;
}

.carrito-detalle > .producto-item .producto-elimina{
    display: table-cell;
    width: 10%;
    vertical-align: top;
    font-size: 1.5em;
}

.carrito-detalle > .producto-item .producto-elimina a{
    color: #000;
}

.compra-resumen{
    display: block;
    background-color: #eaeaea;
    border-radius: 5px;
    font-family: "Abel", sans-serif;
    overflow: hidden;
}

.compra-resumen > .cuadro-titulo{
    padding: 10px;
    color: #fff;
    background-color: #999;
}

.compra-resumen > .cuadro-datos{
    color: #000;
    font-size: 0.8em;
}

.compra-resumen > .cuadro-datos > .linea{
    display: table;
    width: 100%;
    padding: 10px;
    color: #000;
    font-size: 0.8em;
}

.compra-resumen > .cuadro-datos > .linea > .titulo{
    display: table-cell;
    width:40%;
    padding: 5px;
    color: #000;
    font-size: 0.9rem;
}

.compra-resumen > .cuadro-datos > .linea > .valor{
    display: table-cell;
    width: 60%;
    padding: 5px;
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    text-align: right;
}

.compra-resumen > .cuadro-pie{
    padding: 5px;
}


.proceso-compra{
    margin: 20px 0;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #ccc;
    font-family: "Abel", sans-serif;
    overflow: hidden;
}

.proceso-compra .parrafo{
    font-size: 1.1em;
    text-align: center;
}


/****************** Estilos Menú del Cliente **********************/

.menu-cliente{
    margin: 10px 0;
    border: 1px solid #eaeaea;
    background-color: #fff;
}

.menu-cliente li a{
    display: block;
    padding: 10px;
    color: #848484;
    font-size: 1rem;
    border-bottom: 1px solid #eaeaea;
    transition: all 1s ease;
}

.menu-cliente li a:hover{
    color: #000;
    border-bottom: 1px solid #000;
}

.menu-cliente li a i{
    margin: 0 10px 0 0;
    color: #777;
    font-size: 1.1rem;
    transition: all 1s ease;
}

.menu-cliente li a:hover i{
    color: #000;
}

/*********** Estilos Tablas para vista de elementos *************************/

.tabla-lista{
    border-collapse: collapse;
    width: 100%;
    background-color: #fff;
}

.tabla-lista th{
    font-size: 1em;
    font-weight: bold;
    border-bottom: 2px solid #e2ffbd;
    padding: 5px;
}

.tabla-lista td{
    padding: 15px 5px;
    font-size: 1em;
    border-bottom: 1px solid #eaeaea;
    font-family: "Abel", sans-serif;
    color: #848484;
}

.tabla-lista td i{
    color: #00c100;
}

.tabla-lista tr{
    background-color: transparent;
    transition: all 0.5s ease;
    padding: 5px 0;
    border-left: 1px solid transparent;
}

.tabla-lista tr:hover{
    background-color: #eaeaea;
    font-weight: 700;
    border-left: 1px solid #848484;
}


/****************Estilos Contacto **************************/

.canal {
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    padding-right: 15px;
    font-family: "Abel", sans-serif;
}

.info {
    font-size: 18px;
    font-family: "Abel", sans-serif;
}

.info i{
    vertical-align: middle;
}