@import url("https://fonts.googleapis.com/css2?family=Caprasimo&family=Kumbh+Sans:wght@200;300&family=Roboto:ital,wght@0,500;1,300;1,400;1,500&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --verde: #00a149;
  --blanco: #fff;
  --rojo: #881014;
  --oscuro: #000;
  --titulos: "Arima Madurai", cursive;
  --parrafos: "Mulish", sans-serif;
  --rojo-intenso: #d23232;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
}
body {
  font-size: 1.6rem;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

::after,
*::before {
  box-sizing: inherit;
}

/* /Global/ */
.contenedor {
  max-width: 120rem;
  margin: 0 auto;
  width: 95%;
}

h1,
h2 {
  font-family: var(--titulos);
}

h3,
p,
a {
  font-family: var(--parrafos);
}

.verde {
  color: var(--verde);
}

.rojo {
  color: var(--rojo);
}

.ocultar {
  display: none;
}

.btn-cerrar {
  font-size: 3rem;
  font-weight: bold;
  color: var(--oscuro);
  position: absolute;
  top: 0;
  right: 50px;
  user-select: none;
}

.pantalla-completa {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 4;
}

@keyframes desplazamiento {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(0);
  }
}

.btn-cerrar:hover {
  cursor: pointer;
}

/*boton del banner*/
.btn {
  text-decoration: none;
  color: var(--blanco);
  font-size: 2rem;
  text-transform: capitalize;
  padding: 1rem 5rem;
  border-radius: 5px;
  transition: all 0.3s ease-in-out;
}

/*parte responisve del video*/

@media (min-width: 768px) {
  .btn {
    font-size: 2.2rem;
  }
}

#bordes {
  border: 3px solid var(--blanco);
}

/*parte responsive del video: bordes del btn*/

@media (min-width: 768px) {
  #bordes {
    border: 4px solid var(--blanco);
  }
}

/*boton all products*/
#bordes:hover {
  color: var(--blanco);
  background-color: #d23232;
}

/* /header/ */

.contenedor-navegacion {
  background-color: #f0f0f0;
  position: relative;
  z-index: 5;
}
.contenido-navegacion {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  transform: scale(60%);
}

.logo > img {
  transform: translateX(-50rem);
}

.logo h2 {
  font-size: 3rem;
}

.logo h2,
.navegacion a {
  color: var(--oscuro);
}

.navegacion a {
  text-decoration: none;
  font-size: 2.2rem;
  padding: 1.5rem;
  padding-left: 4rem;
  display: block;
  transition: color 0.3s ease-in-out;
  text-align: center;
}

@media (min-width: 768px) {
  .navegacion a {
    text-align: left;
  }
}

.navegacion a:nth-child(even):hover {
  color: var(--rojo);
}

.navegacion a:nth-child(odd):hover {
  color: var(--verde);
}

.navegacion a:first-of-type {
  margin-top: 5rem;
}

.navegacion {
  /* /menu desplegable/ */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  bottom: 0;
  height: 100vh;
  width: 41rem;
  padding: 3rem 4rem;
  background-color: #f0f0f0;
  animation: desplazamiento 0.5s ease-in-out;
}

.hamburguesa:hover {
  cursor: pointer;
}

.hamburguesa span {
  display: block;
  background-color: var(--oscuro);
  width: 5rem;
  height: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Separador/Banner */

.separador {
  background-image: url("https://anbernic.com/cdn/shop/files/cubexx-pc.webp?v=1729853011&width=1600"); /*imagen*/
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 2;
}

.separador::before {
  /*Overlay de imagen*/
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: -1;
}

.contenido-separador {
  padding: 5rem;
}

.box-separador {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  grid-auto-rows: auto;
}

.contenido-separador h2 {
  /*Titulo*/
  font-size: 4rem;
  color: var(--blanco);
  text-align: left;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.contenido-separador p {
  /*Texto*/
  color: var(--blanco);
  font-size: 3rem;
  text-align: left;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
  grid-row: 2;
  padding-right: 40rem;
  text-align: left;
}

.contenido-separador button {
  margin-top: 1rem;
  background-color: #d23232;
  border: none;
  color: white;
  padding: 1.5rem 6rem;
  border-radius: 2rem;
  font-size: 2rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.contenido-separador button:hover {
  cursor: pointer;
  background-color: #db5454;
}

/*Mini articulo retro square*/

.retro {
  margin-top: 6rem;
  display: flex;

  gap: 5rem;
}

.imagen-retro img {
  max-width: 55rem;
  border-radius: 1rem;
}

.retro h2 {
  border-radius: 2rem;
  margin-bottom: 2rem;
  color: black;
  font-size: 4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.texto-retro h3 {
  font-size: 3rem;
  margin-bottom: 1rem;
}
.texto-retro p {
  font-size: 1.9rem;
}

/*formulario contac us*/

.formulario-contacto {
  padding-top: 5rem;
}

.informacion-contacto {
  display: flex;
  flex-direction: column;
  gap: 8rem;
  justify-content: center;
  align-items: center;
}

.informacion-contacto,
.formulario {
  flex: 0 0 calc(50% - 1rem);
}
.informacion-contacto {
  background-color: #ffffff;
  background-image: url("/assets/img/Anbernic_logo.png");
  padding: 2rem;
  background-repeat: no-repeat;
  background-position: left 5rem top 30rem, right 2rem bottom 5rem;
  background-size: 80%;
}

.redes-sociales i {
  color: #d23232;
}
.informacion-contacto h3 {
  font-size: 4rem;
  font-family: "Roboto", serif;
  font-weight: 500;
  font-style: normal;
  transform: translateY(-5rem);
  color: #d23232;
}

.informacion-contacto i {
  margin-right: 1rem;
}

.redes-sociales {
  font-size: 3rem;
}

.formulario {
  padding: 5rem;
}

.input-formulario label {
  display: block;
  font-size: 2rem;
  font-family: "Roboto", serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 2rem;
}

.input-formulario input,
.input-formulario textarea {
  width: 100%;
}
.input-formulario input,
.input-formulario textarea {
  padding: 1rem 1.6rem;
  border: 1px solid #e1e1e1;
  border-radius: 5px;
  outline: none;
  font-family: "Roboto", serif;
  font-weight: 400;
  font-style: normal;
}
.input-formulario textarea {
  height: 20rem;
  resize: none;
}

.btn-formulario {
  margin-top: 1rem;
}

/*Cambio de color para alerta*/
.swal2-confirm {
  background-color: #d23232;
  color: white;
  font-family: "Roboto", serif !important;
}

/*Cambia tipografia*/
.subscribeMessage {
  font-family: "Roboto", sans-serif !important;
  font-weight: 700;
  font-style: normal;
}

/*Pie de pagina*/

.pie-pagina {
  margin-top: 5rem;
  background-color: #ffffff;
  padding: 5rem;
}

.info {
  flex: 0 0 calc(25% - 1rem);
  margin-bottom: 2rem;
}

.info img {
  width: 80%;
}
.info h3,
.info p {
  color: black;
  text-align: center;
}
.info h3 {
  font-size: 2.2rem;
  text-align: left;
  font-family: "Roboto", serif;
  font-weight: 700;
  font-style: normal;
}

.info p {
  font-size: 1.8rem;
  text-align: left;
  font-family: "Roboto", serif;
  font-weight: 400;
  font-style: normal;
}

.redes-pie {
  text-align: left;
}
.info input[type="email"] {
  font-family: "Roboto", serif;
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  margin-bottom: 1rem;
  padding: 2rem;
  border-radius: 5px;
  outline: none;
  width: 100%;
}

.info input[type="submit"] {
  padding: 0.5rem 2rem;
  font-size: 1.8rem;
  border-radius: 1rem;
}
.footer {
  text-align: center;
  background-color: #d23232;
  color: var(--blanco);
  padding: 1rem;
  font-size: 2rem;
}

@media (min-width: 768px) {
  .contenido-separador h2 {
    text-align: left;
    font-size: 5rem;
    color: var(--blanco);
  }

  .contenido-separador p {
    text-align: left;
  }

  .contenido-retro {
    display: flex;
    justify-content: space-between;
  }

  .formulario-contacto {
    display: flex;
  }

  .contenedor-piepagina {
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 480px) {
  /* logo */
  .logo {
    transform: scale(40%);
  }

  .logo > img {
    transform: translateX(-30rem);
  }

  /*Separador*/
  .contenido-separador h2 {
    text-align: center;
    font-size: 4rem;
  }

  .contenido-separador p {
    text-align: center;
    font-size: 1.5rem;
    padding: 0;
  }
  .contenido-separador button {
    transform: translateX(5.8rem);
  }
  /*mini articulo consol square*/
  .retro {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    margin: 1rem;
    padding: 2rem;
  }

  .imagen-retro img {
    padding: 0.5rem;
    width: 100%;
    transform: translateY(-5rem);
  }

  .retro h2 {
    font-size: 2.5rem;
  }

  .texto-retro h3 {
    font-size: 2rem;
  }

  .texto-retro p {
    font-size: 1.5rem;
  }
  /*Formulario*/
  .informacion-contacto {
    padding: 2rem;
    background-position: left 3rem top 7rem, right 0 bottom 0;
    background-size: 80%;
    gap: 6rem;
  }

  .informacion-contacto h3 {
    font-size: 3rem;
    transform: translateY(-1rem);
  }
  .formulario-contacto {
    transform: translateY(-5rem);
  }
}
/* Sección Nosotros */

/* Contenedor principal con flexbox */
.contenedor-nosotros {
  font-family: "Roboto", serif;
  font-style: normal;
  font-size: 2rem;
  display: flex;
  flex-direction: column; /* Para alinear los textos uno debajo del otro */
  align-items: center;
  justify-content: center;
  height: 100vh; /* Asegura que el contenedor ocupe todo el alto de la pantalla */
  text-align: center;
  position: relative; /* Para permitir el posicionamiento de los textos dentro de este contenedor */
  padding: 0 1rem; /* Espacio adicional en los bordes para evitar desbordes */
  gap: 2rem; /* Espacio entre el texto y el carrusel */
}

.sobre-nosotros {
  flex-direction: column;
}
.subtitulo {
  font-family: "Roboto", serif;
  font-weight: 900;
  font-size: calc(3rem + 5vw); /* Tamaño dinámico para "SOBRE NOSOTROS" */
  color: #00000032;
  margin-top: -6rem;
}

.texto-nosotros h1 {
  font-family: "Roboto", serif;
  font-weight: 800;
  font-size: calc(3rem + 1vw); /* Tamaño dinámico para "ANBERNIC" */
  color: var(--rojo-intenso);
  margin: -6rem 0 0;
}

.texto {
  font-family: "Roboto", serif;
  font-size: 1.5rem; /* Tamaño dinámico para el texto de descripción */
  color: #000000;
  max-width: 80%; /* Limita el tamaño del párrafo para que no ocupe toda la pantalla */
  margin: 2rem auto 0;
}

.carousel-item {
  margin-top: 0rem;
}
.card-title {
  font-size: 2rem; /* Aumentar tamaño del título */
}

.card-text {
  font-size: 1.5rem; /* Aumentar tamaño del texto de la descripción */
}

.carousel-control-prev svg,
.carousel-control-next svg {
  fill: var(--rojo-intenso); /* Cambiar color */
  width: 3rem; /* Tamaño de la flecha */
  height: 3rem; /* Tamaño de la flecha */
}

.carousel-control-prev,
.carousel-control-next {
  background-color: transparent; /* Eliminar fondo del botón */
}

.contenedor-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 4rem;
}

#carouselMultiItemExample {
  margin-top: 2rem;
}
.texto-articulos {
  text-align: center;
  font-size: calc(2rem + 2vw);
  color: var(--rojo-intenso);
  font-family: "Roboto", serif;
}

.botones-categoria .btn-red {
  background-color: var(--rojo-intenso);
  color: rgb(255, 255, 255);
  margin: 5rem 0 1rem 1rem;
  display: inline-block;
  width: 20rem;
  font-size: 1rem;
}

.botones-categoria {
  display: flex;
  flex-wrap: wrap;
  flex: 0 0 calc(50% - 1rem);
}

.botones-categoria button {
  flex: 0 0 calc(50% - 1rem);
  padding: 1rem 1rem;
  flex: unset;
}

.botones-categoria {
  display: inline-block;
}

.articulos {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 12rem;
}
.articulo-individual img {
  width: 100%;
  height: auto;
  display: block; /* Esto ayuda a evitar espacios adicionales debajo de las imágenes */
}

.articulo-individual {
  flex: 0 0 calc(33.3% - 1rem);
  padding: 3rem;
  border: 1px solid #e1e1e1;
}

.articulo-individual h2 {
  font-size: 1.5rem;
  text-align: center;
}

.articulo-individual p {
  font-size: 1rem;
  text-align: center;
}

.articulo-individual .precio {
  display: flex;
  justify-content: space-between; /* Para alinear el precio y el botón */
  align-items: center; /* Alinea el precio y el botón verticalmente */
  margin-top: auto; /* Empuja el precio y botón hacia el final del contenedor */
}

.precio p {
  font-weight: bold;
  font-size: 1.5rem;
  margin: 0;
  color: #000;
}

.precio button {
  border-radius: 5px;
  border: none;
  background-color: var(--rojo-intenso);
  color: #ffffff;
  padding: 1rem;
}

/* Estilos iniciales para las imágenes */
img[data-src] {
  opacity: 0;
  transform: translateY(20px); /* Comienza ligeramente desplazada hacia abajo */
  transition: opacity 1s, transform 1s ease-out; /* Efecto de desvanecimiento y deslizamiento */
}

/* Cuando la imagen se ha cargado y se ha desplazado a su lugar */
img.loaded {
  opacity: 1;
  transform: translateY(0); /* Desplazamiento hacia su posición original */
}

/* Media query para pantallas pequeñas (móviles) */
@media (max-width: 480px) {
  /* Ajustes para subtitulo */
  .subtitulo {
    font-size: calc(2rem + 7vw); /* Mantener tamaño dinámico */
    margin-top: 0; /* Evitar márgenes grandes */
  }

  /* Ajustes para título */
  .texto-nosotros h1 {
    font-size: calc(2rem + 2vw); /* Tamaño de fuente ajustado */
    margin-top: -10vh; /* Ajustar el margen superior con valor dinámico */
  }

  /* Ajustes para el texto */
  .texto {
    font-size: calc(0.5rem + 2vw); /* Ajuste más pequeño y dinámico */
    max-width: 90%; /* Dejar más espacio en móviles */
    margin-bottom: 13rem;
  }

  #carouselMultiItemExample {
    width: 30rem;
    margin: auto;
  }
}
/*video*/

.contenido-header {
  position: relative;
}

.contenido-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

video {
  width: 100%;
  height: 100%;
}

/*letras del video*/
.texto-encabezado {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 80%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.texto-encabezado h2 {
  color: #ee1717;
  font-size: 8rem;
}

.texto-encabezado a {
  color: red;
  font-size: 2rem;
}

/*parte responsive del video*/
@media (min-width: 768px) {
  .texto-encabezado h2 {
    font-size: 8rem;
  }
}

@media (max-width: 320px) {
  .texto-encabezado h2 {
    font-size: 1rem;
  }
}

@media (max-width: 375px) {
  .texto-encabezado h2 {
    font-size: 3rem;
  }
}

@media (max-width: 425px) {
  .texto-encabezado h2 {
    font-size: 3.5rem;
  }
}
