/*GOOGLE FONTS*/
@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");

/* AFECTA TODOS LOS ELEMENTOS */
* {
  font-family: "Poppins", sans-serif;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  scroll-padding-top: 2rem;
  box-sizing: border-box;
}

/*Variables*/
:root {
  --container-color: #1a1e21;
  --second-color: #122949;
  --text-color: #172317;
  --bg-color: #fff;
}

a {
  text-decoration: none;
}

li {
  list-style: none;
}

img {
  width: 100%;
}

section {
  padding: 3rem 0 2rem;
  margin-top: 40px;
  margin-bottom: 40px;
}

.container {
  max-width: 1068px;
  width: 100%;
  margin: auto;
}

/* Estilos del encabezado */
.header {
  background-color: #fff;
  padding: 5px 0;
  box-shadow: 0 2px 4px rgba(93, 88, 88, 0.1);
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
}

.navbar img {
  width: 100px;
  height: auto;
}

.logo a {
  text-decoration: none;
  color: #000;
  font-weight: bold;
  font-size: 24px;
}

.nav-links {
  list-style: none;
  margin: 10px;
  padding: 0;
}

.nav-links li {
  display: inline-block;
  margin-right: 50px;
}

.nav-links li a {
  text-decoration: none;
  color: #000;
}

.icons {
  display: flex;
  align-items: center;
  gap: 50px; /* Aumenta el espacio entre iconos */
}

.icons a {
  color: #000;
  font-size: 32px; /* Tamaño de los iconos aumentado */
  transition: color 0.3s ease, transform 0.3s ease;
}

.icons a:hover {
  color: #ffcc00; /* Cambia de color al pasar el mouse */
  transform: scale(1.3); /* Efecto de zoom */
}



/* Estilos del icono del carrito */
.cart-icon img {
  width: 30px;
  height: auto;
}


/*INICIO INFO*/

.info p {
  text-align: center;
}

.info-title {
  text-align: center;
}

.info-text p {
  margin: 20px;
  text-align: justify;
  align-items: start;
  line-height: 1.8em;
}


/*INICIO TABLON*/

.tablon {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Tres columnas iguales */
  gap: 20px; /* Espacio entre las columnas */
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 70px;
}

.columna {
  background-color: #f9f9f9; /* Color de fondo */
  padding: 10px; /* Espaciado interno */
  border-radius: 5px; /* Bordes redondeados */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Sombra */
  text-align: center;
}

.columna h2 {
  font-size: 18px; /* Tamaño del título */
  margin-bottom: 10px; /* Espaciado inferior */
  margin-top: 20px;
}

.columna img {
  width: 300px; /* Imagen al 100% del ancho de la columna */
  height: 150px;
  border-radius: 5px; /* Bordes redondeados */
  margin-bottom: 10px; /* Espaciado inferior */
}

.columna p {
  font-size: 14px; /* Tamaño del texto */
  margin-bottom: 10px; /* Espaciado inferior */
  margin: 10px;
}

.columna button {
  background-color: var(--second-color); /* Color de fondo del botón */
  color: #fff; /* Color del texto */
  border: none; /* Sin borde */
  padding: 10px 20px; /* Espaciado interno */
  border-radius: 5px; /* Bordes redondeados */
  cursor: pointer; /* Cambio de cursor */
  transition: background-color 0.3s; /* Transición suave */
  margin: 10px;
}

.columna button:hover {
  background-color: #0056b3; /* Cambio de color al pasar el ratón */
}

/*FIN TABLON*/
/*FIN INFO MEDITACIÓN*/



/*MEDITACIONES*/

.meditaciones {
  background-color: #ffffff;
  padding: 50px 0;
  text-align: center;
  margin-bottom: 0 !important;
}

.meditaciones-title {
  font-size: 2em;
  margin-bottom: 20px;
}

.meditaciones-description {
  font-size: 1.2em;
  margin-bottom: 30px;
}

/* Estilos para los videos */
.video-container {
  display: flex;
  justify-content: center; /* Centrar horizontalmente el contenido */
  margin-bottom: 30px;
  overflow: hidden; /* Asegura que el contenido se recorte para mostrar solo el área dentro del contenedor */
}

.video {
  border-radius: 10px; /* Agregar bordes redondos al contenedor */
}

/* Estilos para el botón */
.meditaciones-btn {
  padding: 10px 20px;
  font-size: 1.2em;
  background-color: #007bff;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.meditaciones-btn:hover {
  background-color: #0056b3;
}

/*FIN MEDITACIONES*/

/*BLOG*/

/*Post Filter*/
.post-filter {
  display: flex;
  justify-content: center;
  column-gap: 1.5rem;
  margin-top: 2rem !important;
}

.filter-item {
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
}

.active-filter {
  background: var(--second-color);
  color: var(--bg-color);
  padding: 4px 10px;
  border-radius: 4px;
}

/*POSTS BLOG - AFECTA A LA SECCIÓN BLOG (FUERA DE LOS POSTS)*/

.blog {
  background-color: #f9f9f9;
  padding: 30px 0;
}

.blog h2 {
  text-align: center;
  margin-bottom: 40px;
}

.blog-posts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 40px;
  justify-content: center;
  gap: 1.5rem;
}

.tablon-post img {
  height: 300px;
  width: auto;
}

/*POSTS*/

.post-box {
  height: 600px;
  background-color: #fff;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 5px;
  
}

.post-box h3 {
  font-size: 24px;
  margin-bottom: 0px;
  text-align: center;
}

.post-box img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  border-radius: 0.5rem;
}

.category {
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
  color: #000;
}

.post-title {
  font-size: 1.3rem;
  font-weight: 600;
  color: #000;
  /*Para que el titulo no sobrepase las 2 líneas*/
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-date {
  display: flex;
  font-size: 0.875rem;
  text-transform: uppercase;
  font-weight: 400;
  margin-top: 4px;
}

.post-description {
  font-size: 0.9rem;
  line-height: 1.5rem;
  margin: 5px 0 10px;
  /*Para que la descripcion no sobrepase las 3 líneas*/
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/*PERFIL DEL POST*/
.profile-container {
  display: flex;
  align-items: center;
  margin-top: 20px;
  padding: 0;
}

.profile-img {
  width: 50px; /* Ancho de la imagen */
  height: 50px; /* Alto de la imagen */
  border-radius: 50%; /* Hace que el borde sea totalmente circular */
  border: 2px solid #000; /* Borde de 2px sólido y color negro */
  overflow: hidden; /* Esto asegura que la imagen se ajuste al borde circular */
  margin-right: 10px; /* Espacio entre la imagen y el nombre */
}

.profile-img img {
  width: 100%; /* Ajusta la imagen al tamaño del contenedor circular */
  height: auto; /* Permitir que la altura se ajuste automáticamente para mantener la proporción */
  object-fit: cover; /* Ajusta la imagen dentro del contenedor sin recortarla */
  object-position: top; /* Muestra la parte superior de la imagen */
  border-radius: 50%; /* Hace que la imagen también tenga bordes redondeados */
}

.profile-name {
  font-size: 14px; /* Tamaño de la fuente del nombre */
}

/*BUTTON POST*/

.button-container {
  display: flex;
  justify-content: center; /* Centrar horizontalmente */
  align-items: center; /* Centrar verticalmente */
  height: 40px; /* Altura de ejemplo */
  margin-top: 20px;
}

.post-btn {
  background-color: #000;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s;
  text-align: center;
  font-size: 15px;
  width: 50%;
  height: auto;
  margin: 0 auto;
  padding: 10px 20px;
}

.post-btn:hover {
  background-color: #fff;
  color: #000;
  cursor: pointer;
}

/*Insta*/
.insta-container {
  margin-top: 30px;
  margin-left: 30px;
  text-decoration: none;
  margin-bottom: 30px;
}

/*RECOMENDACIÓN ARTÍCULO*/
.recommended-article {
  margin: 40px;
}

.recommended-article h2 {
  font-size: 24px;
  margin-bottom: 20px;
}

.recommended-content {
  display: flex;
  align-items: center;
}

.recommended-content img {
  width: 150px;
  height: 100px;
  margin-right: 20px;
}

.recommended-text {
  flex: 1;
}

.recommended-text h3 {
  font-size: 20px;
  margin-bottom: 10px;
}

.recommended-text p {
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 10px;
}

.recommended-text a {
  color: #007bff;
  text-decoration: none;
  font-weight: bold;
}

.recommended-text a:hover {
  text-decoration: underline;
}


/*FOOTER*/

.footer {
  width: 100%; /* Ancho del footer */
  height: 100%;
  margin: 0; /* Centrar el footer horizontalmente */
  margin-top: auto;
  background-color: #333;
  color: #fff;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-left {
  display: flex;
  margin-left: 25px;
  margin-right: 20px;
  padding: 30px;
}

.logo-footer {
  width: 120px; /* Ajusta el tamaño */
  height: auto; /* Mantiene la proporción */
  margin-right: 50px;
}

.footer-right {
  display: flex;
}

.footer-menu {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px; /* Espacio entre las columnas */
  list-style: none;
  margin: 0;
}

.footer-menu li {
  margin-bottom: 10px;
  margin-top: 10px;
}

.footer-menu li a {
  color: #fff;
  text-decoration: none;
}

#blog-link,
#productos-link,
#meditaciones-link {
  border-bottom: 2px solid white; /* Agrega un borde inferior a cada enlace */
}

#blog-link:hover,
#productos-link:hover,
#meditaciones-link:hover {
  text-decoration: none;
  color: #ccc;
}

.footer-menu li a:hover {
  text-decoration: underline;
  color: #ccc;
}

.footer-right {
  display: flex;
  flex-direction: row; /* Cambiar la dirección de flexión a columnas */
  flex-wrap: wrap; /* Permitir que los elementos se envuelvan en múltiples filas */
  align-items: center; /* Alinear los elementos hacia la izquierda */
  margin-left: 40px;
}

.footer-top {
  color: #fff;
  margin-top: 20px;
  margin-bottom: 20px; /* Espacio entre el texto y los iconos */
  font-size: 20px;
  justify-content: center;
  margin-left: 40px;
}

.footer-bottom {
  display: flex; /* Asegurar que los iconos estén en una fila */
}

.icon {
  position: relative;
  width: 80px;
  height: 80px;
  margin: 20px;
  border-radius: 50%;
  transition: all 0.8s;
}

.icon:hover {
  background-color: #e60073;
  box-shadow: 0 0 20px #e60073;
}

.icon:hover:nth-child(2) {
  background-color: #1877f2;
  box-shadow: 0 0 20px #1877f2;
}

.icon:hover:nth-child(3) {
  background-color: #f80909;
  box-shadow: 0 0 20px #f80909;
}

.icon:hover:nth-child(4) {
  background-color: #000000;
  box-shadow: 0 0 20px #000000;
}

.icon i {
  color: #f9f9f9;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.7rem;
}

svg circle {
  stroke-dasharray: 150;
  transition: all 0.8s ease-in-out;
}

.icon:hover circle {
  stroke-dasharray: 220;
}

/*FIN CÓDIGO CSS PARA WEB ESCRITORIO*/

/*MÓVILES*/

/* Estilos para dispositivos móviles */
@media only screen and (max-width: 767px) {
  /* Estilos para el header */
  .navbar {
    flex-direction: column;
    align-items: center;
  }
  .nav-links {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .nav-links li {
    margin-bottom: 10px;
  }

  .cart-icon {
    margin-top: 20px;
  }
  .logo {
    margin-bottom: 20px;
  }

  .home h1 {
    font-size: 35px;
  }

  /* Estilos para la sección de info */
  .info-title {
    text-align: center;
  }
  .info-text p {
    margin-bottom: 20px;
  }

  /* Estilos para la sección de productos */
  .container-productos {
    padding: 20px;
  }
  .producto {
    width: 100%;
    margin-bottom: 20px;
  }

  .productos-button {
    width: 80%; /* Cambia el ancho del botón */
    font-size: 16px; /* Cambia el tamaño del texto del botón */
  }

  .tablon {
    grid-template-columns: 1fr; /* Una sola columna en dispositivos móviles */
  }

  .footer {
    flex-direction: column;
  }

  .footer-left {
    order: 1; /* Cambia el orden de visualización */
  }

  .footer-right {
    order: 2; /* Cambia el orden de visualización */
    margin-top: 20px;
  }

  .footer-right {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .footer-right .footer-bottom {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

/***IPAD***/
/*** Estilos para dispositivos IPAD ***/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  /* Estilos para el header */
  .navbar {
    flex-direction: row;
  }
  .nav-links {
    display: flex;
  }
  .cart-icon {
    margin-top: 0;
  }
  .logo {
    margin-bottom: 0;
  }

  /* Estilos para la sección de info */
  .info-title {
    text-align: left;
  }
  .info-text p {
    margin-bottom: 30px;
  }

  /* Estilos para la sección de productos */
  .container-productos {
    padding: 30px;
  }
  .producto {
    width: calc(33.33% - 20px);
    margin-right: 20px;
    margin-bottom: 30px;
  }
  .producto:nth-child(3n) {
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tablon {
    grid-template-columns: repeat(2, 1fr); /* Dos columnas en iPad */
  }
}

.columna {
  background-color: #f9f9f9; /* Color de fondo */
  padding: 10px; /* Espaciado interno */
  border-radius: 5px; /* Bordes redondeados */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Sombra */
  text-align: center;
}

.columna h2 {
  font-size: 18px; /* Tamaño del título */
  margin-bottom: 10px; /* Espaciado inferior */
}

.columna img {
  max-width: 100%; /* Imagen al 100% del ancho de la columna */
  height: auto;
  border-radius: 5px; /* Bordes redondeados */
  margin-bottom: 10px; /* Espaciado inferior */
}

.columna p {
  font-size: 14px; /* Tamaño del texto */
  margin-bottom: 10px; /* Espaciado inferior */
}

.columna button {
  background-color: var(--second-color); /* Color de fondo del botón */
  color: #fff; /* Color del texto */
  border: none; /* Sin borde */
  padding: 10px 20px; /* Espaciado interno */
  border-radius: 5px; /* Bordes redondeados */
  cursor: pointer; /* Cambio de cursor */
  transition: background-color 0.3s; /* Transición suave */
}

.columna button:hover {
  background-color: #0056b3; /* Cambio de color al pasar el ratón */
}

/***FIN IPAD***/

/**ARTÍCULOS**/

article {
  display: grid;
  grid-template-columns: 1fr 20%; /* Divide en dos columnas: 80% para el artículo y 20% para el aside */
  gap: 20px; /* Espacio entre las columnas */
}

.container-articulo {
  grid-column: 1 / span 1; /* El artículo ocupará desde la primera columna hasta el final */
  margin: 30px !important;
  background-color: #fff; /* Color de fondo para el contenedor principal */
  text-align: justify;

  margin: 10px; /* Centrar el contenedor */
  padding: 0 20px; /* Espacio de relleno a los lados del contenedor */
}

aside {
  height: 400px;
  background-color: var(--second-color);
}

article h1,
article h2 {
  text-align: center;
  margin: 10px;
  padding: 20px;
}

.container-articulo p {
  padding: 20px !important;
}

.container-articulo img {
  padding: 0px;
}

.container-articulo ul {
  list-style-type: circle;
  padding: 10px;
  
}

.lista-articulo li {
  list-style-type: circle;
  padding: 5px;
  margin-left: 30px;
}

.article ul li {
  margin-bottom: 5px; /* Margen entre elementos de la lista */
  
}

.index-article {
  justify-content: center; /* Centra horizontalmente */
  align-items: center; /* Centra verticalmente */
  padding-top: 20px;
  padding-bottom: 20px;
}

.index-article a {
  text-decoration: none;
  color: #333;
  margin-left: 20px;
  margin-bottom: 20px;
}

.index-article a:hover {
  color: #ccc;
  cursor: pointer;
}

.imagen-producto {
  max-width: 50%; /* Escala la imagen al 50% de su tamaño original */
  height: auto; /* Mantiene la proporción de la imagen */
  display: block; /* Para que `margin: auto` funcione */
  margin: auto; /* Centra la imagen horizontalmente */
  margin-top: 10px;
}

.cita {
  text-align: center; /* Centra el texto */
  font-style: italic; /* Aplica cursiva */
  font-size: 1.2em; /* Tamaño de fuente más grande */
  margin: 20px auto; /* Espaciado superior e inferior */
  max-width: 600px; /* Limita el ancho del texto */
}

.cita strong {
  color: rgb(0, 179, 255); /* Destaca la parte importante */
}

.cita i {
  display: block;
  margin-top: 10px;
}




/*****BIBLIOGRAFÍA ARTÍCULO***/

.bibliografia {
  margin: 30px; /* Espacio entre el contenido y la bibliografía */
}

.bibliografia h2 {
  font-size: 1.5em; /* Tamaño de fuente del título */
  font-weight: bold; /* Texto en negrita */
}

.bibliografia ul {
  list-style: none; /* Elimina las viñetas de la lista */
  padding: 0; /* Elimina el relleno */
}

.bibliografia ul li {
  margin-bottom: 10px; /* Espacio entre cada elemento de la lista */
}

.bibliografia ul li a {
  text-decoration: none; /* Elimina el subrayado de los enlaces */
  color: #333; /* Color del texto */
  transition: color 0.3s; /* Transición suave del color del texto */
}

.bibliografia ul li a:hover {
  color: #000; /* Cambia el color del texto al pasar el mouse */
}

/*BARRA REDES SOCIALES****/

.social {
  justify-content: center;
  margin-top: 20px;
}

.social ul {
  list-style: none;
  display: flex;
  flex-direction: row; /* Alinea los elementos en una fila */
}

.social ul li a {
  display: inline-block !important;
  color: #fff;
  background: #000;
  padding: 10px 15px;
  text-decoration: none;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}

.social .bx.bxl-facebook {
  background-color: #3b5998; /* Color de fondo de Facebook */
}

.social .bx.bxl-instagram {
  background-color: #bc2a8d; /* Color de fondo de Instagram */
}

.social .bx.bxl-youtube {
  background-color: #ff0000; /* Color de fondo de YouTube */
}

.social .bx.bx-x {
  background-color: #000; /* Color de fondo de X */
}

.social .bx.bxl-linkedin {
  background-color: #0077b5; /* Color de fondo de LinkedIn */
}

.social ul li a:hover {
  padding: 10px 30px;
}

.post-img {
  margin-top: 20px;
  border-radius: 5px;
}

/*******VIDEO*****/

.video-container-articulo {
  display: flex;
  justify-content: center; /* Centra horizontalmente */
  align-items: center; /* Centra verticalmente */
}

/*ASIDE*/
aside.relacionados {
  grid-column: 2 / span 1; /* El aside ocupará desde la segunda columna hasta el final */
  padding: 20px;
  background-color: #f2f2f2; /* Color de fondo para el aside */
  border-radius: 10px; /* Bordes redondeados */
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); /* Sombra suave */
  position: relative;
  right: 0;
}

aside h3 {
  margin-top: 0;
}

aside ul {
  list-style-type: none;
  padding: 0;
}

aside ul li {
  margin-bottom: 5px; /* Margen entre elementos de la lista */
}

aside ul li a {
  text-decoration: none;
  color: #333;
}

div.articulo {
  flex: 1;
  padding: 20px;
}

.profile-container-articulo {
  margin-top: 20px;
  margin-left: 30px;
  padding: 0;
}

time {
  margin-left: 30px;
}

/**POSTPAGE MOVILES**/
/* Consulta de medios para dispositivos móviles */
@media (max-width: 768px) {
  article {
    display: block; /* Cambia a bloque para dispositivos móviles */
  }

  .container-articulo {
    margin-bottom: 20px; /* Espacio entre el artículo y el aside */
  }

  aside.relacionados {
    width: 100%; /* Ocupa todo el ancho */
    margin-top: 20px; /* Espacio entre el artículo y el aside */
    height: 250px;
  }

  /* Ajustes para los elementos de la lista de enlaces */
  .index-article {
    justify-content: center; /* Centra horizontalmente */
    align-items: center; /* Centra verticalmente */
    padding: 10px;
  }

  .index-article a {
    margin: 5px; /* Espacio entre los enlaces */
  }

  .image-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; /* Ocupa toda la altura de la pantalla */
}

.post-img {
    margin-left: 30px; /* Elimina el margen izquierdo */
    max-width: 90%; /* Se adapta mejor a pantallas pequeñas */

}

  /* Ajustes para el video en el artículo */
  .video-container-articulo {
    margin: 20px 0; /* Espacio entre el video y otros elementos */
  }

  /***BARRA RRSS MÓVIL***/
  .social {
    top: 0; /* Fijar en la parte superior */
    width: 100%; /* Ancho completo */
    background-color: #fff; /* Color de fondo de la barra */
    z-index: 2000;
    text-align: center; /* Centrar los elementos */
    margin: 0;
    align-items: center;
  }

  .social ul {
    display: inline-block; /* Cambiar a inline-block */
    padding: 0; /* Eliminar relleno */
    margin: 0; /* Eliminar margen */
    list-style: none;
  }

  .social ul li {
    display: inline-block; /* Cambiar a inline-block */
    margin: 0px; /* Espaciado entre elementos */
    overflow: hidden;
  }

  .social ul li a {
    display: inline-block;
    color: #fff;
    background: none; /* Eliminar fondo */
    padding: 10px 15px;
    text-decoration: none;
    -webkit-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
  }

  .social ul li a:hover {
    padding: 10px 30px;
  }
}
