/* =========================================
   HOME — Estilos específicos de la landing
   Depende de tokens.css, base.css y components.css
   ========================================= */

/* ===== Estructura general de secciones ===== */
.hero      { padding: 42px 0 0; }
.features  { padding: 32px 0 40px; }
.info      { padding: 48px 0; background: var(--surface-3); }
.cta-bottom{ padding: 28px 0; }

/* ===== Contenedores internos ===== */
.hero .inner,
.features .inner,
.info .inner,
.cta-bottom .inner,
footer .inner,
.topbar .inner,
.nav-inner {
  width: var(--container);
  margin: 0 auto;
}

/* ===== HERO ===== */
.hero .inner {
  display: grid;
  grid-template-columns: 1.05fr 1fr; /* texto un poco más ancho */
  gap: var(--gap-xl);
  align-items: center;
  padding: 20px 0 8px;
}

.hero h1 {
  margin: 0 0 var(--gap-sm);
  font-size: var(--fs-xxl);
  line-height: 1.08;
}
.hero p {
  margin: 0 0 var(--gap-sm);
  font-size: clamp(14px, 2vw, 18px);
  color: #eaeaea;
}
.hero .cta { margin-top: 16px; }

/* Visual del hero (imagen) */
.hero-visual {
  min-height: 360px;
}
.hero-visual img.scene {
  width: min(640px, 95%);
  height: auto;
}

/* ===== FEATURES ===== */
.features .inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap-md);
}
.features .feat h3 { font-size: 16px; }
.features .feat p  { font-size: 13px; }

/* ===== INFO (cards) ===== */
.info .inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap-md);
}
.card .btn.btn--sm { margin-top: 10px; }

/* ===== CTA inferior ===== */
.cta-bottom h3 {
  margin: 0 0 12px;
  font-size: clamp(18px, 3vw, 26px);
}

/* ===== Footer ===== */
footer .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-sm);
  flex-wrap: wrap;
  font-size: 12px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1100px) {
  .info .inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 960px) {
  .hero { padding-top: 20px; }
  .hero .inner {
    grid-template-columns: 1fr;
    padding-top: 10px;
  }
}

@media (max-width: 960px) {
  .features .inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .info .inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .features .inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 380px) {
  /* Ya se ocultan dos links del menú desde components.css */
}
