:root { --color1: #1565c0; --color2: #666; --color3: #ddd; --bg-color1: #1565c0; --bg-color2: #f5f5f5; --bg-color3: #eee; --font-size: 16px; --line-height: 1.4; }

/* Títulos */
form.tienda .titulo1 { }
form.tienda .titulo2 { }
form.tienda .titulo3 { }




/* # # # # # # # # # # # */
.tienda .desCat { margin-bottom: 20px; }
input, textarea, button, select { border-radius: 0; background: white; box-shadow: none; }
.compmenutitle { display: none; }

/*  #### ORDENACIÓN ####  */
.orderbycomp { line-height: 20px; text-align: right; }
.orderbycomp select { border: 1px solid #eee; padding: 6px 8px; margin-left: 8px; border-radius: 4px; }
.orderbycomp option { padding: 3px 5px; }

/*MENU EJEMPLO - ELIMINAR */
.compmenu{ margin: 0 0 20px; }
.compmenu > ul{display: flex;background: #1565C0;}
.compmenu li{ display: block; width: 100%; text-align: center;position: relative; }
.compmenu li .asub:after {content:"\f0d7";font-family: "Font Awesome 5 Pro";font-style: normal;margin-left: 4px;font-weight:  600;}
.compmenu li a{color: white;text-decoration: none;padding: 8px;display: block;}
.compmenu li a:hover{ background-color: rgba(0,0,0,0.05); }
.compmenu .mtsumb { position: absolute; width: 100%; top: 100%; left: 0; display: none; z-index: 1; margin: 0; background: #fff; box-shadow: 0 12px 20px rgba(0,0,0,0.2); }
.compmenu li:hover .mtsumb{ display:block; }
.compmenu .mtsumb li { display: flex; border-bottom: 1px solid #ccc; width: 100%; overflow: hidden; text-align: left; border: 1px solid rgba(0,0,0,0.05); align-items: center; }
.compmenu .mtsumb li > span { display: block; width: 100%; height: 100%; }
.compmenu .mtsumb li a { color: #333; text-decoration: none; display: flex; width: 100%; padding: 12px; align-items: center; height: 100%; }
.compmenu .mtsumb li a.select { background-color: rgba(0,0,0,0.05); }
.compmenu .mtsumb li a.select:before { content: "\f0da"; font-family: "Font Awesome 5 Pro"; display: none; }
.compmenu .mtsumb li a.select i { font-style: normal; margin-right: 4px; }

/*  #### MENÚ ####  */
.tienda #menu2 { width: 100%; padding: 0px; text-align: left; margin: 0 auto 20px; }
.tienda #menu2 li { display: inline-block; margin: 2px; }
.tienda #menu2 ul li:hover { opacity: 0.84; }
.tienda #menu2 ul li a { display: inline-block; padding: 8px 16px; border-radius: 3px; text-decoration: none; background-color: var(--bg-color1); color: white; }
.tienda #menu2 .select { opacity: 0.6; }
.tienda #menu2 .todos { position: relative; padding-left: 44px; }
.tienda #menu2 .todos:before { content: "\f177"; font-family: "Font Awesome 5 Pro"; font-weight: 300; position: absolute; font-size: 22px; left: 0; display: block; top: 0; margin-right: 3px; background: rgba(0,0,0,0.2); width: 34px; height: 100%; display: flex; align-items: center; justify-content: center; }
.tienda #menu2 a#pullcomp { color:#fff;font-size: 18px; line-height: 120%; padding: 16px 12px; text-align: center; display: none; position: relative; width: 100%; text-decoration: none; background:var(--bg-color1); }
.tienda #menu2 a#pullcomp i { font-size: 25px; margin-right: 10px; margin-top: -10px; display: inline-block; vertical-align: middle; }


/*  #### PAGINACIÓN ####  */
#paginacion { text-align: center; clear: both; margin-top: 30px; }
#paginacion ul li { display: inline-block; }
#paginacion ul li a { display: block; width: 30px; font-size: 14px; line-height: 30px; border-radius: 6px; text-decoration: none; margin: 5px; color: var(--color2); background-color: var(--bg-color3); }
#paginacion ul li:hover a { opacity: 0.8; }
#paginacion ul li:first-child a, #paginacion ul li:last-child a { width: 74px; font-size: 16px; }
#paginacion ul li .select { font-weight: bold; }
#paginacion ul li .des { opacity: 0.5; cursor: default; }

/*  #### PIE ####  */
.comppie { margin-top: 20px; border-top: 1px solid #ccc; padding-top: 20px; }
.comppie .contantsig { display: flex; justify-content: space-between; }
.comppie .fichaanterior, .comppie .fichasiguiente { display: flex; align-items: center; border-radius: 6px; text-decoration: none; padding: 12px 24px; text-align: center; margin-bottom: 20px; }
.comppie .fichasiguiente { flex-direction: row-reverse; }
.comppie .fichaanterior span, .comppie .fichasiguiente span { overflow: hidden; display: block; text-overflow: ellipsis; white-space: nowrap; }
.comppie .fichaanterior i { margin-right: 10px; line-height: 20px; }
.comppie .fichasiguiente i { margin-left: 10px; line-height: 20px; }
.comppie .fichaanterior { float: left; }
.comppie .fichasiguiente { float: right; }
.comppie .pievolver { display: inline-block; border-radius: 6px; text-decoration: none; padding: 10px 40px; clear: both; line-height: 100%; background-color: var(--bg-color3); color: var(--color2); }
.comppie .pievolver i { margin-right: 10px; font-size: 20px; display: inline-block; }
.comppie .pievolver span, .pievolver i { display: inline-block; vertical-align: middle; }

/*  #### GENERAL RESULTADOS ####  */
.tienda .listado.nocat { padding: 20px; background-color: var(--bg-color2); }
.tienda .listado:not(.noprod):not(.swiper-wrapper) { display: grid; }
.tienda .listado article { display: flex; flex-direction: column; background-color: var(--bg-color2); }
.tienda .listado article .imgcont { overflow: hidden; border:1px solid #eee;position: relative; }
.tienda .listado article.proddestacado .imgcont:after {text-align:center; content: "destacado"; position: absolute; text-transform: uppercase; top: 4px; right: 4px; background: var(--bg-color1);opacity:0.88; padding: 4px 12px; color: white; box-shadow: 0px 0px 4px rgba(0,0,0,0.3); }
.tienda .listado article .imgcont img { object-fit: cover; display: block; width: 100%; -webkit-transition: all 150ms ease-in; -moz-transition: all 150ms ease-in; -ms-transition: all 150ms ease-in; -o-transition: all 150ms ease-in; transition: all 150ms ease-in; }
.tienda .listado article .imgcont:hover img { -moz-transform: scale(1.2); -webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); opacity: 0.7; }
.tienda .listado article .cont { padding: 20px; display: flex; flex-direction: column; flex: 1; justify-content: space-between;text-align:center; }
.tienda .listado article .cont h2 { margin: 0 0 12px; }
.tienda .listado article .cont h2 a { text-decoration: none; color: inherit; }
.tienda .listado article .cont h2 a:hover { text-decoration: underline; }
.tienda .listado article .cont .cat { color:var(--color2);}
.tienda .listado article .cont .info { margin: 0 0 8px;display:none; }
.tienda .listado article:not(.nopermcompra) .dispo { display: none; }
.tienda .listado article.nopermcompra .dispo {text-align:center; font-size: 18px; line-height: 120%; text-transform: uppercase; font-weight: bold; position: absolute; top: 50%; left: 50%; background: rgba(0,0,0,.6); padding: 8px 20px; border-radius: 25px; color: #fff; transform: translate(-50%,-50%); }
.tienda .listado article .cont .desc { display: none; margin: 0 0 20px; max-height: calc(var(--font-size) * var(--line-height) * 4); /* múltiplo del line-height del body (20x4)*/ overflow: hidden; position: relative; }
.tienda .listado article .cont .desc:before { content: "."; position: absolute; width: 40%; color: transparent; top: calc(var(--font-size) * var(--line-height) * 3); right: 0; background: -moz-linear-gradient(left, rgba(245,245,245,0) 0%, rgba(245,245,245,1) 100%); background: -webkit-linear-gradient(left, rgba(245,245,245,0) 0%,rgba(245,245,245,1) 100%); background: linear-gradient(to right, rgba(245,245,245,0) 0%,rgba(245,245,245,1) 100%); }
.tienda .listado article .precio { text-align: center; font-size: 20px; font-weight: bold; }
.tienda .listado article .precio.cons{ font-size: 110%; }
.tienda .listado article .precio a { display: inline-block; border-radius: 3px; text-decoration: none; padding: 8px 12px; margin: 0; background-color: var(--bg-color1); color: white;font-weight:bold; }

/*  #### MODO - 3 por fila ####  */
.tienda.x3 .listado { grid-template-columns: 1fr 1fr 1fr; grid-gap: 16px; }

/*  #### MODO - 4 por fila ####  */
.tienda.x4 .listado { grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 16px; }
.tienda.x4 .listado article .cont { padding: 12px; }

/*  #### MODO ESTILO1 ####  */
.tienda.estilo1 .listado { grid-gap: 20px; }
.tienda.estilo1 .listado article { background: transparent; padding-bottom: 30px; }
.tienda.estilo1 .listado article .cont { padding: 12px 4px; flex-direction: row; }
.tienda.estilo1 .listado article .cont .desc { display: none; }
.tienda.estilo1 .listado article .cont .info { display: none; }
.tienda.estilo1 .listado article .cont h2 { font-size: var(--font-size); line-height: var(--line-height); width: 100%; max-height: calc(var(--font-size) * var(--line-height) * 2); overflow: hidden; position: relative; margin: 0 12px 0 0; text-align: left; }
.tienda.estilo1 .listado article .cont h2:before { content: "."; position: absolute; width: 20%; color: transparent; top: calc(var(--font-size) * var(--line-height));; right: 0; background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); }
.tienda.estilo1 .listado article .precio { margin-left: 16px; text-align: right; flex-shrink: 0;font-size:18px; }
.tienda.estilo1 .listado article .precio a { padding: 0; color: var(--color1); background: transparent; }
.tienda.estilo1 .listado article .precio.cons a { font-size: var(--font-size); line-height: var(--line-height); }

/*  #### MODO ESTILO2 ####  */
.tienda.estilo2.x3 .listado { grid-gap: 8px; }
.tienda.estilo2 article { position: relative; overflow: hidden; }
.tienda.estilo2 article .imgcont > a { display: block; position: relative; background: black; }
.tienda.estilo2 article .imgcont > a > img { display: block; width: 100%; transition: all 150ms ease-in 0s; }
.tienda.estilo2 article .imgcont > a:after { bottom: 50%; color: white; content: "\f067"; font-family: "Font Awesome 5 Pro"; font-weight: 900; font-size: 0; height: 80px; left: 50%; line-height: 80px; opacity: 0; position: absolute; right: 50%; text-align: center; top: 50%; transform: translate(-50%, -50%); transition: all 150ms ease-in 0s; width: 80px; z-index: 1; }
.tienda.estilo2 article:hover .imgcont > a:after { opacity: 1; font-size: 40px; }
.tienda.estilo2 article .imgcont > a:before { position: absolute; width: 100%; height: 100%; content: ""; background-color: rgba(0,0,0,0.5); opacity: 0; transition: all 150ms ease-in 0s; z-index: 1; }
.tienda.estilo2 article:hover .imgcont > a:before { opacity: 1; }
.tienda.estilo2 article .cont { position: absolute; z-index: 2; width: 100%; bottom: 0; padding: 16px; color: white; background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 30%, rgba(0,0,0,0.8) 100%); background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.4) 30%,rgba(0,0,0,0.8) 100%); background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.4) 30%,rgba(0,0,0,0.8) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); }
.tienda.estilo2 article .cont a { color: white; text-decoration: none; display: block; margin-bottom: 0; background: inherit; padding: 0; color: white; }
.tienda.estilo2 article .cont .cont-info .titulo3 { margin-bottom: 4px; font-size: var(--font-size); line-height: var(--line-height); }
.tienda.estilo2 article .precio { text-align: left; }
.tienda.estilo2 article .cont .cont-info .titulo3 a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tienda.estilo2 article .cont .info { display: none; }
.tienda.estilo2 article .cont .contprecio { color: white; display: block; font-size: 140%; line-height: 100%; }
.tienda.estilo2 article .cont .contprecio span { background-color: transparent; }
.tienda.estilo2 article .cont .desc { display: none; }

/* BOLSA */
.carrito a { display: block; float: left; clear: both; text-decoration: none; }
.carrito .separador { font-size: 10px; margin: 0 2px; display: none; }
.carrito .cestaprod { display: flex; align-items: center; justify-content: center; position: relative; font-size: 22px; height: 38px; width: 38px; background: #f5f5f5; border-radius:4px;color:var(--color1);}
.carrito .txtarticulos { display: none; }
.carrito .txteuros { display: none; }
.carrito .importe { display: none; }
.carrito .numArt { position: absolute; top: -4px; right: -4px; background: #d84315; width: 16px; height: 16px; display: flex; justify-content: center; align-items: center; border-radius: 100%; text-align: center; color: white; font-size: 11px; padding-left: 1px; }
.carrito .cestabtn { display: none; }

/* FICHA */
.compfichatitle { display: flex; justify-content: space-between; align-items: center; }
.compfichatitle .hpag { flex-shrink: 0; text-align: right; margin-left: 20px; }
.hpag .fichaanterior, .hpag .fichasiguiente { display: inline-block; border-radius: 6px; text-decoration: none; padding: 5px 10px; overflow: hidden; width: 31px; text-align: center; line-height: 21px; font-size: 20px; }
.hpag .fichaanterior { margin-right: 8px; }
.hpag .fichaanterior i, .hpag .fichasiguiente i { line-height: 20px; }

.producto ol, .producto ul{padding-left: 18px;margin: 0 0 12px;}
.producto .video{ position: relative; padding-bottom: 56.25%; /* 16:9 */ height: 0; margin: 20px 0; clear: both;}
.producto .video:last-child { margin-bottom:0;}
.producto .video > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.fgal { width: 60%; }
.fgal .swiper-container { border: 1px solid #ddd; }
.fgal .swiper-container.swiperthumbs { border:0;background:var(--bg-color2);margin-top:12px;}
.fgal .swiper-slide { position: relative; }
.fgal .swiper-slide .swiper-zoom-container:after{ content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-color: rgba(255,255,255,0.9)}
.fgal .swiper-slide .swiper-zoom-container img{position: relative;z-index:1;cursor: pointer;}
.fgal .swiper-container .swiper-button-prev:before, .fgal .swiper-container .swiper-button-next:before { display: none; }

.ficha .prodcab { display: flex; margin: 0 0 20px; }
.ficha .cont-refdispo { display: flex; align-items: center; padding:0 0 12px; border-bottom: 2px dotted rgba(0,0,0,.1); margin: 0px 0 20px; line-height:120%; }
.ficha .prodref { font-size: 100%; opacity: 0.7; }
.ficha .proddispo:last-child:first-child { margin-left: 0; padding-left: 0; border-left: 0; }
.ficha .proddispo { font-weight: bold; color: var(--color1); margin-left: 12px; padding-left: 12px; border-left: 4px solid #ccc; display:inline-block;}
.ficha .proddispo i{font-size:90%;}
.ficha .prodinfo { overflow: hidden; display: flex; width: 40%; flex-direction: column; margin-left: 20px; }
.ficha .prodinfo .prodinfocab { flex:1;}
.ficha .prodinfo .titulo1 { margin: 0 0 8px; }
.ficha .prodinfo .prodcat { margin: 0 0 12px; border-bottom: 1px solid rgba(0,0,0,0.1); }
.ficha .prodinfo .prodres { margin: 0 0 20px; }
.ficha .prodinfo .prodres p:not(:last-child) { margin:0 0 12px;}
.ficha .prodinfo .prodres a { text-decoration: underline; color: var(--color1) }
.ficha .prodinfo .spnGe { color: var(--color2); font-size: 120%; font-weight:bold; }
.ficha .prodinfo #spnPrecioProducto { font-size: 120%; color: var(--color1); margin-bottom: 8px; }
.ficha .prodinfo .btsficha { margin: 0; display: flex;flex-direction:column;}
.ficha .prodinfo .btsficha a { border-radius: 4px; text-align: center; display: block; padding: 8px 20px; margin: 0; text-decoration:none;}
.ficha .prodinfo .btsficha i { font-size: 22px; margin-right: 10px; display: inline-block; vertical-align: middle; margin-top: -2px; }

.ficha .prodinfo .btsficha p:nth-child(2) { border-radius: 0 0 4px 4px !important; }
.ficha .prodinfo .btsficha .error { color: red; }
.ficha .prodinfo .btsficha .error:before { content: "\f06a"; font-family: "Font Awesome 5 Pro"; margin-right: 5px; }

.ficha .prodinfo #dvObserv { text-align: left; background: #f5f5f5; border: 1px solid #eee; padding: 16px; margin-bottom: 20px; }
.ficha .prodinfo #dvObserv #spnObsProdTitle { font-weight: bold; line-height: 120%; margin-bottom: 8px; text-transform: uppercase; }
.ficha .prodinfo #dvObserv #spnObsProdDescrip { line-height: 120%; margin-bottom: 8px; }
.ficha .prodinfo #dvObserv #txtObsProd { width: 100%; padding: 8px; border-radius:8px; border:1px solid #ccc;margin-top:8px;}
.ficha .prodinfo #btAddToCart { border: 0; display: block; width: 100%; text-align: center; align-self: flex-end; background: var(--bg-color1); color: white; text-transform:uppercase;}
.ficha .prodinfo #btAddToCart2 { display: none; }
.ficha .prodinfo #btConsultar { border: 0; display: block; width: 100%; text-align: center; align-self: flex-end; background: var(--bg-color1); color: white; text-transform: uppercase; }

.ficha .proddesc { padding: 20px; margin: 0 0 20px; background: rgb(245,245,245); background: -moz-linear-gradient(left, rgba(245,245,245,1) 0%, rgba(255,255,255,1) 100%); background: -webkit-linear-gradient(left, rgba(245,245,245,1) 0%,rgba(255,255,255,1) 100%); background: linear-gradient(to right, rgba(245,245,245,1) 0%,rgba(255,255,255,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#ffffff',GradientType=1 ); }
.proddesc .titulo2 { margin: 0 0 20px; color: var(--color1); }

/* FORMULARIO */
#dvConsultar { padding: 20px; border: 4px dashed var(--color3); }
.mtf { display: flex; align-items: center; }
.mtf .mtftexto { width: 100%; }
.mtf .mtftexto .titulo3 { margin: 0 0 8px; color:var(--color1); }
.mtf .mtftexto p { }
.mtf .mtfbotones { flex-shrink: 0;display:flex;align-items:center; }
.mtf .mtfbotones a { display: inline-flex; align-items: center; padding: 8px 12px; text-decoration: none; border-radius: 4px; font-size: 120%; margin: 4px; background-color: var(--color2); color:white; }
.mtf .mtfbotones a { }
.mtf .mtfbotones a i { margin-right: 8px; }
.mtf .mtfbotones #aTelf2:before { content: "\f095"; font-family: "Font Awesome 5 Pro"; margin-right: 4px; transform: scaleX(-1); font-weight: 600; }
.compform { overflow: hidden; padding: 20px; border-top: 1px dashed #ccc; line-height: 20px !important; clear: both; background-color: rgba(0,0,0,0.05); }
#dvConsultarForm { display: none; }
.ficha .compform { margin-top: 20px; /* text-align: center; */ /* clear:both; */ }
.compform strong { display: inline-block; }
.compform strong .tlfn i { display: none; }
.ficha .compform { border-top: 0 }
.compform h2 { margin-bottom: 10px; }
.compform p { margin-bottom: 20px; }
.compform p a { text-decoration: none; color: inherit; }
.compform .input, .compform .textarea { width: 100%; padding: 8px; border: 1px solid rgba(0,0,0,0.1); margin-bottom: 2%; display: block; border-radius: 4px; }
.compform #txtEmailUsuario {text-transform:lowercase;}
.compform .compformCont { display: flex; justify-content: space-between; }
.compform .compformCont > div { width: 49.5%; }
.compform .compformCont > div > span { display: block; padding: 8px 0; }
.compform .compformCont > .compformContRight { display: flex; }
.compform .compformCont > .compformContRight .text { flex: 1; display: flex; }
.compform .text .textarea { resize: vertical; flex: 1; }
.compform .suma { float: left; }
.compform .suma .input { width: 80%; float: left; }
.compform .suma > span { width: 20% !important; float: left !important; }
.compform #boton_contenedor { width: auto; text-align: center; clear: both; float: none; }
.compform .btnEnviar { display: inline-block; margin: 0; padding: 10px 40px; border: 0; width: auto; border-radius: 6px; background-color: var(--bg-color1); color: white; }
#resultform { text-align: center; margin: 10px 0 0; }
.compform .ok { color: green; }
.compform .ok:before { content: "\f00c"; display: inline-block; font-family: "Font Awesome 5 Pro"; font-weight: 900; display: none; margin-right: 5px; }
.compform .error { color: red; }
.compform .error:before { content: "\f06a"; font-family: "Font Awesome 5 Pro"; font-weight: 900; display: inline-block; margin-right: 5px; }
.compform > .termcond { width: 100%; margin: 0 auto; float: none !important; clear: both; text-align: center; }
.compform .control { display: inline-block; height: 20px; position: relative; width: 20px; }
.compform .checkbtn { padding: 0; }
.compform > .pLegal { font-size: 80%; line-height: 140%; margin-top: 12px; width: 100%; opacity: .7; }
.compform > .pLegal a { text-decoration: underline; }

/* DESCARGA */
.descarga { margin: 30px 0 0; text-align: left; }
.descarga-titulo.titulo2 { margin: 0 0 12px; }
.descarga .descargacont { text-align: center; border-radius: 6px; padding: 10px; display: inline-block; max-width: 300px;background: #fff; margin: 2px 0; border:1px solid #eee;}
.descarga .descargacont p { display: block; vertical-align: middle; padding:0 0 8px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; max-width: 100%; margin: 0; }
.descarga .descargacont p .nombrearchivo { }
.descarga .descargacont .boton { display: inline-flex; align-items: center; justify-content: center; line-height: 40px; text-decoration: none; padding: 0 20px; border-radius: 6px; background-color: var(--bg-color1); color: white; }
.descarga .descargacont .boton span { }
.descarga .descargacont .boton:before { content: "\f381"; font-family: "Font Awesome 5 Pro"; font-weight: 900; font-size: 16px; display: inline-block; margin-right: 8px; }


/* Leyenda */
.kmodal.disp ul { list-style: none; border: 1px solid rgba(0,0,0,.1);}
.kmodal.disp ul li { border: 1px solid rgba(0,0,0,.1); padding: 12px 20px; text-align: left; order: 2; }
.kmodal.disp ul li span:first-child{display:block;text-transform:uppercase;font-weight:bold;}
.kmodal.disp ul li.dispprod { background: #f0f0f0; padding: 12px 20px 12px 13px; border-left: 8px solid #999; order: 1; }
.kmodal.disp .titulo-leyenda {font-weight:bold;font-size:24px;line-height:140%; color:var(--color1);}

/* CARRITO */
.cestavacia { padding: 40px; text-align: center; background-color: var(--bg-color2); }
.seguircomprando { overflow: hidden;margin : 0 0 20px; }
.seguircomprando a{ display: inline-block; padding: 8px 16px; background: var(--bg-color1);color:white; text-decoration: none; border-radius: 4px; }
.seguircomprando a:before { content:"\f104"; font-family: "Font Awesome 5 Pro"; margin-right: 8px; }

#dvCartConProds{padding: 0 0 20px;overflow: hidden;}
#dvCartConProds .titulo2{margin: 0 0 12px;border-bottom: 3px dashed rgba(0,0,0,0.1);padding-bottom: 12px;display: flex;align-items:  center;/* background-color: rgba(0,0,0,0.1); *//* padding: 8px; */}
#dvCartConProds .titulo2 i{font-size: 20px;margin-right: 8px;line-height: 100%;/* border-right: 1px solid #aaa; *//* padding-right: 8px; */width: 40px;height: 40px;background-color: white;border-radius: 100%;padding: 8px;color: var(--color1);text-align:  center;display:  inline-flex;align-items:  center;justify-content:  center;}
#dvCartConProds p{ margin: 0;}
#dvCartConProds input[type="checkbox"], input[type="radio"] {margin-right: 5px;}
#dvProds { width: 100%; margin: 0 0 20px; padding: 10px; background: #f5f5f5; border-radius: 4px; }
#dvProds a{ color: inherit; }
#dvProds table{ width: 100%; text-align: center;}
#dvProds table tr:first-of-type{ border-bottom: 1px solid rgba(0,0,0,0.05); padding: 4px}
#dvProds table tr:first-of-type th{padding: 4px;}
#dvProds table #trLineaTotal td{  border:0; }
#dvProds table .prodImporte {text-align:right;}
#dvProds table td { border-bottom: 1px solid rgba(0,0,0,0.05); padding: 4px; }
#dvProds table tr td:first-child, #dvCartConProds #dvProds table tr th:first-child{ text-align: left; }
#dvProds table tr td:first-child a{ display:flex; align-items: center; }
#dvProds table tr td:first-child a img{ width: 48px; margin-right: 8px; overflow:hidden;}
#dvProds table .prodUds { width: 60px; }
#dvProds table .prodImporte { text-align: right; width: 140px; }
#dvProds table .prodEliminar { text-align: center; width: 68px; }
#dvProds table.tbTotales { margin-top: 20px; }
#dvProds table.tbTotales td { text-align: right !important; }
#dvProds table.tbTotales tr, #dvPedCarrito #dvProds .tbTotales td { border: 0 !important; }


.btncant { }
.btncant a{ display: block; line-height: 10px; font-size: 14px}
.btnremove{color: #dd2c00 !important;}

#dvDatosFact{ background-color: rgba(0,0,0,0.05); padding: 20px; }
    #dvDatosFact li span { font-size: 14px; line-height: 18px; display: block; }
#dvDatosEnvioWrapper { background-color: rgba(0,0,0,0.05); padding: 20px; }
    #dvDatosEnvioWrapper #dvDireccionEnvio { margin-top: 20px; margin-top: 20px; padding: 16px 20px; background: linear-gradient(148deg, rgb(255 255 255 / 80%), transparent, transparent); border-radius: 4px; }
        #dvDatosEnvioWrapper #dvDireccionEnvio .checkbtn { margin: 0; }
        #dvDatosEnvioWrapper #dvDireccionEnvio #dvDatosEnvio { margin: 12px 0 0; }
        .carritoright { /* padding: 20px; */ /* background-color: rgba(160, 200, 255, 0.2); */ }

/*MIGA DE PAN*/
#dvBreadCrumb {}
#dvBreadCrumb ol{display:  flex;align-items:  center;padding: 0;margin: 0 0 20px;flex-flow: row wrap;}
#dvBreadCrumb ol li{ display: inline-block;}
#dvBreadCrumb ol li a { text-decoration: none; color: inherit; }
#dvBreadCrumb ol li a:hover{ text-decoration: underline; }
#dvBreadCrumb ol li:not(:last-child):after{content:"\f105";font-family: "Font Awesome 5 Pro";margin: 0 8px;font-size: 12px;/* font-weight: 600; */}


.carritoleft {float: left;width: 60%;padding-right: 20px;}
.carritoright {float: left;width: 40%;}
.carritoright > *, .carritoleft > *{margin: 0 0 20px;padding: 20px;background-color:  rgba(220, 220, 220, 0.4);border-radius: 4px;}
.carritoright #dvImporte{ background-color:  rgba(220, 220, 220, 0.8); }
.dvImportebtn{ display: flex; justify-content: space-between; align-items: center;flex-wrap:wrap; }
.carritoright #dvImporte .dvImportebtn a{ border: 0; padding: 8px 12px; border-radius: 4px; margin: 0; background: white; color: inherit; text-decoration: none;margin:1px 0;}
.carritoright #dvImporte .dvImportebtn a i{ margin-right: 4px; }
.carritoright > *:last-child, .carritoleft > *:last-child{ margin: 0; }
#dvCartConProds #rbtTipoFact{ margin: 0 0 12px; }
#dvCartConProds #rbtTipoFact tr{ display: block; float: left; margin-right: 20px;}
#dvCartConProds #rbtTipoFact tr:last-child{ margin: 0; }
#dvCartConProds ul{ overflow: hidden; }
#dvCartConProds li { list-style: none; margin: 0 0 10px; float: left; width: 49%;}
#dvCartConProds li:nth-child(2n){ float: right; }
#dvCartConProds li:last-child{ margin:0; }
#dvCartConProds input[type="text"], #dvCartConProds textarea, #dvCartConProds select{width: 100%;border: 1px solid rgba(0,0,0,0.1);padding: 4px;margin-top: 2px;border-radius:  4px; height: 32px; line-height: 32px;}
#dvCartConProds textarea { height: auto; min-height: 120px; line-height: 140%;}
    #dvCartConProds #tbFactEmail, #dvCartConProds #tbFactEmailRpt { text-transform: lowercase; }
/*#dvDatosEnvio { margin-top: 10px; }*/
#cbFormasEnvio{ margin: 0 0 10px; }
#rbtFormasPago{ margin: 0 0 10px; }
#rbtFormasPago tr{ margin: 0 0 5px; display: block; }
#pDescFormaEnvio, #pDescFormaPago{ font-style: italic; }
#pDescFormaEnvio:before, #pDescFormaPago:before { content:"\f05a"; font-family: "Font Awesome 5 Pro";display:none;}
#pDescFormaEnvio i, #pDescFormaPago i { font-style: normal; margin-right: 5px;}
#tbObservaciones{ width: 100%; resize: vertical; padding: 4px; border: 1px solid rgba(0,0,0,0.1); margin-top: 4px;}
#dvCartConProds .carritosubt{padding: 20px;margin: 0 0 20px;background-color: #fff;border-radius: 4px;}
#dvCartConProds .carritosubt li{ width: 100%; float: none; display: flex; border-bottom: 1px solid rgba(0,0,0,0.05); }
#dvCartConProds .carritosubt li > span:first-child { width: 100%; margin-right: 10px; text-align: left; }


#sumSiguiente { color: red; margin: 0 0 20px; line-height: 140%; }
.btnsiguiente { border: 0; padding: 10px 20px; border-radius: 4px; /* float: right; */ margin: 0; margin: 1px 0; background: var(--bg-color1); color: #fff;}

#dvPedCarrito{overflow: hidden;}
#dvPedCarrito > *{ margin: 0 0 40px; }
    #dvPedCarrito .dvResumenTitle { margin: 0 0 8px; border-bottom: 1px solid rgba(0,0,0,0.1); padding-bottom: 4px; display: flex; justify-content: space-between; align-items: center;}
        #dvPedCarrito .dvResumenTitle .titulo2 { margin: 0; }
    #dvPedCarrito .dvResumenTitle a { display: inline-block; margin-left: 12px; background: rgba(0,0,0,0.05); border-radius: 4px; text-decoration: none; color: #666; font-size: 12px; line-height: 16px; text-transform: uppercase; padding:4px 8px;}
    #dvPedCarrito p { margin: 0; }
#dvPedCarrito > *:nth-child(2n+1){ float: left; width: 50%; padding-right: 20px; clear: both; }
#dvPedCarrito > *:nth-child(2n){ float: right; width: 50%; padding-left: 20px; clear: none; }
#dvPedCarrito .dvProdCont{ float: none; width: 100%; clear: both; padding: 0px; margin: 0; }

#dvPedCarrito ul{ overflow: hidden;}
#dvPedCarrito li { list-style:none; margin: 0 0 8px;}
#dvPedCarrito li:last-child{ margin:0; }

.confpago{  overflow: hidden; padding:0 0 20px}
.confpago > div {  border-radius: 4px; float: right; }
.confpago .obscajon { padding: 20px; border-radius: 4px; margin: 0 0 20px;background-color:var(--bg-color2); }
.confpago .obscajon .titulo2{ margin: 0 0 10px; }
.confpago #dvObservaciones{font-style: italic; }
#sumConfirmarPedido { text-align: center;  color: red; padding: 12px;}

#dvPedCarrito #dvProds table tr:first-of-type th:first-child{ text-align: left;  }
#dvPedCarrito #dvProds{padding: 10px;}
#dvPedCarrito #dvProds table{ width: 100%; text-align: center;}
#dvPedCarrito #dvProds table tr:first-of-type{ border-bottom: 1px solid rgba(0,0,0,0.1); padding: 4px}
#dvPedCarrito #dvProds table tr:first-of-type th{ padding: 5px; }
#dvPedCarrito #dvProds table #trLineaTotal td{  border-bottom:0; }
#dvPedCarrito #dvProds table td{ padding: 12px 8px; }
#dvPedCarrito #dvProds table.tbTotales td { padding:8px; }

#dvPedCarrito #dvProds table #trLineaProd td { border-bottom: 1px solid rgba(0,0,0,0.05); }
#dvPedCarrito #dvProds table tr:not(#trLineaProd) td:nth-last-child(2), #dvPedCarrito #dvProds table tr:not(#trLineaProd) td:last-child{ border-bottom: 1px solid rgba(0,0,0,0.05); }
#dvPedCarrito #dvProds table tr td:first-child, #dvCartConProds #dvProds table tr th:first-child{ text-align: left; }
#dvPedCarrito #dvProds table tr:last-child td{ border: 0 !important; }


#dvPedCarrito input[type="checkbox"], input[type="radio"] { margin-right: 5px; }
#dvPedCarrito .dvTitObs { display: block; border-bottom: 1px solid rgba(0, 0, 0, 0.1); font-size: 12px; line-height: 14px; padding: 0 0 10px; letter-spacing: 2px; font-weight: bold; }
.confpagobtn{display: flex;align-content: center;padding:  0 12px;align-items:center;}
.confpagobtn .checkbtn {margin:0 16px 0 0;}
.confpagobtn .btnsiguiente { float: none; background-color: var(--bg-color1); color: white; }
.btnacepto{margin: 0 10px 0 0;text-align: right;/* align-self: center; */}
.btnacepto > * { display: inline-block;text-align:left; font-size:90%;line-height:140%;}
.btnacepto input{ margin-right: 5px; }



/* CKECKS*/
.checkbtn {position: relative;display: inline-block;margin-bottom: 10px;padding-left: 25px;line-height: 24px;overflow: hidden;min-height: 30px;padding-top: 2px;}
.checkbtn input { position: absolute; z-index: -1; opacity: 0; }
.checkbtn .control__indicator{ position: absolute; top: 5px; left: 0; width: 20px; height: 20px; background: white; border: 2px solid #ccc; border-radius: 4px; text-align: center; line-height: 16px; cursor: pointer; }
.checkbtn .control__indicator:after {content: ''; position: absolute; display: block; }
.checkbtn .control--checkbox .control__indicator:after { font-family: "Font Awesome 5 Pro"; content: "\f00c"; width: 100%; text-align: center; font-size: 16px;display:none;}
.checkbtn input:checked ~ .control__indicator:after {  display: block; }
.checkbtn .control--checkbox input:disabled ~ .control__indicator:after { border-color: #7b7b7b;}
.radiobtn input[type="radio"]{ opacity: 0; position: absolute; z-index: -1; }
.radiobtn label:before{ content: ""; display: inline-block; height: 16px; width: 16px; background: white; border: 2px solid #ccc; border-radius: 100%; text-align: center; line-height: 16px; margin-right: 5px; vertical-align: middle; cursor: pointer; }
.radiobtn input[type="radio"]:checked ~ label:before { background: #666666; background: -moz-radial-gradient(center, ellipse cover, #666666 0%, #666666 40%, #ffffff 50%, #ffffff 100%, #ffffff 100%); background: -webkit-radial-gradient(center, ellipse cover, #666666 0%,#666666 40%,#ffffff 50%,#ffffff 100%,#ffffff 100%); background: radial-gradient(ellipse at center, #666666 0%,#666666 40%,#ffffff 50%,#ffffff 100%,#ffffff 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#ffffff',GradientType=1 ); }

/*#dvDatosEnvioWrapper .checkbtn {padding-top:6px;}*/

/* ##### TIENDA ##### */


/* ERROR 404*/
.dvError404{  }
.dvError404 .btn404 a { display: inline-block; margin-right: 10px; padding: 8px 16px; border-radius: 4px; text-decoration: none; margin: 0 10px 10px 0; background: var(--bg-color2); }
.dvError404 p{ margin: 0 0 20px; }


/* CGC */
#secCGC .enc { font-weight: bold; margin: 0 0 8px; font-size: 120%; }


/* ### CÓMO COMPRAR ###*/
.comocomprar { }
.comocomprar div:not(:last-child){ margin: 0 0 20px; }
.comocomprar .ccpago{ }
.comocomprar .ccenvio{ }
.comocomprar .ccenvio .ccenvioprecio{display: inline-block;padding: 4px; opacity: 0.8;}

.comocomprar .ccenvio, .comocomprar .ccpago, .comocomprar .cccomprar{ padding: 20px; background-color: rgba(0,0,0,0.05); border-radius: 4px; }
.comocomprar .ccenvio h3, .comocomprar .ccpago h3{ margin: 0 0 4px; }
.comocomprar .ccenvio h3:before, .comocomprar .ccpago h3:before{ content: "\f101"; font-family: "Font Awesome 5 Pro"; margin-right: 4px}

/*  #### MOSAICO SWIPER ####  */
.mosaico.tienda { position: relative; }
.mosaico.tienda .swiper-wrapper { height: inherit; }
.mosaico.tienda .swiper-slide { height: inherit; flex-direction: column; display: flex; }
.mosaico.tienda .swiper-wrapper.listado article .cont { padding: 16px; }
.mosaico.tienda .swiper-wrapper.listado article .cont .titulo3 { font-size: 20px; line-height: 120%; }
.mosaico.tienda .swiper-wrapper.listado article .precio a span.cons { font-size: 16px; line-height: 120%; }
.mosaico.tienda .swiper-wrapper.listado article .precio a span { font-size: 20px; line-height: 120%; }
.mosaico.tienda .swiper-pagination { position: static; margin-top: 20px; }

/*BUSCADOR*/
.dvFiltrar { display: flex; justify-content: space-between; margin: 0 0 20px; }
.searchMt { display: flex; width: 100%; max-width: 280px; margin-right: 30px; }
.searchMt input { background: #f0f0f0; padding: 4px 12px; border-radius: 4px 0 0 4px; width: 100%; outline: 0; border: 0; }
.searchMt input:focus { background: #f5f5f5; }
.searchMt input::placeholder { font-style: italic; }
.searchMt button { background: #333; color: #fff; padding: 4px 12px; border-radius: 0 4px 4px 0; flex-shrink: 0; line-height: 32px; border: 0; }
.searchMt button span{ display: none; }
.notDer .searchMt { margin: 0 0 20px;}

/* pedido finalizado */
#pTitulo { color: #0B8900; }
#pResumen ul { margin: 0 0 20px; background: #e1f1e0; padding: 20px 20px 20px 40px; }
#pResumen ul li { list-style: disc outside; }
#pResumen ul li:not(:last-child) { margin-bottom: 8px; }

/*MENSAJE ESTADO*/
#catalogomt_dvCatalogo { color: #664d03; background-color: #fff3cd; border: 1px solid #ffecb5;  padding: 12px; border-radius: 4px; margin: 12px auto; text-align: center; font-weight: bold; }
#catalogomt_pMsjCatalogo { margin: 0 auto 8px;}
#catalogomt_pMsjVolvemos { margin: 0; }

@media screen and (max-width: 1280px) { .tienda.x4 .listado { grid-template-columns: 1fr 1fr 1fr; }
    .tienda.estilo1 .listado article .cont { flex-direction: column; justify-content: flex-start; }
    .tienda.estilo1 .listado article .precio { margin: 4px 0 0; text-align: left; }
    
}
@media screen and (max-width: 800px) {
.mtf .mtfbotones { flex-direction: column; }

.compform .compformCont { display: block; }
.compform .compformCont > div { width: 100%; }
.compform .text .textarea { min-height: 80px; }

.tienda.x3 .listado { grid-gap: 12px; }
.tienda.x3:not(.estilo1) .listado article .cont { padding: 12px; }
.tienda.x4 .listado { grid-gap: 12px; }
    

.tienda #menu2 a#pullcomp { display: block; }
.tienda #menu2 { width: 100%; max-width: 640px; margin: 0 auto 20px; overflow: hidden; border-radius: 6px; }
.tienda #menu2 ul { display: none; height: auto; }
.tienda #menu2 ul li { width: 100%; float: none; margin: 0; }
.tienda #menu2 ul li a, .tienda .compmenu #menu2 ul li a { border-top: 1px dotted #ccc; width: 100%; line-height: 34px; display: block; border-radius: 0; text-align: center; }
.tienda #menu2 .select { font-weight: bold; }
.tienda #menu2 .todos { margin: 0 !important; border-top: 2px dashed #fff !important; border-left: 0; }

.compfichatitle .hpag{ display: none; } /* opcional */
.compgal .compgalcontrol.prev i{ left: 0; opacity: 1;}
.compgal .compgalcontrol.next i{ right: 0; opacity: 1; }


.carritoleft, .carritoright { float: none; width: 100%; margin: 0 0 20px; padding: 0; }
#dvPedCarrito > *:nth-child(2n+1), #dvPedCarrito > *:nth-child(2n){ float: none; width: 100%; padding: 0px; clear: both; }




#dvProds table .prodImporte { width:90px;}
#dvProds table .prodUds { width: 40px; }
#dvProds table .prodEliminar { width: 34px; }

.btncant { display: flex; flex-direction: column; }
.btncant a{ display: inline-block; margin: 0 10px;}
.btncant a:first-child{ float: right; }
.btncant a:last-child{ float: left; }


#dvProds table #trLineaTotal{ font-weight: bold; border-top: 1px solid rgba(0,0,0,0.05); }
#dvProds table #trLineaTotal{ padding-bottom: 0; }

/* FORMULARIO */
.compform > div{ width:100%; clear: both;}
.compform .suma > span{ text-align: center; }
}


@media screen and (max-width: 767px) {
    .compform .compformCont { display: block; }
    .compform .compformCont > div { width: 100%; }
    .compform .text .textarea { min-height: 80px; }

    .tienda.x3 .listado { grid-template-columns: 1fr 1fr; }
    .tienda.x4 .listado { grid-template-columns: 1fr 1fr; }

    .compfichatitle { flex-direction: column-reverse; align-items: initial; }
    .compfichatitle .hpag { margin: 0 0 8px; }

    .ficha .prodcab { flex-direction: column; }
    .ficha .prodinfo { display: block; width: 100%; padding: 0; margin: 20px 0 0; }
    .ficha .fgal { width: 100%; }
    .mtf {flex-direction:column;text-align:center;}
    .mtf .mtfbotones { flex-direction: row; justify-content: center;margin-top:12px; }

    .searchMt { margin: 0 0 20px 0; max-width: 100%; }
    .dvFiltrar { flex-direction: column; align-items: center; }
}



@media screen and (max-width: 500px) {
    .tienda .listado article .cont .desc { margin: 0 0 20px; max-height: calc(var(--font-size) * var(--line-height) * 2); }
    .tienda .listado article .cont .desc:before { top: calc(var(--font-size) * var(--line-height)); }
    .tienda.x3 .listado { grid-template-columns: 1fr; }
    .tienda.x4 .listado { grid-template-columns: 1fr; }
    .mtf .mtfbotones { flex-direction: column; }
    .fgal .swiper-container .swiper-button-prev:before, .fgal .swiper-container .swiper-button-next:before { display: block; }
    .fgal .swiper-container .swiper-button-prev:after, .fgal .swiper-container .swiper-button-next:after { display: none; }

    #dvConsultar { padding: 16px; }
    .ficha .compform { padding: 16px; }

    #paginacion ul li { display: none; width: 49%; }
    #paginacion ul li:first-child { display: block; float: left; }
    #paginacion ul li:last-child { display: block; float: right; }
    #paginacion ul li:first-child a, #paginacion ul li:last-child a { width: 100%; margin: 0; line-height: 42px; font-size: 20px; }

    .comppie { text-align: center; }
    .comppie .fichaanterior, .comppie .fichasiguiente { width: 30%; font-size: 20px; justify-content: center; }
    .comppie .fichaanterior span, .comppie .fichasiguiente span { display: none; }
    .comppie .fichaanterior i, .comppie .fichasiguiente i { float: none; margin: 0px; }

    .descarga .descargacont { max-width: 100%; width: 100%; }

    /* FORMULARIO */
    .compform { text-align: center; padding: 16px; }
    .compform strong { display: block; }
    .compform strong .tlfn i { display: inline-block; }
    .compform strong .tlfn { display: inline-block; padding: 10px 40px; background: white; border-radius: 6px; font-size: 20px; margin: 5px; }
    .compform .text .textarea { height: 150px; }
    .compform .suma > span, .compform .suma .input { width: 100%; }

    #dvCartConProds li { width: 100%; }

    .confpago > div { float: none; }
    .confpagobtn { flex-direction: column; }
    .confpagobtn .checkbtn { margin:0;}
    .confpagobtn .btnacepto { text-align: center; }
    .confpagobtn .btnsiguiente { margin-top: 20px; }
    .compgal .thumbs a { width: 18%; margin: 1%; }
    .carritoright > *, .carritoleft > * { padding:16px;}

    #dvProds table tr td:first-child a img { width: 38px; min-width: 38px; overflow: hidden; }
    #dvProds table th { font-size: 13px; line-height:140%;}
    #dvProds table td { font-size: 14px; line-height: 140%; }
    #dvProds table.tbTotales { margin-top: 12px; }

    #dvProds table .prodImporte { width: 74px; }
    #dvProds table .prodUds { width: 40px; }
    #dvProds table .prodEliminar { width: 32px; }

    .confpago .obscajon { padding:16px;}
}


/* galería ficha (modal) */
.Galeria { display: none; opacity: 0; position: fixed; z-index: 99; width: 100%; height: 100%; background: rgba(0, 0, 0, .9); font: normal 14px/19px Arial, sans-serif; text-align: center; color: white; overflow: auto; top: 0; left: 0; }
.Galeria .position-relative { position: relative; height: 100%; }
.Galeria .show-table { width: 100%; height: 100%; display: table; }
.Galeria .show-table-cell { width: 100%; height: 100%; vertical-align: middle; padding-top: 30px; display: table-cell; }
.Galeria .num { position: fixed; left: 20px; top: 68px; z-index: 1; }
.Galeria .titulo { position: fixed; bottom: 17px; left: 20px; z-index: 2; }
.Galeria .botones { position: absolute; width: 100%; height: 100%; }
.Galeria .botones .left { position: absolute; left: 10px; width: auto; height: 100%; cursor: pointer; z-index: 2;}
.Galeria .botones .left i { text-indent: -4px; }
.Galeria .botones .right { position: absolute; right: 10px; width: auto; height: 100%; cursor: pointer;  z-index: 2;}
.Galeria .botones .right i { text-indent: 4px; }
.Galeria .botones .left i,
.Galeria .botones .right i { position: relative; top: 46%; width: 52px; height: 52px; background: white; color: black; line-height: 54px; opacity: .5; border-radius: 26px; font-size: 34px; }
.Galeria .wrapper { width: 100%; margin: 0 auto; box-sizing: border-box; }
.Galeria .wrapper .contenido { max-width: 1280px; width: 100%; margin: 20px auto; box-sizing: border-box; padding: 0 12px 0px; position: relative; z-index: 1;}
.Galeria .close { position: fixed; z-index: 3; top: 0; right: 0; width: 138px; height: 50px; line-height: 50px; background: white; color: black; text-align: center; font-size: 42px; cursor: pointer; }
.Galeria .content { width: 100%; height: 100%; margin: 0 auto; background: white; }
.Galeria .contenido img { border-radius: 10px; max-width: 100%; }

