
/*Las que van hasta ahora:*/

@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');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800&family=Oswald:wght@300;400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

:root{
  --rojo: #D50000;
  --gris: rgba(255, 255, 255, 0.63);
  --gris_claro: #d1d1d6;
  --gris_oscuro: #3b3b3b;
  --gris_hover: #b4b3b3;
  --rojo_hover: #b10505;
  --pading:1em;
  --bebas: 'Bebas Neue', sans-serif;
  --montserrat:'Montserrat', sans-serif; 
  --blanco: #ffffff;
  --montserrat:'Montserrat', sans-serif;
  --Oswald: 'Oswald', sans-serif;
  --rojo_decor: repeating-linear-gradient(48deg, var(--rojo) 0%, #981914 100%);
  --azul: rgb(0, 110, 183);
  --openSans: 'Open Sans', sans-serif;
  --poppins: "Poppins", sans-serif;
  --sombra: 0 2px 8px rgba(0, 0, 0, 0.2);

}

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html{
  overflow-x: hidden;
}



body{
  padding: 0 !important;
  margin: 0;
  overflow-x: hidden;
  position: relative;
}

#overlay {
  position: fixed;
  top:  99px;
  left:  0;
  width:  100%;
  height:  100%;
  background: #d50000;
  z-index:  10;
  display: flex;
  justify-content: center;
  align-items: center; 

}
.imagen-overlay{
  background-color: #fff;
  border-radius: 75%;
  height: 45vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 50px;
}

.imagen-overlay img {
  width:  95%; 
  max-width:  95%; 
  height: auto; 
  object-fit: cover; 
}


/*↓↓ Estilos para el navbar ↓↓*/
header{
  font-family: var(--montserrat);
  font-weight:400 ;
  position: fixed;
  top: 0;
  right: 5;
  left: 5;
  width: 100%;
  background: var(--gris);
  border-bottom: solid 3px var(--rojo);
  z-index: 19;
  transition: background ease-in-out 0.2s;
  max-width: 100%;
}

nav{
  display: flex;
  justify-content: space-between;
}

.contenedor_elementos{
  padding: 15px 10px;
}

.contenedor_elementos ul {
    list-style: none; 
    padding: 0; 
}

.contenedor_elementos li{
    display: inline-block;
    margin-top: 15px;
}
.logo img{
    height: 50px;
    margin-left: 10px;
}
.contenedor_elementos a {
  font-size: 15px;
  border: none;
  background: none;
  text-decoration: none;
  color: black;
  position: relative;
}

.contenedor_elementos a::before {
  margin-left: auto;
}

.contenedor_elementos a::after,
.contenedor_elementos a::before {
  content: '';
  width: 0%;
  height: 2px;
  background: var(--rojo);
  display: block;
  transition: 0.5s;
}

.contenedor_elementos a.active {
  border-top: 2px solid var(--rojo);
  border-bottom: 2px solid var(--rojo);
  padding-top: 2px;
  padding-bottom: 3px;
}

.contenedor_elementos a:not(.active):hover::after,
.contenedor_elementos a:not(.active):hover::before {
  width: 100%;
}

.elementos_interac ul {
  list-style: none; 
  padding: 0; 

}
.elementos_interac li{
  display: inline-block;
  margin-top: 10px;
}

.elementos_interac a{
  text-decoration: none;
  color: black;
  margin: 0px 20px 0px 20px;


}
.elementos_interac{
  font-family: var(--montserrat);
  font-weight: 400;
  padding: 15px 15px;
}

a.boton{
  font-family: var(--montserrat);
  font-size: 13px;
  font-weight: 400;
}
/*↑↑ Estilos para el navbar ↑↑*/

/*↓↓ Boton de inicio de sesion y todo su efecto de hover ↓↓*/

.boton:link,
.boton:visited {
  text-transform: uppercase;
  text-decoration: none;
  color: var(--blanco);
  padding: 10px 30px;
  border-radius: 1000px;
  display: inline-block;
  transition: all .2s;
  position: relative;
  background-color: var(--rojo);
}

.boton:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(27, 27, 27, .5);
}

.boton:active {
  transform: translateY(-3px);
}

.boton::after {
  content: "";
  display: inline-block;
  height: 100%;
  width: 100%;
  border-radius: 100px;
  top: 0;
  left: 0;
  position: absolute;
  z-index: -1;
  transition: all .3s;
}

.boton:hover::after {
  background-color: rgb(22, 22, 22);
  transform: scaleX(1.4) scaleY(1.5);
  opacity: 0;
}
/*↑↑ Boton de inicio de sesion y todo su efecto de hover ↑↑*/
/*------------------Hasta aqui el Nav--------------------*/


footer{/*----------------Aqui empieza el footer---------------------*/

  background: #111;
  height: auto;
  width: 100%;
  padding-top: 10px;
  color: var(--blanco);
  margin-top: 0 !important;
  border-top: var(--rojo) solid 3px;
}


.footer-content{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
.footer-content ul li a{
color: var(--rojo_hover);
}

.footer-content ul li a:hover{
color: var(--blanco);
}

.footer_nav{
display: flex;
flex-direction: column;
text-align: center;
padding: 0 !important;
margin: 0 !important;
}

.footer_nav ul{
list-style: none;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
margin: 0 !important;
padding: 0 !important;

}

.footer-content {
padding: 20px 150px 20px 150px;
}

.footer_nav a{
text-decoration: none;

}

.footer_nav ul li a:hover{
color: var(--rojo_hover);

}

.footer_nav ul li{
margin-top: 0 !important;
margin-bottom: 8px !important;

}
.footer-content h3{
  font-size: 2.1rem;
  font-weight: 500;
  text-transform: capitalize;
  line-height: 3rem;
}

.footer-content p{
  max-width: 500px;
  margin: 10px auto;
  line-height: 28px;
  font-size: 14px;
  color: #cacdd2;
}
.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
}

.left-paragraph {
margin-bottom: 0 !important;
}

.right-paragraph {
margin-top: 10px;
text-align: right;
margin-right: 20px;
}


@media(max-width: 721px){
  .footer-content{
    padding: 20px 30px;
  }

  .logo img{
    height: 40px;
    margin-left: 10px;
}

}

/*↑↑ Footer ↑↑*/

/*---------------------Hasta aqui llegan los estilos del layout------------------------------------*/


/*Aqui empiezan los estilos del landing como tal*/
body, main{

  background-color: #EFEFEF;

}
.carousel-inner .carousel-item img {
  width: 100%;
  height: 80vh; 
  object-fit: cover;
  filter: brightness(75%) ;
}

.flecha-down {
  text-align: center;
  bottom: 23%;
  z-index: 1;
  position: absolute;
  cursor: pointer;
  animation: palpitar 1s infinite alternate, moverAbajo 1s infinite;
  color: #d1d1d6;
  text-shadow:0 4px 6px #292727;

}

@keyframes palpitar {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(5px);
  }
}

@keyframes moverAbajo {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
}

.bi-chevron-compact-down {
  font-size: 3rem;
  color: #dddada;
  text-shadow: 0 4px 6px #ffffff;

}

/*↑↑Carrusel↑↑*/


.contenedor-productos{
  margin-top: -20px;
  padding: 10px;
  width: 100%;
  position: relative;

}



.tarjeta-producto{
  background-color: #fff;
  border-radius: 30px;

  padding: 0px;
  max-height: 100%;

}



.cabezera, .tarjeta-body{
  padding: 10px, 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cabezera{
  row-gap: 5px;
  position: relative;

}

.tarjeta-body{
  padding: 15px;

}

.content-imagen{
  background-color: var(--blanco);
  margin: 15px 0px;
  border-radius: 200px 200px 200px 200px;
  -webkit-border-radius: 200px 200px 200px 200px;
  -moz-border-radius: 200px 200px 200px 200px;
}

.swiper.swpiper-tarjeta {
  width: 220px;
  height: 220px;
  border: 4px solid var(--blanco);
}

.imagen-swiper {
  text-align: center; 
  position: relative;
  padding: 50px 50px;
  border-radius: 200px 200px 200px 200px;
  -webkit-border-radius: 200px 200px 200px 200px;
  -moz-border-radius: 200px 200px 200px 200px;
  border: 4px solid var(--rojo);

}

.imagen-swiper img {
  max-width: 100%; 
  max-height: 100%; 
  display: inline-block; 
  opacity: 0;
}

.imagen-swiper.swiper-slide-active img {
  opacity: 1; 
}


.overlay{
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: var(--rojo_decor);
  border-radius: 25px 25px 0 25px;
}

.overlay::before,
.overlay::after{
  content: '';
  position: absolute;
  right: 0px ;
  bottom: -40px;
  height: 40px ;
  width: 40px;
  background-color: rgb(176, 15, 12);

}

.overlay::after{
  border-radius: 0 25px 0 0 ;
  background-color: var(--blanco);
}

.nombre-producto{
  font-size: 25px;
  font-weight: 400;
  color: #333;
  font-family: var(--Oswald);
}

.descripcion{
  font-size: 14px;
  color: #707070;
  text-align: center;

}

.boton-redirect{
  border: none;
  font-size: 16px;
  color: #fff;
  padding: 8px 16px;
  background-color: var(--gris_oscuro);
  border-radius: 16px;
  margin: 14px;
  cursor: pointer;
  transition: all 00.3s ease;
}

.boton-redirect:hover{
  background: #b10505;
}

.navegacion-card{
  color: #dbdbdb !important;
  transition: 0.5s all ease-in-out;
  cursor: pointer;
}

.navegacion-card:hover{
  color: #111  !important;
}




.inner {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  border-radius: 8px;

}

.Efecto_div:hover {
  transform: scale(1.04) rotate(1deg);
}

.circle.blue{
  background: repeating-linear-gradient(48deg, var(--azul) 0%, #06156b 100%);
}
.circle {
  width: 100px;
  height: 100px;
  background: repeating-linear-gradient(48deg, var(--rojo) 0%, #981914 100%);
  border-radius: 35% 30% 75% 30% / 49% 30% 70% 51%;
  position: absolute;
  animation: move-up6 2s ease-in infinite alternate-reverse;
}

.circle:nth-child(1) {
  margin-top: -20px;
  left: -50px;
}

.circle:nth-child(2) {
  bottom: -10px;
  right: -50px;
  animation-name: move-down1;
}



@keyframes move-up6 {
  to {
    transform: translateY(-10px);
  }
}

@keyframes move-down1 {
  to {
    transform: translateY(10px);
  }
}


#vermas{
  text-decoration: none;
  color: #000;
  transition: all .5s ease-in-out;
  max-height: 10px;
  font-family: var(--Oswald);
  margin: 0 10px;

}

#vermas:hover{
  color: #b10505;
  transform: translateY(-5px);

}


.sub-titulo{
  font-family: var(--Oswald);
  font-weight: 600;
  font-size: 30px;
}

.sub-titulo.mark{
  margin-top: 110px;
  margin-bottom: 20px;
  background: none;
}

/*↑↑ Efecto del div ↑↑*/



/*↓↓ Para imagenes y sus contenedores ↓↓*/
.imagen{
  height: 250px;
  padding: 0;
  
}

.imagen img{
  height: 100%;
  margin: 0;
  margin-right: 0;
  width: 100%; 
  height: 100%; 
  object-fit: cover;

}
/*↑↑ Para imagenes y sus contenedores ↑↑*/

.svg{
  height: 600px;
  position: absolute;
  top: -160px;
  left: -60px;
  transform: rotate(-10deg);
  animation: move-down1 2s ease-in infinite alternate-reverse;
}

.svg.azul{
  height: 580px;
}


.svg3{
  height: 600px;
  position: absolute;
  right: 0;
  transform: rotate(-10deg);
  animation: move-down1 2s ease-in infinite alternate-reverse;
}



.Efecto2{
  padding: 0px;
  transition: all 0.2s;
  position: relative;
  margin-top: 150px;
  overflow:visible;

}

.max h3{
  margin-top: -30px;
  margin-left: -50px;
  
}
.max p{
  padding: 0 70px;
  margin-left: -80px;
  margin-top: 20px;
}

.max p:last-child{
  padding: 0 80px;
}

.video{
  min-height: 400px;
  margin-top: -70px;
}



.marca {
  min-width: 220px;
  height: 321px;
  background: #fff;
  border-top-right-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  box-shadow: 0 14px 26px rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease-out;
  text-decoration: none;
  cursor: pointer;
}

.marca:hover {
  transform: translateY(-5px) scale(1.005) translateZ(0);
  box-shadow: 0 24px 36px rgba(0, 0, 0, 0.11),
    0 24px 46px var(--rojo_hover);
}

.marca.azul:hover {
  transform: translateY(-5px) scale(1.005) translateZ(0);
  box-shadow: 0 24px 36px rgba(0, 0, 0, 0.11),
    0 24px 46px var(--azul);
}

.marca:hover .overlay2 {
  transform: scale(4) translateZ(0);

}

.marca:hover .circle2 {
  border-color: var(--rojo_hover);
  background: white;
}

.marca:hover .circle2:after {
  background: var(--blanco);
  border-color: var(--rojo_hover);

}

.marca:hover p {
  color: var(--blanco);
}

.marca p {
  font-size: 17px;
  color: #4c5656;
  margin-top: 30px;
  z-index: 1000;
  transition: color 0.3s ease-out;
}

.circle2 {
  width: 201px;
  height: 201px;
  border-radius: 50%;
  background: var(--blanco);
  border: 4px solid var(--rojo_hover);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  transition: all 0.3s ease-out;
}

.circle2:after {
  content: "";
  width: 190px;
  height: 190px;
  display: block;
  position: absolute;
  background: var(--blanco);
  border: 4px solid var(--rojo_hover)  ;
  border-radius: 50%;
  top: 2px;
  left: 2px;
  transition: opacity 0.3s ease-out;
  z-index: 2;
}


.circle2 img {
  width: 85%;
  height: auto;
  transition: transform 0.3s ease-out;
  z-index: 4;
  object-fit: cover;
}
  
.circle2:hover img {
  transform: scale(1.1);
}
.overlay2 {
  width: 118px;
  position: absolute;
  height: 118px;
  border-radius: 50%;
  background: var(--rojo_decor);
  top: 70px;
  left: 50px;
  z-index: 0;
  transition: transform 0.3s ease-out;
}

.overlay2.azul {
  background: rgb(0, 110, 183) !important;
}

.circle2.azul{
  border: 4px solid rgb(0, 110, 183)  ;
  
}
.circle2.azul::after{
  background-color: var(--blanco);
  border: 4px solid var(--azul) ;
  
}

.marca.azul:hover .circle2.azul {
  border: 4px solid rgb(0, 110, 183)  ;
  background: var(--blanco);
}

.marca.azul:hover .circle2:after {
  background: var(--blanco);
  border-color: var(--azul);

}


/*---------------------------------------A partir de aqui van los estilos de Nosotros.html-------------------------*/


.parallax {
  background-image: url('/static/img/logo_planta.jpg');
  min-height: 75vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0;
  padding: 0;

}

.imagen.planta{
  height: 400px;
  border-radius: 8px;
}
.imagen.montana img{
  height: 500px;
  border-radius: 10px;
}



.valors {
  height: auto;
  min-height: 100%;
  transition: all 0.2s;
  position: relative;
  border-radius: 10px;
  box-shadow: 7px 7px 0px 0px var(--gris_oscuro);
  padding: 0;

}


.valors-inner {
  width: inherit;
  width: auto;
  height: inherit;

  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  border-radius: 8px;
  
}

.valors:hover {
  transform: scale(1.04) rotate(1deg) !important;
}

.imagen.planta img{
  border-radius: 8px;
  
}

.svg2{
  height: 400px;
  position: absolute;

}

.movimiento-const{
  animation: move-up6 2s ease-in infinite alternate-reverse !important;
}


.svg2:nth-child(1){
  top: -200px;
  left: -140px;
  position: absolute;
  height: 300PX;
}

.svg2:nth-child(2){
  bottom: 150px;
  right: -150px;
}

.svg2:nth-child(3){
  bottom: -200px;
  left: -140px;
  height: 350PX;

}

.svg2:nth-child(4){
  bottom: -350px;
  right: -140px;

}

.calidad{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.punto{
  font-family: var(--montserrat);
  font-size: 13px;
  color: var(--gris_oscuro);
  text-align: justify;
  font-weight: 500;
  letter-spacing: 0.3px;
}

.bi-paint-bucket{
  border-radius: 50%;
  display: flex;
  align-items: center;
  width: 40px;
  height: 40px;
  justify-content: center;
  font-size: 30px;
}

.maquila {
  height: 265px;
  background: white;
  border-radius: 30px;
  box-shadow: 15px 15px 30px #bebebe,
             -15px -15px 30px #ffffff;
  transition: 0.2s ease-in-out;
}

.img {
  width: 100%;
  height: 50%;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  display: flex;
  align-items: top;
  justify-content: right;
}



.text {
  margin: 20px;
  display: flex;
  flex-direction: column;
  align-items: space-around;
}


.maquila:hover {
  cursor: auto;
  box-shadow: 0px 10px 20px rgba(0,0,0,0.1);
}



@media(max-width: 900px){
  #vermas h3{
    margin-top: -30px;
  }
}

.activador {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  position: relative;
  height: 30px;
  width: 100%;
  z-index: 20 !important;
  bottom: 0px;
  position: fixed; 
  transition: all 0.5s ease;
  
}

.contenedor-elementos-responsive{
  margin-top: 70px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  display: none;
}

.activador.expandido .contenedor-elementos-responsive {
  display: block; /* Se muestra cuando la clase expandido está presente en .activador */
}

.contenedor-elementos-responsive ul{
  list-style: none;
  width: 100%;
  padding: 0px 12px ;
}

.contenedor-elementos-responsive ul .responsive-li{
  border-radius: 15px;
  display: flex;
  align-items: center;
  padding-left: 10px;
  margin: 25px 2px;
  background-color: var(--blanco);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  
}

.contenedor-elementos-responsive ul li .responsive-a{
  text-decoration: none;
  color: #111;
  padding: 15px 0px;
  font-size: 15px;

}

.contenedor-elementos-responsive ul .responsive-li i{
  font-size: 15px;
}

.contenedor-elementos-responsive ul .responsive-li:hover{
  background-color: #b4b3b3;
}

.footer_resp{
  width: 100%;
  height: 150px;
  padding: 20px 0;
  display: flex;
  justify-content: center;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  align-items: center;
  margin-top: 40%;
}

.footer_resp ul{
display: flex;
justify-content: space-around;
}

.footer_resp ul li{
  max-width:150px;
  background-color: #000;
  color: var(--blanco);
  padding: 5px 10px;
  display: flex;
  align-items: center;
  height: 50px !important;
  border-radius: 10px;
}

.footer_resp ul{
list-style: none;

}

.footer_resp ul li a{
  text-decoration: none;
  color: #b4b3b3;
  
  }


.expandido {
  height: 90vh;
  margin-top: 20px;
  background-color: #EFEFEF;
}

.mostrado {
  display: block;
}
.flecha-up {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  font-size: 20px;
  color: var(--blanco);
  border-radius: 50%;
  background-color: #8d8d8d;
  height: 40px;
  display: flex;
  text-align: center;
  justify-content: center;
  padding-top: 5px;
  width: 40px;
  left: 45%;
  position: absolute;
  top: -10px;
  cursor: pointer;
  border-radius: 20px;
}

.mensaje_flash{

  font-family: var(--montserrat);
  max-width: 320px;
  padding: 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  border-radius: 50px;
  background: -webkit-linear-gradient(to right, #f45c43, #eb3349);
  background: linear-gradient(to right, #f45c43, #eb3349);
  box-shadow: 0 0px 10px #de1c3280;
}

.mensaje_flash.succes{
  background: -webkit-linear-gradient(to right, #3f851f, #537a23);
  background: linear-gradient(to right, #56ab2f, #a8e063);
  box-shadow: 0 0px 10px #1cde2680;

}

.error__icon {
  width: 20px;
  height: 20px;
  transform: translateY(-2px);
  margin-right: 8px;
  filter: drop-shadow(2px 1px 2px rgb(0 0 0 / 0.4));
}

.error__icon path {
  fill: #fff;
}

.error__close {
  width: 20px;
  height: 20px;
  cursor: pointer;
  margin-left: auto;
  filter: drop-shadow(2px 1px 2px rgb(0 0 0 / 0.4));
  
}

.error-tittle{
  font-weight: 500;
  font-size: 14px;
  color: #fff;
}
@media(max-width: 721px){
  .activador{
    display: block !important;
  }

  .main_contacto{
    margin-top: 150px !important;
    margin-bottom: 30px;
  }
  
  .login{
    margin: 50px 0px;
  }
  .svg{
    display: none;
  }

  .max{
    background-color: var(--rojo_hover);
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 14px 64px 19px 73px;
-moz-border-radius: 14px 64px 19px 73px;
-webkit-border-radius: 14px 64px 19px 73px;
    margin: 0px 20px !important;
    
  }

  
  .max.azul{
    background-color: var(--azul);
  }

  .Efecto2{
    padding: 0 20px;
    margin-top: 50px;
  }

  .max p, .max h3{
    margin: 0 !important ;
    padding: 7px 0 !important ;
    text-align: center;
    line-height: 1.5;
  }

  a.boton{
    font-size: 9px;
    text-align: center;
    padding: 10px !important;
  }


  .video{
    margin-top: 100px;
    height: 300px;
  }
  .imagen.montana{
    margin-top: 100px !important;
  }
  .svg2:nth-child(2){
    top: 550px;
    left: 250px;
    transform: rotate(10deg);
  }
}

@media(max-width: 1366px){
  .svg{
    height: 600px;
    top: -120px;
    left: -90px;
    transform: rotate(-15deg);
    
  }
  
  .max h3{
    font-size: 27px;
    margin-top: -10px;
    padding-left: 20px;
  }
  .max p{
    font-size: 14px;
    padding: 5px 35px;
    margin-left: -48px;
  }

  .max p:last-child{
    padding: 0 0;
  }

}

.main_contacto{
  display: flex;
  justify-content: center;
  margin-top: 8%;
}


.contenedor_informacion_contacto {
  background-color: #ffffff;
  flex-grow: 1;
  padding: 2em;
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  display: flex;
  border-right: 4px solid #D50000;
}

.super{
  border-radius: 16px;
  box-shadow: 0 10px 20px rgba(27, 27, 27, .5);
}

.formulario_contacto {
  background-color: #3b3b3b;
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
  margin: 0px !important;
  padding: 2em;

}


button.submit {
  outline: none;
  cursor: pointer;
  border: none;
  padding: 0 !important;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  position: relative;
  display: inline-block;
  letter-spacing: 0.05rem;
  font-weight: 700;
  font-size: 17px;
  border-radius: 500px;
  overflow: hidden;
  background: #D50000;
  min-width: 250px;
  max-width: 300px;
  color: ghostwhite;
  margin-top: 20px;
  height: 50px;
  
 }
 
 button.submit span {
  position: relative;
  z-index: 2;
  transition: color 0.4s;
  font-family: 'Montserrat', sans-serif;
  font-size: 17px;
 }
 
 button.submit:hover span {
  color: white;
 }
 
 button.submit::before,
 button.submit::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
 }

 button.submit:hover {
  transform: translateY(-5px);
  box-shadow: 2px 13px 17px 5px rgba(0,0,0,0.75);
-webkit-box-shadow: 2px 13px 17px 5px rgba(0,0,0,0.75);
-moz-box-shadow: 2px 13px 17px 5px rgba(0,0,0,0.75);
}
 
 button.submit::before {
  content: "";
  background: #000;
  width: 120%;
  left: -10%;
  transform: skew(30deg);
  transition: transform 0.4s cubic-bezier(0.3, 1, 0.8, 1);
 }
 
 button.submit:hover::before {
  transform: translate3d(100%, 0, 0);
 }


 .input-container.contacto {
  position: relative;
  margin: 50px auto;
  width: 100%;
}

.input-container .entrada.contacto {
  font-size: 20px;
  width: 100%;
  border: none;
  border-bottom: 2px solid #ccc;
  padding: 5px 0;
  background-color: transparent;
  outline: none;
  color: black;
}

.input-container .label.contacto {
  position: absolute;
  top: 20px;
  left: 0;
  color: #ccc;
  transition: all 0.3s ease;
  pointer-events: none;
}


.input-container .entrada:focus ~ .label.contacto,
.input-container .entrada:valid ~ .label.contacto {
  top: 0px;
  font-size: 16px;
}



.product {
  --main-color: #000;
  --bg-color: #fff;
  font-family: var(--montserrat);
  box-shadow: var(--sombra);
  position: relative;
  padding: 20px;
  min-width: 330px;
  background: var(--bg-color);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;

}



.product__img {
  width: 200px;
  height: 200px;
  background: linear-gradient(90deg, #fae4e4, #f7e5df);
  border-radius: 100%;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product__img img{
  height: 180px;

}

.product__title {
  font-weight:  600;
  font-family: var(--montserrat);
  font-size:  23px;
  color: var(--main-color);
  width:  100%;
  position: relative; 
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;


}

.descripcion.producto{
  color: #000;
  text-align: justify;
  font-weight: 400;
  display: flex; 
  flex-direction: column; 
  justify-content: center;
  align-items: center; 
  height:  110px; 
  font-family: var(--montserrat);

}



.product__btn {
  width: 30px;
  height: 30px;
  border-radius: 100%;
  border: none;
  background: transparent;
}

.product__btn-plus {
  background: var(--bg-color);
}

.contenedor-filtros{
  padding: 15px 20px;

}
.group {
  display: flex;
  line-height: 28px;
  align-items: center;
  position: relative;
  max-width: 190px;
}

.input {
  width: 350px;
  height: 40px;
  line-height: 28px;
  padding: 0 1rem;
  padding-left: 2.5rem;
  border: 2px solid transparent;
  border-radius: 8px;
  outline: none;
  background-color: #fff;
  color: #0d0c22;
  transition: 0.3s ease;
}

.input::placeholder {
  color: #9e9ea7;
}

.input:focus,
  input:hover {
  outline: none;
  border-color: rgba(0, 48, 73, 0.4);
  background-color: #fff;
  box-shadow: 0 0 0 4px rgb(0 48 73 / 10%);
}


.icon {
  position: absolute;
  left: 1px;
  fill: #ffffff;
  width: 1rem;
  height: 1rem;
  background-color: var(--rojo_hover);
  height: 90%;
  padding: 9px;
  width: 35px;
  border-radius: 6px;

}

.filter{
  visibility: hidden;
  opacity: 0 ;
  order: 1;
}

.button-vermas {
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  background-color: var(--rojo_hover);
  color: #fff;
  border-radius: 10rem;
  font-weight: 600;
  padding: .75rem 1.5rem;
  padding-left: 20px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background-color .3s;
}

.button-vermas__icon-wrapper {
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  position: relative;
  color: var(--rojo);
  background-color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.button-vermas:hover {
  background-color: #000;
}

.button-vermas:hover .button-vermas__icon-wrapper {
  color: #000;
}

.button-vermas__icon-svg--copy {
  position: absolute;
  transform: translate(-150%, 150%);
}

.button-vermas:hover .button-vermas__icon-svg:first-child {
  transition: transform .3s ease-in-out;
  transform: translate(150%, -150%);
}

.button-vermas:hover .button-vermas__icon-svg--copy {
  transition: transform .3s ease-in-out .1s;
  transform: translate(0);
}

.contenedor_detalles{
  background-color: var(--blanco);
  border-radius: 17px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: var(--sombra);
  padding: 15px 0px;
}

.titulo{
  font-size: 1.5rem;
  font-weight: 600;
  font-family: var(--montserrat);
  text-align: left;
}

.price{
  font-family: var(--openSans);
  font-weight: 400;
  font-size: 1.3em;
}

.imagen_detalles{
  padding: 1em;
}

.imagen_detalles img{
  height: 350px;
}

@media(max-width: 721px){
  .imagen_detalles img{
    height: 200px;
  }
  
}

.especificaciones{
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-content: flex-start;
  gap: 8px;

}

.subtitulo-esp{
  font-family: var(--openSans);
  font-size: 1.2rem;
  font-weight: 400;
}
.colores {
  height: 150px;
  width: 100%;
  border-radius: 1em;
  overflow: hidden;

  font-family: sans-serif;
  cursor: pointer;
}

.palette {
  display: flex;
  height: 100%;
  width: 100%;
}

.color {
  height: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  letter-spacing: 1px;
  transition: flex 0.1s linear;
}

.color span {
  opacity: 0;
  transition: opacity 0.1s linear;
}

.color:nth-child(1) {
  background: #264653;
}

.color:nth-child(2) {
  background: #2a9d8f;
}

.color:nth-child(3) {
  background: #e9c46a;
}

.color:nth-child(4) {
  background: #f4a261;
}

.color:nth-child(5) {
  background: #e76f51;
}

.color:hover {
  flex: 2;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.color:hover span {
  opacity: 1;
}

.counter {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
  padding: 5px;
  background: var(--gris_claro);
  border-radius: 50px;
}

.counter-score, .counter-btn {
  font-weight: 600;
  font-size: 22px;
  color: var(--main-color);
}

.counter-btn {
  width: 30px;
  height: 30px;
  border-radius: 100%;
  border: none;
  background: transparent;
}

.caracteristica{
  border-radius: 30px;
  border: solid 2px var(--gris_oscuro);
  padding: 5px;
  width: auto;

}

.info{
  position: absolute;
  bottom: -25px;
  background: #e9e8e8;
  box-shadow: var(--sombra);
  border-radius: 20px;
  padding: 5px;
  z-index: 1;
  width: 250px;
  justify-content: center;
  cursor: pointer;
  transition: all ease-in-out 0.5s
}

.info:hover{
  transform: translateY(-5px);
}


.tabla{
  background-color: var(--blanco);
  padding: 30px 50px;
  margin-top: 50px !important;
  box-shadow: var(--sombra);
  border-radius: 15px;

}

.ref{
  padding: 5px;
  font-weight: 800;
  font-family: var(--poppins);
  font-family: 10px;
  margin: 0px;
  margin-right: 7px;
}

.valor-ficha{
  padding: 5px;
  margin: 0;
  font-family: var(--poppins);
  font-family: 8px;
  font-weight: 400;
  text-align: justify;
}

.dowload{
  position: absolute;
  left: 30px;
  top: 30px;
  cursor: pointer;
}

.mi-swiper-container {
  width: 100%;
  overflow: hidden; 

}

.sig,
.atr {
  position: absolute;
  top:  50%;
  width:  30px; 
  height:  30px; 
  margin-top: -15px; 
  z-index: 8 !important;
}

.sig {
  right:  -20px !important ; 
}

.atr {
  left:  -20px !important; 
}

@media(max-width: 721px){
  .imagen_detalles img{
    height: 200px;
  }
  .sig,
  .atr {
    position: absolute;
    width:  10px !important; 
    height:  10px !important;  
    font-size: 5px !important;
    margin-top: 25px !important;
  }

  .sig {
    right:  5px !important ; 
  }
  
  .atr {
    left:  5px !important; 
  }

  .butones{
    flex-direction: column;
    gap: 9px;
  }
}

    .title_mm {
        letter-spacing: -1px;
        position: relative;
        display: flex;
        align-items: center;
        padding-left: 30px;
        text-align: center;
        font-family: var(--Oswald);
        font-weight: 600;
        font-size: 30px;
    }


    .title_mm::before,.title_mm::after {
        position: absolute;
        content: "";
        height: 16px;
        width: 16px;
        border-radius: 50%;
        left: 0px;
        background-color: var(--rojo_hover);
    }

    .title_mm::before {
        width: 18px;
        height: 18px;
        background-color: var(--rojo_hover);
    }

    .title_mm::after {
        width: 18px;
        height: 18px;
        animation: pulse 1s linear infinite;
    }

    @keyframes shine {
        0% {
            left: -100px;
        }

        60% {
            left: 100%;
        }

        to {
            left: 100%;
        }
        }



    @keyframes pulse {
        from {
            transform: scale(0.9);
            opacity: 1;
        }

        to {
            transform: scale(1.8);
            opacity: 0;
        }
    }



  .folder-row {
      font-weight: bold;
      color: var(--rojo_hover); 
      position: relative;
      background-color: #f1f1f1;
    }

    .file-row {
      position: relative;
    }




    /* Línea horizontal que conecta la vertical con el icono de archivo */
    .file-icon::before {
      content: "";
      position: absolute;
      left: -16px;
      top: 50%;
      width: 30px;
      height: 2px;
      background: #ccc;
    }

    .file-icon {
      position: relative;
      display: flex;
      align-items: center;
      margin-right: 6px;
      color: #272727;
      cursor: pointer;
      gap: 5px;
      padding: 7px;

    }

    .icono-subfile{
      padding: 7px;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      min-width: 40px;
      min-height: 40px;
    }

    .file-icon:hover{
      color: var(--gris_oscuro);
      background-color:#f5f5f5;
      border-radius: 15px;
    }
    
    .table td {
      vertical-align: middle;
    }


.sub-archivos {
  position: relative;
  margin-left: 15px; /* para alinear con la carpeta */
  padding-left: 20px;
}

.sub-archivos::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;   
  width: 2px;
  background: #ccc;
}






.contact-container {
  margin-top: 30px;
  /*background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);*/
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  }

.contact-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
 /* background: linear-gradient(90deg, #FF6B6B, var(--rojo_hover));*/
  background-size: 200% 200%;
  animation: gradientShift 3s ease infinite;
}

@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.contact-header {
  text-align: left;
  padding: 40px 40px 20px;
  color: #333;
}

.contact-header p {
    font-size: 1.1rem;
    color: var(--gris_oscuro);
    font-weight: 500;
}

.contact-content {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    padding: 40px;
    align-items: center;
}

.contact-list {
    list-style: none;
}

.contact-item {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 15px;
  padding: 20px;
  margin-bottom: 15px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.contact-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transition: left 0.5s;
}

.contact-item:hover::before {
    left: 100%;
}

.contact-item:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    border-color: var(--rojo_hover);
}

.contact-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.contact-icon {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, var(--gris_claro) 0%, var(--gris_hover) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.2rem;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.contact-item:hover .contact-icon {
    transform: rotate(15deg) scale(1.1);
}

.contact-details h3 {
    color: #333;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 5px;
}

.contact-details a {
    color: var(--main-color);
    text-decoration: none;
    font-weight: 700;
    transition: all 0.3s ease;
    position: relative;
}

.contact-details a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #667eea, #764ba2);
    transition: width 0.3s ease;
}

  .contact-details a:hover::after {
      width: 100%;
  }

  .contact-details a:hover {
      color: #764ba2;
  }

  .mascot-container {
      position: relative;
  }

        