/* ============================================================
   HERO HOME — GIF fondo + placeholder + overlay + texto centrado
   ============================================================ */

.hero-home{
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #000;

  /* altura estable y responsive */
  min-height: 360px;
  height: clamp(420px, 55vh, 680px);
}

/* Placeholder + GIF */

.hero-video{ z-index: 1; }
.hero-home img,
.hero-home video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Placeholder visible */
.hero-placeholder{
  z-index: 0;
}

/* GIF arriba con fade-in */
.hero-gif{
  z-index: 1;
  opacity: 0;
  transition: opacity .6s ease;
}

.hero-gif.loaded{
  opacity: 1;
}

/* Overlay para legibilidad */
.hero-home .overlay-gradient{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 30% 20%, rgba(0,0,0,.2), rgba(0,0,0,0) 55%),
    linear-gradient(to top,
      rgba(0,52,105,.72) 0%,
      rgba(0,52,105,.32) 55%,
      rgba(0,52,105,.12) 100%
    );
}

/* Contenedor del contenido */
.hero-home .hero-inner,
.hero-home .hero-content{
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
}

/* Evita romper el centrado */
.hero-home .hero-inner > .row{
  width: 100%;
  margin: 0;
}

/* Texto */
.hero-home .hero-texto{
  text-align: center;
  color: #fff;
  margin: 0 auto;
}

.hero-home .hero-texto h1{
  font-size: clamp(38px, 4.5vw, 60px);
  font-weight: 800;
  line-height: 1.05;
  margin-bottom: 70px;
}

.hero-home .hero-texto h2{
  font-size: clamp(18px, 2.4vw, 25px);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 14px;
  opacity: .95;
}

.hero-home .hero-texto p{
  font-size: 18px;
  line-height: 1.55;
  opacity: .95;
}

.stats-section{
    padding-left: 15vw;
    padding-right: 15vw;
    background-color: var(--neutral-card);
}
.stats-section span,
.stats-section .num{
    color: var(--fid-primary);
    font-weight: bold;
}
.stats-section .sufijo{
    color: var(--fid-secondary);
}
.led-section{
  position: relative;
  margin-top: 2vh;
  margin-bottom: 5vh;
  margin-left: 5vw;
  margin-right: 5vw;
}

/* banda única */
.led-section::before{
  content:"";
  position:absolute;

  height: 55px;

  top: calc(10vh + 150px);   /* ajustá este numerito */
  left: 0;
  right: 0;

  z-index: 0;
  pointer-events: none;
}

/* imagen + contenido arriba de la banda */
.led-section .img,
.led-section .content{
  position: relative;
  z-index: 1;
}

.led-section .content{ position: relative; z-index: 1; }


.led-section .content-detail-2{
  font-weight: var(--font-semibold);
  background: transparent; /* <- antes estaba el gradiente acá */
  color: var(--fid-primary);
  font-size: 0.9rem;
  position: relative;
  z-index: 2; /* arriba de la banda */
}
.led-section .content-detail-2{
  position: relative;
  isolation: isolate;   /* clave: encierra el z-index del ::before */
  background: transparent;
}

/* banda */
.led-section .content-detail-2::before{
  content:"";
  position:absolute;
  inset: 0;
  left: -70%;
  right: 0;

  background: linear-gradient(
    to left,
    rgb(216, 216, 216) 0%,
    rgba(216, 216, 216, 0.5) 70%,
    rgba(216, 216, 216, 0) 100%
  );

  z-index: 0;           /* ya NO -1 */
  pointer-events: none;
}

/* el contenido real arriba de la banda */
.led-section .content-detail-2 > *{
  position: relative;
  z-index: 1;
}

/* si se cruzan, que la notebook quede arriba */
.led-section .img{
  position: relative;
  z-index: 5;
}
.led-section .content{
  position: relative;
  z-index: 1;
}

.led-section .content-detail-2{
  position: relative;
  font-weight: var(--font-semibold);
  color: var(--fid-primary);
  font-size: 0.9rem;

  /* tu caja */
  padding: 12px 14px;
  border-radius: 10px;

  /* NO background acá */
  background: transparent;
}

/* banda continua que “viene” desde la izquierda (notebook) */
.led-section .content-detail-2::before{
  content:"";
  position:absolute;
  inset: 0;                 /* misma altura que el bloque */
  left: -70%;               /* se estira hacia la notebook */
  right: 0;

  background: linear-gradient( to left, rgb(216, 216, 216) 0%, rgba(216, 216, 216, 0.5) 70%, rgba(216, 216, 216, 0) 100% );
  z-index: -1;              /* atrás del texto */
  pointer-events: none;
}

.led-section .btn-descubrir-mas {
    cursor: pointer;
    font-weight: var(--font-semibold);
    color: var(--fid-primary);
    display: inline-block;
}

.led-section .btn-descubrir-mas span {
    display: inline-block;
    transition: transform 0.25s ease, text-shadow 0.25s ease;
}

.led-section .btn-descubrir-mas:hover span {
    transform: translateY(-4px);
    text-decoration: underline;
}
.led-section .btn-descubrir-mas a {
    color: inherit;
}

.led-section .btn-descubrir-mas a:hover {
    text-decoration: none;
}
.why-section{
    margin-top: 10vh;
    margin-bottom: 10vh;
}
.why-section .card {
    cursor: default;
    width: 20vw;
    border-radius: 16px;
    background-color: var(--fid-100);
    color: var(--fid-primary);
    opacity: 0.2;
    filter: grayscale(50%);
    transition: 0.4s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.why-section .card.active {
    background-color: var(--fid-100);
    color: var(--fid-primary);
    opacity: 1;
    filter: grayscale(0%);
    transform: translateY(-4px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.18);
}
.carousel-wrapper {
    width: 80%;
    margin: 0 auto;
    position: relative;
}

/* Cards tipo slider centradas con items asomándose */
#heroCarousel {
    border-radius: 16px;
    overflow: hidden;
}
#heroCarousel .carousel-inner {
    display: block;
    position: relative;
    height: 50vh;
}
#heroCarousel .carousel-item {
    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
    backface-visibility: hidden;
}
.carousel-card {
    width: 100%;
    height: 50vh;
    margin: 0 auto;

    position: relative;
    overflow: hidden;

    border: 1px solid var(--neutral-card);
    border-radius: 16px;
}
/* ITEM */

.carousel-item {
    position: absolute;
    inset: 0;
    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
    backface-visibility: hidden;
}


/* LINK OVERLAY */
.carousel-item .carousel-link {
    position: absolute;
    inset: 0;
    z-index: 3;
    text-decoration: none;
    color: inherit;
}

/* IMAGEN */
.carousel-item img {
    border-radius: 16px;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* GRADIENT */
.carousel-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 52, 105, 0.7) 0%,
        rgba(0, 69, 139, 0.4) 40%,
        rgba(0, 69, 139, 0) 100%
    );
    border-radius: 16px;
    z-index: 1;
}

/* TEXTO */
.carousel-caption-custom {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    color: white;
    width: 70%;
    max-width: 80%;
    text-align: center;
    pointer-events: none; /* evita conflictos con el link */
}


/* -------- NAV PERSONALIZADO -------- */
.carousel-nav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.nav-arrow {
    cursor: pointer;
    font-size: 20px;
    color: var(--neutral-700);
    padding: 4px 10px;
    border-radius: 6px;
}

.nav-arrow:hover {
    background: var(--neutral-200);
}

.nav-dots {
    display: flex;
    gap: 10px;
}

.nav-dots span {
    width: 10px;
    height: 10px;
    background: var(--neutral-400);
    border-radius: 50%;
    cursor: pointer;
    transition: background .1s ease;
}

.nav-dots .active {
    background: var(--fid-800);
}


.subtitulo-seccion {
    margin-top: 5px;
    font-size: 15px;
}

.informes-comerciales-section {
    margin-top: 5vh;
}
.informes-comerciales-section .section-content{
    margin-left: 5vw;
    margin-right: 5vw;
}
.informes-comerciales-section .section-title {
    background-color: var(--fid-medio);
    color: white;
}

.inf-content-detail {
    padding-left: 5%;
    padding-right: 5%;
}
.btn-mas-inf span {
    cursor: pointer;
    font-weight: var(--font-semibold);
    color: var(--fid-primary);
}
.btn-mas-inf span {
    display: inline-block;
    transition: transform 0.25s ease, text-shadow 0.25s ease;
}
.btn-mas-inf:hover span {
    transform: translateY(-4px);
    text-decoration: underline;
}
.btn-mas-inf a {
    color: inherit;
}

.title-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    color: var(--fid-primary);
}

.title-divider::before,
.title-divider::after {
    content: "";
    flex: 1;
    height: 2px;
    background: var(--fid-primary);
}
.benefits-section {
    margin-left: 5vw;
    margin-right: 5vw;
    margin-top: 9vh;
    margin-bottom: 10vh;
}
.benefits-content {
    margin-top: 4%;
}
.circle-container {
    text-align: center;
    width: 300px;
    gap: 10px;
}

.progress-circle {
    width: 230px;
    height: 230px;
    border-radius: 50%;
    background: conic-gradient(#2f6fae 0deg, #e9e9e9 0deg);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    position: relative;
    transition: background 1.5s linear;
}

.progress-circle::before {
    content: "";
    position: absolute;
    width: 200px;
    height: 200px;
    background: white;
    border-radius: 50%;
}

.progress-value {
    position: absolute;
    font-size: 48px;
    font-weight: 700;
    color: #2f6fae;
}

.circle-text {
    margin-top: 32px;
    max-width: 30vw;
    color: var(--fid-dark);
}

.apis-section {
    position: relative;
    margin-top: 10vh;
    margin-bottom: 5vh;
    overflow: hidden;
}

.apis-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('../img_new/fondo_apis.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.4;
    z-index: -1;
}


.apis-section .apis-title h4{
    color: var(--fid-primary);
}

.card-api{
    background-color: white;
    border-radius: 16px;
    width: 20vw;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    border: 1px solid var(--neutral-100);
}
.text-card-api{
    font-size:15px;
}
.btn-leer-apis{
    margin-right: 5vw;
    cursor: pointer;
    font-weight: var(--font-semibold);
    color: var(--fid-primary);
}
.btn-leer-apis span {
    display: inline-block;
    transition: transform 0.25s ease, text-shadow 0.25s ease;
}
.btn-leer-apis:hover span {
    transform: translateY(-4px);
    text-decoration: underline;
}
.btn-leer-apis a {
    color: inherit;
}

.testimonios-section{
    margin-left: 5vw;
    margin-right: 5vw;
}

.testimonios-card{
    border-radius: 24px;
    border: 2px solid var(--neutral-100);
    width: 25vw;
}
.client-name{
    color: var(--fid-500);
}
.nuestros-clientes-section{
    margin-top: 5vh;
    margin-bottom: 5vh;
}
.nuestros-clientes-section .section-title{
    color: var(--fid-primary);
}

.logo-slider {
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
}

.logo-track {
    display: inline-block !important;
}

.logo-item {
    width: 10vw;
    margin: 0 3vw;
    object-fit: contain;
}

@keyframes scrollAll {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}

/* =========================================================
   RESPONSIVE — TABLET (≤ 992px)
========================================================= */
@media (max-width: 992px) {

  /* ===== HERO ===== */
  .hero-home{
    padding: 80px 0 72px;
  }

  .hero-texto{
    max-width: 760px;
    padding: 22px 24px;
  }

  .hero-texto p{
    max-width: 70ch;
  }

  /* ===== STATS ===== */
  .stats-section{
    padding: 0 5vw;
  }

  /* ===== LED ===== */
  .led-section{
    margin: 0 3vw;
  }

  .led-section .content{
    margin-top: 18px;
  }

  .led-section .content-detail{
    padding-left: 0;
    width: 100%;
  }

  .led-section .content-detail-2::before{
    left: -25%;
  }

  /* ===== CAROUSEL ===== */
  .carousel-item{
    height: 50vh;
  }

  .carousel-caption-custom{
    width: 90%;
    top: 50%;
    height: auto;
  }

  /* ===== BENEFITS ===== */
  .benefits-content > div{
    flex-wrap: wrap;
    gap: 40px;
  }

  .circle-text{
    max-width: 80%;
    margin: auto;
  }

  /* ===== APIS ===== */
  .cards-apis{
    flex-wrap: wrap;
  }

  .card-api{
    width: 40vw;
  }

  /* ===== TESTIMONIOS ===== */
  .testimonios-content{
    flex-wrap: wrap;
  }

  .testimonios-card{
    width: 45vw;
    height: auto;
  }

  /* ===== LOGOS ===== */
  .logo-item{
    width: 18vw;
    margin: 0 4vw;
  }
}
@media (max-width: 768px){
    .hero-home{
        min-height: 420px;
        padding: 10px 0 10px;
    }
  .carousel-caption-custom h2{ font-size: 1.2rem; }
  .carousel-caption-custom h5{ font-size: 0.95rem; }

    /* ===== WHY ===== */
  .why-section{
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
  }

  .why-section .card{
    display: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
    opacity: 0;
    transform: none;
  }

  .why-section .card.active{
    display: flex;
    opacity: 1;
  }
}

/* =========================================================
   RESPONSIVE — MOBILE (≤ 576px)
========================================================= */
@media (max-width: 576px) {

  /* ===== HERO ===== */
  .hero-home{
    min-height: 420px;
    padding: 10px 0 10px;
  }
    .container, .hero-texto{
        height: 100%;
    }

    .hero-home .hero-texto h1{
        margin-bottom: 20px;
        font-size: 28px;
    }
    .hero-home .hero-texto h4{
        font-size: 16px;
    }
  .hero-home .hero-texto{
    text-align: start;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .hero-home .hero-texto p{
    font-size: 16px;
    width: 100%;
  }

  /* ===== STATS ===== */
  .stats-section{
    flex-direction: column;
    gap: 15px;
    padding: 20px 0;
  }

  /* ===== LED ===== */
  .led-section{
    margin: 0 4vw;
  }

  .led-section .img{
    position: relative;
    z-index: 2;
  }

  .led-section .content-detail-2::before{
    left: 0;
  }

  /* ===== CAROUSEL ===== */
  .carousel-caption-custom{
    top: 40%;
  }
  /* ===== INFORMES ===== */
  .informes-comerciales-section .section-content{
    margin: 0 3vw;
  }

  .inf-content-detail{
    font-size: 1rem;
  }

  /* ===== BENEFITS ===== */
  .benefits-content > div{
    flex-direction: column;
    align-items: center;
    gap: 50px;
  }

  .circle-container{
    width: 100%;
  }

  .circle-text{
    max-width: 90%;
  }

  /* ===== APIS ===== */
    .apis-title{
    margin-left: 2vw;
    margin-right: 2vw;
  }
  .cards-apis{
    flex-direction: column;
    align-items: center;
  }

  .card-api{
    width: 90%;
  }

  /* ===== TESTIMONIOS ===== */
  .testimonios-content{
    flex-direction: column;
    gap: 20px;
  }

  .testimonios-card{
    width: 100%;
  }

  /* ===== LOGOS ===== */
  .logo-item{
    width: 30vw;
    margin: 0 6vw;
  }
}

/* =========================================================
   ALTURA BAJA (landscape móvil)
========================================================= */
@media (max-height: 520px){
  .hero-home{
    min-height: auto;
    padding: 40px 0;
  }

  .hero-texto h1{
    font-size: 2rem;
  }

  .hero-texto p{
    font-size: 0.95rem;
  }
}