/* =============================================
   HERO — Rediseño total "Vuelve al juego"
   Carga al último, máxima especificidad con !important
   ============================================= */

/* ── Sección base ── */
.hero-banner {
  position: relative !important;
  min-height: 100svh !important;
  display: flex !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #07090d !important;
}

@media (min-width: 769px) {
  .hero-banner { min-height: 780px !important; align-items: center !important; }
}

/* ── Imagen de fondo ── */
.hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

.hero-bg-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 68% center !important;
  display: block !important;
  filter: saturate(1.1) brightness(0.75) !important;
}

/* ── Overlay: oscuro abajo y a la izquierda ── */
.hero-bg-overlay {
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(to top,
      rgba(4, 6, 10, 0.97) 0%,
      rgba(4, 6, 10, 0.65) 45%,
      rgba(4, 6, 10, 0.15) 100%),
    linear-gradient(to right,
      rgba(4, 6, 10, 0.85) 0%,
      rgba(4, 6, 10, 0.45) 55%,
      transparent 100%) !important;
}

/* ── Wrapper de contenido ── */
.hero-content-wrap {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  padding-top: 120px !important;
  padding-bottom: 60px !important;
}

@media (min-width: 769px) {
  .hero-content-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ── Bloque de contenido ── */
.hero-content {
  max-width: 620px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* ── Eyebrow / tag superior ── */
.hero-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  margin: 0 0 22px !important;
}

.hero-eyebrow-dot {
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--color-accent, #f36122) !important;
  flex-shrink: 0 !important;
}

/* ── Headline principal ── */
.hero-headline {
  font-size: clamp(3.8rem, 9vw, 7rem) !important;
  font-weight: 900 !important;
  line-height: 0.88 !important;
  letter-spacing: -3px !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  margin: 0 0 28px !important;
}

/* Primera palabra: outline (hueca) — contraste tipográfico */
.hero-hl-outline {
  display: inline-block !important;
  -webkit-text-stroke: 2.5px #ffffff !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.hero-em {
  display: block !important;
  color: var(--color-accent, #f36122) !important;
  -webkit-text-fill-color: var(--color-accent, #f36122) !important;
  font-style: normal !important;
  font-size: clamp(2.6rem, 6vw, 4.8rem) !important;
  letter-spacing: -1px !important;
  margin-top: 4px !important;
}

/* ── Subtítulo ── */
.hero-sub {
  font-size: clamp(0.95rem, 1.4vw, 1.1rem) !important;
  color: rgba(255,255,255,0.62) !important;
  line-height: 1.6 !important;
  max-width: 44ch !important;
  margin: 0 0 36px !important;
  font-weight: 400 !important;
}

/* ── Botones ── */
.hero-cta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 44px !important;
}

.hero-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: var(--color-accent, #f36122) !important;
  color: #fff !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 17px 32px !important;
  border-radius: 0 !important;
  border: none !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
}

.hero-btn-primary:hover {
  background: #d94a10 !important;
  color: #fff !important;
}

.hero-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  color: rgba(255,255,255,0.75) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  text-decoration-color: rgba(255,255,255,0.3) !important;
  padding: 0 !important;
}

.hero-btn-secondary:hover {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,0.7) !important;
}

/* ── Stats row ── */
.hero-stats {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}

.hero-stat {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.hero-stat strong {
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.hero-stat strong .fa-star {
  font-size: 0.75rem !important;
  color: #f59e0b !important;
}

.hero-stat span {
  font-size: 0.68rem !important;
  color: rgba(255,255,255,0.4) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

.hero-stat-divider {
  width: 1px !important;
  height: 28px !important;
  background: rgba(255,255,255,0.15) !important;
}

/* ── Mobile: imagen más centrada, headline más pequeño ── */
@media (max-width: 768px) {
  .hero-bg-img {
    object-position: 75% center !important;
  }
  .hero-headline {
    letter-spacing: -2px !important;
  }
  .hero-sub {
    max-width: 100% !important;
  }
}

@media (max-width: 480px) {
  .hero-cta-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .hero-btn-primary {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* ── Limpiar elementos viejos que puedan sobrar ── */
.hero-banner-image,
.hero-banner-inner,
.hero-banner-content,
.hero-banner-slant,
.hero-kicker,
.hero-offer,
.hero-proof-list,
.hero-actions,
.hero-microcopy,
.hero-word-emphasis {
  display: none !important;
}

/* ==============================================
   FEATURES BAR — Oscura, iconos naranjos
   ============================================== */
.features-bar {
  background: #111418 !important;
  border-bottom: 3px solid var(--color-accent) !important;
  padding: 32px 0 !important;
}

.features-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
}

@media (max-width: 768px) {
  .features-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

.feature-item {
  text-align: center !important;
  padding: 24px 16px !important;
  border-right: 1px solid rgba(255,255,255,0.07) !important;
  background: none !important;
  border-radius: 0 !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
}

.feature-item:last-child { border-right: none !important; }

.feature-item i {
  font-size: 1.6rem !important;
  color: var(--color-accent) !important;
  margin-bottom: 0 !important;
  display: block !important;
}

.feature-item h4 {
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  color: #fff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin: 0 !important;
}

.feature-item p {
  font-size: 0.7rem !important;
  color: rgba(255,255,255,0.45) !important;
  margin: 0 !important;
}

/* ==============================================
   SECTION HEADERS
   ============================================== */
.section-header {
  margin-bottom: 48px !important;
}

.section-header h2 {
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -1px !important;
  line-height: 1 !important;
  margin-bottom: 12px !important;
}

.section-header p {
  font-size: 1rem !important;
  color: #6b7280 !important;
  max-width: 500px !important;
  font-weight: 400 !important;
}
