body {
  background-color: #fafafa;
  font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
}

.Title-2-colores strong{
    color:#FF7801;
    font-weight: 700;
     text-transform: uppercase;
}

.text-title-rich strong{
  font-size: 28px !important;
  font-weight:600;
  line-height: 1.3 !important; 
}

.text-title-rich em{
  font-size: 18px !important;
  font-weight:600;
  font-style: normal !important;
  color:#FF7801;
}

.text-title-rich li::marker{
  color:#FF7801
}

.text-title-rich2 strong{
  font-weight:600;
  line-height: 1.3 !important;
  color:#FF7801 
}
.navbar {
  transform: translateY(-100%);
  transition: transform 0.3s;
}

.button-FQ {
  position: relative;
  background-color: #ffffff;
  color: #606060;
  transition: background-color 0.4s, color 0.4s;
  font-family: 'Poppins', Arial, Helvetica, sans-serif;
  overflow: hidden;
}

.button-FQ.active,
.button-FQ.is-active {
  background-color: #FF7801 !important;
  color: #fafafa !important;
}

.button-FQ .icono-fq {
  position: absolute;
  top: 50%;
  left: -40px; /* Empieza fuera a la izquierda */
  transform: translateY(-50%);
  opacity: 0;
  transition: left 0.5s cubic-bezier(0.77,0,0.175,1), opacity 0.3s;
  font-size: 18px;
  pointer-events: none;
}

.button-FQ.active .icono-fq,
.button-FQ.is-active .icono-fq {
  left: 10px !important;
  opacity: 1 !important;
}

@media (min-width: 1025px) {
  .button-FQ:hover {
    background-color: #FF7801;
    color: #fafafa;
  }
  .button-FQ:hover .icono-fq {
    left: 90%; /* 10% del lado derecho */
    opacity: 1;
    transition: left 0.5s cubic-bezier(0.77,0,0.175,1), opacity 0.3s;
  }
}

/* En móvil (hasta 768px), activamos scroll horizontal */
@media (max-width: 768px) {
  .grid-or-horizontal {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 24px;
    padding: 0 16px 48px 16px; /* padding a los lados y abajo */
  }

  .grid-or-horizontal .item {
    flex: 0 0 auto;
    width: 350px;
    
    box-sizing: border-box;
  }

  /* Espacio al inicio y fin del scroll */
  .grid-or-horizontal::before,
  .grid-or-horizontal::after {
    content: "";
    flex: 0 0 8px;
  }

  /* Estilo opcional para scrollbar */
  .grid-or-horizontal::-webkit-scrollbar {
    height: 6px;
  }

  .grid-or-horizontal::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 3px;
  }
}

/* En tablet y pantallas más pequeñas (hasta 1024px), activamos scroll horizontal */
@media (max-width: 1024px) {
  .grid-or-horizontal {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 24px;
    padding: 0 16px 48px 16px; /* padding a los lados y abajo */
  }

  .grid-or-horizontal .item {
    flex: 0 0 auto;
    width: 250px;
    min-width: 250px;
    max-width: 350px;
    box-sizing: border-box;
  }

  .grid-or-horizontal::before,
  .grid-or-horizontal::after {
    content: "";
    flex: 0 0 8px;
  }

  .grid-or-horizontal::-webkit-scrollbar {
    height: 6px;
  }

  .grid-or-horizontal::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 3px;
  }

  .bloque-cards {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    gap: 16px;
    scroll-behavior: smooth;
    padding-bottom: 16px;
  }
  .card-animada {
    min-width: 250px;
    flex: 0 0 auto;
    /* Opcional: ajusta el ancho según tu diseño */
  }
}

#smooth-wrapper {
  overflow-x: hidden;
  position: relative;
}

#smooth-content {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-bottom: 50px; /* Espacio para el footer */
}

.card-description {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.4em !important;
  max-height: calc(1.4em * 2) !important;
}

.gtranslate_wrapper{
  border-radius: 20px !important;
}

.titulo-animado {
  display: block;
  overflow-wrap: break-word;
}
.palabra-animada {
  display: inline-block;
  white-space: pre;
}

.palabra-bold {
  color: #FF7801 !important;
  font-weight: bold;
}