/* ===== Estilos exclusivos en este archivo (sin :root ni variables globales) ===== */

/* valores fijos */
.caracteristicas-color-primario { color: #164e71; }
.caracteristicas-text-dark { color: #0f2a3a; }
.caracteristicas-text-muted { color: #6b6f76; }

.section--caracteristicas{ background: #fff; padding: 72px 18px; }
.caracteristicas{ padding: 0; margin: 0; font-family: "Montserrat", Arial, sans-serif; }
.caracteristicas .ContenidoCentrado{ max-width:1180px; margin:0 auto; padding:0 18px; }

/* Título principal */
.caracteristicas > .ContenidoCentrado > h2.aligC{
  text-align:center;
  font-size:2rem; /* ~32px */
  line-height:1.08;
  color: #000000;
  margin:6px 0 44px;
  font-weight:700;
}

/* Grid de items: 3 columnas por defecto */
.caracteristicas__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:56px 36px; /* gap desktop */
  list-style:none;
  margin:0;
  padding:0;
  align-items:start;
}

/* Item */
.caracteristica{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:16px;
  padding:8px 6px;
  min-height:200px;
}

/* Icono: mayor tamaño, centrado (valores explícitos) */
.caracteristica .ico{
  width:200px;
  height:140px;
  display:block;
  margin:4px 0 6px;
}
.caracteristica .ico img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:grayscale(1);
  opacity:0.98;
  transition: filter .18s ease, transform .18s ease;
}
.caracteristica .ico[aria-hidden="true"]{ font-size:44px; color:#6b6f76; }

/* Título del item: negro y coherente con la página */
.caracteristica h3{
  margin:0;
  font-size: 1.6rem; /* 19.2px */
  color:#000;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-0.01em;
}

/* Descripción */
.caracteristica p{
  margin:0;
  color:#6b6f76;
  font-size: 1.2rem;
  line-height: 1.2;
  max-width:360px;
  text-align:center;
  margin-top: -5px;
}

/* Hover */
.caracteristica:hover h3{ color:#164e71; transform:translateY(-2px); transition: color .18s, transform .18s; }
.caracteristica:hover .ico img{ filter:none; transform:translateY(-3px); }

/* ===== Responsive behavior ===== */

/* Desktop/Laptop wide -> 3 columns (default) */

/* Tablet landscape / small laptop: 2 columns */
@media (max-width:1024px){
  .caracteristicas__grid{ grid-template-columns:repeat(2,1fr); gap:40px 28px; }
  .caracteristica .ico{ width:120px; height:120px; } /* reduce icon */
  .caracteristicas > .ContenidoCentrado > h2.aligC{ font-size:1.85rem; }
  .caracteristica{ min-height:170px; }
  .caracteristica h3{ font-size:1.05rem; }
}

/* Mobile and small tablets: 1 column (stacked) */
@media (max-width:768px){
  .caracteristicas__grid{
    grid-template-columns:1fr;   /* <-- 1 column on mobile */
    gap:28px 18px;
  }
  .caracteristica{
    min-height:auto;
    padding:14px 10px;
    align-items:center;
  }
  .caracteristica .ico{
    width:120px;   /* icon size on mobile */
    height:120px;
  }
  .caracteristica h3{ font-size:1.05rem; }
  .caracteristica p{ font-size:0.95rem; max-width:620px; }
  .caracteristicas > .ContenidoCentrado > h2.aligC{ font-size:1.5rem; margin-bottom:24px; }
}

/* Very narrow mobile: smaller icons */
@media (max-width:420px){
  .caracteristica .ico{ width:88px; height:88px; }
  .caracteristica h3{ font-size:1rem; }
  .caracteristica p{ font-size:0.92rem; }
}
