/* =============================================================================
   QUÉ ES CÓDIGOS SOLARES — Sección #que-es
   Códigos Solares
   =============================================================================

   Estructura:
     #que-es                  → <section> semántica
       .que-es-inner          → wrapper centrado, máx 860px
         .que-es-eyebrow      → "El Sistema" — Manrope, dorado medio, SOLO este en uppercase
         .que-es-row          → flex row: columna ícono + columna contenido
           .que-es-icon-col   → ícono SVG decorativo, fade-in por scroll
           .que-es-content    → heading + divider + body + link
   ============================================================================= */

/* ── Resetear el placeholder genérico de main.css ──────────────────────────── */
/* text-transform: none es explícito — no confiamos en herencia ni en unset     */
#que-es {
  min-height: unset;
  display: block;
  align-items: unset;
  justify-content: unset;
  border-bottom: none;
  font-size: unset;
  color: unset;
  letter-spacing: unset;
  text-transform: none;      /* explícito: cancela el uppercase del placeholder  */

  background-color: var(--surface);
  padding: var(--space-xl) var(--space-md);
}

#que-es::before {
  content: none;             /* eliminar el label de debug del placeholder       */
}

/* ── Inner wrapper ───────────────────────────────────────────────────────────── */
.que-es-inner {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* ── Eyebrow ─────────────────────────────────────────────────────────────────── */
/* ÚNICO elemento con text-transform: uppercase en toda esta sección            */
.que-es-eyebrow {
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.3em;
  color: var(--accent-text);
  text-transform: uppercase;  /* ← intencional solo aquí */
}

/* ── Fila ícono + contenido ──────────────────────────────────────────────────── */
.que-es-row {
  display: flex;
  align-items: flex-start;
  gap: 3.5rem;
}

/* ── Columna del ícono decorativo ────────────────────────────────────────────── */
.que-es-icon-col {
  flex: 0 0 52px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0.4rem;      /* alinea visualmente con la primera línea del titular */

  /* Fade-in: invisible al inicio, se activa con .is-visible vía IntersectionObserver */
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.que-es-icon-col.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.que-es-icon-img {
  width: 68px;
  height: 68px;
  object-fit: contain;
  opacity: 0.50;             /* sutil: decorativo, no protagonista */
  display: block;
}

/* ── Columna de contenido ────────────────────────────────────────────────────── */
.que-es-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.75rem;
}

/* ── Titular ─────────────────────────────────────────────────────────────────── */
.que-es-heading {
  font-family: var(--font-heading);
  font-size: clamp(1.9rem, 3.5vw, 2.6rem);
  font-weight: 300;
  font-style: italic;
  text-transform: none;      /* explícito: evita herencia del placeholder */
  color: var(--text);
  line-height: 1.18;
  margin: 0;
}

/* ── Separador sutil ─────────────────────────────────────────────────────────── */
.que-es-divider {
  width: 2.5rem;
  height: 1px;
  background-color: var(--gold-leaf);
  opacity: 0.45;
  border: none;
  margin: 0;
}

/* ── Párrafo de cuerpo ───────────────────────────────────────────────────────── */
.que-es-body {
  font-family: var(--font-body);
  font-size: clamp(0.9rem, 1.2vw, 1rem);
  font-weight: 300;
  text-transform: none;      /* explícito: evita herencia del placeholder */
  letter-spacing: normal;    /* cancela el letter-spacing del placeholder */
  color: var(--text);
  line-height: 1.85;
  max-width: 620px;
  margin: 0;
}

/* ── Link discreto ───────────────────────────────────────────────────────────── */
/* Texto normal — sin mayúsculas sostenidas, estilo más editorial               */
.que-es-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 500;
  text-transform: none;      /* explícito: texto normal, no uppercase */
  letter-spacing: 0.02em;
  color: var(--gold-shadow);
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(var(--gold-shadow-rgb), 0.35);
  transition: color var(--ease-default), border-color var(--ease-default),
              gap var(--ease-default);
}

.que-es-link:hover {
  color: var(--accent-text);
  border-bottom-color: var(--gold-mid);
  gap: 0.55em;
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  #que-es {
    padding: var(--space-lg) var(--space-sm);
  }

  .que-es-row {
    flex-direction: column;
    gap: 1.75rem;
  }

  /* En mobile el ícono se pone encima del texto, centrado */
  .que-es-icon-col {
    flex: unset;
    align-self: flex-start;
    padding-top: 0;
  }

  .que-es-body {
    font-size: 0.95rem;
  }
}
