/* ===== Sobre AppCopio (header 2 columnas) ===== */
.about{ padding: 0px 0; background:#f8f9fa; }

.section-header{ text-align:center; }
.section .ds-heading,
.section .ds-subtitle {
  text-align: center;
  margin-top: 1rem;
  margin-bottom: .3rem;
}

/* Grid del header: móvil 1 col, desktop 2 col (logo | texto) */
.about > header.container{
  display:grid;
  grid-template-columns:1fr;
  grid-template-areas:
    "logo"
    "title"
    "lead";
  gap: var(--space-3, 1rem);
  padding-block: var(--space-6, 2rem);
  text-align:center;
  max-width: var(--container-max);   /* asegura 1200 */
  margin-inline: auto;
}
.about .section-header { grid-area: logo; }
.about .ds-titlePage   { grid-area: title; margin: 0; }
.about .lead           { grid-area: lead;  margin: .2rem 0 0; max-width: 80ch;}

.about .hero-logo{ display:flex; justify-content:center; }
.about .hero-logo-img{ max-width:200px; width:100%; height:auto; object-fit:contain; }

/* Desktop */
@media (min-width: 900px){
  .about > header.container{
    grid-template-columns: auto minmax(0,1fr);
    grid-template-areas:
      "logo title"
      "logo lead";
    column-gap: var(--space-6, 2rem);
    align-items:center;
    text-align:left;
  }
  .about .section-header{ align-self:center; }
  .about .hero-logo{ justify-content:flex-start; align-items:center; }
  .about .hero-logo-img{ display:block; max-width: 300px; padding-left: 5rem;} /* evita baseline shift */
}

/* Gap consistente debajo de títulos de sección */
.section .ds-heading,
.section .ds-subtitle{
  margin: 0; /* resetea márgenes del heading */
}

/* El primer elemento después del título recibe el espacio */
.section :is(.ds-heading, .ds-subtitle) + *{
  margin-top: .7rem;
}
.section p + .features{
  margin-top: var(--space-5, 1.25rem);
}



/* ===== Features ODS (filas intercaladas) ===== */
.features{
  display:grid;
  grid-auto-rows:auto;
  gap: .5rem;
}
.feature-row{
  display:flex;
  align-items:center;
}
.feature-row:nth-child(even){ flex-direction: row-reverse; }

.feature-row > .feature-media,
.feature-row > .feature-content{
  flex: 1 1 50%;
  min-width:0;
}

/* Imagen */
.feature-media{ display:flex; justify-content:center; }
.feature-img{
  width:100%;
  max-width:150px;
  aspect-ratio:1;
  object-fit:cover;
  border-radius: var(--radius-lg, 12px);
  box-shadow: var(--shadow-1, 0 6px 18px rgba(0,0,0,.08));
  background:#f6f7f9;
}

/* Texto */
.feature-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  max-width:60ch;
}
.feature-row:nth-child(even) .feature-content{
  align-items:flex-end;
  text-align:right;
}
/* Nuevo: usa variable --accent si está presente */
.feature-title{
  margin:0 0 6px 0;
  font-weight:600;
  font-size: clamp(1.1rem, 1rem + 0.4vw, 1.35rem);
  color: var(--accent, inherit);
}

/* === ODS en una sola fila: texto — imagen — imagen — texto === */
.features.features--inline{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto minmax(0,1fr);
  grid-template-areas: "text-left img1 img2 text-right";
  align-items: center;
  gap: var(--space-5, 1.25rem) var(--space-6, 2rem);
}

/* Aplana los contenedores de fila para usar sus hijos como ítems del grid */
.features.features--inline .feature-row{ 
  display: contents !important;
}

/* Coloca cada pieza en su área */
.features.features--inline .feature-row:nth-child(1) .feature-content{ 
  grid-area: text-left; 
  align-items: flex-end; 
  text-align: right; 
}
.features.features--inline .feature-row:nth-child(1) .feature-media{ 
  grid-area: img1; 
}

.features.features--inline .feature-row:nth-child(2) .feature-media{ 
  grid-area: img2; 
}
.features.features--inline .feature-row:nth-child(2) .feature-content{ 
  grid-area: text-right; 
  align-items: flex-start; 
  text-align: left; 
}

/* Detalles visuales coherentes con tu estilo actual */
.features.features--inline .feature-media{ justify-content: center; }
.features.features--inline .feature-img{ max-width: 150px; }
.features.features--inline .feature-title{ margin: 0; }

/* Mobile: apilado legible */
@media (max-width: 900px){
  .features.features--inline{
    grid-template-columns: 1fr;
    grid-template-areas:
      "img1"
      "text-left"
      "img2"
      "text-right";
    gap: var(--space-5, 1.25rem);
  }
  .features.features--inline .feature-row .feature-content .feature-title{
    align-items: center !important;
    text-align: center !important;
  }
}


/* Responsive features */
@media (max-width: 768px){
  .feature-row{
    flex-direction:column;
    gap: var(--space-6, 24px);
    text-align:center;
  }
  .feature-row:nth-child(even){ flex-direction:column; }
  .feature-content .feature-title{ align-items:center; text-align:center; max-width:38rem; }
  .feature-img{ max-width:125px; }
}

/* ===== Cómo funciona (steps) ===== */
.steps-grid{
  display:grid;
  gap: var(--space-4);
  grid-template-columns: repeat(3, 1fr); /* antes: 4, ahora 3 (tienes 3 pasos) */
}
.step{
  background:#fff;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-1);
  padding: var(--space-4);
}
.step-num{
  display:inline-grid; place-items:center;
  width:2rem; height:2rem; border-radius:999px;
  background: var(--color-primary); color: var(--color-primary-contrast);
  font-weight:700; margin-bottom: var(--space-2);
}
@media (max-width: 900px){ .steps-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px){ .steps-grid { grid-template-columns: 1fr; } }

/* ===== Chips “Pensado para” ===== */
.chips{
  list-style:none; display:flex; gap: var(--space-2);
  flex-wrap:wrap; padding:0; margin:0;
}
.chip{
  background:#eef6fd; color:#0f3d64;
  border-radius:999px; padding:.5rem .75rem;
  font-weight:600; font-size:.9rem;
}

/* ===== Responsive menores (heredado/limpio) ===== */
@media (max-width:480px){
  .about{ padding:60px 0; }
}



/* Franja de colaboración */
.partners-strip{
  background: #f4fbfa;
  border: 1px solid #e6f2ef;
  border-radius: var(--radius-xl, 18px);
  padding: .85rem 1rem;
  text-align: center;
}
.partners-text{
  margin: 0;
  font-weight: 600;
}

/* Grid 2 columnas ajustado al container (1200px) */
.ps-grid{
  display: grid;
  gap: var(--space-4, 1.25rem);
  grid-template-columns: 1fr;
}
@media (min-width: 960px){
  .ps-grid{ grid-template-columns: 1fr 1fr; }
}

