@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');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}




section {
  width: 99vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}



#buscador {
  width: 70%;
  font-weight: 600;
}

.form__group {
  position: relative;
  padding: 20px 0 0;
  width: 100%;
}

.form__field {
  font-family: inherit;
  width: 100%;
  border: none;
  border-bottom: 2px solid #354F52;
  outline: 0;
  font-size: 2vw;
  color: #354F52;
  padding: 7px 0;
  background: transparent;
  transition: border-color 0.2s;
}

.form__field::placeholder {
  color: transparent;
}

.form__field:placeholder-shown ~ .form__label {
  font-size: 2.5vw;
  cursor: text;
  top: 20px;
}

.form__label {
  position: absolute;
  top: 0;
  display: block;
  transition: 0.2s;
  font-size: 1.5vw;
  color: #354F52;
  pointer-events: none;
  user-select: none; /* Evita que el texto sea seleccionable */
  -webkit-user-select: none; /* Para navegadores WebKit (Safari, Chrome) */
  -moz-user-select: none; /* Para navegadores Firefox */
  -ms-user-select: none; /* Para Internet Explorer y Edge */
}

.form__field:focus {
  padding-bottom: 6px;
  font-weight: 700;
  border-width: 3px;
  border-image: linear-gradient(to right, #C7923E, #C7923E);
  border-image-slice: 1;
}

.form__field:focus ~ .form__label {
  position: absolute;
  top: 0;
  display: block;
  transition: 0.2s;
  font-size: 1.5vw;
  color: #C7923E;
  font-weight: 700;
}

/* reset input */
.form__field:required, .form__field:invalid {
  box-shadow: none;
}

.icon {
  margin-right: 2%;
  margin-top: 4px;
}
.icon span{
  font-size: 200%;
}

@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 200 700;
  src: url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v160/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsI.woff2) format('woff2');
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
}

#listaArticulos {
  font-size: 30px;
  margin-top: 20px;
  list-style: none;
  font-weight: 600;
  color: #2F3E46;
  text-align: left;
}
.articulo a {
  text-decoration: none; /* Quitar el guion bajo */
  color: #2F3E46; /* Cambiar el color del enlace (puedes ajustar el color según tus preferencias) */
  cursor: pointer;
}
.articulo a:hover {
  color: #52796F; /* Cambiar el color al pasar el ratón sobre el enlace (puedes ajustar el color) */
}
li {
  margin: 5px 0;
}

.filtro {
  display: none;
}





body {
  background: #CAD2C5;
  margin: 0;
  min-height: 100vh;
  position: relative;
}

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 2000%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  background:  #CAD2C5;
  transition: opacity 0.4s ease;
  pointer-events: none; 
}

#overlay.oculto {
  opacity:  0%;
}

#overlayFirst {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 2000%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  background:  #CAD2C5;
  transition: opacity 4s ease;
  pointer-events: none; 
}
#overlayFirst.oculto {
  opacity:  0%;
}


#contenedor {
  text-align: center;
}

#contenedor h1 {
  font-size: 12vw;
  font-weight: 600;
  color: #2F3E46;

  user-select: none; /* Evita que el texto sea seleccionable */
  -webkit-user-select: none; /* Para navegadores WebKit (Safari, Chrome) */
  -moz-user-select: none; /* Para navegadores Firefox */
  -ms-user-select: none; /* Para Internet Explorer y Edge */
}

#barra-morada {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 300px;
  background: linear-gradient(to top, #CAD2C5, transparent);/*#CAD2C5*/
  z-index: 1000;
  transition: height 0.5s ease;
  pointer-events: none;
}


#barra-morada.oculto {
  height: 0;
}

.footer {

  position: fixed;
  bottom: 0;
  color: white;
  text-align: center;
  padding: 10px;
  width: 100%;
  position: unset;
  z-index: 1000;
}

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
}

.button {
  display: inline-block;
  padding: 10px 20px;
  font-size: 2vw;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  border: none;
  border-radius: 9px;
  background-color: #13408F;
  
  /*border: 5px solid #0D2E66;*/
  color: #354F52;
  margin: 10px;
  margin-left: 14px;
  margin-bottom: 25px;
  transition: background-color 0.3s ease;
  font-weight: 600;
}

.button:hover {
  background-color: #1D62DB;
}

#button-up.oculto {
  display: none;


}




.imageBigBoton {
  position: absolute;
  top: 10px; /* Ajusta según la distancia desde el borde superior */
  left: 10px; /* Ajusta según la distancia desde el borde izquierdo */
  z-index: 1000;
  justify-content: center;
  align-items: center;
}



.imageBig {
  width: 100%;
  max-height: 100vh;
  object-fit: contain;
}
.ocultar {
  height: 550vh;
  display: none;
}



.btn2 {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  border: 2px solid #2F3E46;
  text-transform: uppercase;
  color: #2F3E46;
  text-decoration: none;
  font-weight: 600;
  font-size: 20px;
  transition: 0.3s;
  margin: 10px;
  margin-left: 14px;
  margin-bottom: 25px;
}

.btn2::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% - -2px);
  background-color: #CAD2C5;
  transition: 0.3s ease-out;
  transform: scaleY(1);
}

.btn2::after {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% - 50px);
  background-color: #CAD2C5;
  transition: 0.3s ease-out;
  transform: scaleY(1);
}

.btn2:hover::before {
  transform: translateY(-25px);
  height: 0;
}

.btn2:hover::after {
  transform: scaleX(0);
  transition-delay: 0.15s;
}

.btn2:hover {
  border: 2px solid #C7923E;
  color: #C7923E;
}

.btn2 span {
  position: relative;
  z-index: 3;
}

.btn2Parent {
  text-decoration: none;
  border: none;
  background-color: transparent;
}


.error {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  width: 30%px;
  padding: 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  background: #C7923E;
  border-radius: 8px;
  box-shadow: 0px 0px 5px -3px #111;
}

.error__icon {
  width: 20px;
  height: 20px;
  transform: translateY(-2px);
  margin-right: 8px;
}

.error__icon path {
  fill: #354F52;
}

.error__title {
  font-weight: 500;
  font-size: 1vw;
  color: #354F52;
  overflow: hidden;
  text-overflow: ellipsis;
}

.error__close {
  width: 20px;
  height: 20px;
  cursor: pointer;
  margin-left: auto;
}

.error__close path {
  fill: #354F52;
}

.ocultarError {
  display: none;
}

.chaotic-orbit {
  --uib-size: 1.7vw;
  --uib-speed: 1.5s;
  --uib-color: #2F3E46;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--uib-size);
  width: var(--uib-size);
  animation: rotate936 calc(var(--uib-speed) * 1.667) infinite linear;
  position: absolute;
  bottom: 1;
  right: 0;
  margin-right: 16%;
  margin-top: 1%;
  z-index: 1;
  transition: opacity 0.1s ease-in-out;
 }
 
 .chaotic-orbit::before,
 .chaotic-orbit::after {
  content: '';
  position: absolute;
  height: 60%;
  width: 60%;
  border-radius: 50%;
  background-color: var(--uib-color);
  will-change: transform;
  flex-shrink: 0;
 }
 
 .chaotic-orbit::before {
  animation: orbit var(--uib-speed) linear infinite;
 }
 
 .chaotic-orbit::after {
  animation: orbit var(--uib-speed) linear calc(var(--uib-speed) / -2)
     infinite;
 }
 .desvanecer {
  opacity: 0; 
}
 @keyframes rotate936 {
  0% {
   transform: rotate(0deg);
  }
 
  100% {
   transform: rotate(360deg);
  }
 }
 @keyframes orbit {
  0% {
   transform: translate(calc(var(--uib-size) * 0.5)) scale(0.73684);
   opacity: 0.65;
  }
 
  5% {
   transform: translate(calc(var(--uib-size) * 0.4)) scale(0.684208);
   opacity: 0.58;
  }
 
  10% {
   transform: translate(calc(var(--uib-size) * 0.3)) scale(0.631576);
   opacity: 0.51;
  }
 
  15% {
   transform: translate(calc(var(--uib-size) * 0.2)) scale(0.578944);
   opacity: 0.44;
  }
 
  20% {
   transform: translate(calc(var(--uib-size) * 0.1)) scale(0.526312);
   opacity: 0.37;
  }
 
  25% {
   transform: translate(0%) scale(0.47368);
   opacity: 0.3;
  }
 
  30% {
   transform: translate(calc(var(--uib-size) * -0.1)) scale(0.526312);
   opacity: 0.37;
  }
 
  35% {
   transform: translate(calc(var(--uib-size) * -0.2)) scale(0.578944);
   opacity: 0.44;
  }
 
  40% {
   transform: translate(calc(var(--uib-size) * -0.3)) scale(0.631576);
   opacity: 0.51;
  }
 
  45% {
   transform: translate(calc(var(--uib-size) * -0.4)) scale(0.684208);
   opacity: 0.58;
  }
 
  50% {
   transform: translate(calc(var(--uib-size) * -0.5)) scale(0.73684);
   opacity: 0.65;
  }
 
  55% {
   transform: translate(calc(var(--uib-size) * -0.4)) scale(0.789472);
   opacity: 0.72;
  }
 
  60% {
   transform: translate(calc(var(--uib-size) * -0.3)) scale(0.842104);
   opacity: 0.79;
  }
 
  65% {
   transform: translate(calc(var(--uib-size) * -0.2)) scale(0.894736);
   opacity: 0.86;
  }
 
  70% {
   transform: translate(calc(var(--uib-size) * -0.1)) scale(0.947368);
   opacity: 0.93;
  }
 
  75% {
   transform: translate(0%) scale(1);
   opacity: 1;
  }
 
  80% {
   transform: translate(calc(var(--uib-size) * 0.1)) scale(0.947368);
   opacity: 0.93;
  }
 
  85% {
   transform: translate(calc(var(--uib-size) * 0.2)) scale(0.894736);
   opacity: 0.86;
  }
 
  90% {
   transform: translate(calc(var(--uib-size) * 0.3)) scale(0.842104);
   opacity: 0.79;
  }
 
  95% {
   transform: translate(calc(var(--uib-size) * 0.4)) scale(0.789472);
   opacity: 0.72;
  }
 
  100% {
   transform: translate(calc(var(--uib-size) * 0.5)) scale(0.73684);
   opacity: 0.65;
  }
 }
 
 
.clickButtonBack {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  border: 2px solid #fefefe;
  text-transform: uppercase;
  color: #fefefe;
  text-decoration: none;
  font-weight: 600;
  font-size: 20px;
  transition: 0.3s;
}

.clickButtonBack::before {
  content: '';
  position: absolute;
  top: 6px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% - 12px);
  background-color: #CAD2C5;
  transition: 0.3s ease-in-out;
  transform: scaleY(1);
}

.clickButtonBack:hover::before {
  transform: scaleY(0);
}

.clickButtonBack::after {
  content: '';
  position: absolute;
  left: 6px;
  top: -2px;
  height: calc(100% + 4px);
  width: calc(100% - 12px);
  background-color: #CAD2C5;
  transition: 0.3s ease-in-out;
  transform: scaleX(1);
  transition-delay: 0.5s;
}

.clickButtonBack:hover::after {
  transform: scaleX(0);
}
.clickButtonBack:hover {
  border: 2px solid #C7923E;
  color: #C7923E;
}

.clickButtonBack span {
  position: relative;
  z-index: 3;
}

.buttonBack {
  background-color: none;
  text-decoration: none;
  background-color: #CAD2C5;
  border: none;
}


.card {
  width: 350px;
  height: 235px;
  position: relative;
  padding: 25px;
  background: radial-gradient(178.94% 106.41% at 26.42% 106.41%, #FFF7B1 0%, rgba(255, 255, 255, 0) 71.88%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */, #2F3E46;
  box-shadow: 0px 155px 62px rgba(0, 0, 0, 0.01), 0px 87px 52px rgba(0, 0, 0, 0.05), 0px 39px 39px rgba(0, 0, 0, 0.09), 0px 10px 21px rgba(0, 0, 0, 0.1), 0px 0px 0px rgba(0, 0, 0, 0.1);
  border-radius: 23px;
  transition: all 0.8s cubic-bezier(0.15, 0.83, 0.66, 1);
  cursor: pointer;
}

.card:hover {
  transform: scale(1.05);
}

.container {
  width: 250px;
  height: 250px;
  position: absolute;
  right: -35px;
  top: -50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0.7);
}



.card-header {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.card-header span:first-child {
  word-break: break-all;
  font-weight: 800;
  font-size: 15px;
  line-height: 135%;
  color: rgba(87, 77, 51, 0.66);
}

.card-header span:last-child {
  font-weight: 700;
  font-size: 15px;
  line-height: 135%;
  color: rgba(87, 77, 51, 0.33);
}

.temp {
  position: absolute;
  left: 25px;
  bottom: 12px;
  font-weight: 700;
  font-size: 64px;
  line-height: 77px;
  color: rgba(87, 77, 51, 1);
}

.temp-scale {
  width: 80px;
  height: 36px;
  position: absolute;
  right: 25px;
  bottom: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.06);
  border-radius: 9px;
}

.temp-scale span {
  font-weight: 700;
  font-size: 13px;
  line-height: 134.49%;
  color: rgba(87, 77, 51, 0.66);
}


@media (max-width: 900px) {
  #buscadorInput {
    font-size: 4vw;
  }

  #contenedor h1 {
    font-size: 13vw;
  }

  #listaArticulos {
    text-align: left;
    
  font-size: 6vw;
  }
  .button {
    font-size: 8vw;
  }
  .form__field {

    font-size: 7vw;
  }
  .form__field:placeholder-shown ~ .form__label {
    font-size: 5vw;
  }
  .form__label {
    font-size: 4vw;
  }
  .form__field:focus ~ .form__label {
    font-size: 4vw;
  }
  .error__title {
    font-size: 2.5vw;
  }
}

@media (max-width: 600px) {
  .imageBigBoton {
    top: 2vh;
    left: 50%;
    transform: translateX(-49%);
  }
}
