/* =========================================================
   servicios.css — Estilos de la página Servicios
   ========================================================= */

#servicios-intro {
  padding-top: var(--spacing-md); /* baja de 104px a 32px */
  padding-bottom: 0;
}

.servicios-intro-texto { max-width: 55ch; color: var(--gray-500); margin: var(--spacing-sm) 0 var(--spacing-lg); }

/* ---------- Tabs de categoría ---------- */
.tabs-categorias {
  display: flex;
  gap: var(--spacing-sm);
  border-bottom: 1px solid var(--gray-100);
  margin-bottom: var(--spacing-md);
}
.tab-categoria {
  padding: 12px 4px;
  font-weight: 600;
  color: var(--gray-500);
  position: relative;
}
.tab-categoria::after {
  content: "";
  position: absolute;
  left: 0; bottom: -1px;
  width: 0%;
  height: 2px;
  background-color: var(--gold);
  transition: width 0.25s ease;
}
.tab-categoria.activo { color: var(--navy); }
.tab-categoria.activo::after { width: 100%; }

/* ---------- Subfiltro Legal ---------- */
.subfiltro-legal {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: var(--spacing-lg);
}
.chip-subfiltro {
  padding: 8px 18px;
  border-radius: 999px;
  border: 1px solid var(--gray-300);
  font-size: 0.85rem;
  color: var(--gray-500);
  transition: all 0.2s ease;
}
.chip-subfiltro.activo {
  background-color: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}

/* ---------- Tarjetas de servicio ---------- */
#servicios-grid {
  padding-top: 0;
  padding-bottom: var(--spacing-md); /* baja de 104px a 32px */
}

.tarjetas-servicios {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-md);
}

.tarjeta-servicio {
  background-color: var(--gray-50);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-md);
  padding: var(--spacing-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.tarjeta-servicio:hover { box-shadow: var(--shadow-soft); transform: translateY(-4px); }
.tarjeta-servicio p { color: var(--gray-500); flex-grow: 1; }

/* ---------- Bloque de asistencia ---------- */

#bloque-asistencia {
  padding: var(--spacing-lg) 0; /* baja de 104px a 64px arriba y abajo */
}

.asistencia-caja {
  background-color: var(--navy);
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg) var(--spacing-md);
  text-align: center;
  color: var(--white);
}
.asistencia-caja h2 { color: var(--white); max-width: 30ch; margin: 0 auto var(--spacing-xs); }
.asistencia-caja p { color: var(--gray-100); max-width: 50ch; margin: 0 auto var(--spacing-md); }

@media (max-width: 900px) {
  .tarjetas-servicios { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .tarjetas-servicios { grid-template-columns: 1fr; }
  .tabs-categorias { overflow-x: auto; }

  #servicios-intro {
    padding-top: var(--spacing-sm); /* aún menos en móvil: 16px */
  }
  #servicios-grid {
    padding-bottom: var(--spacing-sm);
  }
  #bloque-asistencia {
    padding: var(--spacing-md) 0;
  }
  .asistencia-caja {
    padding: var(--spacing-md) var(--spacing-sm);
  }
}