/* Carrusel de contenido del hero del home (solo index.html) */
.home-hero .wrap > .hero-grid {
  max-width: none;
  /* minmax(0, …) evita que el ancho de las diapositivas ensanche la columna */
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 48px;
}
.home-hero .hero-content,
.home-hero .hero-visual { min-width: 0; }
.home-hero .hero-content > * { max-width: 640px; }
.home-hero h1 { font-size: clamp(1.85rem, 3vw, 2.45rem); }

.hc { position: relative; min-width: 0; width: 100%; }
.hc-track {
  width: 100%;
  min-width: 0;
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  border-radius: 16px;
  -webkit-overflow-scrolling: touch;
}
.hc-track::-webkit-scrollbar { display: none; }
.hc-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.hc-slide .hero-card-featured { height: 100%; display: flex; flex-direction: column; }
.hc-slide .hero-card-featured:hover { transform: none; }
.hc-slide .hero-card-bottom { flex: 1; display: flex; flex-direction: column; }

.hc-kicker {
  font-size: .72rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase;
  color: #fda4af; margin: 0 0 6px;
}
.hc-title { font-size: 1.12rem; font-weight: 700; color: #fff; line-height: 1.3; margin: 0 0 14px; }
.hc-link {
  margin-top: auto; align-self: flex-start;
  color: #fff; font-weight: 700; font-size: .88rem; text-decoration: none;
  border-bottom: 2px solid var(--red); padding-bottom: 2px;
}
.hc-link:hover, .hc-link:focus-visible { color: #fecdd3; }

/* Diapositiva destacada: sostenibilidad */
.hc-slide--eco .hero-card-featured {
  border-color: rgba(52, 211, 153, .55);
  box-shadow: 0 24px 60px rgba(0,0,0,.52), 0 0 38px rgba(52, 211, 153, .18);
}
.hc-slide--eco .hero-floating-badge { border-color: rgba(52, 211, 153, .8); }
.hc-slide--eco .hero-floating-badge:before { background: #34d399; }
.hc-slide--eco .hc-kicker { color: #6ee7b7; }
.hc-slide--eco .hc-link { border-bottom-color: #34d399; }
.hc-slide--eco .hc-link:hover, .hc-slide--eco .hc-link:focus-visible { color: #a7f3d0; }

/* Controles */
.hc-controls { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 14px; }
.hc-btn {
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.28); background: rgba(15,23,42,.6); color: #fff;
  font-size: 1rem; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s;
}
.hc-btn:hover, .hc-btn:focus-visible { background: var(--red); border-color: var(--red); }
.hc-dots { display: flex; gap: 6px; }
.hc-dot {
  width: 9px; height: 9px; padding: 0; border-radius: 50%; border: 0;
  background: rgba(255,255,255,.35); cursor: pointer; transition: width .25s, background .25s;
}
.hc-dot[aria-current="true"] { width: 22px; border-radius: 6px; background: #fff; }
.hc-dot--eco[aria-current="true"] { background: #34d399; }
.hc-dot:focus-visible, .hc-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

@media (max-width: 960px) {
  .home-hero .wrap > .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .home-hero .hero-visual { max-width: 560px; width: 100%; }
}
@media (max-width: 520px) {
  /* Botones del hero en una sola línea y más compactos */
  .home-hero .hero-ctas { flex-wrap: nowrap; gap: 8px; width: 100%; }
  .home-hero .hero-ctas .btn {
    flex: 1 1 0;
    min-width: 0;
    padding: 11px 8px;
    font-size: .8rem;
    text-align: center;
    white-space: nowrap;
  }
  .hc-slide .hero-img-box { height: 170px; }
  .hc-title { font-size: 1.02rem; }
  .hc-slide .hero-metric-val { font-size: 1.15rem; }
}
@media (max-width: 340px) {
  .home-hero .hero-ctas .btn { font-size: .74rem; padding: 10px 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .hc-track { scroll-behavior: auto; }
}
