/* Scope general para no afectar otras partes de WordPress */
.andes-home-slider {
  /* ====== ALIAS internos del hero ====== */
  --night:var(--idx-secondary);
  --snow:var(--idx-white);
  --amber:var(--idx-primary);
  --amber-hover:var(--idx-primary-hover);
  --ice-blue:var(--idx-accent);
  --line:rgba(255,255,255,.16);
  --r-sm:var(--idx-radius-soft);
  --r-lg:var(--idx-radius-card);

  /* Espacio reservado ARRIBA para el header de Elementor (logo + menú).
     Es ~la altura del logo. Si el logo aún tapa el contenido, sube este número. */
  --nav-safe:150px;
  /* Espacio reservado ABAJO para la barra (contador + flechas).
     Si el botón roza o pisa la barra, sube este número. */
  --bar-safe:96px;

  font-family:var(--idx-font-body);
  background:var(--night);
  color:var(--snow);
  position:relative;
  height:100svh;
  min-height:600px;
  width:100%;
  overflow:hidden;
}

/* Evitar scroll horizontal global causado por swiper en algunos themes */
.andes-home-slider .swiper {
  width: 100%;
  height: 100%;
}

.andes-home-slider * {
  box-sizing: border-box;
}

/* ---------- HERO ---------- */
.andes-home-slider .hero-swiper{position:absolute;inset:0;height:100%;width:100%}
.andes-home-slider .swiper-slide{position:relative;overflow:hidden}

.andes-home-slider .slide-media{position:absolute;inset:0}
/* Soporte para la clase generada por wp_get_attachment_image (.slide-img) */
.andes-home-slider .slide-media img,
.andes-home-slider .slide-media .slide-img {
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.12);
  transition:transform 7s ease-out;
}
.andes-home-slider .swiper-slide-active .slide-media img,
.andes-home-slider .swiper-slide-active .slide-media .slide-img {
  transform:scale(1)
}
.andes-home-slider .slide-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(8,16,33,.35) 0%,rgba(8,16,33,0) 28%,rgba(8,16,33,.55) 72%,rgba(8,16,33,.92) 100%),
    linear-gradient(90deg,rgba(8,16,33,.65) 0%,rgba(8,16,33,.1) 55%,rgba(8,16,33,0) 100%);
}

/* ---------- CONTENT ---------- */
/* El contenido vive en una ZONA SEGURA fija entre el nav (arriba) y la barra (abajo).
   Al fijar top/bottom + overflow:hidden, el contenido NUNCA puede meterse bajo el nav
   ni pisar la barra, pase lo que pase. Si algún día un título es tan grande que no cabe,
   se recorta limpio en el borde de la zona — no se desborda encima del logo.
   El alto disponible se controla solo con --nav-safe y --bar-safe. */
.andes-home-slider .slide-content{
  position:absolute;z-index:3;
  top:var(--nav-safe);bottom:var(--bar-safe);left:0;right:0;
  max-width:1320px;margin:0 auto;padding:0 clamp(20px,5vw,72px);
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;
}

.andes-home-slider .eyebrow{
  display:flex;align-items:center;gap:14px;
  font-family:var(--idx-font-body);
  font-size:13px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--idx-accent);margin-bottom:22px;
  opacity:0;transform:translateY(18px);
}
.andes-home-slider .eyebrow .tag{ color:var(--amber); }
.andes-home-slider .eyebrow .div{width:46px;height:1px;background:var(--line)}
.andes-home-slider .eyebrow .grade{
  border:1px solid var(--line);border-radius:var(--r-sm);
  padding:4px 11px;font-size:11px;letter-spacing:.16em;color:var(--snow);
}

.andes-home-slider .title{
  font-family:var(--idx-font-title);font-weight:700;
  text-transform:uppercase;line-height:1.02;letter-spacing:-.01em;
  font-size:clamp(34px,4.6vw,68px);
  margin-bottom:22px;max-width:18ch;
  color: var(--snow); /* Sobrescribir posible color del tema */
}
.andes-home-slider .title .l{display:block;overflow:hidden;padding-bottom:.04em}
.andes-home-slider .title .l span{display:block;opacity:0;transform:translateY(105%)}
.andes-home-slider .title em{
  font-style:normal;color:var(--idx-accent);
}

.andes-home-slider .lede{
  font-size:clamp(15px,1.5vw,18px);line-height:1.55;
  max-width:46ch;color:rgba(255,255,255,.82);margin-bottom:34px;
  opacity:0;transform:translateY(18px);
}

.andes-home-slider .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  opacity:0;transform:translateY(18px)}
.andes-home-slider .btn{
  font-family:var(--idx-font-body);font-weight:700;font-size:14px;
  letter-spacing:.01em;text-decoration:none;cursor:pointer;border:none;
  padding:16px 30px;border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:10px;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.andes-home-slider .btn-primary{background:var(--amber);color:var(--idx-white)}
.andes-home-slider .btn-primary:hover{background:var(--idx-primary-hover);transform:translateY(-2px);color:var(--idx-white)}
.andes-home-slider .btn svg{width:16px;height:16px}

/* reveal active */
.andes-home-slider .swiper-slide-active .eyebrow,
.andes-home-slider .swiper-slide-active .lede,
.andes-home-slider .swiper-slide-active .specs,
.andes-home-slider .swiper-slide-active .cta-row{
  animation:rise .8s cubic-bezier(.16,1,.3,1) forwards;
}
.andes-home-slider .swiper-slide-active .lede{animation-delay:.5s}
.andes-home-slider .swiper-slide-active .specs{animation-delay:.6s}
.andes-home-slider .swiper-slide-active .cta-row{animation-delay:.72s}
.andes-home-slider .swiper-slide-active .title .l:nth-child(1) span{animation:up .9s cubic-bezier(.16,1,.3,1) .18s forwards}
.andes-home-slider .swiper-slide-active .title .l:nth-child(2) span{animation:up .9s cubic-bezier(.16,1,.3,1) .28s forwards}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
@keyframes up{to{opacity:1;transform:translateY(0)}}

/* ---------- SPEC ROW (signature) ---------- */
.andes-home-slider .specs{
  display:grid;grid-template-columns:repeat(4,minmax(0,auto));
  width:fit-content;max-width:100%;margin-bottom:34px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  opacity:0;transform:translateY(18px);
}
.andes-home-slider .spec{
  padding:15px 30px;border-right:1px solid var(--line);
}
.andes-home-slider .spec:first-child{padding-left:0}
.andes-home-slider .spec:last-child{border-right:none;padding-right:0}
.andes-home-slider .spec .k{
  font-family:var(--idx-font-body);font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:7px;white-space:nowrap;
}
.andes-home-slider .spec .v{
  font-family:var(--idx-font-title);font-weight:600;font-size:clamp(18px,1.6vw,23px);
  color:var(--snow);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;
}
.andes-home-slider .spec .v small{font-size:12px;font-weight:500;color:rgba(255,255,255,.55);margin-left:3px}

/* ---------- BOTTOM BAR ---------- */
.andes-home-slider .hero-bar{
  position:absolute;left:0;right:0;bottom:0;z-index:6;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(8,16,33,0),rgba(8,16,33,.5));
}
.andes-home-slider .hero-bar-in{
  max-width:1320px;margin:0 auto;padding:18px clamp(20px,5vw,72px);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.andes-home-slider .pager{display:flex;align-items:center;gap:20px}
.andes-home-slider .pager .count{
  font-family:var(--idx-font-title);font-weight:500;font-size:15px;
  letter-spacing:.04em;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;
}
.andes-home-slider .pager .count b{color:var(--snow);font-weight:700}
.andes-home-slider .dots{display:flex;gap:9px}
.andes-home-slider .dots .d{
  width:30px;height:3px;background:var(--line);border:none;border-radius:3px;
  cursor:pointer;padding:0;position:relative;overflow:hidden;transition:background .3s;
}
.andes-home-slider .dots .d.on{background:rgba(255,255,255,.3)}
.andes-home-slider .dots .d.on::after{
  content:"";position:absolute;inset:0;background:var(--amber);
  transform-origin:left;transform:scaleX(0);
  animation:fillbar var(--dur,6s) linear forwards;
}
@keyframes fillbar{to{transform:scaleX(1)}}

.andes-home-slider .bar-meta{
  display:flex;align-items:center;gap:26px;
  font-family:var(--idx-font-body);font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.55);
}
.andes-home-slider .bar-meta span b{color:var(--snow);font-weight:700;margin-left:7px}
.andes-home-slider .nav-arrows{display:flex;gap:8px}
.andes-home-slider .nav-arrows button{
  width:42px;height:42px;border:1px solid var(--line);background:transparent;
  border-radius:var(--r-sm);color:var(--snow);cursor:pointer;display:grid;place-items:center;
  transition:background .25s,border-color .25s,transform .25s;
}
.andes-home-slider .nav-arrows button:hover{background:var(--snow);color:var(--night);transform:translateY(-2px)}
.andes-home-slider .nav-arrows svg{width:16px;height:16px}
@media(max-width:680px){.andes-home-slider .bar-meta{display:none}}

/* ============ RESPONSIVE ============ */

@media(max-width:760px){
  .andes-home-slider.hero{min-height:560px;--nav-safe:88px;--bar-safe:84px}
  .andes-home-slider .eyebrow{font-size:11px;letter-spacing:.18em;gap:10px;margin-bottom:16px;flex-wrap:wrap}
  .andes-home-slider .eyebrow .div{display:none}
  .andes-home-slider .title{font-size:clamp(30px,7.4vw,44px);margin-bottom:16px;max-width:100%}
  .andes-home-slider .lede{font-size:14px;line-height:1.5;max-width:100%;margin-bottom:22px}
  .andes-home-slider .specs{margin-bottom:24px}
  .andes-home-slider .btn{padding:14px 24px;font-size:13px}
}

@media(max-width:480px){
  .andes-home-slider.hero{min-height:520px;--bar-safe:72px} /* flechas ocultas → barra más baja */
  .andes-home-slider .eyebrow .grade{display:none}
  .andes-home-slider .title{font-size:clamp(27px,8.2vw,38px);letter-spacing:-.005em}
  .andes-home-slider .lede{
    font-size:13.5px;margin-bottom:20px;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  }
  .andes-home-slider .specs{grid-template-columns:1fr 1fr;width:100%;max-width:340px}
  .andes-home-slider .spec{padding:12px 14px}
  .andes-home-slider .spec:nth-child(odd){padding-left:0}
  .andes-home-slider .spec:nth-child(even){border-right:none;padding-right:0}
  .andes-home-slider .spec:nth-child(1),
  .andes-home-slider .spec:nth-child(2){border-bottom:1px solid var(--line)}
  .andes-home-slider .spec .k{font-size:9px;letter-spacing:.1em}
  .andes-home-slider .spec .v{font-size:18px}
  .andes-home-slider .btn{width:100%;justify-content:center;padding:15px 24px}
  .andes-home-slider .hero-bar-in{padding:14px 20px;gap:14px}
  .andes-home-slider .pager{gap:14px;width:100%;justify-content:space-between}
  .andes-home-slider .dots .d{width:24px}
  .andes-home-slider .nav-arrows{display:none}
}

/* Pantallas BAJAS de cualquier ancho (laptops anchas pero de poca altura, celular
   en horizontal, etc.). Sin tope de ancho a propósito: el contenido se comprime para
   que NUNCA se meta bajo el header ni se recorte en vertical. */
@media(max-height:820px){
  .andes-home-slider .eyebrow{margin-bottom:16px}
  .andes-home-slider .title{font-size:clamp(30px,4vw,52px);margin-bottom:16px}
  .andes-home-slider .lede{
    margin-bottom:20px;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  }
  .andes-home-slider .specs{margin-bottom:20px}
}
@media(max-height:640px){
  .andes-home-slider .lede{display:none} /* en pantallas muy bajas, fuera la descripción antes que cortar el título */
  .andes-home-slider .title{font-size:clamp(28px,3.4vw,42px);margin-bottom:12px}
  .andes-home-slider .eyebrow{margin-bottom:12px}
  .andes-home-slider .specs{margin-bottom:16px}
}

@media(max-height:520px) and (max-width:900px){
  .andes-home-slider .lede{display:none}
  .andes-home-slider .specs{margin-bottom:18px}
  .andes-home-slider .title{margin-bottom:12px}
}

@media (prefers-reduced-motion:reduce){
  .andes-home-slider *{animation-duration:.001s!important;transition-duration:.001s!important}
  .andes-home-slider .slide-media img,
  .andes-home-slider .slide-media .slide-img {transform:scale(1)}
}
