@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/* CSS Document */


html, body {
  padding: 0;
  margin: 0;
  height: 100%;
  width: 100%;
  font-size:10px;
  text-decoration:none;   
  font-family: 'Poppins', sans-serif;;
  font-weight: 300;
}	
.animation {
    -webkit-transition: all .25s ease-out;
  	-moz-transition: all .25s ease-out;
  	-o-transition: all .25s ease-out;
  	transition: all .25s ease-out;
}
.main_align {
display: table;
width: 100%;
height: 100%;
}
.align {
	display: table-cell; 
	vertical-align: middle;
}
button {
outline: none;
}
/*HEADER*/

.search {
	width: calc(100% - 8rem);
    margin: 2rem;
	z-index: 51;
	top: 0;
    border-radius: 2rem;
	left: 0;
    padding: 2rem;
    position: fixed;
    background-color: #FFF;
    display: none;
}
.field-search {
	border: none;
	color:#000;
	width:calc(100% - 7rem);
	height: 6rem;
	text-decoration:none;
	font-size:3rem;
    font-weight: 200;
	background-color: transparent;
	display: inline-block; 
    vertical-align: middle;
	outline:none;
    appearance:none;
	resize:none;
}
.send-search {
	background-color: transparent;
    color: transparent;
    width: 6rem;
    height: 6rem;
    border: none;
	display: inline-block; 
    vertical-align: middle;
    outline:none;
    appearance:none;
    resize:none;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-image: url(images/icon-search.svg);
}

header {
	width: calc(100% - 8rem);
    margin: 2rem;
    display: table;
	z-index: 50;
	top: 0;
    border-radius: 2rem;
	left: 0;
    padding: 2rem;
    position: fixed;
    background-color: #FFF;
    box-shadow: 0 5px 50px -10px rgba(0,0,0,0.5);
}

.logo {
width: 18rem;
display: inline-block;
vertical-align: middle;
}
.logo img {
width: 100%;
height: auto;
display: block;
}
.nav {
display: inline-block;
vertical-align: middle;
width: calc(100% - 24rem);
justify-items: right;
text-align: right;
margin-left: 4rem;
}
.nav .align {
display: initial;

}



.menu, .nav .drop {
	font-size:1.4rem;
    margin-left: 4rem;
	color:#202c44;
	text-decoration:none;
	text-transform:uppercase;
    display: inline-block;
    vertical-align: middle;
	cursor: pointer;
    letter-spacing: .2rem;
    position: relative;
    appearance: none;
    border: none;
    background-color: transparent;
}
.nav .drop {
background-image: url("images/arrow-down-black.svg");
background-position: right center;
background-repeat: no-repeat;
background-size: 2rem auto;
padding-right: 3rem;
}


.menu-content {
width: 100%;
  overflow: hidden;
  height: 0;
  transition: height 0.3s ease;
  display: none;
}
.menu-content.show {
display: block; /* Asegura que esté visible durante la transición */
  /* Nada aquí, JS manejará el height dinámico */
}

#contenido-soluciones .topmenu {
width: 100%;
text-align: center;
padding-top: 4rem;
}
#contenido-soluciones .topmenu .submenu {
background-color: #FFF;
padding: 2rem 0;
font-size: 2rem;
font-weight: 500;
border-radius: 1rem 1rem 0 0;
display: inline-block;
cursor: pointer;
text-decoration: none;
width: 30rem;
appearance: none;
border: none;
text-align: center;
color: #000;
}
#contenido-soluciones .topmenu .submenu.active {
background-color: rgba(0,0,0,.1);
}
#contenido-soluciones .content {
width: calc(100% - 8rem);
background-color: rgba(0,0,0,.1);
border-radius: 2rem;
padding: 4rem;
}
/*
#contenido-soluciones .content .item {
width: calc(33.3333% - 4.5rem);
margin: 0 4rem 2rem 0;
display: inline-block;
vertical-align: top;
text-decoration: none;
}
*/

#contenido-instalaciones .content {
width: 100%;
padding-top: 4rem;
}

#contenido-instalaciones .content .thumb {
width: calc(33.3333% - 2rem); 
display: inline-block;
margin-right: 2rem;
  color: #000;
  font-size: 1.4rem;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 400;
  letter-spacing: .2rem;
  text-align: center;
}
#contenido-instalaciones .content .thumb .img {
width: 100%;
background-color: rgba(0,0,0,.1);
border-radius: 2rem;
margin-bottom: 2rem;
aspect-ratio: 3 / 1.5; 
  background-position:center  center;
  background-repeat: no-repeat;
  background-size:cover;
}


#industria .item, #categoria .item, #tipo .item {
background-color: #000;
width: calc(33% - 6.5rem);
text-align: left;
margin: 1rem;
padding: 0 2rem;
border-radius: 3rem;
height: 6rem;
  display: inline-flex;
  align-items: center; 
  background-position: right 2rem center;
  background-repeat: no-repeat;
  background-size: auto 3rem;
  color: #FFF;
  font-size: 1.4rem;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 400;
  letter-spacing: .2rem;
}
#industria .item:hover, #categoria .item:hover {
background-color: #e32822;
}

#tipo .item {
width: calc(25% - 8.5rem);
  background-position: left center;
  background-size: 2rem auto;
  background-image: url("images/arrow-right-red.svg");
  color: #000;
  background-color: transparent;
  padding-left: 4rem;
  margin: 0 1rem;
}
#tipo .item:hover {
width: calc(25% - 6.5rem);
    background-color: #e32822;
    color: #FFF;
  background-position: right 2rem center;
  background-size: 3rem auto;
  background-image: url("images/arrow-next-white.svg");
  padding-left: 2rem;
}

.icon-buscar {
cursor: pointer;
vertical-align: middle;
color: transparent !important;
text-decoration: none;
background-position: center center;
background-repeat: no-repeat;
background-size: 80% auto;
width: 3rem;
height: 3rem;
background-image: url("images/icon-search.svg");
appearance: none;
border: none;
margin-left: 2rem;
background-color: transparent;
}
.icon-menu {
color: transparent !important;
text-decoration: none;
background-position: center center;
background-repeat: no-repeat;
background-size: 100% auto;
width: 3rem;
height: 3rem;
float: left;
background-image: url(images/icon-menu.svg?v=1.4);
appearance: none;
border: none;
background-color: transparent;
cursor: pointer;
display: none;
}

.icon-close {
cursor: pointer;
position: absolute;
vertical-align: middle;
color: transparent !important;
text-decoration: none;
background-position: center center;
background-repeat: no-repeat;
background-size: 80% auto;
width: 4rem;
height: 4rem;
top: 2rem;
right: 2rem;
background-image: url("images/icon-close-black.svg?v=1.2");
appearance: none;
border: none;
background-color: transparent;
}



.cart {
background-color: #e32822;
padding: 1rem;
border-radius: 1rem;
display: inline-block;
border: none;
position: fixed;
top: 12rem;
right: 2rem;
z-index: 5;
color: #FFF;
font-weight: 500;
font-size: 1.6rem;
text-decoration: none;
}
.cart img {
width: 3rem;
height: auto;
margin-left: 2rem; 
display: inline-block; 
vertical-align: middle;
}
.help {
appearance: none;
background-color: transparent;
border: none;
position: fixed;
bottom: 4rem;
right: 4rem;
z-index: 4;
width: 15rem;
}
.help img {
width: 100%;
height: auto;
}
.help:hover, .cart:hover {
transform: scale(1.1);
}

/* Overlay */
.overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 90;
}
.overlay.activo {
    opacity: 1;
    pointer-events: all;
}



/* Panel flotante (comparten estilos) */
.flotante {
    width: calc(50% - 16rem); 
    right: -50%;
    padding: 6rem 8rem;
    top: 0;
    height: calc(100vh - 12rem); 
    background-color: #FFF; 
    position: fixed; 
    z-index: 100;
    transition: right 0.3s ease;
    text-align: left;
}
/* Botón cerrar */
.cerrar {
    position: absolute;
    top: 4rem;
    right: 4rem;
    background: transparent;
    border: none;
    font-size: 2rem;
    cursor: pointer;
}



/* Overlay */
.overlay-search {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 5;
}
.overlay-search.activo {
    opacity: 1;
    pointer-events: all;
}

/*
.sidenav {
  position: fixed;
  top: 0;
  left: -40rem;
  width: 40rem;
  height: 100%;
  background-color: #f2b366;
  transition: left 0.3s ease;
  z-index: 1000;
}
.sidenav .logo {
width: 22rem;
display: inline-block;
vertical-align: middle;
}

.sidenav {
width: 100%;
display: block;
font-size: 1.4rem;
text-transform: uppercase;
text-decoration: none;
margin-bottom: 1rem;
appearance: none;
color: #1f2e40;
border: none;
text-align: left;
}
*/


/*FOOTER*/

footer {
width: 100%;
position: relative;
}
footer .info {
background-color: #e5e5e5;
width: calc(100% - 16rem); 
padding: 4rem 8rem;
position: relative;
}
footer .info .column {
float: left; 
margin-right: 6rem;
padding-left: 4rem;
background-position: top left;
background-repeat: no-repeat;
background-size: 2rem auto;
}
footer .info .column-redes {
float: right; 
}


footer .partners {
  width: calc(100% - 16rem);
  padding: 4rem 8rem;
  background-color: #FFF;
  
  display: flex;
  align-items: center;           /* Centra verticalmente */
  justify-content: space-between; /* Distribuye el espacio igual */
  gap: 2rem;                      /* Espacio mínimo entre elementos */
}

.logos-footer {
  display: block;
  height: auto;
}

.footer-sep {
  width: .1rem;
  height: 10rem;
  background-color: #ccc;
}




footer .disclaimer {
width: calc(100% - 16rem); 
padding: 4rem 8rem;
text-align: center; 
position: relative;
background-color: #000;
}


/*MAIN BANNER*/

.main-banner {
width: 100%;
height: calc(100vh - 2rem);
position: relative;
z-index: 2;
overflow: hidden;
border-radius: 0 0 4rem 4rem;
}
.main-banner .shadow {
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
z-index: 2;
background: #FFF;
background: linear-gradient(360deg, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 100%);
}

.main-banner .txt {
position: absolute;
left: 8rem;
width: 50vw;
bottom: 6rem;
text-align: left;
z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;

}


.main-banner .scroll {
cursor: pointer;
width: 5rem;
appearance: none;
background-color: transparent;
border: none;
}
.main-banner .scroll img {
width: 100%;
height: auto;
}

.vidcell {
top: 0;
left: 0;
width: 100%;
height: 100vh;
position: fixed;
z-index: -1;
background-color: #FFF;
}
.vidcell video {
width: 100%;
height: 100vh;
position: absolute;
object-fit: cover;
opacity: 1;
}


.interior-banner, .small-banner {
width: 100%;
height: 35vw;
border-radius: 0 0 4rem 4rem;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
background-color:#ccc;
}
.small-banner {
height: 25vw;
}
.interior-banner .txt, .small-banner .txt  {
position: absolute;
left: 8rem;
width: calc(100% - 16rem);
max-width: 70rem;
text-align: left;
bottom: 4rem;
z-index: 3;
}
.small-banner .txt  {
max-width: initial;
text-align: center;
top: 4rem;
display: flex;
padding-top: 10rem;
    justify-content: center;   /* horizontal */
  align-items: center; 
}
.interior-banner .shadow, .small-banner .shadow {
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
z-index: 2;
background: #FFF;
background: linear-gradient(360deg, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0) 60%);
opacity: .75;
}





/*SLIDES */

.slide {
width: calc(100% - 16rem);
padding: 6rem 8rem;
position: relative;
background-color: #FFF;
}

.slide-nosotros  {
background-color: rgba(0,0,0,.7);
text-align: center;
z-index: 1;
padding-bottom: 0;
padding-top: 10rem;
margin-top: -4rem;
}
.slide-nosotros .wrap {
margin: auto;
max-width: 80rem;
width: 100%;
}
.slide-nosotros .patch {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background-color: #000;
height: 10rem;
z-index: 1;
}
.slide-nosotros .content-access {
position: relative;
z-index: 2;
}
.slide-nosotros .access {
width: calc(20% - 3.6rem);
background-color: #e32822;
margin-right: 2rem;
text-align: center;
padding: 1rem;
float: left;
height: 18rem;
border-radius: 1rem;
text-decoration: none;
position: relative;
}
.slide-nosotros .access .txt {
position: absolute;
bottom: 2rem;
left: 2rem;
right: 2rem;
}
.slide-nosotros .access .img {
position: absolute;
top: 2rem;
left: 2rem;
right: 2rem;
text-align: center;
}
.slide-nosotros .access .img img {
width: 10rem;
height: auto;
}


.slide-soluciones {
background-color: #000;
}
.slide-soluciones .thumb {
/*width: 40rem;*/
flex: 0 0 48rem; /* ancho fijo */
position: relative;
background-color:#e5e5e5;
display: inline-block;
vertical-align: top;
padding: 1rem;
border-radius: 1rem;
margin-right: 1rem;
}

.slide-soluciones .thumb:first-child {
  margin-left: 8rem;
}

.slide-soluciones .thumb:last-child {
  margin-right: 8rem;
  flex-shrink: 0; /* importante para que no se reduzca */
}

.slide-soluciones .thumb .img {
width: 24rem;
height: 24rem;
float: right;
border-radius: 1rem;
background-color: #FFF;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
#type-1 .img {
background-image: url(demo/thumb-envases.jpg);
}
#type-1:hover .img {
background-image: url(demo/thumb-envases-roll.jpg);
}

#type-2 .img {
background-image: url(demo/thumb-film.jpg);
}
#type-2:hover .img {
background-image: url(demo/thumb-film-roll.jpg);
}

#type-3 .img {
background-image: url(demo/thumb-aluminio.jpg);
}
#type-3:hover .img {
background-image: url(demo/thumb-aluminio-roll.jpg);
}

#type-4 .img {
background-image: url(demo/thumb-seguridad.jpg);
}
#type-4:hover .img {
background-image: url(demo/thumb-seguridad-roll.jpg);
}

#type-5 .img {
background-image: url(demo/thumb-secundario.jpg);
}
#type-5:hover .img {
background-image: url(demo/thumb-secundario-roll.jpg);
}


.slide-soluciones .thumb .txt {
width: 20rem;
height: 20rem;
padding: 2rem;
float: left;
  display: grid;
  text-align: left;
  align-content: center;   /* Centrado vertical */
}

  .slider-container {
  position: relative;
  left: -8rem;
    overflow: hidden;
    width: calc(100% + 16rem);
  }

  .slider-track {
    display: flex;
    gap: 2rem; /* espacio entre los thumbs */
    transition: transform 0.3s ease;
  flex-wrap: nowrap; /* importante: que no haga wrap */
  }

.bt-left, .bt-right {
    appearance: none;
    border: none;
    color: transparent;
    background-color: transparent;
    cursor: pointer;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 5rem;
    height: 4rem;
}
.bt-left {
    margin-right: 4rem;
    background-image: url("images/arrow-prev-white.svg");
}
.bt-right {
    background-image: url("images/arrow-next-white.svg");
}




.slide-logos {
width: 100%;
padding: 6rem 0;
}
.slide-blog {
background-color:#e5e5e5;
}
.slide-cta {
background-color: #000;
  aspect-ratio: 3 / 1; /* ancho : alto */
display: grid;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
align-content: center;   /* Centrado vertical */
}
.slide-cta .wrap {
max-width: 50rem;
width: 100%;
}



.slide-stats .left {
float: left;
width: 30rem;
}
.slide-stats .right {
float: right;
width: calc(100% - 30rem);
}

.stat {
  width: calc(25% - 5rem);
  padding: 1rem;
  margin-right: 2rem;
  text-align: left;
  background-color: #e32822;
  border-radius: 2rem;
  overflow: hidden;
  position: relative;
  display: inline-block;
  aspect-ratio: 1 / 1; /* ancho : alto */
}
.stat .counter {
position: absolute;
top: 2rem;
left: 2rem;
right: 2rem;
}
.stat .txt {
position: absolute;
bottom: 2rem;
left: 2rem;
right: 2rem;
}


.content-nosotros {
position: relative;
padding-bottom: 0;
}
.content-nosotros .wrap {
width: calc(100% - 50rem);
text-align: left;
float: left;
}
.content-nosotros .quote {
float: right;
width: 22rem;
padding: 4rem;
border-radius: 1rem;
background-color: #000;
text-align: center;
color: white;
}
.content-nosotros .patch {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 6rem;
background-color: #e32822;
z-index: 1;
}
.box-mv {
width: calc(50% - 10rem); 
border-radius: 2rem; 
height: 20rem; 
background-color: #000; 
padding: 4rem; 
position: relative;
z-index: 2;
text-align: left;
}

.content-valores {
background-color: #e32822;
}

.content-detalle {
background-color: #e5e5e5;
padding-top: 18rem;
border-radius: 0 0 4rem 4rem,
}

.content-detalle .img {
width: 40rem;
height: 40rem;
display: inline-block;
vertical-align: middle;
background-color: #FFF;
border-radius: 2rem;
margin-right: 8rem;
background-position: center center;
background-repeat: no-repeat;
}
.content-detalle .txt {
width: calc(100% - 49rem);
display: inline-block;
vertical-align: middle;
}

.content-detalle .txt .left {
float: left; 
width: calc(100% - 34rem);
}
.content-detalle .txt .right {
float: right;
width:  26rem;
}
.content-detalle .txt .left .tag {
width: calc(50% - .5rem);
display: inline-block;
vertical-align: top;
margin-bottom: 2rem;
}
.content-detalle .txt .left .tag .color-dot {
width: 2rem;
height: 2rem;
border-radius: 50%;
margin-right: .5rem;
background-color:black;
display: inline-block;
vertical-align: middle;
color: transparent;
}
.content-detalle .txt .left .tag select {
height: 3rem;
border-radius: .5rem;
width: 100%;
outline: none;
border: none;
}



.content-listado .thumb {
width: calc(50% - 3.5rem);
position: relative;
background-color: #e5e5e5;
display: inline-block;
vertical-align: top;
padding: 1rem;
border-radius: 2rem;
margin-right: 2rem;
margin-bottom: 2rem;
}
.content-listado .thumb .img {
width: 25rem;
height: 25rem;
border-radius: 1rem;
background-color: #FFF;
display: inline-block;
vertical-align: top;
background-position: center center;
background-repeat: no-repeat;
}
.content-listado .thumb .txt {
width: calc(100% - 29rem);
padding: 2rem;
padding-right: 1rem;
display: inline-block;
vertical-align: top;
height: 21rem;
position: relative;
}
.content-listado .thumb .txt .tag {
width: calc(33.3333% - .5rem);
display: inline-block;
vertical-align: top;
margin-bottom: 2rem;
}


.content-listado .thumb .txt .tag select {
height: 3rem;
border-radius: .5rem;
width: 90%;
outline: none;
border: none;
}
.content-listado .thumb .txt .botonera {
width: calc(100% - 2.5rem);
padding: 1rem;
background-color: #fff;
border-radius: 1rem;
display: flex;
  align-items: center;           /* Centra verticalmente */
  justify-content: space-between; /* Distribuye el espacio igual */
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 0;
  opacity: .5;
}

.bt-download, .bt-add, .bt-more {
margin-right: 1rem;
padding-left: 2.5rem;
background-position: left center;
background-repeat: no-repeat;
background-size: 2rem auto;
background-image: url("images/icon-ficha-black.svg?v=1.2");
text-decoration: none;
font-size: 1rem;
text-transform: uppercase;
color: #000;
font-weight: 400;
line-height: 1rem;
display: inline-block;
vertical-align: middle;
}
.bt-add {
background-image: url("images/icon-cotizacion-black.svg");
}
.bt-more {
background-image: url("images/arrow-right-black.svg");
background-size: 1.5rem auto;
}

.content-listado .thumb:hover .botonera {
opacity: 1;
}

.content-listado .thumb:hover .bt-download {
background-image: url("images/icon-ficha.svg");
}
.content-listado .thumb:hover .bt-add {
background-image: url("images/icon-cotizacion.svg");
}
.content-listado .thumb:hover .bt-more {
background-image: url("images/arrow-right-red.svg");
}

.iso {
width: calc(100% - 12rem);
padding: 4rem 6rem;
border-radius: 2rem;
border: solid .1rem #000;
}
.iso .img {
width: 30rem;
margin-right: 4rem;
vertical-align: middle;
display: inline-block;
}
.iso .img img {
width: 100%;
height: auto;
}
.iso .txt {
width: calc(100% - 35rem);
vertical-align: middle;
display: inline-block;
}
.st {
width: calc(33.3333% - 3.5rem);
margin-right: 4.5rem;
vertical-align: top;
display: inline-block;
}



.val {
display: inline-block; 
vertical-align: top;  
width: calc(50% - 3.5rem); 
margin-right: 6rem;
margin-bottom: 4rem;
}
.val .icon {
vertical-align: middle;  
width: 12rem;
height: 12rem;
border-radius: 1rem;
background-color:#e32822;
margin-right: 4rem;
  display: inline-flex;
  align-items: center;      /* vertical */
  justify-content: center;  /* horizontal */
}
.val .icon img {
width: 60%; 
height: auto;

}
.val .txt {
display: inline-block; 
vertical-align: middle;  
width: calc(100% - 17rem); 
}

.valor {
display: inline-block; 
vertical-align: top;  
width: calc(25% - 3.5rem); 
margin-right: 4rem;
}

.stp {
display: inline-block; 
vertical-align: top;  
width: calc(25% - 3.5rem); 
margin-right: 4rem;
}
.stp .icon {
vertical-align: top;  
width: 4rem;
height: 4rem;
margin-right: 2rem;
  display: inline-flex;
  align-items: center;      /* vertical */
  justify-content: center;  /* horizontal */
}
.stp .icon img {
width: 100%; 
height: auto;

}
.stp .txt {
display: inline-block; 
vertical-align: top;  
width: calc(100% - 6.5rem); 
}



.flotante .thumb {
width: calc(100% - 2rem);
position: relative;
background-color: #e5e5e5;
display: block;
padding: 1rem;
border-radius: 2rem;
margin-bottom: 2rem;
}
.flotante .thumb .img {
width: 10rem;
height: 10rem;
border-radius: 1rem;
background-color: #FFF;
display: inline-block;
vertical-align: top;
background-position: center center;
background-repeat: no-repeat;
}
.flotante .thumb .txt {
width: calc(100% - 23rem);
padding: 0 1rem;
padding-right: 1rem;
display: inline-block;
vertical-align: top;
position: relative;
}
.flotante .thumb .actions {
width: 10rem;
display: inline-block;
vertical-align: top;
text-align: right;
}
.flotante .thumb .txt .tag {
width: calc(33.3333% - .5rem);
display: inline-block;
vertical-align: top;
margin-bottom: 1rem;
}
/* qty */
.qty {
  display: flex;
  align-items: center;
  background: white;
}

.qty button {
  border: none;
  background: transparent;
  padding: .5rem 1rem;
  cursor: pointer;
}

.qty span {
  padding: 0 1rem;
}



/* contenedor general de ambos sliders */
.clientes-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* tracks base */
.clientes-track {
  display: flex;
  align-items: center;
  width: max-content; /*  permite ancho dinámico según logos */
  will-change: transform; /* mejora performance */
}

/* track inverso */
.clientes-track.reverse {
  flex-direction: row-reverse;
}

/* estilos de los logos */
.clientes-track img {
  height: auto;
  margin: 0 2rem;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.clientes-track img:hover {
  filter: grayscale(0);
}





/*THUMB BLOG*/

.content-blog  {
padding-top: 20rem;
text-align: center;
}

.slide-blog .thumb, .content-blog .thumb {
width: calc(33.3333% - 4rem);
padding: 1rem;
position: relative;
float: left;
text-align: left;
border-radius: 2rem;
margin-bottom: 3rem;
margin-right: 3rem;
text-decoration: none;
overflow: hidden;
background-color: #FFF;
}
.content-blog .thumb {
background-color: #e5e5e5;
}
.slide-blog .thumb:hover, .content-blog .thumb:hover {
transform: scale(1.025);
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.slide-blog .thumb .img, .content-blog .thumb .img {
display: block;
width: 100%;
padding-top: 60%;
background-color: #ccc;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
border-radius: 1.5rem;
}
.slide-blog .thumb .txt, .content-blog .thumb .txt {
width: calc(100% - 4rem);
padding: 2rem;
height: 4rem;
}



/*DESPEGABLES*/

.desp {
  width: calc(100% - 4rem);
  border-radius: 1rem;
  margin-bottom: 1rem;
  background-color: #FFF;
  padding: 2rem;
  border: solid .1rem #ccc;
}

.categoria, .categoria-cont {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-transform: uppercase;
}

.flecha {
  margin-left: 1rem;
  transition: transform 0.2s ease;
}
.flecha img {
  width: 3rem;
  height: auto;
}

.detalle, .detalle-cont {
/*  display: none;*/
  width: 100%; 
  text-align: left;
  overflow: hidden;      /* oculta el contenido mientras colapsa */
  height: 0;             /* cerrado */
  transition: height .4s ease; /* <— suavidad */
}

.detalle.show {
/*display: block;*/
}



.slide-sostenibillidad {
width: calc(100% - 4rem);
margin-bottom: 3rem;
border-radius: 2rem;
background-color: #ccc;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
padding: 2rem;
aspect-ratio: 3 / 1; /* ancho : alto */
}
.slide-sostenibillidad .txt {
    background-color: rgba(0,0,0,.5);
    display: flex;
    flex-direction: column; 
    justify-content: center;
    align-items: flex-start;  
    border-radius: 1rem;
    padding: 4rem;
    text-align: left;
    height: calc(100% - 8rem);
    aspect-ratio: 1 / 1;
    backdrop-filter: blur(.5rem);          
    -webkit-backdrop-filter: blur(.5rem);  
}

.content-contact {
background-position: bottom left;
background-repeat: no-repeat;
background-size: cover;
width: calc(100% - 16rem);
padding: 20rem 8rem 6rem 8rem;
background-color: #000;
border-radius: 0 0 4rem 0;
overflow: hidden;
}
.content-contact .txt {
float: left;
width: 30rem;
position: relative;
z-index: 2;
}
.content-contact .form {
position: relative;
z-index: 2;
float: right;
width: calc(100% - 40rem);
}
.content-contact .form .left {
float: left;
width: calc(50% - .5rem);
}
.content-contact .form .right {
float: right;
width: calc(50% - .5rem);
}

.content-contact .txt .column {
display: block;
margin-bottom:3rem;
padding-left: 4rem;
background-position: top left;
background-repeat: no-repeat;
background-size: 2rem auto;
}

.content-contact .shadow {
position: absolute;
opacity: .8;
left: 0;
top: 0;
bottom: 0;
right: 0;
z-index: 1;
background: #FFF;
background: linear-gradient(90deg, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 100%);
}

/* FONTS */

.t1 {
	font-size:4.6rem;
	line-height: 4.6rem;
}
.t2 {
	font-size:3.6rem;
	line-height: 3.8rem;
}
.t3 {
	font-size:3.2rem;
	line-height: 3.4rem;
}
.t4 {
	font-size:2.4rem;
	line-height: 3rem;
}
.t5 {
	font-size:2rem;
	line-height: 2.4rem;
}
.t6 {
	font-size:1.6rem;
	line-height: 2.4rem;
}
.t7 {
	font-size:1.2rem;
	line-height: 1.6rem;
}
.t8 {
	font-size:1.4rem;
	line-height: 1.6rem;
}

.white {
	color:#FFF;
}
.black {
color: #000;
}
.red {
color: #e32822;
}


.cta-saludo {
	color:transparent;
	cursor:pointer;
	width: 12rem;
	height: 12rem;
	text-decoration:none;
    position: fixed;
    right: 4rem;
    bottom: 4rem;
    z-index: 18;
}
.cta-saludo img {
	width: 100%;
    height: auto;
}




/*HELPDESK*/

/*
.helpdesk {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100vw;
  height: 100%;
  background-color: #fff;
  transition: right 0.3s ease;
  z-index: 100;

}

.helpdesk.show {
  right: 0;
}

.help-content {
width: calc(100% - 50rem); 
vertical-align: middle; 
display: inline-block;
}
.help-content .column {
float: left; 
margin-right: 4rem;
padding-left: 4rem;
background-position: top left;
background-repeat: no-repeat;
background-size: 2rem auto;
}
.help-img {
width: 49rem; 
display: inline-block; 
vertical-align: middle;
text-align: center;
}
.help-img img {
width: 100%;
height: auto;
}
*/




.cerrar-menu {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}


/* REDES */

.redes {
	color:transparent;
	display:inline-block;
	cursor:pointer;
	width: 6rem;
	height: 6rem;
	text-decoration:none;
	margin: 0 0 0 2rem;
	vertical-align: middle;
	background-position: center center;
	background-repeat: no-repeat;
    border-radius: 50%;
}
.redes:hover {
transform: scale(1.1);
background-color: #FFF;
}


.instagram {
background-image: url(images/icon-in.svg?v=1.5);
background-size: 60% auto;
}
.instagram:hover {
background-image: url(images/icon-in-color.svg?v=1.3);
}
.facebook {
background-image: url(images/icon-fb.svg?v=1.5);
background-size: 60% auto;
}
.facebook:hover {
background-image: url(images/icon-fb-color.svg?v=1.3);
}
.linkedin {
background-image: url(images/icon-ld.svg?v=1.5);
background-size: 60% auto;
}
.linkedin:hover {
background-image: url(images/icon-ld-color.svg?v=1.3);
}



.bt-base {
all: unset;
font-size:1.2rem;
text-align: center;
text-decoration: none;
padding: 1.5rem 3rem;
font-weight: 400;
letter-spacing: .2rem;
border-radius: 1rem;
display: inline-block;
text-transform: uppercase;
vertical-align: middle;
border: none;
appearance: none;
cursor: pointer;
transition: all .25s ease-out;
}
.bt-base:hover {
transform: scale(1.05);
}

.bt-red {
background-color: #e32822;
color: #FFF;
}


.bt-trasnparent-white {
background-color:transparent;
color: #FFF;
border: solid .1rem #FFF;
}
.bt-trasnparent-black {
background-color:transparent;
color: #000;
border: solid .1rem #000;
}

.bt-whatsapp {
background-color: #00cc66;
color: #202c44;
width: calc(100% - 6rem);
background-position: right 1rem center;
background-repeat: no-repeat;
background-size: 2rem auto;
background-image: url("images/icon-whatsapp-whit.svg");
text-align: left;
}

.bt-experto, .bt-ficha, .bt-cotizacion, .bt-informacion {
padding: 1.5rem 2rem;
width: calc(100% - 4rem);
display: block;
background-color: #000;
color: #FFF;
background-position: right 1rem center;
background-repeat: no-repeat;
background-size: 2rem auto;
text-align: left;
background-image: url("images/icon-chat-white.svg");
margin-bottom: 1rem;
}
.bt-ficha {
background-color: #FFF;
color: #000;
background-image: url("images/icon-ficha-black.svg?v=1.2");
}
.bt-cotizacion {
background-color: #e32822;
color: #FFF;
background-image: url("images/icon-cotizacion-white.svg");
}
.bt-informacion {
background-color: #FFF;
color: #000;
background-image: url("images/scroll.svg");
}




/* FORM*/

.form-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
  margin-bottom: 0;
}

.row {
  display: grid;
  gap: 1rem;
}

/* layouts forms */
.row-1 { grid-template-columns: 1fr; }
.row-2 { grid-template-columns: 1fr 1fr; }



.field_box, .area_box {
padding: 1rem;
background-color: white;
text-align: left;
width: calc(100% - 2rem);
border-radius: 1rem;
border: none;
margin-bottom: 1rem;
}
.field, .drop-form, .area {
	border: none;
	color:#000;
	width:100%;
	height: 3rem;
	text-decoration:none;
	font-size:1.4rem;
	background-color: transparent;
	display: block; 
    vertical-align: middle;
	outline:none;
    appearance:none;
	resize:none;
}
.drop-form {
	height: 5rem;
    background-image: url("images/arrow-down-black.svg");
    background-position: right 2rem center;
    background-repeat: no-repeat;
    background-size: 3rem auto;
    font-size:1.8rem;
}

.area {
    height: 26rem;
}
.send, .send-whats {
background-color: #e32822;
outline:none;
appearance:none;
resize:none;
border-radius: 1rem;
height: 6rem;
padding: 0 4rem 0 2rem;
color: #FFF;
font-size:1.4rem;
text-decoration: none;
border: none;
width: calc(50% - .65rem);
text-align: left;
font-weight: 500;
letter-spacing: .2rem;
background-position: right 2rem center;
background-repeat: no-repeat;
background-size: 3rem auto;
background-image: url(images/icon-cotizacion-white.svg);
display: inline-flex;
vertical-align: middle;
box-sizing: border-box;
align-items: center; 
margin-right: 1rem;
}
.send-whats {
color: #000;
background-color: #25d366;
background-image: url(images/icon-whatsapp-whit.svg);
margin-right: 0;
}

.form-pop .field_box, .form-pop .area_box {
background-color: rgba(0,0,0,.1) !important
}
.form-pop .send, .form-pop .send-whats {
width: calc(100% - .65rem) !important;
}
.form-pop .area {
    height: 10rem;
}
.map {
padding: 6rem 8rem;
}


@media (min-width: 651px) and (max-width: 1350px) {
html, body {
	font-size:9px;
}
}

@media (min-width: 1500px) {
html, body {
	font-size:10px;
}
}

@media (min-width: 1700px) {
html, body {
	font-size:11px;
}	
}

@media (min-width: 2000px) {
html, body {
	font-size:12px;
}
}

@media (min-width: 2400px) {
html, body {
	font-size:13px;
}
}

@media (min-width: 2800px) {
html, body {
	font-size:14px;
}
}




@media screen and (max-width: 650px) {



/*HEADER*/

header {
	width: calc(100% - 8rem) !important;
    margin: 1rem 2rem !important;
    padding: 1rem 2rem !important;
}

.logo {
    float: none;
    margin: auto;
    width: 15rem !important;
    display: block;
}



.nav {
	width: calc(100% - 4rem) !important;
    padding: 2rem;
	float: none;
    display: table;
	position: fixed;
	text-align: center;
	background-color: #280903;
	height: calc(100vh - 4rem) !important;
	z-index: 100;
	top: 0;
	left: -100%;
}
.nav .align {
	float: none !important;
    position: relative;
}
.menu {
    margin-left: 0;
    margin-bottom: 2rem;
    display: block;
    font-size:2.2rem;
    color: #FFF !important;
}



/*FOOTER*/


.footer-cta {
height: initial; 
padding: 3rem;
width: calc(100% - 6rem);
}
.footer-info {
width: calc(100% - 4rem); 
padding: 4rem 2rem;
background-image: none;
}
.footer-column {
float: none !important; 
margin-right: 0;
margin-bottom: 4rem;
}

.column {
margin-bottom: 4rem;
}



/*MAIN BANNER*/


.main-banner .txt {
left: 2rem;
bottom: 30rem;
width: calc(100% - 4rem);
}
.main-banner .address {
left: 2rem;
bottom: 6rem;
width: calc(100% - 4rem);
}
.main-banner .column {
display: block;
margin-right: 0;
margin-bottom: 2rem;
}


.interior-banner {
height: 100vw;
}
.interior-banner .txt {
left: 2rem;
width: calc(100% - 4rem);
}




/* FONTS */
.t1 {
	font-size:5rem;
	line-height: 4rem;
}
.t2 {
	font-size:4rem;
	line-height: 4rem;
}
.t3 {
	font-size:3rem;
	line-height: 3.6rem;
}
.t4 {
	font-size:2.4rem;
	line-height: 3rem;
}
.t5 {
	font-size:2rem;
	line-height: 2.6rem;
}





/*SLIDES */

.slide {
width: calc(100% - 4rem);
padding: 4rem 2rem;
}







}