
body {
    font-size: 16px;
    line-height: 24px;
    color: #797979;
}

/* ? */
.banner h3 {text-align: left;}

.wrapper-flex,.wrapper-flex-mobile{
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-box;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;

    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
}

.limitar{
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.limitar_1{
    -webkit-line-clamp: 1;
}
.limitar_2{
    -webkit-line-clamp: 2;
}
.limitar_3{
    -webkit-line-clamp: 2;
}

.separa-5{
    height: 5px;
}

.separa-10{
    height: 10px;
}

.separa-20{
    height: 20px;
}

.separa-40{
    height: 40px;
}

.separa-30{
    height: 30px;
}

.separa-50{
    height: 50px;
}


.relative{
    position: relative;
}

.absolute{
    position: absolute;
}

.elinvi {opacity: 0; position: absolute; width: 0px; height: 0px;}
.swal2-popup {font-size: 1.6rem !important;}

.btn-corp { background-color: var(--primario); color: #fff; }
.btn-corp:hover, .btn-corp:focus { background-color: var(--secundario); color: #fff;  }

/*** INTERIORES ***/
.interiores h1.h1 {    
    font-size: 42px;
    height: auto;
    font-weight: 700;
    line-height: 1;
    color: var(--secundario);
}

.interiores a {
    color: var(--primario)
}

.interiores a:hover, .interiores a:focus {
    color: var(--secundario)
}

.imagen_servicio {width: 100%; border: 1px solid #dedede}
.titulo_servicio {margin: 0px; color: var(--secundario); margin-bottom: 15px; font-size: 28px; }
.mapa_contacto iframe {width: 100%;}
.interiores .adorno {margin-top: 30px;}

/******/
/*Formulario2*/
/******/

.marco-contacto {background-color: var(--primario_claro);  padding: 20px 15px;     border-radius: 15px; margin-bottom: 40px;}

.formulario_contacto_2 .row {
    display: flex;
    align-items: center;
}

.formulario_contacto_2 .container {
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #FFF;

}




.formulario_contacto_2 .flex {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
    flex-wrap: nowrap;
}


.formulario_contacto_2 input {
    padding: 25px;
    border-radius: 10px;
    background-color: #ffffff;
    border: 1px solid var(--secundario);
}

.formulario_contacto_2 textarea {
    padding: 20px;
    height: 132px;
    border-radius: 10px;
    background-color: #ffffff;
    border: 1px solid var(--secundario);
}

.formulario_contacto_2 textarea::placeholder,
.formulario_contacto_2 input::placeholder {
    color: var(--primario);
    font-style: italic;
    font-size: 16px;
}

.formulario_contacto_2 .button_formulario {
    text-transform: uppercase;
    font-weight: 400;
    font-family: "Roboto";
    font-size: 18px;
    background-color: var(--secundario);
    border: 0px;
    color: #fff;
    font-family: "Poppins";
    font-weight: 500;
    letter-spacing: 3px;
    border-radius: 10px;
    padding: 15px 40px;
}
.formulario_contacto_2 .button_formulario:hover, .formulario_contacto_2 .button_formulario:focus {
    background-color: var(--primario);
}

.formulario_contacto_2 label {
    font-size: 15px;
    color: var(--secundario);
}

.formulario_contacto_2 .group {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

@media (max-width: 992px) {
    .formulario_contacto_2 .flex {
        display: block;
        margin: 0px;
    }
    
    .formulario_contacto_2 input {margin-bottom: 20px;}
}

/**GALERiA**/

.elemento_galeria {
    margin-bottom: 30px;
    border-radius: 20px;
    overflow: hidden;
}
.elemento_galeria:hover .caja_imagen .imagen_ga, .elemento_galeria:focus .caja_imagen .imagen_ga{
    transform: scale(1.05);
}
.elemento_galeria .caja_imagen {overflow: hidden;}
.elemento_galeria .caja_imagen .imagen_ga{
    width: 100%;
    background-position: center;
    background-size: cover;

    -webkit-transition: all 500ms linear;
    -moz-transition: all 500ms linear;
    -ms-transition: all 500ms linear;
    -o-transition: all 500ms linear;
    transition: all 500ms linear;
}
.elemento_galeria .caja_imagen .imagen_ga:after {
    content: "";
    padding-top: 66%;
    display: block;
}

.elemento_galeria .caja_texto {background-color: var(--primario); padding: 15px 20px; height: 100px;}
.elemento_galeria .caja_texto h2 {
    margin: 0px;
    font-size: 18px;
    line-height: 25px;
    color: #fff;
    text-align: center
}

/**NOTICIAS***/
.noticia {overflow: hidden; border-radius: 20px; border: 1px solid #e0e0e0; margin-bottom: 30px;}
.noticia .imagen {width: 100%;}
.noticia .imagen{
    width: 100%;
    background-position: center;
    background-size: cover;
    position: relative;
}
.noticia .imagen:after {
    content: "";
    padding-top: 66%;
    display: block;
}
.noticia h2 { font-size: 22px; color: var(--secundario); margin: 0px; margin-top: 10px; }
.noticia .fecha {
    position: absolute;
    bottom: 0px;
    right: 0px;
    background-color: var(--secundario);
    color: #fff!important;
    padding: 5px 15px;
    font-size: 13px;
    border-top-left-radius: 15px;
}
.noticia .contenido_noticia {
    padding: 15px;
}
a.btn-cargar-mas {background-color: var(--primario); color: #fff; padding: 10px 30px;}

/**NOTICIA**/
.cuadro_noticia{background-color:var(--transparencia); max-width:400px;float:left;margin: 0px 20px 12px 0px;}
.contenido_noticia .titular { height: 85px;  display: flex; align-items: center; }

@media (max-width: 992px) {
    .imagen_servicio {margin-bottom: 30px;}
}

/*PRO*/
.caja_producto {border: 1px solid var(--primario); border-radius: 10px; background-color: #fff; overflow: hidden;     margin-bottom: 40px;}
.caja_producto .linea{background-color: var(--primario); height: 1px; width: calc(100% - 60px); margin: 0 30px; }
.caja_producto .caja_precio{ width: 100%; text-align: center}
.caja_producto .caja_nombre{ width: 100%; height: 70px; display: flex; align-items: center; }
.caja_producto .caja_precio .precio{ color: var(--secundario); font-weight: 700;     font-size: 24px;     margin: 15px 0px;}
.caja_producto .caja_precio .precio .anterior{ color: red;  font-size: 16px;  text-decoration: line-through;     font-weight: 500;     line-height: 0px; }
.caja_producto .nombre_producto {text-align: center; text-transform: uppercase; color: #333!important; font-weight: 500; padding: 0px 25px; margin: 0px;width: 100%;}
.caja_producto .imagen {     width: 100%;
    background-position: center;
    background-size: cover;}
.caja_producto .imagen:after {
    content: "";
    padding-top: 120%;
    display: block;
}

.filtros {background-color: var(--primario_claro); padding: 20px 10px;}
.filtros .form-group {margin: 0px;}

.boton-cesta {margin-left: 30px; background-color: var(--secundario); color: #fff;}
.boton-cesta .carrito { height: 15px;
    margin-top: -3px;
    margin-right: 3px; }

/*Detalle producto*/

#title_prod {margin: 0px; color: var(--secundario); font-size: 26px; margin-bottom: 10px;}
h2.categoria {margin: 0px; color: var(--primario); font-size: 16px; margin-bottom: 20px; }

.precios .precio { font-size: 30px; font-weight: 500; color: var(--secundario); }
.precios .tachado { color: red; text-decoration: line-through; margin-left: 10px; }

.simbolosplusminus { height: 12px;}

.tag_option{margin: 5px;color: var(--primario)}
.tag-circle{
    height: 42px;width: 42px;border-radius: 100%;display: inline-block;justify-content: center;align-items: center;border: 2px solid #fff;overflow: hidden; border: 2px solid #f5f5f5;
}

.tag-circle img{height: 40px;width: 40px;border-radius: 40px; object-fit: cover;}

.tag_bloque{
    height: 40px;width: 70px;display: inline-flex;background-color: var(--primario_claro);justify-content: center;align-items: center
}

.tag-circle.active{
    border: 2px solid #000;
}

.tag_bloque.active{background-color: var(--primario);}
.tag_option.active a{color: #fff;}

.foto_principal .imagen{width: 100%;background-position: center;background-size: contain;background-repeat: no-repeat;border: 1px solid #f5f5f5}
.foto_principal.mini .imagen{height: 444px; background-size: cover;}

.foto_principal .lupa{
    position: absolute;top: 0;left: 0;height: 100%;width: 100%;background-color: rgba(0,0,0,0.5);opacity: 0;transition: 300ms all linear;color: #fff;font-size: 40px
}

.foto_principal .lupa:hover{
    opacity: 1;
}

.quantity{
    border: 2px solid var(--primario);
    display: inline-block;
    position: relative;
    vertical-align: middle;
    width: 225px;
}

.quantity label{
    display: inline-block;
    padding: 0 20px;
    color: var(--secundario);
}

.quantity-controls .fa{
    color: var(--secundario);
}

.quantity-controls{
    display: inline-block;
    position: relative;
}

.quantity-controls span{
    color: #888;
    cursor: pointer;
    height: 48px;
    line-height: 48px;
    position: absolute;
    top: 0;
    width: 26px;
    -webkit-transition: color .15s ease-in-out;
    -moz-transition: color .15s ease-in-out;
    transition: color .15s ease-in-out;

    color: #171717;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.quantity-controls span.right{
    right: 0;
    text-align: left;
}
.lista_productos_sin_stock{
    border: 2px solid red;
    padding: 20px 20px;
    list-style-type: none;
}

.lista_productos_sin_stock li{
    color: #f4573a;
    font-weight: 600;
}
#productos>div {
    padding-right: 23px;
    padding-left: 23px;
}

#cantidad{
    border: 0;
    font-family: inherit;
    font-size: 15px;
    height: 48px;
    line-height: 48px;
    margin: 0 26px;
    outline: 0;
    padding: 0;
    position: relative;
    width: 40px;
    -webkit-appearance: none;

    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.botones_carro .btn-tam{height: 52px; width: 100%;}
.btn-corporativo .btn-carro_portada img {
    height: 20px;
    width: 20px;
    margin-right: 15px;
    border-radius: 0;
}

.titulotag {line-height: 50px;     color: var(--secundario);}
.botones_carro{
    width: calc( 100% - 250px );
    float: right;
}


a.btn-precio {background-color: var(--primario);}
.botones_carro a {color: #fff;}

/************************************
*  Cesta  *
************************************/

.titulares-resumen{color: var(--primario);}
#configurar-cesta h4{color: var(--primario);}

.menu-cesta{position: fixed;top: 0;right: 0px;height: 100vh;width: 480px;background-color: #fff;z-index: 1000;transition: 400ms all linear;box-shadow: 0px 8px 10px -5px rgba(51,51,51,0.2), 0px 16px 24px 2px rgba(51,51,51,0.14), 0px 6px 30px 5px rgba(51,51,51,0.12)}
.menu-cesta .cabecera-cesta{padding-top:35px;background-color: #d9d9d9;height: 90px;position: relative}
.fondo-cesta{height: 100%;width: 100%;position: absolute;top: 0;left: 0;}
.fondo-cesta .overlay-cesta{height: 100%;width: 100%;position: absolute;top: 0;left: 0;background-color: var(--primario)}
.menu-cesta .cabecera-cesta h3{margin: 0;color: #fff;font-size: 30px;font-family: var(--familia_fuente);text-align: center}
.cerrar-cesta{ position: absolute; top: 25px;right: 20px;transition: 200ms all linear;border-radius: 50%;cursor: pointer}
.cerrar-cesta img{height: 40px;width: 40px}

.cuerpo-cesta{height: calc(100vh - 260px);padding: 30px;overflow: scroll}
.pagar-cesta{height: 120px;padding: 0px 30px;}
.pagar-cesta p{text-align: center}
.pagar-cesta p span{font-size: 30px;font-weight: 400;}
.pie-cesta{height: 50px;background-color: #f7f7f7}

.articulo{position: relative}
.articulo img{width: 100%;height: 115px;object-fit: contain}
.articulo h4{font-size: 16px;font-family: var(--familia_fuente);color: #6a6a6a;}
.articulo .precio-articulo{}
.articulo .controles-articulo{height: 30px}
.articulo .controles-articulo .operators{height: 30px;display: inline-flex;align-items: center;justify-content: flex-start}
.articulo .btn-circle{border-radius: 50%;height: 30px;width: 30px;display: inline-flex;justify-content: center;align-items: center;margin-left: 10px;float: right;color: #353535; cursor: pointer; background-color: var(--primario)}
.menu-cesta .icono-cesta{width: auto;height: 25px;margin: 0 6px}
.btn-operator{color: #272727}
.btn-operator:hover,.btn-operator:focus,.btn-operator:active {color: #626062}

#precio_label{text-align: center;}

#manto-cesta, #manto-movil {position:fixed;top:0;left:0;right:0;height:100%;width:100%;opacity:0;z-index:-1}
#manto-cesta.toogled, #manto-movil.toogled{z-index:3; background: #00000078; opacity: 1;}

span.cesta-bono{color: #3c763d}

.btn-cesta{height: 48px;background-color: #272727;display: inline-flex;justify-content: center;align-items: center;border-radius: 0;color: #fff;}

.btn-cesta:hover, .btn-cesta:focus, .btn-cesta:active{color: #fff;background: #272727}

.boton-cesta{cursor: pointer;}

#gastos .radio, #gastos label{margin: 0}
#gastos label{display: flex;align-items: center;justify-content: flex-start}
#gastos .radio .colocar{width: 0px;margin-bottom: 5px}
.marco-gasto{border: 1px solid #ccc;margin-bottom: 10px;padding: 10px 0px}
.interiores a.btn-borrartodo {background-color: var(--primario); color: #fff; position: absolute; right: 0px;top: 15px;}

a#pagar {color: #fff;}

.listado {text-align: justify;}

h3.tipografia {color: var(--secundario)}
.listado ul, .listado li {margin: 0px;padding: 0px;list-style: none;}
.listado li {padding: 20px;background-color: var(--primario_claro);}
.listado li a, .listado li.alt a{font-size: 13px;}
.listado li.alt {background-color: transparent;}
.listado li.alt a {text-decoration: none;}
.listado a {text-decoration: none;}
.listado a:hover, .listado li.alt a:hover {color: var(--secundario);text-decoration: none;}

.textaco img {max-width: 100%;}

/************************************
*             PAGINACION            *
************************************/

.btn-pagination { 
    color: #FFFFFF!important; 
    background-color: var(--primario); 
    border-color: var(--primario);
} 

.btn-pagination:hover, 
.btn-pagination:focus, 
.btn-pagination:active, 
.btn-pagination.active, 
.open .dropdown-toggle.btn-pagination { 
    color: #FFFFFF;
    background-color: var(--primario); 
    border-color: var(--primario); 
} 

.btn-pagination:active, 
.btn-pagination.active, 
.open .dropdown-toggle.btn-pagination { 
    background-image: none; 
} 

.btn-pagination.disabled, 
.btn-pagination[disabled], 
fieldset[disabled] .btn-pagination, 
.btn-pagination.disabled:hover, 
.btn-pagination[disabled]:hover, 
fieldset[disabled] .btn-pagination:hover, 
.btn-pagination.disabled:focus, 
.btn-pagination[disabled]:focus, 
fieldset[disabled] .btn-pagination:focus, 
.btn-pagination.disabled:active, 
.btn-pagination[disabled]:active, 
fieldset[disabled] .btn-pagination:active, 
.btn-pagination.disabled.active, 
.btn-pagination[disabled].active, 
fieldset[disabled] .btn-pagination.active {
    color: #333;
    background-color: var(--primario); 
    border-color: var(--primario); 
} 
