/* --- HERO --- */

/* Contenedor interno del hero (container donde van H1 + textos + botón) */
.avz-hero {
  padding-left: 2rem;
  padding-right: 2rem;
  color: #ffffff;
}

/* H1 */
.avz-hero h1,
.avz-hero .gb-headline-text {
  font-size: 50px;
  font-weight: 400;
  color: #fff !important;
  line-height: 0.95; /* ligero ajuste para mejor compactación */
  text-shadow: 0 4px 22px rgba(0,0,0,0.32); /* + contraste */
  margin-bottom: 14px; /* un poco más de aire bajo el H1 */
  letter-spacing: -0.6px; /* más solidez visual */
}

/* Subclaim (primer párrafo bajo el H1) */
.avz-hero-subclaim {
  font-size: 26px;
  font-weight: 500;
  color: var(--avz-hero-accent);
  margin-bottom: 18px; /* +2px para equilibrar */
  line-height: 1.35;
  text-shadow: 0 2px 12px rgba(0,0,0,0.20); /* mejor contraste en fondos claros */
}

/* Descripción corta (segundo párrafo) */
.avz-hero-description {
  font-size: 20px;
  color: var(--avz-hero-text-light);
  margin-bottom: 40px; /* +5px de separación antes del botón */
  line-height: 1.45;
  text-shadow: 0 2px 10px rgba(0,0,0,0.25); /* un toque para mejorar legibilidad */
}

/* CTA principal (botón amarillo) */
.avz-hero-cta {
  display: inline-block !important;
  background: var(--avz-hero-accent) !important;
  color: #000 !important;
  font-weight: 700;
  padding: 14px 32px !important; /* +4px horizontal */
  border-radius: 10px;
  font-size: 18px;
  text-decoration: none !important;
  box-shadow: 0 5px 20px rgba(242, 201, 76, 0.35);
  max-width: 260px;
  text-align: center;

  transform: translateY(0);
  transition:
    transform 0.35s cubic-bezier(.22,.61,.36,1),
    box-shadow 0.35s cubic-bezier(.22,.61,.36,1),
    background-color 0.25s ease-out,
    color 0.25s ease-out;
}

.avz-hero-cta:hover {
  background: var(--avz-hero-accent-hover);
  box-shadow: 0 8px 28px rgba(242, 201, 76, 0.45);
  color: #fff !important;
  transform: translateY(-3px);
}

/* Microanimación elegante (opcional pero muy premium) */
.avz-hero > *:not(.avz-hero-cta) {
  opacity: 0;
  transform: translateY(16px);
  animation: avzFadeUp .7s ease forwards;
}

.avz-hero > *:nth-child(2) { animation-delay: .06s; }
.avz-hero > *:nth-child(3) { animation-delay: .12s; }
.avz-hero > *:nth-child(4) { animation-delay: .18s; }

@keyframes avzFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Desktop refinado */
@media (min-width: 1200px) {
  .avz-hero-cta {
    padding: 16px 36px !important;
    font-size: 19px;
  }
}

/* Responsive */
@media (max-width: 1024px) {
  .avz-hero h1,
  .avz-hero .gb-headline-text {
    font-size: 44px;
    line-height: 1.05;
  }
  .avz-hero-subclaim {
    font-size: 22px;
  }
  .avz-hero-description {
    font-size: 18px;
  }
  .avz-hero-cta {
    font-size: 16px;
    padding: 12px 24px !important;
    max-width: 230px;
  }
}

/* Ajuste móvil extra estrecho */
@media (max-width: 480px) {
  .avz-hero h1 {
    font-size: 38px;
    line-height: 1.05;
  }
  .avz-hero-subclaim {
    font-size: 20px;
  }
}
